From 64b2bb2ae23029c6fdf4159cd6cd2161b5936cb0 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 3 Sep 2025 13:57:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?demand:=20tms-=E8=BF=90=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E6=96=B0=E5=A2=9E=E6=89=B9=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=BF=90=E5=8D=95=E6=8E=A5=E5=8F=A3-=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E4=BF=AE=E5=A4=8D=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=A2=84=E8=AE=A1=E9=80=81=E8=BE=BE=E6=97=B6=E9=97=B4=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E4=B8=8D=E5=87=86=E7=A1=AE=E7=9A=84=E8=BF=90=E5=8D=95?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../erp/web/emis/EmisWaybillController.java | 27 ++++++++++++-- .../mapper/EmisWaybillProblemInfoMapper.java | 36 ++++++++++++------- .../service/impl/EmisWaybillServiceImpl.java | 20 +++++++++-- .../mapper/EmisWaybillProblemInfoMapper.xml | 15 ++++++++ 4 files changed, 81 insertions(+), 17 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 40b31ba21..c4ee11fae 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -14,6 +14,7 @@ package com.xdadan.erp.web.emis; import java.io.*; import java.nio.charset.Charset; import java.util.*; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; @@ -34,6 +35,7 @@ import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.stat.ScanStatInfoDtl; import com.xdadan.erp.emis.domain.vo.*; import com.xdadan.erp.emis.mapper.EmisWaybillMapper; +import com.xdadan.erp.emis.mapper.EmisWaybillProblemInfoMapper; import com.xdadan.erp.emis.service.*; import com.xdadan.erp.emis.service.print.IXddTplPrint; import com.xdadan.erp.emis.service.print.cpcl.CvtTplToCpcl; @@ -105,6 +107,9 @@ public class EmisWaybillController extends EmisBaseController @Autowired private EmisWaybillMapper emisWaybillMapper; + @Autowired + private EmisWaybillProblemInfoMapper emisWaybillProblemInfoMapper; + @GetMapping(value = "/checkWaybillIsExists") public AjaxResult checkWaybillIsExists(String billCode){ @@ -1476,17 +1481,35 @@ public class EmisWaybillController extends EmisBaseController List successList = new ArrayList<>(); List failList = new ArrayList<>(); + // 批量查询所有运单的延迟天数 + List billCodes = waybillList.stream() + .map(EmisWaybill::getBillCode) + .collect(Collectors.toList()); + + List> delayDaysList = emisWaybillProblemInfoMapper + .selectWaybillTotalDelayDays(billCodes); + Map billCodeToDelayDaysMap = new HashMap<>(); + + for (Map delayInfo : delayDaysList) { + String billCode = (String) delayInfo.get("billCode"); + Integer totalDelayDays = ((Number) delayInfo.get("totalDelayDays")).intValue(); + billCodeToDelayDaysMap.put(billCode, totalDelayDays); + } + for (EmisWaybill waybill : waybillList) { try { + // 获取该运单的总延迟天数 + Integer otherAddDay = billCodeToDelayDaysMap.getOrDefault(waybill.getBillCode(), 0); + // 重新计算预估到达时间 Date newEstimateDate = emisBaseService.getEstimateDate( waybill.getSendDate(), waybill.getProductType(), waybill.getSendCountry(), waybill.getReceiveCountry(), - 0); + otherAddDay); - // 只更新estimateDate字段 + // 只更新estimateDate字段 EmisWaybill updateWaybill = new EmisWaybill(); updateWaybill.setId(waybill.getId()); updateWaybill.setEstimateDate(newEstimateDate); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillProblemInfoMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillProblemInfoMapper.java index b7850818f..b0c9f7ee3 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillProblemInfoMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillProblemInfoMapper.java @@ -1,16 +1,18 @@ -/** +/** * @Project: emis * @Title: EmisWaybillProblemInfoMapper.java * @author linfso * @date 2024-03-01 08:55:01 * @Copyright: ShangHai Doitinfo 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

问题件 Mapper 接口

* Warning : This file is generate by ai tools,don't edit!!! */ package com.xdadan.erp.emis.mapper; import java.util.List; +import java.util.Map; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xdadan.erp.emis.domain.EmisWaybillProblemInfo; import org.apache.ibatis.annotations.Param; @@ -26,7 +28,7 @@ public interface EmisWaybillProblemInfoMapper extends BaseMapper selectEmisWaybillProblemInfoList(EmisWaybillProblemInfo emisWaybillProblemInfo); /** - * 新增 - * + * 新增 + * * @param emisWaybillProblemInfo - * @return + * @return */ public int insertEmisWaybillProblemInfo(EmisWaybillProblemInfo emisWaybillProblemInfo); /** * 修改 - * - * @param emisWaybillProblemInfo - * @return + * + * @param emisWaybillProblemInfo + * @return */ public int updateEmisWaybillProblemInfo(EmisWaybillProblemInfo emisWaybillProblemInfo); /** * 删除 - * + * * @param id 主键 * @return 结果 */ @@ -75,7 +77,7 @@ public interface EmisWaybillProblemInfoMapper extends BaseMapper selectEmisWaybillProblemInfoByBillCodes(@Param("billCodes") List billCodes); + + /** + * 根据运单号列表统计每个运单的总延迟天数 + * + * @param billCodes 运单号列表 + * @return 运单号与总延迟天数的映射 + */ + List> selectWaybillTotalDelayDays(@Param("billCodes") List billCodes); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 3b41339ae..47f6c3d63 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -2707,11 +2707,27 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb + // 查询运单的延迟天数 + Integer otherAddDay = 0; + if (!StringUtils.isEmpty(emisWaybillSave.getBillCode())) { + List billCodes = Arrays.asList(emisWaybillSave.getBillCode()); + List> delayDaysList = emisWaybillProblemInfoMapper + .selectWaybillTotalDelayDays(billCodes); + if (!delayDaysList.isEmpty()) { + Map delayInfo = delayDaysList.get(0); + otherAddDay = ((Number) delayInfo.get("totalDelayDays")).intValue(); + } + } + // 开单当天不算时效 Date estDate = getEstimateDate( - emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(), + emisWaybillSave.getSendDate(), emisWaybillSave.getProductType(), emisWaybillSave.getSendCountry(), - emisWaybillSave.getReceiveCountry(),0); + emisWaybillSave.getReceiveCountry(), otherAddDay); + + // 预计到达时间 + log.info("预估到达时间==>" + DateUtils.dateTime(estDate)); + emisWaybillSave.setEstimateDate(estDate); // 预计到达时间 log.info("预估到达时间==>"+ DateUtils.dateTime(estDate)); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillProblemInfoMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillProblemInfoMapper.xml index 0dce8d299..a7f15c37e 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillProblemInfoMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillProblemInfoMapper.xml @@ -279,4 +279,19 @@ #{id} + + + \ No newline at end of file From 17a8d15a2b0c285730b9766582cb8978707daad9 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 3 Sep 2025 13:59:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?demand:=20tms-=E8=BF=90=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0=E9=A2=84?= =?UTF-8?q?=E4=BC=B0=E5=88=B0=E8=BE=BE=E6=97=B6=E9=97=B4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=97=B6=E9=97=B4=E5=A2=9E=E5=8A=A0=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E9=97=AE=E9=A2=98=E4=BB=B6=E9=A1=BA=E5=BB=B6=E5=A4=A9?= =?UTF-8?q?=E6=95=B0=E9=80=BB=E8=BE=91=20=20tms-=E8=BF=90=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E8=BF=90=E5=8D=95=E4=BF=AE=E6=94=B9/?= =?UTF-8?q?=E7=BD=91=E7=82=B9=E8=B4=B9=E7=94=A8=E7=94=B3=E8=AF=B7=E4=BC=9A?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E8=BF=90=E5=8D=95=E9=A2=84=E4=BC=B0=E5=88=B0?= =?UTF-8?q?=E8=BE=BE=E6=97=B6=E9=97=B4=E4=B8=8D=E5=87=86=E7=A1=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../main/java/com/xdadan/erp/web/emis/EmisWaybillController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index c4ee11fae..689a5519e 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -1531,6 +1531,7 @@ public class EmisWaybillController extends EmisBaseController failList.add(failItem); log.error("运单{}预估到达时间更新失败: {}", waybill.getBillCode(), ex.getMessage()); + } } From d843ba57f3718000287b040065e4dde7ae2e13ab Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 3 Sep 2025 14:43:29 +0800 Subject: [PATCH 3/3] =?UTF-8?q?demand:=20TMS=E7=B3=BB=E7=BB=9F=20-=20?= =?UTF-8?q?=E8=B4=B9=E7=94=A8=E7=A1=AE=E8=AE=A4=E7=AE=A1=E7=90=86=20-=20?= =?UTF-8?q?=E7=BD=91=E7=82=B9=E8=B4=B9=E7=94=A8=E7=94=B3=E8=AF=B7=20-=20?= =?UTF-8?q?=E6=80=BB=E9=83=A8=E8=B4=A6=E5=8F=B7=E6=94=AF=E6=8C=81=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=89=80=E6=9C=89=E7=BD=91=E7=82=B9=E7=99=BB=E8=AE=B0?= =?UTF-8?q?=E7=9A=84=E8=B4=B9=E7=94=A8=E7=94=B3=E8=AF=B7=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../web/emis/EmisWaybillAjustApplyController.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillAjustApplyController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillAjustApplyController.java index 859d9b958..48df0ccf3 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillAjustApplyController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillAjustApplyController.java @@ -1,11 +1,11 @@ -/** +/** * @Project: emis * @Title: EmisWaybillAjustApplyController.java * @author linfso * @date 2024-06-25 23:39:28 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

运单调整申请 控制器

*/ @@ -44,7 +44,7 @@ import com.xdadan.erp.emis.service.IEmisWaybillAjustApplyService; /** * 运单调整申请Controller - * + * * @author linfso * @date 2024-06-25 23:39:28 */ @@ -78,6 +78,9 @@ public class EmisWaybillAjustApplyController extends EmisBaseController } } + if("88888".equals(emisWaybillAjustApply.getApplySiteCode())){ + emisWaybillAjustApply.setApplySiteCode(null); + } List list = emisWaybillAjustApplyService.selectEmisWaybillAjustApplyList(emisWaybillAjustApply); return getDataTable(list); } @@ -85,8 +88,8 @@ public class EmisWaybillAjustApplyController extends EmisBaseController /** * 检查是否重复 - * - * @param emisWaybillAjustApply + * + * @param emisWaybillAjustApply * @return 数量 */ @PreAuthorize("@ss.hasPermi('emis:emisWaybillAjustApply:list')")