| @@ -29,6 +29,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; | |||
| @@ -72,6 +73,8 @@ public class FormTransaksiReturController implements Initializable { | |||
| private TableColumn<TabelBarangTunai, String> tcSubTotal; | |||
| @FXML | |||
| private TableColumn<TabelBarangTunai, TextField> tcPramuniaga; | |||
| @FXML | |||
| private TableColumn<TabelBarangTunai, Button> tcAction; | |||
| // @FXML | |||
| // private TableView<?> tbvRetur; | |||
| @@ -117,6 +120,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); | |||
| Platform.runLater(() -> { | |||
| fldNotaPenjualan.requestFocus(); | |||
| @@ -136,8 +140,18 @@ public class FormTransaksiReturController implements Initializable { | |||
| daftarTabelPenjualan.clear(); | |||
| 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()); | |||
| String namaBarang = "..."; | |||
| if (BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| namaBarang = Fucout.getText(BarangCache.getInstance().getDaftarBarang() | |||
| @@ -156,7 +170,8 @@ public class FormTransaksiReturController implements Initializable { | |||
| Fucout.getText(Fucout.formatRibuan( | |||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | |||
| )), | |||
| fldPramuniaga)); | |||
| fldPramuniaga, | |||
| btnAction)); | |||
| if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); | |||
| @@ -28,6 +28,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; | |||
| @@ -38,6 +41,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; | |||
| /** | |||
| @@ -78,10 +82,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 AmigoPosRx posRx = new AmigoPosRx(); | |||
| @@ -103,6 +110,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<>()); | |||
| @@ -114,6 +122,8 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| setTanggal(); | |||
| } | |||
| public void setTanggal(){ | |||
| java.util.Date skrg = new java.util.Date(); | |||
| java.text.SimpleDateFormat kal = new | |||
| @@ -126,14 +136,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 = "..."; | |||
| @@ -154,7 +176,8 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| Fucout.getText(Fucout.formatRibuan( | |||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | |||
| )), | |||
| fldPramuniaga)); | |||
| fldPramuniaga, | |||
| btnAction)); | |||
| if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) { | |||
| posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver); | |||
| @@ -166,11 +189,22 @@ 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 | |||
| 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) { | |||
| fldScan.requestFocus(); | |||
| } | |||
| }); | |||
| daftarTabelTransaksi.add(new TabelBarangTunai( | |||
| Fucout.getText(barang.getKodeBarang()), | |||
| @@ -182,7 +216,8 @@ public class FormTransaksiTunaiController implements Initializable { | |||
| "...", | |||
| cbxPromo, | |||
| "...", | |||
| fldPramuniaga)); | |||
| fldPramuniaga, | |||
| btnAction)); | |||
| } | |||
| //SCAN BARANG | |||
| @@ -26,9 +26,10 @@ public class TabelBarangTunai { | |||
| private SimpleObjectProperty<ComboBox> cbxPromo; | |||
| private SimpleStringProperty subTotal; | |||
| private SimpleObjectProperty<TextField> fldPramuniaga; | |||
| 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) { | |||
| 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); | |||
| @@ -39,6 +40,7 @@ public class TabelBarangTunai { | |||
| this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo); | |||
| this.subTotal = new SimpleStringProperty(subTotal); | |||
| this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga); | |||
| this.btnAction = new SimpleObjectProperty<Button>(btnAction); | |||
| } | |||
| @@ -181,4 +183,18 @@ public class TabelBarangTunai { | |||
| public void setFldPramuniaga(TextField 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); | |||
| } | |||
| } | |||
| @@ -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_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 Alert getAlertError(String title, String message){ | |||
| Alert alert = new Alert(Alert.AlertType.ERROR, message, ButtonType.OK); | |||
| @@ -28,6 +29,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"); | |||
| @@ -107,6 +107,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" /> | |||