This commit is contained in:
linfso 2024-06-18 05:37:02 +08:00
parent 087d0bbc05
commit b840fec71c

View File

@ -141,7 +141,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
}
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem){
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem) throws EmisBizError {
List<ScanResultItem> itemList = new ArrayList<>();
String billCodeInStr = (String)scanDataItem.get("billCode");
@ -151,7 +151,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("billCode为空");
itemList.add(scanResultItem);
return itemList;
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号不能为空");
// return itemList;
}
// 开始检查数据
@ -176,7 +178,8 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("运单号不存在");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"扫描单号不能为空");
// continue;
}
// 已签收不允许扫描
@ -184,7 +187,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("已签收");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.EXISTS,"已签收,不允许扫描");
// continue;
}
@ -195,7 +200,8 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("重复扫描");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.EXISTS,"重复扫描");
// continue;
}
// 返回数据
@ -251,39 +257,35 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
* @param scanDataItem
* @return
*/
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem,String dataFrom){
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem,String dataFrom) throws EmisBizError {
List<ScanResultItem> itemList = new ArrayList<>();
String billCodeInStr = (String)scanDataItem.get("billCode");
String billCodeInStr = MapUtils.getString(scanDataItem,"billCode",null);
if(StringUtils.isEmpty(billCodeInStr)){
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCodeInStr);
scanResultItem.setResult("fail");
scanResultItem.setMessage("billCode为空");
itemList.add(scanResultItem);
return itemList;
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"扫描单号不能为空");
// return itemList;
}
// 开始检查数据
String[] billCodeArr = billCodeInStr.split(",");
if(scanDataItem.get("scanDate")==null){
String scanDateStr=MapUtils.getString(scanDataItem,"scanDate",null);
if(StringUtils.isEmpty(scanDateStr)){
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCodeInStr);
scanResultItem.setResult("fail");
scanResultItem.setMessage("scanDate为空");
itemList.add(scanResultItem);
return itemList;
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"扫描时间不能为空");
// return itemList;
}
String scanDateStr =(String)scanDataItem.get("scanDate");
Date scanDate = DateUtils.parseDate(scanDateStr);;
if(scanDate ==null){
scanDate = new Date();
}
for (String billCode:billCodeArr) {
// 返回结果 // 原始数据返回
ScanResultItem scanResultItem = new ScanResultItem();
scanResultItem.setBillCode(billCode);
@ -295,20 +297,17 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("运单号不存在");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS,"运单号不存在");
}
// 已签收不允许扫描
if("1".equals(emisWaybill.getBlSign())){
scanResultItem.setResult("fail");
scanResultItem.setMessage("已签收");
scanResultItem.setMessage("已签收,不允许再次签收");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.EXISTS,"已签收,不允许再扫描");
}
// 有签收记录不允许再
// 2.重复扫描
// 同站点,同动作,同一天不允许重复扫描
int scanCnt=emisTmsScanRecordMapper.checkSiteScanUnique(billCode,scanType,getCurrentUser().getOwnerSiteCode(),scanDate);
@ -316,7 +315,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
scanResultItem.setResult("fail");
scanResultItem.setMessage("重复扫描");
itemList.add(scanResultItem);
continue;
throw new EmisBizError(EmisBizErrorType.EXISTS,"重复扫描");
}
// 生成扫描记录并填充公共数据
@ -326,32 +325,20 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
emisTmsScanRecord.setScanDate(scanDate);
// 填充特殊数据
try {
this.fillScanDataByScanType(emisTmsScanRecord,scanType,scanDataItem);
// 返回数据
scanResultItem.getData().put("billWeight",emisWaybill.getBillWeight());
scanResultItem.getData().put("totalVolume",emisWaybill.getTotalVolume());
scanResultItem.getData().put("parcelQty",emisWaybill.getParcelQty());
emisTmsScanRecordMapper.insertEmisTmsScanRecord(emisTmsScanRecord);
// 修改运单状态
this.changeWaybillStatus(billCode,scanType);
scanResultItem.setResult("success");
scanResultItem.setMessage("操作成功");
itemList.add(scanResultItem);
} catch (EmisBizError emisBizError) {
emisBizError.printStackTrace();
scanResultItem.setResult("fail");
scanResultItem.setMessage(emisBizError.getMessage());
itemList.add(scanResultItem);
}
this.fillScanDataByScanType(emisTmsScanRecord,scanType,scanDataItem);
// 返回数据
scanResultItem.getData().put("billWeight",emisWaybill.getBillWeight());
scanResultItem.getData().put("totalVolume",emisWaybill.getTotalVolume());
scanResultItem.getData().put("parcelQty",emisWaybill.getParcelQty());
emisTmsScanRecordMapper.insertEmisTmsScanRecord(emisTmsScanRecord);
// 修改运单状态
this.changeWaybillStatus(billCode,scanType);
scanResultItem.setResult("success");
scanResultItem.setMessage("操作成功");
itemList.add(scanResultItem);
}
return itemList;