From c2ad2d17f49d5b7a9ed2094fce1716ee14023a07 Mon Sep 17 00:00:00 2001 From: linfso Date: Fri, 28 Jun 2024 13:33:17 +0800 Subject: [PATCH] md --- .../erp/emis/domain/enumtype/ScanType.java | 4 +- .../erp/emis/service/EmisBaseService.java | 10 ++- .../impl/EmisTmsScanRecordServiceImpl.java | 81 +++++++++++++++++++ 3 files changed, 91 insertions(+), 4 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java index a9b7eb35a..719a52fe3 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/enumtype/ScanType.java @@ -50,6 +50,8 @@ public enum ScanType { TRANSFER("80","转件"), TRANSFER_3RD("81","三方转件记录"), + PICKUP_SCAN("90","提货扫描"), + ISSUE("-1","问题件"), // ---------------- @@ -72,8 +74,6 @@ public enum ScanType { OTHER("999","其他"), - - // OVERSEA_IN("海外入库扫描"), // OVERSEA_OUT("海外出库扫描"), diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 90cda03f2..6e2570296 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -610,11 +610,18 @@ public class EmisBaseService { } // 签收扫描 else if(ScanType.SIGNED.opCode.equals(scanType)){ - content="签收 快件在【"+scanRecord.getScanSite()+"】,签收人["+scanRecord.getSignMan()+"]"; + content="已签收 快件在【"+scanRecord.getScanSite()+"】,签收人["+scanRecord.getSignMan()+"]"; if(isInner){ content=scanRecord.getScanSite()+","+scanRecord.getScanMan()+",签收,"+scanDateStr+","+content; } } + // 提货扫描 + else if(ScanType.PICKUP_SCAN.opCode.equals(scanType)){ + content="提货签收 快件在【"+scanRecord.getScanSite()+"】,提货人["+scanRecord.getSignMan()+"]"; + if(isInner){ + content=scanRecord.getScanSite()+","+scanRecord.getScanMan()+",提货签收,"+scanDateStr+","+content; + } + } // 留仓 else if(ScanType.HOLD.opCode.equals(scanType)){ content="留仓 快件在【"+scanRecord.getScanSite()+"】已留仓,原因:"+scanRecord.getRemark(); @@ -634,7 +641,6 @@ public class EmisBaseService { } } - content = "转三方快递 [" + transferCompanyName + ":" + transferBillCode + "]"; } 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 238fd9d51..4b024338a 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 @@ -1428,6 +1428,87 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm } } + // 提货扫描 + else if(ScanType.PICKUP_SCAN.opCode.equals(scanType)){ + // "pickMan": "提货人", +// "picUrl": "提货图片,逗号隔开", +// "remark": "提货备注", + String pickMan = MapUtils.getString(scanDataItem,"pickMan",null) ; + String dispatchOrSendManCode = MapUtils.getString(scanDataItem,"dispatchOrSendManCode",null) ; + String picUrl = MapUtils.getString(scanDataItem,"picUrl",null) ; + String remark = MapUtils.getString(scanDataItem,"remark",null) ; + + if(StringUtils.isEmpty(pickMan)) { + throw new EmisBizError(EmisBizErrorType.SCAN_PARAM_ERROR,"提货人必填"); + } + + emisTmsScanRecord.setSignMan(pickMan); + emisTmsScanRecord.setDispatchOrSendManCode(dispatchOrSendManCode); + emisTmsScanRecord.setSignDate(emisTmsScanRecord.getScanDate()); + emisTmsScanRecord.setPicUrl(picUrl); + + // 提货站点 + emisTmsScanRecord.setSignSite(getCurrentUser().getOwnerSiteName()); + emisTmsScanRecord.setSignSiteCode(getCurrentUser().getOwnerSiteCode()); + emisTmsScanRecord.setRemark(remark); + // 运单附件 提货图片信息 + if(!StringUtils.isEmpty(picUrl)) { + EmisWaybillAttachment emisWaybillAttachment = new EmisWaybillAttachment(); + emisWaybillAttachment.setBillCode(emisTmsScanRecord.getMainBillCode()); + emisWaybillAttachment.setAttachType(WaybillAttachType.SIGNED_PIC.typeCode); // 签收图片 + emisWaybillAttachment.setFileSiez(0); + emisWaybillAttachment.setFileDesc("提货图片"); + emisWaybillAttachment.setFileUrl(picUrl); + emisWaybillAttachment.setDataFrom(emisTmsScanRecord.getDataFrom()); + emisWaybillAttachmentMapper.insertEmisWaybillAttachment(emisWaybillAttachment); + + EmisTmsScanPicInfo emisTmsScanPicInfo = new EmisTmsScanPicInfo(); + emisTmsScanPicInfo.setBillCode(emisTmsScanRecord.getMainBillCode()); + emisTmsScanPicInfo.setPicType(scanType); + emisTmsScanPicInfo.setPicUrl(picUrl); + + emisTmsScanPicInfoMapper.insertEmisTmsScanPicInfo(emisTmsScanPicInfo); + } + + //主单签收状态更新 + if("0".equals(emisTmsScanRecord.getBlSubBill()) ) { + // 更新总运单签收记录 + updateSignStatus(emisTmsScanRecord.getMainBillCode(), + pickMan, + emisTmsScanRecord.getScanManCode(), + emisTmsScanRecord.getSignSiteCode(), + emisTmsScanRecord.getSignDate(), + emisTmsScanRecord.getPicUrl(), + dispatchOrSendManCode + ); + + changeWaybillCurrentSite(emisTmsScanRecord.getMainBillCode(), emisTmsScanRecord.getScanSiteCode()); + if ("1".equals(emisWaybill.getBlMessage())) { + //发送寄件短信 + String content = "尊敬的客户:您寄往${Nationalcity}的快递${name}已被签收,感谢您使用探路速运。"; + String nationalcity = emisWaybill.getReceiveCountryName() + "" + emisWaybill.getReceiveProvinceName(); + content = content.replace("${Nationalcity}", nationalcity); + content = content.replace("${name}", emisTmsScanRecord.getMainBillCode()); + + EmisSmsSendRecord emisSmsSendRecord = new EmisSmsSendRecord(); + emisSmsSendRecord.setBillCode(emisTmsScanRecord.getMainBillCode()); + emisSmsSendRecord.setSmsType("2"); // 提货短信 + emisSmsSendRecord.setPhone(emisWaybill.getSendMobile()); + emisSmsSendRecord.setContent(content); + emisSmsSendRecord.setSendSiteCode(emisTmsScanRecord.getScanSiteCode()); + emisSmsSendRecord.setSendSiteName(emisTmsScanRecord.getScanSite()); + emisSmsSendRecord.setSendManCode(emisTmsScanRecord.getScanManCode()); + emisSmsSendRecord.setSendManName(emisTmsScanRecord.getScanMan()); + emisSmsSendRecord.setRemark("提货短信"); + + // 插入短信记录表 + insertBizSmsMessage(emisSmsSendRecord); + + } + } + + } + // 留仓 else if(ScanType.HOLD.opCode.equals(scanType)){ // "billCode": "T001,T002,T002",