void by invoice

This commit is contained in:
moon 2026-06-21 21:20:00 +06:30
parent 1e29fd9fab
commit afd3d925e1
5 changed files with 53 additions and 4 deletions

View File

@ -13,6 +13,39 @@
</DropdownSelection> </DropdownSelection>
<DialogSelection /> <DialogSelection />
</SelectionState> </SelectionState>
<SelectionState runConfigName="unitTest">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-01-20T10:19:44.274945Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=0123456789ABCDEF" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="androidTest">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-01-20T10:19:44.274945Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=0123456789ABCDEF" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
<SelectionState runConfigName="main">
<option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2026-01-20T10:19:44.274945Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=0123456789ABCDEF" />
</handle>
</Target>
</DropdownSelection>
<DialogSelection />
</SelectionState>
</selectionStates> </selectionStates>
</component> </component>
</project> </project>

View File

@ -116,7 +116,14 @@ public class InputTraceNoFragment extends DataBindingFragment {
clearInputView(); clearInputView();
TransactionsType currentTransType = sharedViewModel.transactionsType.getValue();
if (currentTransType == TransactionsType.VOID
|| currentTransType == TransactionsType.TIP_ADJUSTMENT
|| currentTransType == TransactionsType.PRE_AUTH_COMPLETE_VOID) {
setToolBarTitleWithBackIcon(getResourceString(R.string.title_invoice_number));
} else {
setToolBarTitleWithBackIcon(getResourceString(R.string.title_trace_number)); setToolBarTitleWithBackIcon(getResourceString(R.string.title_trace_number));
}
if (sharedViewModel.isEcr.getValue() != null) { if (sharedViewModel.isEcr.getValue() != null) {
if (sharedViewModel.isEcr.getValue()) { if (sharedViewModel.isEcr.getValue()) {
@ -151,10 +158,9 @@ public class InputTraceNoFragment extends DataBindingFragment {
configTime = "23:00"; configTime = "23:00";
} }
LogUtil.d(TAG,"Input trace :"+traceNo); LogUtil.d(TAG,"Input invoice :"+traceNo);
// voidViewModel.getGenericVoidTransactions(transType,POSUtil.getInstance().formatTrace(traceNo),isEmv).observe(getViewLifecycleOwner(), new Observer<PayDetail>() { voidViewModel.getVoidTransByInvoice(transType, POSUtil.getInstance().formatTrace(traceNo)).observe(getViewLifecycleOwner(), new Observer<PayDetail>() {
voidViewModel.getVoidTrans(transType,POSUtil.getInstance().formatTrace(traceNo)).observe(getViewLifecycleOwner(), new Observer<PayDetail>() {
@Override @Override
public void onChanged(PayDetail payDetail) { public void onChanged(PayDetail payDetail) {

View File

@ -39,6 +39,10 @@ public class VoidViewModel extends ViewModel {
return repository.getVoidTransaction(transType,voucherNo); return repository.getVoidTransaction(transType,voucherNo);
} }
public LiveData<PayDetail> getVoidTransByInvoice(int transType, String invoiceNo) {
return repository.getVoidTransactionByInvoice(transType, invoiceNo);
}
public void observeVoidTrans(int transType) { public void observeVoidTrans(int transType) {
getVoidTransactions(transType).observeForever(new Observer<List<PayDetail>>() { getVoidTransactions(transType).observeForever(new Observer<List<PayDetail>>() {

View File

@ -120,6 +120,9 @@ public interface PayDetailDao {
@Query("SELECT * FROM paydetail WHERE isSettle = 0 AND transactionType IN(:transType) AND voucherNo IN(:voucherNo)") @Query("SELECT * FROM paydetail WHERE isSettle = 0 AND transactionType IN(:transType) AND voucherNo IN(:voucherNo)")
LiveData<PayDetail> getVoidTrans(int transType,String voucherNo); LiveData<PayDetail> getVoidTrans(int transType,String voucherNo);
@Query("SELECT * FROM paydetail WHERE isSettle = 0 AND transactionType IN(:transType) AND invoiceNo IN(:invoiceNo)")
LiveData<PayDetail> getVoidTransByInvoice(int transType, String invoiceNo);
// 5 = PRE_SALE // 5 = PRE_SALE
@Query("SELECT * FROM paydetail WHERE isCanceled = 0 AND transactionType = 5 AND voucherNo IN(:voucherNo) AND accountType != 'MPU'") @Query("SELECT * FROM paydetail WHERE isCanceled = 0 AND transactionType = 5 AND voucherNo IN(:voucherNo) AND accountType != 'MPU'")

View File

@ -185,7 +185,10 @@ public class Repository {
public LiveData<PayDetail> getVoidTransaction(int transType,String voucherNo) { public LiveData<PayDetail> getVoidTransaction(int transType,String voucherNo) {
return payDetailDao.getVoidTrans(transType,voucherNo); return payDetailDao.getVoidTrans(transType,voucherNo);
}
public LiveData<PayDetail> getVoidTransactionByInvoice(int transType, String invoiceNo) {
return payDetailDao.getVoidTransByInvoice(transType, invoiceNo);
} }