Bladeren bron

Fungsi Validasi Nota Penjualan saat Retur

pull/10/head
Ronaldo Christnawan 5 jaren geleden
bovenliggende
commit
c494501c46
4 gewijzigde bestanden met toevoegingen van 56 en 12 verwijderingen
  1. +6
    -0
      src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java
  2. +5
    -0
      src/main/java/id/amigogroup/posterminal/api/ServiceApiBarang.java
  3. +1
    -1
      src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java
  4. +44
    -11
      src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java

+ 6
- 0
src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java Bestand weergeven

@@ -25,6 +25,7 @@ import java.util.logging.Logger;
import javafx.application.Platform;
import javafx.scene.control.Alert;
import javafx.stage.Window;
import okhttp3.ResponseBody;

/**
*
@@ -58,6 +59,11 @@ public class AmigoPosRx {
.subscribeOn(Schedulers.trampoline());
}

public Observable<ResponseBody> validasiMNotaTunaiByNoNotaTanggal(String noNota) {
return UtilsApi.getServiceApiBarang().validasiMNotaTunaiByNoNotaTanggal(noNota)
.subscribeOn(Schedulers.trampoline());
}

public Observable<List<DNotaTunai>> getDNotaTunaiByNoNota(String noNota) {
return UtilsApi.getServiceApiBarang().getDNotaTunaiByNoNota(noNota)
.subscribeOn(Schedulers.io());


+ 5
- 0
src/main/java/id/amigogroup/posterminal/api/ServiceApiBarang.java Bestand weergeven

@@ -13,6 +13,7 @@ import id.amigogroup.posterminal.model.NoBarang;
import id.amigogroup.posterminal.model.Pagination;
import io.reactivex.Observable;
import java.util.List;
import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Path;

@@ -47,6 +48,10 @@ public interface ServiceApiBarang {
@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}")


+ 1
- 1
src/main/java/id/amigogroup/posterminal/pencarian/DialogCariPelangganController.java Bestand weergeven

@@ -102,7 +102,7 @@ public class DialogCariPelangganController extends Dialog<Pelanggan> implements
tbvPelanggan.setItems(daftarTabelPelanggan);
}

public DialogCariPelangganController(/*FormPresensiController parent*/) {
public DialogCariPelangganController() {
try {
Window window = getDialogPane().getScene().getWindow();
window.setOnCloseRequest(event -> this.close());


+ 44
- 11
src/main/java/id/amigogroup/posterminal/transaksi/FormTransaksiReturController.java Bestand weergeven

@@ -5,6 +5,9 @@
*/
package id.amigogroup.posterminal.transaksi;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.Barang;
import id.amigogroup.posterminal.model.DNotaRetur;
@@ -105,7 +108,7 @@ public class FormTransaksiReturController implements Initializable {
@FXML
private Label lblTambahKeTabelRetur;
private TableColumn<TabelBarangTunai, Button> tcAction;
private final AmigoPosRx posRx = new AmigoPosRx();
private String noNota = "";
private final ObservableList<TabelBarangTunai> daftarTabelPenjualan = FXCollections.observableArrayList();
@@ -161,18 +164,18 @@ public class FormTransaksiReturController implements Initializable {
daftarTabelRetur.clear();

for (DNotaTunai dNotaTunai : daftarNotaTunai) {
//Button
Button btnAction = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON);
//Button
Button btnAction = ButtonUtility.generateButton(ButtonUtility.CLOSE_ICON);
btnAction.setOnAction((t) -> {
Alert alert = AlertUtil.getAlertDialogKonfirmasi(
AlertUtil.DIALOG_KONFIRMASI_MESSAGE,
"Yakin ingin menghapus barang?");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
AlertUtil.DIALOG_KONFIRMASI_MESSAGE,
"Yakin ingin menghapus barang?");
alert.initOwner(apMain.getScene().getWindow());
alert.show();
});
TextField fldPramuniaga = new TextField(dNotaTunai.getKodePram());
String namaBarang = "...";
if (AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
Barang barang = AmigoPosCache.getInstance().getDaftarBarang()
@@ -198,7 +201,7 @@ public class FormTransaksiReturController implements Initializable {

tbt.setData(dNotaTunai);
daftarTabelPenjualan.add(tbt);
if (!AmigoPosCache.getInstance().getDaftarBarang().containsKey(dNotaTunai.getKdBarang())) {
posRx.getBarangByKodeBarang(dNotaTunai.getKdBarang()).subscribe(getBarangObserver);
}
@@ -208,7 +211,37 @@ public class FormTransaksiReturController implements Initializable {
@FXML
void fldNotaPenjualanOnKeyPressed(KeyEvent event) {
if (event.getCode() == KeyCode.ENTER) {
posRx.getDNotaTunaiByNoNota(fldNotaPenjualan.getText()).subscribe(getDNotaTunaiObserver);
Disposable disposable = posRx.validasiMNotaTunaiByNoNotaTanggal(fldNotaPenjualan.getText())
.subscribe((response) -> {
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonNode = mapper.readTree(response.string());
ObjectNode node = jsonNode.deepCopy();
if (node.get("result") != null && node.get("result").asBoolean()) {
posRx.getDNotaTunaiByNoNota(fldNotaPenjualan.getText()).subscribe(getDNotaTunaiObserver);
} else {
Alert alert = AlertUtil.getAlertError(
"Nota Tidak Bisa Digunakan",
node.get("message").asText());
alert.initOwner(apMain.getScene().getWindow());
alert.show();
}
}, (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 {
AmigoPosRx.handleGenericError(error, apMain.getScene().getWindow());
}
});
}
}



Laden…
Annuleren
Opslaan