From 8701e0fb3dce7e1bb7ce09d106a8e3ad077d9781 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Sat, 9 May 2026 11:50:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(qms):=20=E4=BC=98=E5=8C=96=E8=BD=A6?= =?UTF-8?q?=E9=97=B4=E8=B4=A8=E6=A3=80=E7=BB=93=E6=9E=9C=E5=A4=84=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除了工单异步处理及推送相关代码,简化工单保存流程 - 调整整体判定结果保存时机,确保先校验不合格检测项 - 新增校验逻辑,防止所有检测项合格但整体判定为不合格 - 修改不合格检测项查询条件,排除装车前检测项 - 优化任务状态设置顺序及注释说明 - 规范不合格项转换为VO并返回结果的代码位置 --- .../QmsIssueTicketControllerService.java | 16 ----------- ...PdiInspectionResultsControllerService.java | 27 +++++++++++-------- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index c5fe4188..d477ef82 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -380,22 +380,6 @@ public class QmsIssueTicketControllerService { .setUpdateTime(now); issueTicketService.save(entity); - - // 按处理人分组,异步新增工单处理记录并推送待办 - Map> handlerToResultsMap = request.getHandlers().stream() - .collect(Collectors.groupingBy( - QmsIssueTicketPdiAddQO.HandlerItem::getHandlerUserId, - Collectors.mapping(QmsIssueTicketPdiAddQO.HandlerItem::getTaskResultId, Collectors.toList()) - )); - - for (Map.Entry> entry : handlerToResultsMap.entrySet()) { - issueTicketProcessControllerService.addAsync( - entity.getId(), - entry.getKey(), - entry.getValue(), - ticketNo - ); - } } /** diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java index 175c151a..6e7e758a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java @@ -214,22 +214,27 @@ public class QmsPdiInspectionResultsControllerService { throw new NflgException(STATE.BusinessError, "还有" + unfilledImages + "项装车前检测未上传图片,无法提交"); } - // 4. 将整体判定结果存入 task_record - boolean overallResult = request.getOverallResult() != null && request.getOverallResult(); - taskRecordService.lambdaUpdate() - .eq(QmsPdiTaskRecord::getId, taskRecord.getId()) - .set(QmsPdiTaskRecord::getInspectionInspection, overallResult) - .update(); - - // 5. 查询不合格检测项(type=0/1/3) + // 4. 查询不合格检测项(type=0/1/3,装车前不计入) List failedItems = inspectionResultsService.lambdaQuery() .eq(QmsPdiInspectionResults::getTaskId, request.getTaskId()) .ne(QmsPdiInspectionResults::getInspectionItemType, 2) .eq(QmsPdiInspectionResults::getInspectionItemResults, false) .list(); - // 6. 根据整体判定+检测项结果设置状态:有不合格则=3(待流转),全合格则=2(已完成) - boolean hasDefect = !overallResult || !failedItems.isEmpty(); + // 5. 校验:如果所有检测项都合格,总体判定不能为不合格 + boolean hasDefect = !failedItems.isEmpty(); + if (!hasDefect && !request.getOverallResult()) { + throw new NflgException(STATE.BusinessError, "所有检测项均为合格,总体判定不能为不合格"); + } + + // 6. 将整体判定结果存入 task_record + boolean overallResult = request.getOverallResult() != null && request.getOverallResult(); + taskRecordService.lambdaUpdate() + .eq(QmsPdiTaskRecord::getId, taskRecord.getId()) + .set(QmsPdiTaskRecord::getInspectionInspection, overallResult) + .update(); + + // 7. 根据总体判定+检测项结果设置状态:有不合格则=3(待流转),全合格则=2(已完成) // 校验 overdue 字段:无值时根据完成时间与要求完成时间比较设置,有值则保持原值 Boolean overdueValue = taskRecord.getOverdue(); @@ -245,7 +250,7 @@ public class QmsPdiInspectionResultsControllerService { .set(QmsPdiTaskRecord::getInspectionEnable, hasDefect ? 3 : 2) .update(); - // 7. 返回不合格项(转换为VO,图片改为List格式) + // 8. 返回不合格项(转换为VO,图片改为List格式) return buildInspectionResultVOList(failedItems); }