巡检任务工单查询修改

This commit is contained in:
funny 2026-05-11 17:40:46 +08:00
parent edb387a8a5
commit eec0ad801e
4 changed files with 88 additions and 9 deletions

View File

@ -149,7 +149,7 @@ public class QmsIssueTicketController extends BaseController {
* 仅查询当前登录人创建的巡检工单 * 仅查询当前登录人创建的巡检工单
*/ */
@PostMapping("searchTablet") @PostMapping("searchTablet")
public ApiResult<PageData<QmsIssueTicketVO>> searchTablet(@Valid @RequestBody QmsIssueTicketTabletSearchQO request) { public ApiResult<QmsIssueTicketTabletPageData> searchTablet(@Valid @RequestBody QmsIssueTicketTabletSearchQO request) {
return ApiResult.success(issueTicketControllerService.searchTabletInspectionTickets(request)); return ApiResult.success(issueTicketControllerService.searchTabletInspectionTickets(request));
} }

View File

@ -614,7 +614,7 @@ public class QmsIssueTicketControllerService {
* 平板端查询巡检工单列表 * 平板端查询巡检工单列表
* 仅查询当前登录人创建的巡检工单sourceType=2 * 仅查询当前登录人创建的巡检工单sourceType=2
*/ */
public PageData<QmsIssueTicketVO> searchTabletInspectionTickets(@Valid QmsIssueTicketTabletSearchQO request) { public QmsIssueTicketTabletPageData searchTabletInspectionTickets(@Valid QmsIssueTicketTabletSearchQO request) {
Long currentUserId = UserUtil.getUserId(); Long currentUserId = UserUtil.getUserId();
// 构建查询条件 // 构建查询条件
@ -667,12 +667,45 @@ public class QmsIssueTicketControllerService {
.collect(Collectors.toList()); .collect(Collectors.toList());
// 构建分页结果 // 构建分页结果
PageData<QmsIssueTicketVO> pageData = new PageData<>(); QmsIssueTicketTabletPageData pageData = new QmsIssueTicketTabletPageData();
pageData.setItems(voList); pageData.setItems(voList);
pageData.setTotal((int) resultPage.getTotal()); pageData.setTotal((int) resultPage.getTotal());
pageData.setPage((int) resultPage.getCurrent()); pageData.setPage((int) resultPage.getCurrent());
pageData.setPageSize((int) resultPage.getSize()); 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; return pageData;
} }

View File

@ -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<QmsIssueTicketVO> {
/**
* 工单总数不考虑过滤条件
*/
private Long totalCount;
/**
* 待处理数status=0
*/
private Long pendingCount;
/**
* 处理中数status=1
*/
private Long processingCount;
/**
* 已完成数status=2
*/
private Long completedCount;
}

View File

@ -126,12 +126,25 @@
<!-- 无工单时:显示给质检人或帮办人 --> <!-- 无工单时:显示给质检人或帮办人 -->
(it.id IS NULL AND (r.inspector_id = #{request.currentUserId} OR t.assistant_id = #{request.currentUserId})) (it.id IS NULL AND (r.inspector_id = #{request.currentUserId} OR t.assistant_id = #{request.currentUserId}))
OR OR
<!-- 有工单时:只显示该用户作为处理人的工单 --> <!-- 有工单时:显示给质检人/帮办人 或 工单处理人 或 处理人的领导 -->
(it.id IS NOT NULL AND EXISTS ( (it.id IS NOT NULL AND (
SELECT 1 r.inspector_id = #{request.currentUserId}
FROM qms_issue_ticket_process p OR t.assistant_id = #{request.currentUserId}
WHERE p.issue_ticket_id = it.id OR EXISTS (
AND p.handler_user_id = #{request.currentUserId} 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}
)
)) ))
) )
<if test="request.inspectionType != null"> <if test="request.inspectionType != null">