Fungsi Mengambil data transaksi dari tabel nota tunai

pull/3/head^2
Ronaldo Christnawan 6 years ago
parent 367c5bdd20
commit e6be4cbbce

@ -87,8 +87,8 @@ public class FormUtamaController implements Initializable {
private int jumlahNota = 0; private int jumlahNota = 0;
private final char NOTA_PREV = 'p'; private final char NOTA_PREV = 'p';
private final char NOTA_NEXT = 'n'; private final char NOTA_NEXT = 'n';
private Observable<Pelanggan> pelangganObs; private NotaContent notaContent = new NotaContent();
AmigoPosRx posRx = new AmigoPosRx(); private AmigoPosRx posRx = new AmigoPosRx();
/** /**
* Initializes the controller class. * Initializes the controller class.
@ -153,7 +153,7 @@ public class FormUtamaController implements Initializable {
button.getStyleClass().add("button-navigasi-transaksi"); button.getStyleClass().add("button-navigasi-transaksi");
button.setMaxWidth(Double.MAX_VALUE); button.setMaxWidth(Double.MAX_VALUE);
button.setOnAction((event) -> { button.setOnAction((event) -> {
setContent(loadNota("", tipeNota)); setContent(loadNota(noNota, tipeNota));
tipeNotaState = tipeNota; tipeNotaState = tipeNota;
updateSelectedNota(event); updateSelectedNota(event);
}); });
@ -170,13 +170,13 @@ public class FormUtamaController implements Initializable {
loader.setLocation(getClass().getResource("/fxml/FormTransaksiTunai.fxml")); loader.setLocation(getClass().getResource("/fxml/FormTransaksiTunai.fxml"));
node = loader.load(); node = loader.load();
FormTransaksiTunaiController fttc = loader.getController(); FormTransaksiTunaiController fttc = loader.getController();
// fetc.initData(noNota); fttc.initData(noNota);
break; break;
case FormConstanta.TRANSAKSI_RETUR: case FormConstanta.TRANSAKSI_RETUR:
loader.setLocation(getClass().getResource("/fxml/FormTransaksiRetur.fxml")); loader.setLocation(getClass().getResource("/fxml/FormTransaksiRetur.fxml"));
node = loader.load(); node = loader.load();
FormTransaksiReturController ftrc = loader.getController(); FormTransaksiReturController ftrc = loader.getController();
// fetc.initData(noNota); // ftrc.initData(noNota);
break; break;
} }
} catch (IOException ex) { } catch (IOException ex) {
@ -244,7 +244,7 @@ public class FormUtamaController implements Initializable {
dialogCariPelanggan.initOwner(bpMain.getScene().getWindow()); dialogCariPelanggan.initOwner(bpMain.getScene().getWindow());
Optional<Pelanggan> result = dialogCariPelanggan.showAndWait(); Optional<Pelanggan> result = dialogCariPelanggan.showAndWait();
if(result.isPresent() && result.get() !=null){ if (result.isPresent() && result.get() != null) {
SystemValue.member = result.get(); SystemValue.member = result.get();
SystemValue.isMember = true; SystemValue.isMember = true;
updateLabelPelanggan(result.get()); updateLabelPelanggan(result.get());
@ -332,65 +332,102 @@ public class FormUtamaController implements Initializable {
dialogTambahNota.initOwner(bpMain.getScene().getWindow()); dialogTambahNota.initOwner(bpMain.getScene().getWindow());
Optional<String> hasilReturn = dialogTambahNota.showAndWait(); Optional<String> hasilReturn = dialogTambahNota.showAndWait();
if (hasilReturn.isPresent() && hasilReturn.get().equals("Baru:Tunai")) { if (hasilReturn.isPresent()) {
Button buttonBaru = generateButtonNota("10-0220-0000X", if (hasilReturn.get().equals("Baru:Tunai")) {
FormConstanta.TRANSAKSI_TUNAI, if (notaContent.btnTunai != null) {
Fucout.TEKS_TIPE_NOTA_TUNAI); navigasi.remove(notaContent.btnTunai);
navigasi.add(buttonBaru); vbNavigasi.getChildren().remove(notaContent.btnTunai);
vbNavigasi.getChildren().add(buttonBaru); }
jumlahNota++;
} else if (hasilReturn.isPresent() && hasilReturn.get().equals("Baru:Bon")) { Button buttonBaru = generateButtonNota(Fucout.getNoNotaTemporary(),
Button buttonBaru = generateButtonNota("10-0220-0000X", FormConstanta.TRANSAKSI_TUNAI,
FormConstanta.TRANSAKSI_BON, Fucout.TEKS_TIPE_NOTA_TUNAI);
Fucout.TEKS_TIPE_NOTA_BON);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
jumlahNota++;
} else if (hasilReturn.isPresent() && hasilReturn.get().equals("Baru:Bawa Dulu")) {
Button buttonBaru = generateButtonNota("10-0220-0000X",
FormConstanta.TRANSAKSI_BAWA,
Fucout.TEKS_TIPE_NOTA_BAWA);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
jumlahNota++;
} else if (hasilReturn.isPresent() && hasilReturn.get().equals("Baru:Retur")) {
Button buttonBaru = generateButtonNota("10-0220-0000X",
FormConstanta.TRANSAKSI_RETUR,
Fucout.TEKS_TIPE_NOTA_RETUR);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
jumlahNota++;
} else if (hasilReturn.isPresent() && hasilReturn.get().contains("Checkout:")) {
String noNota = hasilReturn.get().substring(9);
Button buttonBaru = null;
switch (noNota.charAt(0)) {
case Fucout.KODE_NOTA_BON:
break;
case Fucout.KODE_NOTA_BAWA:
break;
case Fucout.KODE_NOTA_RETUR:
buttonBaru = generateButtonNota(noNota,
FormConstanta.TRANSAKSI_RETUR,
Fucout.TEKS_TIPE_NOTA_RETUR);
break;
default:
buttonBaru = generateButtonNota(noNota,
FormConstanta.TRANSAKSI_TUNAI,
Fucout.TEKS_TIPE_NOTA_TUNAI);
break;
}
if (buttonBaru != null) {
navigasi.add(buttonBaru); navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru); vbNavigasi.getChildren().add(buttonBaru);
notaContent.btnTunai = buttonBaru;
jumlahNota++; jumlahNota++;
} else if (hasilReturn.get().equals("Baru:Bon")) {
if (notaContent.btnBon != null) {
navigasi.remove(notaContent.btnBon);
vbNavigasi.getChildren().remove(notaContent.btnBon);
}
Button buttonBaru = generateButtonNota("B-" + Fucout.getNoNotaTemporary(),
FormConstanta.TRANSAKSI_BON,
Fucout.TEKS_TIPE_NOTA_BON);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
notaContent.btnBon = buttonBaru;
jumlahNota++;
} else if (hasilReturn.get().equals("Baru:Bawa Dulu")) {
if (notaContent.btnBawa != null) {
navigasi.remove(notaContent.btnBawa);
vbNavigasi.getChildren().remove(notaContent.btnBawa);
}
Button buttonBaru = generateButtonNota("W-" + Fucout.getNoNotaTemporary(),
FormConstanta.TRANSAKSI_BAWA,
Fucout.TEKS_TIPE_NOTA_BAWA);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
notaContent.btnBawa = buttonBaru;
jumlahNota++;
} else if (hasilReturn.get().equals("Baru:Retur")) {
if (notaContent.btnRetur != null) {
navigasi.remove(notaContent.btnRetur);
vbNavigasi.getChildren().remove(notaContent.btnRetur);
}
Button buttonBaru = generateButtonNota("R-" + Fucout.getNoNotaTemporary(),
FormConstanta.TRANSAKSI_RETUR,
Fucout.TEKS_TIPE_NOTA_RETUR);
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
notaContent.btnRetur = buttonBaru;
jumlahNota++;
} else if (hasilReturn.get().contains("Checkout:")) {
String noNota = hasilReturn.get().substring(9);
Button buttonBaru = null;
switch (noNota.charAt(0)) {
case Fucout.KODE_NOTA_BON:
break;
case Fucout.KODE_NOTA_BAWA:
break;
case Fucout.KODE_NOTA_RETUR:
if (notaContent.btnRetur != null) {
navigasi.remove(notaContent.btnRetur);
vbNavigasi.getChildren().remove(notaContent.btnRetur);
}
buttonBaru = generateButtonNota(noNota,
FormConstanta.TRANSAKSI_RETUR,
Fucout.TEKS_TIPE_NOTA_RETUR);
notaContent.btnRetur = buttonBaru;
break;
default:
if (notaContent.btnTunai != null) {
navigasi.remove(notaContent.btnTunai);
vbNavigasi.getChildren().remove(notaContent.btnTunai);
}
buttonBaru = generateButtonNota(noNota,
FormConstanta.TRANSAKSI_TUNAI,
Fucout.TEKS_TIPE_NOTA_TUNAI);
notaContent.btnTunai = buttonBaru;
break;
}
if (buttonBaru != null) {
navigasi.add(buttonBaru);
vbNavigasi.getChildren().add(buttonBaru);
jumlahNota++;
}
} }
} }
} }
//scan member //scan member
@FXML @FXML
void scanMemberOnPressed(KeyEvent event void scanMemberOnPressed(KeyEvent event) {
) {
if (event.getCode() == KeyCode.ENTER) { if (event.getCode() == KeyCode.ENTER) {
posRx.getPelangganByKodeMember(tfScanMember.getText()).subscribe(pelangganObserver); posRx.getPelangganByKodeMember(tfScanMember.getText()).subscribe(pelangganObserver);
} }
@ -442,4 +479,12 @@ public class FormUtamaController implements Initializable {
public void onComplete() { public void onComplete() {
} }
}; };
private class NotaContent {
Button btnTunai;
Button btnBawa;
Button btnBon;
Button btnRetur;
}
} }

@ -5,6 +5,8 @@
*/ */
package id.amigogroup.posterminal.api; package id.amigogroup.posterminal.api;
import id.amigogroup.posterminal.model.Barang;
import id.amigogroup.posterminal.model.DNotaTunai;
import id.amigogroup.posterminal.model.Karyawan; import id.amigogroup.posterminal.model.Karyawan;
import id.amigogroup.posterminal.model.Pagination; import id.amigogroup.posterminal.model.Pagination;
import id.amigogroup.posterminal.model.MNotaRetur; import id.amigogroup.posterminal.model.MNotaRetur;
@ -12,6 +14,7 @@ import id.amigogroup.posterminal.model.MNotaTunai;
import id.amigogroup.posterminal.model.Pelanggan; import id.amigogroup.posterminal.model.Pelanggan;
import id.amigogroup.posterminal.model.Tas; import id.amigogroup.posterminal.model.Tas;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.schedulers.Schedulers;
import java.util.List; import java.util.List;
/** /**
@ -19,35 +22,45 @@ import java.util.List;
* @author ronal * @author ronal
*/ */
public class AmigoPosRx { public class AmigoPosRx {
//Barang API //Barang API
public Observable<MNotaTunai> getMNotaTunaiByNoNota(String noNota){ public Observable<Barang> getBarangByKodeBarang(String kodeBarang) {
return UtilsApi.getServiceApiBarang().getBarangByKodeBarang(kodeBarang);
}
public Observable<MNotaTunai> getMNotaTunaiByNoNota(String noNota) {
return UtilsApi.getServiceApiBarang().getMNotaTunaiByNoNota(noNota); return UtilsApi.getServiceApiBarang().getMNotaTunaiByNoNota(noNota);
} }
public Observable<MNotaRetur> getMNotaReturByNoNota(String noNota){ public Observable<List<DNotaTunai>> getDNotaTunaiByNoNota(String noNota) {
return UtilsApi.getServiceApiBarang().getDNotaTunaiByNoNota(noNota)
.subscribeOn(Schedulers.io());
}
public Observable<MNotaRetur> getMNotaReturByNoNota(String noNota) {
return UtilsApi.getServiceApiBarang().getMNotaReturByNoNota(noNota); return UtilsApi.getServiceApiBarang().getMNotaReturByNoNota(noNota);
} }
//Checkin API //Checkin API
public Observable<List<Tas>> getAllTas(){ public Observable<List<Tas>> getAllTas() {
return UtilsApi.getServiceApiCheckin().getAllTas(); return UtilsApi.getServiceApiCheckin().getAllTas();
} }
//Karyawan API //Karyawan API
public Observable<Karyawan> getKaryawanByNik(String nik){ public Observable<Karyawan> getKaryawanByNik(String nik) {
return UtilsApi.getServiceApiKaryawan().getKaryawanByNik(nik); return UtilsApi.getServiceApiKaryawan().getKaryawanByNik(nik);
} }
//Pelanggan API //Pelanggan API
public Observable<Pelanggan> getPelangganByKodeMember(String kodeMember){ public Observable<Pelanggan> getPelangganByKodeMember(String kodeMember) {
return UtilsApi.getServiceApiPelanggan().getPelangganByKodeMember(kodeMember); return UtilsApi.getServiceApiPelanggan().getPelangganByKodeMember(kodeMember);
} }
public Observable<Pagination<Pelanggan>> getPelangganByNama(String nama){ public Observable<Pagination<Pelanggan>> getPelangganByNama(String nama) {
return UtilsApi.getServiceApiPelanggan().getPelangganByNama(nama); return UtilsApi.getServiceApiPelanggan().getPelangganByNama(nama);
} }
public Observable<Pagination<Pelanggan>> getPelangganByNoTelpNoHp(String no){ public Observable<Pagination<Pelanggan>> getPelangganByNoTelpNoHp(String no) {
return UtilsApi.getServiceApiPelanggan().getPelangganByNoTelpNoHp(no); return UtilsApi.getServiceApiPelanggan().getPelangganByNoTelpNoHp(no);
} }
} }

@ -5,9 +5,12 @@
*/ */
package id.amigogroup.posterminal.api; package id.amigogroup.posterminal.api;
import id.amigogroup.posterminal.model.Barang;
import id.amigogroup.posterminal.model.DNotaTunai;
import id.amigogroup.posterminal.model.MNotaRetur; import id.amigogroup.posterminal.model.MNotaRetur;
import id.amigogroup.posterminal.model.MNotaTunai; import id.amigogroup.posterminal.model.MNotaTunai;
import io.reactivex.Observable; import io.reactivex.Observable;
import java.util.List;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.Path; import retrofit2.http.Path;
@ -16,10 +19,22 @@ import retrofit2.http.Path;
* @author ronal * @author ronal
*/ */
public interface ServiceApiBarang { public interface ServiceApiBarang {
//BARANG
//Mengambil Barang by Kode Barang
@GET("barangs/kode/{kode}")
Observable<Barang> getBarangByKodeBarang(@Path("kode") String kode);
//M-NOTA-TUNAI
//Mengambil Master Nota Tunai by No Nota //Mengambil Master Nota Tunai by No Nota
@GET("m-nota-tunai/no-nota/{noNota}") @GET("m-nota-tunai/no-nota/{noNota}")
Observable<MNotaTunai> getMNotaTunaiByNoNota(@Path("noNota") String noNota); Observable<MNotaTunai> getMNotaTunaiByNoNota(@Path("noNota") String noNota);
//D-NOTA-TUNAI
//Mengambil Detail Nota Tunai by No Nota
@GET("d-nota-tunai/no-nota/{noNota}")
Observable<List<DNotaTunai>> getDNotaTunaiByNoNota(@Path("noNota") String noNota);
//M-NOTA-BAWA
// //Mengambil Master Nota Bawa Dulu by No Nota // //Mengambil Master Nota Bawa Dulu by No Nota
// @GET("m-nota-bawa/no-nota/{noNota}") // @GET("m-nota-bawa/no-nota/{noNota}")
// Observable<MNotaTunai> getMNotaBawaByNoNota(@Path("noNota") String noNota); // Observable<MNotaTunai> getMNotaBawaByNoNota(@Path("noNota") String noNota);
@ -28,6 +43,7 @@ public interface ServiceApiBarang {
// @GET("m-nota-bon/no-nota/{noNota}") // @GET("m-nota-bon/no-nota/{noNota}")
// Observable<MNotaTunai> getMNotaBonByNoNota(@Path("noNota") String noNota); // Observable<MNotaTunai> getMNotaBonByNoNota(@Path("noNota") String noNota);
//M-NOTA-RETUR
//Mengambil Master Nota Retur by No Nota //Mengambil Master Nota Retur by No Nota
@GET("m-nota-retur/no-nota/{noNota}") @GET("m-nota-retur/no-nota/{noNota}")
Observable<MNotaRetur> getMNotaReturByNoNota(@Path("noNota") String noNota); Observable<MNotaRetur> getMNotaReturByNoNota(@Path("noNota") String noNota);

@ -12,10 +12,10 @@ package id.amigogroup.posterminal.api;
public class UtilsApi { public class UtilsApi {
// public static final String API_BASE_URL_BARANG = "http://192.168.0.230:8081/api/"; // public static final String API_BASE_URL_BARANG = "http://192.168.0.230:8081/api/";
// public static final String API_BASE_URL_CHECKIN = "http://192.168.0.230:8082/api/"; // public static final String API_BASE_URL_CHECKIN = "http://192.168.0.230:8082/api/";
public static final String API_BASE_URL_BARANG = "https://barang.amigogroup.id/api/"; private static final String API_BASE_URL_BARANG = "https://barang.amigogroup.id/api/";
public static final String API_BASE_URL_CHECKIN = "https://checkin.amigogroup.id/api/"; private static final String API_BASE_URL_CHECKIN = "https://checkin.amigogroup.id/api/";
public static final String API_BASE_URL_KARYAWAN = "https://karyawan.amigogroup.id/api/"; private static final String API_BASE_URL_KARYAWAN = "https://karyawan.amigogroup.id/api/";
public static final String API_BASE_URL_PELANGGAN = "https://pelanggan.amigogroup.id/api/"; private static final String API_BASE_URL_PELANGGAN = "https://pelanggan.amigogroup.id/api/";
public static ServiceApiBarang getServiceApiBarang() { public static ServiceApiBarang getServiceApiBarang() {
return ServiceGenerator.createService(API_BASE_URL_BARANG, ServiceApiBarang.class); return ServiceGenerator.createService(API_BASE_URL_BARANG, ServiceApiBarang.class);

@ -1,6 +1,7 @@
package id.amigogroup.posterminal.model; package id.amigogroup.posterminal.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@ -8,6 +9,7 @@ import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringBuilder;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ @JsonPropertyOrder({
"kode_barang", "kode_barang",
@ -49,6 +51,9 @@ public class Barang {
private String kedProduk; private String kedProduk;
@JsonProperty("kode_merk") @JsonProperty("kode_merk")
private String kodeMerk; private String kodeMerk;
private String nomor;
private String noBarang;
@JsonProperty("kode_barang") @JsonProperty("kode_barang")
public String getKodeBarang() { public String getKodeBarang() {

@ -0,0 +1,32 @@
/*
* 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.model.Barang;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author ronal
*/
public class BarangCache {
private static BarangCache instance;
private Map<String, Barang> daftarBarang;
private BarangCache(){
daftarBarang = new HashMap<>();
}
public static BarangCache getInstance(){
if(instance == null) instance = new BarangCache();
return instance;
}
public Map<String, Barang> getDaftarBarang(){
return daftarBarang;
}
}

@ -5,9 +5,42 @@
*/ */
package id.amigogroup.posterminal.transaksi; package id.amigogroup.posterminal.transaksi;
import id.amigogroup.posterminal.FormUtamaController;
import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.Barang;
import id.amigogroup.posterminal.model.DNotaTunai;
import id.amigogroup.posterminal.pencarian.BarangCache;
import id.amigogroup.posterminal.util.AlertUtil;
import id.amigogroup.posterminal.util.Fucout;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import java.net.HttpURLConnection;
import java.net.SocketTimeoutException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Platform;
import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.concurrent.Task;
import javafx.fxml.FXML;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import retrofit2.HttpException;
/** /**
* FXML Controller class * FXML Controller class
@ -16,12 +49,234 @@ import javafx.fxml.Initializable;
*/ */
public class FormTransaksiReturController implements Initializable { public class FormTransaksiReturController implements Initializable {
@FXML
private AnchorPane apMain;
@FXML
private TextField fldNotaPenjualan;
@FXML
private TableView<TabelBarangTunai> tbvPenjualan;
@FXML
private TableColumn<TabelBarangTunai, Integer> tcNo;
@FXML
private TableColumn<TabelBarangTunai, String> tcKode;
@FXML
private TableColumn<TabelBarangTunai, String> tcNama;
@FXML
private TableColumn<TabelBarangTunai, String> tcUkur;
@FXML
private TableColumn<TabelBarangTunai, String> tcJumlah;
@FXML
private TableColumn<TabelBarangTunai, String> tcHarga;
@FXML
private TableColumn<TabelBarangTunai, String> tcDisc1;
@FXML
private TableColumn<TabelBarangTunai, String> tcDisc2;
@FXML
private TableColumn<TabelBarangTunai, String> tcSubTotal;
@FXML
private TableColumn<TabelBarangTunai, TextField> tcPramuniaga;
// @FXML
// private TableView<?> tbvRetur;
// @FXML
// private TableColumn<?, ?> tcNoRetur;
// @FXML
// private TableColumn<?, ?> tcKodeRetur;
// @FXML
// private TableColumn<?, ?> tcNamaRetur;
// @FXML
// private TableColumn<?, ?> tcUkurRetur;
// @FXML
// private TableColumn<?, ?> tcJumlahRetur;
// @FXML
// private TableColumn<?, ?> tcHargaRetur;
// @FXML
// private TableColumn<?, ?> tcDisc1Retur;
// @FXML
// private TableColumn<?, ?> tcDisc2Retur;
// @FXML
// private TableColumn<?, ?> tcSubtotalRetur;
// @FXML
// private TableColumn<?, ?> tcPramuniagaRetur;
private final AmigoPosRx posRx = new AmigoPosRx();
private final ObservableList<TabelBarangTunai> daftarTabelPenjualan = FXCollections.observableArrayList();
private List<DetailTransaksi> daftarDetailTransaksi = new ArrayList<>();
/** /**
* Initializes the controller class. * Initializes the controller class.
*/ */
@Override @Override
public void initialize(URL url, ResourceBundle rb) { public void initialize(URL url, ResourceBundle rb) {
// TODO tcNo.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangTunai, Integer> cell) -> {
} return new ReadOnlyObjectWrapper(tbvPenjualan.getItems().indexOf(cell.getValue()) + 1);
});
tcKode.setCellValueFactory(new PropertyValueFactory<>("kode"));
tcNama.setCellValueFactory(new PropertyValueFactory<>("nama"));
tcUkur.setCellValueFactory(new PropertyValueFactory<>("ukur"));
tcJumlah.setCellValueFactory(new PropertyValueFactory<>("jumlah"));
tcHarga.setCellValueFactory(new PropertyValueFactory<>("harga"));
tcDisc1.setCellValueFactory(new PropertyValueFactory<>("disc1"));
tcDisc2.setCellValueFactory(new PropertyValueFactory<>("disc2"));
tcSubTotal.setCellValueFactory(new PropertyValueFactory<>("subTotal"));
tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga"));
tbvPenjualan.setItems(daftarTabelPenjualan);
Platform.runLater(() -> {
fldNotaPenjualan.requestFocus();
});
}
private void mapCurrentDataToDetailTransaksi() {
}
int count = 0;
@FXML
Label lbl;
private void refreshData(List<DNotaTunai> daftarNotaTunai) {
daftarTabelPenjualan.clear();
for (DNotaTunai dNotaTunai : daftarNotaTunai) {
TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram());
String namaBarang = "...";
if (BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
namaBarang = Fucout.getText(BarangCache.getInstance().getDaftarBarang()
.get(dNotaTunai.getKdBarang()).getNamaBarang());
}
daftarTabelPenjualan.add(new TabelBarangTunai(
Fucout.getText(dNotaTunai.getKdBarang()),
namaBarang,
Fucout.getText(dNotaTunai.getNoBarang()),
Fucout.getText(String.valueOf(dNotaTunai.getJumlah())),
Fucout.getText(Fucout.formatRibuan(dNotaTunai.getHargaJual())),
Fucout.getText(Fucout.formatPersentase(dNotaTunai.getDiskon())),
Fucout.getText(Fucout.formatPersentase(dNotaTunai.getDiskon2())),
null,
Fucout.getText(Fucout.formatRibuan(
dNotaTunai.getHargaJual() * dNotaTunai.getJumlah()
)),
fldPramuniaga));
if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);
}
}
}
@FXML
void fldNotaPenjualanOnKeyPressed(KeyEvent event) {
if (event.getCode() == KeyCode.ENTER) {
posRx.getDNotaTunaiByNoNota(fldNotaPenjualan.getText()).subscribe(getDNotaTunaiObserver);
}
}
Observer<List<DNotaTunai>> getDNotaTunaiObserver = new Observer<>() {
@Override
public void onSubscribe(Disposable dspsbl) {
}
@Override
public void onNext(List<DNotaTunai> daftarDNotaTunai) {
refreshData(daftarDNotaTunai);
}
@Override
public void onError(Throwable error) {
if (error instanceof HttpException) {
switch (((HttpException) error).code()) {
case HttpURLConnection.HTTP_NOT_FOUND:
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE,
"Data nota tidak ditemukan.");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
}
} else if (error instanceof SocketTimeoutException) {
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE,
AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
} else {
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_TERDUGA_TITLE,
AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
Logger.getLogger(FormUtamaController.class
.getName()).log(Level.SEVERE, null, error);
});
}
}
@Override
public void onComplete() {
}
};
Observer<Barang> getBarangObserver = new Observer<>() {
@Override
public void onSubscribe(Disposable dspsbl) {
}
@Override
public void onNext(Barang b) {
BarangCache.getInstance().getDaftarBarang().put(b.getKodeBarang(), b);
for (TabelBarangTunai tbt : tbvPenjualan.getItems()) {
if (tbt.getKode().equals(b.getKodeBarang())) {
tbt.setNama(b.getNamaBarang());
tbvPenjualan.refresh();
}
}
}
@Override
public void onError(Throwable error) {
if (error instanceof HttpException) {
switch (((HttpException) error).code()) {
case HttpURLConnection.HTTP_NOT_FOUND:
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE,
"Barang dengan kode tersebut tidak ditemukan.");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
}
} else if (error instanceof SocketTimeoutException) {
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE,
AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
} else {
Platform.runLater(() -> {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_TERDUGA_TITLE,
AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
Logger.getLogger(FormUtamaController.class
.getName()).log(Level.SEVERE, null, error);
});
}
}
@Override
public void onComplete() {
}
};
} }

@ -5,42 +5,41 @@
*/ */
package id.amigogroup.posterminal.transaksi; package id.amigogroup.posterminal.transaksi;
import id.amigogroup.posterminal.pencarian.DialogCariBarangController; import id.amigogroup.posterminal.FormUtamaController;
import java.io.IOException; import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.Barang;
import id.amigogroup.posterminal.model.DNotaTunai;
import id.amigogroup.posterminal.pencarian.BarangCache;
import id.amigogroup.posterminal.util.AlertUtil;
import id.amigogroup.posterminal.util.Fucout;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import java.net.HttpURLConnection;
import java.net.SocketTimeoutException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
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;
import javafx.application.Platform;
import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.Parent; import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
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;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.scene.input.KeyEvent; import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text; import javafx.scene.text.Text;
import javafx.stage.Window; import retrofit2.HttpException;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javafx.scene.control.Label;
/** /**
* FXML Controller class * FXML Controller class
@ -49,10 +48,14 @@ import javafx.scene.control.Label;
*/ */
public class FormTransaksiTunaiController implements Initializable { public class FormTransaksiTunaiController implements Initializable {
@FXML
private AnchorPane apMain;
@FXML @FXML
private TextField fldScan; private TextField fldScan;
@FXML @FXML
private TableView<TabelBarangTunai> tbvTranstunai; private Label lblNoNota;
@FXML
private TableView<TabelBarangTunai> tbvTransaksi;
@FXML @FXML
private TableColumn<TabelBarangTunai, Integer> tcNo; private TableColumn<TabelBarangTunai, Integer> tcNo;
@FXML @FXML
@ -75,131 +78,194 @@ public class FormTransaksiTunaiController implements Initializable {
private TableColumn<TabelBarangTunai, String> tcSubtotal; private TableColumn<TabelBarangTunai, String> tcSubtotal;
@FXML @FXML
private TableColumn<TabelBarangTunai, TextField> tcPramuniaga; private TableColumn<TabelBarangTunai, TextField> tcPramuniaga;
final ObservableList<TabelBarangTunai> daftarTabelBarang = FXCollections.observableArrayList(); final ObservableList<TabelBarangTunai> daftarTabelTransaksi = FXCollections.observableArrayList();
@FXML @FXML
private Text lblGrandTotal; private Text lblGrandTotal;
{
} private AmigoPosRx posRx = new AmigoPosRx();
// private String tableState = BTN_TUNAI;
/** /**
* Initializes the controller class. * Initializes the controller class.
*/ */
@Override @Override
public void initialize(URL url, ResourceBundle rb) { public void initialize(URL url, ResourceBundle rb) {
tcNo.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangTunai, Integer> cell) -> { tcNo.setCellValueFactory((TableColumn.CellDataFeatures<TabelBarangTunai, Integer> cell) -> {
return new ReadOnlyObjectWrapper(tbvTranstunai.getItems().indexOf(cell.getValue()) + 1); return new ReadOnlyObjectWrapper(tbvTransaksi.getItems().indexOf(cell.getValue()) + 1);
}); });
tcKode.setCellValueFactory(new PropertyValueFactory<>("tcKode")); tcKode.setCellValueFactory(new PropertyValueFactory<>("kode"));
tcNama.setCellValueFactory(new PropertyValueFactory<>("tcNama")); tcNama.setCellValueFactory(new PropertyValueFactory<>("nama"));
tcUkur.setCellValueFactory(new PropertyValueFactory<>("tcUkur")); tcUkur.setCellValueFactory(new PropertyValueFactory<>("ukur"));
tcJumlah.setCellValueFactory(new PropertyValueFactory<>("tcJumlah")); tcJumlah.setCellValueFactory(new PropertyValueFactory<>("jumlah"));
tcHarga.setCellValueFactory(new PropertyValueFactory<>("tcHarga")); tcHarga.setCellValueFactory(new PropertyValueFactory<>("harga"));
tcDisc1.setCellValueFactory(new PropertyValueFactory<>("tcDisc1")); tcDisc1.setCellValueFactory(new PropertyValueFactory<>("disc1"));
tcDisc2.setCellValueFactory(new PropertyValueFactory<>("tcDisc2")); tcDisc2.setCellValueFactory(new PropertyValueFactory<>("disc2"));
tcPromo.setCellValueFactory(new PropertyValueFactory<>("tcPromo")); tcPromo.setCellValueFactory(new PropertyValueFactory<>("cbxPromo"));
tcSubtotal.setCellValueFactory(new PropertyValueFactory<>("tcSubtotal")); tcSubtotal.setCellValueFactory(new PropertyValueFactory<>("subTotal"));
tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("tcPramuniaga")); tcPramuniaga.setCellValueFactory(new PropertyValueFactory<>("fldPramuniaga"));
tbvTranstunai.setItems(daftarTabelBarang); tbvTransaksi.setItems(daftarTabelTransaksi);
fillTable(new ArrayList<>());
// fillTable(new ArrayList<>());
} }
public void initData(String noNota) {
private void initShortcuts() { posRx.getDNotaTunaiByNoNota(noNota).subscribe(getDNotaTunaiObserver);
// Map<KeyCombination, Runnable> listShortcuts = new HashMap<>(); lblNoNota.setText(Fucout.getTextColon(noNota));
//
// KeyCombination kcBtnTunai = new KeyCodeCombination(KeyCode.F1);
// Runnable rnBtnTunai = () -> btnTunai.fire();
// listShortcuts.put(kcBtnTunai, rnBtnTunai);
//
// KeyCombination kcBtnBawa = new KeyCodeCombination(KeyCode.F2);
// Runnable rnBtnBawa = () -> btnBawaDulu.fire();
// listShortcuts.put(kcBtnBawa, rnBtnBawa);
//
// KeyCombination kcBon = new KeyCodeCombination(KeyCode.F3);
// Runnable rnBon = () -> btnBon.fire();
// listShortcuts.put(kcBon, rnBon);
//
// KeyCombination kcRetur = new KeyCodeCombination(KeyCode.F4);
// Runnable rnRetur = () -> btnRetur.fire();
// listShortcuts.put(kcRetur, rnRetur);
//
// Platform.runLater(() -> {
// fldScan.getScene().getAccelerators().putAll(listShortcuts);
// });
} }
@FXML private void refreshData(List<DNotaTunai> daftarNotaTunai) {
void btnNavigasiOnAction(ActionEvent event) { daftarTabelTransaksi.clear();
// Button buttonSource = (Button) event.getSource();
// if (!tableState.equals(buttonSource.getText().toLowerCase())) { String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"};
// switch (buttonSource.getText().toLowerCase()) { for (DNotaTunai dNotaTunai : daftarNotaTunai) {
// case BTN_TUNAI: ComboBox<String> cbxPromo = new ComboBox<>(FXCollections.observableArrayList(promo));
// //ambil data tunai cbxPromo.getSelectionModel().select("Ulang Tahun");
// tableState = BTN_TUNAI;
// System.out.println("ambil data tunai"); TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram());
// break; fldPramuniaga.setOnKeyPressed((t) -> {
// case BTN_BAWA_DULU: if (t.getCode() == KeyCode.ENTER) {
// //ambil data bawa dulu fldScan.requestFocus();
// tableState = BTN_BAWA_DULU; }
// System.out.println("ambil data bawa dulu"); });
// break;
// case BTN_BON: String namaBarang = "...";
// //ambil data bon if (BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
// tableState = BTN_BON; namaBarang = Fucout.getText(BarangCache.getInstance().getDaftarBarang()
// System.out.println("ambil data bon"); .get(dNotaTunai.getKdBarang()).getNamaBarang());
// break; }
// case BTN_RETUR:
// //ambil data retur daftarTabelTransaksi.add(new TabelBarangTunai(
// tableState = BTN_RETUR; Fucout.getText(dNotaTunai.getKdBarang()),
// System.out.println("ambil data retur"); namaBarang,
// break; Fucout.getText(dNotaTunai.getNoBarang()),
// } Fucout.getText(String.valueOf(dNotaTunai.getJumlah())),
// } Fucout.getText(Fucout.formatRibuan(dNotaTunai.getHargaJual())),
// Fucout.getText(Fucout.formatPersentase(dNotaTunai.getDiskon())),
// for (Button button : navigasi) { Fucout.getText(Fucout.formatPersentase(dNotaTunai.getDiskon2())),
// if (button.equals(buttonSource)) { cbxPromo,
// if (!button.getStyleClass().contains("button-navigasi-transaksi-selected")) { Fucout.getText(Fucout.formatRibuan(
// button.getStyleClass().add("button-navigasi-transaksi-selected"); dNotaTunai.getHargaJual() * dNotaTunai.getJumlah()
// } )),
// } else { fldPramuniaga));
// if (button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
// button.getStyleClass().remove("button-navigasi-transaksi-selected"); if (!BarangCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
// } posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);
// } }
// } }
//
// fldScan.requestFocus();
} }
// public void fillTable(List<TabelBarangTunai> daftarBarangTunai) {
// String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"};
// ComboBox<String> cbxAction = new ComboBox<>(FXCollections.observableArrayList(promo));
// cbxAction.getSelectionModel().select("Ulang Tahun");
// TextField txtScan = new TextField();
// txtScan.setOnKeyPressed((t) -> {
// if (t.getCode() == KeyCode.ENTER) {
// fldScan.requestFocus();
// }
// });
// daftarTabelTransaksi.add(new TabelBarangTunai("AACOBA001ABCDXL", "Barang x", "XL", "1", "79.900", "0", "0", cbxAction,
// "79.900", txtScan));
// }
@FXML @FXML
void fldScanOnKeyPressed(KeyEvent event) { void fldScanOnKeyPressed(KeyEvent event) {
if (event.getCode() == KeyCode.ENTER) { if (event.getCode() == KeyCode.ENTER) {
//proses scan //proses scan
System.out.println("Scan"); System.out.println("Scan");
} }
} }
public void fillTable(List<TabelBarangTunai> daftarBarangTunai) { Observer<List<DNotaTunai>> getDNotaTunaiObserver = new Observer<>() {
String[] promo = {"Ulang Tahun", "Harbolnas", "Ultah Amigo"}; @Override
ComboBox<String> cbxAction = new ComboBox<>(FXCollections.observableArrayList(promo)); public void onSubscribe(Disposable dspsbl) {
cbxAction.getSelectionModel().select("Ulang Tahun"); }
TextField txtScan = new TextField();
txtScan.setOnKeyPressed((t) -> { @Override
if (t.getCode() == KeyCode.ENTER){ public void onNext(List<DNotaTunai> daftarDNotaTunai) {
fldScan.requestFocus(); refreshData(daftarDNotaTunai);
} }
});
daftarTabelBarang.add(new TabelBarangTunai("AACOBA001ABCDXL", "Barang x", "XL","1","79.900","0","0", cbxAction, @Override
"79.900", txtScan)); public void onError(Throwable error) {
} if (error instanceof HttpException) {
switch (((HttpException) error).code()) {
case HttpURLConnection.HTTP_NOT_FOUND:
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE,
"Data nota tidak ditemukan.");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
}
} else if (error instanceof SocketTimeoutException) {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE,
AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
} else {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_TERDUGA_TITLE,
AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
Logger.getLogger(FormUtamaController.class
.getName()).log(Level.SEVERE, null, error);
}
}
@Override
public void onComplete() {
}
};
Observer<Barang> getBarangObserver = new Observer<>() {
@Override
public void onSubscribe(Disposable dspsbl) {
}
@Override
public void onNext(Barang b) {
BarangCache.getInstance().getDaftarBarang().put(b.getKodeBarang(), b);
for (TabelBarangTunai tbt : daftarTabelTransaksi) {
if (tbt.getKode().equals(b.getKodeBarang())) {
tbt.setNama(b.getNamaBarang());
tbvTransaksi.refresh();
}
}
}
@Override
public void onError(Throwable error) {
if (error instanceof HttpException) {
switch (((HttpException) error).code()) {
case HttpURLConnection.HTTP_NOT_FOUND:
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_DITEMUKAN_TITLE,
"Barang dengan kode tersebut tidak ditemukan.");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
}
} else if (error instanceof SocketTimeoutException) {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE,
AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
} else {
Alert alert = AlertUtil.getAlertError(
AlertUtil.ERROR_TIDAK_TERDUGA_TITLE,
AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE);
alert.initOwner(apMain.getScene().getWindow());
alert.show();
Logger.getLogger(FormUtamaController.class
.getName()).log(Level.SEVERE, null, error);
}
}
@Override
public void onComplete() {
}
};
} }

@ -1,169 +1,166 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package id.amigogroup.posterminal.transaksi; package id.amigogroup.posterminal.transaksi;
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.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
/** /**
* *
* @author AGNES * @author AGNES
*/ */
public class TabelBarangRetur { public class TabelBarangRetur {
private SimpleStringProperty tcKodeRetur;
private SimpleStringProperty tcNamaRetur;
private SimpleStringProperty tcUkurRetur;
private SimpleStringProperty tcKodeRetur; private SimpleStringProperty tcJumlahRetur;
private SimpleStringProperty tcNamaRetur; private SimpleStringProperty tcHargaRetur;
private SimpleStringProperty tcUkurRetur; private SimpleStringProperty tcDisc1Retur;
private SimpleStringProperty tcJumlahRetur; private SimpleStringProperty tcDisc2Retur;
private SimpleStringProperty tcHargaRetur; private SimpleStringProperty tcSubtotalRetur;
private SimpleStringProperty tcDisc1Retur; private SimpleObjectProperty<TextField>tcPramuniagaRetur;
private SimpleStringProperty tcDisc2Retur;
private SimpleStringProperty tcSubtotalRetur; public TabelBarangRetur(String tcKodeRetur, String tcNamaRetur, String tcUkurRetur, String tcJumlahRetur, String tcHargaRetur, String tcDisc1Retur,
private SimpleObjectProperty<TextField>tcPramuniagaRetur; String tcDisc2Retur, String tcSubtotalRetur, TextField tcPramuniagaRetur) {
this.tcKodeRetur = new SimpleStringProperty(tcKodeRetur);
public TabelBarangRetur(String tcKodeRetur, String tcNamaRetur, String tcUkurRetur, String tcJumlahRetur, String tcHargaRetur, String tcDisc1Retur, this.tcNamaRetur = new SimpleStringProperty(tcNamaRetur);
String tcDisc2Retur, String tcSubtotalRetur, TextField tcPramuniagaRetur) { this.tcUkurRetur = new SimpleStringProperty(tcUkurRetur);
this.tcKodeRetur = new SimpleStringProperty(tcKodeRetur); this.tcJumlahRetur = new SimpleStringProperty(tcJumlahRetur);
this.tcNamaRetur = new SimpleStringProperty(tcNamaRetur); this.tcHargaRetur = new SimpleStringProperty(tcHargaRetur);
this.tcUkurRetur = new SimpleStringProperty(tcUkurRetur); this.tcDisc1Retur = new SimpleStringProperty(tcDisc1Retur);
this.tcJumlahRetur = new SimpleStringProperty(tcJumlahRetur); this.tcDisc2Retur = new SimpleStringProperty(tcDisc2Retur);
this.tcHargaRetur = new SimpleStringProperty(tcHargaRetur); this.tcSubtotalRetur = new SimpleStringProperty(tcSubtotalRetur);
this.tcDisc1Retur = new SimpleStringProperty(tcDisc1Retur); this.tcPramuniagaRetur = new SimpleObjectProperty<TextField>(tcPramuniagaRetur);
this.tcDisc2Retur = new SimpleStringProperty(tcDisc2Retur); }
this.tcSubtotalRetur = new SimpleStringProperty(tcSubtotalRetur); /**
this.tcPramuniagaRetur = new SimpleObjectProperty<TextField>(tcPramuniagaRetur); * @return the tcKode
} */
/** public String getTcKodeRetur() {
* @return the tcKode return tcKodeRetur.get();
*/ }
public String getTcKodeRetur() {
return tcKodeRetur.get(); /**
} * @param tcKode the tcKode to set
*/
/** public void setTcKodeRetur(String tcKodeRetur) {
* @param tcKode the tcKode to set this.tcKodeRetur.set(tcKodeRetur);
*/ }
public void setTcKodeRetur(String tcKodeRetur) {
this.tcKodeRetur.set(tcKodeRetur); /**
} * @return the tcNama
*/
/** public String getTcNamaRetur() {
* @return the tcNama return tcNamaRetur.get();
*/ }
public String getTcNamaRetur() {
return tcNamaRetur.get(); /**
} * @param tcNama the tcNama to set
*/
/** public void setTcNamaRetur(String tcNamaRetur) {
* @param tcNama the tcNama to set this.tcNamaRetur.set(tcNamaRetur);
*/ }
public void setTcNamaRetur(String tcNamaRetur) {
this.tcNamaRetur.set(tcNamaRetur); /**
} * @return the tcUkur
*/
/** public String getTcUkurRetur() {
* @return the tcUkur return tcUkurRetur.get();
*/ }
public String getTcUkurRetur() {
return tcUkurRetur.get(); /**
} * @param tcUkur the tcUkur to set
*/
/** public void setTcUkurRetur(String tcUkurRetur) {
* @param tcUkur the tcUkur to set this.tcUkurRetur.set(tcUkurRetur);
*/ }
public void setTcUkurRetur(String tcUkurRetur) {
this.tcUkurRetur.set(tcUkurRetur); /**
} * @return the tcJumlah
*/
/** public String getTcJumlahRetur() {
* @return the tcJumlah return tcJumlahRetur.get();
*/ }
public String getTcJumlahRetur() {
return tcJumlahRetur.get(); /**
} * @param tcJumlah the tcJumlah to set
*/
/** public void setTcJumlahRetur(String tcJumlahRetur) {
* @param tcJumlah the tcJumlah to set this.tcJumlahRetur.set(tcJumlahRetur);
*/ }
public void setTcJumlahRetur(String tcJumlahRetur) {
this.tcJumlahRetur.set(tcJumlahRetur); /**
} * @return the tcHarga
*/
/** public String getTcHargaRetur() {
* @return the tcHarga return tcHargaRetur.get();
*/ }
public String getTcHargaRetur() {
return tcHargaRetur.get(); /**
} * @param tcHarga the tcHarga to set
*/
/** public void setTcHargaRetur(String tcHargaRetur) {
* @param tcHarga the tcHarga to set this.tcHargaRetur.set(tcHargaRetur);
*/ }
public void setTcHargaRetur(String tcHargaRetur) {
this.tcHargaRetur.set(tcHargaRetur); /**
} * @return the tcDisc1
*/
/** public String getTcDisc1Retur() {
* @return the tcDisc1 return tcDisc1Retur.get();
*/ }
public String getTcDisc1Retur() {
return tcDisc1Retur.get(); /**
} * @param tcDisc1 the tcDisc1 to set
*/
/** public void setTcDisc1Retur(String tcDisc1Retur) {
* @param tcDisc1 the tcDisc1 to set this.tcDisc1Retur.set(tcDisc1Retur);
*/ }
public void setTcDisc1Retur(String tcDisc1Retur) {
this.tcDisc1Retur.set(tcDisc1Retur); /**
} * @return the tcDisc2
*/
/** public String getTcDisc2Retur() {
* @return the tcDisc2 return tcDisc2Retur.get();
*/ }
public String getTcDisc2Retur() {
return tcDisc2Retur.get(); /**
} * @param tcDisc2 the tcDisc2 to set
*/
/** public void setTcDisc2Retur(String tcDisc2Retur) {
* @param tcDisc2 the tcDisc2 to set this.tcDisc2Retur.set(tcDisc2Retur);
*/ }
public void setTcDisc2Retur(String tcDisc2Retur) {
this.tcDisc2Retur.set(tcDisc2Retur); /**
} * @return the tcSubtotal
*/
/** public String getTcSubtotalRetur() {
* @return the tcSubtotal return tcSubtotalRetur.get();
*/ }
public String getTcSubtotalRetur() {
return tcSubtotalRetur.get(); /**
} * @param tcSubtotal the tcSubtotal to set
*/
/** public void setTcSubtotalRetur(String tcSubtotalRetur) {
* @param tcSubtotal the tcSubtotal to set this.tcSubtotalRetur.set(tcSubtotalRetur);
*/ }
public void setTcSubtotalRetur(String tcSubtotalRetur) {
this.tcSubtotalRetur.set(tcSubtotalRetur); /**
} * @return the tcPramuniaga
*/
/** public TextField getTcPramuniagaRetur() {
* @return the tcPramuniaga return tcPramuniagaRetur.get();
*/ }
public TextField getTcPramuniagaRetur() {
return tcPramuniagaRetur.get(); /**
} * @param tcPramuniaga the tcPramuniaga to set
*/
/** public void setTcPramuniagaRetur(TextField tcPramuniagaRetur) {
* @param tcPramuniaga the tcPramuniaga to set this.tcPramuniagaRetur.set(tcPramuniagaRetur);
*/ }
public void setTcPramuniagaRetur(TextField tcPramuniagaRetur) { }
this.tcPramuniagaRetur.set(tcPramuniagaRetur);
}
}

@ -1,187 +1,184 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package id.amigogroup.posterminal.transaksi; package id.amigogroup.posterminal.transaksi;
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.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
/** /**
* *
* @author AGNES * @author AGNES
*/ */
public class TabelBarangTunai { public class TabelBarangTunai {
private SimpleStringProperty kode;
private SimpleStringProperty nama;
private SimpleStringProperty ukur;
private SimpleStringProperty tcKode; private SimpleStringProperty jumlah;
private SimpleStringProperty tcNama; private SimpleStringProperty harga;
private SimpleStringProperty tcUkur; private SimpleStringProperty disc1;
private SimpleStringProperty tcJumlah; private SimpleStringProperty disc2;
private SimpleStringProperty tcHarga; private SimpleObjectProperty<ComboBox> cbxPromo;
private SimpleStringProperty tcDisc1; private SimpleStringProperty subTotal;
private SimpleStringProperty tcDisc2; private SimpleObjectProperty<TextField> fldPramuniaga;
private SimpleObjectProperty<ComboBox> tcPromo;
private SimpleStringProperty tcSubtotal; public TabelBarangTunai(String kode, String nama, String ukur, String jumlah, String harga, String disc1,
private SimpleObjectProperty<TextField>tcPramuniaga; String disc2, ComboBox cbxPromo, String subTotal, TextField fldPramuniaga) {
this.kode = new SimpleStringProperty(kode);
public TabelBarangTunai(String tcKode, String tcNama, String tcUkur, String tcJumlah, String tcHarga, String tcDisc1, this.nama = new SimpleStringProperty(nama);
String tcDisc2, ComboBox tcPromo, String tcSubtotal, TextField tcPramuniaga) { this.ukur = new SimpleStringProperty(ukur);
this.tcKode = new SimpleStringProperty(tcKode); this.jumlah = new SimpleStringProperty(jumlah);
this.tcNama = new SimpleStringProperty(tcNama); this.harga = new SimpleStringProperty(harga);
this.tcUkur = new SimpleStringProperty(tcUkur); this.disc1 = new SimpleStringProperty(disc1);
this.tcJumlah = new SimpleStringProperty(tcJumlah); this.disc2 = new SimpleStringProperty(disc2);
this.tcHarga = new SimpleStringProperty(tcHarga); this.cbxPromo = new SimpleObjectProperty<ComboBox>(cbxPromo);
this.tcDisc1 = new SimpleStringProperty(tcDisc1); this.subTotal = new SimpleStringProperty(subTotal);
this.tcDisc2 = new SimpleStringProperty(tcDisc2); this.fldPramuniaga = new SimpleObjectProperty<TextField>(fldPramuniaga);
this.tcPromo = new SimpleObjectProperty<ComboBox>(tcPromo); }
this.tcSubtotal = new SimpleStringProperty(tcSubtotal);
this.tcPramuniaga = new SimpleObjectProperty<TextField>(tcPramuniaga);
} /**
* @return the kode
*/
/** public String getKode() {
* @return the tcKode return kode.get();
*/ }
public String getTcKode() {
return tcKode.get(); /**
} * @param kode the kode to set
*/
/** public void setKode(String kode) {
* @param tcKode the tcKode to set this.kode.set(kode);
*/ }
public void setTcKode(String tcKode) {
this.tcKode.set(tcKode); /**
} * @return the tcNama
*/
/** public String getNama() {
* @return the tcNama return nama.get();
*/ }
public String getTcNama() {
return tcNama.get(); /**
} * @param nama the tcNama to set
*/
/** public void setNama(String nama) {
* @param tcNama the tcNama to set this.nama.set(nama);
*/ }
public void setTcNama(String tcNama) {
this.tcNama.set(tcNama); /**
} * @return the tcUkur
*/
/** public String getUkur() {
* @return the tcUkur return ukur.get();
*/ }
public String getTcUkur() {
return tcUkur.get(); /**
} * @param ukur the tcUkur to set
*/
/** public void setUkur(String ukur) {
* @param tcUkur the tcUkur to set this.ukur.set(ukur);
*/ }
public void setTcUkur(String tcUkur) {
this.tcUkur.set(tcUkur); /**
} * @return the tcJumlah
*/
/** public String getJumlah() {
* @return the tcJumlah return jumlah.get();
*/ }
public String getTcJumlah() {
return tcJumlah.get(); /**
} * @param jumlah the tcJumlah to set
*/
/** public void setJumlah(String jumlah) {
* @param tcJumlah the tcJumlah to set this.jumlah.set(jumlah);
*/ }
public void setTcJumlah(String tcJumlah) {
this.tcJumlah.set(tcJumlah); /**
} * @return the tcHarga
*/
/** public String getHarga() {
* @return the tcHarga return harga.get();
*/ }
public String getTcHarga() {
return tcHarga.get(); /**
} * @param harga the tcHarga to set
*/
/** public void setHarga(String harga) {
* @param tcHarga the tcHarga to set this.harga.set(harga);
*/ }
public void setTcHarga(String tcHarga) {
this.tcHarga.set(tcHarga); /**
} * @return the tcDisc1
*/
/** public String getDisc1() {
* @return the tcDisc1 return disc1.get();
*/ }
public String getTcDisc1() {
return tcDisc1.get(); /**
} * @param disc1 the tcDisc1 to set
*/
/** public void setDisc1(String disc1) {
* @param tcDisc1 the tcDisc1 to set this.disc1.set(disc1);
*/ }
public void setTcDisc1(String tcDisc1) {
this.tcDisc1.set(tcDisc1); /**
} * @return the tcDisc2
*/
/** public String getDisc2() {
* @return the tcDisc2 return disc2.get();
*/ }
public String getTcDisc2() {
return tcDisc2.get(); /**
} * @param disc2 the tcDisc2 to set
*/
/** public void setDisc2(String disc2) {
* @param tcDisc2 the tcDisc2 to set this.disc2.set(disc2);
*/ }
public void setTcDisc2(String tcDisc2) {
this.tcDisc2.set(tcDisc2); /**
} * @return the tcPromo
*/
/** public ComboBox getCbxPromo() {
* @return the tcPromo return cbxPromo.get();
*/ }
public ComboBox getTcPromo() {
return tcPromo.get(); /**
} * @param cbxPromo the tcPromo to set
*/
/** public void setCbxPromo(ComboBox cbxPromo) {
* @param tcPromo the tcPromo to set this.cbxPromo.set(cbxPromo);
*/ }
public void setTcPromo(ComboBox tcPromo) {
this.tcPromo.set(tcPromo); /**
} * @return the tcSubtotal
*/
/** public String getSubTotal() {
* @return the tcSubtotal return subTotal.get();
*/ }
public String getTcSubtotal() {
return tcSubtotal.get(); /**
} * @param subTotal the tcSubtotal to set
*/
/** public void setSubTotal(String subTotal) {
* @param tcSubtotal the tcSubtotal to set this.subTotal.set(subTotal);
*/ }
public void setTcSubtotal(String tcSubtotal) {
this.tcSubtotal.set(tcSubtotal); /**
} * @return the tcPramuniaga
*/
/** public TextField getFldPramuniaga() {
* @return the tcPramuniaga return fldPramuniaga.get();
*/ }
public TextField getTcPramuniaga() {
return tcPramuniaga.get(); /**
} * @param fldPramuniaga the tcPramuniaga to set
*/
/** public void setFldPramuniaga(TextField fldPramuniaga) {
* @param tcPramuniaga the tcPramuniaga to set this.fldPramuniaga.set(fldPramuniaga);
*/ }
public void setTcPramuniaga(TextField tcPramuniaga) { }
this.tcPramuniaga.set(tcPramuniaga);
}
}

@ -53,6 +53,13 @@ public class Fucout {
|| pekerjaan.toLowerCase().equals("pemimpin toko")); || pekerjaan.toLowerCase().equals("pemimpin toko"));
} }
public static String getText(String text) {
if (text == null || text.equals("")) {
return "-";
}
return text;
}
public static String getTextColon(String text) { public static String getTextColon(String text) {
if (text == null || text.equals("")) { if (text == null || text.equals("")) {
return ": -"; return ": -";
@ -104,6 +111,10 @@ public class Fucout {
localDateTime.getSecond(), localDateTime.getSecond(),
ms); ms);
} }
public static String formatPersentase(int persentase) {
return persentase + "%";
}
public static String formatTanggal(Date tanggal) { public static String formatTanggal(Date tanggal) {
if (tanggal == null) { if (tanggal == null) {

@ -13,63 +13,45 @@
<?import javafx.scene.layout.RowConstraints?> <?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<AnchorPane id="AnchorPane" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.amigogroup.posterminal.transaksi.FormTransaksiReturController"> <AnchorPane id="AnchorPane" fx:id="apMain" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.amigogroup.posterminal.transaksi.FormTransaksiReturController">
<children> <children>
<Label text="Transaksi Retur" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0"> <Label text="Transaksi Retur" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0">
<font> <font>
<Font size="16.0" /> <Font size="16.0" />
</font> </font>
</Label> </Label>
<HBox alignment="CENTER" layoutX="14.0" layoutY="144.0" prefHeight="80.0" prefWidth="80.0" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="144.0" />
<SplitPane dividerPositions="0.5" layoutY="45.0" orientation="VERTICAL" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="39.0"> <SplitPane dividerPositions="0.5" layoutY="45.0" orientation="VERTICAL" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="39.0">
<items> <items>
<AnchorPane> <AnchorPane>
<children> <children>
<Label fx:id="lbl" layoutX="14.0" layoutY="6.0" text="Histori Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="14.0" />
</font>
</Label>
<Label layoutX="14.0" layoutY="20.0" text="Nomor Nota Penjualan" />
<TextField fx:id="fldNotaPenjualan" layoutX="14.0" layoutY="37.0" onKeyPressed="#fldNotaPenjualanOnKeyPressed" prefHeight="25.0" prefWidth="329.0" promptText="Nomor Nota Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="37.0" />
<TableView fx:id="tbvPenjualan" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="65.0"> <TableView fx:id="tbvPenjualan" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="65.0">
<columns> <columns>
<TableColumn fx:id="tcNo" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" text="No" /> <TableColumn fx:id="tcNo" editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" sortable="false" text="No" />
<TableColumn fx:id="tcKode" prefWidth="75.0" text="Kode Barang" /> <TableColumn fx:id="tcKode" prefWidth="75.0" text="Kode Barang" />
<TableColumn fx:id="tcNama" prefWidth="75.0" text="Nama Barang" /> <TableColumn fx:id="tcNama" prefWidth="75.0" text="Nama Barang" />
<TableColumn fx:id="tcUkur" prefWidth="75.0" text="Ukur" /> <TableColumn fx:id="tcUkur" maxWidth="40.0" minWidth="40.0" prefWidth="40.0" resizable="false" text="Ukur" />
<TableColumn fx:id="tcJumlah" prefWidth="75.0" text="Jumlah" /> <TableColumn fx:id="tcJumlah" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="Jml" />
<TableColumn fx:id="tcHarga" prefWidth="75.0" text="Harga" /> <TableColumn fx:id="tcHarga" prefWidth="75.0" text="Harga" />
<TableColumn fx:id="tcDisc1" prefWidth="75.0" text="Disc 1" /> <TableColumn fx:id="tcDisc1" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc 1" />
<TableColumn fx:id="tcDisc2" prefWidth="75.0" text="Disc 2" /> <TableColumn fx:id="tcDisc2" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc 2" />
<TableColumn fx:id="tcSubtotal" prefWidth="75.0" text="Sub Total" /> <TableColumn fx:id="tcSubTotal" prefWidth="75.0" text="Sub Total" />
<TableColumn fx:id="tcPramuniaga" prefWidth="75.0" text="Pramuniaga" /> <TableColumn fx:id="tcPramuniaga" editable="false" prefWidth="75.0" sortable="false" text="Pramuniaga" />
</columns> </columns>
<columnResizePolicy> <columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy> </columnResizePolicy>
</TableView> </TableView>
<Label layoutX="14.0" layoutY="6.0" text="Histori Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="14.0" />
</font>
</Label>
<Label layoutX="14.0" layoutY="20.0" text="Nomor Nota Penjualan" />
<TextField fx:id="fldScanRetur" layoutX="14.0" layoutY="37.0" prefHeight="25.0" prefWidth="329.0" promptText="Nomor Nota Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="37.0" />
</children> </children>
</AnchorPane> </AnchorPane>
<AnchorPane> <AnchorPane>
<children> <children>
<TableView fx:id="tbvRetur" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="50.0">
<columns>
<TableColumn fx:id="tcNoRetur" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
<TableColumn fx:id="tcKodeRetur" prefWidth="75.0" text="Kode Barang" />
<TableColumn fx:id="tcNamaRetur" prefWidth="75.0" text="Nama Barang" />
<TableColumn fx:id="tcUkurRetur" prefWidth="75.0" text="Ukur" />
<TableColumn fx:id="tcJumlahRetur" prefWidth="75.0" text="Jumlah" />
<TableColumn fx:id="tcHargaRetur" prefWidth="75.0" text="Harga" />
<TableColumn fx:id="tcDisc1Retur" prefWidth="75.0" text="Disc 1" />
<TableColumn fx:id="tcDisc2Retur" prefWidth="75.0" text="Disc 2" />
<TableColumn fx:id="tcSubtotalRetur" prefWidth="75.0" text="Sub Total" />
<TableColumn fx:id="tcPramuniagaRetur" prefWidth="75.0" text="Pramuniaga" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
<Label layoutX="14.0" text="Retur Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0"> <Label layoutX="14.0" text="Retur Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0">
<font> <font>
<Font size="14.0" /> <Font size="14.0" />
@ -122,6 +104,23 @@
</HBox> </HBox>
</children> </children>
</GridPane> </GridPane>
<TableView fx:id="tbvRetur" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="50.0">
<columns>
<TableColumn fx:id="tcNoRetur" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
<TableColumn fx:id="tcKodeRetur" prefWidth="75.0" text="Kode Barang" />
<TableColumn fx:id="tcNamaRetur" prefWidth="75.0" text="Nama Barang" />
<TableColumn fx:id="tcUkurRetur" prefWidth="75.0" text="Ukur" />
<TableColumn fx:id="tcJumlahRetur" prefWidth="75.0" text="Jumlah" />
<TableColumn fx:id="tcHargaRetur" prefWidth="75.0" text="Harga" />
<TableColumn fx:id="tcDisc1Retur" prefWidth="75.0" text="Disc 1" />
<TableColumn fx:id="tcDisc2Retur" prefWidth="75.0" text="Disc 2" />
<TableColumn fx:id="tcSubTotalRetur" prefWidth="75.0" text="Sub Total" />
<TableColumn fx:id="tcPramuniagaRetur" prefWidth="75.0" text="Pramuniaga" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children> </children>
</AnchorPane> </AnchorPane>
</items> </items>

@ -15,7 +15,7 @@
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?> <?import javafx.scene.text.Text?>
<AnchorPane id="AnchorPane" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.amigogroup.posterminal.transaksi.FormTransaksiTunaiController"> <AnchorPane id="AnchorPane" fx:id="apMain" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="750.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.amigogroup.posterminal.transaksi.FormTransaksiTunaiController">
<children> <children>
<Label text="Transaksi Tunai" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0"> <Label text="Transaksi Tunai" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0">
<font> <font>
@ -41,7 +41,7 @@
<Font size="14.0" /> <Font size="14.0" />
</font> </font>
</Label> </Label>
<Label text=": -"> <Label fx:id="lblNoNota" text=": -">
<HBox.margin> <HBox.margin>
<Insets /> <Insets />
</HBox.margin> </HBox.margin>
@ -94,19 +94,19 @@
</children> </children>
</GridPane> </GridPane>
<Separator layoutY="116.0" prefHeight="0.0" prefWidth="800.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="116.0" /> <Separator layoutY="116.0" prefHeight="0.0" prefWidth="800.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="116.0" />
<TableView fx:id="tbvTranstunai" layoutY="150.0" prefHeight="245.0" prefWidth="800.0" AnchorPane.bottomAnchor="55.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="150.0"> <TableView fx:id="tbvTransaksi" layoutY="150.0" prefHeight="245.0" prefWidth="800.0" AnchorPane.bottomAnchor="55.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="130.0">
<columns> <columns>
<TableColumn fx:id="tcNo" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" /> <TableColumn fx:id="tcNo" editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" sortable="false" text="No" />
<TableColumn fx:id="tcKode" prefWidth="-1.0" text="Kode Barang" /> <TableColumn fx:id="tcKode" prefWidth="-1.0" text="Kode Barang" />
<TableColumn fx:id="tcNama" minWidth="0.0" prefWidth="-1.0" text="Nama Barang" /> <TableColumn fx:id="tcNama" minWidth="0.0" prefWidth="-1.0" text="Nama Barang" />
<TableColumn fx:id="tcUkur" minWidth="0.0" prefWidth="61.5999755859375" text="Ukur" /> <TableColumn fx:id="tcUkur" maxWidth="40.0" minWidth="40.0" prefWidth="40.0" resizable="false" text="Ukur" />
<TableColumn fx:id="tcJumlah" minWidth="52.0" prefWidth="-1.0" text="Jumlah" /> <TableColumn fx:id="tcJumlah" maxWidth="40.0" minWidth="40.0" prefWidth="40.0" resizable="false" text="Jml" />
<TableColumn fx:id="tcHarga" prefWidth="-1.0" text="Harga" /> <TableColumn fx:id="tcHarga" prefWidth="-1.0" text="Harga" />
<TableColumn fx:id="tcDisc1" prefWidth="-1.0" text="Disc1" /> <TableColumn fx:id="tcDisc1" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc1" />
<TableColumn fx:id="tcDisc2" prefWidth="-1.0" text="Disc2" /> <TableColumn fx:id="tcDisc2" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc2" />
<TableColumn fx:id="tcPromo" prefWidth="-1.0" 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" text="Pramuniaga" /> <TableColumn fx:id="tcPramuniaga" prefWidth="-1.0" sortable="false" text="Pramuniaga" />
</columns> </columns>
<columnResizePolicy> <columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />

Loading…
Cancel
Save