From 423ab791bb0fde369f43498d6750e2832d6a5d40 Mon Sep 17 00:00:00 2001 From: zangzhipeng Date: Mon, 1 Jun 2026 14:09:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=8D=8F=E8=BD=AC=E5=8E=82=E5=86=85?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=88=86=E9=85=8D=E4=BD=9C=E4=B8=9A=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E7=8F=AD=E7=BB=84=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderRunServiceImpl.java | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java index 9c1d5c437..974d19af6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java @@ -406,9 +406,12 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl() .eq(WorkPlan::getId, wp.getNextWpId())); + if (nextWorkPlan == null) { + throw new ServiceException("未找到下道工序,工序ID:" + wp.getNextWpId()); + } BsProcessSetEntity bsProcessSetEntity = processSetMapper.selectOne(new LambdaQueryWrapper() .eq(BsProcessSetEntity::getId, nextWorkPlan.getPpsId())); - if (nextWorkPlan.getMakeTeam() != null && !"1".equalsIgnoreCase(bsProcessSetEntity.getIsDispatch())) { + if (nextWorkPlan.getMakeTeam() != null && bsProcessSetEntity != null && !"1".equalsIgnoreCase(bsProcessSetEntity.getIsDispatch())) { teamSet = teamSetMapper.selectOne(new LambdaQueryWrapper() .eq(TeamSet::getId, nextWorkPlan.getMakeTeam())); } @@ -433,10 +436,20 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl yieldOrderCrafts = yieldOrderCraftService.listByYoId(yo.getId()); + Map yieldOrderCraftMap = yieldOrderCrafts.stream().collect(Collectors.toMap(YieldOrderCraft::getProcessNo, v -> v)); yieldOrderCraftService.automaticDispatch(yieldOrderCrafts, yo, Boolean.TRUE, null); + // 回写分派结果:从 YieldOrderCraft.workCenterId 反查班组,写入 WorkPlan.makeTeam + for (WorkPlan plan : wpList) { + YieldOrderCraft craft = yieldOrderCraftMap.get(plan.getOrders()); + if (craft != null && craft.getWorkCenterId() != null) { + List teams = teamSetMapper.selectList(new LambdaQueryWrapper().eq(TeamSet::getWcId, craft.getWorkCenterId())); + if (teams != null && !teams.isEmpty()) { + plan.setMakeTeam(teams.get(0).getId()); + } + } + } //周新昊 20241015 增加调用下方方法 //处理包装工序 并且工艺能力包含 包装 并且加工单位为空的 //手持移动端数据查询接口 @@ -460,6 +473,9 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl() .eq(WorkPlan::getId, wp.getNextWpId())); + if (nextWorkPlan == null) { + throw new ServiceException("未找到下道工序,工序ID:" + wp.getNextWpId()); + } workOrderRun.setInTeam(nextWorkPlan.getMakeTeam()); wo.setTsId(nextWorkPlan.getMakeTeam()); } @@ -474,6 +490,9 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl