Fungsi mengambil konversi poin dari server

pull/15/head
Ronaldo Christnawan 6 years ago
parent 2dbf736d71
commit cfd42014e9

@ -1,6 +1,7 @@
package id.amigogroup.posterminal;
import id.amigogroup.posterminal.api.AmigoPosRx;
import id.amigogroup.posterminal.model.KonversiPoin;
import id.amigogroup.posterminal.model.Pelanggan;
import id.amigogroup.posterminal.pencarian.DialogCariBarangController;
import id.amigogroup.posterminal.pencarian.DialogCariNotaTundaController;
@ -99,6 +100,9 @@ public class FormUtamaController implements Initializable {
if (SystemValue.karyawanLogin != null) {
lblNamaLogin.setText(Fucout.getTextColon(SystemValue.karyawanLogin.getNama()));
}
if (SystemValue.konversiPoin == null) {
posRx.getNilaiKonversiPoin().subscribe(getNilaiKonversiPoin);
}
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 {
private Button btnTunai;

@ -6,6 +6,7 @@
package id.amigogroup.posterminal;
import id.amigogroup.posterminal.model.Karyawan;
import id.amigogroup.posterminal.model.KonversiPoin;
import id.amigogroup.posterminal.model.Pelanggan;
/**
@ -17,4 +18,6 @@ public class SystemValue {
public static Pelanggan member = null;
public static Karyawan karyawanLogin = null;
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.DNotaTunai;
import id.amigogroup.posterminal.model.Karyawan;
import id.amigogroup.posterminal.model.KonversiPoin;
import id.amigogroup.posterminal.model.Pagination;
import id.amigogroup.posterminal.model.MNotaRetur;
import id.amigogroup.posterminal.model.MNotaTunai;
@ -136,6 +137,11 @@ public class AmigoPosRx {
.subscribeOn(Schedulers.io());
}
public Observable<KonversiPoin> getNilaiKonversiPoin(){
return UtilsApi.getServiceApiPelanggan().getNilaiKonversiPoin()
.subscribeOn(Schedulers.io());
}
public static void handleGenericError(Throwable error, Window window) {
if (error instanceof SocketException || error instanceof UnknownHostException
|| error instanceof SocketTimeoutException) {

@ -5,6 +5,7 @@
*/
package id.amigogroup.posterminal.api;
import id.amigogroup.posterminal.model.KonversiPoin;
import id.amigogroup.posterminal.model.Pagination;
import id.amigogroup.posterminal.model.Pelanggan;
import io.reactivex.Observable;
@ -28,4 +29,8 @@ public interface ServiceApiPelanggan {
@GET("pelanggans/no-kontak/{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;
@FXML
private Label lblPoin;
@FXML
private Label lblKonversiPoin;
private BayarInterface parent;
int poin = 0;
@ -39,6 +41,11 @@ public class FormBayarPoinController implements Initializable {
lblPoin.setText(Fucout.getTextColon(Fucout.formatRibuan(SystemValue.member.getPoin())));
poin = SystemValue.member.getPoin();
}
if (SystemValue.konversiPoin != null) {
lblKonversiPoin.setText("(1 poin = "
+ Fucout.formatRupiah(SystemValue.konversiPoin.getKonversiPoin())
+ ")");
}
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>
</GridPane>
<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>
</AnchorPane>

Loading…
Cancel
Save