parent
aa42f0b58d
commit
0bcd53a409
|
|
@ -362,14 +362,19 @@ public class QmsIssueTicketControllerService {
|
||||||
throw new NflgException(STATE.BusinessError, "只能分派巡检工单");
|
throw new NflgException(STATE.BusinessError, "只能分派巡检工单");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
// 3. 根据审批状态分支处理
|
// 3. 根据审批状态分支处理
|
||||||
if (request.getApprovalStatus() == 1) {
|
if (request.getApprovalStatus() == 1) {
|
||||||
// 驳回:不创建处理记录,工单改为已完成,推送消息给创建人
|
// 驳回:不创建处理记录,工单改为待流转,推送消息给创建人
|
||||||
issueTicketService.lambdaUpdate()
|
issueTicketService.lambdaUpdate()
|
||||||
.eq(QmsIssueTicket::getId, ticket.getId())
|
.eq(QmsIssueTicket::getId, ticket.getId())
|
||||||
.set(QmsIssueTicket::getStatus, (short) 2)
|
.set(QmsIssueTicket::getStatus, (short) 0)
|
||||||
.set(request.getApprovalOpinion() != null,
|
.set(QmsIssueTicket::getApprovalUserId, null)
|
||||||
QmsIssueTicket::getApprovalOpinion, request.getApprovalOpinion())
|
.set(QmsIssueTicket::getApprovalUserName, null)
|
||||||
|
.set(QmsIssueTicket::getApprovalStatus, null)
|
||||||
|
.set(QmsIssueTicket::getApprovalOpinion, null)
|
||||||
|
.set(QmsIssueTicket::getApprovalTime, null)
|
||||||
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
||||||
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
||||||
.set(QmsIssueTicket::getUpdateTime, now)
|
.set(QmsIssueTicket::getUpdateTime, now)
|
||||||
|
|
|
||||||
|
|
@ -257,10 +257,12 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
|
|
||||||
issueTicketService.lambdaUpdate()
|
issueTicketService.lambdaUpdate()
|
||||||
.eq(QmsIssueTicket::getId, ticket.getId())
|
.eq(QmsIssueTicket::getId, ticket.getId())
|
||||||
.set(QmsIssueTicket::getStatus, (short) 2)
|
.set(QmsIssueTicket::getStatus, (short) 0)
|
||||||
.set(QmsIssueTicket::getApprovalStatus, request.getApprovalStatus())
|
.set(QmsIssueTicket::getApprovalUserId, null)
|
||||||
.set(request.getApprovalOpinion() != null,
|
.set(QmsIssueTicket::getApprovalUserName, null)
|
||||||
QmsIssueTicket::getApprovalOpinion, request.getApprovalOpinion())
|
.set(QmsIssueTicket::getApprovalStatus, null)
|
||||||
|
.set(QmsIssueTicket::getApprovalOpinion, null)
|
||||||
|
.set(QmsIssueTicket::getApprovalTime, null)
|
||||||
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
||||||
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
||||||
.set(QmsIssueTicket::getUpdateTime, now)
|
.set(QmsIssueTicket::getUpdateTime, now)
|
||||||
|
|
@ -470,6 +472,13 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
Long currentUserId, String currentUserName) {
|
Long currentUserId, String currentUserName) {
|
||||||
// 1. 保存数据(调用draftUnified)
|
// 1. 保存数据(调用draftUnified)
|
||||||
issueTicketProcessMeasureControllerService.draftUnified(request);
|
issueTicketProcessMeasureControllerService.draftUnified(request);
|
||||||
|
QmsIssueTicketProcess latestProcess = issueTicketProcessService.getById(process.getId());
|
||||||
|
Short approvalStatus = request.getApprovalStatus() != null
|
||||||
|
? request.getApprovalStatus()
|
||||||
|
: latestProcess.getApprovalStatus();
|
||||||
|
VUtil.trueThrowBusinessError(approvalStatus == null).throwMessage("提交时审批状态不能为空");
|
||||||
|
VUtil.trueThrowBusinessError(approvalStatus != 0 && approvalStatus != 1)
|
||||||
|
.throwMessage("不支持的审批状态");
|
||||||
|
|
||||||
// 2. 写入审批时间
|
// 2. 写入审批时间
|
||||||
issueTicketProcessService.lambdaUpdate()
|
issueTicketProcessService.lambdaUpdate()
|
||||||
|
|
@ -480,13 +489,13 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
issueTicketToDoService.processed(ticket.getId());
|
issueTicketToDoService.processed(ticket.getId());
|
||||||
|
|
||||||
// 3. 根据审批状态处理
|
// 3. 根据审批状态处理
|
||||||
if (request.getApprovalStatus() != null && request.getApprovalStatus() == 1) {
|
if (approvalStatus == 1) {
|
||||||
// 驳回:推送给工单创建人
|
// 驳回:推送给工单创建人
|
||||||
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
|
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
|
||||||
.setTicketId(ticket.getId())
|
.setTicketId(ticket.getId())
|
||||||
.setHandlerUserId(ticket.getCreateUserId());
|
.setHandlerUserId(ticket.getCreateUserId());
|
||||||
issueTicketToDoService.save(todoItem);
|
issueTicketToDoService.save(todoItem);
|
||||||
} else if (request.getApprovalStatus() != null && request.getApprovalStatus() == 0) {
|
} else if (approvalStatus == 0) {
|
||||||
// 通过:校验措施(临时措施或永久措施至少填一个)
|
// 通过:校验措施(临时措施或永久措施至少填一个)
|
||||||
boolean hasMeasures = checkPqcMeasures(process.getId());
|
boolean hasMeasures = checkPqcMeasures(process.getId());
|
||||||
if (!hasMeasures) {
|
if (!hasMeasures) {
|
||||||
|
|
@ -554,17 +563,22 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.eq(QmsIssueTicketProcess::getIssueTicketId, ticketId)
|
.eq(QmsIssueTicketProcess::getIssueTicketId, ticketId)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
Map<Long, List<QmsIssueTicketProcess>> processMap = processes.stream()
|
List<QmsIssueTicketProcess> dispatchedProcesses = processes.stream()
|
||||||
|
.filter(p -> StrUtil.isNotBlank(p.getTaskResultIds()))
|
||||||
|
.toList();
|
||||||
|
List<QmsIssueTicketProcess> effectiveProcesses = dispatchedProcesses.isEmpty()
|
||||||
|
? processes
|
||||||
|
: dispatchedProcesses;
|
||||||
|
|
||||||
|
Map<Long, List<QmsIssueTicketProcess>> processMap = effectiveProcesses.stream()
|
||||||
.filter(p -> p.getHandlerUserId() != null)
|
.filter(p -> p.getHandlerUserId() != null)
|
||||||
.collect(Collectors.groupingBy(QmsIssueTicketProcess::getHandlerUserId));
|
.collect(Collectors.groupingBy(QmsIssueTicketProcess::getHandlerUserId));
|
||||||
if (processMap.isEmpty()) {
|
if (processMap.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按处理人去重判断,避免同一个处理人存在重复处理记录时一直卡在处理中
|
// 按处理人去重判断,避免自动生成工单时的占位处理记录卡住完成状态
|
||||||
return processes.stream()
|
return processMap
|
||||||
.filter(p -> p.getHandlerUserId() != null)
|
|
||||||
.collect(Collectors.groupingBy(QmsIssueTicketProcess::getHandlerUserId))
|
|
||||||
.values()
|
.values()
|
||||||
.stream()
|
.stream()
|
||||||
.allMatch(list -> list.stream()
|
.allMatch(list -> list.stream()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue