refactor(normalQM): 优化质检任务确认逻辑

- 注入SapService依赖以支持后续功能扩展
- 简化入库参数空值检查的条件判断逻辑
- 修正物料入库状态检查的条件,使用正确的集合变量
- 移除废弃的代码注释块,提高代码可读性
- 重新组织QCReceiveDTO对象创建逻辑,确保在正确位置初始化
- 删除重复的数据添加操作,避免数据冗余
This commit is contained in:
曹鹏飞 2026-06-24 11:13:09 +08:00
parent 0c4e0f63f1
commit 7d67395036
1 changed files with 21 additions and 12 deletions

View File

@ -75,6 +75,7 @@ public class NormalQMController extends BaseController {
@Resource @Resource
private IWmsQrCodeMasterService qrCodeMasterService; private IWmsQrCodeMasterService qrCodeMasterService;
@Resource
private SapService sapService; private SapService sapService;
/** /**
@ -137,8 +138,7 @@ public class NormalQMController extends BaseController {
@PostMapping("PDA/task/confirm") @PostMapping("PDA/task/confirm")
@ApiMark(moduleName = "质检物料管理", apiName = "质检任务上架确认") @ApiMark(moduleName = "质检物料管理", apiName = "质检任务上架确认")
public ApiResult<Void> confirm(@Valid @RequestBody List<QCReceiveTaskConfirmQO> request) { public ApiResult<Void> confirm(@Valid @RequestBody List<QCReceiveTaskConfirmQO> request) {
if (CollectionUtil.isEmpty(request)) VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("入库参数为空");
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("入库参数为空");
//根据详情ID 获取到相应的入库单信息 //根据详情ID 获取到相应的入库单信息
List<Long> uniqueIds = request.stream() List<Long> uniqueIds = request.stream()
@ -151,7 +151,7 @@ public class NormalQMController extends BaseController {
.apply("check_qty>in_qty") .apply("check_qty>in_qty")
.list(); .list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("不存在待入库的物料(或此物料已入库)"); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(wmsQcReceiveItems)).throwMessage("不存在待入库的物料(或此物料已入库)");
List<String> qrCodes = CollectionUtil.unionAll( List<String> qrCodes = CollectionUtil.unionAll(
request.stream() request.stream()
@ -232,14 +232,14 @@ public class NormalQMController extends BaseController {
List<QCReceiveDTO> qcReceiveDTOS = new ArrayList<>(); List<QCReceiveDTO> qcReceiveDTOS = new ArrayList<>();
for (String poNum : poNums) { for (String poNum : poNums) {
//封装一个数据 // //封装一个数据
QCReceiveDTO qcReceiveDTO = new QCReceiveDTO() // QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
// .setUnqualifiedInventories(new ArrayList<>()) //// .setUnqualifiedInventories(new ArrayList<>())
.setQcIdList(new ArrayList<>()) // .setQcIdList(new ArrayList<>())
.setReceiveIds(new ArrayList<>()) // .setReceiveIds(new ArrayList<>())
.setWaitModifyItems(new ArrayList<>()) // .setWaitModifyItems(new ArrayList<>())
.setStorageLocationDTOS(new ArrayList<>()) // .setStorageLocationDTOS(new ArrayList<>())
.setQualifiednventories(new ArrayList<>()); // .setQualifiednventories(new ArrayList<>());
List<QCReceiveTaskConfirmQO> qcReceiveTaskConfirmQOS = request.stream() List<QCReceiveTaskConfirmQO> qcReceiveTaskConfirmQOS = request.stream()
.filter(q -> q.getPoNum().equals(poNum)) .filter(q -> q.getPoNum().equals(poNum))
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -252,6 +252,15 @@ public class NormalQMController extends BaseController {
if (Objects.isNull(wmsQcReceiveItem)) { if (Objects.isNull(wmsQcReceiveItem)) {
continue; continue;
} }
//封装一个数据
QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
// .setUnqualifiedInventories(new ArrayList<>())
.setQcIdList(new ArrayList<>())
.setReceiveIds(new ArrayList<>())
.setWaitModifyItems(new ArrayList<>())
.setStorageLocationDTOS(new ArrayList<>())
.setQualifiednventories(new ArrayList<>());
qcReceiveDTOS.add(qcReceiveDTO);
if (!qcReceiveDTO.getReceiveIds().stream().anyMatch(id -> id.equals(wmsQcReceiveItem.getReceiveId()))) { if (!qcReceiveDTO.getReceiveIds().stream().anyMatch(id -> id.equals(wmsQcReceiveItem.getReceiveId()))) {
qcReceiveDTO.getReceiveIds().add(wmsQcReceiveItem.getReceiveId()); qcReceiveDTO.getReceiveIds().add(wmsQcReceiveItem.getReceiveId());
} }
@ -366,7 +375,7 @@ public class NormalQMController extends BaseController {
} }
} }
} }
qcReceiveDTOS.add(qcReceiveDTO); // qcReceiveDTOS.add(qcReceiveDTO);
} }
qrCodeMasterService.updateBarCode(qrCodeMasters); qrCodeMasterService.updateBarCode(qrCodeMasters);
normalQMControllerService.confirmReceive(qcReceiveDTOS); normalQMControllerService.confirmReceive(qcReceiveDTOS);