pqc工单完成修改
This commit is contained in:
parent
25f84d0511
commit
1fb2394a5a
|
|
@ -2686,6 +2686,7 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setIsDispatch(ticket.getStatus() != null && (ticket.getStatus() == 0 || ticket.getStatus() == 1));
|
vo.setIsDispatch(ticket.getStatus() != null && (ticket.getStatus() == 0 || ticket.getStatus() == 1));
|
||||||
vo.setIsReview(ticket.getStatus() != null && ticket.getStatus() == 2);
|
vo.setIsReview(ticket.getStatus() != null && ticket.getStatus() == 2);
|
||||||
vo.setIsEdit(false);
|
vo.setIsEdit(false);
|
||||||
|
vo.setIsShut(ticket.getStatus() != null && ticket.getStatus() == 2);
|
||||||
} else if (isHandler && process != null) {
|
} else if (isHandler && process != null) {
|
||||||
// 处理人:
|
// 处理人:
|
||||||
// - isDispatch=false(处理人无分派权限)
|
// - isDispatch=false(处理人无分派权限)
|
||||||
|
|
@ -2694,11 +2695,13 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setIsDispatch(false);
|
vo.setIsDispatch(false);
|
||||||
vo.setIsReview(ticket.getStatus() != null && ticket.getStatus() == 1 && process.getApprovalStatus() == null);
|
vo.setIsReview(ticket.getStatus() != null && ticket.getStatus() == 1 && process.getApprovalStatus() == null);
|
||||||
vo.setIsEdit(ticket.getStatus() != null && ticket.getStatus() == 1 && process.getApprovalStatus() == null);
|
vo.setIsEdit(ticket.getStatus() != null && ticket.getStatus() == 1 && process.getApprovalStatus() == null);
|
||||||
|
vo.setIsShut(false);
|
||||||
} else {
|
} else {
|
||||||
// 其他角色:无权限
|
// 其他角色:无权限
|
||||||
vo.setIsDispatch(false);
|
vo.setIsDispatch(false);
|
||||||
vo.setIsReview(false);
|
vo.setIsReview(false);
|
||||||
vo.setIsEdit(false);
|
vo.setIsEdit(false);
|
||||||
|
vo.setIsShut(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
|
|
|
||||||
|
|
@ -500,11 +500,21 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
|
|
||||||
// 3. 根据审批状态处理
|
// 3. 根据审批状态处理
|
||||||
if (approvalStatus == 1) {
|
if (approvalStatus == 1) {
|
||||||
// 驳回:推送给工单创建人
|
boolean allHandlersRejected = isAllPqcHandlersRejected(ticket.getId());
|
||||||
|
if (allHandlersRejected) {
|
||||||
|
issueTicketService.lambdaUpdate()
|
||||||
|
.eq(QmsIssueTicket::getId, ticket.getId())
|
||||||
|
.set(QmsIssueTicket::getStatus, (short) 0)
|
||||||
|
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
|
||||||
|
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
|
||||||
|
.set(QmsIssueTicket::getUpdateTime, now)
|
||||||
|
.update();
|
||||||
|
|
||||||
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 (approvalStatus == 0) {
|
} else if (approvalStatus == 0) {
|
||||||
// 通过:校验措施(临时措施或永久措施至少填一个)
|
// 通过:校验措施(临时措施或永久措施至少填一个)
|
||||||
boolean hasMeasures = checkPqcMeasures(process.getId());
|
boolean hasMeasures = checkPqcMeasures(process.getId());
|
||||||
|
|
@ -594,4 +604,30 @@ public class QmsIssueTicketProcessControllerService {
|
||||||
.allMatch(list -> list.stream()
|
.allMatch(list -> list.stream()
|
||||||
.anyMatch(p -> p.getApprovalTime() != null || currentUserId.equals(p.getHandlerUserId())));
|
.anyMatch(p -> p.getApprovalTime() != null || currentUserId.equals(p.getHandlerUserId())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isAllPqcHandlersRejected(Long ticketId) {
|
||||||
|
List<QmsIssueTicketProcess> processes = issueTicketProcessService.lambdaQuery()
|
||||||
|
.eq(QmsIssueTicketProcess::getIssueTicketId, ticketId)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
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)
|
||||||
|
.collect(Collectors.groupingBy(QmsIssueTicketProcess::getHandlerUserId));
|
||||||
|
if (processMap.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return processMap
|
||||||
|
.values()
|
||||||
|
.stream()
|
||||||
|
.allMatch(list -> list.stream()
|
||||||
|
.anyMatch(p -> Objects.equals(p.getApprovalStatus(), (short) 1)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,9 @@ public class QmsPqcTaskRecordControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private IQmsIssueTicketService issueTicketService;
|
private IQmsIssueTicketService issueTicketService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IQmsIssueTicketToDoService issueTicketToDoService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IUserService userService;
|
private IUserService userService;
|
||||||
|
|
||||||
|
|
@ -1564,6 +1567,13 @@ public class QmsPqcTaskRecordControllerService {
|
||||||
|
|
||||||
issueTicketService.save(ticket);
|
issueTicketService.save(ticket);
|
||||||
|
|
||||||
|
QmsIssueTicketToDo ticketTodo = new QmsIssueTicketToDo()
|
||||||
|
.setTicketId(ticket.getId())
|
||||||
|
.setHandlerUserId(taskRecord.getReviewerId())
|
||||||
|
.setHasProcessed(false)
|
||||||
|
.setIsRead(false);
|
||||||
|
issueTicketToDoService.save(ticketTodo);
|
||||||
|
|
||||||
// 2. 任务总体合格时,仅生成工单,不创建重检任务
|
// 2. 任务总体合格时,仅生成工单,不创建重检任务
|
||||||
if (!Boolean.FALSE.equals(taskRecord.getEnable())) {
|
if (!Boolean.FALSE.equals(taskRecord.getEnable())) {
|
||||||
return ticket.getId();
|
return ticket.getId();
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ public class QmsPqcTicketMyDetailVO {
|
||||||
*/
|
*/
|
||||||
private Boolean isEdit;
|
private Boolean isEdit;
|
||||||
|
|
||||||
|
private Boolean isShut;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 来源类型:3=PQC
|
* 来源类型:3=PQC
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue