Merge branch 'production_2.2' into test

This commit is contained in:
moon 2026-05-25 14:20:39 +06:30
parent c3246b907a
commit 31705e6a9f
8 changed files with 92 additions and 16 deletions

View File

@ -160,8 +160,10 @@ public class MainActivity extends AppCompatActivity implements
}
private void initKey(){
SystemParamsOperation.getInstance().setTmsAddress("https://api-tms.kbzbank.com/sirius");
SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms.kbzbank.com/receipt");
// SystemParamsOperation.getInstance().setTmsAddress("https://api-tms.kbzbank.com/sirius");
// SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms.kbzbank.com/receipt");
SystemParamsOperation.getInstance().setTmsAddress("https://api-tms-uat.kbzbank.com:8443/sirius");
SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt");
PinPad pinPad = MyApplication.getInstance().deviceEngine.getPinPad();
byte[] encryptedPIK = SystemParamsOperation.getInstance().getPIK();

View File

@ -77,6 +77,10 @@ public class SettlementViewModel extends ViewModel {
public SingleLiveEvent<Integer> sale_count = new SingleLiveEvent<>();
public SingleLiveEvent<Long> sale_amount = new SingleLiveEvent<>();
public SingleLiveEvent<String> sale_breakdown = new SingleLiveEvent<>();
public SingleLiveEvent<Integer> void_count = new SingleLiveEvent<>();
public SingleLiveEvent<Long> void_amount = new SingleLiveEvent<>();
public SingleLiveEvent<String> void_breakdown = new SingleLiveEvent<>();
public SingleLiveEvent<Integer> pre_count = new SingleLiveEvent<>();
public SingleLiveEvent<Long> pre_amount = new SingleLiveEvent<>();

View File

@ -144,6 +144,7 @@
<!-- Tap Card -->
<!-- android:onClick="@{()->click.onClickTap()}"-->
<androidx.cardview.widget.CardView
android:onClick="@{()->click.onClickTap()}"
android:layout_width="0dp"
android:layout_height="96dp"
android:layout_marginEnd="8dp"

View File

@ -127,6 +127,63 @@
</LinearLayout>
<LinearLayout
android:layout_marginTop="19dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textColor="@color/black"
android:fontFamily="@font/rubik_regular"
android:text="@string/txt_subtitle_void"
android:textSize="16sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/black"
android:fontFamily="@font/rubik_regular"
android:text="@={settleViewModel.sale_count+``}"
tools:text="5"
android:textSize="16sp" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textColor="@color/black"
android:fontFamily="@font/rubik_regular"
android:text="@{POSUtil.getInstance().getDecimalAmountSeparatorFormat(settleViewModel.sale_amount)}"
tools:text="65.00"
android:textAlignment="textEnd"
android:textSize="16sp" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="@font/rubik_regular"
android:text="@{settleViewModel.sale_breakdown}"
android:textColor="@color/colorTextContent"
android:textSize="12sp"
tools:text="MMK 2 / 10,000.00 USD 1 / 25.00" />
</LinearLayout>
<FrameLayout
android:layout_marginTop="15dp"
android:layout_width="match_parent"

View File

@ -255,6 +255,7 @@
<string name="txt_title_count">Count</string>
<string name="txt_title_totals">Totals</string>
<string name="txt_subtitle_sale">Sale</string>
<string name="txt_subtitle_void">Void</string>
<string name="txt_subtitle_sale_completion">Sale Completion</string>
<string name="txt_subtitle_refund">Refund</string>
<string name="txt_subtitle_amount">Amount</string>

View File

@ -290,9 +290,9 @@ public abstract class BaseXPrint {
}
private void printSettlementCurrencySection(String currencyLabel, CurrencySettlementSummary summary) {
if (!summary.hasAnyValue()) {
return;
}
// if (!summary.hasAnyValue()) {
// return;
// }
boolean isDecimalEnabled = SystemParamsOperation.getInstance().getDecimalEnable();
int totalCount = summary.saleCount + summary.preAuthCompCount + summary.refundCount + summary.cashAdvanceCount;
@ -390,6 +390,13 @@ public abstract class BaseXPrint {
}
protected void printTransFooterForSettlement() {
String receiptFooter = SystemParamsOperation.getInstance().getReceiptFooter();
String finalVersion = SystemParamsOperation.getInstance().getFinalVersion();
printer.appendPrnStr("***** SETTLEMENT CONFIRM *****", fontNormal, AlignEnum.CENTER,false);
printer.appendPrnStr(receiptFooter, fontNormal, AlignEnum.CENTER,false);
}
protected void printTransDetail(PayDetail payDetail) {
@ -1600,10 +1607,10 @@ public abstract class BaseXPrint {
}else{
if(isSettlement && isDuelCurrency){
printer.appendPrnStr("MID :" + safe(SystemParamsOperation.getInstance().getMerchantId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID :" + safe(SystemParamsOperation.getInstance().getTerminalId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("MID :" + safe(SystemParamsOperation.getInstance().getThirdHostMerchantId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID :" + safe(SystemParamsOperation.getInstance().getThirdHostTerminalId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("MID :" + SystemParamsOperation.getInstance().getMerchantId(), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID :" + SystemParamsOperation.getInstance().getTerminalId(), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("MID :" + SystemParamsOperation.getInstance().getThirdHostMerchantId(), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID :" + SystemParamsOperation.getInstance().getThirdHostTerminalId(), fontNormal, AlignEnum.LEFT, false);
}else{
printer.appendPrnStr("MID :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
printer.appendPrnStr("TID :" + payDetail.getTerminalNo(), fontNormal, AlignEnum.LEFT,false);
@ -1739,16 +1746,17 @@ public abstract class BaseXPrint {
// ---------- PRIMARY HOST ----------
printer.appendPrnStr("PRIMARY HOST", fontNormal, AlignEnum.LEFT, true);
printer.appendPrnStr("Name : " + safe(sp.getHostName()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID : " + safe(sp.getTerminalId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("MID : " + safe(sp.getMerchantId()), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("Name : " + sp.getHostName(), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("TID : " + sp.getTerminalId(), fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("MID : " + sp.getMerchantId(), fontNormal, AlignEnum.LEFT, false);
String[] ipPort = splitIpAndPort(sp.getIpAddress());
printer.appendPrnStr("Primary IP : " + ipPort[0], fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("Primary Port : " + ipPort[1], fontNormal, AlignEnum.LEFT, false);
String[] secIpPort = splitIpAndPort(sp.getSecIpAddress());
printer.appendPrnStr("Secondary IP : " + secIpPort[0], fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("Secondary Port: " + secIpPort[1], fontNormal, AlignEnum.LEFT, false);
printer.appendPrnStr("Currency : " + normalizeHostCurrency(sp.getCurrencyType() == null ? "" : sp.getCurrencyType().toString()), fontNormal, AlignEnum.LEFT, false);
sp.getCurrencyType();
printer.appendPrnStr(sp.getCurrencyType().toString(), fontNormal, AlignEnum.LEFT, false);
dotBreak();
// ---------- SECONDARY HOST (optional) ----------
if (!TextUtils.isEmpty(sp.getSecHostName())) {

View File

@ -193,7 +193,8 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
printMerchantHeader();
printTransHeader(payDetail);
printTransDetailSettlement(payDetail);
printTransFooterSummary();
// printTransFooterSummary();
printTransFooterForSettlement();
emptyLine(1);
startPrintNex();

View File

@ -40,8 +40,10 @@ public class SystemParamsSettings implements Serializable {
private boolean checkExpSwitch = false;
private String tmsAddress = "https://api-tms.kbzbank.com/sirius";
private String ereceiptAddress = "https://api-tms.kbzbank.com/receipt";
// private String tmsAddress = "https://api-tms.kbzbank.com/sirius";
// private String ereceiptAddress = "https://api-tms.kbzbank.com/receipt";
private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius";
private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt";
private String binValues = "";
private String restrictedBinValues = "";