From c5c469fafb56ea9c03f25e67e5808d2abc25f699 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 19 三月 2025 13:54:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java | 73 ++++++++++++------------------------ 1 files changed, 25 insertions(+), 48 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java index 543bdc5..2bb58bd 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java @@ -1,20 +1,20 @@ package org.jeecg.modules.flowable.service.impl; - import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.Process; import org.flowable.common.engine.api.FlowableException; import org.flowable.common.engine.api.FlowableObjectNotFoundException; import org.flowable.common.engine.impl.identity.Authentication; @@ -33,19 +33,19 @@ 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.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.modules.flowable.apithird.business.dto.FlowMyBusinessDto; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl; +import org.jeecg.modules.flowable.apithird.common.constant.ProcessConstants; +import org.jeecg.modules.flowable.apithird.common.enums.FlowComment; +import org.jeecg.modules.flowable.apithird.common.exception.CustomException; import org.jeecg.modules.flowable.apithird.entity.ActStatus; import org.jeecg.modules.flowable.apithird.entity.SysUser; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; import org.jeecg.modules.flowable.apithird.service.IFlowThirdService; -import org.jeecg.modules.flowable.apithird.common.constant.ProcessConstants; -import org.jeecg.modules.flowable.apithird.common.enums.FlowComment; -import org.jeecg.modules.flowable.apithird.common.exception.CustomException; import org.jeecg.modules.flowable.domain.dto.FlowCommentDto; import org.jeecg.modules.flowable.domain.dto.FlowNextDto; import org.jeecg.modules.flowable.domain.dto.FlowTaskDto; @@ -105,7 +105,7 @@ taskService.setAssignee(taskVo.getTaskId(), loginUser.getUsername()); //taskService.complete(taskVo.getTaskId(), taskVo.getValues()); } - /*======================瀹℃壒閫氳繃 鍥炶皟浠ュ強鍏抽敭鏁版嵁淇濆瓨======================*/ + /*======================瀹℃壒缁撴潫 鍥炶皟浠ュ強鍏抽敭鏁版嵁淇濆瓨======================*/ //涓氬姟鏁版嵁id String dataId = taskVo.getDataId(); //濡傛灉淇濆瓨鏁版嵁鍓嶆湭璋冪敤蹇呰皟鐨凢lowCommonService.initActBusiness鏂规硶锛屽氨浼氭湁闂 @@ -872,7 +872,7 @@ String myTaskId = null; HistoricTaskInstance myTask = null; for (HistoricTaskInstance hti : htiList) { - if (loginUser.getUsername().toString().equals(hti.getAssignee())) { + if (loginUser.getUsername().equals(hti.getAssignee())) { myTaskId = hti.getId(); myTask = hti; break; @@ -970,55 +970,32 @@ * @return */ @Override - public Result finishedList(Integer pageNum, Integer pageSize) { - Page<FlowTaskDto> page = new Page<>(); + public Result finishedList(Integer pageNum, Integer pageSize, FlowMyBusinessDto flowMyBusinessDto) { + //淇敼鏌ヨ锛屾坊鍔犳煡璇㈡潯浠� + Page page = new Page(pageNum, pageSize); String username = iFlowThirdService.getLoginUser().getUsername(); - HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery() - .includeProcessVariables() - .finished() - .taskAssignee(username) - .orderByHistoricTaskInstanceEndTime() - .desc(); - List<HistoricTaskInstance> historicTaskInstanceList = taskInstanceQuery.listPage((pageNum - 1)*pageSize, pageSize); - List<FlowTaskDto> hisTaskList = Lists.newArrayList(); - for (HistoricTaskInstance histTask : historicTaskInstanceList) { - FlowTaskDto flowTask = new FlowTaskDto(); - // 褰撳墠娴佺▼淇℃伅 - flowTask.setTaskId(histTask.getId()); - // 瀹℃壒浜哄憳淇℃伅 - flowTask.setCreateTime(histTask.getCreateTime()); - flowTask.setFinishTime(histTask.getEndTime()); - flowTask.setDuration(getDate(histTask.getDurationInMillis())); - flowTask.setProcDefId(histTask.getProcessDefinitionId()); - flowTask.setTaskDefKey(histTask.getTaskDefinitionKey()); - flowTask.setTaskName(histTask.getName()); - + flowMyBusinessDto.setCurrentUser(username); + IPage<FlowTaskDto> flowTaskDtoIPage = flowMyBusinessService.getPageListMyBusiness(page,flowMyBusinessDto); + flowTaskDtoIPage.getRecords().forEach(flowTaskDto -> { // 娴佺▼瀹氫箟淇℃伅 ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() - .processDefinitionId(histTask.getProcessDefinitionId()) + .processDefinitionId(flowTaskDto.getProcessDefinitionId()) .singleResult(); - flowTask.setDeployId(pd.getDeploymentId()); - flowTask.setProcDefName(pd.getName()); - flowTask.setProcDefVersion(pd.getVersion()); - flowTask.setProcInsId(histTask.getProcessInstanceId()); - flowTask.setHisProcInsId(histTask.getProcessInstanceId()); - + flowTaskDto.setDeployId(pd.getDeploymentId()); + flowTaskDto.setProcDefName(pd.getName()); + flowTaskDto.setProcDefVersion(pd.getVersion()); + flowTaskDto.setCategory(pd.getCategory()); // 娴佺▼鍙戣捣浜轰俊鎭� HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() - .processInstanceId(histTask.getProcessInstanceId()) + .processInstanceId(flowTaskDto.getTaskId()) .singleResult(); SysUser startUser = iFlowThirdService.getUserByUsername(historicProcessInstance.getStartUserId()); - flowTask.setStartUserId(startUser.getUsername()); - flowTask.setStartUserName(startUser.getRealname()); + flowTaskDto.setStartUserId(startUser.getUsername()); + flowTaskDto.setStartUserName(startUser.getRealname()); List<String> departNamesByUsername = iFlowThirdService.getDepartNamesByUsername(historicProcessInstance.getStartUserId()); - flowTask.setStartDeptName(CollUtil.join(departNamesByUsername,"锛�")); - hisTaskList.add(flowTask); - } - page.setTotal(hisTaskList.size()); - page.setRecords(hisTaskList); -// Map<String, Object> result = new HashMap<>(); -// result.put("result",page); -// result.put("finished",true); + flowTaskDto.setStartDeptName(CollUtil.join(departNamesByUsername,"锛�")); + flowTaskDto.setTaskId(flowTaskDto.getHisProcInsId()); + }); return Result.OK(page); } -- Gitblit v1.9.3