From 0e2e8ff9f82c3db183bfc6cbfc20832aee9cb653 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Fri, 22 Aug 2025 10:51:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?demand:=20=20tms=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E8=BF=90=E8=BE=93=E7=AE=A1=E7=90=86-=E6=BC=8F=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E8=AE=A2=E5=8D=95-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=8F=96=E6=B6=88=E7=A1=AE=E8=AE=A4=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../emis/EmisTmsSiteBatchMissController.java | 46 +++++++++++++++++++ .../erp/emis/mapper/EmisWaybillMapper.java | 34 ++++++++------ .../service/IEmisTmsSiteBatchMissService.java | 9 ++++ .../impl/EmisTmsSiteBatchMissServiceImpl.java | 22 +++++++++ .../mapper/EmisWaybillBatchStatusMapper.xml | 10 ++-- .../resources/mapper/EmisWaybillMapper.xml | 10 ++++ 6 files changed, 112 insertions(+), 19 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsSiteBatchMissController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsSiteBatchMissController.java index f033c1628..7c7b3ae64 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsSiteBatchMissController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsSiteBatchMissController.java @@ -172,4 +172,50 @@ public class EmisTmsSiteBatchMissController extends EmisBaseController { emisTmsSiteBatchMissService.confirmBatch(billCodes, remark, req.getBlManual()); return AjaxResult.success("确认成功"); } + + /** + * 批量取消确认组批次:参数通过 params.billCodeList 传入 + */ + @PreAuthorize("@ss.hasPermi('emis:emisTmsSiteBatchMiss:cancelConfirm')") + @Log(title = "TMS漏组批次信息", businessType = BusinessType.UPDATE) + @PostMapping("/cancelConfirmBatch") + public AjaxResult cancelConfirmBatch(@RequestBody EmisTmsSiteBatchMiss req) throws EmisBizError { + Object listObj = req.getParams() != null ? req.getParams().get("billCodeList") : null; + if (listObj == null) { + return AjaxResult.error("参数缺失:billCodeList"); + } + List billCodes; + if (listObj instanceof List) { + List tmp = (List) listObj; + billCodes = new java.util.ArrayList<>(); + for (Object o : tmp) { + if (o != null) { + String s = String.valueOf(o).trim(); + if (!s.isEmpty()) { + billCodes.add(s); + } + } + } + } else if (listObj instanceof String) { + String str = ((String) listObj).trim(); + if (str.isEmpty()) { + billCodes = java.util.Collections.emptyList(); + } else { + String[] arr = str.split(","); + billCodes = new java.util.ArrayList<>(arr.length); + for (String a : arr) { + if (a != null) { + String s = a.trim(); + if (!s.isEmpty()) { + billCodes.add(s); + } + } + } + } + } else { + return AjaxResult.error("参数格式错误:billCodeList"); + } + emisTmsSiteBatchMissService.cancelConfirmBatch(billCodes); + return AjaxResult.success("取消确认成功"); + } } 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 ec5fdb92b..eb9a33f96 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 @@ -1,10 +1,10 @@ -/** +/** * @Project: emis * @Title: EmisWaybillMapper.java * @author linfso * @date 2024-02-29 08:15:14 * @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!!! */ @@ -52,14 +52,14 @@ public interface EmisWaybillMapper extends BaseMapper /** * 主键查询 * @param id - * @return + * @return */ public EmisWaybill selectEmisWaybillById(Long id); /** * 查询列表 - * - * @param emisWaybill + * + * @param emisWaybill * @return 集合 */ public List selectEmisWaybillList(EmisWaybill emisWaybill); @@ -99,19 +99,19 @@ public interface EmisWaybillMapper extends BaseMapper public List selectWaitDoCostList(EmisWaybill emisWaybill); /** - * 新增 - * + * 新增 + * * @param emisWaybill - * @return + * @return */ public int insertEmisWaybill(EmisWaybill emisWaybill); /** * 修改 - * - * @param emisWaybill - * @return + * + * @param emisWaybill + * @return */ @DataAuditLog(operateType= OperateType.UPDATE,serviceClass=EmisWaybillServiceImpl.class) public int updateEmisWaybill(EmisWaybill emisWaybill); @@ -121,7 +121,7 @@ public interface EmisWaybillMapper extends BaseMapper /** * 删除 - * + * * @param id 主键 * @return 结果 */ @@ -129,7 +129,7 @@ public interface EmisWaybillMapper extends BaseMapper /** * 批量删除 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ @@ -332,6 +332,14 @@ public interface EmisWaybillMapper extends BaseMapper */ List selectMasterEmisWaybills(EmisWaybill emisWaybill); + /** + * 根据运单号列表批量查询运单信息 + * + * @param billCodes 运单号列表 + * @return 运单列表 + */ + List selectEmisWaybillListByBillCodes(@Param("billCodes") List billCodes); + /** * * @param offset diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsSiteBatchMissService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsSiteBatchMissService.java index 5deeebb6d..b9ba06898 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsSiteBatchMissService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsSiteBatchMissService.java @@ -81,4 +81,13 @@ public interface IEmisTmsSiteBatchMissService { * @param blManual */ void confirmBatch(List billCodes, String remark, String blManual) throws EmisBizError; + + /** + * 批量取消确认组批次: + * 1) 根据运单号列表删除运单组批次状态数据 + * 2) 重新扫描运单组批次状态 + * + * @param billCodes 运单号列表 + */ + void cancelConfirmBatch(List billCodes) throws EmisBizError; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java index de1dc8065..72b1b81db 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java @@ -223,6 +223,28 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements } } + /** + * 批量取消确认组批次:删除运单组批次状态数据并重新扫描 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void cancelConfirmBatch(List billCodes) throws EmisBizError { + if (billCodes == null || billCodes.isEmpty()) { + throw new EmisBizError(EmisBizErrorType.PARAM_ERROR, "运单号不能为空"); + } + + // 1) 彻底删除运单组批次状态数据 + emisWaybillBatchStatusMapper.deleteByBillCodes(billCodes); + + // 2) 批量查询运单信息 + List waybills = emisWaybillMapper.selectEmisWaybillListByBillCodes(billCodes); + + // 3) 调用scanSiteBatchByWaybills重新扫描 + if (!waybills.isEmpty()) { + this.scanSiteBatchByWaybills(waybills); + } + } + @Async @Override public void autoScanSiteBatch(String lineCode) { diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillBatchStatusMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillBatchStatusMapper.xml index 0b186db82..5ab9c7dc8 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillBatchStatusMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillBatchStatusMapper.xml @@ -36,15 +36,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - update emis_waybill_batch_status - set del_flag = '1' + + + delete from emis_waybill_batch_status where bill_code in #{billCode} - and del_flag = '0' - + diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index cd53168f0..6393aa1ff 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -601,6 +601,16 @@ limit 10 + + + @@ -274,4 +276,4 @@ and del_flag = '0' limit 1 - \ No newline at end of file + From 5d08c185262f38fa132bc39bb6fe3cfe427cdd99 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Fri, 22 Aug 2025 15:20:48 +0800 Subject: [PATCH 3/3] =?UTF-8?q?demand:=20=E6=A0=B9=E6=8D=AE=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E5=8F=B7=E5=AE=9E=E6=97=B6=E6=89=AB=E6=8F=8F=E6=BC=8F?= =?UTF-8?q?=E7=BB=84=E6=89=B9=E6=AC=A1=E6=8E=A5=E5=8F=A3=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E7=BB=84=E6=89=B9=E6=AC=A1=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=9A=84=E8=BF=90=E5=8D=95=E3=80=82=20=E5=88=86=E6=89=B9?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E6=89=AB=E6=8F=8Fbug=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/emis/service/EmisBaseService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 024402353..e82d5241a 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 @@ -4729,7 +4729,7 @@ public class EmisBaseService { boolean hasWaybillBatchStatus2 = false; if (batch.getBatchDtlList() != null && !batch.getBatchDtlList().isEmpty()) { for (EmisTmsSiteBatchDtl dtl : batch.getBatchDtlList()) { - if ("2".equals(dtl.getWaybillBatchStatus())) { + if ("2".equals(dtl.getWaybillBatchStatus())||"1".equals(dtl.getWaybillBatchStatus())) { hasWaybillBatchStatus2 = true; break; }