ソースを参照

培训/演练:处理下发后有任务完成再删除计划 未能删除任务的bug

jingyuanchao 1 年間 前
コミット
fc07b1cf4b

+ 8 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillPlanServiceImpl.java

@@ -655,7 +655,14 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
             coreDrillPlanMapper.delByIds(list);
         } else {
             //计划下有已完成:删除本轮次及以后的所有任务,计划本身做逻辑删除。
-            coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(new Date()), null);
+            final CoreDrillPlan plan = getById(id);
+            if (plan.getPlanCycle().equals(DrillPlanCycleEnum.NONE.getCode())) {
+                coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(new Date()), null);
+            } else {
+                final DateRange range = DateUtils.getStartAndEnd(new Date(), plan.getPlanCycle());
+                coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(range.getStartTime()), null);
+            }
+
             removeByIds(list);
         }
     }

+ 7 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java

@@ -649,7 +649,13 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
             coreEduTrainingPlanMapper.delByIds(list);
         } else {
             //计划下有已完成:删除本轮次及以后的所有任务,计划本身做逻辑删除。
-            coreEduTrainingTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(new Date()), null);
+            final CoreEduTrainingPlan plan = getById(id);
+            if (plan.getPlanCycle().equals(EduTrainingPlanCycleEnum.NONE.getCode())) {
+                coreEduTrainingTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(new Date()), null);
+            } else {
+                final DateRange range = DateUtils.getStartAndEnd(new Date(), plan.getPlanCycle());
+                coreEduTrainingTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, DateUtil.beginOfDay(range.getStartTime()), null);
+            }
             removeByIds(list);
         }
     }