pqc、巡检工单修改
This commit is contained in:
parent
21ac284073
commit
c82c48881a
|
|
@ -652,7 +652,7 @@ public class QmsIssueTicketControllerService {
|
|||
.setIncidentDescription(incidentDescription)
|
||||
.setRemark(request.getRemark())
|
||||
.setUnqualifiedQty(unqualifiedDetails.size())
|
||||
.setStatus((short) 1)
|
||||
.setStatus((short) 0)
|
||||
.setCreateUserId(userId)
|
||||
.setCreateUserName(userName)
|
||||
.setCreateTime(now)
|
||||
|
|
@ -661,6 +661,13 @@ public class QmsIssueTicketControllerService {
|
|||
.setUpdateTime(now);
|
||||
issueTicketService.save(entity);
|
||||
|
||||
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
|
||||
.setTicketId(entity.getId())
|
||||
.setHandlerUserId(userId)
|
||||
.setHasProcessed(false)
|
||||
.setIsRead(false);
|
||||
issueTicketToDoService.save(todoItem);
|
||||
|
||||
Set<Long> fileIds = new HashSet<>();
|
||||
Set<Long> itemIds = unqualifiedDetails.stream()
|
||||
.map(QmsPqcTaskRecordDetails::getInspectionPointItemId)
|
||||
|
|
|
|||
|
|
@ -293,10 +293,8 @@ public class QmsIssueTicketProcessControllerService {
|
|||
VUtil.trueThrowBusinessError(Objects.isNull(request.getApprovalStatus()))
|
||||
.throwMessage("提交时审批状态不能为空");
|
||||
|
||||
// 2. 驳回时校验:handlers和审批意见不能为空
|
||||
// 2. 驳回时校验:审批意见不能为空
|
||||
if (request.getApprovalStatus() == 1) {
|
||||
VUtil.trueThrowBusinessError(request.getHandlers() == null || request.getHandlers().isEmpty())
|
||||
.throwMessage("驳回时处理人列表不能为空");
|
||||
VUtil.trueThrowBusinessError(StrUtil.isBlank(request.getApprovalOpinion()))
|
||||
.throwMessage("驳回时审批意见不能为空");
|
||||
}
|
||||
|
|
@ -320,16 +318,31 @@ public class QmsIssueTicketProcessControllerService {
|
|||
Short leaderApprovalResult = request.getApprovalStatus();
|
||||
|
||||
if (leaderApprovalResult == 1) {
|
||||
// 驳回:只驳回传入的handlers对应的处理记录
|
||||
// 驳回:自动驳回当前领导部门下属的待审批处理记录
|
||||
Long issueTicketId = ticket.getId();
|
||||
List<Long> rejectUserIds = request.getHandlers().stream()
|
||||
.map(QmsIssueTicketProcessDraftQO.RejectHandlerItem::getHandlerUserId)
|
||||
List<QmsIssueTicketProcess> rejectProcesses = issueTicketProcessService.lambdaQuery()
|
||||
.eq(QmsIssueTicketProcess::getIssueTicketId, issueTicketId)
|
||||
.eq(QmsIssueTicketProcess::getApprovalStatus, (short) 0)
|
||||
.isNull(QmsIssueTicketProcess::getLeaderApprovalResult)
|
||||
.list()
|
||||
.stream()
|
||||
.filter(p -> isCurrentUserHeadOfHandlerDept(p.getHandlerUserId(), currentUserId))
|
||||
.collect(Collectors.toList());
|
||||
VUtil.trueThrowBusinessError(rejectProcesses.isEmpty())
|
||||
.throwMessage("未找到当前领导可驳回的下属处理记录");
|
||||
|
||||
List<Long> rejectProcessIds = rejectProcesses.stream()
|
||||
.map(QmsIssueTicketProcess::getId)
|
||||
.collect(Collectors.toList());
|
||||
List<Long> rejectUserIds = rejectProcesses.stream()
|
||||
.map(QmsIssueTicketProcess::getHandlerUserId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 更新指定处理人的记录:重置审批状态
|
||||
issueTicketProcessService.lambdaUpdate()
|
||||
.eq(QmsIssueTicketProcess::getIssueTicketId, issueTicketId)
|
||||
.in(QmsIssueTicketProcess::getHandlerUserId, rejectUserIds)
|
||||
.in(QmsIssueTicketProcess::getId, rejectProcessIds)
|
||||
.set(QmsIssueTicketProcess::getApprovalStatus, null)
|
||||
.set(QmsIssueTicketProcess::getApprovalTime, null)
|
||||
.set(QmsIssueTicketProcess::getLeaderApprovalResult, null)
|
||||
|
|
@ -352,7 +365,9 @@ public class QmsIssueTicketProcessControllerService {
|
|||
for (Long userId : rejectUserIds) {
|
||||
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
|
||||
.setTicketId(issueTicketId)
|
||||
.setHandlerUserId(userId);
|
||||
.setHandlerUserId(userId)
|
||||
.setHasProcessed(false)
|
||||
.setIsRead(false);
|
||||
issueTicketToDoService.save(todoItem);
|
||||
}
|
||||
} else if (leaderApprovalResult == 0) {
|
||||
|
|
@ -444,6 +459,20 @@ public class QmsIssueTicketProcessControllerService {
|
|||
}
|
||||
}
|
||||
|
||||
private boolean isCurrentUserHeadOfHandlerDept(Long handlerUserId, Long currentUserId) {
|
||||
if (handlerUserId == null || currentUserId == null) {
|
||||
return false;
|
||||
}
|
||||
UserInterior handlerInterior = userInteriorService.lambdaQuery()
|
||||
.eq(UserInterior::getUserId, handlerUserId)
|
||||
.one();
|
||||
if (handlerInterior == null || handlerInterior.getDeptId() == null) {
|
||||
return false;
|
||||
}
|
||||
Department department = departmentService.getById(handlerInterior.getDeptId());
|
||||
return department != null && currentUserId.equals(department.getHeadUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
* PQC工单处理人提交
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue