From ad256a82c2b5f7f7b30f93d9479a9675d9e276e1 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Sun, 14 Jun 2026 20:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=BE=85=E5=8A=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...msIssueTicketProcessControllerService.java | 57 +++++++++++-------- .../QmsPqcTaskRecordControllerService.java | 10 ++++ 2 files changed, 42 insertions(+), 25 deletions(-) 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 9f40e96e..fe3aadd3 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 @@ -222,19 +222,7 @@ public class QmsIssueTicketProcessControllerService { issueTicketToDoService.save(todoItem); } else if (request.getApprovalStatus() != null && request.getApprovalStatus() == 0) { // 通过:推送给处理人所在部门负责人 - UserInterior userInterior = userInteriorService.lambdaQuery() - .eq(UserInterior::getUserId, currentUserId) - .one(); - - if (userInterior != null && userInterior.getDeptId() != null) { - Department department = departmentService.getById(userInterior.getDeptId()); - if (department != null && department.getHeadUserId() != null) { - QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo() - .setTicketId(ticket.getId()) - .setHandlerUserId(department.getHeadUserId()); - issueTicketToDoService.save(todoItem); - } - } + pushLeaderTicketTodo(ticket.getId(), process.getId(), currentUserId); } } else { // 领导审批 @@ -402,18 +390,7 @@ public class QmsIssueTicketProcessControllerService { } else if (request.getApprovalStatus() == 0) { // 通过:推送给当前用户所在部门负责人 Long currentUserId = UserUtil.getUserId(); - UserInterior userInterior = userInteriorService.lambdaQuery() - .eq(UserInterior::getUserId, currentUserId) - .one(); - if (userInterior != null && userInterior.getDeptId() != null) { - Department department = departmentService.getById(userInterior.getDeptId()); - if (department != null && department.getHeadUserId() != null) { - QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo() - .setTicketId(ticket.getId()) - .setHandlerUserId(department.getHeadUserId()); - issueTicketToDoService.save(todoItem); - } - } + pushLeaderTicketTodo(ticket.getId(), processId, currentUserId); // 推送消息给工单创建人 if (ticket.getCreateUserId() != null) { @@ -428,6 +405,35 @@ public class QmsIssueTicketProcessControllerService { /** * PQC工单处理人提交 */ + private void pushLeaderTicketTodo(Long ticketId, Long processId, Long handlerUserId) { + UserInterior userInterior = userInteriorService.lambdaQuery() + .eq(UserInterior::getUserId, handlerUserId) + .one(); + if (userInterior == null || userInterior.getDeptId() == null) { + return; + } + + Department department = departmentService.getById(userInterior.getDeptId()); + if (department == null || department.getHeadUserId() == null) { + return; + } + + User leaderUser = userService.getById(department.getHeadUserId()); + issueTicketProcessService.lambdaUpdate() + .eq(QmsIssueTicketProcess::getId, processId) + .set(QmsIssueTicketProcess::getLeaderUserId, department.getHeadUserId()) + .set(leaderUser != null, QmsIssueTicketProcess::getLeaderUserName, + leaderUser == null ? null : leaderUser.getUserName()) + .update(); + + QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo() + .setTicketId(ticketId) + .setHandlerUserId(department.getHeadUserId()) + .setHasProcessed(false) + .setIsRead(false); + issueTicketToDoService.save(todoItem); + } + @Transactional(rollbackFor = Exception.class) public void submitPqcHandler(QmsIssueTicketProcessDraftQO request, QmsIssueTicket ticket, QmsIssueTicketProcess process, LocalDateTime now, @@ -464,6 +470,7 @@ public class QmsIssueTicketProcessControllerService { issueTicketService.lambdaUpdate() .eq(QmsIssueTicket::getId, ticket.getId()) .set(QmsIssueTicket::getStatus, (short) 2) + .set(QmsIssueTicket::getCompleteTime, now) .set(QmsIssueTicket::getUpdateUserId, currentUserId) .set(QmsIssueTicket::getUpdateUserName, currentUserName) .set(QmsIssueTicket::getUpdateTime, now) 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 868ed4c2..1417814d 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 @@ -64,6 +64,9 @@ public class QmsPqcTaskRecordControllerService { @Resource private IQmsIssueTicketToDoService issueTicketToDoService; + @Resource + private IQmsIssueTicketProcessService issueTicketProcessService; + @Resource private IUserService userService; @@ -1552,6 +1555,7 @@ public class QmsPqcTaskRecordControllerService { QmsPqcInspectionPoint point = pqcInspectionPointService.getById(taskRecord.getInspectionPointId()); String stepName = point != null ? point.getStepName() : ""; String inspectionPointName = point != null ? point.getInspectionPointName() : ""; + VUtil.trueThrowBusinessError(taskRecord.getReviewerId() == null).throwMessage("PQC工单处理人不能为空"); QmsIssueTicket ticket = new QmsIssueTicket() .setSourceType((short) 3) // PQC @@ -1566,6 +1570,12 @@ public class QmsPqcTaskRecordControllerService { issueTicketService.save(ticket); + QmsIssueTicketProcess ticketProcess = new QmsIssueTicketProcess() + .setIssueTicketId(ticket.getId()) + .setHandlerUserId(taskRecord.getReviewerId()) + .setHandlerUserName(taskRecord.getReviewerName()); + issueTicketProcessService.save(ticketProcess); + QmsIssueTicketToDo ticketTodo = new QmsIssueTicketToDo() .setTicketId(ticket.getId()) .setHandlerUserId(taskRecord.getReviewerId())