diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/PlanAssignSteerModifyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/PlanAssignSteerModifyServiceImpl.java index ff46b46c9..4ba62fd1c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/PlanAssignSteerModifyServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/PlanAssignSteerModifyServiceImpl.java @@ -367,38 +367,64 @@ public class PlanAssignSteerModifyServiceImpl extends BaseServiceImpl modifyLst = null; + PlanAssignSteerModifyVO modifyVO = null; + + Boolean initSteer = false; + if (pasmId != null) { + List entity = baseMapper.findByPasmId(pasmId); + List list = baseMapper.findByPasmId(pasmId); + if (list.isEmpty()) { + return null; + } - // 查询主表信息 - List list = baseMapper.findByPasmId(pasmId); - if (list.isEmpty()) { - return null; + modifyVO = list.get(0); + + if (caId == null || caId.equals(modifyVO.getPlatingId())) { + List detailList = planAssignSteerModifyDService.findByPasmId(pasmId); + if (!detailList.isEmpty()) { + modifyLst = detailList.stream() + .map(d -> { + PlanAssignSteerModifyDVO vo = new PlanAssignSteerModifyDVO(); + BeanUtil.copyProperties(d, vo); + return vo; + }) + .collect(Collectors.toList()); + } + } else { + initSteer = true; + } + } else { + if (caId == null) { + modifyVO = new PlanAssignSteerModifyVO(); + modifyVO.setPlatingId(null); + modifyVO.setCreateMan(AuthUtil.getUserId()); + modifyVO.setCreateTime(new Date()); + } else { + initSteer = true; + } } - PlanAssignSteerModifyVO modifyVO = list.get(0); - - // 判断是否需要查询明细:caId为空 或 caId与主表的platingId匹配 - // // TODO: 2026/5/22 caId根据工艺能力查询计划分派控制 - boolean shouldQueryDetail = caId == null || caId.equals(modifyVO.getPlatingId()); - - List modifyLst = null; - if (shouldQueryDetail) { - List detailList = planAssignSteerModifyDService.findByPasmId(pasmId); - if (!detailList.isEmpty()) { - modifyLst = detailList.stream() - .map(d -> { - PlanAssignSteerModifyDVO vo = new PlanAssignSteerModifyDVO(); - BeanUtil.copyProperties(d, vo); - return vo; - }) - .collect(Collectors.toList()); - } + if (initSteer) { + modifyVO = null; + // 根据工艺能力和外协厂商查找现有分派规则 + List assignSteers = planAssignSteerService.list(Wrappers.lambdaQuery(PlanAssignSteer.class) + .eq(PlanAssignSteer::getPlatingId, caId)); + + modifyLst = assignSteers.stream() + .map(assign -> { + PlanAssignSteerModifyDVO modifyDVO = new PlanAssignSteerModifyDVO(); + modifyDVO.setPlatingId(assign.getPlatingId()); + modifyDVO.setOemId(assign.getOemId()); + modifyDVO.setAssignScale(assign.getAssignScale()); + modifyDVO.setPasId(assign.getId()); + return modifyDVO; + }) + .collect(Collectors.toList()); } modifyVO.setModifyLst(modifyLst); + return modifyVO; }