From 06c6c6f81f022555bbfe031f48415ea384be02a6 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Sun, 14 Jun 2026 19:24:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=A0=B9=E6=9C=AC=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...TicketProcessMeasureControllerService.java | 29 +++++++++++++++++-- .../QmsPqcTaskRecordControllerService.java | 7 +++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java index 181f764a..7884c21a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java @@ -57,11 +57,12 @@ public class QmsIssueTicketProcessMeasureControllerService { } Long processId = process.getId(); + String mergedRootCause = mergeRootCause(process.getRootCause(), request.getRootCause()); // 更新工单处理记录 issueTicketProcessService.lambdaUpdate() .eq(QmsIssueTicketProcess::getId, processId) - .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause()) + .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause) .set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus()) .set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion()) .set(QmsIssueTicketProcess::getApprovalUserId, currentUserId) @@ -72,6 +73,27 @@ public class QmsIssueTicketProcessMeasureControllerService { saveMeasures(processId, request.getTemporaryMeasures(), request.getPermanentMeasures()); } + private String mergeRootCause(String oldRootCause, String newRootCause) { + if (newRootCause == null) { + return oldRootCause; + } + if (StrUtil.isBlank(oldRootCause)) { + return newRootCause; + } + if (!newRootCause.startsWith(oldRootCause)) { + return newRootCause; + } + + String appendRootCause = newRootCause.substring(oldRootCause.length()); + appendRootCause = StrUtil.removePrefix(appendRootCause, "\r\n"); + appendRootCause = StrUtil.removePrefix(appendRootCause, "\n"); + appendRootCause = StrUtil.removePrefix(appendRootCause, "\r"); + if (StrUtil.isBlank(appendRootCause)) { + return oldRootCause; + } + return oldRootCause + "\n" + appendRootCause; + } + /** * 领导暂存:更新领导审批意见、审批结果,写入领导信息 */ @@ -114,6 +136,7 @@ public class QmsIssueTicketProcessMeasureControllerService { Short sourceType = ticket.getSourceType(); Long handlerUserId = process.getHandlerUserId(); + String mergedRootCause = mergeRootCause(process.getRootCause(), request.getRootCause()); // 3. 判断是否为处理人本人提交 boolean isHandler = currentUserId.equals(handlerUserId); @@ -133,7 +156,7 @@ public class QmsIssueTicketProcessMeasureControllerService { // 处理人处理:保存根本原因、审批状态和措施 issueTicketProcessService.lambdaUpdate() .eq(QmsIssueTicketProcess::getId, processId) - .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause()) + .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause) .set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus()) .set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion()) .set(QmsIssueTicketProcess::getApprovalUserId, currentUserId) @@ -161,7 +184,7 @@ public class QmsIssueTicketProcessMeasureControllerService { // 处理人处理:保存根本原因、审批状态和措施 issueTicketProcessService.lambdaUpdate() .eq(QmsIssueTicketProcess::getId, processId) - .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause()) + .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause) .set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus()) .set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion()) .set(QmsIssueTicketProcess::getApprovalUserId, currentUserId) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java index 371ef8c8..868ed4c2 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java @@ -1566,6 +1566,13 @@ public class QmsPqcTaskRecordControllerService { issueTicketService.save(ticket); + QmsIssueTicketToDo ticketTodo = new QmsIssueTicketToDo() + .setTicketId(ticket.getId()) + .setHandlerUserId(taskRecord.getReviewerId()) + .setHasProcessed(false) + .setIsRead(false); + issueTicketToDoService.save(ticketTodo); + // 2. 任务总体合格时,仅生成工单,不创建重检任务 if (!Boolean.FALSE.equals(taskRecord.getEnable())) { return ticket.getId();