浏览代码

membatalkan kode barang yang terlanjur di scan secara UI

pull/6/head
AGNES 5 年前
父节点
当前提交
101922ba12
共有 5 个文件被更改,包括 81 次插入6 次删除
  1. +17
    -2
      src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java
  2. +38
    -3
      src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java
  3. +17
    -1
      src/main/java/id/amigogroup/posterminal/transaksi/TabelBarangTunai.java
  4. +8
    -0
      src/main/java/id/amigogroup/posterminal/util/AlertUtil.java
  5. +1
    -0
      src/main/resources/fxml/FormTransaksiTunai.fxml

+ 17
- 2
src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java 查看文件

@@ -29,6 +29,7 @@ import javafx.collections.ObservableList;
import javafx.fxml.FXML; 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.Label; import javafx.scene.control.Label;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView; import javafx.scene.control.TableView;
@@ -72,6 +73,8 @@ public class FormTransaksiReturController implements Initializable {
private TableColumn<TabelBarangTunai, String> tcSubTotal; private TableColumn<TabelBarangTunai, String> tcSubTotal;
@FXML @FXML
private TableColumn<TabelBarangTunai, TextField> tcPramuniaga; private TableColumn<TabelBarangTunai, TextField> tcPramuniaga;
@FXML
private TableColumn<TabelBarangTunai, Button> tcAction;


// @FXML // @FXML
// private TableView<?> tbvRetur; // private TableView<?> tbvRetur;
@@ -117,6 +120,7 @@ public class FormTransaksiReturController implements Initializable {
tcDisc2.setCellValueFactory(new PropertyValueFactory<>("disc2")); tcDisc2.setCellValueFactory(new PropertyValueFactory<>("disc2"));
tcSubTotal.setCellValueFactory(new PropertyValueFactory<>("subTotal")); tcSubTotal.setCellValueFactory(new PropertyValueFactory<>("subTotal"));
tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga")); tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga"));
tcAction.setCellValueFactory(new PropertyValueFactory<>("btnAction"));
tbvPenjualan.setItems(daftarTabelPenjualan); tbvPenjualan.setItems(daftarTabelPenjualan);
Platform.runLater(() -> { Platform.runLater(() -> {
fldNotaPenjualan.requestFocus(); fldNotaPenjualan.requestFocus();
@@ -136,8 +140,18 @@ public class FormTransaksiReturController implements Initializable {
daftarTabelPenjualan.clear(); daftarTabelPenjualan.clear();


for (DNotaTunai dNotaTunai : daftarNotaTunai) { for (DNotaTunai dNotaTunai : daftarNotaTunai) {
//Button
Button btnAction = new Button("BATAL");
btnAction.setOnAction((t) -> {
Alert alert = AlertUtil.getAlertDialogKonfirmasi(
AlertUtil.DIALOG_KONFIRMASI_MESSAGE,
"Yakin ingin menghapus barang?");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram()); TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram());

String namaBarang = "..."; String namaBarang = "...";
if (BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { if (BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
namaBarang = Fucout.getText(BarangCache.getInstance().getDaftarBarang() namaBarang = Fucout.getText(BarangCache.getInstance().getDaftarBarang()
@@ -156,7 +170,8 @@ public class FormTransaksiReturController implements Initializable {
Fucout.getText(Fucout.formatRibuan( Fucout.getText(Fucout.formatRibuan(
dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() dNotaTunai.getHargaJual() * dNotaTunai.getJumlah()
)), )),
fldPramuniaga));
fldPramuniaga,
btnAction));


if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);


+ 38
- 3
src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java 查看文件

@@ -28,6 +28,9 @@ import javafx.collections.ObservableList;
import javafx.fxml.FXML; 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.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;
@@ -38,6 +41,7 @@ import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent; import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text; import javafx.scene.text.Text;
import javax.swing.JOptionPane;
import retrofit2.HttpException; import retrofit2.HttpException;


/** /**
@@ -78,10 +82,13 @@ public class FormTransaksiTunaiController implements Initializable {
@FXML @FXML
private TableColumn<TabelBarangTunai, TextField> tcPramuniaga; private TableColumn<TabelBarangTunai, TextField> tcPramuniaga;
@FXML @FXML
private TableColumn<TabelBarangTunai, Button> tcAction;
@FXML
private Label txtTanggal; private Label txtTanggal;
final ObservableList<TabelBarangTunai> daftarTabelTransaksi = FXCollections.observableArrayList(); final ObservableList<TabelBarangTunai> daftarTabelTransaksi = FXCollections.observableArrayList();
@FXML @FXML
private Text lblGrandTotal; private Text lblGrandTotal;
public static final ButtonType btnAction = new ButtonType("BATAL", ButtonBar.ButtonData.YES);


private AmigoPosRx posRx = new AmigoPosRx(); private AmigoPosRx posRx = new AmigoPosRx();


@@ -103,6 +110,7 @@ public class FormTransaksiTunaiController implements Initializable {
tcPromo.setCellValueFactory(new PropertyValueFactory<>("cbxPromo")); tcPromo.setCellValueFactory(new PropertyValueFactory<>("cbxPromo"));
tcSubtotal.setCellValueFactory(new PropertyValueFactory<>("subTotal")); tcSubtotal.setCellValueFactory(new PropertyValueFactory<>("subTotal"));
tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga")); tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga"));
tcAction.setCellValueFactory(new PropertyValueFactory<>("btnAction"));
tbvTransaksi.setItems(daftarTabelTransaksi); tbvTransaksi.setItems(daftarTabelTransaksi);


// fillTable(new ArrayList<>()); // fillTable(new ArrayList<>());
@@ -114,6 +122,8 @@ public class FormTransaksiTunaiController implements Initializable {
setTanggal(); setTanggal();
} }


public void setTanggal(){ public void setTanggal(){
java.util.Date skrg = new java.util.Date(); java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat kal = new
@@ -126,14 +136,26 @@ public class FormTransaksiTunaiController implements Initializable {


String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"};
for (DNotaTunai dNotaTunai : daftarNotaTunai) { for (DNotaTunai dNotaTunai : daftarNotaTunai) {
//ComboBox
ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo)); ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo));
cbxPromo.getSelectionModel().select("Ulang Tahun"); cbxPromo.getSelectionModel().select("Ulang Tahun");

//Button
Button btnAction = new Button("BATAL");
btnAction.setOnAction((t) -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.DIALOG_KONFIRMASI_MESSAGE,
"Yakin ingin menghapus barang?");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
//TextField
TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram()); TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram());
fldPramuniaga.setOnKeyPressed((t) -> { fldPramuniaga.setOnKeyPressed((t) -> {
if (t.getCode() == KeyCode.ENTER) { if (t.getCode() == KeyCode.ENTER) {
fldScan.requestFocus(); fldScan.requestFocus();
} }
}); });


String namaBarang = "..."; String namaBarang = "...";
@@ -154,7 +176,8 @@ public class FormTransaksiTunaiController implements Initializable {
Fucout.getText(Fucout.formatRibuan( Fucout.getText(Fucout.formatRibuan(
dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() dNotaTunai.getHargaJual() * dNotaTunai.getJumlah()
)), )),
fldPramuniaga));
fldPramuniaga,
btnAction));


if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);
@@ -166,11 +189,22 @@ public class FormTransaksiTunaiController implements Initializable {
String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"};
ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo)); ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo));
cbxPromo.getSelectionModel().select("Ulang Tahun"); cbxPromo.getSelectionModel().select("Ulang Tahun");
//Button
Button btnAction = new Button("BATAL");
btnAction.setOnAction((t) -> {
Alert alert = AlertUtil.getAlertDialogKonfirmasi(
AlertUtil.DIALOG_KONFIRMASI_MESSAGE,
"Yakin ingin menghapus barang?");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
TextField fldPramuniaga = new TextField(); TextField fldPramuniaga = new TextField();
fldPramuniaga.setOnKeyPressed((t) -> { fldPramuniaga.setOnKeyPressed((t) -> {
if (t.getCode() == KeyCode.ENTER) { if (t.getCode() == KeyCode.ENTER) {
fldScan.requestFocus(); fldScan.requestFocus();
} }
}); });
daftarTabelTransaksi.add(new TabelBarangTunai( daftarTabelTransaksi.add(new TabelBarangTunai(
Fucout.getText(barang.getKodeBarang()), Fucout.getText(barang.getKodeBarang()),
@@ -182,7 +216,8 @@ public class FormTransaksiTunaiController implements Initializable {
"...", "...",
cbxPromo, cbxPromo,
"...", "...",
fldPramuniaga));
fldPramuniaga,
btnAction));
} }
//SCAN BARANG //SCAN BARANG


+ 17
- 1
src/main/java/id/amigogroup/posterminal/transaksi/TabelBarangTunai.java 查看文件

@@ -26,9 +26,10 @@ public class TabelBarangTunai {
private SimpleObjectProperty<ComboBox> cbxPromo; private SimpleObjectProperty<ComboBox> cbxPromo;
private SimpleStringProperty subTotal; private SimpleStringProperty subTotal;
private SimpleObjectProperty<TextField> fldPramuniaga; private SimpleObjectProperty<TextField> fldPramuniaga;
private SimpleObjectProperty<Button> btnAction;


public TabelBarangTunai(String kode, String nama, String ukur, String jumlah, String harga, String disc1, public TabelBarangTunai(String kode, String nama, String ukur, String jumlah, String harga, String disc1,
String disc2, ComboBox cbxPromo, String subTotal, TextField fldPramuniaga) {
String disc2, ComboBox cbxPromo, String subTotal, TextField fldPramuniaga, Button btnAction) {
this.kode = new SimpleStringProperty(kode); this.kode = new SimpleStringProperty(kode);
this.nama = new SimpleStringProperty(nama); this.nama = new SimpleStringProperty(nama);
this.ukur = new SimpleStringProperty(ukur); this.ukur = new SimpleStringProperty(ukur);
@@ -39,6 +40,7 @@ public class TabelBarangTunai {
this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo); this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo);
this.subTotal = new SimpleStringProperty(subTotal); this.subTotal = new SimpleStringProperty(subTotal);
this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga); this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga);
this.btnAction = new SimpleObjectProperty<Button>(btnAction);
} }


@@ -181,4 +183,18 @@ public class TabelBarangTunai {
public void setFldPramuniaga(TextField fldPramuniaga) { public void setFldPramuniaga(TextField fldPramuniaga) {
this.fldPramuniaga.set(fldPramuniaga); this.fldPramuniaga.set(fldPramuniaga);
} }

/**
* @return the action
*/
public Button getBtnAction() {
return btnAction.get();
}

/**
* @param action the action to set
*/
public void setBtnAction(Button action) {
this.btnAction.set(action);
}
} }

+ 8
- 0
src/main/java/id/amigogroup/posterminal/util/AlertUtil.java 查看文件

@@ -20,6 +20,7 @@ public class AlertUtil {
public static final String ERROR_TIDAK_TERDUGA_MESSAGE = "Terjadi kesalahan yang tidak terduga."; public static final String ERROR_TIDAK_TERDUGA_MESSAGE = "Terjadi kesalahan yang tidak terduga.";
public static final String ERROR_KONEKSI_TIMEOUT_TITLE = "Error: Timeout - Koneksi Gagal"; public static final String ERROR_KONEKSI_TIMEOUT_TITLE = "Error: Timeout - Koneksi Gagal";
public static final String ERROR_KONEKSI_TIMEOUT_MESSAGE = "Koneksi ke server mengalami kegagalan."; public static final String ERROR_KONEKSI_TIMEOUT_MESSAGE = "Koneksi ke server mengalami kegagalan.";
public static final String DIALOG_KONFIRMASI_MESSAGE = "Dialog Konfirmasi";
public static Alert getAlertError(String title, String message){ public static Alert getAlertError(String title, String message){
Alert alert = new Alert(Alert.AlertType.ERROR, message, ButtonType.OK); Alert alert = new Alert(Alert.AlertType.ERROR, message, ButtonType.OK);
@@ -28,6 +29,13 @@ public class AlertUtil {
return alert; return alert;
} }
public static Alert getAlertDialogKonfirmasi (String title, String message){
Alert alert = new Alert(Alert.AlertType.CONFIRMATION, message, ButtonType.OK, ButtonType.CANCEL);
alert.setTitle(title);
alert.setHeaderText(null);
return alert;
}
public static Alert getAlertUlangTahun(String nama) { public static Alert getAlertUlangTahun(String nama) {
Alert alert = new Alert(Alert.AlertType.INFORMATION); Alert alert = new Alert(Alert.AlertType.INFORMATION);
Image image = new Image("/assets/birthday.png"); Image image = new Image("/assets/birthday.png");


+ 1
- 0
src/main/resources/fxml/FormTransaksiTunai.fxml 查看文件

@@ -107,6 +107,7 @@
<TableColumn fx:id="tcPromo" prefWidth="-1.0" sortable="false" text="Promo" /> <TableColumn fx:id="tcPromo" prefWidth="-1.0" sortable="false" text="Promo" />
<TableColumn fx:id="tcSubtotal" prefWidth="-1.0" text="Sub Total" /> <TableColumn fx:id="tcSubtotal" prefWidth="-1.0" text="Sub Total" />
<TableColumn fx:id="tcPramuniaga" prefWidth="-1.0" sortable="false" text="Pramuniaga" /> <TableColumn fx:id="tcPramuniaga" prefWidth="-1.0" sortable="false" text="Pramuniaga" />
<TableColumn fx:id="tcAction" prefWidth="75.0" text="Action" />
</columns> </columns>
<columnResizePolicy> <columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />


正在加载...
取消
保存