工单分派功能修改

This commit is contained in:
funny 2026-05-14 09:14:15 +08:00
parent c0ee9bf09c
commit ae2a329016
1 changed files with 26 additions and 1 deletions

View File

@ -1791,14 +1791,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()))
@ -1810,6 +1831,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);
}
}