工单查询新增字段修改

This commit is contained in:
yf001217 2026-06-14 18:19:34 +08:00
parent 27538c238e
commit b9d4237519
3 changed files with 94 additions and 0 deletions

View File

@ -127,6 +127,49 @@ public class QmsIssueTicketControllerService {
issueTicketService.removeByIds(ids);
}
private Map<Long, String> buildCurrentHandlerNameMap(List<QmsIssueTicket> tickets) {
if (CollectionUtil.isEmpty(tickets)) {
return Collections.emptyMap();
}
List<Long> ticketIds = tickets.stream()
.map(QmsIssueTicket::getId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (CollectionUtil.isEmpty(ticketIds)) {
return Collections.emptyMap();
}
Map<Long, LinkedHashSet<String>> ticketHandlerMap = new HashMap<>();
List<QmsIssueTicketProcess> processes = issueTicketProcessService.lambdaQuery()
.in(QmsIssueTicketProcess::getIssueTicketId, ticketIds)
.orderByAsc(QmsIssueTicketProcess::getId)
.list();
for (QmsIssueTicketProcess process : processes) {
String handlerName = StrUtil.isNotBlank(process.getLeaderUserName())
? process.getLeaderUserName()
: process.getHandlerUserName();
if (StrUtil.isBlank(handlerName)) {
continue;
}
ticketHandlerMap.computeIfAbsent(process.getIssueTicketId(), key -> new LinkedHashSet<>())
.add(handlerName);
}
Map<Long, String> result = new HashMap<>();
for (QmsIssueTicket ticket : tickets) {
LinkedHashSet<String> handlerNames = ticketHandlerMap.get(ticket.getId());
if (CollectionUtil.isEmpty(handlerNames) && StrUtil.isNotBlank(ticket.getApprovalUserName())) {
handlerNames = new LinkedHashSet<>();
handlerNames.add(ticket.getApprovalUserName());
}
if (CollectionUtil.isNotEmpty(handlerNames)) {
result.put(ticket.getId(), String.join("", handlerNames));
}
}
return result;
}
/**
* 发起巡检工单
* 1. 校验工单存在且来源类型为巡检sourceType=2
@ -1109,6 +1152,8 @@ public class QmsIssueTicketControllerService {
Page<QmsIssueTicket> page = new Page<>(request.getPage(), request.getPageSize());
Page<QmsIssueTicket> resultPage = issueTicketService.page(page, wrapper);
Map<Long, String> currentHandlerNameMap = buildCurrentHandlerNameMap(resultPage.getRecords());
// 转换为VO
List<QmsIssueTicketVO> voList = resultPage.getRecords().stream()
.map(ticket -> {
@ -1125,6 +1170,7 @@ public class QmsIssueTicketControllerService {
vo.setStatus(ticket.getStatus());
vo.setCreateApproval(ticket.getCreateApproval());
vo.setCreateApprovalOpinion(ticket.getCreateApprovalOpinion());
vo.setCurrentHandlerName(currentHandlerNameMap.get(ticket.getId()));
return vo;
})
.collect(Collectors.toList());

View File

@ -103,6 +103,8 @@ public class QmsIssueTicketVO {
*/
private String approvalUserName;
private String currentHandlerName;
/**
* 审批时间
*/

View File

@ -114,9 +114,12 @@ public class QmsIssueTicketServiceImpl
}
}
Map<Long, String> currentHandlerNameMap = buildCurrentHandlerNameMap(result.getRecords());
List<QmsIssueTicketVO> voList = result.getRecords().stream()
.map(entity -> {
QmsIssueTicketVO vo = BeanUtil.copyProperties(entity, QmsIssueTicketVO.class);
vo.setCurrentHandlerName(currentHandlerNameMap.get(entity.getId()));
// 组装图片列表
if (StrUtil.isNotBlank(entity.getImageIds())) {
List<QmsIssueTicketVO.ImageVO> images = Arrays.stream(entity.getImageIds().split(","))
@ -149,4 +152,47 @@ public class QmsIssueTicketServiceImpl
pageData.setItems(voList);
return pageData;
}
private Map<Long, String> buildCurrentHandlerNameMap(List<QmsIssueTicket> tickets) {
if (CollectionUtil.isEmpty(tickets)) {
return Collections.emptyMap();
}
List<Long> ticketIds = tickets.stream()
.map(QmsIssueTicket::getId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (CollectionUtil.isEmpty(ticketIds)) {
return Collections.emptyMap();
}
Map<Long, LinkedHashSet<String>> ticketHandlerMap = new HashMap<>();
List<QmsIssueTicketProcess> processes = issueTicketProcessService.lambdaQuery()
.in(QmsIssueTicketProcess::getIssueTicketId, ticketIds)
.orderByAsc(QmsIssueTicketProcess::getId)
.list();
for (QmsIssueTicketProcess process : processes) {
String handlerName = StrUtil.isNotBlank(process.getLeaderUserName())
? process.getLeaderUserName()
: process.getHandlerUserName();
if (StrUtil.isBlank(handlerName)) {
continue;
}
ticketHandlerMap.computeIfAbsent(process.getIssueTicketId(), key -> new LinkedHashSet<>())
.add(handlerName);
}
Map<Long, String> result = new HashMap<>();
for (QmsIssueTicket ticket : tickets) {
LinkedHashSet<String> handlerNames = ticketHandlerMap.get(ticket.getId());
if (CollectionUtil.isEmpty(handlerNames) && StrUtil.isNotBlank(ticket.getApprovalUserName())) {
handlerNames = new LinkedHashSet<>();
handlerNames.add(ticket.getApprovalUserName());
}
if (CollectionUtil.isNotEmpty(handlerNames)) {
result.put(ticket.getId(), String.join("", handlerNames));
}
}
return result;
}
}