| | |
| | | import org.flowable.task.api.TaskQuery; |
| | | import org.flowable.task.api.history.HistoricTaskInstance; |
| | | import org.flowable.task.api.history.HistoricTaskInstanceQuery; |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; |
| | | |
| | | /** |
| | | * 流程业务实现类 |
| | |
| | | @Override |
| | | public IPage<BladeFlow> selectTodoPage(IPage<BladeFlow> page, BladeFlow bladeFlow) { |
| | | String taskUser = TaskUtil.getTaskUser(); |
| | | List<BladeFlow> flowList = new LinkedList<>(); |
| | | |
| | | // 已签收的任务 |
| | | TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(taskUser).active() |
| | | .includeProcessVariables().orderByTaskCreateTime().desc(); |
| | | |
| | | // 构建列表数据 |
| | | buildFlowTaskList(bladeFlow, flowList, todoQuery, FlowEngineConstant.STATUS_TODO); |
| | | |
| | | // 计算总数 |
| | | long count = todoQuery.count(); |
| | | // 设置页数 |
| | | page.setSize(count); |
| | | // 设置总数 |
| | | page.setTotal(count); |
| | | // 设置数据 |
| | | page.setRecords(flowList); |
| | | return page; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<BladeFlow> selectTodoPage(IPage<BladeFlow> page, BladeFlow bladeFlow,String currentUserId) { |
| | | String taskUser = StringUtil.format("{}{}", TASK_USR_PREFIX, currentUserId); |
| | | List<BladeFlow> flowList = new LinkedList<>(); |
| | | |
| | | // 已签收的任务 |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public BladeFlow getBladeFlowByBusinessId(String businessId,String target) { |
| | | String taskUser = StringUtil.format("{}{}", TASK_USR_PREFIX, target); |
| | | List<BladeFlow> flowList = new LinkedList<>(); |
| | | |
| | | // 已签收的任务 |
| | | TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(taskUser).active() |
| | | .includeProcessVariables().orderByTaskCreateTime().desc(); |
| | | BladeFlow bladeFlow = new BladeFlow(); |
| | | // 构建列表数据 |
| | | buildFlowTaskList(bladeFlow, flowList, todoQuery, FlowEngineConstant.STATUS_TODO); |
| | | BladeFlow flow = new BladeFlow(); |
| | | flowList.forEach(e->{ |
| | | if (Func.equals(e.getBusinessId(),businessId)){ |
| | | flow.setTaskId(e.getTaskId()); |
| | | } |
| | | }); |
| | | |
| | | return flow; |
| | | } |
| | | |
| | | /** |
| | | * 构建流程 |
| | | * |