diff --git a/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java b/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java index f17a68f7..43a9e3ac 100644 --- a/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpApplyServiceImpl.java @@ -794,7 +794,27 @@ public class ErfExpApplyServiceImpl extends ServiceImpl adminRoles = + sysUserDao.getUserRolesByRoleNames(currentUserId, List.of("工程实验申请管理员")); + if (!adminRoles.isEmpty()) { + QueryWrapper adminNodeQuery = new QueryWrapper<>(); + adminNodeQuery.eq("apply_no", applyNo) + .eq("status", "待审核") + .in("node_code", "生产经理审批", "质量经理审批") + .orderByAsc("node_code") + .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"); + ErfFlowNodeInstance adminNodeInstance = erfFlowNodeInstanceMapper.selectOne(adminNodeQuery); + if (adminNodeInstance != null) { + log.info("管理员用户{}代理审批,实际节点: {}", currentUserId, adminNodeInstance.getNodeCode()); + return adminNodeInstance.getNodeCode(); + } + throw new XJException("未找到待审核的并发审批节点"); + } + } + + // 普通用户:查询当前用户在该申请单中待审核的节点 QueryWrapper nodeQuery = new QueryWrapper<>(); nodeQuery.eq("apply_no", applyNo) .eq("assignee_user_id", currentUserId)