Aldo-Mengambil_Konversi_Poin_dari_Server into master 5 years ago
| @@ -1,6 +1,7 @@ | |||||
| package id.amigogroup.posterminal; | package id.amigogroup.posterminal; | ||||
| import id.amigogroup.posterminal.api.AmigoPosRx; | import id.amigogroup.posterminal.api.AmigoPosRx; | ||||
| import id.amigogroup.posterminal.model.KonversiPoin; | |||||
| import id.amigogroup.posterminal.model.Pelanggan; | import id.amigogroup.posterminal.model.Pelanggan; | ||||
| import id.amigogroup.posterminal.pencarian.DialogCariBarangController; | import id.amigogroup.posterminal.pencarian.DialogCariBarangController; | ||||
| import id.amigogroup.posterminal.pencarian.DialogCariNotaTundaController; | import id.amigogroup.posterminal.pencarian.DialogCariNotaTundaController; | ||||
| @@ -99,6 +100,9 @@ public class FormUtamaController implements Initializable { | |||||
| if (SystemValue.karyawanLogin != null) { | if (SystemValue.karyawanLogin != null) { | ||||
| lblNamaLogin.setText(Fucout.getTextColon(SystemValue.karyawanLogin.getNama())); | lblNamaLogin.setText(Fucout.getTextColon(SystemValue.karyawanLogin.getNama())); | ||||
| } | } | ||||
| if (SystemValue.konversiPoin == null) { | |||||
| posRx.getNilaiKonversiPoin().subscribe(getNilaiKonversiPoin); | |||||
| } | |||||
| initShorcuts(); | initShorcuts(); | ||||
| } | } | ||||
| @@ -636,6 +640,28 @@ public class FormUtamaController implements Initializable { | |||||
| } | } | ||||
| }; | }; | ||||
| Observer<KonversiPoin> getNilaiKonversiPoin = new Observer<KonversiPoin>() { | |||||
| @Override | |||||
| public void onSubscribe(Disposable dspsbl) { | |||||
| } | |||||
| @Override | |||||
| public void onNext(KonversiPoin k) { | |||||
| if (k != null) { | |||||
| SystemValue.konversiPoin = k; | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public void onError(Throwable error) { | |||||
| Logger.getLogger(FormUtamaController.class.getName()).log(Level.SEVERE, null, error); | |||||
| } | |||||
| @Override | |||||
| public void onComplete() { | |||||
| } | |||||
| }; | |||||
| public class NotaContent { | public class NotaContent { | ||||
| private Button btnTunai; | private Button btnTunai; | ||||
| @@ -6,6 +6,7 @@ | |||||
| package id.amigogroup.posterminal; | package id.amigogroup.posterminal; | ||||
| import id.amigogroup.posterminal.model.Karyawan; | import id.amigogroup.posterminal.model.Karyawan; | ||||
| import id.amigogroup.posterminal.model.KonversiPoin; | |||||
| import id.amigogroup.posterminal.model.Pelanggan; | import id.amigogroup.posterminal.model.Pelanggan; | ||||
| /** | /** | ||||
| @@ -17,4 +18,6 @@ public class SystemValue { | |||||
| public static Pelanggan member = null; | public static Pelanggan member = null; | ||||
| public static Karyawan karyawanLogin = null; | public static Karyawan karyawanLogin = null; | ||||
| public static String idToko = "03"; | public static String idToko = "03"; | ||||
| public static KonversiPoin konversiPoin = null; | |||||
| } | } | ||||
| @@ -9,6 +9,7 @@ import id.amigogroup.posterminal.model.Barang; | |||||
| import id.amigogroup.posterminal.model.DNotaRetur; | import id.amigogroup.posterminal.model.DNotaRetur; | ||||
| import id.amigogroup.posterminal.model.DNotaTunai; | import id.amigogroup.posterminal.model.DNotaTunai; | ||||
| import id.amigogroup.posterminal.model.Karyawan; | import id.amigogroup.posterminal.model.Karyawan; | ||||
| import id.amigogroup.posterminal.model.KonversiPoin; | |||||
| import id.amigogroup.posterminal.model.Pagination; | import id.amigogroup.posterminal.model.Pagination; | ||||
| import id.amigogroup.posterminal.model.MNotaRetur; | import id.amigogroup.posterminal.model.MNotaRetur; | ||||
| import id.amigogroup.posterminal.model.MNotaTunai; | import id.amigogroup.posterminal.model.MNotaTunai; | ||||
| @@ -136,6 +137,11 @@ public class AmigoPosRx { | |||||
| .subscribeOn(Schedulers.io()); | .subscribeOn(Schedulers.io()); | ||||
| } | } | ||||
| public Observable<KonversiPoin> getNilaiKonversiPoin(){ | |||||
| return UtilsApi.getServiceApiPelanggan().getNilaiKonversiPoin() | |||||
| .subscribeOn(Schedulers.io()); | |||||
| } | |||||
| public static void handleGenericError(Throwable error, Window window) { | public static void handleGenericError(Throwable error, Window window) { | ||||
| if (error instanceof SocketException || error instanceof UnknownHostException | if (error instanceof SocketException || error instanceof UnknownHostException | ||||
| || error instanceof SocketTimeoutException) { | || error instanceof SocketTimeoutException) { | ||||
| @@ -5,6 +5,7 @@ | |||||
| */ | */ | ||||
| package id.amigogroup.posterminal.api; | package id.amigogroup.posterminal.api; | ||||
| import id.amigogroup.posterminal.model.KonversiPoin; | |||||
| import id.amigogroup.posterminal.model.Pagination; | import id.amigogroup.posterminal.model.Pagination; | ||||
| import id.amigogroup.posterminal.model.Pelanggan; | import id.amigogroup.posterminal.model.Pelanggan; | ||||
| import io.reactivex.Observable; | import io.reactivex.Observable; | ||||
| @@ -28,4 +29,8 @@ public interface ServiceApiPelanggan { | |||||
| @GET("pelanggans/no-kontak/{no}") | @GET("pelanggans/no-kontak/{no}") | ||||
| Observable<Pagination<Pelanggan>> getPelangganByNoTelpNoHp(@Path("no") String no); | Observable<Pagination<Pelanggan>> getPelangganByNoTelpNoHp(@Path("no") String no); | ||||
| //Ambil nilai konversi poin | |||||
| @GET("periode-poins") | |||||
| Observable<KonversiPoin> getNilaiKonversiPoin(); | |||||
| } | } | ||||
| @@ -26,6 +26,8 @@ public class FormBayarPoinController implements Initializable { | |||||
| private TextField fldPoin; | private TextField fldPoin; | ||||
| @FXML | @FXML | ||||
| private Label lblPoin; | private Label lblPoin; | ||||
| @FXML | |||||
| private Label lblKonversiPoin; | |||||
| private BayarInterface parent; | private BayarInterface parent; | ||||
| int poin = 0; | int poin = 0; | ||||
| @@ -39,6 +41,11 @@ public class FormBayarPoinController implements Initializable { | |||||
| lblPoin.setText(Fucout.getTextColon(Fucout.formatRibuan(SystemValue.member.getPoin()))); | lblPoin.setText(Fucout.getTextColon(Fucout.formatRibuan(SystemValue.member.getPoin()))); | ||||
| poin = SystemValue.member.getPoin(); | poin = SystemValue.member.getPoin(); | ||||
| } | } | ||||
| if (SystemValue.konversiPoin != null) { | |||||
| lblKonversiPoin.setText("(1 poin = " | |||||
| + Fucout.formatRupiah(SystemValue.konversiPoin.getKonversiPoin()) | |||||
| + ")"); | |||||
| } | |||||
| Fucout.forceFieldInteger(fldPoin); | Fucout.forceFieldInteger(fldPoin); | ||||
| } | } | ||||
| @@ -0,0 +1,95 @@ | |||||
| package id.amigogroup.posterminal.model; | |||||
| import com.fasterxml.jackson.annotation.JsonFormat; | |||||
| import com.fasterxml.jackson.annotation.JsonInclude; | |||||
| import com.fasterxml.jackson.annotation.JsonProperty; | |||||
| import com.fasterxml.jackson.annotation.JsonPropertyOrder; | |||||
| import java.util.Date; | |||||
| import org.apache.commons.lang.builder.EqualsBuilder; | |||||
| import org.apache.commons.lang.builder.HashCodeBuilder; | |||||
| import org.apache.commons.lang.builder.ToStringBuilder; | |||||
| @JsonInclude(JsonInclude.Include.NON_NULL) | |||||
| @JsonPropertyOrder({ | |||||
| "tgl_awal", | |||||
| "tgl_akhir", | |||||
| "konversi_poin", | |||||
| "rp_to_poin" | |||||
| }) | |||||
| public class KonversiPoin { | |||||
| @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "YYYY-MM-DD") | |||||
| @JsonProperty("tgl_awal") | |||||
| private Date tglAwal; | |||||
| @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "YYYY-MM-DD") | |||||
| @JsonProperty("tgl_akhir") | |||||
| private Date tglAkhir; | |||||
| @JsonProperty("konversi_poin") | |||||
| private int konversiPoin; | |||||
| @JsonProperty("rp_to_poin") | |||||
| private int rpToPoin; | |||||
| @JsonProperty("tgl_awal") | |||||
| public Date getTglAwal() { | |||||
| return tglAwal; | |||||
| } | |||||
| @JsonProperty("tgl_awal") | |||||
| public void setTglAwal(Date tglAwal) { | |||||
| this.tglAwal = tglAwal; | |||||
| } | |||||
| @JsonProperty("tgl_akhir") | |||||
| public Date getTglAkhir() { | |||||
| return tglAkhir; | |||||
| } | |||||
| @JsonProperty("tgl_akhir") | |||||
| public void setTglAkhir(Date tglAkhir) { | |||||
| this.tglAkhir = tglAkhir; | |||||
| } | |||||
| @JsonProperty("konversi_poin") | |||||
| public int getKonversiPoin() { | |||||
| return konversiPoin; | |||||
| } | |||||
| @JsonProperty("konversi_poin") | |||||
| public void setKonversiPoin(int konversiPoin) { | |||||
| this.konversiPoin = konversiPoin; | |||||
| } | |||||
| @JsonProperty("rp_to_poin") | |||||
| public int getRpToPoin() { | |||||
| return rpToPoin; | |||||
| } | |||||
| @JsonProperty("rp_to_poin") | |||||
| public void setRpToPoin(int rpToPoin) { | |||||
| this.rpToPoin = rpToPoin; | |||||
| } | |||||
| @Override | |||||
| public String toString() { | |||||
| return new ToStringBuilder(this).append("tglAwal", tglAwal).append("tglAkhir", tglAkhir).append("konversiPoin", konversiPoin).append("rpToPoin", rpToPoin).toString(); | |||||
| } | |||||
| @Override | |||||
| public int hashCode() { | |||||
| return new HashCodeBuilder().append(konversiPoin).append(rpToPoin).append(tglAwal).append(tglAkhir).toHashCode(); | |||||
| } | |||||
| @Override | |||||
| public boolean equals(Object other) { | |||||
| if (other == this) { | |||||
| return true; | |||||
| } | |||||
| if ((other instanceof KonversiPoin) == false) { | |||||
| return false; | |||||
| } | |||||
| KonversiPoin rhs = ((KonversiPoin) other); | |||||
| return new EqualsBuilder().append(konversiPoin, rhs.konversiPoin).append(rpToPoin, rhs.rpToPoin).append(tglAwal, rhs.tglAwal).append(tglAkhir, rhs.tglAkhir).isEquals(); | |||||
| } | |||||
| } | |||||
| @@ -63,6 +63,6 @@ | |||||
| </children> | </children> | ||||
| </GridPane> | </GridPane> | ||||
| <Separator layoutX="65.0" layoutY="13.0" prefWidth="200.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="5.0" /> | <Separator layoutX="65.0" layoutY="13.0" prefWidth="200.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="5.0" /> | ||||
| <Label layoutX="558.0" layoutY="18.0" text="(1 Poin = Rp500)" textAlignment="RIGHT" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="18.0" /> | |||||
| <Label fx:id="lblKonversiPoin" layoutX="558.0" layoutY="18.0" text="(1 Poin = ...)" textAlignment="RIGHT" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="18.0" /> | |||||
| </children> | </children> | ||||
| </AnchorPane> | </AnchorPane> | ||||