From 4ff87e9cc162ec594e7525423ab9b3b88c853e5b Mon Sep 17 00:00:00 2001 From: linfso Date: Sat, 6 Jul 2024 16:27:42 +0800 Subject: [PATCH] md --- .../erp/emis/mapper/EmisTmsPackDtlMapper.java | 8 +++++ .../emis/mapper/EmisTmsScanRecordMapper.java | 3 ++ .../impl/EmisTmsScanRecordServiceImpl.java | 31 ++++++++++++++++--- .../resources/mapper/EmisTmsPackDtlMapper.xml | 7 +++++ 4 files changed, 44 insertions(+), 5 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsPackDtlMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsPackDtlMapper.java index ed271575a..f62f9972d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsPackDtlMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsPackDtlMapper.java @@ -58,6 +58,14 @@ public interface EmisTmsPackDtlMapper extends BaseMapper */ public int checkIsExists(String billCode); + + /** + * 检查是否存在主单扫描记录 + * @param mainBillCode + * @return + */ + public int checkIsExistsSubBillCode(String mainBillCode); + /** * 新增 * diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsScanRecordMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsScanRecordMapper.java index c55bc7e6f..4b3496ac5 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsScanRecordMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTmsScanRecordMapper.java @@ -85,6 +85,9 @@ public interface EmisTmsScanRecordMapper extends BaseMapper public int checkSiteScanUnique(@Param("billCode")String billCode, @Param("scanType")String scanType, @Param("scanSiteCode")String scanSiteCode); + // 站点扫描合包是否合法 +// public int checkSitePackScanUnique(@Param("billCode")String billCode, @Param("scanType")String scanType, @Param("scanSiteCode")String scanSiteCode); + public List selectTraceListByBillCode(String billCode); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java index 2c37d37de..ba013c3c3 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java @@ -837,12 +837,33 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm return itemList; } - // 如果是缅甸允许主单扫描,其他都不允许 - if("0095".equals(emisWaybill.getReceiveCountry()) ){ + // 如果是缅甸允许主单扫描,主单和子单只能二选一 + if( "0095".equals(emisWaybill.getReceiveCountry()) ){ + + // 如果是主单,判断是否有子单扫描 + if(scanBillCode.equals(mainBillCode)){ + int cnt=emisTmsPackDtlMapper.checkIsExistsSubBillCode(mainBillCode); + if(cnt>0){ + scanResultItem.setResult("fail"); + scanResultItem.setMessage("已有子单扫描,不允许扫描主单"); + scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode); + itemList.add(scanResultItem); + return itemList; + } + }else{ + // + int cnt=emisTmsPackDtlMapper.checkIsExists(mainBillCode); + if(cnt>0){ + scanResultItem.setResult("fail"); + scanResultItem.setMessage("已有主单扫描,不允许扫描子单"); + scanResultItem.setErrorCode(EmisBizErrorType.SCAN_NO_ALLOW.errorCode); + itemList.add(scanResultItem); + return itemList; + } + } + +// emisTmsPackDtlMapper.selectEmisTmsPackDtlByBillCode() // 缅甸不限制,但要判断,子单和主单只能存在一种单号 - emisTmsScanRecordMapper.checkSiteScanUnique() - - // if (!mainBillCode.equals(scanBillCode)) { // scanResultItem.setResult("fail"); // scanResultItem.setMessage("缅甸只允许主单"); diff --git a/emis-biz/src/main/resources/mapper/EmisTmsPackDtlMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsPackDtlMapper.xml index cd97d4882..f6fdc5282 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsPackDtlMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsPackDtlMapper.xml @@ -101,6 +101,13 @@ limit 1 + +