| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.*; |
| | | |
| | | import org.springblade.mdm.basesetting.machine.MachineService; |
| | | import org.springblade.mdm.flow.constants.FlowContants; |
| | | import org.springblade.mdm.flow.entity.FlowProgramFile; |
| | | import org.springblade.mdm.flow.entity.MdmFlowProcess; |
| | | import org.springblade.mdm.flow.util.MdmFlowCache; |
| | | import org.springblade.mdm.flow.vo.FlowVO; |
| | | import org.springblade.mdm.program.entity.NcProgram; |
| | | import org.springblade.mdm.program.entity.ProcessProgRef; |
| | | import org.springblade.mdm.program.service.NcProgramService; |
| | | import org.springblade.mdm.program.service.ProcessProgRefService; |
| | | import org.springblade.system.feign.IUserClient; |
| | |
| | | import java.util.Date; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 流程业务实现类 |
| | |
| | | private final ProcessProgRefService processProgRefService; |
| | | private final ApproveRecordService approveRecordService; |
| | | private final NcProgramService ncProgramService; |
| | | private final FlowProgramFileService flowProgramFileService; |
| | | /** |
| | | * 查询我的流程(个人待办列表) |
| | | * @param page 分页信息 |
| | |
| | | |
| | | //List<Task> tasks = taskQuery.list(); |
| | | long total = taskQuery.count(); |
| | | Long firstResult = (currentPage-1)*pageSize+1; |
| | | Long firstResult = (currentPage-1)*pageSize; |
| | | List<Task> tasks = taskQuery.listPage(Func.toInt(firstResult), Func.toInt(pageSize)); |
| | | tasks.forEach(task -> { |
| | | FlowVO flow = new FlowVO(); |
| | |
| | | |
| | | flow.setProcessDefinitionId(task.getProcessDefinitionId()); |
| | | |
| | | flow.setFile(getNcFileString(String.valueOf(task.getProcessVariables().get("programIds")))); |
| | | flow.setFile(getFileString(task.getProcessInstanceId())); |
| | | //flow.setProcessDefinitionKey(processDefinition.getKey()); |
| | | //flow.setProcessDefinitionVersion(processDefinition.getVersion()); |
| | | flow.setProcessInstanceId(task.getProcessInstanceId()); |
| | |
| | | query.orderByProcessInstanceEndTime().desc(); // 按结束时间降序排列 |
| | | page.setTotal(query.count()); |
| | | |
| | | long firstResult = (page.getCurrent()-1) * page.getSize() + 1; |
| | | long firstResult = (page.getCurrent()-1) * page.getSize(); |
| | | List<HistoricProcessInstance> processes = query |
| | | .listPage((int)firstResult, (int)page.getSize()); |
| | | |
| | |
| | | vo.setProcessCreateTime(processInstance.getStartTime()); |
| | | vo.setHistoryTaskEndTime(processInstance.getEndTime()); |
| | | |
| | | vo.setFile(getNcFileString(String.valueOf(processInstance.getProcessVariables().get(FlowContants.PROGRAM_IDS_KEY)))); |
| | | vo.setFile(getFileString(processInstance.getId())); |
| | | records.add(vo); |
| | | } |
| | | |
| | |
| | | |
| | | return page; |
| | | } |
| | | |
| | | String getNcFileString(String programIds){ |
| | | /* |
| | | 获取列表中的文件名 |
| | | */ |
| | | String getFileString(String processInstanceId){ |
| | | String result = ""; |
| | | if(Func.isNotEmpty(programIds)) { |
| | | List<NcProgram> progList= ncProgramService.listByIds(Func.toLongList(programIds)); |
| | | result = String.join(",",progList.stream().map(NcProgram::getName).toList()); |
| | | } |
| | | List<FlowProgramFile> fileList = flowProgramFileService.lambdaQuery().eq(FlowProgramFile::getProcessInstanceId, processInstanceId).list(); |
| | | |
| | | result = String.join(",",fileList.stream().map(FlowProgramFile::getName).toList()); |
| | | |
| | | return result; |
| | | } |
| | | } |