|  | @@ -10,7 +10,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
											
												
													
														|  |  import com.xunmei.common.core.constant.ErrorMsgConstants;
 |  |  import com.xunmei.common.core.constant.ErrorMsgConstants;
 | 
											
												
													
														|  |  import com.xunmei.common.core.constant.SecurityConstants;
 |  |  import com.xunmei.common.core.constant.SecurityConstants;
 | 
											
												
													
														|  |  import com.xunmei.common.core.domain.DateRange;
 |  |  import com.xunmei.common.core.domain.DateRange;
 | 
											
												
													
														|  | -import com.xunmei.common.core.domain.R;
 |  | 
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 | 
											
												
													
														|  | 
 |  | +import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo;
 | 
											
												
													
														|  |  import com.xunmei.common.core.enums.RetrievalTaskCycle;
 |  |  import com.xunmei.common.core.enums.RetrievalTaskCycle;
 | 
											
												
													
														|  |  import com.xunmei.common.core.utils.DateHelper;
 |  |  import com.xunmei.common.core.utils.DateHelper;
 | 
											
												
													
														|  |  import com.xunmei.common.core.utils.DateUtils;
 |  |  import com.xunmei.common.core.utils.DateUtils;
 | 
											
										
											
												
													
														|  | @@ -19,18 +21,14 @@ import com.xunmei.common.core.utils.Ymd;
 | 
											
												
													
														|  |  import com.xunmei.common.core.web.page.TableDataInfo;
 |  |  import com.xunmei.common.core.web.page.TableDataInfo;
 | 
											
												
													
														|  |  import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
 |  |  import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
 | 
											
												
													
														|  |  import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
 |  |  import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
 | 
											
												
													
														|  | -import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 |  | 
 | 
											
												
													
														|  | -import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 |  | 
 | 
											
												
													
														|  |  import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
 |  |  import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
 | 
											
												
													
														|  |  import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 |  |  import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 | 
											
												
													
														|  |  import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 |  |  import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 | 
											
												
													
														|  | -import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo;
 |  | 
 | 
											
												
													
														|  |  import com.xunmei.system.api.RemoteDictDataService;
 |  |  import com.xunmei.system.api.RemoteDictDataService;
 | 
											
												
													
														|  |  import com.xunmei.system.api.RemoteOrgService;
 |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
											
												
													
														|  |  import com.xunmei.system.api.domain.SysDictData;
 |  |  import com.xunmei.system.api.domain.SysDictData;
 | 
											
												
													
														|  |  import com.xunmei.system.api.domain.SysOrg;
 |  |  import com.xunmei.system.api.domain.SysOrg;
 | 
											
												
													
														|  |  import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 |  |  import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 | 
											
												
													
														|  | -import org.springframework.beans.factory.annotation.Autowired;
 |  | 
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  import javax.annotation.Resource;
 |  |  import javax.annotation.Resource;
 | 
											
										
											
												
													
														|  | @@ -207,15 +205,16 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  |       * 无周期任务生成
 |  |       * 无周期任务生成
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    public void noCycleTask(List<TMonitoringRetrievalPlan> planList){
 |  | 
 | 
											
												
													
														|  | 
 |  | +    public void noCycleTask(List<TMonitoringRetrievalPlan> planList) {
 | 
											
												
													
														|  |          List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 |  |          List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 | 
											
												
													
														|  |          List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 |  |          List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 | 
											
												
													
														|  | -        LocalDate taskTime = planList.get(0).getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();;
 |  | 
 | 
											
												
													
														|  | 
 |  | +        LocalDate taskTime = planList.get(0).getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
 | 
											
												
													
														|  | 
 |  | +        ;
 | 
											
												
													
														|  |          for (TMonitoringRetrievalPlan plan : planList) {
 |  |          for (TMonitoringRetrievalPlan plan : planList) {
 | 
											
												
													
														|  |              //获取计划关联的机构
 |  |              //获取计划关联的机构
 | 
											
												
													
														|  | -            List<SysOrg> listByType = orgList.stream().filter(r->r.getId().equals(plan.getOrgId())&&r.getDeleted()==0&&r.getIsLock()==0).collect(Collectors.toList());
 |  | 
 | 
											
												
													
														|  | -            if(CollectionUtil.isNotEmpty(listByType)){
 |  | 
 | 
											
												
													
														|  | -                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, taskTime,listByType.get(0));
 |  | 
 | 
											
												
													
														|  | 
 |  | +            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock() == 0).collect(Collectors.toList());
 | 
											
												
													
														|  | 
 |  | +            if (CollectionUtil.isNotEmpty(listByType)) {
 | 
											
												
													
														|  | 
 |  | +                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, taskTime, listByType.get(0));
 | 
											
												
													
														|  |                  if (CollectionUtil.isNotEmpty(list)) {
 |  |                  if (CollectionUtil.isNotEmpty(list)) {
 | 
											
												
													
														|  |                      taskList.addAll(list);
 |  |                      taskList.addAll(list);
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
										
											
												
													
														|  | @@ -223,6 +222,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          this.saveBatch(taskList);
 |  |          this.saveBatch(taskList);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  |       * 每天生成日任务 如果当天是周一还需生成周任务
 |  |       * 每天生成日任务 如果当天是周一还需生成周任务
 | 
											
												
													
														|  |       *
 |  |       *
 | 
											
										
											
												
													
														|  | @@ -237,19 +237,15 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |          List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
 |  |          List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
 | 
											
												
													
														|  |          //获取所有机构
 |  |          //获取所有机构
 | 
											
												
													
														|  |          List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 |  |          List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
 | 
											
												
													
														|  | -        if(CollectionUtil.isEmpty(orgList)){
 |  | 
 | 
											
												
													
														|  | -            log.error("获取机构信息失败!");
 |  | 
 | 
											
												
													
														|  | -            return;
 |  | 
 | 
											
												
													
														|  | -        }
 |  | 
 | 
											
												
													
														|  |          //是周一生成周任务
 |  |          //是周一生成周任务
 | 
											
												
													
														|  |          if (taskTime.getDayOfWeek() == DayOfWeek.MONDAY) {
 |  |          if (taskTime.getDayOfWeek() == DayOfWeek.MONDAY) {
 | 
											
												
													
														|  | -            List<CoreMonitoringRetrievalTask> listWeek = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.WEEKCYCLE.getCode(), taskTime,orgList);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            List<CoreMonitoringRetrievalTask> listWeek = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.WEEKCYCLE.getCode(), taskTime, orgList);
 | 
											
												
													
														|  |              if (CollectionUtil.isNotEmpty(listWeek)) {
 |  |              if (CollectionUtil.isNotEmpty(listWeek)) {
 | 
											
												
													
														|  |                  list.addAll(listWeek);
 |  |                  list.addAll(listWeek);
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          //生成每日任务
 |  |          //生成每日任务
 | 
											
												
													
														|  | -        List<CoreMonitoringRetrievalTask> listDay = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.DAYCYCLE.getCode(), taskTime,orgList);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        List<CoreMonitoringRetrievalTask> listDay = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.DAYCYCLE.getCode(), taskTime, orgList);
 | 
											
												
													
														|  |          if (CollectionUtil.isNotEmpty(listDay)) {
 |  |          if (CollectionUtil.isNotEmpty(listDay)) {
 | 
											
												
													
														|  |              list.addAll(listDay);
 |  |              list.addAll(listDay);
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
										
											
												
													
														|  | @@ -326,14 +322,13 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  | -     *
 |  | 
 | 
											
												
													
														|  | -     * @param cycle 周期
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param cycle    周期
 | 
											
												
													
														|  |       * @param taskTime 日期
 |  |       * @param taskTime 日期
 | 
											
												
													
														|  | -     * @param orgList 机构
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param orgList  机构
 | 
											
												
													
														|  |       * @return
 |  |       * @return
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(Integer cycle, LocalDate taskTime,List<SysOrg> orgList) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(Integer cycle, LocalDate taskTime, List<SysOrg> orgList) {
 | 
											
												
													
														|  |          List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 |  |          List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 | 
											
												
													
														|  |          //获取计划
 |  |          //获取计划
 | 
											
												
													
														|  |          QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
 |  |          QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
 | 
											
										
											
												
													
														|  | @@ -345,9 +340,9 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |          //按计划生成任务
 |  |          //按计划生成任务
 | 
											
												
													
														|  |          for (TMonitoringRetrievalPlan plan : planList) {
 |  |          for (TMonitoringRetrievalPlan plan : planList) {
 | 
											
												
													
														|  |              //获取计划关联的机构
 |  |              //获取计划关联的机构
 | 
											
												
													
														|  | -            List<SysOrg> listByType = orgList.stream().filter(r->r.getId().equals(plan.getOrgId())&&r.getDeleted()==0&&r.getIsLock()==0).collect(Collectors.toList());
 |  | 
 | 
											
												
													
														|  | -            if(CollectionUtil.isNotEmpty(listByType)){
 |  | 
 | 
											
												
													
														|  | -                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, taskTime,listByType.get(0));
 |  | 
 | 
											
												
													
														|  | 
 |  | +            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock() == 0).collect(Collectors.toList());
 | 
											
												
													
														|  | 
 |  | +            if (CollectionUtil.isNotEmpty(listByType)) {
 | 
											
												
													
														|  | 
 |  | +                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, taskTime, listByType.get(0));
 | 
											
												
													
														|  |                  if (CollectionUtil.isNotEmpty(list)) {
 |  |                  if (CollectionUtil.isNotEmpty(list)) {
 | 
											
												
													
														|  |                      taskList.addAll(list);
 |  |                      taskList.addAll(list);
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
										
											
												
													
														|  | @@ -357,48 +352,46 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  | -     *
 |  | 
 | 
											
												
													
														|  | -     * @param plan 计划
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param plan     计划
 | 
											
												
													
														|  |       * @param taskTime 日期
 |  |       * @param taskTime 日期
 | 
											
												
													
														|  | -     * @param sysOrg 机构
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param sysOrg   机构
 | 
											
												
													
														|  |       * @return
 |  |       * @return
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(TMonitoringRetrievalPlan plan, LocalDate taskTime,SysOrg sysOrg) {
 |  | 
 | 
											
												
													
														|  | -         List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 |  | 
 | 
											
												
													
														|  | -              Long batchNum = IDHelper.id();
 |  | 
 | 
											
												
													
														|  | -              for(int i=0;i<plan.getPlanFrequency();i++){
 |  | 
 | 
											
												
													
														|  | -                  CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum,i+1,plan,sysOrg,taskTime);
 |  | 
 | 
											
												
													
														|  | -                  taskList.add(task);
 |  | 
 | 
											
												
													
														|  | -              }
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(TMonitoringRetrievalPlan plan, LocalDate taskTime, SysOrg sysOrg) {
 | 
											
												
													
														|  | 
 |  | +        List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
 | 
											
												
													
														|  | 
 |  | +        Long batchNum = IDHelper.id();
 | 
											
												
													
														|  | 
 |  | +        for (int i = 0; i < plan.getPlanFrequency(); i++) {
 | 
											
												
													
														|  | 
 |  | +            CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i + 1, plan, sysOrg, taskTime);
 | 
											
												
													
														|  | 
 |  | +            taskList.add(task);
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -      return taskList;
 |  | 
 | 
											
												
													
														|  | 
 |  | +        return taskList;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  | -     *
 |  | 
 | 
											
												
													
														|  | -     * @param batchNum 批次
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param batchNum  批次
 | 
											
												
													
														|  |       * @param frequency 第几次
 |  |       * @param frequency 第几次
 | 
											
												
													
														|  | -     * @param plan 计划
 |  | 
 | 
											
												
													
														|  | -     * @param sysOrg 机构
 |  | 
 | 
											
												
													
														|  | -     * @param taskTime 日期
 |  | 
 | 
											
												
													
														|  | 
 |  | +     * @param plan      计划
 | 
											
												
													
														|  | 
 |  | +     * @param sysOrg    机构
 | 
											
												
													
														|  | 
 |  | +     * @param taskTime  日期
 | 
											
												
													
														|  |       * @return
 |  |       * @return
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg,LocalDate taskTime) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, LocalDate taskTime) {
 | 
											
												
													
														|  |          Date dateTime = Date.from(taskTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
 |  |          Date dateTime = Date.from(taskTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
 | 
											
												
													
														|  |          Ymd ymd = Ymd.of(dateTime);
 |  |          Ymd ymd = Ymd.of(dateTime);
 | 
											
												
													
														|  | -        DateRange dateRange =null;
 |  | 
 | 
											
												
													
														|  | -        if(Integer.parseInt(plan.getPlanCycle())==RetrievalTaskCycle.NOCYCLE.getCode()){
 |  | 
 | 
											
												
													
														|  | -           //无周期任务获取计划时间//重计划中获取
 |  | 
 | 
											
												
													
														|  | 
 |  | +        DateRange dateRange = null;
 | 
											
												
													
														|  | 
 |  | +        if (Integer.parseInt(plan.getPlanCycle()) == RetrievalTaskCycle.NOCYCLE.getCode()) {
 | 
											
												
													
														|  | 
 |  | +            //无周期任务获取计划时间//重计划中获取
 | 
											
												
													
														|  |              dateRange.setStartTime(plan.getStartTime());
 |  |              dateRange.setStartTime(plan.getStartTime());
 | 
											
												
													
														|  |              dateRange.setEndTime(plan.getEndTime());
 |  |              dateRange.setEndTime(plan.getEndTime());
 | 
											
												
													
														|  | -        }else {
 |  | 
 | 
											
												
													
														|  | 
 |  | +        } else {
 | 
											
												
													
														|  |              //周期任务获取计划时间
 |  |              //周期任务获取计划时间
 | 
											
												
													
														|  | -            dateRange = DateUtils.getStartAndEnd(dateTime,Integer.parseInt(plan.getPlanCycle()));
 |  | 
 | 
											
												
													
														|  | 
 |  | +            dateRange = DateUtils.getStartAndEnd(dateTime, Integer.parseInt(plan.getPlanCycle()));
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          CoreMonitoringRetrievalTask task = new CoreMonitoringRetrievalTask();
 |  |          CoreMonitoringRetrievalTask task = new CoreMonitoringRetrievalTask();
 | 
											
												
													
														|  |          task.setId(IDHelper.id());
 |  |          task.setId(IDHelper.id());
 | 
											
												
													
														|  | -        task.setTaskName(plan.getPlanName()+"第"+frequency+"次调阅");
 |  | 
 | 
											
												
													
														|  | 
 |  | +        task.setTaskName(plan.getPlanName() + "第" + frequency + "次调阅");
 | 
											
												
													
														|  |          task.setCycle(Integer.parseInt(plan.getPlanCycle()));
 |  |          task.setCycle(Integer.parseInt(plan.getPlanCycle()));
 | 
											
												
													
														|  |          task.setOrgId(sysOrg.getId());
 |  |          task.setOrgId(sysOrg.getId());
 | 
											
												
													
														|  |          task.setOrgPath(sysOrg.getPath());
 |  |          task.setOrgPath(sysOrg.getPath());
 |