diff --git a/quotation-system/src/main/java/net/ferrum/workflow/service/impl/WfProcessServiceImpl.java b/quotation-system/src/main/java/net/ferrum/workflow/service/impl/WfProcessServiceImpl.java index e7e9c3a..38bbd59 100644 --- a/quotation-system/src/main/java/net/ferrum/workflow/service/impl/WfProcessServiceImpl.java +++ b/quotation-system/src/main/java/net/ferrum/workflow/service/impl/WfProcessServiceImpl.java @@ -157,11 +157,16 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce @Override public TableDataInfo selectPageAllProcessList(ProcessQuery processQuery, PageQuery pageQuery) { - Page page = new Page<>(); HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() //.startedBy(TaskUtils.getUserId()) .orderByProcessInstanceStartTime() .desc(); + Page page = getHistProcessList(historicProcessInstanceQuery,processQuery,pageQuery); + return TableDataInfo.build(page); + } + + Page getHistProcessList(HistoricProcessInstanceQuery historicProcessInstanceQuery,ProcessQuery processQuery, PageQuery pageQuery){ + Page page = new Page<>(); // 构建搜索条件 ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); @@ -235,73 +240,16 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce taskVoList.add(taskVo); } page.setRecords(taskVoList); - return TableDataInfo.build(page); + return page; } @Override public TableDataInfo selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) { - Page page = new Page<>(); HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() .startedBy(TaskUtils.getUserId()) .orderByProcessInstanceStartTime() .desc(); - // 构建搜索条件 - ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery); - int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); - List historicProcessInstances = historicProcessInstanceQuery - .listPage(offset, pageQuery.getPageSize()); - page.setTotal(historicProcessInstanceQuery.count()); - List taskVoList = new ArrayList<>(); - for (HistoricProcessInstance hisIns : historicProcessInstances) { - WfTaskVo taskVo = new WfTaskVo(); - // 获取流程状态 - HistoricVariableInstance processStatusVariable = historyService.createHistoricVariableInstanceQuery() - .processInstanceId(hisIns.getId()) - .variableName(ProcessConstants.PROCESS_STATUS_KEY) - .singleResult(); - String processStatus = null; - if (ObjectUtil.isNotNull(processStatusVariable)) { - processStatus = Convert.toStr(processStatusVariable.getValue()); - } - // 兼容旧流程 - if (processStatus == null) { - processStatus = ObjectUtil.isNull(hisIns.getEndTime()) ? ProcessStatus.RUNNING.getStatus() : ProcessStatus.COMPLETED.getStatus(); - } - taskVo.setProcessStatus(processStatus); - taskVo.setCreateTime(hisIns.getStartTime()); - taskVo.setFinishTime(hisIns.getEndTime()); - taskVo.setProcInsId(hisIns.getId()); - - //add for test --tzx - - String spec[] = new String[2]; - getHistSpecInfo(hisIns.getId(),spec); - taskVo.setSpecBatch(spec[0]); - taskVo.setSpecName(spec[1]); - //add end for test --tzx - - // 计算耗时 - if (Objects.nonNull(hisIns.getEndTime())) { - taskVo.setDuration(DateUtils.getDatePoor(hisIns.getEndTime(), hisIns.getStartTime())); - } else { - taskVo.setDuration(DateUtils.getDatePoor(DateUtils.getNowDate(), hisIns.getStartTime())); - } - // 流程部署实例信息 - Deployment deployment = repositoryService.createDeploymentQuery() - .deploymentId(hisIns.getDeploymentId()).singleResult(); - taskVo.setDeployId(hisIns.getDeploymentId()); - taskVo.setProcDefId(hisIns.getProcessDefinitionId()); - taskVo.setProcDefName(hisIns.getProcessDefinitionName()); - taskVo.setProcDefVersion(hisIns.getProcessDefinitionVersion()); - taskVo.setCategory(deployment.getCategory()); - // 当前所处流程 - List taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).includeIdentityLinks().list(); - if (CollUtil.isNotEmpty(taskList)) { - taskVo.setTaskName(taskList.stream().map(Task::getName).filter(StringUtils::isNotEmpty).collect(Collectors.joining(","))); - } - taskVoList.add(taskVo); - } - page.setRecords(taskVoList); + Page page = getHistProcessList(historicProcessInstanceQuery,processQuery,pageQuery); return TableDataInfo.build(page); }