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

@@ -18,7 +18,9 @@ import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType; import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil; import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.vo.WmsCoilQualityRejudgeVo; import com.klp.domain.vo.WmsCoilQualityRejudgeVo;
import com.klp.domain.vo.WmsMaterialCoilRejudgeVo;
import com.klp.domain.bo.WmsCoilQualityRejudgeBo; import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.service.IWmsCoilQualityRejudgeService; import com.klp.service.IWmsCoilQualityRejudgeService;
import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.page.TableDataInfo;
@@ -44,6 +46,15 @@ public class WmsCoilQualityRejudgeController extends BaseController {
return iWmsCoilQualityRejudgeService.queryPageList(bo, pageQuery); return iWmsCoilQualityRejudgeService.queryPageList(bo, pageQuery);
} }
/**
* 查询钢卷信息并附带质量改判记录
* 调用钢卷物料表 queryList 查询钢卷列表,同时批量查询每个钢卷的最新一条质量改判记录
*/
@GetMapping("/coilListWithRejudge")
public R<List<WmsMaterialCoilRejudgeVo>> coilListWithRejudge(WmsMaterialCoilBo bo) {
return R.ok(iWmsCoilQualityRejudgeService.queryCoilListWithRejudge(bo));
}
/** /**
* 导出钢卷质量改判记录列表 * 导出钢卷质量改判记录列表
*/ */

View File

@@ -2,7 +2,9 @@ package com.klp.service;
import com.klp.domain.WmsCoilQualityRejudge; import com.klp.domain.WmsCoilQualityRejudge;
import com.klp.domain.vo.WmsCoilQualityRejudgeVo; import com.klp.domain.vo.WmsCoilQualityRejudgeVo;
import com.klp.domain.vo.WmsMaterialCoilRejudgeVo;
import com.klp.domain.bo.WmsCoilQualityRejudgeBo; import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery; import com.klp.common.core.domain.PageQuery;
@@ -46,4 +48,13 @@ public interface IWmsCoilQualityRejudgeService {
* 校验并批量删除钢卷质量改判记录信息 * 校验并批量删除钢卷质量改判记录信息
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 查询钢卷列表并附带质量改判记录
* 调用 IWmsMaterialCoilService.queryList 查询钢卷,然后批量查询每个钢卷的最新改判记录并回填
*
* @param bo 钢卷查询条件
* @return 钢卷列表(每个钢卷附带最新一条改判记录)
*/
List<WmsMaterialCoilRejudgeVo> queryCoilListWithRejudge(WmsMaterialCoilBo bo);
} }

View File

@@ -10,14 +10,17 @@ import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsCoilQualityRejudgeBo; import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsCoilQualityRejudgeVo; 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.domain.WmsCoilQualityRejudge;
import com.klp.mapper.WmsCoilQualityRejudgeMapper; import com.klp.mapper.WmsCoilQualityRejudgeMapper;
import com.klp.service.IWmsCoilQualityRejudgeService; import com.klp.service.IWmsCoilQualityRejudgeService;
import com.klp.service.IWmsMaterialCoilService;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.stream.Collectors;
import java.util.Collection;
/** /**
* 钢卷质量改判记录Service业务层处理 * 钢卷质量改判记录Service业务层处理
@@ -30,6 +33,7 @@ import java.util.Collection;
public class WmsCoilQualityRejudgeServiceImpl implements IWmsCoilQualityRejudgeService { public class WmsCoilQualityRejudgeServiceImpl implements IWmsCoilQualityRejudgeService {
private final WmsCoilQualityRejudgeMapper baseMapper; private final WmsCoilQualityRejudgeMapper baseMapper;
private final IWmsMaterialCoilService wmsMaterialCoilService;
/** /**
* 查询钢卷质量改判记录 * 查询钢卷质量改判记录
@@ -99,6 +103,53 @@ public class WmsCoilQualityRejudgeServiceImpl implements IWmsCoilQualityRejudgeS
//TODO 做一些数据校验,如唯一约束 //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());
}
/** /**
* 批量删除钢卷质量改判记录 * 批量删除钢卷质量改判记录
*/ */