Merge remote-tracking branch '惠信/qms/develop' into qms/develop
This commit is contained in:
commit
42293094c4
|
|
@ -127,6 +127,49 @@ public class QmsIssueTicketControllerService {
|
||||||
issueTicketService.removeByIds(ids);
|
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)
|
* 1. 校验工单存在且来源类型为巡检(sourceType=2)
|
||||||
|
|
@ -1109,6 +1152,8 @@ public class QmsIssueTicketControllerService {
|
||||||
Page<QmsIssueTicket> page = new Page<>(request.getPage(), request.getPageSize());
|
Page<QmsIssueTicket> page = new Page<>(request.getPage(), request.getPageSize());
|
||||||
Page<QmsIssueTicket> resultPage = issueTicketService.page(page, wrapper);
|
Page<QmsIssueTicket> resultPage = issueTicketService.page(page, wrapper);
|
||||||
|
|
||||||
|
Map<Long, String> currentHandlerNameMap = buildCurrentHandlerNameMap(resultPage.getRecords());
|
||||||
|
|
||||||
// 转换为VO
|
// 转换为VO
|
||||||
List<QmsIssueTicketVO> voList = resultPage.getRecords().stream()
|
List<QmsIssueTicketVO> voList = resultPage.getRecords().stream()
|
||||||
.map(ticket -> {
|
.map(ticket -> {
|
||||||
|
|
@ -1125,6 +1170,7 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setStatus(ticket.getStatus());
|
vo.setStatus(ticket.getStatus());
|
||||||
vo.setCreateApproval(ticket.getCreateApproval());
|
vo.setCreateApproval(ticket.getCreateApproval());
|
||||||
vo.setCreateApprovalOpinion(ticket.getCreateApprovalOpinion());
|
vo.setCreateApprovalOpinion(ticket.getCreateApprovalOpinion());
|
||||||
|
vo.setCurrentHandlerName(currentHandlerNameMap.get(ticket.getId()));
|
||||||
return vo;
|
return vo;
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,8 @@ public class QmsIssueTicketVO {
|
||||||
*/
|
*/
|
||||||
private String approvalUserName;
|
private String approvalUserName;
|
||||||
|
|
||||||
|
private String currentHandlerName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批时间
|
* 审批时间
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -114,9 +114,12 @@ public class QmsIssueTicketServiceImpl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map<Long, String> currentHandlerNameMap = buildCurrentHandlerNameMap(result.getRecords());
|
||||||
|
|
||||||
List<QmsIssueTicketVO> voList = result.getRecords().stream()
|
List<QmsIssueTicketVO> voList = result.getRecords().stream()
|
||||||
.map(entity -> {
|
.map(entity -> {
|
||||||
QmsIssueTicketVO vo = BeanUtil.copyProperties(entity, QmsIssueTicketVO.class);
|
QmsIssueTicketVO vo = BeanUtil.copyProperties(entity, QmsIssueTicketVO.class);
|
||||||
|
vo.setCurrentHandlerName(currentHandlerNameMap.get(entity.getId()));
|
||||||
// 组装图片列表
|
// 组装图片列表
|
||||||
if (StrUtil.isNotBlank(entity.getImageIds())) {
|
if (StrUtil.isNotBlank(entity.getImageIds())) {
|
||||||
List<QmsIssueTicketVO.ImageVO> images = Arrays.stream(entity.getImageIds().split(","))
|
List<QmsIssueTicketVO.ImageVO> images = Arrays.stream(entity.getImageIds().split(","))
|
||||||
|
|
@ -149,4 +152,47 @@ public class QmsIssueTicketServiceImpl
|
||||||
pageData.setItems(voList);
|
pageData.setItems(voList);
|
||||||
return pageData;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue