feat(issue-ticket): 优化质量问题工单待办列表展示
- 修改控制器注释,明确为质量问题工单待办 - 查询待办事项时关联获取当前未完成工单的所有处理人名称 - 调整SQL查询逻辑,修正关联字段并限制待办视图的访问权限 - QmsTodoItemVO新增ticketId字段,替换currentUserName为currentHandleUserName以更准确表示含义
This commit is contained in:
parent
ebdaa6b888
commit
1651ad5318
|
|
@ -12,7 +12,7 @@ import jakarta.validation.Valid;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单待办
|
* 质量问题工单待办
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/ticket-todo-item")
|
@RequestMapping("/ticket-todo-item")
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,13 @@
|
||||||
package com.nflg.qms.admin.service;
|
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.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
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.IQmsIssueTicketToDoService;
|
||||||
import com.nflg.wms.repository.service.IQmsTodoItemService;
|
import com.nflg.wms.repository.service.IQmsTodoItemService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
|
@ -17,10 +22,32 @@ public class QmsIssueTicketTodoControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private IQmsIssueTicketToDoService issueTicketToDoService;
|
private IQmsIssueTicketToDoService issueTicketToDoService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IQmsIssueTicketProcessService issueTicketProcessService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询待办事项列表
|
* 分页查询待办事项列表
|
||||||
*/
|
*/
|
||||||
public IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request) {
|
public IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request) {
|
||||||
return issueTicketToDoService.search(request);
|
IPage<QmsTodoItemVO> 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,11 @@ public class QmsTodoItemVO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单id
|
||||||
|
*/
|
||||||
|
private Long ticketId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单编号
|
* 工单编号
|
||||||
*/
|
*/
|
||||||
|
|
@ -40,7 +45,7 @@ public class QmsTodoItemVO {
|
||||||
/**
|
/**
|
||||||
* 当前节点处理人
|
* 当前节点处理人
|
||||||
*/
|
*/
|
||||||
private String currentUserName;
|
private String currentHandleUserName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程结束时间
|
* 流程结束时间
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
END AS type,
|
END AS type,
|
||||||
vit.*
|
vit.*
|
||||||
FROM qms_issue_ticket_todo itd
|
FROM qms_issue_ticket_todo itd
|
||||||
INNER JOIN v_qms_issue_ticket vit ON itd.source_id = vit.ticket_id
|
INNER JOIN v_qms_issue_ticket vit ON itd.ticket_id = vit.ticket_id
|
||||||
where itd.handler_user_id = #{userId}
|
where itd.handler_user_id = #{userId} and (vit.handler_user_id=#{userId} or vit.approval_user_id=#{userId})
|
||||||
<if test="request.sourceType != null">
|
<if test="request.sourceType != null">
|
||||||
AND vit.source_type = #{request.sourceType}
|
AND vit.source_type = #{request.sourceType}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue