|
|
@@ -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.SecurityConstants;
|
|
|
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.utils.DateHelper;
|
|
|
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.core.access.domain.TMonitoringRetrievalPlan;
|
|
|
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.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
|
|
|
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.RemoteOrgService;
|
|
|
import com.xunmei.system.api.domain.SysDictData;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
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<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) {
|
|
|
//获取计划关联的机构
|
|
|
- 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)) {
|
|
|
taskList.addAll(list);
|
|
|
}
|
|
|
@@ -223,6 +222,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
}
|
|
|
this.saveBatch(taskList);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 每天生成日任务 如果当天是周一还需生成周任务
|
|
|
*
|
|
|
@@ -237,19 +237,15 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
|
|
|
//获取所有机构
|
|
|
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) {
|
|
|
- List<CoreMonitoringRetrievalTask> listWeek = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.WEEKCYCLE.getCode(), taskTime,orgList);
|
|
|
+ List<CoreMonitoringRetrievalTask> listWeek = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.WEEKCYCLE.getCode(), taskTime, orgList);
|
|
|
if (CollectionUtil.isNotEmpty(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)) {
|
|
|
list.addAll(listDay);
|
|
|
}
|
|
|
@@ -326,14 +322,13 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- * @param cycle 周期
|
|
|
+ * @param cycle 周期
|
|
|
* @param taskTime 日期
|
|
|
- * @param orgList 机构
|
|
|
+ * @param orgList 机构
|
|
|
* @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<>();
|
|
|
//获取计划
|
|
|
QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
|
|
|
@@ -345,9 +340,9 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
//按计划生成任务
|
|
|
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)) {
|
|
|
taskList.addAll(list);
|
|
|
}
|
|
|
@@ -357,48 +352,46 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- * @param plan 计划
|
|
|
+ * @param plan 计划
|
|
|
* @param taskTime 日期
|
|
|
- * @param sysOrg 机构
|
|
|
+ * @param sysOrg 机构
|
|
|
* @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 plan 计划
|
|
|
- * @param sysOrg 机构
|
|
|
- * @param taskTime 日期
|
|
|
+ * @param plan 计划
|
|
|
+ * @param sysOrg 机构
|
|
|
+ * @param taskTime 日期
|
|
|
* @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());
|
|
|
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.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();
|
|
|
task.setId(IDHelper.id());
|
|
|
- task.setTaskName(plan.getPlanName()+"第"+frequency+"次调阅");
|
|
|
+ task.setTaskName(plan.getPlanName() + "第" + frequency + "次调阅");
|
|
|
task.setCycle(Integer.parseInt(plan.getPlanCycle()));
|
|
|
task.setOrgId(sysOrg.getId());
|
|
|
task.setOrgPath(sysOrg.getPath());
|