瀏覽代碼

Fungsi mengambil konversi poin dari server

pull/15/head
Ronaldo Christnawan 5 年之前
父節點
當前提交
cfd42014e9
共有 7 個檔案被更改,包括 143 行新增1 行删除
  1. +26
    -0
      src/main/java/id/amigogroup/posterminal/FormUtamaController.java
  2. +3
    -0
      src/main/java/id/amigogroup/posterminal/SystemValue.java
  3. +6
    -0
      src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java
  4. +5
    -0
      src/main/java/id/amigogroup/posterminal/api/ServiceApiPelanggan.java
  5. +7
    -0
      src/main/java/id/amigogroup/posterminal/bayar/FormBayarPoinController.java
  6. +95
    -0
      src/main/java/id/amigogroup/posterminal/model/KonversiPoin.java
  7. +1
    -1
      src/main/resources/fxml/FormBayarPoin.fxml

+ 26
- 0
src/main/java/id/amigogroup/posterminal/FormUtamaController.java 查看文件

@@ -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;


+ 3
- 0
src/main/java/id/amigogroup/posterminal/SystemValue.java 查看文件

@@ -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;
} }

+ 6
- 0
src/main/java/id/amigogroup/posterminal/api/AmigoPosRx.java 查看文件

@@ -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
- 0
src/main/java/id/amigogroup/posterminal/api/ServiceApiPelanggan.java 查看文件

@@ -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();
} }

+ 7
- 0
src/main/java/id/amigogroup/posterminal/bayar/FormBayarPoinController.java 查看文件

@@ -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);
} }




+ 95
- 0
src/main/java/id/amigogroup/posterminal/model/KonversiPoin.java 查看文件

@@ -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();
}

}

+ 1
- 1
src/main/resources/fxml/FormBayarPoin.fxml 查看文件

@@ -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>

Loading…
取消
儲存