diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 00622f1d..19b02732 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -1973,13 +1973,18 @@ public class QmsIssueTicketControllerService { vo.setPermanentMeasures(List.of()); } - // === 权限判断:isReview / isDispatch === + // === 权限判断:isReview / isDispatch / isEdit === Long currentUserId = UserUtil.getUserId(); // 获取该工单全部处理记录 List allProcesses = issueTicketProcessService.lambdaQuery() .eq(QmsIssueTicketProcess::getIssueTicketId, id) .list(); + // isEdit:仅当前登录人是处理人时为true + boolean isHandler = allProcesses.stream() + .anyMatch(p -> currentUserId.equals(p.getHandlerUserId())); + vo.setIsEdit(isHandler); + if (currentUserId.equals(ticket.getCreateUserId()) || currentUserId.equals(ticket.getApprovalUserId())) { // 情况1/2:创建人 或 工单表审批人 → isReview=false,isDispatch看是否有未分派/被驳回 vo.setIsReview(false); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionTicketDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionTicketDetailVO.java index 7b3eba7f..d4749671 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionTicketDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionTicketDetailVO.java @@ -27,6 +27,11 @@ public class QmsInspectionTicketDetailVO { */ private Boolean isDispatch; + /** + * 是否有编辑权限 + */ + private Boolean isEdit; + /** * 工单标题 */