auto print disabled

currently auto print disabled for QR
This commit is contained in:
MooN 2025-12-15 15:49:12 +06:30
parent 53a9d8ba1b
commit c697d6c3f9
10 changed files with 108 additions and 18 deletions

View File

@ -14,8 +14,8 @@ android {
applicationId "com.utsmm.kbz"
minSdk 24
targetSdk 33
versionCode 2
versionName "1.01"
versionCode 1
versionName "1.00"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -122,7 +122,8 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT);
sharedViewModel.setPrintStatus(PrintStatus.NOT_PRINT);
sharedViewModel.postPrintReceiptMsg("Print Receipt for Merchant?");
observePrintProcess();
@ -139,17 +140,20 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin
case FIRST_PRINT:
sharedViewModel.postPrintReceiptMsg("Printing Receipt for Merchant");
startPrintProcess(true);
sharedViewModel.postPrintReceiptMsg("Print Receipt for Customer?");
sharedViewModel.setVisibilityPrintReceiptButtons(0);
break;
case FIRST_PRINT_DONE:
sharedViewModel.postPrintReceiptMsg("Confirm Print Receipt for Customer");
if(sharedViewModel.isEcr.getValue() != null &&
sharedViewModel.isEcr.getValue() &&
SystemParamsOperation.getInstance().isAutoPrintCustomerCopy()) {
sharedViewModel.setVisibilityPrintReceiptButtons(8);
sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT);
} else {
sharedViewModel.setVisibilityPrintReceiptButtons(0);
}
sharedViewModel.postPrintReceiptMsg("Print Receipt for Customer?");
// sharedViewModel.postPrintReceiptMsg("Confirm Print Receipt for Customer");
// if(sharedViewModel.isEcr.getValue() != null &&
// sharedViewModel.isEcr.getValue() &&
// SystemParamsOperation.getInstance().isAutoPrintCustomerCopy()) {
// sharedViewModel.setVisibilityPrintReceiptButtons(8);
// sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT);
// } else {
// sharedViewModel.setVisibilityPrintReceiptButtons(0);
// }
break;
case SECOND_PRINT:
sharedViewModel.postPrintReceiptMsg("Printing Receipt for Customer");
@ -248,17 +252,33 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin
public class ClickEvent {
public void onConfirm() {
PrintStatus printStatus = sharedViewModel.getPrintStatus().getValue();
if(printStatus == PrintStatus.NOT_PRINT){
sharedViewModel.setVisibilityPrintReceiptButtons(8);
sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT);
}else if(printStatus == PrintStatus.FIRST_PRINT || printStatus == PrintStatus.FIRST_PRINT_DONE){
sharedViewModel.setVisibilityPrintReceiptButtons(8);
sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT);
}
// sharedViewModel.setVisibilityPrintReceiptButtons(8);
//
// sharedViewModel.setPrintStatus(PrintStatus.SECOND_PRINT);
}
public void onCancel() {
PrintStatus printStatus = sharedViewModel.getPrintStatus().getValue();
if(printStatus == PrintStatus.NOT_PRINT){
sharedViewModel.setPrintStatus(PrintStatus.FIRST_PRINT_DONE);
}else{
sharedViewModel.setVisibilityPrintReceiptButtons(8);
isCardInside();
}
}
}
private void alertPaperRoll(String title, String message) {

View File

@ -50,6 +50,8 @@ public class EReceiptUtil {
public EReceiptRequest generateQRReceipt(PayDetail payDetail, TransResultStatus status) {
String terminalIdForEreceipt = SystemParamsOperation.getInstance().getTerminalIdForEreceipt();
double realAmount = payDetail.getAmount() / 100.0;
DecimalFormat df = new DecimalFormat("0.00");
String amount = df.format(realAmount);
@ -67,6 +69,9 @@ public class EReceiptUtil {
request.setAppId(packageName);
request.setDE41(qrTerminalId);
request.setDE42(qrMerchantId);
request.setTerminalId(terminalIdForEreceipt);
request.setShortCode(qrMerchantId);
request.setInvoiceNumber(payDetail.getInvoiceNo());
request.setDE11(payDetail.getVoucherNo());

View File

@ -651,6 +651,8 @@ public class TMSSetupsImpl implements TMSSetups{
}
else if (TextUtils.equals(name, "certificate_password")) {
SystemParamsOperation.getInstance().setCertificatePassword(data);
}else if(TextUtils.equals(name, "terminalId")){
SystemParamsOperation.getInstance().setTerminalIdForEreceipt(data);
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,37 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.utsmm.kbz.uat",
"variantName": "uatRelease",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "1.00-uat",
"outputFile": "app-uat-release.apk"
}
],
"elementType": "File",
"baselineProfiles": [
{
"minApi": 28,
"maxApi": 30,
"baselineProfiles": [
"baselineProfiles/1/app-uat-release.dm"
]
},
{
"minApi": 31,
"maxApi": 2147483647,
"baselineProfiles": [
"baselineProfiles/0/app-uat-release.dm"
]
}
],
"minSdkVersionForDexing": 24
}

View File

@ -35,10 +35,14 @@ public class EReceiptRequest {
private String cardLabel;
private String batchNumber;
private String shortCode;
private String terminalId;
public EReceiptRequest() {}
// GETTERS
public String getTerminalId(){ return terminalId; }
public String getShortCode(){ return shortCode; }
public String getDE2() {
return DE2;
@ -154,6 +158,8 @@ public class EReceiptRequest {
this.batchNumber = batchNumber;
}
// SETTERS
public void setShortCode(String shortCode){ this.shortCode = shortCode; }
public void setTerminalId(String terminalId){ this.terminalId = terminalId; }
public void setDE3(String DE3) {
this.DE3 = DE3;
}

View File

@ -1654,4 +1654,15 @@ public class SystemParamsOperation {
SystemParamsSettings params = getSystemParamsSettings();
return params.getEreceiptAddress();
}
public void setTerminalIdForEreceipt(String data) {
SystemParamsSettings params = getSystemParamsSettings();
params.setTerminalIdForEreceipt(data);
saveSystemParamsSettings(params);
}
public String getTerminalIdForEreceipt(){
SystemParamsSettings params = getSystemParamsSettings();
return params.getTerminalIdForEreceipt();
}
}

View File

@ -44,8 +44,8 @@ public class SystemParamsSettings implements Serializable {
// private String tmsAddress = "http://128.199.170.203";
private String tmsAddress = "http://sirius-nest.utsmyanmar.com";
// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat
private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com";
// String baseUrl = "http://receipt-nest.utsmyanmar.com/"; //for uat
private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; //for on prime
// private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat
private String terminalCapability = "E0E8C8";
@ -249,6 +249,7 @@ public class SystemParamsSettings implements Serializable {
private String certFilePath = "";
private String certClientFilePath = "";
private String certificatePassword = "";
private String terminalIdForEreceipt = "";
public boolean isQrPartialRefundEnable(){
return qrPartialRefundEnable;
@ -1000,6 +1001,14 @@ public class SystemParamsSettings implements Serializable {
return certificatePassword;
}
public String getTerminalIdForEreceipt() {
return terminalIdForEreceipt;
}
public void setTerminalIdForEreceipt(String data) {
this.terminalIdForEreceipt = data;
}
/* // 流水号起始
private String serialNum = Configs.getInstance().SERIAL_NUM();
// 批次号起始