From b0449f9ed437831018030d57b98a55e1dd43a6ef Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期二, 17 六月 2025 15:39:47 +0800 Subject: [PATCH] 修改计划表表名 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 178 +++++++++++++++-------------------------------------------- 1 files changed, 45 insertions(+), 133 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java index b629ef5..a6189cb 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java @@ -1,28 +1,4 @@ -/** - * BladeX Commercial License Agreement - * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. - * <p> - * Use of this software is governed by the Commercial License Agreement - * obtained after purchasing a license from BladeX. - * <p> - * 1. This software is for development use only under a valid license - * from BladeX. - * <p> - * 2. Redistribution of this software's source code to any third party - * without a commercial license is strictly prohibited. - * <p> - * 3. Licensees may copyright their own code but cannot use segments - * from this software for such purposes. Copyright of this software - * remains with BladeX. - * <p> - * Using this software signifies agreement to this License, and the software - * must not be used for illegal purposes. - * <p> - * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is - * not liable for any claims arising from secondary or illegal development. - * <p> - * Author: Chill Zhuang (bladejava@qq.com) - */ + package org.springblade.mdm.flow.service; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -30,27 +6,20 @@ import org.flowable.engine.HistoryService; import org.flowable.engine.TaskService; import org.flowable.engine.history.HistoricProcessInstance; -import org.flowable.engine.history.HistoricProcessInstanceQuery; import org.flowable.task.api.Task; 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.utils.AuthUtil; -import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.*; -import org.springblade.flow.core.constant.ProcessConstant; -import org.springblade.flow.core.pojo.entity.BladeFlow; -import org.springblade.flow.core.utils.TaskUtil; import org.springblade.mdm.flow.entity.MdmFlowProcess; import org.springblade.mdm.flow.util.MdmFlowCache; +import org.springblade.mdm.flow.vo.FlowVO; import org.springframework.stereotype.Service; import java.time.LocalDate; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.Map; /** * 娴佺▼涓氬姟瀹炵幇绫� @@ -65,49 +34,29 @@ private final HistoryService historyService; - public IPage<BladeFlow> selectTodoPage(IPage<BladeFlow> page, LocalDate createTimeBegin,LocalDate createTimeEnd, String keyword) { + public IPage<FlowVO> selectTodoPage(IPage<FlowVO> page, LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) { //String taskUser = TaskUtil.getTaskUser(); - String userId = ""+AuthUtil.getUserId(); - List<BladeFlow> flowList = new LinkedList<>(); + String userId = "" + AuthUtil.getUserId(); + List<FlowVO> flowList = new LinkedList<>(); TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(userId).active().includeProcessVariables(); - if(Func.isNotEmpty(createTimeBegin)){ + if (Func.isNotEmpty(createTimeBegin)) { todoQuery.taskCreatedAfter(DateUtil.toDate(createTimeBegin)); //濡傛灉鏌ヨ瀹炰緥鐨勫紑濮嬫椂闂达細todoQuery.taskInProgressStartDueAfter() } - if(Func.isNotEmpty(createTimeEnd)){ + if (Func.isNotEmpty(createTimeEnd)) { todoQuery.taskCreatedBefore(DateUtil.toDate(createTimeEnd)); } - if(Func.isNotEmpty(keyword)){ - todoQuery.or(); - - todoQuery.processVariableValueLike("processNo",keyword); - todoQuery.processVariableValueLike("machineCode",keyword); - todoQuery.processVariableValueLike("machineMode",keyword); - - todoQuery.processVariableValueLike("processName",keyword); - todoQuery.processVariableValueLike("processEdition",keyword); - - todoQuery.processVariableValueLike("craftEdition",keyword); - //TODO 澶氫釜瀛楁閮借鍖归厤 - - todoQuery.endOr(); + if (Func.isNotEmpty(keyword)) { + addKeywordCondition(todoQuery, keyword); } todoQuery.orderByTaskCreateTime().desc(); - //List<Task> listt = todoQuery.list(); - - // 宸茬鏀剁殑浠诲姟.caseVariableValueLike("processNo",keyword) - /* - TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(userId).active() - .includeProcessVariables().orderByTaskCreateTime().desc(); - - */ // 鏋勫缓鍒楄〃鏁版嵁 - BladeFlow bladeFlow = new BladeFlow(); - buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO + FlowVO bladeFlow = new FlowVO(); + buildFlowTaskList(bladeFlow, flowList, todoQuery);//FlowEngineConstant.STATUS_TODO , "todo" // 璁$畻鎬绘暟 long count = todoQuery.count(); @@ -118,6 +67,21 @@ // 璁剧疆鏁版嵁 page.setRecords(flowList); return page; + } + + void addKeywordCondition(TaskQuery todoQuery,String keyword) { + if(Func.isNotEmpty(keyword)) { + todoQuery.or(); + + todoQuery.processVariableValueLike("processNo", "%" + keyword + "%"); + todoQuery.processVariableValueLike("machineCode", "%" + keyword + "%"); + todoQuery.processVariableValueLike("machineMode", "%" + keyword + "%"); + todoQuery.processVariableValueLike("processName", "%" + keyword + "%"); + todoQuery.processVariableValueLike("processEdition", "%" + keyword + "%"); + todoQuery.processVariableValueLike("craftEdition", "%" + keyword + "%"); + + todoQuery.endOr(); + } } /* @Override @@ -258,25 +222,6 @@ return page; } - @Override - public boolean completeTask(BladeFlow flow) { - String taskId = flow.getTaskId(); - String processInstanceId = flow.getProcessInstanceId(); - String comment = Func.toStr(flow.getComment(), ProcessConstant.PASS_COMMENT); - // 澧炲姞璇勮 - if (StringUtil.isNoneBlank(processInstanceId, comment)) { - taskService.addComment(taskId, processInstanceId, comment); - } - // 鍒涘缓鍙橀噺 - Map<String, Object> variables = flow.getVariables(); - if (variables == null) { - variables = Kv.create(); - } - variables.put(ProcessConstant.PASS_KEY, flow.isPass()); - // 瀹屾垚浠诲姟 - taskService.complete(taskId, variables); - return true; - } */ /** * 鏋勫缓娴佺▼ @@ -284,9 +229,8 @@ * @param bladeFlow 娴佺▼閫氱敤绫� * @param flowList 娴佺▼鍒楄〃 * @param taskQuery 浠诲姟鏌ヨ绫� - * @param status 鐘舵�� */ - private void buildFlowTaskList(BladeFlow bladeFlow, List<BladeFlow> flowList, TaskQuery taskQuery, String status) { + private void buildFlowTaskList(FlowVO bladeFlow, List<FlowVO> flowList, TaskQuery taskQuery) { if (bladeFlow.getCategory() != null) { taskQuery.processCategoryIn(Func.toStrList(bladeFlow.getCategory())); } @@ -301,7 +245,7 @@ } List<Task> tasks = taskQuery.list(); tasks.forEach(task -> { - BladeFlow flow = new BladeFlow(); + FlowVO flow = new FlowVO(); flow.setTaskId(task.getId()); flow.setTaskDefinitionKey(task.getTaskDefinitionKey()); flow.setTaskName(task.getName()); @@ -310,20 +254,15 @@ flow.setClaimTime(task.getClaimTime()); flow.setExecutionId(task.getExecutionId()); flow.setVariables(task.getProcessVariables()); + flow.setDueDate(task.getDueDate()); flow.setProcessDefinitionId(task.getProcessDefinitionId()); - //flow.setProcessDefinitionName(task.getprocessd); + //flow.setProcessDefinitionKey(processDefinition.getKey()); //flow.setProcessDefinitionVersion(processDefinition.getVersion()); flow.setProcessInstanceId(task.getProcessInstanceId()); - /* - HistoricProcessInstance historicProcessInstance = getHistoricProcessInstance(task.getProcessInstanceId()); - if (Func.isNotEmpty(historicProcessInstance)) { - String[] businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey()); - flow.setBusinessTable(businessKey[0]); - flow.setBusinessId(businessKey[1]); - }*/ + MdmFlowProcess processDefinition = MdmFlowCache.getProcessDefinition(task.getProcessDefinitionId()); @@ -335,8 +274,7 @@ flow.setProcessDefinitionVersion(processDefinition.getVersion()); flow.setProcessInstanceId(task.getProcessInstanceId()); //flow.setStatus(status); - /* - */ + flowList.add(flow); }); } @@ -351,33 +289,20 @@ return historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); } - public IPage<BladeFlow> selectAllTaskPage(IPage<BladeFlow> page, String keyword) { + public IPage<FlowVO> selectAllTaskPage(IPage<FlowVO> page, String keyword) { - List<BladeFlow> flowList = new LinkedList<>(); + List<FlowVO> flowList = new LinkedList<>(); TaskQuery todoQuery = taskService.createTaskQuery().active().includeProcessVariables(); - if(Func.isNotEmpty(keyword)){ - todoQuery.or(); - todoQuery.processVariableValueLike("processNo",keyword); - todoQuery.processVariableValueLike("machineCode",keyword); - todoQuery.processVariableValueLike("machineMode",keyword); - - todoQuery.processVariableValueLike("processName",keyword); - todoQuery.processVariableValueLike("processEdition",keyword); - - todoQuery.processVariableValueLike("craftEdition",keyword); - //TODO 澶氫釜瀛楁閮借鍖归厤 - - todoQuery.endOr(); - } + addKeywordCondition(todoQuery, keyword); todoQuery.orderByTaskCreateTime().desc(); // 鏋勫缓鍒楄〃鏁版嵁 - BladeFlow bladeFlow = new BladeFlow(); - buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO + FlowVO bladeFlow = new FlowVO(); + buildFlowTaskList(bladeFlow, flowList, todoQuery);//FlowEngineConstant.STATUS_TODO // 璁$畻鎬绘暟 long count = todoQuery.count(); @@ -392,13 +317,13 @@ /** * 瓒呮椂浠诲姟鏌ヨ - * @param page - * @param keyword - * @return + * @param page 鍒嗛〉淇℃伅 + * @param keyword 鍏抽敭瀛� + * @return 鍒嗛〉鏁版嵁 */ - public IPage<BladeFlow> selectOvertimePage(IPage<BladeFlow> page,LocalDate createTimeBegin,LocalDate createTimeEnd, String assigneeName,String keyword) { + public IPage<FlowVO> selectOvertimePage(IPage<FlowVO> page, LocalDate createTimeBegin, LocalDate createTimeEnd, String assigneeName, String keyword) { - List<BladeFlow> flowList = new LinkedList<>(); + List<FlowVO> flowList = new LinkedList<>(); Date now = new Date(); TaskQuery todoQuery = taskService.createTaskQuery().taskDueBefore(now).active().includeProcessVariables(); if(Func.isNotEmpty(createTimeBegin)) { @@ -411,27 +336,14 @@ if(Func.isNotEmpty(keyword)) { todoQuery.taskVariableValueLike("assigneeName", "%"+assigneeName+"%"); } - if(Func.isNotEmpty(keyword)){ - todoQuery.or(); - keyword = "%"+keyword+"%"; - todoQuery.processVariableValueLike("processNo",keyword); - todoQuery.processVariableValueLike("machineCode",keyword); - todoQuery.processVariableValueLike("machineMode",keyword); - todoQuery.processVariableValueLike("processName",keyword); - todoQuery.processVariableValueLike("processEdition",keyword); - - todoQuery.processVariableValueLike("craftEdition",keyword); - //TODO 澶氫釜瀛楁閮借鍖归厤 - - todoQuery.endOr(); - } + addKeywordCondition(todoQuery, keyword); todoQuery.orderByTaskCreateTime().desc(); // 鏋勫缓鍒楄〃鏁版嵁 - BladeFlow bladeFlow = new BladeFlow(); - buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO + FlowVO bladeFlow = new FlowVO(); + buildFlowTaskList(bladeFlow, flowList, todoQuery);//FlowEngineConstant.STATUS_TODO // 璁$畻鎬绘暟 long count = todoQuery.count(); -- Gitblit v1.9.3