From db8696f9e72e306d6c2ea7d124fe7cf3007db8a5 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 12 Mar 2026 16:48:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=BE=85=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在restoreAction方法中添加actionId参数非空验证 - 添加updateDelFlag自定义SQL方法绕过@TableLogic注解限制 - 修改restoreAction逻辑使用新的updateDelFlag方法更新删除标志 - 优化异常处理使用ServiceException替换RuntimeException - 修正查询条件将del_flag检查从2改为1表示已删除状态 --- .../WmsCoilPendingActionController.java | 4 ++-- .../impl/WmsCoilPendingActionServiceImpl.java | 20 +++++++++++-------- .../mapper/klp/WmsCoilPendingActionMapper.xml | 9 +++++++++ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsCoilPendingActionController.java b/klp-wms/src/main/java/com/klp/controller/WmsCoilPendingActionController.java index 5720ae72..be3cbe67 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsCoilPendingActionController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsCoilPendingActionController.java @@ -106,7 +106,7 @@ public class WmsCoilPendingActionController extends BaseController { */ @Log(title = "钢卷待操作", businessType = BusinessType.UPDATE) @PutMapping("/status/{actionId}/{status}") - public R updateStatus(@PathVariable("actionId") Long actionId, + public R updateStatus(@PathVariable("actionId") Long actionId, @PathVariable("status") Integer status) { return toAjax(iWmsCoilPendingActionService.updateStatus(actionId, status)); } @@ -143,7 +143,7 @@ public class WmsCoilPendingActionController extends BaseController { */ @Log(title = "钢卷待操作", businessType = BusinessType.UPDATE) @PutMapping("/restore/{actionId}") - public R restoreAction(@PathVariable("actionId") Long actionId) { + public R restoreAction(@PathVariable("actionId")@NotNull Long actionId) { return toAjax(iWmsCoilPendingActionService.restoreAction(actionId)); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java index d788ec03..f9f78de0 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCoilPendingActionServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.klp.common.core.domain.PageQuery; import com.klp.common.core.page.TableDataInfo; +import com.klp.common.exception.ServiceException; import com.klp.common.helper.LoginHelper; import com.klp.common.utils.StringUtils; import com.klp.domain.WmsCoilPendingAction; @@ -286,20 +287,23 @@ public class WmsCoilPendingActionServiceImpl implements IWmsCoilPendingActionSer */ @Override public Boolean restoreAction(Long actionId) { - // 使用QueryWrapper查询,不受逻辑删除影响,检查记录是否存在且del_flag为2 + // 参数校验 + if (actionId == null) { + throw new ServiceException("操作ID不能为空"); + } + + // 使用QueryWrapper查询,不受逻辑删除影响,检查记录是否存在且del_flag为1(已删除) WmsCoilPendingAction oldAction = baseMapper.selectOne(new QueryWrapper() .eq("action_id", actionId) .eq("del_flag", 2) .last("LIMIT 1")); if (oldAction == null) { - throw new RuntimeException("待操作记录不存在或未被删除"); + throw new ServiceException("待操作记录不存在或未被删除"); } - - // 将del_flag改为0 - WmsCoilPendingAction action = new WmsCoilPendingAction(); - action.setActionId(actionId); - action.setDelFlag(0); // 恢复为正常状态 - return baseMapper.updateById(action) > 0; + + // 使用自定义更新方法更新del_flag,绕过@TableLogic注解限制 + int rows = baseMapper.updateDelFlag(actionId, 0); + return rows > 0; } @Override diff --git a/klp-wms/src/main/resources/mapper/klp/WmsCoilPendingActionMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsCoilPendingActionMapper.xml index f2a8864c..6bc5afc5 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsCoilPendingActionMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsCoilPendingActionMapper.xml @@ -88,5 +88,14 @@ ${ew.customSqlSegment} + + + UPDATE wms_coil_pending_action + SET del_flag = #{delFlag} + WHERE action_id = #{actionId} + + + +