Explorar el Código

-Menghilangkan radio button di UI cari barang

-Bisa cari barang bukan berdasarkan nama dan kode lagi, tapi bisa sekaligus(nama,kode, art) dalam satu pecarian
pull/10/head
Josua Pascario hace 5 años
padre
commit
e066eb5173
Se han modificado 6 ficheros con 33 adiciones y 83 borrados
  1. +5
    -0
      src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java
  2. +9
    -6
      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 Ver fichero

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

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


+ 9
- 6
src/main/java/id/amigogroup/posterminal/api/ServiceApiBarang.java Ver fichero

@@ -23,16 +23,20 @@ import retrofit2.http.Path;
*/
public interface ServiceApiBarang {
//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
@GET("barangs/kode/{kode}")
Observable<Barang> getBarangByKodeBarang(@Path("kode") String kode);
//NO-BARANG
//Mengambil No Barang by Id Gabungan & Ukuran
@GET("no-barangs/id-gabungan/{idGabungan}/kolom-urut/nomor")
Observable<List<NoBarang>> getByIdGabunganSortNomor(
@Path("idGabungan") String idGabungan);
//Mengambil No Barang by Id Gabungan & Ukuran
@GET("no-barangs/id-gabungan/{idGabungan}/nomor/{nomor}")
Observable<NoBarang> getByIdGabunganNomor(
@@ -42,16 +46,16 @@ public interface ServiceApiBarang {
//Mengambil Barang Berdasarkan Nama Barang
@GET("barangs/nama/{namaBarang}")
Observable<Pagination<Barang>> getBarangByNamaBarang(@Path("namaBarang") String namaBarang);
//M-NOTA-TUNAI
//Mengambil Master Nota Tunai by No Nota
@GET("m-nota-tunai/no-nota/{noNota}")
Observable<MNotaTunai> getMNotaTunaiByNoNota(@Path("noNota") String noNota);
//Validasi Master Nota Tunai by No Nota
@GET("m-nota-tunai/no-nota/{noNota}/valid")
Observable<ResponseBody> validasiMNotaTunaiByNoNotaTanggal(@Path("noNota") String noNota);
//D-NOTA-TUNAI
//Mengambil Detail Nota Tunai by No Nota
@GET("d-nota-tunai/no-nota/{noNota}")
@@ -65,7 +69,6 @@ public interface ServiceApiBarang {
// //Mengambil Master Nota Bon by No Nota
// @GET("m-nota-bon/no-nota/{noNota}")
// Observable<MNotaTunai> getMNotaBonByNoNota(@Path("noNota") String noNota);
//M-NOTA-RETUR
//Mengambil Master Nota Retur by No Nota
@GET("m-nota-retur/no-nota/{noNota}")


+ 4
- 51
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariBarangController.java Ver fichero

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

@FXML
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();
daftarTabelBarang.clear();
idx = 0;
Disposable d = posRx.getBarangByNamaBarang(tfPencarian.getText())
Disposable d = posRx.getBarangByKodeNamaArtikel(tfPencarian.getText())
.subscribeWith(getDaftarBarangObserver());
compositeDisposable.add(d);
} else if ((RadioButton) tgTipe.getSelectedToggle() == rbNamaBarang
&& tfPencarian.getText().length() < 3) {
} else if (tfPencarian.getText().length() < 3) {
compositeDisposable.clear();
daftarTabelBarang.clear();
}
@@ -305,16 +266,11 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In
if (idx < daftarTabelBarang.size()) {
TabelBarangCari tbc = daftarTabelBarang.get(idx);
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)) {
Barang b = tbc.getDataBarang();
// System.out.println("### Ditemukan id gabungan sama dengan hasil api: " + b.getNamaBarang()
// + "(Urutan ke: " + (i + 1) + ") ###");
int j = 0;
for (NoBarang nb : daftarNb) {
if (j == 0) {
// System.out.println("Nomor pertama: " + nb.getNomor());
b.setNomor(nb.getNomor());
tbc.setDataNoBarang(nb);
tbc.setUkur(Fucout.getText(nb.getNomor()));
@@ -322,7 +278,6 @@ public class DialogCariBarangController extends Dialog<BarangFull> implements In

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


+ 11
- 13
src/main/java/id/amigogroup/posterminal/transaksi/DialogTambahNotaController.java Ver fichero

@@ -68,6 +68,16 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia
"Retur"
);
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() {
@@ -77,7 +87,7 @@ public class DialogTambahNotaController extends Dialog<String> implements Initia

FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogTambahNota.fxml"));
loader.setController(this);
Parent root = loader.load();
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 Ver fichero

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

<?import javafx.scene.control.Label?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

@@ -16,16 +14,9 @@
<Font size="16.0" />
</font>
</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="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>
<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" />


+ 2
- 2
src/main/resources/fxml/DialogTambahNota.fxml Ver fichero

@@ -15,11 +15,11 @@
<Font size="16.0" />
</font>
</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 fx:id="tgTipe" />
</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" />
<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>


Cargando…
Cancelar
Guardar