feat:审批表单加入表格
This commit is contained in:
1 parent
6488502380
commit
35cc925b4f
12 files changed
+258
-130
No files matched your search
+38
-4
@@ -8,7 +8,9 @@ import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.flow.task.entity.Process;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
@@ -30,11 +32,9 @@ import org.flowable.engine.history.HistoricActivityInstance;
|
||||
import org.flowable.engine.history.HistoricActivityInstanceQuery;
|
||||
import org.flowable.engine.runtime.Execution;
|
||||
import org.flowable.engine.runtime.ProcessInstance;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.flowable.task.api.TaskQuery;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
@@ -250,6 +250,14 @@ public class EngineFlowController {
|
||||
}
|
||||
}
|
||||
|
||||
if (CollUtil.isNotEmpty(taskQueryParamDto.getProcessInstanceIds()) && StrUtil.isEmpty(taskQueryParamDto.getProcessName())) {
|
||||
taskQuery.processInstanceIdIn(taskQueryParamDto.getProcessInstanceIds());
|
||||
}
|
||||
|
||||
if (Objects.nonNull(taskQueryParamDto.getIsActive()) && taskQueryParamDto.getIsActive()) {
|
||||
taskQuery.active();
|
||||
}
|
||||
|
||||
if (ArrayUtil.isNotEmpty(taskQueryParamDto.getTaskTime())) {
|
||||
ZoneId zoneId = ZoneId.systemDefault();
|
||||
ZonedDateTime zonedBeforeDateTime = taskQueryParamDto.getTaskTime()[0].atZone(zoneId);
|
||||
@@ -289,4 +297,30 @@ public class EngineFlowController {
|
||||
return R.ok(pageResultDto);
|
||||
}
|
||||
|
||||
@GetMapping("/queryAssignTaskOne")
|
||||
public R<TaskDto> queryAssignTaskOne(@RequestParam String processInstanceId) {
|
||||
String assign = SecurityUtils.getUser().getId().toString();
|
||||
TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(assign).orderByTaskCreateTime().processInstanceId(processInstanceId).active().desc();
|
||||
long count = taskQuery.count();
|
||||
if (count != 1) {
|
||||
log.debug("queryAssignTaskOne查询错误,count!=1,processInstanceId:{}", processInstanceId);
|
||||
return null;
|
||||
}
|
||||
Task task = taskQuery.singleResult();
|
||||
String taskId = task.getId();
|
||||
log.debug("queryAssignTaskOne查询错误(taskId) {} processInstanceId={} executrionId={}", task.getName(), processInstanceId, task.getExecutionId());
|
||||
String taskDefinitionKey = task.getTaskDefinitionKey();
|
||||
String processDefinitionId = task.getProcessDefinitionId();
|
||||
String flowId = NodeUtil.getFlowId(processDefinitionId);
|
||||
TaskDto taskDto = new TaskDto();
|
||||
taskDto.setFlowId(flowId);
|
||||
taskDto.setTaskCreateTime(task.getCreateTime());
|
||||
taskDto.setNodeId(taskDefinitionKey);
|
||||
taskDto.setProcessInstanceId(processInstanceId);
|
||||
taskDto.setTaskId(taskId);
|
||||
taskDto.setAssign(task.getAssignee());
|
||||
taskDto.setTaskName(task.getName());
|
||||
return R.ok(taskDto);
|
||||
}
|
||||
|
||||
}
|
||||
+116
-93
@@ -20,110 +20,133 @@ import java.util.Map;
|
||||
@FeignClient(contextId = "remoteFlowEngineService", value = ServiceNameConstants.FLOW_ENGINE_SERVER)
|
||||
public interface RemoteFlowEngineService {
|
||||
|
||||
/**
|
||||
* 查询任务变量
|
||||
* @param variableQueryParamDto 变量查询参数
|
||||
* @return 任务变量结果
|
||||
*/
|
||||
@PostMapping("/task/queryTaskVariables")
|
||||
R<Map<String, Object>> queryTaskVariables(@RequestBody VariableQueryParamDto variableQueryParamDto);
|
||||
/**
|
||||
* 查询任务变量
|
||||
*
|
||||
* @param variableQueryParamDto 变量查询参数
|
||||
* @return 任务变量结果
|
||||
*/
|
||||
@PostMapping("/task/queryTaskVariables")
|
||||
R<Map<String, Object>> queryTaskVariables(@RequestBody VariableQueryParamDto variableQueryParamDto);
|
||||
|
||||
/**
|
||||
* 查询简单数据
|
||||
* @param userId 用户ID
|
||||
* @return 索引页统计数据
|
||||
*/
|
||||
@GetMapping("/process-instance/querySimpleData")
|
||||
R<IndexPageStatistics> querySimpleData(@RequestParam("userId") Long userId);
|
||||
/**
|
||||
* 查询简单数据
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 索引页统计数据
|
||||
*/
|
||||
@GetMapping("/process-instance/querySimpleData")
|
||||
R<IndexPageStatistics> querySimpleData(@RequestParam("userId") Long userId);
|
||||
|
||||
/**
|
||||
* 创建流程
|
||||
* @param map 流程JSON对象
|
||||
* @return 创建流程结果
|
||||
*/
|
||||
@PostMapping("/flow/create")
|
||||
R<String> createFlow(@RequestBody Map<String, Object> map);
|
||||
/**
|
||||
* 创建流程
|
||||
*
|
||||
* @param map 流程JSON对象
|
||||
* @return 创建流程结果
|
||||
*/
|
||||
@PostMapping("/flow/create")
|
||||
R<String> createFlow(@RequestBody Map<String, Object> map);
|
||||
|
||||
/**
|
||||
* 启动流程实例
|
||||
* @param processInstanceParamDto 流程实例参数
|
||||
* @return 启动流程结果
|
||||
*/
|
||||
@NoToken
|
||||
@PostMapping("/flow/start")
|
||||
R<String> startProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto);
|
||||
/**
|
||||
* 启动流程实例
|
||||
*
|
||||
* @param processInstanceParamDto 流程实例参数
|
||||
* @return 启动流程结果
|
||||
*/
|
||||
@NoToken
|
||||
@PostMapping("/flow/start")
|
||||
R<String> startProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto);
|
||||
|
||||
/**
|
||||
* 查询待办任务
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 待办任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryAssignTask")
|
||||
R<Page<TaskDto>> queryAssignTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
/**
|
||||
* 查询待办任务
|
||||
*
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 待办任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryAssignTask")
|
||||
R<Page<TaskDto>> queryAssignTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 查询已完成任务
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 已完成任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryCompletedTask")
|
||||
R<Page<TaskDto>> queryCompletedTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
/**
|
||||
* 根据processInstanceId和当前登录用户id查询待办任务
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/flow/queryAssignTaskOne")
|
||||
R<TaskDto> queryAssignTaskOne(@RequestParam String processInstanceId);
|
||||
|
||||
/**
|
||||
* 完成任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 完成任务结果
|
||||
*/
|
||||
@PostMapping("/task/complete")
|
||||
R<String> completeTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 设置任务负责人
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 设置负责人结果
|
||||
*/
|
||||
@PostMapping("/task/transferTask")
|
||||
R<String> transferTask(@RequestBody TaskParamDto taskParamDto);
|
||||
/**
|
||||
* 查询已完成任务
|
||||
*
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 已完成任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryCompletedTask")
|
||||
R<Page<TaskDto>> queryCompletedTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 停止流程实例
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 停止流程实例结果
|
||||
*/
|
||||
@PostMapping("/flow/stopProcessInstance")
|
||||
R<String> stopProcessInstance(@RequestBody TaskParamDto taskParamDto);
|
||||
/**
|
||||
* 完成任务
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 完成任务结果
|
||||
*/
|
||||
@PostMapping("/task/complete")
|
||||
R<String> completeTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 解决任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 解决任务结果
|
||||
*/
|
||||
@PostMapping("/task/resolveTask")
|
||||
R<String> resolveTask(@RequestBody TaskParamDto taskParamDto);
|
||||
/**
|
||||
* 设置任务负责人
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 设置负责人结果
|
||||
*/
|
||||
@PostMapping("/task/transferTask")
|
||||
R<String> transferTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 退回任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 退回任务结果
|
||||
*/
|
||||
@PostMapping("/task/back")
|
||||
R<String> back(@RequestBody TaskParamDto taskParamDto);
|
||||
/**
|
||||
* 停止流程实例
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 停止流程实例结果
|
||||
*/
|
||||
@PostMapping("/flow/stopProcessInstance")
|
||||
R<String> stopProcessInstance(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 委派任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 委派任务结果
|
||||
*/
|
||||
@PostMapping("/task/delegateTask")
|
||||
R<String> delegateTask(@RequestBody TaskParamDto taskParamDto);
|
||||
/**
|
||||
* 解决任务
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 解决任务结果
|
||||
*/
|
||||
@PostMapping("/task/resolveTask")
|
||||
R<String> resolveTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 查询任务
|
||||
* @param taskId 任务ID
|
||||
* @param userId 用户ID
|
||||
* @return 任务查询结果
|
||||
*/
|
||||
@GetMapping("/task/engine/queryTask")
|
||||
R<TaskResultDto> queryTask(@RequestParam("taskId") String taskId, @RequestParam("userId") Long userId);
|
||||
/**
|
||||
* 退回任务
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 退回任务结果
|
||||
*/
|
||||
@PostMapping("/task/back")
|
||||
R<String> back(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 委派任务
|
||||
*
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 委派任务结果
|
||||
*/
|
||||
@PostMapping("/task/delegateTask")
|
||||
R<String> delegateTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 查询任务
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @param userId 用户ID
|
||||
* @return 任务查询结果
|
||||
*/
|
||||
@GetMapping("/task/engine/queryTask")
|
||||
R<TaskResultDto> queryTask(@RequestParam("taskId") String taskId, @RequestParam("userId") Long userId);
|
||||
|
||||
}
|
||||
+11
@@ -3,6 +3,7 @@ package com.bsd.pjcloud.flow.task.dto;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户任务查询参数
|
||||
@@ -40,4 +41,14 @@ public class TaskQueryParamDto {
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 流程实例ids
|
||||
*/
|
||||
private List<String> processInstanceIds;
|
||||
|
||||
/**
|
||||
* 是否只查询激活状态的任务
|
||||
*/
|
||||
private Boolean isActive = false;
|
||||
|
||||
}
|
||||
+6
@@ -55,6 +55,12 @@ public class ProcessInstanceController {
|
||||
return processInstanceService.queryMineTask(queryParamDto);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@GetMapping("/queryAssignTaskOne")
|
||||
public R queryAssignTaskOne(@RequestParam String processInstanceId) {
|
||||
return processInstanceService.queryAssignTaskOne(processInstanceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录用户已办任务
|
||||
* @param taskQueryParamDto
|
||||
|
||||
+1
@@ -66,4 +66,5 @@ public interface IProcessInstanceService {
|
||||
*/
|
||||
R detail(String processInstanceId);
|
||||
|
||||
R queryAssignTaskOne(String processInstanceId);
|
||||
}
|
||||
+4
@@ -443,4 +443,8 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService {
|
||||
return R.ok(set);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R queryAssignTaskOne(String processInstanceId) {
|
||||
return flowEngineService.queryAssignTaskOne(processInstanceId);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user