From e4df713ffb81d23d222f14f84f030511e0cbb6fb Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sun, 11 Jan 2026 17:42:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=8F=91=E8=B4=A7=E6=92=A4=E5=9B=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsMaterialCoilService 中添加 withdrawExportCoil 方法 - 实现 WmsMaterialCoilController 的 withdrawExport 接口 - 添加 WmsMaterialCoilMapper 的 updateForWithdrawExport 方法 - 创建 XML 映射文件中的 updateForWithdrawExport SQL 更新语句 - 完成 WmsMaterialCoilServiceImpl 中的 withdrawExportCoil 业务逻辑实现 - 添加参数校验、存在性检查和状态验证逻辑 --- .../controller/WmsMaterialCoilController.java | 12 ++++++++ .../com/klp/mapper/WmsMaterialCoilMapper.java | 10 +++++++ .../klp/service/IWmsMaterialCoilService.java | 2 ++ .../impl/WmsMaterialCoilServiceImpl.java | 28 +++++++++++++++++++ .../mapper/klp/WmsMaterialCoilMapper.xml | 7 +++++ 5 files changed, 59 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index f84b6056..2740e07a 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -81,6 +81,18 @@ public class WmsMaterialCoilController extends BaseController { return toAjax(iWmsMaterialCoilService.exportCoil(coilId)); } + /** + * 钢卷发货撤回,将钢卷状态更新为未发货,且清空发货时间 + * + * @param coilId 主键 + */ + @Log(title = "钢卷物料表", businessType = BusinessType.UPDATE) + @GetMapping("/withdrawExportCoil/{coilId}") + public R withdrawExport(@NotNull(message = "主键不能为空") + @PathVariable("coilId") Long coilId) { + + return toAjax(iWmsMaterialCoilService.withdrawExportCoil(coilId)); + } /** * 获取钢卷物料表详细信息 * diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java index 22bfa1bb..ac823082 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -53,5 +53,15 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus selectExportList(@Param("ew")QueryWrapper lqw); + + /** + * 更新钢卷发货撤回:将发货时间置空,状态改为指定值 + * + * @param coilId 钢卷ID + * @param status 目标状态 + * @return 影响行数 + */ + int updateForWithdrawExport(@Param("coilId") Long coilId, @Param("status") Integer status); + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index 1fdadd3b..be612b0c 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -6,6 +6,7 @@ import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.Collection; import java.util.List; import java.util.Map; @@ -111,5 +112,6 @@ public interface IWmsMaterialCoilService { */ Map getUpdatedCoilIdsByOldCoilIds(List oldCoilIds); + int withdrawExportCoil(@NotNull(message = "主键不能为空") Long coilId); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 2e2d2a8f..33799888 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -1853,6 +1853,34 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { return baseMapper.updateById(BeanUtil.toBean(wmsMaterialCoilVo,WmsMaterialCoil.class)); } + /** + * 钢卷发货撤回 + * @param coilId + * @return + */ + @Override + @Transactional + public int withdrawExportCoil(Long coilId) { + // 参数校验 + if (coilId == null) { + throw new IllegalArgumentException("钢卷ID不能为空"); + } + + WmsMaterialCoilVo wmsMaterialCoilVo = queryById(coilId); + if (wmsMaterialCoilVo == null) { + throw new RuntimeException("钢卷不存在"); + } + + // 检查当前状态是否为已发货状态 + if (wmsMaterialCoilVo.getStatus() != 1) { + throw new RuntimeException("该钢卷并没有发货,无法撤回"); + } + + // 调用自定义的Mapper方法,只更新发货时间和状态字段 + return baseMapper.updateForWithdrawExport(coilId, 0); + } + + /** * 构建查询条件 */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 714a105c..5e655e61 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -427,6 +427,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${ew.customSqlSegment} + + + UPDATE wms_material_coil + SET export_time = NULL, + status = #{status} + WHERE coil_id = #{coilId} +