This commit is contained in:
linfso 2024-07-06 16:27:42 +08:00
parent 7b8322e74e
commit 4ff87e9cc1
4 changed files with 44 additions and 5 deletions

View File

@ -58,6 +58,14 @@ public interface EmisTmsPackDtlMapper extends BaseMapper<EmisTmsPackDtl>
*/
public int checkIsExists(String billCode);
/**
* 检查是否存在主单扫描记录
* @param mainBillCode
* @return
*/
public int checkIsExistsSubBillCode(String mainBillCode);
/**
* 新增
*

View File

@ -85,6 +85,9 @@ public interface EmisTmsScanRecordMapper extends BaseMapper<EmisTmsScanRecord>
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<EmisTmsScanRecord> selectTraceListByBillCode(String billCode);

View File

@ -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("缅甸只允许主单");

View File

@ -101,6 +101,13 @@
limit 1
</select>
<select id="checkIsExistsSubBillCode" parameterType="EmisTmsPackDtl" resultType="int">
select count(1) from emis_tms_pack_dtl
where del_flag='0'
and main_bill_code=#{mainBillCode} and main_bill_code!=bill_code
limit 1
</select>
<select id="selectEmisTmsPackDtlById" parameterType="Long" resultMap="EmisTmsPackDtlResult">
select id, pack_no, bill_code, main_bill_code, bl_sub_bill, scan_date, scan_status, pack_status, scan_man, scan_site, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_pack_dtl a