feat(wms): 添加钢卷列表附带质量改判记录功能
- 在 IWmsCoilQualityRejudgeService 中新增 queryCoilListWithRejudge 方法 - 实现批量查询钢卷并附带最新质量改判记录的功能 - 添加 WmsMaterialCoilRejudgeVo 和 WmsMaterialCoilBo 数据传输对象 - 在 WmsCoilQualityRejudgeController 中新增 coilListWithRejudge 接口 - 实现服务层逻辑,通过 wmsMaterialCoilService 查询钢卷列表 - 批量查询每个钢卷的最新改判记录并组装返回结果
This commit is contained in:
@@ -18,7 +18,9 @@ import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.domain.vo.WmsCoilQualityRejudgeVo;
|
||||
import com.klp.domain.vo.WmsMaterialCoilRejudgeVo;
|
||||
import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
|
||||
import com.klp.domain.bo.WmsMaterialCoilBo;
|
||||
import com.klp.service.IWmsCoilQualityRejudgeService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
@@ -44,6 +46,15 @@ public class WmsCoilQualityRejudgeController extends BaseController {
|
||||
return iWmsCoilQualityRejudgeService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷信息并附带质量改判记录
|
||||
* 调用钢卷物料表 queryList 查询钢卷列表,同时批量查询每个钢卷的最新一条质量改判记录
|
||||
*/
|
||||
@GetMapping("/coilListWithRejudge")
|
||||
public R<List<WmsMaterialCoilRejudgeVo>> coilListWithRejudge(WmsMaterialCoilBo bo) {
|
||||
return R.ok(iWmsCoilQualityRejudgeService.queryCoilListWithRejudge(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出钢卷质量改判记录列表
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsCoilQualityRejudge;
|
||||
import com.klp.domain.vo.WmsCoilQualityRejudgeVo;
|
||||
import com.klp.domain.vo.WmsMaterialCoilRejudgeVo;
|
||||
import com.klp.domain.bo.WmsCoilQualityRejudgeBo;
|
||||
import com.klp.domain.bo.WmsMaterialCoilBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
@@ -46,4 +48,13 @@ public interface IWmsCoilQualityRejudgeService {
|
||||
* 校验并批量删除钢卷质量改判记录信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 查询钢卷列表并附带质量改判记录
|
||||
* 调用 IWmsMaterialCoilService.queryList 查询钢卷,然后批量查询每个钢卷的最新改判记录并回填
|
||||
*
|
||||
* @param bo 钢卷查询条件
|
||||
* @return 钢卷列表(每个钢卷附带最新一条改判记录)
|
||||
*/
|
||||
List<WmsMaterialCoilRejudgeVo> queryCoilListWithRejudge(WmsMaterialCoilBo bo);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除钢卷质量改判记录
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user