From 1651ad531873d0919f20642087eb3523eb2f5be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 12 May 2026 10:41:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(issue-ticket):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E9=97=AE=E9=A2=98=E5=B7=A5=E5=8D=95=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改控制器注释,明确为质量问题工单待办 - 查询待办事项时关联获取当前未完成工单的所有处理人名称 - 调整SQL查询逻辑,修正关联字段并限制待办视图的访问权限 - QmsTodoItemVO新增ticketId字段,替换currentUserName为currentHandleUserName以更准确表示含义 --- .../QmsIssueTicketTodoController.java | 2 +- .../QmsIssueTicketTodoControllerService.java | 29 ++++++++++++++++++- .../wms/common/pojo/vo/QmsTodoItemVO.java | 7 ++++- .../mapper/QmsIssueTicketToDoMapper.xml | 4 +-- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketTodoController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketTodoController.java index 40112e9e..be242e93 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketTodoController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketTodoController.java @@ -12,7 +12,7 @@ import jakarta.validation.Valid; import org.springframework.web.bind.annotation.*; /** - * 工单待办 + * 质量问题工单待办 */ @RestController @RequestMapping("/ticket-todo-item") diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketTodoControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketTodoControllerService.java index e1837409..45a7bd64 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketTodoControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketTodoControllerService.java @@ -1,8 +1,13 @@ package com.nflg.qms.admin.service; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO; import com.nflg.wms.common.pojo.vo.QmsTodoItemVO; +import com.nflg.wms.repository.entity.QmsIssueTicketProcess; +import com.nflg.wms.repository.service.IQmsIssueTicketProcessService; +import com.nflg.wms.repository.service.IQmsIssueTicketService; import com.nflg.wms.repository.service.IQmsIssueTicketToDoService; import com.nflg.wms.repository.service.IQmsTodoItemService; import jakarta.annotation.Resource; @@ -17,10 +22,32 @@ public class QmsIssueTicketTodoControllerService { @Resource private IQmsIssueTicketToDoService issueTicketToDoService; + @Resource + private IQmsIssueTicketProcessService issueTicketProcessService; + /** * 分页查询待办事项列表 */ public IPage search(QmsTodoItemSearchQO request) { - return issueTicketToDoService.search(request); + IPage pageData = issueTicketToDoService.search(request); + if (CollectionUtil.isNotEmpty(pageData.getRecords())) { + pageData.getRecords().forEach(item -> { + if (item.getStatus() != 2) { + item.setCurrentHandleUserName( + StrUtil.join(",", + issueTicketProcessService.lambdaQuery() + .select(QmsIssueTicketProcess::getHandlerUserName) + .eq(QmsIssueTicketProcess::getIssueTicketId, item.getTicketId()) + .list() + .stream() + .map(QmsIssueTicketProcess::getHandlerUserName) + .toList() + ) + + ); + } + }); + } + return pageData; } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsTodoItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsTodoItemVO.java index 7992fa2b..83c37c99 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsTodoItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsTodoItemVO.java @@ -12,6 +12,11 @@ public class QmsTodoItemVO { private Long id; + /** + * 工单id + */ + private Long ticketId; + /** * 工单编号 */ @@ -40,7 +45,7 @@ public class QmsTodoItemVO { /** * 当前节点处理人 */ - private String currentUserName; + private String currentHandleUserName; /** * 流程结束时间 diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsIssueTicketToDoMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsIssueTicketToDoMapper.xml index 258ee34e..3838d1fc 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsIssueTicketToDoMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsIssueTicketToDoMapper.xml @@ -11,8 +11,8 @@ END AS type, vit.* FROM qms_issue_ticket_todo itd - INNER JOIN v_qms_issue_ticket vit ON itd.source_id = vit.ticket_id - where itd.handler_user_id = #{userId} + INNER JOIN v_qms_issue_ticket vit ON itd.ticket_id = vit.ticket_id + where itd.handler_user_id = #{userId} and (vit.handler_user_id=#{userId} or vit.approval_user_id=#{userId}) AND vit.source_type = #{request.sourceType}