From 8225994be5d2868250293e8c585f9fcf27c7416d Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 2 Sep 2025 17:45:09 +0800 Subject: [PATCH 1/2] =?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 | 70 ++++++++++++++++++- .../erp/emis/mapper/EmisWaybillMapper.java | 8 +++ .../erp/emis/service/IEmisWaybillService.java | 14 +++- .../service/impl/EmisWaybillServiceImpl.java | 11 ++- .../resources/mapper/EmisWaybillMapper.xml | 31 ++++++++ 5 files changed, 127 insertions(+), 7 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 6a931c715..8eeb40ba8 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 @@ -1,11 +1,11 @@ -/** +/** * @Project: emis * @Title: EmisWaybillController.java * @author linfso * @date 2024-02-29 08:15:14 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

运单列表 控制器

*/ @@ -59,7 +59,7 @@ import com.xdadan.erp.common.enums.BusinessType; /** * 运单列表Controller - * + * * @author linfso * @date 2024-02-29 08:15:14 */ @@ -1443,4 +1443,68 @@ public class EmisWaybillController extends EmisBaseController // FileUtil.mkdir(fileUploadDir); } + @Log(title = "批量修改运单", businessType = BusinessType.UPDATE) + @PostMapping(value = "/batchResubmitProblemWaybills") + public AjaxResult batchResubmitProblemWaybills() { + try { + // 查询2025-08-01 00:00:00-2025-09-03 + // 23:59:59未签收,且在emis_waybill_problem_info表内的所有运单信息 + String beginDate = "2025-08-01 00:00:00"; + String endDate = "2025-09-03 23:59:59"; + + // 构建查询条件 + EmisWaybill queryWaybill = new EmisWaybill(); + queryWaybill.getParams().put("beginOrderDate", beginDate); + queryWaybill.getParams().put("endOrderDate", endDate); + // 未签收条件:bl_sign != '1' 或者 waybill_status != '50'(签收扫描) + queryWaybill.getParams().put("notSigned", "1"); + // 在问题表中的条件 + queryWaybill.getParams().put("inProblemTable", "1"); + + List waybillList = emisWaybillService.selectProblemWaybillsForResubmit(queryWaybill); + + if (waybillList == null || waybillList.isEmpty()) { + return AjaxResult.success("没有找到符合条件的运单"); + } + + JSONObject result = new JSONObject(); + List successList = new ArrayList<>(); + List failList = new ArrayList<>(); + + for (EmisWaybill waybill : waybillList) { + try { + // 调用realSubmitOrder方法重新下单 + emisWaybillService.realSubmitOrder(waybill); + + JSONObject successItem = new JSONObject(); + successItem.put("billCode", waybill.getBillCode()); + successItem.put("orderSn", waybill.getOrderSn()); + successItem.put("message", "重新下单成功"); + successList.add(successItem); + + } catch (Exception ex) { + JSONObject failItem = new JSONObject(); + failItem.put("billCode", waybill.getBillCode()); + failItem.put("orderSn", waybill.getOrderSn()); + failItem.put("message", ex.getMessage()); + failList.add(failItem); + + log.error("运单{}重新下单失败: {}", waybill.getBillCode(), ex.getMessage()); + } + } + + result.put("totalCount", waybillList.size()); + result.put("successCount", successList.size()); + result.put("failCount", failList.size()); + result.put("successList", successList); + result.put("failList", failList); + + return AjaxResult.success("批量重新下单完成", result); + + } catch (Exception ex) { + log.error("批量重新下单问题运单失败", ex); + return AjaxResult.error("批量重新下单失败: " + ex.getMessage()); + } + } + } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java index eb9a33f96..658b47ae1 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java @@ -347,4 +347,12 @@ public interface EmisWaybillMapper extends BaseMapper * @return */ List selectHistoryVirtualWaybill(@Param("offset")int offset, @Param("pageSize")int pageSize); + + /** + * 查询指定时间范围内未签收且在问题表中的运单信息 + * + * @param emisWaybill 查询条件 + * @return 运单列表 + */ + List selectProblemWaybillsForResubmit(EmisWaybill emisWaybill); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java index 95db1fb89..52ced9b71 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java @@ -1,10 +1,10 @@ - /** + /** * @Project: emis * @Title: EmisWaybillService.java * @author linfso * @date 2024-02-29 08:15:14 * @Copyright: ShangHai Duta 2022 All rights reserved. - * @version v1.0 + * @version v1.0 * @Description:

运单列表 服务类接口

*/ package com.xdadan.erp.emis.service; @@ -61,7 +61,7 @@ public interface IEmisWaybillService extends IDataAuditService /** * 查询运单列表列表 - * + * * @param emisWaybill 运单列表 * @return 运单列表集合 */ @@ -312,4 +312,12 @@ public interface IEmisWaybillService extends IDataAuditService * @param emisWaybills */ void handleInputVirtualWaybill(List emisWaybills); + + /** + * 查询指定时间范围内未签收且在问题表中的运单信息 + * + * @param emisWaybill 查询条件 + * @return 运单列表 + */ + List selectProblemWaybillsForResubmit(EmisWaybill emisWaybill); } 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 c9424c4d0..3b41339ae 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 @@ -6248,6 +6248,15 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } - + /** + * 查询指定时间范围内未签收且在问题表中的运单信息 + * + * @param emisWaybill 查询条件 + * @return 运单列表 + */ + @Override + public List selectProblemWaybillsForResubmit(EmisWaybill emisWaybill) { + return emisWaybillMapper.selectProblemWaybillsForResubmit(emisWaybill); + } } diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index effceae25..a93e0e9b5 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -3929,4 +3929,35 @@ limit 1 + + + From 5460b3b07197670f74f2da507c31fd878614e799 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 2 Sep 2025 18:12:52 +0800 Subject: [PATCH 2/2] =?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 | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 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 8eeb40ba8..40b31ba21 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 @@ -33,6 +33,7 @@ import com.xdadan.erp.emis.domain.enumtype.ScanType; 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.service.*; import com.xdadan.erp.emis.service.print.IXddTplPrint; import com.xdadan.erp.emis.service.print.cpcl.CvtTplToCpcl; @@ -101,6 +102,9 @@ public class EmisWaybillController extends EmisBaseController @Autowired RedissonService redissonService; + @Autowired + private EmisWaybillMapper emisWaybillMapper; + @GetMapping(value = "/checkWaybillIsExists") public AjaxResult checkWaybillIsExists(String billCode){ @@ -1443,12 +1447,13 @@ public class EmisWaybillController extends EmisBaseController // FileUtil.mkdir(fileUploadDir); } - @Log(title = "批量修改运单", businessType = BusinessType.UPDATE) + @Log(title = "批量更新预估到达时间", businessType = BusinessType.UPDATE) @PostMapping(value = "/batchResubmitProblemWaybills") public AjaxResult batchResubmitProblemWaybills() { try { // 查询2025-08-01 00:00:00-2025-09-03 // 23:59:59未签收,且在emis_waybill_problem_info表内的所有运单信息 + // 重新计算并更新预估到达时间 String beginDate = "2025-08-01 00:00:00"; String endDate = "2025-09-03 23:59:59"; @@ -1473,13 +1478,26 @@ public class EmisWaybillController extends EmisBaseController for (EmisWaybill waybill : waybillList) { try { - // 调用realSubmitOrder方法重新下单 - emisWaybillService.realSubmitOrder(waybill); + // 重新计算预估到达时间 + Date newEstimateDate = emisBaseService.getEstimateDate( + waybill.getSendDate(), + waybill.getProductType(), + waybill.getSendCountry(), + waybill.getReceiveCountry(), + 0); + + // 只更新estimateDate字段 + EmisWaybill updateWaybill = new EmisWaybill(); + updateWaybill.setId(waybill.getId()); + updateWaybill.setEstimateDate(newEstimateDate); + updateWaybill.preUpdate(); + + emisWaybillMapper.updateVirtualWaybill(updateWaybill); JSONObject successItem = new JSONObject(); successItem.put("billCode", waybill.getBillCode()); successItem.put("orderSn", waybill.getOrderSn()); - successItem.put("message", "重新下单成功"); + successItem.put("message", "预估到达时间更新成功"); successList.add(successItem); } catch (Exception ex) { @@ -1489,7 +1507,7 @@ public class EmisWaybillController extends EmisBaseController failItem.put("message", ex.getMessage()); failList.add(failItem); - log.error("运单{}重新下单失败: {}", waybill.getBillCode(), ex.getMessage()); + log.error("运单{}预估到达时间更新失败: {}", waybill.getBillCode(), ex.getMessage()); } } @@ -1499,11 +1517,11 @@ public class EmisWaybillController extends EmisBaseController result.put("successList", successList); result.put("failList", failList); - return AjaxResult.success("批量重新下单完成", result); + return AjaxResult.success("批量更新预估到达时间完成", result); } catch (Exception ex) { - log.error("批量重新下单问题运单失败", ex); - return AjaxResult.error("批量重新下单失败: " + ex.getMessage()); + log.error("批量更新预估到达时间失败", ex); + return AjaxResult.error("批量更新预估到达时间失败: " + ex.getMessage()); } }