| @@ -1,222 +1,228 @@ | |||||
| /* | |||||
| * 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()))); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| /* | |||||
| * 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 && !daftarTabelTransaksiTunai.isEmpty()) { | |||||
| 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)); | |||||
| } | |||||
| } else { | |||||
| vbCetakNota.getChildren().remove(tpTunai); | |||||
| } | |||||
| vbCetakNota.getChildren().remove(tpBon); | |||||
| vbCetakNota.getChildren().remove(tpBawa); | |||||
| if (daftarTabelTransaksiRetur != null && !daftarTabelTransaksiRetur.isEmpty()) { | |||||
| 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()))); | |||||
| } | |||||
| } else { | |||||
| vbCetakNota.getChildren().remove(tpRetur); | |||||
| } | |||||
| } | |||||
| } | |||||