e-receipt settlement
This commit is contained in:
parent
e613dfa246
commit
0c2ae391c3
@ -623,6 +623,10 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
||||
payDetail.setCardSettleData(CardSettleData.convertFromPayDetail(cardTransactionsList));
|
||||
}
|
||||
|
||||
if (qrTransactionsList != null && !qrTransactionsList.isEmpty()) {
|
||||
payDetail.setQrSettleData(QRSettleData.convertFromPayDetail(qrTransactionsList));
|
||||
}
|
||||
|
||||
sharedViewModel.payDetail.setValue(payDetail);
|
||||
|
||||
EReceiptRequest request = EReceiptUtil.getInstance().generateMPUReceipt(sharedViewModel.payDetail.getValue());
|
||||
|
||||
@ -11,6 +11,7 @@ import com.utsmyanmar.paylibs.model.PayDetail;
|
||||
import com.utsmyanmar.paylibs.model.QRSettleData;
|
||||
import com.utsmyanmar.paylibs.model.SettleData;
|
||||
import com.utsmyanmar.paylibs.system.BaseErrorCode;
|
||||
import com.utsmyanmar.paylibs.utils.LogUtil;
|
||||
import com.utsmyanmar.paylibs.utils.POSUtil;
|
||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||
@ -176,10 +177,12 @@ public class EReceiptUtil {
|
||||
String currentTimeStamp = new java.text.SimpleDateFormat("MMddHHmmss", java.util.Locale.getDefault())
|
||||
.format(new java.util.Date());
|
||||
EReceiptRequest request = new EReceiptRequest();
|
||||
String hostId = SystemParamsOperation.getInstance().getHostId();
|
||||
|
||||
request.setDE3(convertTransactionType(payDetail.getTransactionType()));
|
||||
request.setDE7(currentTimeStamp);
|
||||
request.setDE11(payDetail.getVoucherNo());
|
||||
request.setHostId(hostId);
|
||||
|
||||
if (payDetail.getTransactionType() == TransactionsType.SETTLEMENT.value) {
|
||||
SettleData settleData = payDetail.getSettleDataObj();
|
||||
@ -188,7 +191,6 @@ public class EReceiptUtil {
|
||||
|
||||
request.setDE4(getDecimalAmount(totalAmt));
|
||||
|
||||
|
||||
request.setDE63_01(settleData.getSaleCount() + "");
|
||||
request.setDE63_02(getDecimalAmount(settleData.getSaleAmount()));
|
||||
request.setDE63_03(settleData.getRefundCount() + "");
|
||||
@ -209,11 +211,33 @@ public class EReceiptUtil {
|
||||
request.setDE24(payDetail.getVoucherNo());
|
||||
request.setDE43(SystemParamsOperation.getInstance().getMerchantName());
|
||||
|
||||
request.setDE3("CST");
|
||||
|
||||
List<CardSettleData> cardSettleDataList = payDetail.getCardSettleData();
|
||||
if (cardSettleDataList != null && !cardSettleDataList.isEmpty()) {
|
||||
request.setCardTransactions(buildCardTransactions(cardSettleDataList));
|
||||
}
|
||||
|
||||
List<QRSettleData> qrSettleDataList = payDetail.getQrSettleData();
|
||||
if(qrSettleDataList != null && !qrSettleDataList.isEmpty()){
|
||||
request.setTransactions(buildTransactions(qrSettleDataList));
|
||||
|
||||
long qrRefundTotal = 0;
|
||||
long qrSaleTotal = 0;
|
||||
for (QRSettleData data : qrSettleDataList) {
|
||||
if (data.getTransactionType() == TransactionsType.MMQR_REFUND.value) {
|
||||
qrRefundTotal += data.getAmount();
|
||||
} else if (data.getTransactionType() == TransactionsType.MMQR.value) {
|
||||
qrSaleTotal += data.getAmount();
|
||||
}
|
||||
}
|
||||
request.setDE63_09(getDecimalAmount(qrRefundTotal));
|
||||
request.setDE63_10(getDecimalAmount(qrSaleTotal));
|
||||
}else{
|
||||
LogUtil.d("KMK", "QR settle data is null");
|
||||
request.setDE63_09(getDecimalAmount(0));
|
||||
request.setDE63_10(getDecimalAmount(0));
|
||||
}
|
||||
|
||||
} else {
|
||||
request.setDE2(POSUtil.getInstance().getCardNumMasking(payDetail.getCardNo()));
|
||||
@ -358,7 +382,7 @@ public class EReceiptUtil {
|
||||
);
|
||||
txn.setDate(pay.getDate()); // yyyyMMdd
|
||||
txn.setTime(pay.getTime()); // HHmmss
|
||||
txn.setAmount(amount);
|
||||
txn.setAmount(pay.getTransactionType() == TransactionsType.MMQR_REFUND.value ? "-" + amount : amount);
|
||||
|
||||
list.add(txn);
|
||||
}
|
||||
|
||||
@ -223,6 +223,7 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
|
||||
// PRIMARY HOST (Card #1)
|
||||
if (!cardHosts.isEmpty()) {
|
||||
SystemParamsOperation.getInstance().setHostId(cardHosts.get(0).getId());
|
||||
SiriusHost primaryCard = cardHosts.get(0);
|
||||
SystemParamsOperation.getInstance().setHostName(primaryCard.getName() == null ? "" : primaryCard.getName());
|
||||
SystemParamsOperation.getInstance().setTerminalId(primaryCard.getTid() == null ? "" : primaryCard.getTid());
|
||||
@ -233,7 +234,6 @@ public class TMSSetupsImpl implements TMSSetups{
|
||||
|
||||
String secondaryIp = primaryCard.getSecondaryIP();
|
||||
SystemParamsOperation.getInstance().setSecIpAddress(secondaryIp != null && secondaryIp.contains(":") ? secondaryIp.trim() : "");
|
||||
|
||||
if (!TextUtils.isEmpty(primaryCard.getCurrency())) {
|
||||
SystemParamsOperation.getInstance().setCurrencyType(currencyTextToCurrencyType(primaryCard.getCurrency()));
|
||||
}
|
||||
|
||||
@ -27,6 +27,8 @@ public class EReceiptRequest {
|
||||
private String DE63_06;
|
||||
private String DE63_07;
|
||||
private String DE63_08;
|
||||
private String DE63_09;
|
||||
private String DE63_10;
|
||||
private String serial;
|
||||
|
||||
private String appId;
|
||||
@ -286,6 +288,22 @@ public class EReceiptRequest {
|
||||
|
||||
public List<CardTransaction> getCardTransactions() { return cardTransactions; }
|
||||
public void setCardTransactions(List<CardTransaction> cardTransactions) { this.cardTransactions = cardTransactions; }
|
||||
|
||||
public String getDE63_09() {
|
||||
return DE63_09;
|
||||
}
|
||||
|
||||
public void setDE63_09(String DE63_09) {
|
||||
this.DE63_09 = DE63_09;
|
||||
}
|
||||
|
||||
public String getDE63_10() {
|
||||
return DE63_10;
|
||||
}
|
||||
|
||||
public void setDE63_10(String DE63_10) {
|
||||
this.DE63_10 = DE63_10;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1855,6 +1855,17 @@ public class SystemParamsOperation {
|
||||
return paramsSettings.getSecHostId();
|
||||
}
|
||||
|
||||
public String getHostId(){
|
||||
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||
return paramsSettings.getHostId();
|
||||
}
|
||||
|
||||
public void setHostId(String hostId){
|
||||
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||
paramsSettings.setHostId(hostId);
|
||||
saveSystemParamsSettings(paramsSettings);
|
||||
}
|
||||
|
||||
public String getMerchantAddress3() {
|
||||
SystemParamsSettings paramsSettings = getSystemParamsSettings();
|
||||
return paramsSettings.getMerchantAddress3();
|
||||
|
||||
@ -104,6 +104,7 @@ public class SystemParamsSettings implements Serializable {
|
||||
private String hostName = "";
|
||||
|
||||
private String secHostId = "";
|
||||
private String hostId = "";
|
||||
|
||||
private String secHostName = "";
|
||||
private String thirdHostName = "";
|
||||
@ -1205,6 +1206,14 @@ public class SystemParamsSettings implements Serializable {
|
||||
this.jcbTerminalCapability = jcbTerminalCapability;
|
||||
}
|
||||
|
||||
public String getHostId() {
|
||||
return hostId;
|
||||
}
|
||||
|
||||
public void setHostId(String hostId) {
|
||||
this.hostId = hostId;
|
||||
}
|
||||
|
||||
/* // 流水号起始
|
||||
private String serialNum = Configs.getInstance().SERIAL_NUM();
|
||||
// 批次号起始
|
||||
|
||||
Loading…
Reference in New Issue
Block a user