工单分派功能修改
This commit is contained in:
parent
c0ee9bf09c
commit
ae2a329016
|
|
@ -1791,14 +1791,35 @@ public class QmsIssueTicketControllerService {
|
||||||
List<QmsIssueTicketProcess> allProcesses = issueTicketProcessService.lambdaQuery()
|
List<QmsIssueTicketProcess> allProcesses = issueTicketProcessService.lambdaQuery()
|
||||||
.eq(QmsIssueTicketProcess::getIssueTicketId, id)
|
.eq(QmsIssueTicketProcess::getIssueTicketId, id)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
|
// 判断是否为处理人/审批人
|
||||||
|
boolean isHandler = allProcesses.stream()
|
||||||
|
.anyMatch(p -> currentUserId.equals(p.getHandlerUserId()) || currentUserId.equals(p.getApprovalUserId()));
|
||||||
|
|
||||||
|
// 判断是否为领导:1.已在process表记录了leaderUserId 2.或当前用户是处理人的部门负责人
|
||||||
boolean isLeader = allProcesses.stream()
|
boolean isLeader = allProcesses.stream()
|
||||||
.anyMatch(p -> currentUserId.equals(p.getLeaderUserId()));
|
.anyMatch(p -> currentUserId.equals(p.getLeaderUserId()));
|
||||||
|
if (!isLeader) {
|
||||||
|
for (QmsIssueTicketProcess p : allProcesses) {
|
||||||
|
if (p.getHandlerUserId() == null) continue;
|
||||||
|
UserInterior handlerInterior = userInteriorService.lambdaQuery()
|
||||||
|
.eq(UserInterior::getUserId, p.getHandlerUserId())
|
||||||
|
.one();
|
||||||
|
if (handlerInterior != null && handlerInterior.getDeptId() != null) {
|
||||||
|
Department dept = departmentService.getById(handlerInterior.getDeptId());
|
||||||
|
if (dept != null && currentUserId.equals(dept.getHeadUserId())) {
|
||||||
|
isLeader = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isLeader) {
|
if (isLeader) {
|
||||||
// 领导:仅有审核权限,无编辑权限
|
// 领导:仅有审核权限,无编辑权限
|
||||||
vo.setIsReview(true);
|
vo.setIsReview(true);
|
||||||
vo.setIsEdit(false);
|
vo.setIsEdit(false);
|
||||||
} else {
|
} else if (isHandler) {
|
||||||
// 处理人/审批人
|
// 处理人/审批人
|
||||||
boolean hasUnapproved = allProcesses.stream()
|
boolean hasUnapproved = allProcesses.stream()
|
||||||
.filter(p -> currentUserId.equals(p.getHandlerUserId()) || currentUserId.equals(p.getApprovalUserId()))
|
.filter(p -> currentUserId.equals(p.getHandlerUserId()) || currentUserId.equals(p.getApprovalUserId()))
|
||||||
|
|
@ -1810,6 +1831,10 @@ public class QmsIssueTicketControllerService {
|
||||||
.anyMatch(p -> p.getApprovalStatus() == null
|
.anyMatch(p -> p.getApprovalStatus() == null
|
||||||
|| (p.getLeaderApprovalResult() != null && p.getLeaderApprovalResult() == 1));
|
|| (p.getLeaderApprovalResult() != null && p.getLeaderApprovalResult() == 1));
|
||||||
vo.setIsEdit(canEdit);
|
vo.setIsEdit(canEdit);
|
||||||
|
} else {
|
||||||
|
// 其他角色:无权限
|
||||||
|
vo.setIsReview(false);
|
||||||
|
vo.setIsEdit(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue