| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.flowable.engine.HistoryService; |
| | | import org.flowable.engine.RuntimeService; |
| | | import org.flowable.engine.TaskService; |
| | | import org.flowable.engine.history.HistoricProcessInstance; |
| | | import org.flowable.engine.history.HistoricProcessInstanceQuery; |
| | | import org.flowable.engine.task.Comment; |
| | | import org.flowable.task.api.Task; |
| | | import org.flowable.task.api.TaskInfo; |
| | | import org.flowable.task.api.TaskInfoQuery; |
| | | import org.flowable.task.api.TaskQuery; |
| | | import org.flowable.task.api.history.HistoricTaskInstance; |
| | | import org.flowable.task.api.history.HistoricTaskInstanceQuery; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | 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.mapper.DoneMapper; |
| | | import org.springblade.mdm.flow.util.MdmFlowCache; |
| | | import org.springblade.mdm.flow.vo.DoneQueryVO; |
| | | import org.springblade.mdm.flow.vo.FlowVO; |
| | | import org.springblade.system.feign.IUserClient; |
| | | import org.springblade.system.pojo.entity.User; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private final TaskService taskService; |
| | | /** |
| | | * 查询用户已办任务分页列表 |
| | | * @param page |
| | | * @param s |
| | | * @param createTimeBegin |
| | | * @param createTimeEnd |
| | | * @param keyword |
| | | * @param queryVO 查询参数 |
| | | * @return |
| | | */ |
| | | public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) { |
| | | */ |
| | | //public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) { |
| | | public IPage<FlowVO> selectDonePage(DoneQueryVO queryVO) { |
| | | //已办新查询 |
| | | String userId = "" + AuthUtil.getUserId(); |
| | | DoneQueryVO queryVO = new DoneQueryVO(); |
| | | |
| | | queryVO.setSize(Long.valueOf(page.getSize()).intValue()); |
| | | queryVO.setCurrent(Long.valueOf(page.getCurrent()).intValue()); |
| | | queryVO.setUserId(userId); |
| | | queryVO.setCreateTimeBegin(createTimeBegin); |
| | | if(createTimeEnd != null){ |
| | | createTimeEnd = createTimeEnd.plusDays(1); |
| | | if(queryVO.getCreateTimeEnd() != null){ |
| | | queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1)); |
| | | } |
| | | queryVO.setCreateTimeEnd(createTimeEnd); |
| | | queryVO.setKeyword(keyword); |
| | | |
| | | IPage<FlowVO> pageDta = doneMapper.pageQuery(page,queryVO); |
| | | IPage<FlowVO> pageDta = doneMapper.pageQuery(Condition.getPage(queryVO),queryVO); |
| | | List<String> instIdList = pageDta.getRecords().stream().map(FlowVO::getProcessInstanceId).toList(); |
| | | if(!instIdList.isEmpty()) { |
| | | List<HistoricProcessInstance> processList = getHistoricProcessInstances(instIdList); |
| | | Map<String,Map<String,Object>> varmap = new HashMap<>(); |
| | | for(HistoricProcessInstance inst : processList) { |
| | | |
| | | varmap.put(inst.getId(),inst.getProcessVariables()); |
| | | } |
| | | |
| | | pageDta.getRecords().forEach(flowVO->{ |
| | | flowVO.setVariables(varmap.get(flowVO.getProcessInstanceId())); |
| | | flowVO.setFile(this.getFileString(flowVO.getProcessInstanceId())); |
| | | |
| | | /* |
| | | boolean active = flowCommonService.isProcessInstanceActive(flowVO.getProcessInstanceId()); |
| | | flowVO.setProcessIsFinished((Func.toStr(!active))); |
| | | if(active){ |
| | | flowVO.setFlag(getCurrentTaskDefKeys(flowVO.getProcessInstanceId())); |
| | | */ |
| | | if(!Func.toBoolean(flowVO.getProcessIsFinished())){ |
| | | flowVO.setCurrentTaskKeys(getCurrentTaskDefKeys(flowVO.getProcessInstanceId())); |
| | | } |
| | | }); |
| | | } |