From eec0ad801e30567143ccb7f61f0c1f5d0fa258e6 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Mon, 11 May 2026 17:40:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E4=BB=BB=E5=8A=A1=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QmsIssueTicketController.java | 2 +- .../QmsIssueTicketControllerService.java | 37 ++++++++++++++++++- .../pojo/vo/QmsIssueTicketTabletPageData.java | 33 +++++++++++++++++ .../mapper/QmsPdiTaskRecordMapper.xml | 25 ++++++++++--- 4 files changed, 88 insertions(+), 9 deletions(-) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketTabletPageData.java diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java index b7d0180f..39009933 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java @@ -149,7 +149,7 @@ public class QmsIssueTicketController extends BaseController { * 仅查询当前登录人创建的巡检工单 */ @PostMapping("searchTablet") - public ApiResult> searchTablet(@Valid @RequestBody QmsIssueTicketTabletSearchQO request) { + public ApiResult searchTablet(@Valid @RequestBody QmsIssueTicketTabletSearchQO request) { return ApiResult.success(issueTicketControllerService.searchTabletInspectionTickets(request)); } 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 1085f0bd..b7392a80 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 @@ -614,7 +614,7 @@ public class QmsIssueTicketControllerService { * 平板端查询巡检工单列表 * 仅查询当前登录人创建的巡检工单(sourceType=2) */ - public PageData searchTabletInspectionTickets(@Valid QmsIssueTicketTabletSearchQO request) { + public QmsIssueTicketTabletPageData searchTabletInspectionTickets(@Valid QmsIssueTicketTabletSearchQO request) { Long currentUserId = UserUtil.getUserId(); // 构建查询条件 @@ -667,12 +667,45 @@ public class QmsIssueTicketControllerService { .collect(Collectors.toList()); // 构建分页结果 - PageData pageData = new PageData<>(); + QmsIssueTicketTabletPageData pageData = new QmsIssueTicketTabletPageData(); pageData.setItems(voList); pageData.setTotal((int) resultPage.getTotal()); pageData.setPage((int) resultPage.getCurrent()); pageData.setPageSize((int) resultPage.getSize()); + // 统计工单总数(不考虑过滤条件) + Long totalCount = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceType, (short) 2) + .eq(QmsIssueTicket::getCreateUserId, currentUserId) + .count(); + + // 统计待处理数(status=0) + Long pendingCount = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceType, (short) 2) + .eq(QmsIssueTicket::getCreateUserId, currentUserId) + .eq(QmsIssueTicket::getStatus, (short) 0) + .count(); + + // 统计处理中数(status=1) + Long processingCount = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceType, (short) 2) + .eq(QmsIssueTicket::getCreateUserId, currentUserId) + .eq(QmsIssueTicket::getStatus, (short) 1) + .count(); + + // 统计已完成数(status=2) + Long completedCount = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceType, (short) 2) + .eq(QmsIssueTicket::getCreateUserId, currentUserId) + .eq(QmsIssueTicket::getStatus, (short) 2) + .count(); + + // 设置统计字段 + pageData.setTotalCount(totalCount); + pageData.setPendingCount(pendingCount); + pageData.setProcessingCount(processingCount); + pageData.setCompletedCount(completedCount); + return pageData; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketTabletPageData.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketTabletPageData.java new file mode 100644 index 00000000..480bcc42 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketTabletPageData.java @@ -0,0 +1,33 @@ +package com.nflg.wms.common.pojo.vo; + +import com.nflg.wms.common.pojo.PageData; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 平板端巡检工单分页数据(带统计信息) + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class QmsIssueTicketTabletPageData extends PageData { + + /** + * 工单总数(不考虑过滤条件) + */ + private Long totalCount; + + /** + * 待处理数(status=0) + */ + private Long pendingCount; + + /** + * 处理中数(status=1) + */ + private Long processingCount; + + /** + * 已完成数(status=2) + */ + private Long completedCount; +} diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml index 57759d16..63fbfad2 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml @@ -126,12 +126,25 @@ (it.id IS NULL AND (r.inspector_id = #{request.currentUserId} OR t.assistant_id = #{request.currentUserId})) OR - - (it.id IS NOT NULL AND EXISTS ( - SELECT 1 - FROM qms_issue_ticket_process p - WHERE p.issue_ticket_id = it.id - AND p.handler_user_id = #{request.currentUserId} + + (it.id IS NOT NULL AND ( + r.inspector_id = #{request.currentUserId} + OR t.assistant_id = #{request.currentUserId} + OR EXISTS ( + SELECT 1 + FROM qms_issue_ticket_process p + WHERE p.issue_ticket_id = it.id + AND p.handler_user_id = #{request.currentUserId} + ) + OR EXISTS ( + SELECT 1 + FROM qms_issue_ticket_process p + LEFT JOIN "user" handler_user ON handler_user.id = p.handler_user_id + LEFT JOIN user_interior handler_ui ON handler_ui.user_id = handler_user.id + LEFT JOIN department handler_dept ON handler_dept.id = handler_ui.dept_id + WHERE p.issue_ticket_id = it.id + AND handler_dept.head_user_id = #{request.currentUserId} + ) )) )