From fe164edae1cf979ad8480a529a97bc8e6d453c04 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 19 Mar 2026 10:54:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B6=88=E8=80=97=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E6=8B=BF=E5=88=B0=E5=AE=8C=E6=88=90=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsMaterialCoilBo中新增actionIds字段用于存储操作记录ID列表 - 在WmsMaterialCoilVo中新增actionCompleteTime字段用于显示操作完成时间 - 修改listByPost接口支持通过actionIds查询钢卷数据并关联完成时间 - 添加对wms_coil_pending_action表的查询逻辑以获取钢卷ID和完成时间映射 - 实现actionIds解析、过滤和转换为Long类型的处理逻辑 - 添加coilPendingActionService和coilPendingActionMapper依赖注入 --- .../controller/WmsMaterialCoilController.java | 47 +++++++++++++++++++ .../com/klp/domain/bo/WmsMaterialCoilBo.java | 5 ++ .../com/klp/domain/vo/WmsMaterialCoilVo.java | 6 +++ 3 files changed, 58 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 61d80e01..e0301956 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -5,11 +5,16 @@ import java.util.List; import java.util.Map; import java.util.Arrays; import java.util.stream.Collectors; +import java.util.HashMap; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.klp.domain.vo.*; +import com.klp.domain.WmsCoilPendingAction; +import com.klp.mapper.WmsCoilPendingActionMapper; +import com.klp.service.IWmsCoilPendingActionService; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -43,6 +48,8 @@ import com.klp.common.core.page.TableDataInfo; public class WmsMaterialCoilController extends BaseController { private final IWmsMaterialCoilService iWmsMaterialCoilService; + private final IWmsCoilPendingActionService coilPendingActionService; + private final WmsCoilPendingActionMapper coilPendingActionMapper; /** * 查询钢卷物料表列表 @@ -101,9 +108,49 @@ public class WmsMaterialCoilController extends BaseController { * 查询钢卷物料表列表(POST请求,支持大量coilIds查询) * 功能与GET /list相同,但使用POST请求体传递参数,避免URL长度限制 * 特别适合需要查询大量coilIds的场景 + * 如果coilIds为空且actionIds不为空,则根据actionIds查询wms_coil_pending_action表获取coilIds和完成时间 */ @PostMapping("/listByPost") public TableDataInfo listByPost(@RequestBody WmsMaterialCoilBo bo, PageQuery pageQuery) { + if ((bo.getCoilIds() == null || bo.getCoilIds().isEmpty()) + && bo.getActionIds() != null && !bo.getActionIds().isEmpty()) { + String[] actionIdArr = bo.getActionIds().split(","); + java.util.List actionIdList = Arrays.stream(actionIdArr) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .map(Long::parseLong) + .collect(Collectors.toList()); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(WmsCoilPendingAction::getActionId, actionIdList); + + java.util.List actions = + coilPendingActionMapper.selectList(queryWrapper); + + if (actions != null && !actions.isEmpty()) { + Map coilIdCompleteTimeMap = new HashMap<>(); + List coilIdsList = actions.stream() + .map(com.klp.domain.WmsCoilPendingAction::getCoilId) + .collect(Collectors.toList()); + + for (com.klp.domain.WmsCoilPendingAction action : actions) { + coilIdCompleteTimeMap.put(action.getCoilId(), action.getCompleteTime()); + } + + bo.setCoilIds(coilIdsList.stream() + .map(String::valueOf) + .collect(Collectors.joining(","))); + + TableDataInfo result = iWmsMaterialCoilService.queryPageList(bo, pageQuery); + + for (WmsMaterialCoilVo vo : result.getRows()) { + if (coilIdCompleteTimeMap.containsKey(vo.getCoilId())) { + vo.setActionCompleteTime(coilIdCompleteTimeMap.get(vo.getCoilId())); + } + } + return result; + } + } return iWmsMaterialCoilService.queryPageList(bo, pageQuery); } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 367ccbf6..0861ca46 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -309,5 +309,10 @@ public class WmsMaterialCoilBo extends BaseEntity { * 预留宽度(单位:毫米) */ private BigDecimal reservedWidth; + + /** + * 操作记录ID列表(逗号分隔,用于根据actionIds查询钢卷) + */ + private String actionIds; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java index 86d37510..f497e292 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilVo.java @@ -468,5 +468,11 @@ public class WmsMaterialCoilVo extends BaseEntity { * 预留宽度(单位:毫米) */ private BigDecimal reservedWidth; + + /** + * 操作完成时间(从wms_coil_pending_action表查询到的完成时间) + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actionCompleteTime; }