|
@@ -7,6 +7,7 @@ import com.dayou.common.BaseEntity;
|
|
|
import com.dayou.dto.HandlerPermissionDTO;
|
|
|
import com.dayou.dto.WorkNodeCommit;
|
|
|
import com.dayou.dto.WorkNodeDTO;
|
|
|
+import com.dayou.dto.WorkNodeInstanceTaskDTO;
|
|
|
import com.dayou.entity.WorkFlow;
|
|
|
import com.dayou.entity.WorkFlowNodeInstance;
|
|
|
import com.dayou.entity.WorkNodeTask;
|
|
@@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.dayou.mapper.WorkTaskRecordMapper;
|
|
|
import com.dayou.utils.LoginContext;
|
|
|
import com.dayou.vo.NameCodeVO;
|
|
|
+import com.dayou.vo.WorkTaskRecordVO;
|
|
|
import com.dayou.workflow.handler.AssetsNodeHandler;
|
|
|
import com.dayou.workflow.handler.MajorNodeHandler;
|
|
|
import com.dayou.workflow.config.WorkNodeProcessable;
|
|
@@ -119,6 +121,14 @@ public class WorkFlowServiceImpl extends ServiceImpl<WorkFlowMapper, WorkFlow> i
|
|
|
if (instanceNode==null){
|
|
|
ErrorCode.throwBusinessException(ErrorCode.CURRENT_NODE_NOT_EXISTS);
|
|
|
}
|
|
|
+
|
|
|
+ // 获取当前节点的任务信息
|
|
|
+ List<WorkNodeInstanceTaskDTO> taskDTOs = workTaskRecordMapper.instanceNodeTasks(workNodeCommit.getInstanceNodeId());
|
|
|
+ // 判断当前用户是否为节点任务处理人
|
|
|
+ if (taskDTOs.stream().noneMatch(taskDTO -> taskDTO.getHandlerId().equals(LoginContext.getCurrentUserId()))){
|
|
|
+ ErrorCode.throwBusinessException(ErrorCode.PERMISSION_ERROR);
|
|
|
+ }
|
|
|
+
|
|
|
//校验节点提交权限
|
|
|
// Set<Long> handlerIds = workTaskRecordMapper.instanceNodeTasks(workNodeCommit.getInstanceNodeId()).stream().map(WorkNodeInstanceTaskDTO::getHandlerId).collect(Collectors.toSet());
|
|
|
// if (!handlerIds.contains(LoginContext.getCurrentUserId())){
|