feat(qc): 添加钢卷信息关联功能

- 在QcChemicalItemServiceImpl中注入IWmsMaterialCoilService依赖
- 在QcPhysicalItemServiceImpl中注入IWmsMaterialCoilService依赖
- 为QcChemicalItemVo和QcPhysicalItemVo添加coil字段存储钢卷信息
- 实现fillCoilInfo方法批量查询并填充钢卷详情数据
- 修改分页查询方法调用钢卷信息填充逻辑
- 添加相关导入包和工具类引用
This commit is contained in:
2026-05-18 13:06:56 +08:00
parent c2f6e6f7c2
commit 4a9a04cdf0
4 changed files with 56 additions and 2 deletions

View File

@@ -5,6 +5,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;
@@ -91,5 +92,9 @@ public class QcChemicalItemVo {
@ExcelProperty(value = "备注")
private String remark;
/**
* 钢卷信息
*/
private WmsMaterialCoilVo coil;
}

View File

@@ -5,6 +5,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;
@@ -98,5 +99,9 @@ public class QcPhysicalItemVo {
@ExcelProperty(value = "备注")
private String remark;
/**
* 钢卷信息
*/
private WmsMaterialCoilVo coil;
}

View File

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.service.IWmsMaterialCoilService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.mes.qc.domain.bo.QcChemicalItemBo;
@@ -18,6 +21,7 @@ import com.klp.mes.qc.service.IQcChemicalItemService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 质量的化学成分明细Service业务层处理
@@ -30,6 +34,7 @@ import java.util.Collection;
public class QcChemicalItemServiceImpl implements IQcChemicalItemService {
private final QcChemicalItemMapper baseMapper;
private final IWmsMaterialCoilService coilService;
/**
* 查询质量的化学成分明细
@@ -46,7 +51,9 @@ public class QcChemicalItemServiceImpl implements IQcChemicalItemService {
public TableDataInfo<QcChemicalItemVo> queryPageList(QcChemicalItemBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<QcChemicalItem> lqw = buildQueryWrapper(bo);
Page<QcChemicalItemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
TableDataInfo<QcChemicalItemVo> page = TableDataInfo.build(result);
fillCoilInfo(page.getRows());
return page;
}
/**
@@ -74,6 +81,21 @@ public class QcChemicalItemServiceImpl implements IQcChemicalItemService {
return lqw;
}
private void fillCoilInfo(List<QcChemicalItemVo> list) {
if (list == null || list.isEmpty()) {
return;
}
List<Long> coilIds = list.stream().map(QcChemicalItemVo::getCoilId).filter(java.util.Objects::nonNull).distinct().collect(Collectors.toList());
if (coilIds.isEmpty()) {
return;
}
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
List<WmsMaterialCoilVo> coils = coilService.queryList(coilBo);
Map<Long, WmsMaterialCoilVo> coilMap = coils.stream().collect(Collectors.toMap(WmsMaterialCoilVo::getCoilId, v -> v, (a, b) -> a));
list.forEach(v -> v.setCoil(coilMap.get(v.getCoilId())));
}
/**
* 新增质量的化学成分明细
*/

View File

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.service.IWmsMaterialCoilService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.mes.qc.domain.bo.QcPhysicalItemBo;
@@ -18,6 +21,7 @@ import com.klp.mes.qc.service.IQcPhysicalItemService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
* 物理性能明细Service业务层处理
@@ -30,6 +34,7 @@ import java.util.Collection;
public class QcPhysicalItemServiceImpl implements IQcPhysicalItemService {
private final QcPhysicalItemMapper baseMapper;
private final IWmsMaterialCoilService coilService;
/**
* 查询物理性能明细
@@ -46,7 +51,9 @@ public class QcPhysicalItemServiceImpl implements IQcPhysicalItemService {
public TableDataInfo<QcPhysicalItemVo> queryPageList(QcPhysicalItemBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<QcPhysicalItem> lqw = buildQueryWrapper(bo);
Page<QcPhysicalItemVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
TableDataInfo<QcPhysicalItemVo> page = TableDataInfo.build(result);
fillCoilInfo(page.getRows());
return page;
}
/**
@@ -75,6 +82,21 @@ public class QcPhysicalItemServiceImpl implements IQcPhysicalItemService {
return lqw;
}
private void fillCoilInfo(List<QcPhysicalItemVo> list) {
if (list == null || list.isEmpty()) {
return;
}
List<Long> coilIds = list.stream().map(QcPhysicalItemVo::getCoilId).filter(java.util.Objects::nonNull).distinct().collect(Collectors.toList());
if (coilIds.isEmpty()) {
return;
}
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
List<WmsMaterialCoilVo> coils = coilService.queryList(coilBo);
Map<Long, WmsMaterialCoilVo> coilMap = coils.stream().collect(Collectors.toMap(WmsMaterialCoilVo::getCoilId, v -> v, (a, b) -> a));
list.forEach(v -> v.setCoil(coilMap.get(v.getCoilId())));
}
/**
* 新增物理性能明细
*/