From 495804ea395c5aa4aaa62e3ce736be9a8fe4973c Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Wed, 13 May 2026 18:00:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=8E=AA=E6=96=BD=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...msIssueTicketProcessControllerService.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java index 5bdb5402..39a2f791 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java @@ -145,6 +145,28 @@ public class QmsIssueTicketProcessControllerService { .eq(QmsIssueTicketProcess::getLeaderUserId, currentUserId)) .last("LIMIT 1") .one(); + + // 如果没找到,检查当前用户是否为处理人的部门负责人 + if (process == null) { + List allProcesses = issueTicketProcessService.lambdaQuery() + .eq(QmsIssueTicketProcess::getIssueTicketId, request.getId()) + .list(); + for (QmsIssueTicketProcess p : allProcesses) { + if (p.getHandlerUserId() == null) continue; + UserInterior handlerInterior = userInteriorService.lambdaQuery() + .eq(UserInterior::getUserId, p.getHandlerUserId()) + .one(); + if (handlerInterior != null && handlerInterior.getDeptId() != null) { + Department dept = departmentService.getById(handlerInterior.getDeptId()); + if (dept != null && currentUserId.equals(dept.getHeadUserId())) { + // 找到该处理人的记录,作为领导的处理记录 + process = p; + break; + } + } + } + } + VUtil.trueThrowBusinessError(Objects.isNull(process)).throwMessage("未找到当前用户的工单处理记录"); Short sourceType = ticket.getSourceType();