This commit is contained in:
陈维伟 2023-10-07 17:21:57 +08:00
parent 3ed1e33233
commit 77831a46da

View File

@ -39,32 +39,33 @@ public class DataPermissionController implements DataPermissionApi {
.isReadable(false) .isReadable(false)
.isUpdatable(false) .isUpdatable(false)
.build(); .build();
List<BpmnHistoricTaskInstanceVO> taskListFlatByProcessInstanceId = RpcExternalUtil.rpcProcessor(() -> processTaskApi.getTaskListFlatByProcessInstanceId(req.getProcessInstanceId(), req.getWorkspaceId()),"根据流程id查询审核任务",req);
// 获取流程实例信息,获取流程发起人身份id
BpmnProcessInstanceQueryDTO getProcessInstanceReq = new BpmnProcessInstanceQueryDTO();
getProcessInstanceReq.setProcessInstanceId(req.getProcessInstanceId());
getProcessInstanceReq.setTenantId(req.getWorkspaceId());
BpmnProcessInstanceVO processInstanceVO = RpcExternalUtil.rpcProcessor(() -> processInstanceApi.getProcessInstanceVO(getProcessInstanceReq), "根据流程id查询流程实例,获取流程发起人身份id", getProcessInstanceReq);
String starterIdentityId = "";
if (processInstanceVO != null && processInstanceVO.getInitiator() != null && StringUtils.isNotBlank(processInstanceVO.getInitiator().getAssignee())) {
starterIdentityId = processInstanceVO.getInitiator().getAssignee();
}
// 判断当前用户是否在审核任务中
if (CollectionUtils.isEmpty(taskListFlatByProcessInstanceId) && StringUtils.isBlank(starterIdentityId)) {
return ApiResult.ok(result);
}
// 如果当前用户在流程任务中则允许查看
if (String.valueOf(req.getIdentityId()).equals(starterIdentityId) ||
taskListFlatByProcessInstanceId.stream().map(BpmnHistoricTaskInstanceVO::getAssignee).collect(Collectors.toList()).contains(String.valueOf(req.getIdentityId()))) {
result.setIsReadable(true);
}
// 如果当前用户在未结束的审核任务中则允许编辑
if (taskListFlatByProcessInstanceId.stream().filter(e -> e.getEndTime() == null).map(BpmnHistoricTaskInstanceVO::getAssignee).collect(Collectors.toList()).contains(String.valueOf(req.getIdentityId()))) {
result.setIsUpdatable(true);
}
// TODO mock // TODO mock
result.setIsUpdatable(true); result.setIsReadable(true);
result.setIsUpdatable(true); result.setIsUpdatable(true);
return ApiResult.ok(result); return ApiResult.ok(result);
// List<BpmnHistoricTaskInstanceVO> taskListFlatByProcessInstanceId = RpcExternalUtil.rpcProcessor(() -> processTaskApi.getTaskListFlatByProcessInstanceId(req.getProcessInstanceId(), req.getWorkspaceId()),"根据流程id查询审核任务",req);
// // 获取流程实例信息,获取流程发起人身份id
// BpmnProcessInstanceQueryDTO getProcessInstanceReq = new BpmnProcessInstanceQueryDTO();
// getProcessInstanceReq.setProcessInstanceId(req.getProcessInstanceId());
// getProcessInstanceReq.setTenantId(req.getWorkspaceId());
// BpmnProcessInstanceVO processInstanceVO = RpcExternalUtil.rpcProcessor(() -> processInstanceApi.getProcessInstanceVO(getProcessInstanceReq), "根据流程id查询流程实例,获取流程发起人身份id", getProcessInstanceReq);
// String starterIdentityId = "";
// if (processInstanceVO != null && processInstanceVO.getInitiator() != null && StringUtils.isNotBlank(processInstanceVO.getInitiator().getAssignee())) {
// starterIdentityId = processInstanceVO.getInitiator().getAssignee();
// }
// // 判断当前用户是否在审核任务中
// if (CollectionUtils.isEmpty(taskListFlatByProcessInstanceId) && StringUtils.isBlank(starterIdentityId)) {
// return ApiResult.ok(result);
// }
// // 如果当前用户在流程任务中则允许查看
// if (String.valueOf(req.getIdentityId()).equals(starterIdentityId) ||
// taskListFlatByProcessInstanceId.stream().map(BpmnHistoricTaskInstanceVO::getAssignee).collect(Collectors.toList()).contains(String.valueOf(req.getIdentityId()))) {
// result.setIsReadable(true);
// }
// // 如果当前用户在未结束的审核任务中则允许编辑
// if (taskListFlatByProcessInstanceId.stream().filter(e -> e.getEndTime() == null).map(BpmnHistoricTaskInstanceVO::getAssignee).collect(Collectors.toList()).contains(String.valueOf(req.getIdentityId()))) {
// result.setIsUpdatable(true);
// }
// return ApiResult.ok(result);
} }
} }