工单详情接口修改

This commit is contained in:
funny 2026-05-13 14:15:03 +08:00
parent a02aa47b2d
commit e3198da557
1 changed files with 21 additions and 3 deletions

View File

@ -2064,11 +2064,29 @@ public class QmsIssueTicketControllerService {
.eq(QmsIssueTicketProcess::getIssueTicketId, id)
.list();
// 判断是否为领导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;
}
}
}
}
// isEdit处理人或领导为true
boolean isHandler = allProcesses.stream()
.anyMatch(p -> currentUserId.equals(p.getHandlerUserId()));
boolean isLeader = allProcesses.stream()
.anyMatch(p -> currentUserId.equals(p.getLeaderUserId()));
vo.setIsEdit(isHandler || isLeader);
Short status = ticket.getStatus();
@ -2080,7 +2098,7 @@ public class QmsIssueTicketControllerService {
// 工单表审批人isReview=falseisDispatch在处理中到已完成之间
vo.setIsReview(false);
vo.setIsDispatch(status != null && status == 1);
} else if (allProcesses.stream().anyMatch(p -> currentUserId.equals(p.getLeaderUserId()))) {
} else if (isLeader) {
// 上级领导isReview=trueisDispatch=false
vo.setIsReview(true);
vo.setIsDispatch(false);