From e10b6792e473e8760bc57c7e18f0c0da21b3726f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B6=9B?= Date: Tue, 23 Jun 2026 19:26:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E6=A3=80=E9=AA=8C=E9=80=BB?= =?UTF-8?q?=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/WorkOrderServiceImpl.java | 2 +- .../impl/InspectionTaskServiceImpl.java | 87 ++++++++++--------- 2 files changed, 46 insertions(+), 43 deletions(-) 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 d63ace52f..248a2adb7 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 @@ -1456,7 +1456,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl itemList = wpItemService.listByTaskId(id); - StatusCountMap map = new StatusCountMap(); - int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0; - for (WorkPlanItem item : itemList) { - sumCheckQ += item.getCheckQty() != null ? item.getCheckQty().intValue() : 0; - sumTestQty += item.getTestQty() != null ? item.getTestQty().intValue() : 0; - sumLossQty += item.getLossQty() != null ? item.getLossQty().intValue() : 0; - map.add1(item.getCheckResult()); - } - int countToDo = map.get(InspectionTaskConst.CHECK_RESULT_TODO); - int countOK = map.get(InspectionTaskConst.CHECK_RESULT_OK); - int countNO = map.get(InspectionTaskConst.CHECK_RESULT_NG); - int countNA = map.get(InspectionTaskConst.CHECK_RESULT_NA); - log.info("countToDo = {}", countToDo); - log.info("countOK = {}", countOK); - log.info("countNO = {}", countNO); - log.info("countNA = {}", countNA); - if (countOK != 0 || countNO != 0 || countNA != 0) { - // 设置接收时间 - task.setReceiveDate(LocalDateTime.now()); - } - // checkResult 处理 - int checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认 数据库 - if (countToDo == 0) { // 未检验为0 - if (countOK == itemList.size()) { // 全部item 合格 - checkResult = InspectionTaskConst.CHECK_RESULT_OK; - - task.setCheckUserId(AuthUtil.getUserId()); - task.setCheckDate(LocalDateTime.now()); - this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0); - IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class); - workOrderService.qualified(wp, task, wo, AuthUtil.getUserName()); - } else if (countNA == itemList.size()) { // 全部item NA - checkResult = InspectionTaskConst.CHECK_RESULT_NA; - } else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格 - checkResult = InspectionTaskConst.CHECK_RESULT_NG; + if (CollectionUtils.isNotEmpty(itemList)) { + StatusCountMap map = new StatusCountMap(); + int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0; + for (WorkPlanItem item : itemList) { + sumCheckQ += item.getCheckQty() != null ? item.getCheckQty().intValue() : 0; + sumTestQty += item.getTestQty() != null ? item.getTestQty().intValue() : 0; + sumLossQty += item.getLossQty() != null ? item.getLossQty().intValue() : 0; + map.add1(item.getCheckResult()); + } + int countToDo = map.get(InspectionTaskConst.CHECK_RESULT_TODO); + int countOK = map.get(InspectionTaskConst.CHECK_RESULT_OK); + int countNO = map.get(InspectionTaskConst.CHECK_RESULT_NG); + int countNA = map.get(InspectionTaskConst.CHECK_RESULT_NA); + log.info("countToDo = {}", countToDo); + log.info("countOK = {}", countOK); + log.info("countNO = {}", countNO); + log.info("countNA = {}", countNA); + if (countOK != 0 || countNO != 0 || countNA != 0) { + // 设置接收时间 + task.setReceiveDate(LocalDateTime.now()); + } + // checkResult 处理 + checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认 数据库 + if (countToDo == 0) { // 未检验为0 + if (countOK == itemList.size()) { // 全部item 合格 + checkResult = InspectionTaskConst.CHECK_RESULT_OK; + + task.setCheckUserId(AuthUtil.getUserId()); + task.setCheckDate(LocalDateTime.now()); + this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0); + IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class); + workOrderService.qualified(wp, task, wo, AuthUtil.getUserName()); + } else if (countNA == itemList.size()) { // 全部item NA + checkResult = InspectionTaskConst.CHECK_RESULT_NA; + } else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格 + checkResult = InspectionTaskConst.CHECK_RESULT_NG; + } } - } // if (countOK == itemList.size()) { // 全部item 合格 // checkResult = InspectionTaskConst.CHECK_RESULT_OK; @@ -2337,11 +2339,12 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl= 0 && countNO <= itemList.size()) { // 不合格 // checkResult = InspectionTaskConst.CHECK_RESULT_NG; // } - // 最新状态 - task.setCheckResult(checkResult); - task.setStatus(checkResult); - // 更新 - updateById(task); + // 最新状态 + task.setCheckResult(checkResult); + task.setStatus(checkResult); + // 更新 + updateById(task); + } // 如果检验任务结果不合格,创建 生产处置单 if (checkResult == InspectionTaskConst.CHECK_RESULT_NG) { addRsSheet(id); @@ -2510,7 +2513,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl