Sfoglia il codice sorgente

修改作息履职的bug

ouyang 2 anni fa
parent
commit
ba2f52c19e

+ 19 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java

@@ -422,8 +422,22 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(TMonitoringRetrievalPlan plan, LocalDate taskTime, SysOrg sysOrg) {
         List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
         Long batchNum = IdWorker.getId();
+
+
+        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 = new DateRange(DateUtil.beginOfDay(plan.getStartTime()).setField(DateField.MILLISECOND, 0), DateUtil.endOfDay(plan.getEndTime()).setField(DateField.MILLISECOND, 0));
+        } else {
+            //周期任务获取计划时间
+            dateRange = DateUtils.getStartAndEnd(dateTime, Integer.parseInt(plan.getPlanCycle()));
+        }
+        Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
         for (int i = 0; i < plan.getPlanFrequency(); i++) {
-            CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i + 1, plan, sysOrg, taskTime);
+            DateRange dateRange1 = dateRanges.get(i);
+            CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i + 1, plan, sysOrg, dateRange1,ymd);
             taskList.add(task);
         }
 
@@ -436,11 +450,11 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
      * @param frequency 第几次
      * @param plan      计划
      * @param sysOrg    机构
-     * @param taskTime  日期
+     * @param ymd  日期
      * @return
      */
-    private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, LocalDate taskTime) {
-        Date dateTime = Date.from(taskTime.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, DateRange dateRange,Ymd ymd) {
+/*        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()) {
@@ -449,7 +463,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         } else {
             //周期任务获取计划时间
             dateRange = DateUtils.getStartAndEnd(dateTime, Integer.parseInt(plan.getPlanCycle()));
-        }
+        }*/
         CoreMonitoringRetrievalTask task = new CoreMonitoringRetrievalTask();
         task.setId(IdWorker.getId());
         task.setTaskName(plan.getPlanName() + "第" + frequency + "次调阅");