From 366e6ffdb0b058c2382695c4fe70cd42980a1fb3 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 4 Aug 2024 16:09:03 +0800 Subject: [PATCH] md --- .../impl/EmisTmsScanRecordServiceImpl.java | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) 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 c3601e79c..af5d49a43 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 @@ -506,6 +506,9 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm EmisTmsPack emisTmsPack=emisTmsPackMapper.selectEmisTmsPackByPackNo(scanBillCode); if(emisTmsPack!=null) { try { + + + // 合包发件扫描 if( scanType.equals(ScanType.DEPARTURE.opCode) || scanType.equals(ScanType.CLEARANCE.opCode) @@ -1148,6 +1151,24 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"下一站必填"); } + // 获取下一网点 + EmisSite preOrNextStation=getSiteByCode(preOrNextStationCode); + + // 重复扫描 + // 同站点,同动作,同一天不允许重复扫描 + int scanCnt = emisTmsScanRecordMapper.checkSiteScanUnique(packNo, scanType, getCurrentUser().getOwnerSiteCode()); + if (scanCnt > 0) { + // 返回原始数据返回 + ScanResultItem scanResultItem = new ScanResultItem(); + scanResultItem.setBillCode(packNo); + scanResultItem.getData().putAll(scanDataItem); + scanResultItem.setResult("fail"); + scanResultItem.setMessage("重复扫描"); + scanResultItem.setErrorCode(EmisBizErrorType.SCAN_REPEAT.errorCode); + itemList.add(scanResultItem); + return itemList; + } + // 获取合包内件 List listPackDtl=emisTmsPackDtlMapper.selectPackDtlListByPackNo(packNo); // 内件处理 @@ -1191,11 +1212,10 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm emisTmsScanRecord.setOrderSn(emisWaybill.getOrderSn()); emisTmsScanRecord.setWeight(emisWaybill.getBillWeight()); - // 获取下一网点 - EmisSite site=getSiteByCode(preOrNextStationCode); + emisTmsScanRecord.setPreOrNextStationCode(preOrNextStationCode); - emisTmsScanRecord.setPreOrNextStation(site.getSiteName()); - emisTmsScanRecord.setPreOrNextStationPhone(site.getPhone()); + emisTmsScanRecord.setPreOrNextStation(preOrNextStation.getSiteName()); + emisTmsScanRecord.setPreOrNextStationPhone(preOrNextStation.getPhone()); emisTmsScanRecord.setScanType(scanType); emisTmsScanRecord.setScanDate(scanDate); @@ -1227,6 +1247,27 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm emisTmsPack.setNextSiteCode(preOrNextStationCode); emisTmsPackMapper.updateEmisTmsPackByPackNo(emisTmsPack); + // 插入合包扫描记录 + EmisTmsScanRecord emisTmsScanRecord = new EmisTmsScanRecord(); + emisTmsScanRecord.setBillCode(packNo); + emisTmsScanRecord.setMainBillCode(packNo); + emisTmsScanRecord.setOrderSn(packNo); + emisTmsScanRecord.setWeight(emisTmsPack.getTotalWeight()); + + emisTmsScanRecord.setPreOrNextStationCode(preOrNextStationCode); + emisTmsScanRecord.setPreOrNextStation(preOrNextStation.getSiteName()); + emisTmsScanRecord.setPreOrNextStationPhone(preOrNextStation.getPhone()); + + emisTmsScanRecord.setScanType(scanType); + emisTmsScanRecord.setScanDate(scanDate); + emisTmsScanRecord.setBagNo(packNo); + + // 填充公共数据 + this.fillBillBaseData(emisTmsScanRecord); + + // 插入合包扫描记录 + addScanRecord(emisTmsScanRecord); + return itemList; }