This commit is contained in:
linfso 2024-06-19 19:30:29 +08:00
parent 8159530733
commit 0cf858f8a7
3 changed files with 12 additions and 22 deletions

View File

@ -79,7 +79,7 @@ public interface EmisTmsScanRecordMapper extends BaseMapper<EmisTmsScanRecord>
// and scan_site_code=#{scanSiteCode}
// and to_days(scan_date) = to_days(#{scanDate})
public int checkSiteScanUnique(@Param("billCode")String billCode, @Param("scanType")String scanType, @Param("scanSiteCode")String scanSiteCode, @Param("scanDate")Date scanDate);
public int checkSiteScanUnique(@Param("billCode")String billCode, @Param("scanType")String scanType, @Param("scanSiteCode")String scanSiteCode);
public List<EmisTmsScanRecord> selectTraceListByBillCode(String billCode);

View File

@ -152,18 +152,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
// 检查数据
// 扫描时间,扫描单号必填
String scanDateStr=MapUtils.getString(scanDataItem,"scanDate",null);
String billCodeInStr = MapUtils.getString(scanDataItem,"billCode",null);
if(StringUtils.isEmpty(scanDateStr)){
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCodeInStr);
scanResultItem.setResult("fail");
scanResultItem.setMessage("scanDate为空");
itemList.add(scanResultItem);
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"扫描时间必填");
}
if(StringUtils.isEmpty(billCodeInStr)){
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCodeInStr);
@ -173,14 +162,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号必填");
}
// 开始检查数据
billCodeInStr=WaybillHelper.formatQueryValue(billCodeInStr);
String[] billCodeArr = billCodeInStr.split(",");
Date scanDate = null;
if(scanDateStr.contains("Z")){
scanDateStr=scanDateStr.replace("T"," ");
scanDateStr=scanDateStr.substring(0,scanDateStr.lastIndexOf("."));
}
scanDate = DateUtils.parseDate(scanDateStr);
// 合包和拆包需单独处理
if(ScanType.CO_PACKING.opCode.equals(scanType)){
@ -194,6 +178,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
else {
for (String scanBillCode : billCodeArr) {
if(StringUtils.isEmpty(scanBillCode)){
continue;
}
// 原始数据返回
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(scanBillCode);
@ -224,7 +212,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
// 重复扫描
// 同站点,同动作,同一天不允许重复扫描
int scanCnt = emisTmsScanRecordMapper.checkSiteScanUnique(scanBillCode, scanType, getCurrentUser().getOwnerSiteCode(), scanDate);
int scanCnt = emisTmsScanRecordMapper.checkSiteScanUnique(scanBillCode, scanType, getCurrentUser().getOwnerSiteCode());
if (scanCnt > 0) {
scanResultItem.setResult("fail");
scanResultItem.setMessage("单号[" + scanBillCode + "]重复扫描");
@ -287,7 +275,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号必填");
}
billCodeInStr=WaybillHelper.formatQueryValue(billCodeInStr);
String[] billCodeArr = billCodeInStr.split(",");
Date scanDate = null;
if(scanDateStr.contains("Z")){
scanDateStr=scanDateStr.replace("T"," ");
@ -334,7 +324,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
// 重复扫描
// 同站点,同动作,同一天不允许重复扫描
int scanCnt = emisTmsScanRecordMapper.checkSiteScanUnique(scanBillCode, scanType, getCurrentUser().getOwnerSiteCode(), scanDate);
int scanCnt = emisTmsScanRecordMapper.checkSiteScanUnique(scanBillCode, scanType, getCurrentUser().getOwnerSiteCode());
if (scanCnt > 0) {
scanResultItem.setResult("fail");
scanResultItem.setMessage("单号[" + scanBillCode + "]重复扫描");

View File

@ -193,7 +193,7 @@
select count(1) from emis_tms_scan_record
where del_flag='0' and bill_code = #{billCode} and scan_type=#{scanType}
and scan_site_code=#{scanSiteCode}
and to_days(scan_date) = to_days(#{scanDate})
and to_days(create_time) = to_days(now())
limit 1
</select>