diff --git a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java index 5c210ec..fa06798 100644 --- a/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java +++ b/src/main/java/id/amigogroup/posterminal/pencarian/DialogCariNotaTundaController.java @@ -5,18 +5,38 @@ */ package id.amigogroup.posterminal.pencarian; +import id.amigogroup.posterminal.api.AmigoPosRx; +import id.amigogroup.posterminal.model.MNotaTunai; +import id.amigogroup.posterminal.model.Pagination; +import id.amigogroup.posterminal.transaksi.TabelBarangTunai; +import id.amigogroup.posterminal.util.AlertUtil; +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; import java.io.IOException; +import java.net.HttpURLConnection; import java.net.URL; import java.util.ResourceBundle; import java.util.logging.Level; import java.util.logging.Logger; +import javafx.beans.property.ReadOnlyObjectWrapper; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Parent; +import javafx.scene.control.Alert; import javafx.scene.control.ButtonBar.ButtonData; import javafx.scene.control.ButtonType; +import javafx.scene.control.ComboBox; import javafx.scene.control.Dialog; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.input.KeyEvent; +import javafx.scene.layout.AnchorPane; import javafx.stage.Window; +import retrofit2.HttpException; /** * FXML Controller class @@ -24,6 +44,37 @@ import javafx.stage.Window; * @author ronal */ public class DialogCariNotaTundaController extends Dialog implements Initializable { + + @FXML + AnchorPane apContent; + @FXML + private ComboBox cbxCariNotaTunda; + @FXML + private TableView tbvBarangTunda; + @FXML + private TableColumn tcNo; + @FXML + private TableColumn tcKode; + @FXML + private TableColumn tcNama; + @FXML + private TableColumn tcUkur; + @FXML + private TableColumn tcJml; + @FXML + private TableColumn tcHarga; + @FXML + private TableColumn tcDisc1; + @FXML + private TableColumn tcDisc2; + @FXML + private TableColumn tcSubTotal; + @FXML + private TableColumn tcPromo; + @FXML + private TableColumn tcPramuniaga; + final ObservableList daftarTabelBarangTunai = FXCollections.observableArrayList(); + AmigoPosRx posRx = new AmigoPosRx(); /** * Initializes the controller class. @@ -31,7 +82,9 @@ public class DialogCariNotaTundaController extends Dialog implements Ini @Override public void initialize(URL url, ResourceBundle rb) { getDialogPane().getButtonTypes().add(new ButtonType("Tutup", ButtonData.CANCEL_CLOSE)); - } +// + } + public DialogCariNotaTundaController(/*FormPresensiController parent*/) { try { @@ -44,7 +97,7 @@ public class DialogCariNotaTundaController extends Dialog implements Ini Parent root = loader.load(); getDialogPane().setContent(root); setTitle("Cari Nota Tunda"); - + posRx.getMNotaTunaiByStatus("T", 25).subscribe(getNotaTunaiTundaObserver); // getDialogPane().getButtonTypes().add(ButtonType.CANCEL); // setResultConverter(buttonType -> { // return str; @@ -54,4 +107,38 @@ public class DialogCariNotaTundaController extends Dialog implements Ini .getName()).log(Level.SEVERE, null, e); } } + + + public Observer> getNotaTunaiTundaObserver = new Observer>() { + @Override + public void onSubscribe(Disposable dspsbl) { + } + + @Override + public void onNext(Pagination daftarMNotaTunai) { + for (MNotaTunai mNotaTunai : daftarMNotaTunai.getData()){ + cbxCariNotaTunda.getItems().add(mNotaTunai.getNoNota()); + } + } + + @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, + "Nota Tunda Tidak Ditemukan"); + alert.initOwner(apContent.getScene().getWindow()); + alert.show(); + } + } else { + AmigoPosRx.handleGenericError(error, apContent.getScene().getWindow()); + } + } + + @Override + public void onComplete() { + } + }; }