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.javapull/7/head
| @@ -12,6 +12,7 @@ import id.amigogroup.posterminal.model.DNotaRetur; | |||
| import id.amigogroup.posterminal.model.DNotaTunai; | |||
| import id.amigogroup.posterminal.util.AmigoPosCache; | |||
| import id.amigogroup.posterminal.util.AlertUtil; | |||
| import id.amigogroup.posterminal.util.ButtonUtility; | |||
| import id.amigogroup.posterminal.util.Fucout; | |||
| import io.reactivex.Observer; | |||
| import io.reactivex.disposables.Disposable; | |||
| @@ -29,6 +30,7 @@ import javafx.collections.ObservableList; | |||
| import javafx.fxml.FXML; | |||
| import javafx.fxml.Initializable; | |||
| import javafx.scene.control.Alert; | |||
| import javafx.scene.control.Button; | |||
| import javafx.scene.control.Label; | |||
| import javafx.scene.control.TableColumn; | |||
| import javafx.scene.control.TableView; | |||
| @@ -106,6 +108,7 @@ public class FormTransaksiReturController implements Initializable { | |||
| private StackPane stpReturDrop; | |||
| @FXML | |||
| private Label lblTambahKeTabelRetur; | |||
| private TableColumn<TabelBarangTunai, Button> tcAction; | |||
| private final AmigoPosRx posRx = new AmigoPosRx(); | |||
| private String noNota = ""; | |||
| @@ -130,6 +133,7 @@ public class FormTransaksiReturController implements Initializable { | |||
| tcDisc2.setCellValueFactory(new PropertyValueFactory<>("disc2")); | |||
| tcSubTotal.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||
| tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga")); | |||
| tcAction.setCellValueFactory(new PropertyValueFactory<>("btnAction")); | |||
| tbvPenjualan.setItems(daftarTabelPenjualan); | |||
| tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { | |||
| @@ -161,8 +165,18 @@ public class FormTransaksiReturController implements Initializable { | |||
| daftarTabelRetur.clear(); | |||
| 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()); | |||
| String namaBarang = "..."; | |||
| if (AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| Barang barang = AmigoPosCache.getInstance().getDaftarBarang() | |||
| @@ -183,10 +197,12 @@ public class FormTransaksiReturController implements Initializable { | |||
| Fucout.getText(Fucout.formatRibuan( | |||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | |||
| )), | |||
| fldPramuniaga); | |||
| fldPramuniaga, | |||
| btnAction); | |||
| tbt.setData(dNotaTunai); | |||
| daftarTabelPenjualan.add(tbt); | |||
| if (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); | |||
| } | |||
| @@ -30,6 +30,9 @@ import javafx.collections.ObservableList; | |||
| 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; | |||
| @@ -40,6 +43,7 @@ import javafx.scene.input.KeyCode; | |||
| import javafx.scene.input.KeyEvent; | |||
| import javafx.scene.layout.AnchorPane; | |||
| import javafx.scene.text.Text; | |||
| import javax.swing.JOptionPane; | |||
| import retrofit2.HttpException; | |||
| /** | |||
| @@ -80,10 +84,13 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| @FXML | |||
| private TableColumn<TabelBarangTunai, TextField> tcPramuniaga; | |||
| @FXML | |||
| private TableColumn<TabelBarangTunai, Button> tcAction; | |||
| @FXML | |||
| private Label txtTanggal; | |||
| final ObservableList<TabelBarangTunai> daftarTabelTransaksi = FXCollections.observableArrayList(); | |||
| @FXML | |||
| private Text lblGrandTotal; | |||
| public static final ButtonType btnAction = new ButtonType("BATAL", ButtonBar.ButtonData.YES); | |||
| private String noNota = ""; | |||
| private AmigoPosRx posRx = new AmigoPosRx(); | |||
| @@ -108,6 +115,7 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| tcPromo.setCellValueFactory(new PropertyValueFactory<>("cbxPromo")); | |||
| tcSubtotal.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||
| tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga")); | |||
| tcAction.setCellValueFactory(new PropertyValueFactory<>("btnAction")); | |||
| tbvTransaksi.setItems(daftarTabelTransaksi); | |||
| // fillTable(new ArrayList<>()); | |||
| @@ -133,14 +141,26 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; | |||
| for (DNotaTunai dNotaTunai : daftarNotaTunai) { | |||
| //ComboBox | |||
| ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo)); | |||
| 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()); | |||
| fldPramuniaga.setOnKeyPressed((t) -> { | |||
| if (t.getCode() == KeyCode.ENTER) { | |||
| fldScan.requestFocus(); | |||
| } | |||
| }); | |||
| String namaBarang = "..."; | |||
| @@ -161,7 +181,8 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| Fucout.getText(Fucout.formatRibuan( | |||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | |||
| )), | |||
| fldPramuniaga)); | |||
| fldPramuniaga, | |||
| btnAction)); | |||
| if (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); | |||
| @@ -199,6 +220,17 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; | |||
| ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo)); | |||
| 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(); | |||
| fldPramuniaga.setOnKeyPressed((t) -> { | |||
| if (t.getCode() == KeyCode.ENTER) { | |||
| @@ -230,7 +262,8 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| Fucout.getText(Fucout.formatRibuan( | |||
| 1 * noBarang.getHargaJual()) | |||
| ), | |||
| fldPramuniaga); | |||
| fldPramuniaga, | |||
| btnAction); | |||
| tbt.setData(dNotaTunai); | |||
| daftarTabelTransaksi.add(tbt); | |||
| @@ -8,6 +8,7 @@ package id.amigogroup.posterminal.transaksi; | |||
| import id.amigogroup.posterminal.model.DNotaTunai; | |||
| import javafx.beans.property.SimpleObjectProperty; | |||
| import javafx.beans.property.SimpleStringProperty; | |||
| import javafx.scene.control.Button; | |||
| import javafx.scene.control.ComboBox; | |||
| import javafx.scene.control.TextField; | |||
| @@ -16,6 +17,7 @@ import javafx.scene.control.TextField; | |||
| * @author AGNES | |||
| */ | |||
| public class TabelBarangTunai { | |||
| private SimpleStringProperty kode; | |||
| private SimpleStringProperty nama; | |||
| private SimpleStringProperty ukur; | |||
| @@ -26,11 +28,12 @@ public class TabelBarangTunai { | |||
| private SimpleObjectProperty<ComboBox> cbxPromo; | |||
| private SimpleStringProperty subTotal; | |||
| private SimpleObjectProperty<TextField> fldPramuniaga; | |||
| private DNotaTunai data; | |||
| private SimpleObjectProperty<Button> btnAction; | |||
| public TabelBarangTunai(String kode, String nama, String ukur, String jumlah, String harga, String disc1, | |||
| String disc2, ComboBox cbxPromo, String subTotal, TextField fldPramuniaga) { | |||
| public TabelBarangTunai(String kode, String nama, String ukur, String jumlah, String harga, String disc1, | |||
| String disc2, ComboBox cbxPromo, String subTotal, TextField fldPramuniaga, Button btnAction) { | |||
| this.kode = new SimpleStringProperty(kode); | |||
| this.nama = new SimpleStringProperty(nama); | |||
| this.ukur = new SimpleStringProperty(ukur); | |||
| @@ -38,12 +41,12 @@ public class TabelBarangTunai { | |||
| this.harga = new SimpleStringProperty(harga); | |||
| this.disc1 = new SimpleStringProperty(disc1); | |||
| this.disc2 = new SimpleStringProperty(disc2); | |||
| this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo); | |||
| this.cbxPromo = new SimpleObjectProperty<>(cbxPromo); | |||
| this.subTotal = new SimpleStringProperty(subTotal); | |||
| this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga); | |||
| this.fldPramuniaga = new SimpleObjectProperty<>(fldPramuniaga); | |||
| this.btnAction = new SimpleObjectProperty<>(btnAction); | |||
| } | |||
| /** | |||
| * @return the kode | |||
| */ | |||
| @@ -197,4 +200,18 @@ public class TabelBarangTunai { | |||
| public void setData(DNotaTunai 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; | |||
| import javafx.scene.control.Alert; | |||
| import javafx.scene.control.Button; | |||
| import javafx.scene.control.ButtonBar.ButtonData; | |||
| import javafx.scene.control.ButtonType; | |||
| 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_KONEKSI_TIMEOUT_TITLE = "Error: Timeout - Koneksi Gagal"; | |||
| 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 ButtonType BUTTON_YA = new ButtonType("Ya", ButtonData.YES); | |||
| public static Alert getAlertWarning(String title, String message){ | |||
| Alert alert = new Alert(Alert.AlertType.WARNING, message, ButtonType.OK); | |||
| alert.setTitle(title); | |||
| @@ -37,6 +41,13 @@ public class AlertUtil { | |||
| 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) { | |||
| Alert alert = new Alert(Alert.AlertType.INFORMATION); | |||
| 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="tcSubtotal" prefWidth="-1.0" text="Sub Total" /> | |||
| <TableColumn fx:id="tcPramuniaga" prefWidth="-1.0" sortable="false" text="Pramuniaga" /> | |||
| <TableColumn fx:id="tcAction" prefWidth="75.0" text="Action" /> | |||
| </columns> | |||
| <columnResizePolicy> | |||
| <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> | |||