diff --git a/src/main/java/id/amigogroup/posterminal/FormUtamaController.java b/src/main/java/id/amigogroup/posterminal/FormUtamaController.java index e3071e2..bef602b 100644 --- a/src/main/java/id/amigogroup/posterminal/FormUtamaController.java +++ b/src/main/java/id/amigogroup/posterminal/FormUtamaController.java @@ -483,7 +483,7 @@ public class FormUtamaController implements Initializable { notaContent.setBtnTunai(buttonBaru); break; } - + if (buttonBaru != null) { navigasi.add(buttonBaru); vbNavigasi.getChildren().add(buttonBaru); @@ -585,6 +585,9 @@ public class FormUtamaController implements Initializable { "Pelanggan dengan kode member tersebut tidak ditemukan."); alert.initOwner(bpMain.getScene().getWindow()); alert.show(); + break; + default: + Logger.getLogger(FormUtamaController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, bpMain.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java index ce308ed..874210f 100644 --- a/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java +++ b/src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java @@ -5,7 +5,6 @@ */ package id.amigogroup.posterminal.bayar; -import id.amigogroup.posterminal.FormUtamaController; import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.model.MNotaRetur; import id.amigogroup.posterminal.util.AlertUtil; @@ -13,7 +12,6 @@ import id.amigogroup.posterminal.util.Fucout; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import java.net.HttpURLConnection; -import java.net.SocketTimeoutException; import java.net.URL; import java.util.ResourceBundle; import java.util.logging.Level; @@ -75,7 +73,7 @@ public class FormBayarReturController implements Initializable { if (parent != null && parent.getBayarContent() != null && parent.getBayarContent().getNodeTunai() != null) { lblNominalRetur.setText(Fucout.formatRupiah(mNotaRetur.getTotalDiskon())); - + parent.getBayarContent().setBayarRetur(mNotaRetur.getTotalDiskon()); parent.updateKurangBayarView(); } @@ -93,6 +91,9 @@ public class FormBayarReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormBayarReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java b/src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java index 2a68c9c..8afda9e 100644 --- a/src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java +++ b/src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java @@ -7,6 +7,7 @@ package id.amigogroup.posterminal.keamanan; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; import id.amigogroup.posterminal.SystemValue; import id.amigogroup.posterminal.api.AmigoPosRx; @@ -17,6 +18,7 @@ import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import java.io.IOException; +import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.util.ResourceBundle; @@ -77,12 +79,12 @@ public class FormLoginController implements Initializable { public void btnLoginOnAction(ActionEvent event) { if (!fldNamaPengguna.getText().equals("") && !fldKataSandi.getText().equals("")) { String nik = fldNamaPengguna.getText(); - + Observable.zip( posRx.getKaryawanByNik(fldNamaPengguna.getText()), posRx.loginKaryawanByNikPin(nik, fldKataSandi.getText()), (Karyawan k, ResponseBody response) -> { - return new KaryawanLogin(k,response); + return new KaryawanLogin(k, response); }).subscribe(karyawanLoginObserver); } else { Alert alert = AlertUtil.getAlertWarning( @@ -106,15 +108,14 @@ public class FormLoginController implements Initializable { try { JsonNode jsonNode = mapper.readTree(k.result.string()); ObjectNode objectNode = jsonNode.deepCopy(); - - if(objectNode.get("status").asBoolean()){ + if (objectNode.get("status").asBoolean()) { SystemValue.karyawanLogin = k.karyawan; generateNewWindow("/fxml/FormUtama.fxml").show(); - + Stage thisStage = (Stage) apMain.getScene().getWindow(); thisStage.hide(); - } - else{ + } else { + System.out.println("Gagal "); Alert alert = AlertUtil.getAlertError( AlertUtil.ERROR_KARYAWAN_TIDAK_BOLEH_AKSES_TITLE, objectNode.get("message").asText()); @@ -127,7 +128,7 @@ public class FormLoginController implements Initializable { "Terjadi error yang tidak diduga sehingga karyawan tidak boleh mengakses."); alert.initOwner((Stage) apMain.getScene().getWindow()); alert.show(); - + Logger.getLogger(FormLoginController.class.getName()).log(Level.SEVERE, null, ex); } } else { @@ -142,13 +143,46 @@ public class FormLoginController implements Initializable { @Override public void onError(Throwable error) { if (error instanceof HttpException) { - switch (((HttpException) error).code()) { - case HttpURLConnection.HTTP_NOT_FOUND: - Alert alert = AlertUtil.getAlertError( - AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, - "Karyawan dengan nomor tersebut tidak ditemukan."); - alert.initOwner(apMain.getScene().getWindow()); - alert.show(); + HttpException httpError = (HttpException) error; + Alert alert; + + ObjectMapper mapper = new ObjectMapper(); + try { + JsonNode jsonNode = null; + ObjectNode objectNode = new ObjectNode(JsonNodeFactory.instance); + objectNode.put("message", "Login invalid. Username/password salah"); + if (httpError.response() != null && httpError.response().errorBody() != null) { + jsonNode = mapper.readTree(httpError.response().errorBody().string()); + + objectNode = jsonNode.deepCopy(); + } + + switch (((HttpException) error).code()) { + case HttpURLConnection.HTTP_NOT_FOUND: + alert = AlertUtil.getAlertError( + AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, + "Karyawan dengan nomor tersebut tidak ditemukan."); + alert.initOwner(apMain.getScene().getWindow()); + alert.show(); + break; + case HttpURLConnection.HTTP_BAD_REQUEST: + alert = AlertUtil.getAlertError( + AlertUtil.ERROR_KARYAWAN_TIDAK_BOLEH_AKSES_TITLE, + objectNode.get("message").asText()); + alert.initOwner(apMain.getScene().getWindow()); + alert.show(); + break; + default: + Logger.getLogger(FormLoginController.class.getName()).log(Level.SEVERE, null, error); + } + } catch (IOException ex) { + alert = AlertUtil.getAlertError( + AlertUtil.ERROR_KARYAWAN_TIDAK_BOLEH_AKSES_TITLE, + "Terjadi error yang tidak diduga sehingga karyawan tidak boleh mengakses."); + alert.initOwner((Stage) apMain.getScene().getWindow()); + alert.show(); + + Logger.getLogger(FormLoginController.class.getName()).log(Level.SEVERE, null, ex); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -159,8 +193,9 @@ public class FormLoginController implements Initializable { public void onComplete() { } }; - - private class KaryawanLogin{ + + private class KaryawanLogin { + private Karyawan karyawan; private ResponseBody result; @@ -168,5 +203,5 @@ public class FormLoginController implements Initializable { this.karyawan = karyawan; this.result = result; } - } + } } diff --git a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java index b0b4e39..35511a4 100644 --- a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java +++ b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java @@ -213,6 +213,9 @@ public class DialogCariBarangController extends Dialog implements In "Barang dengan kode tersebut tidak ditemukan."); alert.initOwner(apContent.getScene().getWindow()); alert.show(); + break; + default: + Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); @@ -245,6 +248,9 @@ public class DialogCariBarangController extends Dialog implements In alert.initOwner(apContent.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); @@ -306,6 +312,9 @@ public class DialogCariBarangController extends Dialog implements In alert.initOwner(apContent.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error); } } else if (error instanceof InterruptedIOException) { daftarTabelBarang.clear(); @@ -356,6 +365,9 @@ public class DialogCariBarangController extends Dialog implements In alert.initOwner(apContent.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); @@ -390,6 +402,9 @@ public class DialogCariBarangController extends Dialog implements In alert.initOwner(apContent.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java index 84dcd62..401c11b 100644 --- a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java +++ b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java @@ -18,7 +18,6 @@ import java.net.URL; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; -import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; @@ -33,9 +32,6 @@ import javafx.scene.control.ComboBox; import javafx.scene.control.Dialog; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; -import javafx.scene.control.cell.PropertyValueFactory; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.stage.Window; import retrofit2.HttpException; @@ -46,7 +42,7 @@ import retrofit2.HttpException; * @author ronal */ public class DialogCariNotaTundaController extends Dialog implements Initializable { - + @FXML AnchorPane apContent; @FXML @@ -85,14 +81,13 @@ public class DialogCariNotaTundaController extends Dialog implements Ini public void initialize(URL url, ResourceBundle rb) { getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); // - } - - + } + public DialogCariNotaTundaController(/*FormPresensiController parent*/) { try { Window window = getDialogPane().getScene().getWindow(); window.setOnCloseRequest(event -> this.close()); - + FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCariNotaTunda.fxml")); loader.setController(this); // DialogCariBarangController controller = loader.getController(); @@ -109,42 +104,45 @@ public class DialogCariNotaTundaController extends Dialog implements Ini .getName()).log(Level.SEVERE, null, e); } } - - @FXML - void cbxNotaTundaOnAction(ActionEvent event) { - + + @FXML + void cbxNotaTundaOnAction(ActionEvent event) { + + } + + public Observer> getNotaTunaiTundaObserver = new Observer>() { + @Override + public void onSubscribe(Disposable dspsbl) { } - - public Observer> getNotaTunaiTundaObserver = new Observer>() { - @Override - public void onSubscribe(Disposable dspsbl) { - } - @Override - public void onNext(Pagination daftarMNotaTunai) { - for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()){ - cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota()); - } + @Override + public void onNext(Pagination daftarMNotaTunai) { + for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()) { + cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota()); } + } - @Override - public void onError(Throwable error) { - if (error instanceof HttpException) { - switch (((HttpException) error).code()) { - case HttpURLConnection.HTTP_NOT_FOUND: - Alert alert = AlertUtil.getAlertError( - AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, - "Nota Tunda Tidak Ditemukan"); - alert.initOwner(apContent.getScene().getWindow()); - alert.show(); - } - } else { - AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); + @Override + public void onError(Throwable error) { + if (error instanceof HttpException) { + switch (((HttpException) error).code()) { + case HttpURLConnection.HTTP_NOT_FOUND: + Alert alert = AlertUtil.getAlertError( + AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, + "Nota Tunda Tidak Ditemukan"); + alert.initOwner(apContent.getScene().getWindow()); + alert.show(); + break; + default: + Logger.getLogger(DialogCariNotaTundaController.class.getName()).log(Level.SEVERE, null, error); } + } else { + AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); } + } - @Override - public void onComplete() { - } - }; + @Override + public void onComplete() { + } + }; } diff --git a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java index f3b0ba5..27de939 100644 --- a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java +++ b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java @@ -5,7 +5,6 @@ */ package id.amigogroup.posterminal.pencarian; -import id.amigogroup.posterminal.FormUtamaController; import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.model.Pagination; import id.amigogroup.posterminal.model.Pelanggan; @@ -125,18 +124,18 @@ public class DialogCariPelangganController extends Dialog implements public void updateTabelPelanggan(List daftarPelanggan) { daftarTabelPelanggan.clear(); for (Pelanggan pelanggan : daftarPelanggan) { - TabelPelanggan tp = new TabelPelanggan( + TabelPelanggan tp = new TabelPelanggan( pelanggan.getAlias(), pelanggan.getNama(), pelanggan.getAlamat(), pelanggan.getTelp() + " / " + pelanggan.getPonsel(), pelanggan.getUpline()); tp.setData(pelanggan); - + daftarTabelPelanggan.add(tp); } } - + @FXML void tfPencarianOnKeyReleased(KeyEvent event) { daftarTabelPelanggan.clear(); @@ -198,6 +197,9 @@ public class DialogCariPelangganController extends Dialog implements "Pelanggan dengan kode member tersebut tidak ditemukan."); alert.initOwner(apContent.getScene().getWindow()); alert.show(); + break; + default: + Logger.getLogger(DialogCariPelangganController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); @@ -231,6 +233,9 @@ public class DialogCariPelangganController extends Dialog implements "Pelanggan dengan kode member tersebut tidak ditemukan."); alert.initOwner(apContent.getScene().getWindow()); alert.show(); + break; + default: + Logger.getLogger(DialogCariPelangganController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java b/src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java index 5f2c0da..c691db6 100644 --- a/src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java +++ b/src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java @@ -133,6 +133,9 @@ public class DialogTambahNotaController extends Dialog implements Initia alert.initOwner(apTambahNota.getScene().getWindow()); alert.initModality(Modality.APPLICATION_MODAL); alert.show(); + break; + default: + Logger.getLogger(DialogTambahNotaController.class.getName()).log(Level.SEVERE, null, he); } } catch (Exception error) { AmigoPosRx.handleGenericError(error, apTambahNota.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java index 330aed0..7b5d63e 100644 --- a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java +++ b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java @@ -23,6 +23,8 @@ import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; import javafx.application.Platform; import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.collections.FXCollections; @@ -295,6 +297,9 @@ public class FormTransaksiReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -466,6 +471,9 @@ public class FormTransaksiReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -508,6 +516,9 @@ public class FormTransaksiReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -542,6 +553,9 @@ public class FormTransaksiReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -583,6 +597,9 @@ public class FormTransaksiReturController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); diff --git a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java index 7684080..22e1b24 100644 --- a/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java +++ b/src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java @@ -26,6 +26,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; import javafx.application.Platform; import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.collections.FXCollections; @@ -34,8 +36,6 @@ import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Alert; import javafx.scene.control.Button; -import javafx.scene.control.ButtonBar; -import javafx.scene.control.ButtonType; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.TableColumn; @@ -433,6 +433,9 @@ public class FormTransaksiTunaiController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -474,6 +477,9 @@ public class FormTransaksiTunaiController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -523,6 +529,9 @@ public class FormTransaksiTunaiController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); @@ -558,6 +567,9 @@ public class FormTransaksiTunaiController implements Initializable { alert.initOwner(apMain.getScene().getWindow()); alert.show(); }); + break; + default: + Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error); } } else { AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());