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 1e3ae0455..9f52ca1d3 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 @@ -141,7 +141,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm } - public List doScanCheck(String scanType,Map scanDataItem){ + public List doScanCheck(String scanType,Map scanDataItem) throws EmisBizError { List 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 doScan(String scanType,Map scanDataItem,String dataFrom){ + public List doScan(String scanType,Map scanDataItem,String dataFrom) throws EmisBizError { List 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;