feat(wms): 添加钢卷列表附带质量改判记录功能

- 在 IWmsCoilQualityRejudgeService 中新增 queryCoilListWithRejudge 方法
- 实现批量查询钢卷并附带最新质量改判记录的功能
- 添加 WmsMaterialCoilRejudgeVo 和 WmsMaterialCoilBo 数据传输对象
- 在 WmsCoilQualityRejudgeController 中新增 coilListWithRejudge 接口
- 实现服务层逻辑,通过 wmsMaterialCoilService 查询钢卷列表
- 批量查询每个钢卷的最新改判记录并组装返回结果
This commit is contained in:
2026-07-03 17:30:33 +08:00
parent 6fd30eae7c
commit 4bea8bdb17
3 changed files with 76 additions and 3 deletions

View File

@@ -10,14 +10,17 @@ import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsCoilQualityRejudgeVo;
import com.klp.domain.vo.WmsMaterialCoilRejudgeVo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.WmsCoilQualityRejudge;
import com.klp.mapper.WmsCoilQualityRejudgeMapper;
import com.klp.service.IWmsCoilQualityRejudgeService;
import com.klp.service.IWmsMaterialCoilService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
import java.util.stream.Collectors;
/**
* 钢卷质量改判记录Service业务层处理
@@ -30,6 +33,7 @@ import java.util.Collection;
public class WmsCoilQualityRejudgeServiceImpl implements IWmsCoilQualityRejudgeService {
private final WmsCoilQualityRejudgeMapper baseMapper;
private final IWmsMaterialCoilService wmsMaterialCoilService;
/**
* 查询钢卷质量改判记录
@@ -99,6 +103,53 @@ public class WmsCoilQualityRejudgeServiceImpl implements IWmsCoilQualityRejudgeS
//TODO 做一些数据校验,如唯一约束
}
/**
* 查询钢卷列表并附带质量改判记录
*/
@Override
public List<WmsMaterialCoilRejudgeVo> queryCoilListWithRejudge(WmsMaterialCoilBo bo) {
List<WmsMaterialCoilVo> coils = wmsMaterialCoilService.queryList(bo);
if (coils == null || coils.isEmpty()) {
return Collections.emptyList();
}
// 收集所有钢卷ID
List<Long> coilIds = coils.stream()
.map(WmsMaterialCoilVo::getCoilId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (coilIds.isEmpty()) {
return coils.stream().map(vo -> {
WmsMaterialCoilRejudgeVo rvo = new WmsMaterialCoilRejudgeVo();
BeanUtil.copyProperties(vo, rvo);
return rvo;
}).collect(Collectors.toList());
}
// 批量查询每个钢卷的最新一条改判记录
List<WmsCoilQualityRejudgeVo> latestRejudges = baseMapper.selectLatestByCoilIds(coilIds);
Map<Long, WmsCoilQualityRejudgeVo> rejudgeMap = new HashMap<>();
if (latestRejudges != null && !latestRejudges.isEmpty()) {
latestRejudges.forEach(r -> {
if (r.getCoilId() != null) {
rejudgeMap.put(r.getCoilId(), r);
}
});
}
// 组装返回结果
return coils.stream().map(vo -> {
WmsMaterialCoilRejudgeVo rvo = new WmsMaterialCoilRejudgeVo();
BeanUtil.copyProperties(vo, rvo);
if (vo.getCoilId() != null && rejudgeMap.containsKey(vo.getCoilId())) {
rvo.setRejudgeInfo(rejudgeMap.get(vo.getCoilId()));
}
return rvo;
}).collect(Collectors.toList());
}
/**
* 批量删除钢卷质量改判记录
*/