Compare commits

...

2 Commits

Author SHA1 Message Date
Ronaldo Christnawan a08b2fe770 Bug fix Shortcut CTRL + T 6 years ago
Ronaldo Christnawan 3fc1451ac8 Bug fix error login tidak muncul error
[Logic] Menambahkan alert di catch error http exception
[Logic] Menambahkan fungsi logger di semua http exception case default
6 years ago

@ -168,6 +168,7 @@ public class FormUtamaController implements Initializable {
case FormConstanta.TRANSAKSI_TUNAI: case FormConstanta.TRANSAKSI_TUNAI:
if (notaContent.nodeTunai != null) { if (notaContent.nodeTunai != null) {
node = notaContent.nodeTunai; node = notaContent.nodeTunai;
notaContent.controllerTunai.initShortcuts();
} else { } else {
loader.setLocation(getClass().getResource("/fxml/FormTransaksiTunai.fxml")); loader.setLocation(getClass().getResource("/fxml/FormTransaksiTunai.fxml"));
node = loader.load(); node = loader.load();
@ -483,7 +484,7 @@ public class FormUtamaController implements Initializable {
notaContent.setBtnTunai(buttonBaru); notaContent.setBtnTunai(buttonBaru);
break; break;
} }
if (buttonBaru != null) { if (buttonBaru != null) {
navigasi.add(buttonBaru); navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru); vbNavigasi.getChildren().add(buttonBaru);
@ -585,6 +586,9 @@ public class FormUtamaController implements Initializable {
"Pelanggan dengan kode member tersebut tidak ditemukan."); "Pelanggan dengan kode member tersebut tidak ditemukan.");
alert.initOwner(bpMain.getScene().getWindow()); alert.initOwner(bpMain.getScene().getWindow());
alert.show(); alert.show();
break;
default:
Logger.getLogger(FormUtamaController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, bpMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, bpMain.getScene().getWindow());

@ -5,7 +5,6 @@
*/ */
package id.amigogroup.posterminal.bayar; package id.amigogroup.posterminal.bayar;
import id.amigogroup.posterminal.FormUtamaController;
import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.MNotaRetur; import id.amigogroup.posterminal.model.MNotaRetur;
import id.amigogroup.posterminal.util.AlertUtil; import id.amigogroup.posterminal.util.AlertUtil;
@ -13,7 +12,6 @@ import id.amigogroup.posterminal.util.Fucout;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.SocketTimeoutException;
import java.net.URL; import java.net.URL;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.logging.Level; import java.util.logging.Level;
@ -75,7 +73,7 @@ public class FormBayarReturController implements Initializable {
if (parent != null && parent.getBayarContent() != null if (parent != null && parent.getBayarContent() != null
&& parent.getBayarContent().getNodeTunai() != null) { && parent.getBayarContent().getNodeTunai() != null) {
lblNominalRetur.setText(Fucout.formatRupiah(mNotaRetur.getTotalDiskon())); lblNominalRetur.setText(Fucout.formatRupiah(mNotaRetur.getTotalDiskon()));
parent.getBayarContent().setBayarRetur(mNotaRetur.getTotalDiskon()); parent.getBayarContent().setBayarRetur(mNotaRetur.getTotalDiskon());
parent.updateKurangBayarView(); parent.updateKurangBayarView();
} }
@ -93,6 +91,9 @@ public class FormBayarReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormBayarReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());

@ -7,6 +7,7 @@ package id.amigogroup.posterminal.keamanan;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import id.amigogroup.posterminal.SystemValue; import id.amigogroup.posterminal.SystemValue;
import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.api.AmigoPosRx;
@ -17,6 +18,7 @@ import io.reactivex.Observable;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.ResourceBundle; import java.util.ResourceBundle;
@ -77,12 +79,12 @@ public class FormLoginController implements Initializable {
public void btnLoginOnAction(ActionEvent event) { public void btnLoginOnAction(ActionEvent event) {
if (!fldNamaPengguna.getText().equals("") && !fldKataSandi.getText().equals("")) { if (!fldNamaPengguna.getText().equals("") && !fldKataSandi.getText().equals("")) {
String nik = fldNamaPengguna.getText(); String nik = fldNamaPengguna.getText();
Observable.zip( Observable.zip(
posRx.getKaryawanByNik(fldNamaPengguna.getText()), posRx.getKaryawanByNik(fldNamaPengguna.getText()),
posRx.loginKaryawanByNikPin(nik, fldKataSandi.getText()), posRx.loginKaryawanByNikPin(nik, fldKataSandi.getText()),
(Karyawan k, ResponseBody response) -> { (Karyawan k, ResponseBody response) -> {
return new KaryawanLogin(k,response); return new KaryawanLogin(k, response);
}).subscribe(karyawanLoginObserver); }).subscribe(karyawanLoginObserver);
} else { } else {
Alert alert = AlertUtil.getAlertWarning( Alert alert = AlertUtil.getAlertWarning(
@ -106,15 +108,14 @@ public class FormLoginController implements Initializable {
try { try {
JsonNode jsonNode = mapper.readTree(k.result.string()); JsonNode jsonNode = mapper.readTree(k.result.string());
ObjectNode objectNode = jsonNode.deepCopy(); ObjectNode objectNode = jsonNode.deepCopy();
if (objectNode.get("status").asBoolean()) {
if(objectNode.get("status").asBoolean()){
SystemValue.karyawanLogin = k.karyawan; SystemValue.karyawanLogin = k.karyawan;
generateNewWindow("/fxml/FormUtama.fxml").show(); generateNewWindow("/fxml/FormUtama.fxml").show();
Stage thisStage = (Stage) apMain.getScene().getWindow(); Stage thisStage = (Stage) apMain.getScene().getWindow();
thisStage.hide(); thisStage.hide();
} } else {
else{ System.out.println("Gagal ");
Alert alert = AlertUtil.getAlertError( Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_KARYAWAN_TIDAK_BOLEH_AKSES_TITLE, AlertUtil.ERROR_KARYAWAN_TIDAK_BOLEH_AKSES_TITLE,
objectNode.get("message").asText()); objectNode.get("message").asText());
@ -127,7 +128,7 @@ public class FormLoginController implements Initializable {
"Terjadi error yang tidak diduga sehingga karyawan tidak boleh mengakses."); "Terjadi error yang tidak diduga sehingga karyawan tidak boleh mengakses.");
alert.initOwner((Stage) apMain.getScene().getWindow()); alert.initOwner((Stage) apMain.getScene().getWindow());
alert.show(); alert.show();
Logger.getLogger(FormLoginController.class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger(FormLoginController.class.getName()).log(Level.SEVERE, null, ex);
} }
} else { } else {
@ -142,13 +143,46 @@ public class FormLoginController implements Initializable {
@Override @Override
public void onError(Throwable error) { public void onError(Throwable error) {
if (error instanceof HttpException) { if (error instanceof HttpException) {
switch (((HttpException) error).code()) { HttpException httpError = (HttpException) error;
case HttpURLConnection.HTTP_NOT_FOUND: Alert alert;
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, ObjectMapper mapper = new ObjectMapper();
"Karyawan dengan nomor tersebut tidak ditemukan."); try {
alert.initOwner(apMain.getScene().getWindow()); JsonNode jsonNode = null;
alert.show(); 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 { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -159,8 +193,9 @@ public class FormLoginController implements Initializable {
public void onComplete() { public void onComplete() {
} }
}; };
private class KaryawanLogin{ private class KaryawanLogin {
private Karyawan karyawan; private Karyawan karyawan;
private ResponseBody result; private ResponseBody result;
@ -168,5 +203,5 @@ public class FormLoginController implements Initializable {
this.karyawan = karyawan; this.karyawan = karyawan;
this.result = result; this.result = result;
} }
} }
} }

@ -213,6 +213,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
"Barang dengan kode tersebut tidak ditemukan."); "Barang dengan kode tersebut tidak ditemukan.");
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
break;
default:
Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());
@ -245,6 +248,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());
@ -306,6 +312,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error);
} }
} else if (error instanceof InterruptedIOException) { } else if (error instanceof InterruptedIOException) {
daftarTabelBarang.clear(); daftarTabelBarang.clear();
@ -356,6 +365,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());
@ -390,6 +402,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(DialogCariBarangController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());

@ -18,7 +18,6 @@ import java.net.URL;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
@ -33,9 +32,6 @@ import javafx.scene.control.ComboBox;
import javafx.scene.control.Dialog; import javafx.scene.control.Dialog;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView; 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.scene.layout.AnchorPane;
import javafx.stage.Window; import javafx.stage.Window;
import retrofit2.HttpException; import retrofit2.HttpException;
@ -46,7 +42,7 @@ import retrofit2.HttpException;
* @author ronal * @author ronal
*/ */
public class DialogCariNotaTundaController extends Dialog<String> implements Initializable { public class DialogCariNotaTundaController extends Dialog<String> implements Initializable {
@FXML @FXML
AnchorPane apContent; AnchorPane apContent;
@FXML @FXML
@ -85,14 +81,13 @@ public class DialogCariNotaTundaController extends Dialog<String> implements Ini
public void initialize(URL url, ResourceBundle rb) { public void initialize(URL url, ResourceBundle rb) {
getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE));
// //
} }
public DialogCariNotaTundaController(/*FormPresensiController parent*/) { public DialogCariNotaTundaController(/*FormPresensiController parent*/) {
try { try {
Window window = getDialogPane().getScene().getWindow(); Window window = getDialogPane().getScene().getWindow();
window.setOnCloseRequest(event -> this.close()); window.setOnCloseRequest(event -> this.close());
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCariNotaTunda.fxml")); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCariNotaTunda.fxml"));
loader.setController(this); loader.setController(this);
// DialogCariBarangController controller = loader.<DialogCariBarangController>getController(); // DialogCariBarangController controller = loader.<DialogCariBarangController>getController();
@ -109,42 +104,45 @@ public class DialogCariNotaTundaController extends Dialog<String> implements Ini
.getName()).log(Level.SEVERE, null, e); .getName()).log(Level.SEVERE, null, e);
} }
} }
@FXML @FXML
void cbxNotaTundaOnAction(ActionEvent event) { void cbxNotaTundaOnAction(ActionEvent event) {
}
public Observer<Pagination<MNotaTunai>> getNotaTunaiTundaObserver = new Observer<Pagination<MNotaTunai>>() {
@Override
public void onSubscribe(Disposable dspsbl) {
} }
public Observer<Pagination<MNotaTunai>> getNotaTunaiTundaObserver = new Observer<Pagination<MNotaTunai>>() {
@Override
public void onSubscribe(Disposable dspsbl) {
}
@Override @Override
public void onNext(Pagination<MNotaTunai> daftarMNotaTunai) { public void onNext(Pagination<MNotaTunai> daftarMNotaTunai) {
for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()){ for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()) {
cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota()); cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota());
}
} }
}
@Override @Override
public void onError(Throwable error) { public void onError(Throwable error) {
if (error instanceof HttpException) { if (error instanceof HttpException) {
switch (((HttpException) error).code()) { switch (((HttpException) error).code()) {
case HttpURLConnection.HTTP_NOT_FOUND: case HttpURLConnection.HTTP_NOT_FOUND:
Alert alert = AlertUtil.getAlertError( Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE, AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE,
"Nota Tunda Tidak Ditemukan"); "Nota Tunda Tidak Ditemukan");
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
} break;
} else { default:
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); Logger.getLogger(DialogCariNotaTundaController.class.getName()).log(Level.SEVERE, null, error);
} }
} else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());
} }
}
@Override @Override
public void onComplete() { public void onComplete() {
} }
}; };
} }

@ -5,7 +5,6 @@
*/ */
package id.amigogroup.posterminal.pencarian; package id.amigogroup.posterminal.pencarian;
import id.amigogroup.posterminal.FormUtamaController;
import id.amigogroup.posterminal.api.AmigoPosRx; import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.Pagination; import id.amigogroup.posterminal.model.Pagination;
import id.amigogroup.posterminal.model.Pelanggan; import id.amigogroup.posterminal.model.Pelanggan;
@ -125,18 +124,18 @@ public class DialogCariPelangganController extends Dialog<Pelanggan> implements
public void updateTabelPelanggan(List<Pelanggan> daftarPelanggan) { public void updateTabelPelanggan(List<Pelanggan> daftarPelanggan) {
daftarTabelPelanggan.clear(); daftarTabelPelanggan.clear();
for (Pelanggan pelanggan : daftarPelanggan) { for (Pelanggan pelanggan : daftarPelanggan) {
TabelPelanggan tp = new TabelPelanggan( TabelPelanggan tp = new TabelPelanggan(
pelanggan.getAlias(), pelanggan.getAlias(),
pelanggan.getNama(), pelanggan.getNama(),
pelanggan.getAlamat(), pelanggan.getAlamat(),
pelanggan.getTelp() + " / " + pelanggan.getPonsel(), pelanggan.getTelp() + " / " + pelanggan.getPonsel(),
pelanggan.getUpline()); pelanggan.getUpline());
tp.setData(pelanggan); tp.setData(pelanggan);
daftarTabelPelanggan.add(tp); daftarTabelPelanggan.add(tp);
} }
} }
@FXML @FXML
void tfPencarianOnKeyReleased(KeyEvent event) { void tfPencarianOnKeyReleased(KeyEvent event) {
daftarTabelPelanggan.clear(); daftarTabelPelanggan.clear();
@ -198,6 +197,9 @@ public class DialogCariPelangganController extends Dialog<Pelanggan> implements
"Pelanggan dengan kode member tersebut tidak ditemukan."); "Pelanggan dengan kode member tersebut tidak ditemukan.");
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
break;
default:
Logger.getLogger(DialogCariPelangganController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());
@ -231,6 +233,9 @@ public class DialogCariPelangganController extends Dialog<Pelanggan> implements
"Pelanggan dengan kode member tersebut tidak ditemukan."); "Pelanggan dengan kode member tersebut tidak ditemukan.");
alert.initOwner(apContent.getScene().getWindow()); alert.initOwner(apContent.getScene().getWindow());
alert.show(); alert.show();
break;
default:
Logger.getLogger(DialogCariPelangganController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow());

@ -133,6 +133,9 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia
alert.initOwner(apTambahNota.getScene().getWindow()); alert.initOwner(apTambahNota.getScene().getWindow());
alert.initModality(Modality.APPLICATION_MODAL); alert.initModality(Modality.APPLICATION_MODAL);
alert.show(); alert.show();
break;
default:
Logger.getLogger(DialogTambahNotaController.class.getName()).log(Level.SEVERE, null, he);
} }
} catch (Exception error) { } catch (Exception error) {
AmigoPosRx.handleGenericError(error, apTambahNota.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apTambahNota.getScene().getWindow());

@ -23,6 +23,8 @@ import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.List; import java.util.List;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
@ -295,6 +297,9 @@ public class FormTransaksiReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -466,6 +471,9 @@ public class FormTransaksiReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -508,6 +516,9 @@ public class FormTransaksiReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -542,6 +553,9 @@ public class FormTransaksiReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -583,6 +597,9 @@ public class FormTransaksiReturController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiReturController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());

@ -26,6 +26,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Platform; import javafx.application.Platform;
import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
@ -34,8 +36,6 @@ import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.control.Alert; import javafx.scene.control.Alert;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.ButtonBar;
import javafx.scene.control.ButtonType;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.Label; import javafx.scene.control.Label;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
@ -145,13 +145,12 @@ public class FormTransaksiTunaiController implements Initializable {
setTanggal(); setTanggal();
} }
private void initShortcuts() { public void initShortcuts() {
Map<KeyCombination, Runnable> listShortcuts = new HashMap<>(); Map<KeyCombination, Runnable> listShortcuts = new HashMap<>();
KeyCombination kcTundaNota = new KeyCodeCombination(KeyCode.T, KeyCombination.CONTROL_DOWN); KeyCombination kcTundaNota = new KeyCodeCombination(KeyCode.T, KeyCombination.CONTROL_DOWN);
Runnable rnTundaNota = () -> { Runnable rnTundaNota = () -> {
List<DNotaTunai> daftarDNotaTunai = new ArrayList<>(); List<DNotaTunai> daftarDNotaTunai = new ArrayList<>();
if (noNota != null && !noNota.equals("")) { if (noNota != null && !noNota.equals("")) {
for (TabelBarangTunai tbt : daftarTabelTransaksi) { for (TabelBarangTunai tbt : daftarTabelTransaksi) {
tbt.getData().setNoNota(noNota); tbt.getData().setNoNota(noNota);
@ -196,7 +195,9 @@ public class FormTransaksiTunaiController implements Initializable {
}; };
listShortcuts.put(kcTundaNota, rnTundaNota); listShortcuts.put(kcTundaNota, rnTundaNota);
apMain.getScene().getAccelerators().putAll(listShortcuts); Platform.runLater(() -> {
apMain.getScene().getAccelerators().putAll(listShortcuts);
});
} }
public void setTanggal() { public void setTanggal() {
@ -433,6 +434,9 @@ public class FormTransaksiTunaiController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -474,6 +478,9 @@ public class FormTransaksiTunaiController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -523,6 +530,9 @@ public class FormTransaksiTunaiController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -558,6 +568,9 @@ public class FormTransaksiTunaiController implements Initializable {
alert.initOwner(apMain.getScene().getWindow()); alert.initOwner(apMain.getScene().getWindow());
alert.show(); alert.show();
}); });
break;
default:
Logger.getLogger(FormTransaksiTunaiController.class.getName()).log(Level.SEVERE, null, error);
} }
} else { } else {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow()); AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
@ -626,12 +639,14 @@ public class FormTransaksiTunaiController implements Initializable {
@Override @Override
public void onComplete() { public void onComplete() {
if (parent != null) { Platform.runLater(() -> {
parent.notaContent.setControllerTunai(null); if (parent != null) {
parent.notaContent.setNodeTunai(null); parent.notaContent.setControllerTunai(null);
parent.notaContent.setNodeTunai(null);
parent.removeNota(parent.notaContent.getBtnTunai()); parent.removeNota(parent.notaContent.getBtnTunai());
} }
});
} }
}; };
} }

Loading…
Cancel
Save