2 İşlemeler

Yazar SHA1 Mesaj Tarih
  Ronaldo Christnawan 06bbac298b Merge Josua-MengubahSistemCariBarang 5 yıl önce
  Josua Pascario e066eb5173 -Menghilangkan radio button di UI cari barang 5 yıl önce
6 değiştirilmiş dosya ile 30 ekleme ve 78 silme
  1. +5
    -0
      src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java
  2. +6
    -1
      src/main/java/id/amigogroup/posterminal/api/ServiceApiBarang.java
  3. +4
    -51
      src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java
  4. +11
    -13
      src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java
  5. +2
    -11
      src/main/resources/fxml/DialogCariBarang.fxml
  6. +2
    -2
      src/main/resources/fxml/DialogTambahNota.fxml

+ 5
- 0
src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java Dosyayı Görüntüle

@@ -37,6 +37,11 @@ import okhttp3.ResponseBody;
public class AmigoPosRx { public class AmigoPosRx {


//Barang API //Barang API
public Observable<Pagination<Barang>> getBarangByKodeNamaArtikel (String input) {
return UtilsApi.getServiceApiBarang().getBarangByKodeNamaArtikel(input)
.subscribeOn(Schedulers.io());
}
public Observable<Barang> getBarangByKodeBarang(String kodeBarang) { public Observable<Barang> getBarangByKodeBarang(String kodeBarang) {
return UtilsApi.getServiceApiBarang().getBarangByKodeBarang(kodeBarang) return UtilsApi.getServiceApiBarang().getBarangByKodeBarang(kodeBarang)
.subscribeOn(Schedulers.trampoline()); .subscribeOn(Schedulers.trampoline());


+ 6
- 1
src/main/java/id/amigogroup/posterminal/api/ServiceApiBarang.java Dosyayı Görüntüle

@@ -27,6 +27,10 @@ import retrofit2.http.Path;
*/ */
public interface ServiceApiBarang { public interface ServiceApiBarang {
//BARANG //BARANG
//Mengambil Barang berdasarkan Kode Barang, Nama Barang & Artikel
@GET("barangs/kode-nama-artikel/{input}/limit/15")
Observable<Pagination<Barang>> getBarangByKodeNamaArtikel(@Path("input") String input);

//Mengambil Barang by Kode Barang //Mengambil Barang by Kode Barang
@GET("barangs/kode/{kode}") @GET("barangs/kode/{kode}")
Observable<Barang> getBarangByKodeBarang(@Path("kode") String kode); Observable<Barang> getBarangByKodeBarang(@Path("kode") String kode);
@@ -40,7 +44,7 @@ public interface ServiceApiBarang {
@GET("no-barangs/id-gabungan/{idGabungan}/kolom-urut/nomor") @GET("no-barangs/id-gabungan/{idGabungan}/kolom-urut/nomor")
Observable<List<NoBarang>> getByIdGabunganSortNomor( Observable<List<NoBarang>> getByIdGabunganSortNomor(
@Path("idGabungan") String idGabungan); @Path("idGabungan") String idGabungan);
//Mengambil No Barang by Id Gabungan & Ukuran //Mengambil No Barang by Id Gabungan & Ukuran
@GET("no-barangs/id-gabungan/{idGabungan}/nomor/{nomor}") @GET("no-barangs/id-gabungan/{idGabungan}/nomor/{nomor}")
Observable<NoBarang> getByIdGabunganNomor( Observable<NoBarang> getByIdGabunganNomor(
@@ -64,6 +68,7 @@ public interface ServiceApiBarang {
Observable<Pagination<MNotaTunai>> getMNotaTunaiByStatus( Observable<Pagination<MNotaTunai>> getMNotaTunaiByStatus(
@Path("status") String status, @Path("status") String status,
@Path("limit") Integer limit); @Path("limit") Integer limit);
//Validasi Master Nota Tunai by No Nota //Validasi Master Nota Tunai by No Nota
@GET("m-nota-tunai/no-nota/{noNota}/valid") @GET("m-nota-tunai/no-nota/{noNota}/valid")
Observable<ResponseBody> validasiMNotaTunaiByNoNotaTanggal(@Path("noNota") String noNota); Observable<ResponseBody> validasiMNotaTunaiByNoNotaTanggal(@Path("noNota") String noNota);


+ 4
- 51
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java Dosyayı Görüntüle

@@ -173,53 +173,14 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In


@FXML @FXML
void tfPencarianOnKeyReleased(KeyEvent event) { void tfPencarianOnKeyReleased(KeyEvent event) {
if (((RadioButton) tgTipe.getSelectedToggle() == rbKodeBarang
&& event.getCode() == KeyCode.ENTER)) {
idx = 0;

if (tfPencarian.getText().length() <= 9) {
posRx.getBarangByKodeBarang(tfPencarian.getText()).subscribe(barangKodeObserver);
} else {
String kodeFull = tfPencarian.getText();
String kodeBarang = Fucout.getKodeBarangFromKodeFull(kodeFull);
String ukur = Fucout.getNomorBarangFromKodeFull(kodeFull);

if (AmigoPosCache.getInstance().getDaftarBarang().containsKey(kodeBarang)) {
Barang barang = AmigoPosCache.getInstance().getDaftarBarang().get(kodeBarang);

selectedBarangFull.setBarang(barang);
if (AmigoPosCache.getInstance().getDaftarNoBarang().containsKey(
barang.getIdGabungan() + ukur)) {
NoBarang noBarang = AmigoPosCache.getInstance().getDaftarNoBarang()
.get(barang.getIdGabungan() + ukur);
selectedBarangFull.setNoBarang(noBarang);
} else {
Observable.zip(posRx.getBarangByKodeBarang(kodeBarang),
posRx.getNoBarangByIdGabunganNomor(barang.getIdGabungan(), ukur),
(b, nB) -> new BarangFull(b, nB)).subscribe(getBarangFullGetNoBarangFromBarangObserver);
}
}
if (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(kodeBarang)) {
Observable.zip(posRx.getBarangByKodeBarang(kodeBarang),
Observable.just(ukur),
(barang, nomor) -> {
barang.setNomor(nomor);
return barang;
}).subscribe(getTambahBarangObserver);
}
}

} else if (((RadioButton) tgTipe.getSelectedToggle() == rbNamaBarang
&& tfPencarian.getText().length() >= 3)) {
if (tfPencarian.getText().length() >= 3) {
compositeDisposable.clear(); compositeDisposable.clear();
daftarTabelBarang.clear(); daftarTabelBarang.clear();
idx = 0; idx = 0;
Disposable d = posRx.getBarangByNamaBarang(tfPencarian.getText())
Disposable d = posRx.getBarangByKodeNamaArtikel(tfPencarian.getText())
.subscribeWith(getDaftarBarangObserver()); .subscribeWith(getDaftarBarangObserver());
compositeDisposable.add(d); compositeDisposable.add(d);
} else if ((RadioButton) tgTipe.getSelectedToggle() == rbNamaBarang
&& tfPencarian.getText().length() < 3) {
} else if (tfPencarian.getText().length() < 3) {
compositeDisposable.clear(); compositeDisposable.clear();
daftarTabelBarang.clear(); daftarTabelBarang.clear();
} }
@@ -305,16 +266,11 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
if (idx < daftarTabelBarang.size()) { if (idx < daftarTabelBarang.size()) {
TabelBarangCari tbc = daftarTabelBarang.get(idx); TabelBarangCari tbc = daftarTabelBarang.get(idx);
String idGabungan = daftarNb.get(0).getIdGabungan(); String idGabungan = daftarNb.get(0).getIdGabungan();
// System.out.println("Barang " + (i + 1) + ": " + daftarTabelBarang.get(i).getDataBarang().getIdGabungan());

if (tbc.getDataBarang() != null && tbc.getDataBarang().getIdGabungan().equals(idGabungan)) { if (tbc.getDataBarang() != null && tbc.getDataBarang().getIdGabungan().equals(idGabungan)) {
Barang b = tbc.getDataBarang(); Barang b = tbc.getDataBarang();
// System.out.println("### Ditemukan id gabungan sama dengan hasil api: " + b.getNamaBarang()
// + "(Urutan ke: " + (i + 1) + ") ###");
int j = 0; int j = 0;
for (NoBarang nb : daftarNb) { for (NoBarang nb : daftarNb) {
if (j == 0) { if (j == 0) {
// System.out.println("Nomor pertama: " + nb.getNomor());
b.setNomor(nb.getNomor()); b.setNomor(nb.getNomor());
tbc.setDataNoBarang(nb); tbc.setDataNoBarang(nb);
tbc.setUkur(Fucout.getText(nb.getNomor())); tbc.setUkur(Fucout.getText(nb.getNomor()));
@@ -322,7 +278,6 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In


tbvBarang.refresh(); tbvBarang.refresh();
} else { } else {
// System.out.println("Nomor " + (j + 1) + ": " + nb.getNomor());
TabelBarangCari tbcBaru = new TabelBarangCari( TabelBarangCari tbcBaru = new TabelBarangCari(
Fucout.getText(b.getKodeBarang()), Fucout.getText(b.getKodeBarang()),
Fucout.getText(b.getNamaBarang()), Fucout.getText(b.getNamaBarang()),
@@ -332,11 +287,9 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
tbcBaru.setDataNoBarang(nb); tbcBaru.setDataNoBarang(nb);
daftarTabelBarang.add(idx + j, tbcBaru); daftarTabelBarang.add(idx + j, tbcBaru);
} }
// System.out.println("Masuk di urutan: " + (i + j + 1));
j++; j++;
} }
idx += daftarNb.size(); idx += daftarNb.size();
// System.out.println("### SELESAI ###\n");
} }
} }
} }
@@ -366,7 +319,7 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
} }
}; };
} }
Observer<Barang> getTambahBarangObserver = new Observer<>() { Observer<Barang> getTambahBarangObserver = new Observer<>() {
@Override @Override
public void onSubscribe(Disposable dspsbl) { public void onSubscribe(Disposable dspsbl) {


+ 11
- 13
src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java Dosyayı Görüntüle

@@ -68,6 +68,16 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia
"Retur" "Retur"
); );
cbxPilihNota.getSelectionModel().select(0); cbxPilihNota.getSelectionModel().select(0);
tgTipe.selectedToggleProperty().addListener(((observable, oldValue, newValue) -> {
if (newValue.equals(rbBaru)) {
cbxPilihNota.setDisable(false);
tfAmbilDariCheckout.setDisable(true);
} else if (newValue.equals(rbAmbilDariCheckout)) {
cbxPilihNota.setDisable(true);
tfAmbilDariCheckout.setDisable(false);
tfAmbilDariCheckout.requestFocus();
}
}));
} }


public DialogTambahNotaController() { public DialogTambahNotaController() {
@@ -77,7 +87,7 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia


FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogTambahNota.fxml")); FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogTambahNota.fxml"));
loader.setController(this); loader.setController(this);
Parent root = loader.load(); Parent root = loader.load();
getDialogPane().setContent(root); getDialogPane().setContent(root);


@@ -151,16 +161,4 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia
} }
} }


@FXML
void rbNotaBaruOnAction(ActionEvent event) {
cbxPilihNota.setDisable(false);
tfAmbilDariCheckout.setDisable(true);
}

@FXML
void rbAmbilDariCheckoutOnAction(ActionEvent event) {
cbxPilihNota.setDisable(true);
tfAmbilDariCheckout.setDisable(false);
tfAmbilDariCheckout.requestFocus();
}
} }

+ 2
- 11
src/main/resources/fxml/DialogCariBarang.fxml Dosyayı Görüntüle

@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>


<?import javafx.scene.control.Label?> <?import javafx.scene.control.Label?>
<?import javafx.scene.control.RadioButton?>
<?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.ToggleGroup?>
<?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>


@@ -16,16 +14,9 @@
<Font size="16.0" /> <Font size="16.0" />
</font> </font>
</Label> </Label>
<TextField fx:id="tfPencarian" layoutX="14.0" layoutY="56.0" onKeyReleased="#tfPencarianOnKeyReleased" promptText="Input Kode Barang / Nama Barang" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="46.0" />
<TextField fx:id="tfPencarian" layoutX="14.0" layoutY="56.0" onKeyReleased="#tfPencarianOnKeyReleased" promptText="Input Kode Barang / Nama Barang / Artikel" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="46.0" />
<Label layoutX="14.0" layoutY="39.0" text="Pencarian" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="29.0" /> <Label layoutX="14.0" layoutY="39.0" text="Pencarian" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="29.0" />
<Label layoutX="4.0" layoutY="76.0" text="Cari Berdasarkan :" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="76.0" />
<RadioButton fx:id="rbKodeBarang" layoutX="3.0" layoutY="93.0" mnemonicParsing="false" text="Kode Barang" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="93.0">
<toggleGroup>
<ToggleGroup fx:id="tgTipe" />
</toggleGroup>
</RadioButton>
<RadioButton fx:id="rbNamaBarang" layoutX="103.0" layoutY="93.0" mnemonicParsing="false" selected="true" text="Nama Barang" toggleGroup="$tgTipe" AnchorPane.leftAnchor="103.0" AnchorPane.topAnchor="93.0" />
<TableView fx:id="tbvBarang" layoutX="14.0" layoutY="117.0" onKeyPressed="#tbvBarangOnKeyPressed" onMouseClicked="#tbvBarangOnMouseClicked" prefHeight="338.0" prefWidth="500.0" AnchorPane.bottomAnchor="-5.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="117.0">
<TableView fx:id="tbvBarang" layoutX="14.0" layoutY="77.0" onKeyPressed="#tbvBarangOnKeyPressed" onMouseClicked="#tbvBarangOnMouseClicked" prefHeight="378.0" prefWidth="500.0" AnchorPane.bottomAnchor="-5.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="76.0">
<columns> <columns>
<TableColumn fx:id="tcNo" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" /> <TableColumn fx:id="tcNo" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
<TableColumn fx:id="tcKode" prefWidth="75.0" text="Kode" /> <TableColumn fx:id="tcKode" prefWidth="75.0" text="Kode" />


+ 2
- 2
src/main/resources/fxml/DialogTambahNota.fxml Dosyayı Görüntüle

@@ -15,11 +15,11 @@
<Font size="16.0" /> <Font size="16.0" />
</font> </font>
</Label> </Label>
<RadioButton fx:id="rbBaru" layoutX="4.0" layoutY="30.0" mnemonicParsing="false" onAction="#rbNotaBaruOnAction" selected="true" text="Baru" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="30.0">
<RadioButton fx:id="rbBaru" layoutX="4.0" layoutY="30.0" mnemonicParsing="false" selected="true" text="Baru" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="30.0">
<toggleGroup> <toggleGroup>
<ToggleGroup fx:id="tgTipe" /> <ToggleGroup fx:id="tgTipe" />
</toggleGroup></RadioButton> </toggleGroup></RadioButton>
<RadioButton fx:id="rbAmbilDariCheckout" layoutX="4.0" layoutY="90.0" mnemonicParsing="false" onAction="#rbAmbilDariCheckoutOnAction" text="Ambil dari checkout" toggleGroup="$tgTipe" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="90.0" />
<RadioButton fx:id="rbAmbilDariCheckout" layoutX="4.0" layoutY="90.0" mnemonicParsing="false" text="Ambil dari checkout" toggleGroup="$tgTipe" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="90.0" />
<ComboBox fx:id="cbxPilihNota" layoutX="4.0" layoutY="52.0" prefWidth="150.0" promptText="Pilih nota" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="52.0" /> <ComboBox fx:id="cbxPilihNota" layoutX="4.0" layoutY="52.0" prefWidth="150.0" promptText="Pilih nota" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="52.0" />
<TextField fx:id="tfAmbilDariCheckout" disable="true" layoutX="4.0" layoutY="112.0" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="112.0" /> <TextField fx:id="tfAmbilDariCheckout" disable="true" layoutX="4.0" layoutY="112.0" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="112.0" />
</children> </children>


Yükleniyor…
İptal
Kaydet