From 55b9086e412e39abddb9d4a7a69efb2ed47bb35d Mon Sep 17 00:00:00 2001 From: zangzhipeng Date: Tue, 2 Jun 2026 16:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=BD=AC=E5=A4=96=E5=8D=8F?= =?UTF-8?q?=E3=80=81=E5=A4=96=E5=8D=8F=E8=BD=AC=E5=8E=82=E5=86=85=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB=E5=8A=A0=E7=A9=BA?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkOrderRunServiceImpl.java | 18 ++++++++++++++++++ .../service/impl/WorkOrderServiceImpl.java | 19 ++++++++++--------- 2 files changed, 28 insertions(+), 9 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 974d19af6..49210e7ce 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 @@ -203,8 +203,17 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl().eq(OemCraftAbilityEntity::getOtherId, oemId) @@ -340,6 +355,9 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl().eq(WorkPlan::getId, wp.getNextWpId())); + if (nextWp == null) { + throw new ServiceException("未找到下道工序,工序ID:" + wp.getNextWpId()); + } workOrderRun.setInCustomer(nextWp.getOcId()); } else { workOrderRun.setInCustomer(wp.getOcId()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 4c62270ed..1cc9acb8b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -448,13 +448,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl wpList = workPlanService.list(Wrappers.lambdaQuery(WorkPlan.class).eq(WorkPlan::getWoId, curWoId)); List workOrderRuns = workOrderRunService.list(Wrappers.lambdaQuery(WorkOrderRun.class).eq(WorkOrderRun::getWoId, curWoId)); - // 校验是否可以转外协 - for (WorkOrderRun workOrderRun : workOrderRuns) { - if (Objects.equals(workOrderRun.getRunStatus(), WorkOrderRun.RUN_STATUS_UNDER)) { - throw new ServiceException("【" + workOrderRun.getWoCode() + "】订单等待外协审批中!!!"); - } else if (Objects.equals(workOrderRun.getRunStatus(), WorkOrderRun.RUN_STATUS_ISSUED)) { - throw new ServiceException("【" + workOrderRun.getWoCode() + "】订单正在外协中!!!"); - } + // 校验是否可以转外协,存在审批中的记录则阻断 + boolean hasUnder = workOrderRuns.stream() + .anyMatch(r -> Objects.equals(r.getRunStatus(), WorkOrderRun.RUN_STATUS_UNDER)); + if (hasUnder) { + String woCode = workOrderRuns.stream() + .filter(r -> Objects.equals(r.getRunStatus(), WorkOrderRun.RUN_STATUS_UNDER)) + .findFirst().map(WorkOrderRun::getWoCode).orElse(""); + throw new ServiceException("【" + woCode + "】订单等待外协审批中!!!"); } List wprList = new ArrayList<>(wpList.size()); // 拿出第一个单子对应的可以派外协的工序 @@ -466,7 +467,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl