Merge remote-tracking branch '惠信/qms/develop' into qms/develop
This commit is contained in:
commit
8fc926f7ff
|
|
@ -1794,14 +1794,35 @@ public class QmsIssueTicketControllerService {
|
|||
List<QmsIssueTicketProcess> allProcesses = issueTicketProcessService.lambdaQuery()
|
||||
.eq(QmsIssueTicketProcess::getIssueTicketId, id)
|
||||
.list();
|
||||
|
||||
// 判断是否为处理人/审批人
|
||||
boolean isHandler = allProcesses.stream()
|
||||
.anyMatch(p -> currentUserId.equals(p.getHandlerUserId()) || currentUserId.equals(p.getApprovalUserId()));
|
||||
|
||||
// 判断是否为领导:1.已在process表记录了leaderUserId 2.或当前用户是处理人的部门负责人
|
||||
boolean isLeader = allProcesses.stream()
|
||||
.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) {
|
||||
// 领导:仅有审核权限,无编辑权限
|
||||
vo.setIsReview(true);
|
||||
vo.setIsEdit(false);
|
||||
} else {
|
||||
} else if (isHandler) {
|
||||
// 处理人/审批人
|
||||
boolean hasUnapproved = allProcesses.stream()
|
||||
.filter(p -> currentUserId.equals(p.getHandlerUserId()) || currentUserId.equals(p.getApprovalUserId()))
|
||||
|
|
@ -1813,6 +1834,10 @@ public class QmsIssueTicketControllerService {
|
|||
.anyMatch(p -> p.getApprovalStatus() == null
|
||||
|| (p.getLeaderApprovalResult() != null && p.getLeaderApprovalResult() == 1));
|
||||
vo.setIsEdit(canEdit);
|
||||
} else {
|
||||
// 其他角色:无权限
|
||||
vo.setIsReview(false);
|
||||
vo.setIsEdit(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue