From 3d5bd0362d080e41d2d36591e08e7a42f2a10d7f Mon Sep 17 00:00:00 2001 From: AGNES Date: Tue, 3 Mar 2020 17:02:37 +0800 Subject: [PATCH] Menampilkan data barang dari kode barang yang diinput kotak scan --- .../DialogCariPelangganController.java | 1 - .../FormTransaksiTunaiController.java | 102 +++++++++++++++--- .../resources/fxml/DialogCariNotaTunda.fxml | 22 ++-- .../resources/fxml/FormTransaksiTunai.fxml | 2 +- 4 files changed, 97 insertions(+), 30 deletions(-) diff --git a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java index 71f7349..2f04484 100644 --- a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java +++ b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java @@ -78,7 +78,6 @@ public class DialogCariPelangganController extends Dialog implements private TableColumn tcNoTelp; @FXML private TableColumn tcUpline; - final ObservableList daftarTabelPelanggan = FXCollections.observableArrayList(); AmigoPosRx posRx = new AmigoPosRx(); private Pelanggan pelanggan = null; diff --git a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java index b2b5461..f6b5b99 100644 --- a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java +++ b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java @@ -78,6 +78,8 @@ public class FormTransaksiTunaiController implements Initializable { private TableColumn tcSubtotal; @FXML private TableColumn tcPramuniaga; + @FXML + private Label txtTanggal; final ObservableList daftarTabelTransaksi = FXCollections.observableArrayList(); @FXML private Text lblGrandTotal; @@ -110,8 +112,16 @@ public class FormTransaksiTunaiController implements Initializable { public void initData(String noNota) { posRx.getDNotaTunaiByNoNota(noNota).subscribe(getDNotaTunaiObserver); lblNoNota.setText(Fucout.getTextColon(noNota)); + setTanggal(); } + public void setTanggal(){ + java.util.Date skrg = new java.util.Date(); + java.text.SimpleDateFormat kal = new + java.text.SimpleDateFormat("dd/MM/yyyy"); + txtTanggal.setText(kal.format(skrg)); + } + private void refreshData(List daftarNotaTunai) { daftarTabelTransaksi.clear(); @@ -152,26 +162,35 @@ public class FormTransaksiTunaiController implements Initializable { } } } - -// public void fillTable(List daftarBarangTunai) { -// String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; -// ComboBox cbxAction = new ComboBox<>(FXCollections.observableArrayList(promo)); -// cbxAction.getSelectionModel().select("Ulang Tahun"); -// TextField txtScan = new TextField(); -// txtScan.setOnKeyPressed((t) -> { -// if (t.getCode() == KeyCode.ENTER) { -// fldScan.requestFocus(); -// } -// }); -// daftarTabelTransaksi.add(new TabelBarangTunai("AACOBA001ABCDXL", "Barang x", "XL", "1", "79.900", "0", "0", cbxAction, -// "79.900", txtScan)); -// } - + + public void addToTable(Barang barang, String ukur, String jumlah){ + String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; + ComboBox cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo)); + cbxPromo.getSelectionModel().select("Ulang Tahun"); + TextField fldPramuniaga = new TextField(); + fldPramuniaga.setOnKeyPressed((t) -> { + if (t.getCode() == KeyCode.ENTER) { + fldScan.requestFocus(); + } + }); + daftarTabelTransaksi.add(new TabelBarangTunai( + Fucout.getText(barang.getKodeBarang()), + Fucout.getText(barang.getNamaBarang()), + Fucout.getText(ukur), + Fucout.getText("1"), + "...", + "...", + "...", + cbxPromo, + "...", + fldPramuniaga)); + } + + //SCAN BARANG @FXML void fldScanOnKeyPressed(KeyEvent event) { if (event.getCode() == KeyCode.ENTER) { - //proses scan - System.out.println("Scan"); + posRx.getBarangByKodeBarang(fldScan.getText()).subscribe(getBarangBaruObserver); } } @@ -232,11 +251,60 @@ public class FormTransaksiTunaiController implements Initializable { tbt.setNama(b.getNamaBarang()); tbvTransaksi.refresh(); } + }; + } + + + @Override + public void onError(Throwable error) { + System.out.println(".onError()"); + if (error instanceof HttpException) { + switch (((HttpException) error).code()) { + case HttpURLConnection.HTTP_NOT_FOUND: + Alert alert = AlertUtil.getAlertError( + AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, + "Barang dengan kode tersebut tidak ditemukan."); + alert.initOwner(apMain.getScene().getWindow()); + alert.show(); + } + } else if (error instanceof SocketTimeoutException) { + Alert alert = AlertUtil.getAlertError( + AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE, + AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE); + alert.initOwner(apMain.getScene().getWindow()); + alert.show(); + } else { + Alert alert = AlertUtil.getAlertError( + AlertUtil.ERROR_TIDAK_TERDUGA_TITLE, + AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE); + alert.initOwner(apMain.getScene().getWindow()); + alert.show(); + Logger.getLogger(FormUtamaController.class + .getName()).log(Level.SEVERE, null, error); } } + @Override + public void onComplete() { + } + + }; + + Observer getBarangBaruObserver = new Observer<>() { + @Override + public void onSubscribe(Disposable dspsbl) { + } + + @Override + public void onNext(Barang b) { + BarangCache.getInstance().getDaftarBarang().put(b.getKodeBarang(), b); + addToTable(b, "XL", "1"); + } + + @Override public void onError(Throwable error) { + System.out.println(".onError()"); if (error instanceof HttpException) { switch (((HttpException) error).code()) { case HttpURLConnection.HTTP_NOT_FOUND: diff --git a/src/main/resources/fxml/DialogCariNotaTunda.fxml b/src/main/resources/fxml/DialogCariNotaTunda.fxml index 51cf76a..7f87f13 100644 --- a/src/main/resources/fxml/DialogCariNotaTunda.fxml +++ b/src/main/resources/fxml/DialogCariNotaTunda.fxml @@ -14,7 +14,7 @@ - +