From f068daba0b8fbae522b50237c9fae49aa61c5566 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sun, 21 Jun 2026 14:15:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(flow):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E4=BF=A1=E6=81=AF=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在pom.xml中添加klp-wms依赖模块 - 引入WmsMaterialCoil和WmsMaterialCoilVo相关类 - 注入WmsMaterialCoilMapper用于钢卷信息查询 - 实现enrichWithCoilInfo方法批量获取钢卷详情 - 优化查询逻辑支持单条和分页查询的钢卷信息填充 - 在TsAcceptCoilRelVo中新增coilInfo字段存储钢卷信息 --- klp-flow/pom.xml | 4 ++ .../klp/flow/domain/vo/TsAcceptCoilRelVo.java | 6 +++ .../impl/TsAcceptCoilRelServiceImpl.java | 51 ++++++++++++++++++- 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/klp-flow/pom.xml b/klp-flow/pom.xml index f0a55827..9ae00e63 100644 --- a/klp-flow/pom.xml +++ b/klp-flow/pom.xml @@ -15,5 +15,9 @@ com.klp klp-common + + com.klp + klp-wms + diff --git a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsAcceptCoilRelVo.java b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsAcceptCoilRelVo.java index 13f84740..c5dca073 100644 --- a/klp-flow/src/main/java/com/klp/flow/domain/vo/TsAcceptCoilRelVo.java +++ b/klp-flow/src/main/java/com/klp/flow/domain/vo/TsAcceptCoilRelVo.java @@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; +import com.klp.domain.vo.WmsMaterialCoilVo; import lombok.Data; @@ -43,5 +44,10 @@ public class TsAcceptCoilRelVo { @ExcelProperty(value = "备注") private String remark; + /** + * 关联的钢卷信息(丰富返回值) + */ + private WmsMaterialCoilVo coilInfo; + } diff --git a/klp-flow/src/main/java/com/klp/flow/service/impl/TsAcceptCoilRelServiceImpl.java b/klp-flow/src/main/java/com/klp/flow/service/impl/TsAcceptCoilRelServiceImpl.java index 6dd2c9d8..2678d4b5 100644 --- a/klp-flow/src/main/java/com/klp/flow/service/impl/TsAcceptCoilRelServiceImpl.java +++ b/klp-flow/src/main/java/com/klp/flow/service/impl/TsAcceptCoilRelServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.flow.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -8,15 +9,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.flow.domain.bo.TsAcceptCoilRelBo; import com.klp.flow.domain.vo.TsAcceptCoilRelVo; import com.klp.flow.domain.TsAcceptCoilRel; import com.klp.flow.mapper.TsAcceptCoilRelMapper; import com.klp.flow.service.ITsAcceptCoilRelService; +import com.klp.mapper.WmsMaterialCoilMapper; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Collections; +import java.util.stream.Collectors; /** * 受理单关联钢卷中间Service业务层处理 @@ -29,13 +35,18 @@ import java.util.Collection; public class TsAcceptCoilRelServiceImpl implements ITsAcceptCoilRelService { private final TsAcceptCoilRelMapper baseMapper; + private final WmsMaterialCoilMapper wmsMaterialCoilMapper; /** * 查询受理单关联钢卷中间 */ @Override public TsAcceptCoilRelVo queryById(Long relId){ - return baseMapper.selectVoById(relId); + TsAcceptCoilRelVo vo = baseMapper.selectVoById(relId); + if (vo != null) { + enrichWithCoilInfo(Collections.singletonList(vo)); + } + return vo; } /** @@ -45,6 +56,7 @@ public class TsAcceptCoilRelServiceImpl implements ITsAcceptCoilRelService { public TableDataInfo queryPageList(TsAcceptCoilRelBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + enrichWithCoilInfo(result.getRecords()); return TableDataInfo.build(result); } @@ -54,7 +66,42 @@ public class TsAcceptCoilRelServiceImpl implements ITsAcceptCoilRelService { @Override public List queryList(TsAcceptCoilRelBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List list = baseMapper.selectVoList(lqw); + enrichWithCoilInfo(list); + return list; + } + + /** + * 根据关联表中的coilId批量查询钢卷信息,并填充到VO中 + */ + private void enrichWithCoilInfo(List voList) { + if (voList == null || voList.isEmpty()) { + return; + } + // 收集所有coilId(去重) + List coilIds = voList.stream() + .map(TsAcceptCoilRelVo::getCoilId) + .filter(id -> id != null) + .distinct() + .collect(Collectors.toList()); + if (coilIds.isEmpty()) { + return; + } + // 批量查询钢卷信息 + QueryWrapper qw = new QueryWrapper<>(); + qw.in("mc.coil_id", coilIds); + qw.eq("mc.del_flag", 0); + qw.orderByDesc("mc.create_time"); + List coilList = wmsMaterialCoilMapper.selectVoListWithDynamicJoin(qw); + // 按coilId建立索引 + Map coilMap = coilList.stream() + .collect(Collectors.toMap(WmsMaterialCoilVo::getCoilId, c -> c, (a, b) -> a)); + // 填充到VO中 + for (TsAcceptCoilRelVo vo : voList) { + if (vo.getCoilId() != null) { + vo.setCoilInfo(coilMap.get(vo.getCoilId())); + } + } } private LambdaQueryWrapper buildQueryWrapper(TsAcceptCoilRelBo bo) {