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