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) {