2 Commits

Author SHA1 Message Date
  Ronaldo Christnawan a08b2fe770 Bug fix Shortcut CTRL + T 5 years ago
  Ronaldo Christnawan 3fc1451ac8 Bug fix error login tidak muncul error 5 years ago
9 changed files with 169 additions and 76 deletions
Unified View
  1. +5
    -1
      src/main/java/id/amigogroup/posterminal/FormUtamaController.java
  2. +4
    -3
      src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java
  3. +53
    -18
      src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java
  4. +15
    -0
      src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java
  5. +38
    -40
      src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java
  6. +9
    -4
      src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java
  7. +3
    -0
      src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java
  8. +17
    -0
      src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java
  9. +25
    -10
      src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java

+ 5
- 1
src/main/java/id/amigogroup/posterminal/FormUtamaController.java View File

@@ -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());


+ 4
- 3
src/main/java/id/amigogroup/posterminal/bayar/FormBayarReturController.java View File

@@ -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());


+ 53
- 18
src/main/java/id/amigogroup/posterminal/keamanan/FormLoginController.java View File

@@ -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()) {
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 { } 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;
} }
}
}
} }

+ 15
- 0
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java View File

@@ -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());


+ 38
- 40
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java View File

@@ -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
void cbxNotaTundaOnAction(ActionEvent event) {

@FXML
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
public void onNext(Pagination<MNotaTunai> daftarMNotaTunai) {
for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()){
cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota());
}
@Override
public void onNext(Pagination<MNotaTunai> 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() {
}
};
} }

+ 9
- 4
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java View File

@@ -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());


+ 3
- 0
src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java View File

@@ -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());


+ 17
- 0
src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java View File

@@ -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());


+ 25
- 10
src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java View File

@@ -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) {
parent.notaContent.setControllerTunai(null);
parent.notaContent.setNodeTunai(null);
Platform.runLater(() -> {
if (parent != null) {
parent.notaContent.setControllerTunai(null);
parent.notaContent.setNodeTunai(null);


parent.removeNota(parent.notaContent.getBtnTunai());
}
parent.removeNota(parent.notaContent.getBtnTunai());
}
});
} }
}; };
} }

Loading…
Cancel
Save