Merge Agnes-MembatalkanKodeBarangYangTerlanjurDiScan

Conflicts:
	src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java
	src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiTunaiController.java
	src/main/java/id/amigogroup/posterminal/transaksi/TabelBarangTunai.java
	src/main/java/id/amigogroup/posterminal/util/AlertUtil.java
pull/7/head
Ronaldo Christnawan 6 years ago
commit c9e707d594

@ -12,6 +12,7 @@ import id.amigogroup.posterminal.model.DNotaRetur;
import id.amigogroup.posterminal.model.DNotaTunai; import id.amigogroup.posterminal.model.DNotaTunai;
import id.amigogroup.posterminal.util.AmigoPosCache; import id.amigogroup.posterminal.util.AmigoPosCache;
import id.amigogroup.posterminal.util.AlertUtil; import id.amigogroup.posterminal.util.AlertUtil;
import id.amigogroup.posterminal.util.ButtonUtility;
import id.amigogroup.posterminal.util.Fucout; import id.amigogroup.posterminal.util.Fucout;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
@ -29,6 +30,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;
@ -106,6 +108,7 @@ public class FormTransaksiReturController implements Initializable {
private StackPane stpReturDrop; private StackPane stpReturDrop;
@FXML @FXML
private Label lblTambahKeTabelRetur; private Label lblTambahKeTabelRetur;
private TableColumn<TabelBarangTunai, Button> tcAction;
private final AmigoPosRx posRx = new AmigoPosRx(); private final AmigoPosRx posRx = new AmigoPosRx();
private String noNota = ""; private String noNota = "";
@ -130,6 +133,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);
tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> {
@ -161,6 +165,16 @@ public class FormTransaksiReturController implements Initializable {
daftarTabelRetur.clear(); daftarTabelRetur.clear();
for (DNotaTunai dNotaTunai : daftarNotaTunai) { for (DNotaTunai dNotaTunai : daftarNotaTunai) {
//Button
Button btnAction = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON);
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 = "...";
@ -183,7 +197,9 @@ public class FormTransaksiReturController implements Initializable {
Fucout.getText(Fucout.formatRibuan( Fucout.getText(Fucout.formatRibuan(
dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() dNotaTunai.getHargaJual() * dNotaTunai.getJumlah()
)), )),
fldPramuniaga); fldPramuniaga,
btnAction);
tbt.setData(dNotaTunai); tbt.setData(dNotaTunai);
daftarTabelPenjualan.add(tbt); daftarTabelPenjualan.add(tbt);

@ -30,6 +30,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;
@ -40,6 +43,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;
/** /**
@ -80,10 +84,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 String noNota = ""; private String noNota = "";
private AmigoPosRx posRx = new AmigoPosRx(); private AmigoPosRx posRx = new AmigoPosRx();
@ -108,6 +115,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<>());
@ -133,14 +141,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 = "...";
@ -161,7 +181,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 (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { if (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);
@ -199,6 +220,17 @@ 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 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) {
@ -230,7 +262,8 @@ public class FormTransaksiTunaiController implements Initializable {
Fucout.getText(Fucout.formatRibuan( Fucout.getText(Fucout.formatRibuan(
1 * noBarang.getHargaJual()) 1 * noBarang.getHargaJual())
), ),
fldPramuniaga); fldPramuniaga,
btnAction);
tbt.setData(dNotaTunai); tbt.setData(dNotaTunai);
daftarTabelTransaksi.add(tbt); daftarTabelTransaksi.add(tbt);

@ -8,6 +8,7 @@ package id.amigogroup.posterminal.transaksi;
import id.amigogroup.posterminal.model.DNotaTunai; import id.amigogroup.posterminal.model.DNotaTunai;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.SimpleStringProperty;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
@ -16,6 +17,7 @@ import javafx.scene.control.TextField;
* @author AGNES * @author AGNES
*/ */
public class TabelBarangTunai { public class TabelBarangTunai {
private SimpleStringProperty kode; private SimpleStringProperty kode;
private SimpleStringProperty nama; private SimpleStringProperty nama;
private SimpleStringProperty ukur; private SimpleStringProperty ukur;
@ -28,9 +30,10 @@ public class TabelBarangTunai {
private SimpleObjectProperty<TextField> fldPramuniaga; private SimpleObjectProperty<TextField> fldPramuniaga;
private DNotaTunai data; private DNotaTunai data;
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);
@ -38,12 +41,12 @@ public class TabelBarangTunai {
this.harga = new SimpleStringProperty(harga); this.harga = new SimpleStringProperty(harga);
this.disc1 = new SimpleStringProperty(disc1); this.disc1 = new SimpleStringProperty(disc1);
this.disc2 = new SimpleStringProperty(disc2); this.disc2 = new SimpleStringProperty(disc2);
this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo); this.cbxPromo = new SimpleObjectProperty<>(cbxPromo);
this.subTotal = new SimpleStringProperty(subTotal); this.subTotal = new SimpleStringProperty(subTotal);
this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga); this.fldPramuniaga = new SimpleObjectProperty<>(fldPramuniaga);
this.btnAction = new SimpleObjectProperty<>(btnAction);
} }
/** /**
* @return the kode * @return the kode
*/ */
@ -197,4 +200,18 @@ public class TabelBarangTunai {
public void setData(DNotaTunai data) { public void setData(DNotaTunai data) {
this.data = data; this.data = data;
} }
}
/**
* @return the action
*/
public Button getBtnAction() {
return btnAction.get();
}
/**
* @param action the action to set
*/
public void setBtnAction(Button action) {
this.btnAction.set(action);
}
}

@ -6,6 +6,7 @@
package id.amigogroup.posterminal.util; package id.amigogroup.posterminal.util;
import javafx.scene.control.Alert; import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBar.ButtonData; import javafx.scene.control.ButtonBar.ButtonData;
import javafx.scene.control.ButtonType; import javafx.scene.control.ButtonType;
import javafx.scene.image.Image; import javafx.scene.image.Image;
@ -21,8 +22,11 @@ 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 final String ERROR_TIDAK_LENGKAP_TITLE = "Error: Data Tidak Lengkap"; public static final String ERROR_TIDAK_LENGKAP_TITLE = "Error: Data Tidak Lengkap";
public static final ButtonType BUTTON_YA = new ButtonType("Ya", ButtonData.YES);
public static Alert getAlertWarning(String title, String message){ public static Alert getAlertWarning(String title, String message){
Alert alert = new Alert(Alert.AlertType.WARNING, message, ButtonType.OK); Alert alert = new Alert(Alert.AlertType.WARNING, message, ButtonType.OK);
alert.setTitle(title); alert.setTitle(title);
@ -37,6 +41,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");

@ -109,6 +109,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" />

Loading…
Cancel
Save