[Logic] Fungsi tombol batal, mengurangi jumlah jika barang tsb >1 dan menghapus dari tabel jika tidak [Logic + UI] Jika ada transaksi retur, dan transaksi tersebut berasal dari tunai, maka akan mengurangkan nominal tunaipull/14/head
| @@ -65,6 +65,7 @@ public class FormBayarController implements Initializable, BayarInterface { | |||||
| private final List<CheckBox> daftarChkBayarSyarat; | private final List<CheckBox> daftarChkBayarSyarat; | ||||
| private final List<CheckBox> daftarChkBayarOpsional; | private final List<CheckBox> daftarChkBayarOpsional; | ||||
| public BayarContent bayarContent = new BayarContent(); | public BayarContent bayarContent = new BayarContent(); | ||||
| private FormUtamaController parent = null; | |||||
| public FormBayarController() { | public FormBayarController() { | ||||
| daftarChkBayarSyarat = new ArrayList<>(); | daftarChkBayarSyarat = new ArrayList<>(); | ||||
| @@ -90,8 +91,15 @@ public class FormBayarController implements Initializable, BayarInterface { | |||||
| } | } | ||||
| public void initData(FormUtamaController parent) { | public void initData(FormUtamaController parent) { | ||||
| this.parent = parent; | |||||
| if (parent != null && parent.notaContent.getControllerTunai() != null) { | if (parent != null && parent.notaContent.getControllerTunai() != null) { | ||||
| bayarContent.setTotalPerluBayar(parent.notaContent.getControllerTunai().total); | |||||
| int bayarRetur = 0; | |||||
| if (parent.notaContent.getControllerRetur() != null | |||||
| && parent.notaContent.getControllerRetur().tipeRetur.equals( | |||||
| Fucout.TEKS_TIPE_NOTA_TUNAI)) { | |||||
| bayarRetur = parent.notaContent.getControllerRetur().nominalRetur; | |||||
| } | |||||
| bayarContent.setTotalPerluBayar(parent.notaContent.getControllerTunai().total - bayarRetur); | |||||
| updateGrandTotalView(); | updateGrandTotalView(); | ||||
| updateKurangBayarView(); | updateKurangBayarView(); | ||||
| } | } | ||||
| @@ -103,7 +111,16 @@ public class FormBayarController implements Initializable, BayarInterface { | |||||
| KeyCombination kcSelesaiBayar = new KeyCodeCombination(KeyCode.F10); | KeyCombination kcSelesaiBayar = new KeyCodeCombination(KeyCode.F10); | ||||
| Runnable rnSelesaiBayar = () -> { | Runnable rnSelesaiBayar = () -> { | ||||
| if (bayarContent.getTotalBayar() >= bayarContent.getTotalPerluBayar()) { | if (bayarContent.getTotalBayar() >= bayarContent.getTotalPerluBayar()) { | ||||
| if (parent != null) { | |||||
| DialogCetakNotaController dialogCetakNotaController = new DialogCetakNotaController(); | |||||
| dialogCetakNotaController.initOwner(apContent.getScene().getWindow()); | |||||
| dialogCetakNotaController.initData( | |||||
| parent.notaContent.getControllerTunai() != null ? | |||||
| parent.notaContent.getControllerTunai().daftarTabelTransaksi : null, | |||||
| parent.notaContent.getControllerRetur() != null ? | |||||
| parent.notaContent.getControllerRetur().daftarTabelRetur : null); | |||||
| Optional<String> result = dialogCetakNotaController.showAndWait(); | |||||
| } | |||||
| } else { | } else { | ||||
| DialogSelesaiBayarTidakLunasController dsbtlc | DialogSelesaiBayarTidakLunasController dsbtlc | ||||
| = new DialogSelesaiBayarTidakLunasController(this, | = new DialogSelesaiBayarTidakLunasController(this, | ||||
| @@ -255,11 +272,11 @@ public class FormBayarController implements Initializable, BayarInterface { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| private void updateGrandTotalView() { | private void updateGrandTotalView() { | ||||
| lblGrandTotal.setText(Fucout.formatRupiah(bayarContent.getTotalPerluBayar())); | lblGrandTotal.setText(Fucout.formatRupiah(bayarContent.getTotalPerluBayar())); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public BayarContent getBayarContent() { | public BayarContent getBayarContent() { | ||||
| return bayarContent; | return bayarContent; | ||||
| @@ -1,224 +1,222 @@ | |||||
| /* | |||||
| * To change this license header, choose License Headers in Project Properties. | |||||
| * To change this template file, choose Tools | Templates | |||||
| * and open the template in the editor. | |||||
| */ | |||||
| package id.amigogroup.posterminal.pencarian; | |||||
| import id.amigogroup.posterminal.transaksi.TabelBarangRetur; | |||||
| import id.amigogroup.posterminal.transaksi.TabelBarangTunai; | |||||
| import id.amigogroup.posterminal.util.Fucout; | |||||
| import java.io.IOException; | |||||
| import java.net.URL; | |||||
| import java.util.ResourceBundle; | |||||
| import java.util.logging.Level; | |||||
| import java.util.logging.Logger; | |||||
| import javafx.beans.property.ReadOnlyObjectWrapper; | |||||
| import javafx.collections.FXCollections; | |||||
| import javafx.collections.ObservableList; | |||||
| import javafx.fxml.FXML; | |||||
| import javafx.fxml.FXMLLoader; | |||||
| import javafx.fxml.Initializable; | |||||
| import javafx.scene.Parent; | |||||
| import javafx.scene.control.ButtonBar.ButtonData; | |||||
| import javafx.scene.control.ButtonType; | |||||
| import javafx.scene.control.ComboBox; | |||||
| import javafx.scene.control.Dialog; | |||||
| import javafx.scene.control.ScrollPane; | |||||
| import javafx.scene.control.TableColumn; | |||||
| import javafx.scene.control.TableView; | |||||
| import javafx.scene.control.TextField; | |||||
| import javafx.scene.control.TitledPane; | |||||
| import javafx.scene.control.cell.PropertyValueFactory; | |||||
| import javafx.scene.layout.AnchorPane; | |||||
| import javafx.scene.layout.VBox; | |||||
| import javafx.stage.Window; | |||||
| /** | |||||
| * | |||||
| * @author Josua | |||||
| */ | |||||
| public class DialogCetakNotaController extends Dialog<String> implements Initializable { | |||||
| @FXML | |||||
| private ScrollPane spCetakNota; | |||||
| @FXML | |||||
| private VBox vbCetakNota; | |||||
| @FXML | |||||
| private TitledPane tpTunai; | |||||
| @FXML | |||||
| private AnchorPane apTunai; | |||||
| @FXML | |||||
| private TableView<TabelBarangTunai> tbvTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, Integer> tcNoTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcKodeBarangTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcNamaBarangTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcUkurTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcJumlahTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcHargaTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcDisc1Tunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcDisc2Tunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcSubTotalTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcPramuniagaTunai; | |||||
| @FXML | |||||
| private TitledPane tpBawa; | |||||
| @FXML | |||||
| private AnchorPane apBawa; | |||||
| @FXML | |||||
| private TableView<?> tbvBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNoBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcKodeBarangBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNamaBarangBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcUkurBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcJumlahBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcHargaBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc1Bawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc2Bawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcSubTotalBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcPramuniagaBawa; | |||||
| @FXML | |||||
| private TitledPane tpBon; | |||||
| @FXML | |||||
| private AnchorPane apBon; | |||||
| @FXML | |||||
| private TableView<?> tbvBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNoBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcKodeBarangBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNamaBarangBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcUkurBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcJumlahBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcHargaBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc1Bon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc2Bon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcSubTotalBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcPramuniagaBon; | |||||
| @FXML | |||||
| private TitledPane tpRetur; | |||||
| @FXML | |||||
| private AnchorPane apRetur; | |||||
| @FXML | |||||
| private TableView<TabelBarangRetur> tbvRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, Integer> tcNoRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcKodeBarangRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcNamaBarangRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcUkurRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcJumlahRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcHargaRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcDisc1Retur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcDisc2Retur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcSubTotalRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcPramuniagaRetur; | |||||
| public final ObservableList<TabelBarangTunai> daftarTabelTunai = FXCollections.observableArrayList(); | |||||
| public final ObservableList<TabelBarangRetur> daftarTabelRetur = FXCollections.observableArrayList(); | |||||
| @Override | |||||
| public void initialize(URL url, ResourceBundle rb) { | |||||
| getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); | |||||
| //Tunai | |||||
| tcNoTunai.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangTunai, Integer> cell) -> { | |||||
| return new ReadOnlyObjectWrapper(tbvTunai.getItems().indexOf(cell.getValue()) + 1); | |||||
| }); | |||||
| tcKodeBarangTunai.setCellValueFactory(new PropertyValueFactory<>("kode")); | |||||
| tcNamaBarangTunai.setCellValueFactory(new PropertyValueFactory<>("nama")); | |||||
| tcUkurTunai.setCellValueFactory(new PropertyValueFactory<>("ukur")); | |||||
| tcJumlahTunai.setCellValueFactory(new PropertyValueFactory<>("jumlah")); | |||||
| tcHargaTunai.setCellValueFactory(new PropertyValueFactory<>("harga")); | |||||
| tcDisc1Tunai.setCellValueFactory(new PropertyValueFactory<>("disc1")); | |||||
| tcDisc2Tunai.setCellValueFactory(new PropertyValueFactory<>("disc2")); | |||||
| tcSubTotalTunai.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||||
| tcPramuniagaTunai.setCellValueFactory(new PropertyValueFactory<>("pramuniaga")); | |||||
| tbvTunai.setItems(daftarTabelTunai); | |||||
| //Bawa | |||||
| //Bon | |||||
| //Retur | |||||
| tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { | |||||
| return new ReadOnlyObjectWrapper(tbvRetur.getItems().indexOf(cell.getValue()) + 1); | |||||
| }); | |||||
| tcKodeBarangRetur.setCellValueFactory(new PropertyValueFactory<>("kode")); | |||||
| tcNamaBarangRetur.setCellValueFactory(new PropertyValueFactory<>("nama")); | |||||
| tcUkurRetur.setCellValueFactory(new PropertyValueFactory<>("ukur")); | |||||
| tcJumlahRetur.setCellValueFactory(new PropertyValueFactory<>("jumlah")); | |||||
| tcHargaRetur.setCellValueFactory(new PropertyValueFactory<>("harga")); | |||||
| tcDisc1Retur.setCellValueFactory(new PropertyValueFactory<>("disc1")); | |||||
| tcDisc2Retur.setCellValueFactory(new PropertyValueFactory<>("disc2")); | |||||
| tcSubTotalRetur.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||||
| tcPramuniagaRetur.setCellValueFactory(new PropertyValueFactory<>("pramuniaga")); | |||||
| tbvRetur.setItems(daftarTabelRetur); | |||||
| } | |||||
| public DialogCetakNotaController() { | |||||
| try { | |||||
| Window window = getDialogPane().getScene().getWindow(); | |||||
| window.setOnCloseRequest(event -> this.close()); | |||||
| FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCetakNota.fxml")); | |||||
| loader.setController(this); | |||||
| Parent root = loader.load(); | |||||
| getDialogPane().setContent(root); | |||||
| setTitle("Cetak Nota"); | |||||
| } catch (IOException e) { | |||||
| Logger.getLogger(DialogCetakNotaController.class | |||||
| .getName()).log(Level.SEVERE, null, e); | |||||
| } | |||||
| } | |||||
| public void initData(ObservableList<TabelBarangTunai> daftarTabelTransaksiTunai, | |||||
| ObservableList<TabelBarangRetur> daftarTabelTransaksiRetur) { | |||||
| if (daftarTabelTransaksiTunai != null) { | |||||
| for (TabelBarangTunai tbt : daftarTabelTransaksiTunai) { | |||||
| daftarTabelTunai.add(new TabelBarangTunai(tbt.getKode(), tbt.getNama(), tbt.getUkur(), | |||||
| tbt.getJumlah(), tbt.getHarga(), tbt.getDisc1(), tbt.getDisc2(), null, | |||||
| tbt.getSubTotal(), Fucout.getText(tbt.getFldPramuniaga().getText()), null)); | |||||
| } | |||||
| } | |||||
| if (daftarTabelTransaksiRetur != null) { | |||||
| for (TabelBarangRetur tbr : daftarTabelTransaksiRetur) { | |||||
| daftarTabelRetur.add(new TabelBarangRetur(tbr.getKode(), tbr.getNama(), tbr.getUkur(), | |||||
| tbr.getJumlah(), tbr.getHarga(), tbr.getDisc1(), tbr.getDisc2(), tbr.getSubTotal(), | |||||
| Fucout.getText(tbr.getFldPramuniaga().getText()))); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| /* | |||||
| * To change this license header, choose License Headers in Project Properties. | |||||
| * To change this template file, choose Tools | Templates | |||||
| * and open the template in the editor. | |||||
| */ | |||||
| package id.amigogroup.posterminal.pencarian; | |||||
| import id.amigogroup.posterminal.transaksi.TabelBarangRetur; | |||||
| import id.amigogroup.posterminal.transaksi.TabelBarangTunai; | |||||
| import id.amigogroup.posterminal.util.Fucout; | |||||
| import java.io.IOException; | |||||
| import java.net.URL; | |||||
| import java.util.ResourceBundle; | |||||
| import java.util.logging.Level; | |||||
| import java.util.logging.Logger; | |||||
| import javafx.beans.property.ReadOnlyObjectWrapper; | |||||
| import javafx.collections.FXCollections; | |||||
| import javafx.collections.ObservableList; | |||||
| import javafx.fxml.FXML; | |||||
| import javafx.fxml.FXMLLoader; | |||||
| import javafx.fxml.Initializable; | |||||
| import javafx.scene.Parent; | |||||
| import javafx.scene.control.ButtonBar.ButtonData; | |||||
| import javafx.scene.control.ButtonType; | |||||
| import javafx.scene.control.Dialog; | |||||
| import javafx.scene.control.ScrollPane; | |||||
| import javafx.scene.control.TableColumn; | |||||
| import javafx.scene.control.TableView; | |||||
| import javafx.scene.control.TitledPane; | |||||
| import javafx.scene.control.cell.PropertyValueFactory; | |||||
| import javafx.scene.layout.AnchorPane; | |||||
| import javafx.scene.layout.VBox; | |||||
| import javafx.stage.Window; | |||||
| /** | |||||
| * | |||||
| * @author Josua | |||||
| */ | |||||
| public class DialogCetakNotaController extends Dialog<String> implements Initializable { | |||||
| @FXML | |||||
| private ScrollPane spCetakNota; | |||||
| @FXML | |||||
| private VBox vbCetakNota; | |||||
| @FXML | |||||
| private TitledPane tpTunai; | |||||
| @FXML | |||||
| private AnchorPane apTunai; | |||||
| @FXML | |||||
| private TableView<TabelBarangTunai> tbvTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, Integer> tcNoTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcKodeBarangTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcNamaBarangTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcUkurTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcJumlahTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcHargaTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcDisc1Tunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcDisc2Tunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcSubTotalTunai; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangTunai, String> tcPramuniagaTunai; | |||||
| @FXML | |||||
| private TitledPane tpBawa; | |||||
| @FXML | |||||
| private AnchorPane apBawa; | |||||
| @FXML | |||||
| private TableView<?> tbvBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNoBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcKodeBarangBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNamaBarangBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcUkurBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcJumlahBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcHargaBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc1Bawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc2Bawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcSubTotalBawa; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcPramuniagaBawa; | |||||
| @FXML | |||||
| private TitledPane tpBon; | |||||
| @FXML | |||||
| private AnchorPane apBon; | |||||
| @FXML | |||||
| private TableView<?> tbvBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNoBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcKodeBarangBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcNamaBarangBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcUkurBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcJumlahBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcHargaBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc1Bon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcDisc2Bon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcSubTotalBon; | |||||
| @FXML | |||||
| private TableColumn<?, ?> tcPramuniagaBon; | |||||
| @FXML | |||||
| private TitledPane tpRetur; | |||||
| @FXML | |||||
| private AnchorPane apRetur; | |||||
| @FXML | |||||
| private TableView<TabelBarangRetur> tbvRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, Integer> tcNoRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcKodeBarangRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcNamaBarangRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcUkurRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcJumlahRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcHargaRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcDisc1Retur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcDisc2Retur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcSubTotalRetur; | |||||
| @FXML | |||||
| private TableColumn<TabelBarangRetur, String> tcPramuniagaRetur; | |||||
| public final ObservableList<TabelBarangTunai> daftarTabelTunai = FXCollections.observableArrayList(); | |||||
| public final ObservableList<TabelBarangRetur> daftarTabelRetur = FXCollections.observableArrayList(); | |||||
| @Override | |||||
| public void initialize(URL url, ResourceBundle rb) { | |||||
| getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); | |||||
| //Tunai | |||||
| tcNoTunai.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangTunai, Integer> cell) -> { | |||||
| return new ReadOnlyObjectWrapper(tbvTunai.getItems().indexOf(cell.getValue()) + 1); | |||||
| }); | |||||
| tcKodeBarangTunai.setCellValueFactory(new PropertyValueFactory<>("kode")); | |||||
| tcNamaBarangTunai.setCellValueFactory(new PropertyValueFactory<>("nama")); | |||||
| tcUkurTunai.setCellValueFactory(new PropertyValueFactory<>("ukur")); | |||||
| tcJumlahTunai.setCellValueFactory(new PropertyValueFactory<>("jumlah")); | |||||
| tcHargaTunai.setCellValueFactory(new PropertyValueFactory<>("harga")); | |||||
| tcDisc1Tunai.setCellValueFactory(new PropertyValueFactory<>("disc1")); | |||||
| tcDisc2Tunai.setCellValueFactory(new PropertyValueFactory<>("disc2")); | |||||
| tcSubTotalTunai.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||||
| tcPramuniagaTunai.setCellValueFactory(new PropertyValueFactory<>("pramuniaga")); | |||||
| tbvTunai.setItems(daftarTabelTunai); | |||||
| //Bawa | |||||
| //Bon | |||||
| //Retur | |||||
| tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { | |||||
| return new ReadOnlyObjectWrapper(tbvRetur.getItems().indexOf(cell.getValue()) + 1); | |||||
| }); | |||||
| tcKodeBarangRetur.setCellValueFactory(new PropertyValueFactory<>("kode")); | |||||
| tcNamaBarangRetur.setCellValueFactory(new PropertyValueFactory<>("nama")); | |||||
| tcUkurRetur.setCellValueFactory(new PropertyValueFactory<>("ukur")); | |||||
| tcJumlahRetur.setCellValueFactory(new PropertyValueFactory<>("jumlah")); | |||||
| tcHargaRetur.setCellValueFactory(new PropertyValueFactory<>("harga")); | |||||
| tcDisc1Retur.setCellValueFactory(new PropertyValueFactory<>("disc1")); | |||||
| tcDisc2Retur.setCellValueFactory(new PropertyValueFactory<>("disc2")); | |||||
| tcSubTotalRetur.setCellValueFactory(new PropertyValueFactory<>("subTotal")); | |||||
| tcPramuniagaRetur.setCellValueFactory(new PropertyValueFactory<>("pramuniaga")); | |||||
| tbvRetur.setItems(daftarTabelRetur); | |||||
| } | |||||
| public DialogCetakNotaController() { | |||||
| try { | |||||
| Window window = getDialogPane().getScene().getWindow(); | |||||
| window.setOnCloseRequest(event -> this.close()); | |||||
| FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCetakNota.fxml")); | |||||
| loader.setController(this); | |||||
| Parent root = loader.load(); | |||||
| getDialogPane().setContent(root); | |||||
| setTitle("Cetak Nota"); | |||||
| } catch (IOException e) { | |||||
| Logger.getLogger(DialogCetakNotaController.class | |||||
| .getName()).log(Level.SEVERE, null, e); | |||||
| } | |||||
| } | |||||
| public void initData(ObservableList<TabelBarangTunai> daftarTabelTransaksiTunai, | |||||
| ObservableList<TabelBarangRetur> daftarTabelTransaksiRetur) { | |||||
| if (daftarTabelTransaksiTunai != null) { | |||||
| for (TabelBarangTunai tbt : daftarTabelTransaksiTunai) { | |||||
| daftarTabelTunai.add(new TabelBarangTunai(tbt.getKode(), tbt.getNama(), tbt.getUkur(), | |||||
| tbt.getJumlah(), tbt.getHarga(), tbt.getDisc1(), tbt.getDisc2(), null, | |||||
| tbt.getSubTotal(), Fucout.getText(tbt.getFldPramuniaga().getText()), null)); | |||||
| } | |||||
| } | |||||
| if (daftarTabelTransaksiRetur != null) { | |||||
| for (TabelBarangRetur tbr : daftarTabelTransaksiRetur) { | |||||
| daftarTabelRetur.add(new TabelBarangRetur(tbr.getKode(), tbr.getNama(), tbr.getUkur(), | |||||
| tbr.getJumlah(), tbr.getHarga(), tbr.getDisc1(), tbr.getDisc2(), tbr.getSubTotal(), | |||||
| Fucout.getText(tbr.getFldPramuniaga().getText()))); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -22,6 +22,7 @@ import io.reactivex.disposables.Disposable; | |||||
| import java.net.HttpURLConnection; | import java.net.HttpURLConnection; | ||||
| import java.net.URL; | import java.net.URL; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Optional; | |||||
| 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; | ||||
| @@ -33,6 +34,7 @@ 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.ButtonType; | |||||
| 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; | ||||
| @@ -121,6 +123,10 @@ public class FormTransaksiReturController implements Initializable { | |||||
| public final ObservableList<TabelBarangRetur> daftarTabelRetur = FXCollections.observableArrayList(); | public final ObservableList<TabelBarangRetur> daftarTabelRetur = FXCollections.observableArrayList(); | ||||
| private TabelBarangTunai draggedTabelBarangTunai = null; | private TabelBarangTunai draggedTabelBarangTunai = null; | ||||
| public String lastNoNotaPenjualan = ""; | |||||
| public String tipeRetur = ""; | |||||
| public int nominalRetur = 0; | |||||
| /** | /** | ||||
| * Initializes the controller class. | * Initializes the controller class. | ||||
| */ | */ | ||||
| @@ -138,7 +144,6 @@ 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")); | ||||
| // tcBtnBatal.setCellValueFactory(new PropertyValueFactory<>("btnBatal")); | |||||
| tbvPenjualan.setItems(daftarTabelPenjualan); | tbvPenjualan.setItems(daftarTabelPenjualan); | ||||
| tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { | tcNoRetur.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangRetur, Integer> cell) -> { | ||||
| @@ -177,16 +182,6 @@ public class FormTransaksiReturController implements Initializable { | |||||
| daftarTabelPenjualan.clear(); | daftarTabelPenjualan.clear(); | ||||
| for (DNotaTunai dNotaTunai : daftarNotaTunai) { | for (DNotaTunai dNotaTunai : daftarNotaTunai) { | ||||
| //Button | |||||
| Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | |||||
| btnBatal.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 = "..."; | ||||
| @@ -210,7 +205,7 @@ public class FormTransaksiReturController implements Initializable { | |||||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | ||||
| )), | )), | ||||
| fldPramuniaga, | fldPramuniaga, | ||||
| btnBatal); | |||||
| null); | |||||
| tbt.setData(dNotaTunai); | tbt.setData(dNotaTunai); | ||||
| daftarTabelPenjualan.add(tbt); | daftarTabelPenjualan.add(tbt); | ||||
| @@ -227,14 +222,6 @@ public class FormTransaksiReturController implements Initializable { | |||||
| for (DNotaRetur dNotaRetur : daftarDNotaRetur) { | for (DNotaRetur dNotaRetur : daftarDNotaRetur) { | ||||
| //Button | //Button | ||||
| Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | ||||
| btnBatal.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(dNotaRetur.getKodePram()); | TextField fldPramuniaga = new TextField(dNotaRetur.getKodePram()); | ||||
| String namaBarang = "..."; | String namaBarang = "..."; | ||||
| @@ -259,6 +246,10 @@ public class FormTransaksiReturController implements Initializable { | |||||
| fldPramuniaga, | fldPramuniaga, | ||||
| btnBatal); | btnBatal); | ||||
| btnBatal.setOnAction((t) -> { | |||||
| batalRetur(tbr); | |||||
| }); | |||||
| tbr.setData(dNotaRetur); | tbr.setData(dNotaRetur); | ||||
| daftarTabelRetur.add(tbr); | daftarTabelRetur.add(tbr); | ||||
| @@ -268,11 +259,44 @@ public class FormTransaksiReturController implements Initializable { | |||||
| } | } | ||||
| } | } | ||||
| private void batalRetur(TabelBarangRetur tbr) { | |||||
| Alert alert = AlertUtil.getAlertDialogKonfirmasi( | |||||
| AlertUtil.DIALOG_KONFIRMASI_MESSAGE, | |||||
| "Yakin ingin menghapus barang?"); | |||||
| alert.initOwner(apMain.getScene().getWindow()); | |||||
| Optional<ButtonType> result = alert.showAndWait(); | |||||
| if (result.isPresent() && result.get() == AlertUtil.BUTTON_YA) { | |||||
| if (tbr.getData().getJumlah() > 1) { | |||||
| tbr.getData().setJumlah(tbr.getData().getJumlah() - 1); | |||||
| tbr.setJumlah(String.valueOf(tbr.getData().getJumlah())); | |||||
| tbvRetur.refresh(); | |||||
| } else { | |||||
| daftarTabelRetur.remove(tbr); | |||||
| } | |||||
| nominalRetur -= tbr.getData().getHargaJual(); | |||||
| } | |||||
| } | |||||
| @FXML | @FXML | ||||
| void fldNotaPenjualanOnKeyPressed(KeyEvent event) { | void fldNotaPenjualanOnKeyPressed(KeyEvent event) { | ||||
| if (event.getCode() == KeyCode.ENTER) { | if (event.getCode() == KeyCode.ENTER) { | ||||
| switch(fldNotaPenjualan.getText().charAt(0)){ | |||||
| case Fucout.KODE_NOTA_BAWA: | |||||
| tipeRetur = Fucout.TEKS_TIPE_NOTA_BAWA; | |||||
| break; | |||||
| case Fucout.KODE_NOTA_BON: | |||||
| tipeRetur = Fucout.TEKS_TIPE_NOTA_BAWA; | |||||
| break; | |||||
| case Fucout.KODE_NOTA_RETUR: | |||||
| break; | |||||
| default: | |||||
| tipeRetur = Fucout.TEKS_TIPE_NOTA_TUNAI; | |||||
| break; | |||||
| } | |||||
| Disposable disposable = posRx.validasiMNotaTunaiByNoNotaTanggal(fldNotaPenjualan.getText()) | Disposable disposable = posRx.validasiMNotaTunaiByNoNotaTanggal(fldNotaPenjualan.getText()) | ||||
| .subscribe((response) -> { | |||||
| .subscribe((response) -> { | |||||
| ObjectMapper mapper = new ObjectMapper(); | ObjectMapper mapper = new ObjectMapper(); | ||||
| JsonNode jsonNode = mapper.readTree(response.string()); | JsonNode jsonNode = mapper.readTree(response.string()); | ||||
| ObjectNode node = jsonNode.deepCopy(); | ObjectNode node = jsonNode.deepCopy(); | ||||
| @@ -383,6 +407,7 @@ public class FormTransaksiReturController implements Initializable { | |||||
| ))); | ))); | ||||
| tbvRetur.refresh(); | tbvRetur.refresh(); | ||||
| nominalRetur += tbr.getData().getHargaJual(); | |||||
| } else { | } else { | ||||
| Alert alert = AlertUtil.getAlertError( | Alert alert = AlertUtil.getAlertError( | ||||
| "Jumlah Barang Kurang", | "Jumlah Barang Kurang", | ||||
| @@ -400,14 +425,6 @@ public class FormTransaksiReturController implements Initializable { | |||||
| if (!ada) { | if (!ada) { | ||||
| Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | ||||
| btnBatal.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(); | ||||
| DNotaRetur dNotaRetur = new DNotaRetur(noNota, draggedTabelBarangTunai.getData()); | DNotaRetur dNotaRetur = new DNotaRetur(noNota, draggedTabelBarangTunai.getData()); | ||||
| @@ -425,8 +442,14 @@ public class FormTransaksiReturController implements Initializable { | |||||
| fldPramuniaga, | fldPramuniaga, | ||||
| btnBatal); | btnBatal); | ||||
| btnBatal.setOnAction((t) -> { | |||||
| batalRetur(tbr); | |||||
| }); | |||||
| tbr.setData(dNotaRetur); | tbr.setData(dNotaRetur); | ||||
| nominalRetur += tbr.getData().getHargaJual(); | |||||
| daftarTabelRetur.add(tbr); | daftarTabelRetur.add(tbr); | ||||
| } | } | ||||
| } | } | ||||
| @@ -455,7 +478,7 @@ public class FormTransaksiReturController implements Initializable { | |||||
| @Override | @Override | ||||
| public void onNext(List<DNotaTunai> daftarDNotaTunai) { | public void onNext(List<DNotaTunai> daftarDNotaTunai) { | ||||
| fldNotaPenjualan.clear(); | |||||
| lastNoNotaPenjualan = fldNotaPenjualan.getText(); | |||||
| refreshDataPenjualan(daftarDNotaTunai); | refreshDataPenjualan(daftarDNotaTunai); | ||||
| } | } | ||||
| @@ -25,6 +25,7 @@ import java.util.ArrayList; | |||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import java.util.Optional; | |||||
| 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; | ||||
| @@ -36,6 +37,7 @@ 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.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; | ||||
| @@ -217,14 +219,7 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| cbxPromo.getSelectionModel().select("Ulang Tahun"); | cbxPromo.getSelectionModel().select("Ulang Tahun"); | ||||
| //Button | //Button | ||||
| Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | ||||
| btnBatal.setOnAction((t) -> { | |||||
| Alert alert = AlertUtil.getAlertError( | |||||
| AlertUtil.DIALOG_KONFIRMASI_MESSAGE, | |||||
| "Yakin ingin menghapus barang?"); | |||||
| alert.initOwner(apMain.getScene().getWindow()); | |||||
| alert.show(); | |||||
| }); | |||||
| //TextField | //TextField | ||||
| TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram()); | TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram()); | ||||
| fldPramuniaga.setOnKeyPressed((t) -> { | fldPramuniaga.setOnKeyPressed((t) -> { | ||||
| @@ -240,7 +235,7 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| .get(dNotaTunai.getKdBarang()).getNamaBarang()); | .get(dNotaTunai.getKdBarang()).getNamaBarang()); | ||||
| } | } | ||||
| daftarTabelTransaksi.add(new TabelBarangTunai( | |||||
| TabelBarangTunai tbt = new TabelBarangTunai( | |||||
| Fucout.getText(dNotaTunai.getKdBarang()), | Fucout.getText(dNotaTunai.getKdBarang()), | ||||
| namaBarang, | namaBarang, | ||||
| Fucout.getText(dNotaTunai.getNoBarang()), | Fucout.getText(dNotaTunai.getNoBarang()), | ||||
| @@ -253,7 +248,20 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | dNotaTunai.getHargaJual() * dNotaTunai.getJumlah() | ||||
| )), | )), | ||||
| fldPramuniaga, | fldPramuniaga, | ||||
| btnBatal)); | |||||
| btnBatal); | |||||
| tbt.setData(dNotaTunai); | |||||
| daftarTabelTransaksi.add(tbt); | |||||
| btnBatal.setOnAction((t) -> { | |||||
| Alert alert = AlertUtil.getAlertError( | |||||
| AlertUtil.DIALOG_KONFIRMASI_MESSAGE, | |||||
| "Yakin ingin menghapus barang?"); | |||||
| alert.initOwner(apMain.getScene().getWindow()); | |||||
| alert.show(); | |||||
| batalTunai(tbt); | |||||
| }); | |||||
| 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); | ||||
| @@ -261,6 +269,24 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| } | } | ||||
| } | } | ||||
| private void batalTunai(TabelBarangTunai tbt) { | |||||
| Alert alert = AlertUtil.getAlertDialogKonfirmasi( | |||||
| AlertUtil.DIALOG_KONFIRMASI_MESSAGE, | |||||
| "Yakin ingin menghapus barang?"); | |||||
| alert.initOwner(apMain.getScene().getWindow()); | |||||
| Optional<ButtonType> result = alert.showAndWait(); | |||||
| if (result.isPresent() && result.get() == AlertUtil.BUTTON_YA) { | |||||
| if (tbt.getData().getJumlah() > 1) { | |||||
| tbt.getData().setJumlah(tbt.getData().getJumlah() - 1); | |||||
| tbt.setJumlah(String.valueOf(tbt.getData().getJumlah())); | |||||
| tbvTransaksi.refresh(); | |||||
| } else { | |||||
| daftarTabelTransaksi.remove(tbt); | |||||
| } | |||||
| } | |||||
| } | |||||
| public void addToTable(Barang barang, NoBarang noBarang) { | public void addToTable(Barang barang, NoBarang noBarang) { | ||||
| if (barang != null && noBarang != null) { | if (barang != null && noBarang != null) { | ||||
| fldScan.setText(""); | fldScan.setText(""); | ||||
| @@ -299,15 +325,7 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| 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 = 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(); | |||||
| }); | |||||
| Button btnBatal = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON); | |||||
| TextField fldPramuniaga = new TextField(); | TextField fldPramuniaga = new TextField(); | ||||
| fldPramuniaga.setOnKeyPressed((t) -> { | fldPramuniaga.setOnKeyPressed((t) -> { | ||||
| @@ -341,9 +359,13 @@ public class FormTransaksiTunaiController implements Initializable { | |||||
| 1 * noBarang.getHargaJual()) | 1 * noBarang.getHargaJual()) | ||||
| ), | ), | ||||
| fldPramuniaga, | fldPramuniaga, | ||||
| btnAction); | |||||
| btnBatal); | |||||
| tbt.setData(dNotaTunai); | tbt.setData(dNotaTunai); | ||||
| btnBatal.setOnAction((t) -> { | |||||
| batalTunai(tbt); | |||||
| }); | |||||
| total += noBarang.getHargaJual(); | total += noBarang.getHargaJual(); | ||||
| updateLabelGrandTotal(); | updateLabelGrandTotal(); | ||||
| daftarTabelTransaksi.add(tbt); | daftarTabelTransaksi.add(tbt); | ||||
| @@ -27,6 +27,7 @@ public class AlertUtil { | |||||
| 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 final ButtonType BUTTON_YA = new ButtonType("Ya", ButtonData.YES); | ||||
| public static final ButtonType BUTTON_TIDAK = new ButtonType("Tidak", ButtonData.NO); | |||||
| public static Alert getAlertInfo(String title, String message){ | public static Alert getAlertInfo(String title, String message){ | ||||
| Alert alert = new Alert(Alert.AlertType.INFORMATION, message, ButtonType.OK); | Alert alert = new Alert(Alert.AlertType.INFORMATION, message, ButtonType.OK); | ||||
| @@ -50,7 +51,7 @@ public class AlertUtil { | |||||
| } | } | ||||
| public static Alert getAlertDialogKonfirmasi (String title, String message){ | public static Alert getAlertDialogKonfirmasi (String title, String message){ | ||||
| Alert alert = new Alert(Alert.AlertType.CONFIRMATION, message, ButtonType.OK, ButtonType.CANCEL); | |||||
| Alert alert = new Alert(Alert.AlertType.CONFIRMATION, message, BUTTON_YA, BUTTON_TIDAK); | |||||
| alert.setTitle(title); | alert.setTitle(title); | ||||
| alert.setHeaderText(null); | alert.setHeaderText(null); | ||||
| return alert; | return alert; | ||||