浏览代码

拆分监控调总任务代码及修改任务生成缺陷

jiawuxian 1 年之前
父节点
当前提交
d1be0b402c

+ 14 - 9
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -21,6 +21,7 @@ import com.xunmei.core.access.mapper.TMonitoringRetrievalPlanMapper;
 import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
 
 import com.xunmei.core.access.vo.TMonitoringRetrievalPlanVO;
+import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskBuilderService;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 
 import com.xunmei.system.api.RemoteOrgService;
@@ -71,6 +72,10 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
     @Resource
     private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;
 
+    @Lazy
+    @Resource
+    private ICoreMonitoringRetrievalTaskBuilderService coreMonitoringRetrievalTaskBuilderService;
+
     @Override
     public TableDataInfo selectPage(TMonitoringRetrievalPlan tMonitoringRetrievalPlan) {
         //未删除
@@ -464,7 +469,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         }
         if ((tMonitoringRetrievalPlan.getImmediately().equals(Boolean.TRUE) || tMonitoringRetrievalPlan.getPlanCycle().equals(ZERO.toString())) && CollectionUtils.isNotEmpty(tMonitoringRetrievalPlans)) {
             try {
-                iCoreMonitoringRetrievalTaskService.noCycleTask(tMonitoringRetrievalPlans);
+                coreMonitoringRetrievalTaskBuilderService.noCycleTask(tMonitoringRetrievalPlans);
             } catch (Exception e) {
                 throw new ServiceException("下发任务异常,请联系管理员");
             }
@@ -497,7 +502,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
             }
             //无周期删除所有任务
             if (plan.getPlanCycle().equals("0")) {
-                iCoreMonitoringRetrievalTaskService.deleteAllTaskByPlanIds(collect);
+                coreMonitoringRetrievalTaskBuilderService.deleteAllTaskByPlanIds(collect);
             }
             for (TMonitoringRetrievalPlan tMonitoringRetrievalPlan : list1) {
                 tMonitoringRetrievalPlan.setPlanStatus(2);
@@ -515,20 +520,20 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
                     case "1":
                         LocalDate localDate = LocalDate.now();
                         if (isComplete){
-                            iCoreMonitoringRetrievalTaskService.deleteDayTaskByPlanId(plan.getId(), plan.getPlanCycle(), null);
+                            coreMonitoringRetrievalTaskBuilderService.deleteDayTaskByPlanId(plan.getId(), plan.getPlanCycle(), null);
                         }
                         break;
                     default:
                        // startAndEnd = DateUtils.getStartAndEnd(new Date(), Integer.valueOf(plan.getPlanCycle()) + 1);
                         if (isComplete){
-                            iCoreMonitoringRetrievalTaskService.deleteDayTaskByTime(plan.getId(), plan.getPlanCycle(),null,null);
+                            coreMonitoringRetrievalTaskBuilderService.deleteDayTaskByTime(plan.getId(), plan.getPlanCycle(),null,null);
                         }
                         break;
                 }
             }
         } else if (plan.getPlanCycle().equals("0")) {
             collect.add(id);
-            iCoreMonitoringRetrievalTaskService.deleteAllTaskByPlanIds(collect);
+            coreMonitoringRetrievalTaskBuilderService.deleteAllTaskByPlanIds(collect);
         }
         plan.setPlanStatus(2);
         plan.setIsDistribute("0");
@@ -543,7 +548,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         if (!plan.getPlanCycle().equals("0")) {
            // startAndEnd = DateUtils.getStartAndEnd(new Date(), Integer.valueOf(plan.getPlanCycle()) + 1);
             if (coreMonitoringRetrievalTasks.size()==coreMonitoringRetrievalTasks1.size()){
-                iCoreMonitoringRetrievalTaskService.deleteDayTaskByTimeAndPlanId(id, plan.getPlanCycle(),null,null);
+                coreMonitoringRetrievalTaskBuilderService.deleteDayTaskByTimeAndPlanId(id, plan.getPlanCycle(),null,null);
             }
         }
         plan.setImmediately(false);
@@ -643,7 +648,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         plan.setRoleName(sysRole.getRoleName());
         int i = tMonitoringRetrievalPlanMapper.updateById(plan);
         if (CollectionUtils.isEmpty(coreMonitoringRetrievalTasks)) {
-            iCoreMonitoringRetrievalTaskService.deleteWaitTaskByPlanId(tMonitoringRetrievalPlan.getId());
+            coreMonitoringRetrievalTaskBuilderService.deleteWaitTaskByPlanId(tMonitoringRetrievalPlan.getId());
             try {
                 QueryWrapper queryWrapper = new QueryWrapper();
                 queryWrapper.eq(PARENT_ID, plan.getId());
@@ -717,7 +722,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
                     }
                     if ((tMonitoringRetrievalPlan.getImmediately().equals(Boolean.TRUE) || tMonitoringRetrievalPlan.getPlanCycle().equals(ZERO.toString())) && CollectionUtils.isNotEmpty(tMonitoringRetrievalPlans) && tMonitoringRetrievalPlan.getIsDistribute().equals("1")) {
                         try {
-                            iCoreMonitoringRetrievalTaskService.noCycleTask(tMonitoringRetrievalPlans);
+                            coreMonitoringRetrievalTaskBuilderService.noCycleTask(tMonitoringRetrievalPlans);
                         } catch (Exception e) {
                             throw new ServiceException("下发任务异常,请联系管理员");
                         }
@@ -752,7 +757,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
             if (i < 1) {
                 return i;
             }
-            iCoreMonitoringRetrievalTaskService.deleteWaitTaskByPlanId(id);
+            coreMonitoringRetrievalTaskBuilderService.deleteWaitTaskByPlanId(id);
         }
         return i;
     }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/controller/AppCockpitController.java

@@ -95,7 +95,7 @@ public class AppCockpitController extends BaseController {
      * 综合数据-安全检查
      */
     @ApiOperation(value = "综合数据-安全检查", response = AppSyntheticSafetycheckVo.class)
-    @GetMapping("/synthetic/safethcheck")
+    @GetMapping("/synthetic/safetycheck")
     public AjaxResult syntheticSafetycheck(@RequestParam @Valid Date month) {
         AppSyntheticSafetycheckVo vo = appCockpitService.syntheticSafetyCheck(month);
         return success(vo);

+ 10 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java

@@ -13,6 +13,7 @@ import com.xunmei.common.security.annotation.RequiresPermissions;
 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.retrieval.service.ICoreMonitoringRetrievalTaskBuilderService;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -37,6 +38,9 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @Autowired
     private ICoreMonitoringRetrievalTaskService coreMonitoringRetrievalTaskService;
 
+    @Autowired
+    ICoreMonitoringRetrievalTaskBuilderService coreMonitoringRetrievalTaskBuilderService;
+
     /**
      * 查询监控调阅任务列表
      */
@@ -83,7 +87,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @RequiresPermissions("core:task:edit")
     @GetMapping(value = "initialization/{id}")
     public AjaxResult initialization(@PathVariable("id") Long id) {
-        return success(coreMonitoringRetrievalTaskService.initializationTask(id));
+        return success(coreMonitoringRetrievalTaskBuilderService.initializationTask(id));
     }
 
     /**
@@ -129,7 +133,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @GetMapping("/dayTask")
     public AjaxResult dayTask(@RequestParam(value = "taskTime", required = false) LocalDate taskTime) {
         try {
-            coreMonitoringRetrievalTaskService.dayTask(taskTime);
+            coreMonitoringRetrievalTaskBuilderService.dayTask(taskTime);
             return AjaxResult.success("任务生成成功");
         } catch (Exception e) {
             e.printStackTrace();
@@ -150,7 +154,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @GetMapping("/monthTask")
     public AjaxResult monthTask(@RequestParam(value = "taskTime", required = false) LocalDate taskTime) {
         try {
-            coreMonitoringRetrievalTaskService.monthTask(taskTime);
+            coreMonitoringRetrievalTaskBuilderService.monthTask(taskTime);
             return AjaxResult.success("任务生成成功");
         } catch (Exception e) {
             return AjaxResult.error("任务生成失败" + e.getMessage());
@@ -166,7 +170,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @GetMapping("/updateTaskStart")
     public AjaxResult updateTaskStart() {
         try {
-            coreMonitoringRetrievalTaskService.updateTaskStart();
+            coreMonitoringRetrievalTaskBuilderService.updateTaskStart();
             return AjaxResult.success("修改任务状态成功");
         } catch (Exception e) {
             return AjaxResult.error("修改任务状态失败" + e.getMessage());
@@ -176,7 +180,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @PostMapping("/rebuildTask")
     public AjaxResult rebuildTask(@RequestBody String event) {
         try {
-            coreMonitoringRetrievalTaskService.taskChangeForTimeWorkChange(new Gson().fromJson(event, WorkTimeChangeEvent.class));
+            coreMonitoringRetrievalTaskBuilderService.taskChangeForTimeWorkChange(new Gson().fromJson(event, WorkTimeChangeEvent.class));
             return AjaxResult.success("变更任务成功");
         } catch (Exception e) {
             return AjaxResult.error("变更任务失败" + e.getMessage());
@@ -192,7 +196,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @GetMapping("/initializationAccessTask")
     public AjaxResult initializationAccessTask() {
         try {
-            coreMonitoringRetrievalTaskService.initializationTask();
+            coreMonitoringRetrievalTaskBuilderService.initializationTask();
             return AjaxResult.success("修改任务状态成功");
         } catch (Exception e) {
             return AjaxResult.error("修改任务状态失败" + e.getMessage());

+ 143 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/ICoreMonitoringRetrievalTaskBuilderService.java

@@ -0,0 +1,143 @@
+package com.xunmei.core.retrieval.service;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xunmei.common.core.domain.panel.dto.PanelListDto;
+import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+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.CoreMonitoringRetrievalTaskOneVo;
+import com.xunmei.common.core.domain.safetyindex.dto.SafeScoreSourceDto;
+import com.xunmei.common.core.event.WorkTimeChangeEvent;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
+import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.time.LocalDate;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 监控调阅任务Service接口
+ *
+ * @author xunmei
+ * @date 2023-08-25
+ */
+public interface ICoreMonitoringRetrievalTaskBuilderService extends IService<CoreMonitoringRetrievalTask> {
+//    /**
+//     * 查询监控调阅任务
+//     *
+//     * @param id 监控调阅任务主键
+//     * @return 监控调阅任务
+//     */
+//    public CoreMonitoringRetrievalTask selectCoreMonitoringRetrievalTaskById(Long id);
+//
+//    /**
+//     * 根据计划id查询已完成任务
+//     *
+//     * @param planId
+//     * @return
+//     */
+//    public List<CoreMonitoringRetrievalTask> selectComplete(Long planId);
+
+//    /**
+//     * 查询监控调阅任务列表
+//     *
+//     * @param CoreMonitoringRetrievalTask 监控调阅任务
+//     * @return 监控调阅任务集合
+//     */
+//    public List<CoreMonitoringRetrievalTask> selectCoreMonitoringRetrievalTaskList(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+
+//    /**
+//     * 新增监控调阅任务
+//     *
+//     * @param CoreMonitoringRetrievalTask 监控调阅任务
+//     * @return 结果
+//     */
+//    public int insertCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+
+//    /**
+//     * 修改监控调阅任务
+//     *
+//     * @param CoreMonitoringRetrievalTask 监控调阅任务
+//     * @return 结果
+//     */
+//    public int updateCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+//
+//    /**
+//     * 批量删除监控调阅任务
+//     *
+//     * @param ids 需要删除的监控调阅任务主键集合
+//     * @return 结果
+//     */
+//    public int deleteCoreMonitoringRetrievalTaskByIds(Long[] ids);
+//
+//    /**
+//     * 删除监控调阅任务信息
+//     *
+//     * @param id 监控调阅任务主键
+//     * @return 结果
+//     */
+//    public int deleteCoreMonitoringRetrievalTaskById(Long id);
+//
+//    /**
+//     * 查询监控调阅任务分页数据
+//     *
+//     * @param CoreMonitoringRetrievalTask 查询条件对象
+//     * @return Page
+//     */
+//    public TableDataInfo selectPage(RetrievalTaskPageDto request);
+
+//    void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException;
+//
+//    TableDataInfo selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
+
+    void noCycleTask(List<TMonitoringRetrievalPlan> planList);
+
+    void dayTask(LocalDate taskTime);
+
+    void monthTask(LocalDate taskTime);
+
+    CoreMonitoringRetrievalTaskOneVo selectCoreMonitoringRetrievalTaskOneVoById(Long id);
+
+    void updateTaskStart();
+
+    void initializationTask();
+
+    int initializationTask(Long id);
+
+    void deleteTaskByPlanId(Long planId);
+
+    /**
+     * 根据计划删除所有任务
+     *
+     * @param planId
+     */
+    void deleteAllTaskByPlanId(Long planId);
+
+    void deleteAllTaskByPlanIds(List<Long> planId);
+
+//    List<CoreMonitoringRetrievalTask> selectAllTaskByPlanId(List<Long> planId,List<String>status);
+
+    /**
+     * 删除日任务
+     *
+     * @param planId
+     * @param cycle
+     * @param ymdDate
+     */
+    void deleteDayTaskByPlanId(Long planId, String cycle, LocalDate ymdDate);
+
+    void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime);
+
+    void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime);
+
+    void deleteWaitTaskByPlanId(Long planId);
+
+    void updateDeleteTaskByPlanId(Long planId, Integer isDeleted);
+
+//    void selectMonitorExceptionData(List<Long> orgIds,DateTime time);
+
+    void taskChangeForTimeWorkChange(WorkTimeChangeEvent event);}

+ 39 - 44
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/ICoreMonitoringRetrievalTaskService.java

@@ -32,7 +32,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param id 监控调阅任务主键
      * @return 监控调阅任务
      */
-    public CoreMonitoringRetrievalTask selectCoreMonitoringRetrievalTaskById(Long id);
+    CoreMonitoringRetrievalTask selectCoreMonitoringRetrievalTaskById(Long id);
 
     /**
      * 根据计划id查询已完成任务
@@ -40,7 +40,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param planId
      * @return
      */
-    public List<CoreMonitoringRetrievalTask> selectComplete(Long planId);
+    List<CoreMonitoringRetrievalTask> selectComplete(Long planId);
 
     /**
      * 查询监控调阅任务列表
@@ -48,7 +48,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param CoreMonitoringRetrievalTask 监控调阅任务
      * @return 监控调阅任务集合
      */
-    public List<CoreMonitoringRetrievalTask> selectCoreMonitoringRetrievalTaskList(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+    List<CoreMonitoringRetrievalTask> selectCoreMonitoringRetrievalTaskList(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
 
     /**
      * 新增监控调阅任务
@@ -56,7 +56,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param CoreMonitoringRetrievalTask 监控调阅任务
      * @return 结果
      */
-    public int insertCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+    int insertCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
 
     /**
      * 修改监控调阅任务
@@ -64,7 +64,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param CoreMonitoringRetrievalTask 监控调阅任务
      * @return 结果
      */
-    public int updateCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
+    int updateCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask);
 
     /**
      * 批量删除监控调阅任务
@@ -72,7 +72,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param ids 需要删除的监控调阅任务主键集合
      * @return 结果
      */
-    public int deleteCoreMonitoringRetrievalTaskByIds(Long[] ids);
+    int deleteCoreMonitoringRetrievalTaskByIds(Long[] ids);
 
     /**
      * 删除监控调阅任务信息
@@ -80,7 +80,7 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param id 监控调阅任务主键
      * @return 结果
      */
-    public int deleteCoreMonitoringRetrievalTaskById(Long id);
+    int deleteCoreMonitoringRetrievalTaskById(Long id);
 
     /**
      * 查询监控调阅任务分页数据
@@ -88,61 +88,56 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
      * @param CoreMonitoringRetrievalTask 查询条件对象
      * @return Page
      */
-    public TableDataInfo selectPage(RetrievalTaskPageDto request);
+    TableDataInfo selectPage(RetrievalTaskPageDto request);
 
     void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException;
 
     TableDataInfo selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
 
-    void noCycleTask(List<TMonitoringRetrievalPlan> planList);
-
-    void dayTask(LocalDate taskTime);
-
-    void monthTask(LocalDate taskTime);
 
     CoreMonitoringRetrievalTaskOneVo selectCoreMonitoringRetrievalTaskOneVoById(Long id);
 
-    void updateTaskStart();
+//    void updateTaskStart();
+//
+//    void initializationTask();
 
-    void initializationTask();
+//    int initializationTask(Long id);
 
-    int initializationTask(Long id);
+//    void deleteTaskByPlanId(Long planId);
 
-    void deleteTaskByPlanId(Long planId);
+//    /**
+//     * 根据计划删除所有任务
+//     *
+//     * @param planId
+//     */
+//    void deleteAllTaskByPlanId(Long planId);
 
-    /**
-     * 根据计划删除所有任务
-     *
-     * @param planId
-     */
-    void deleteAllTaskByPlanId(Long planId);
-
-    void deleteAllTaskByPlanIds(List<Long> planId);
+//    void deleteAllTaskByPlanIds(List<Long> planId);
 
     List<CoreMonitoringRetrievalTask> selectAllTaskByPlanId(List<Long> planId,List<String>status);
-
-    /**
-     * 删除日任务
-     *
-     * @param planId
-     * @param cycle
-     * @param ymdDate
-     */
-    void deleteDayTaskByPlanId(Long planId, String cycle, LocalDate ymdDate);
-
-    void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime);
-
-    void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime);
-
-    void deleteWaitTaskByPlanId(Long planId);
-
-    void updateDeleteTaskByPlanId(Long planId, Integer isDeleted);
+//
+//    /**
+//     * 删除日任务
+//     *
+//     * @param planId
+//     * @param cycle
+//     * @param ymdDate
+//     */
+//    void deleteDayTaskByPlanId(Long planId, String cycle, LocalDate ymdDate);
+//
+//    void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime);
+//
+//    void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime);
+
+//    void deleteWaitTaskByPlanId(Long planId);
+//
+//    void updateDeleteTaskByPlanId(Long planId, Integer isDeleted);
 
     List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto);
 
     void selectMonitorExceptionData(List<Long> orgIds,DateTime time);
-
-    void taskChangeForTimeWorkChange(WorkTimeChangeEvent event);
+//
+//    void taskChangeForTimeWorkChange(WorkTimeChangeEvent event);
 
     Object findSource(SafeScoreSourceDto request);
 }

+ 700 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskBuilderServiceImpl.java

@@ -0,0 +1,700 @@
+package com.xunmei.core.retrieval.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+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.retrieval.domain.CoreMonitoringRetrievalTask;
+import com.xunmei.common.core.domain.retrieval.vo.*;
+import com.xunmei.common.core.enums.RetrievalTaskCycle;
+import com.xunmei.common.core.enums.edu.EduTrainingPlanCycleEnum;
+import com.xunmei.common.core.event.WorkTimeChangeEvent;
+import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.core.utils.Ymd;
+import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
+import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
+import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
+import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
+import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskBuilderService;
+import com.xunmei.core.safetyindex.mapper.CoreSafetyExceptionDataMapper;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.RemoteWorkTimeService;
+import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.*;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+/**
+ * 监控调阅任务Service业务层处理
+ *
+ * @author xunmei
+ * @date 2023-08-25
+ */
+@Lazy
+@Service
+public class CoreMonitoringRetrievalTaskBuilderServiceImpl extends ServiceImpl<CoreMonitoringRetrievalTaskMapper, CoreMonitoringRetrievalTask>
+        implements ICoreMonitoringRetrievalTaskBuilderService {
+    @Resource
+    private CoreMonitoringRetrievalTaskMapper coreMonitoringRetrievalTaskMapper;
+    @Resource
+    private RemoteOrgService orgService;
+    @Resource
+    private ITMonitoringRetrievalPlanService itMonitoringRetrievalPlanService;
+    @Autowired
+    private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
+    @Autowired
+    RemoteWorkTimeService workTimeService;
+
+    @Autowired
+    CoreSafetyExceptionDataMapper exceptionDataMapper;
+
+    @Async
+    /**
+     * 无周期任务生成
+     */
+    @Override
+    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();
+        for (TMonitoringRetrievalPlan plan : planList) {
+            //获取计划关联的机构
+            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(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);
+                }
+            }
+        }
+        //立即生效的计划要排除截至时间在当前时间之前的数据
+        List<CoreMonitoringRetrievalTask> lista = taskList.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
+/*        if (CollectionUtil.isNotEmpty(lista)) {
+            this.saveBatch(lista);
+        }*/
+        if (CollectionUtil.isNotEmpty(lista)) {
+            List<CoreMonitoringRetrievalTask> listAll = new ArrayList<>();
+            //对list进行重新编号和保存
+            //对lista 按机构进行分组
+            Map<Long, List<CoreMonitoringRetrievalTask>> map = lista.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getOrgId));
+            for (Long orgId : map.keySet()) {
+                List<CoreMonitoringRetrievalTask> listb = map.get(orgId);
+                for (int i = 0; i < listb.size(); i++) {
+                    listb.get(i).setOrderNum(i + 1);
+                    // 第" + frequency + "次调阅
+                    String oldName = listb.get(i).getTaskName();
+                    String str = "第" + (i + 1) + "次调阅";
+                    int index = oldName.lastIndexOf("第");
+                    if (index > 0) {
+                        listb.get(i).setTaskName(oldName.substring(0, index) + str);
+                    }
+                }
+                listAll.addAll(listb);
+            }
+
+            this.saveBatch(listAll);
+        }
+    }
+
+    /**
+     * 每天生成日任务 如果当天是周一还需生成周任务
+     *
+     * @param taskTime
+     */
+    @Async
+    @Override
+    public void dayTask(LocalDate taskTime) {
+        if (ObjectUtil.isEmpty(taskTime)) {
+            taskTime = LocalDate.now();
+        }
+
+        List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
+        //获取所有机构
+        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        //是周一生成周任务
+        if (taskTime.getDayOfWeek() == DayOfWeek.MONDAY) {
+            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);
+        if (CollectionUtil.isNotEmpty(listDay)) {
+            list.addAll(listDay);
+        }
+        this.saveBatch(list);
+    }
+
+    /**
+     * 1.1生成周期为每月,每季,每半年,每年的任务
+     * 4.1||10.1日生成周期为每月,每季
+     * 7.1日获取执行周期为每月,每季,每半年的
+     * 其他日期生成月任务
+     *
+     * @param taskTime
+     */
+    @Async
+    @Override
+    public void monthTask(LocalDate taskTime) {
+        if (ObjectUtil.isEmpty(taskTime)) {
+            taskTime = LocalDate.now();
+        }
+        List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
+        //获取所有机构
+        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        //判断taskTime不是每月1号将taskTime设置为每月1号
+        if (taskTime.getDayOfMonth() != 1) {
+            taskTime = taskTime.withDayOfMonth(1);
+        }
+        //1.1生成周期为每月,每季,每半年,每年的任务
+        if (taskTime.getMonthValue() == 1) {
+            //季度任务
+            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listQuarter)) {
+                list.addAll(listQuarter);
+            }
+            //半年任务
+            List<CoreMonitoringRetrievalTask> listHalfYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.HALFYEARCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listHalfYear)) {
+                list.addAll(listHalfYear);
+            }
+            //年任务
+            List<CoreMonitoringRetrievalTask> listYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.YEARCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listYear)) {
+                list.addAll(listYear);
+            }
+        }
+        //4.1||10.1日生成周期为每月,每季
+        if (taskTime.getMonthValue() == 4 || taskTime.getMonthValue() == 10) {
+            //季度任务
+            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listQuarter)) {
+                list.addAll(listQuarter);
+            }
+        }
+        //7.1日获取执行周期为每月,每季,每半年的
+        if (taskTime.getMonthValue() == 7) {
+            //季度任务
+            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listQuarter)) {
+                list.addAll(listQuarter);
+            }
+            //半年任务
+            List<CoreMonitoringRetrievalTask> listHalfYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.HALFYEARCYCLE.getCode(), taskTime, orgList);
+            if (CollectionUtil.isNotEmpty(listHalfYear)) {
+                list.addAll(listHalfYear);
+            }
+        }
+        //所有日期都要生成月任务
+        List<CoreMonitoringRetrievalTask> listMonth = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.MONTHCYCLE.getCode(), taskTime, orgList);
+        if (CollectionUtil.isNotEmpty(listMonth)) {
+            list.addAll(listMonth);
+        }
+        this.saveBatch(list);
+
+    }
+
+    @Override
+    public CoreMonitoringRetrievalTaskOneVo selectCoreMonitoringRetrievalTaskOneVoById(Long id) {
+        CoreMonitoringRetrievalTaskOneVo retrievalTaskOneVo = coreMonitoringRetrievalTaskMapper.selectOneById(id);
+        List<TaskDataVo> taskDataVoList = coreMonitoringRetrievalTaskMapper.selectTaskDataVoListByRetrievalTaskId(id);
+        retrievalTaskOneVo.setTaskDataVoList(taskDataVoList);
+        return retrievalTaskOneVo;
+    }
+
+    @Override
+    public void updateTaskStart() {
+        Date dateTimeNew = DateUtil.beginOfDay(new Date());
+        coreMonitoringRetrievalTaskMapper.updateTaskStart(dateTimeNew);
+    }
+
+    @Override
+    public void initializationTask() {
+        LocalDate today = LocalDate.now();
+        LocalDate yesterday = today.minusDays(1);
+        //初始化任务
+        coreMonitoringRetrievalTaskMapper.initializationTask(yesterday.toString());
+        List<Long> longs = coreMonitoringRetrievalTaskMapper.selectTaskByTime(yesterday.toString());
+        //删除关联
+        longs.forEach(l -> {
+            coreMonitoringTaskRegistrationMapper.deleteByTaskId(l);
+        });
+    }
+
+    @Override
+    public int initializationTask(Long id) {
+        int i = 0;
+        i = coreMonitoringRetrievalTaskMapper.initializationTaskByHand(id);
+        i = coreMonitoringTaskRegistrationMapper.deleteByTaskId(id);
+        return i;
+    }
+
+    @Override
+    public void deleteTaskByPlanId(Long planId) {
+        coreMonitoringRetrievalTaskMapper.deleteTaskByPlanId(planId);
+    }
+
+    @Override
+    public void deleteAllTaskByPlanId(Long planId) {
+        coreMonitoringRetrievalTaskMapper.deleteAllTaskByPlanId(planId);
+    }
+
+    @Override
+    public void deleteAllTaskByPlanIds(List<Long> planId) {
+        Long[] longs = planId.toArray(new Long[planId.size()]);
+        //   coreMonitoringRetrievalTaskMapper.deleteAllTaskByPlanIds(longs);
+
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.in("plan_id", longs);
+        coreMonitoringRetrievalTaskMapper.delete(queryWrapper);
+    }
+
+
+    @Override
+    public void deleteDayTaskByPlanId(Long planId, String cycle, LocalDate ymdDate) {
+        String date = null;
+        if (null != ymdDate) {
+            date = ymdDate.toString();
+        }
+        coreMonitoringRetrievalTaskMapper.deleteDayTaskByPlanId(planId, cycle, date);
+    }
+
+    @Override
+    public void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime) {
+        coreMonitoringRetrievalTaskMapper.deleteDayTaskByTime(planId, cycle, startTime, endTime);
+    }
+
+    @Override
+    public void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime) {
+        coreMonitoringRetrievalTaskMapper.deleteDayTaskByTimeAndPlanId(planId, cycle, startTime, endTime);
+    }
+
+
+    @Override
+    public void deleteWaitTaskByPlanId(Long planId) {
+        coreMonitoringRetrievalTaskMapper.deleteWaitTaskByPlanId(planId);
+    }
+
+    @Override
+    public void updateDeleteTaskByPlanId(Long planId, Integer isDeleted) {
+        coreMonitoringRetrievalTaskMapper.updateDeleteTaskByPlanId(planId, isDeleted);
+    }
+
+    /**
+     * @param cycle    周期
+     * @param taskTime 日期
+     * @param orgList  机构
+     * @return
+     */
+
+    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(Integer cycle, LocalDate taskTime, List<SysOrg> orgList) {
+        List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
+        //获取计划
+        QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanCycle, cycle);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
+        List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
+        List<TMonitoringRetrievalPlan> planList = new ArrayList<>(16);
+        for (TMonitoringRetrievalPlan p : plans) {
+           /* SysOrg sysOrg = new SysOrg();
+            sysOrg.setPath(p.getOrgPath());
+            sysOrg.setType(Integer.valueOf(p.getOrgType()));
+            List<SysOrg> sysOrgs = remoteOrgService.listByParentIdAndType(sysOrg, SecurityConstants.INNER);*/
+            List<SysOrg> sysOrgs = orgList.stream().
+                    filter(s -> s.getPath().contains(p.getOrgPath()) && (s.getType() != null && s.getType().toString().equals(p.getOrgType())))
+                    .collect(Collectors.toList());
+            for (SysOrg s : sysOrgs) {
+                TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();
+                BeanUtils.copyProperties(p, plan);
+                plan.setPlanName(p.getPlanName());
+                plan.setOrgId(s.getId());
+                plan.setOrgName(s.getShortName());
+                plan.setRoleId(p.getRoleId());
+                plan.setRoleName(p.getRoleName());
+                plan.setOrgPath(s.getPath());
+                plan.setOrgType(p.getOrgType());
+                plan.setPlanCycle(p.getPlanCycle());
+                plan.setPlanFrequency(p.getPlanFrequency());
+                plan.setPlanStatus(0);
+                plan.setCreateBy(SecurityUtils.getUsername());
+                plan.setUpdateTime(DateUtils.getNowDate());
+                plan.setUpdateBy(SecurityUtils.getUsername());
+                plan.setCreateTime(DateUtils.getNowDate());
+                plan.setDescription(p.getDescription());
+                plan.setCreateType(1);
+                plan.setParentId(p.getId());
+                plan.setIsDistribute("1");
+                planList.add(plan);
+            }
+        }
+        //按计划生成任务
+        for (TMonitoringRetrievalPlan plan : planList) {
+            //获取计划关联的机构
+            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(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);
+                }
+            }
+        }
+        return taskList;
+    }
+
+    /**
+     * @param plan     计划
+     * @param taskTime 日期
+     * @param sysOrg   机构
+     * @return
+     */
+    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, EduTrainingPlanCycleEnum.toCommmonEnum(Integer.parseInt(plan.getPlanCycle())));
+        }
+        Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
+        //判断作息(无周期排开)
+//        if (!plan.getPlanCycle().equals(RetrievalTaskCycle.NOCYCLE.getCode().toString())) {
+        int idx = 1;
+        Map<Integer, DateRange> workingDateRanges = new HashMap<>();
+        for (Integer key : dateRanges.keySet()) {
+            DateRange dateRange1 = dateRanges.get(key);
+            boolean flag = checkWorkTime(dateRange1.getStartTime(), dateRange1.getEndTime(), sysOrg.getId());
+            if (flag == true && dateRange1.getEndTime().after(new Date())) {
+                workingDateRanges.put(idx, dateRange1);
+                idx++;
+            }
+        }
+
+        for (Integer integer : workingDateRanges.keySet()) {
+            DateRange dateRange1 = workingDateRanges.get(integer);
+            CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, integer, plan, sysOrg, dateRange1, ymd, workingDateRanges.size());
+            taskList.add(task);
+        }
+
+        return taskList;
+
+    }
+
+    /**
+     * @param batchNum  批次
+     * @param frequency 第几次
+     * @param plan      计划
+     * @param sysOrg    机构
+     * @param ymd       日期
+     * @return
+     */
+    private CoreMonitoringRetrievalTask buildCoreMonitoringRetrievalTask(Long batchNum, int frequency, TMonitoringRetrievalPlan plan, SysOrg sysOrg, DateRange dateRange, Ymd ymd, int totalNumber) {
+/*        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()));
+        }*/
+        CoreMonitoringRetrievalTask task = new CoreMonitoringRetrievalTask();
+        task.setId(IdWorker.getId());
+        if (totalNumber > 1) {
+            task.setTaskName(plan.getPlanName() + "第" + frequency + "次调阅");
+        } else {
+            task.setTaskName(plan.getPlanName() + "调阅任务");
+        }
+        task.setCycle(plan.getPlanCycle());
+        task.setOrgId(sysOrg.getId());
+        task.setOrgPath(sysOrg.getPath());
+        task.setOrgName(sysOrg.getShortName());
+        task.setBatchNum(batchNum);
+        task.setPlanId(plan.getId());
+        task.setOrderNum(frequency);
+        task.setPlanStartTime(DateTime.of(dateRange.getStartTime()).setField(DateField.MILLISECOND, 0));
+        task.setPlanEndTime(DateTime.of(dateRange.getEndTime()).setField(DateField.MILLISECOND, 0));
+        task.setYmdDate(ymd.getDate());
+        task.setYmdYear(ymd.getYear());
+        task.setYmdHalfyear(ymd.getHalfyear());
+        task.setYmdQuarter(ymd.getQuarter());
+        task.setYmdMonth(ymd.getMonth());
+        task.setYmdWeek(ymd.getWeek());
+        task.setYmdDay(ymd.getDay());
+        task.setRoleId(plan.getRoleId());
+        task.setStatus("0");
+        task.setCreateTime(DateTime.now());
+        task.setIsDeleted(0);
+        return task;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
+        //修改的作息的日期
+        Date ymdDate = event.getDataList().get(0).getYmdDate();
+
+        //受影响的机构
+        List<Long> orgIds = event.getOrgIds();
+    /*    //测试用的数据
+         Date ymdDate  =  new Date();
+        //受影响的机构
+        List<Long> orgIds = new ArrayList<>();
+        orgIds.add(4358025846521957L);
+        orgIds.add(4358025846456575L);*/
+        //判断ymdDate是否是当天
+        Date today = new Date();
+        //要删除的任务
+        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
+        //要重新生成任务的机构和计划
+        List<KeyValueVo> keyValues = new ArrayList<>();
+
+        Map<String, Object> dayObjectMap = null;
+        Map<String, Object> weekObjectMap = null;
+        Map<String, Object> monthObjectMap = null;
+        Map<String, Object> quarterObjectMap = null;
+        Map<String, Object> halfYearObjectMap = null;
+        Map<String, Object> yearObjectMap = null;
+        //判断ymdDate 月today是否是同一日期
+        if (DateUtil.isSameDay(ymdDate, today)) {
+            //获取当天的调阅任务
+            dayObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.DAYCYCLE.getCode());
+        }
+        weekObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.WEEKCYCLE.getCode());
+        monthObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.MONTHCYCLE.getCode());
+        quarterObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.QUARTERCYCLE.getCode());
+        halfYearObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.HALFYEARCYCLE.getCode());
+        yearObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.YEARCYCLE.getCode());
+
+        Map<String, Object> allMap = this.buildDeleteTaskList(dayObjectMap, weekObjectMap, monthObjectMap, quarterObjectMap, halfYearObjectMap, yearObjectMap);
+        deleteTaskList = (List<CoreMonitoringRetrievalTask>) allMap.get("deleteTaskList");
+        keyValues = (List<KeyValueVo>) allMap.get("keyValues");
+        //删除任务
+        if (CollectionUtil.isNotEmpty(deleteTaskList)) {
+            this.removeBatchByIds(deleteTaskList);
+        }
+        //生成新的任务
+        // if(CollectionUtil.isNotEmpty(keyValues)){
+        this.rebuildtask(keyValues, ymdDate, orgIds);
+        // }
+
+    }
+
+    private Map<String, Object> buildDeleteTaskList(Map<String, Object>... ObjMaps) {
+        Map<String, Object> deleteTaskListMap = new HashMap<>();
+        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
+        List<KeyValueVo> keyValues = new ArrayList<>();
+        for (Map<String, Object> objMap : ObjMaps) {
+            if (objMap != null && objMap.containsKey("deleteTaskList") && objMap.containsKey("keyValues")) {
+                List<CoreMonitoringRetrievalTask> listTask = (List<CoreMonitoringRetrievalTask>) objMap.get("deleteTaskList");
+                List<KeyValueVo> keyValueList = (List<KeyValueVo>) objMap.get("keyValues");
+                if (CollectionUtil.isNotEmpty(listTask)) {
+                    deleteTaskList.addAll(listTask);
+                }
+                if (CollectionUtil.isNotEmpty(keyValueList)) {
+                    keyValues.addAll(keyValueList);
+                }
+            }
+
+        }
+        deleteTaskListMap.put("deleteTaskList", deleteTaskList);
+        deleteTaskListMap.put("keyValues", keyValues);
+        return deleteTaskListMap;
+    }
+
+    private void rebuildtask(List<KeyValueVo> keyValues, Date taskTime, List<Long> orgIds) {
+        //获取所有机构
+        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        List<SysOrg> orgs = orgList.stream().filter(r -> orgIds.contains(r.getId())).collect(Collectors.toList());
+        //通过parentId获取orgList中orgs的直属上级
+//        List<SysOrg> parentOrgList = orgList.stream().filter(r -> orgs.stream().anyMatch(s -> s.getParentId().equals(r.getId()))).collect(Collectors.toList());
+//        List<Long> orgParentIds = parentOrgList.stream().map(r -> r.getId()).collect(Collectors.toList());
+
+        List<SysOrg> hsOrgs = orgService.selectParentHs(orgIds, SecurityConstants.INNER);
+        List<Long> hsOrgIds = hsOrgs.stream().map(SysOrg::getId).collect(Collectors.toList());
+
+        //获取计划
+        List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
+        QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().in(TMonitoringRetrievalPlan::getOrgId, hsOrgIds);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
+        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
+        //排除无周期的计划
+        queryWrapper.lambda().notIn(TMonitoringRetrievalPlan::getPlanCycle, 0);
+        List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
+        List<TMonitoringRetrievalPlan> planList = new ArrayList<>();
+
+        for (TMonitoringRetrievalPlan p : plans) {
+            for (SysOrg s : orgs) {
+                if (CollectionUtil.isNotEmpty(keyValues)) {
+                    //机构和计划没有同时在排除的范围内的计划不生成任务
+                    if (keyValues.stream().filter(r -> r.getValue().equals(p.getId()) && r.getKey().equals(s.getId())).count() > 0) {
+                        continue;
+                    }
+                }
+                Optional<SysOrg> hsOrg = hsOrgs.stream().filter(hs -> s.getPath().startsWith(hs.getPath())).findFirst();
+                if(!hsOrg.isPresent()){
+                    continue;
+                }
+                //计划的机构id不是当前机构的直属父机构,不生成任务,计划的机构类型不是当前机构的机构类型不生成任务
+                if (s.getType() != null && !s.getType().toString().equals(p.getOrgType())) {
+                    continue;
+                }
+                TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();
+                BeanUtils.copyProperties(p, plan);
+                plan.setPlanName(p.getPlanName());
+                plan.setOrgId(s.getId());
+                plan.setOrgName(s.getShortName());
+                plan.setRoleId(p.getRoleId());
+                plan.setRoleName(p.getRoleName());
+                plan.setOrgPath(s.getPath());
+                plan.setOrgType(p.getOrgType());
+                plan.setPlanCycle(p.getPlanCycle());
+                plan.setPlanFrequency(p.getPlanFrequency());
+                plan.setPlanStatus(0);
+                plan.setCreateBy(SecurityUtils.getUsername());
+                plan.setUpdateTime(DateUtils.getNowDate());
+                plan.setUpdateBy(SecurityUtils.getUsername());
+                plan.setCreateTime(DateUtils.getNowDate());
+                plan.setDescription(p.getDescription());
+                plan.setCreateType(1);
+                plan.setParentId(p.getId());
+                plan.setIsDistribute("1");
+                planList.add(plan);
+            }
+        }
+        for (TMonitoringRetrievalPlan plan : planList) {
+            //任务的开始时间按周期计算用下面的方式
+            DateRange dateRange = DateUtils.getStartAndEnd(taskTime, Integer.valueOf(plan.getPlanCycle()));
+            Instant instant = dateRange.getStartTime().toInstant();
+            // 创建 ZonedDateTime 对象,并指定时区
+            ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
+            // 转换为 LocalDate 对象
+            LocalDate localDate = zdt.toLocalDate();
+
+            //任务整体按周期日期计算,最终结果排除所修改的日期前面的数据
+            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(0)).collect(Collectors.toList());
+            if (CollectionUtil.isNotEmpty(listByType)) {
+                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, localDate, listByType.get(0));
+                if (CollectionUtil.isNotEmpty(list)) {
+                    if (!plan.getPlanCycle().equals(RetrievalTaskCycle.DAYCYCLE.getCode().toString())) {
+                        List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(taskTime)).collect(Collectors.toList());
+                        if (CollectionUtil.isNotEmpty(lista)) {
+                            taskList.addAll(lista);
+                        }
+                    } else {
+                        List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
+                        if (CollectionUtil.isNotEmpty(lista)) {
+                            taskList.addAll(lista);
+                        }
+                    }
+                }
+            }
+        }
+
+        this.saveBatch(taskList);
+    }
+
+    private Map<String, Object> deleteTaskList(Date ymdDate, List<Long> orgIds, Integer cycle) {
+        Map<String, Object> objectMap = new HashMap<>();
+        QueryWrapper<CoreMonitoringRetrievalTask> queryWrapper = new QueryWrapper<>();
+        //每日条件
+        Date datetime = ymdDate;
+        if (!cycle.equals(RetrievalTaskCycle.DAYCYCLE.getCode())) {
+            //根据ymdDate获取周的第一天的日期
+            DateRange dateRange = DateUtils.getStartAndEnd(ymdDate, cycle);
+            datetime = dateRange.getStartTime();
+        }
+        LocalDate taskTime = DateUtils.toLocalDate(datetime);
+/*        queryWrapper.lambda().eq(CoreMonitoringRetrievalTask::getYmdDate,taskTime);
+        //公共条件
+        queryWrapper.lambda().in(CoreMonitoringRetrievalTask::getOrgId,orgIds);
+        queryWrapper.lambda().eq(CoreMonitoringRetrievalTask::getCycle,cycle);
+        List<CoreMonitoringRetrievalTask> taskList = this.list(queryWrapper);*/
+        List<CoreMonitoringRetrievalTask> taskList = baseMapper.selectTaskList(taskTime, orgIds, cycle);
+        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
+        List<KeyValueVo> keyValues = new ArrayList<>();
+        if (CollectionUtil.isNotEmpty(taskList)) {
+            //将数据按机构分组
+            Map<Long, List<CoreMonitoringRetrievalTask>> taskMap = taskList.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getOrgId));
+            for (Long key : taskMap.keySet()) {
+                List<CoreMonitoringRetrievalTask> taskList1 = taskMap.get(key);
+                //将taskList1 按batchNum进行分组
+                Map<Long, List<CoreMonitoringRetrievalTask>> taskMap1 = taskList1.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getBatchNum));
+                for (Long key1 : taskMap1.keySet()) {
+                    List<CoreMonitoringRetrievalTask> taskList2 = taskMap1.get(key1);
+                    int num = (int) taskList2.stream().filter(t -> t.getStatus().equals(2)).count();
+                    //没有完成的任务,改批次的任务删除
+                    if (num == 0) {
+                        deleteTaskList.addAll(taskList2);
+                    } else {
+                        Long planId = taskList2.get(0).getPlanId();
+                        KeyValueVo keyValue = new KeyValueVo();
+                        keyValue.setKey(key);
+                        keyValue.setValue(planId);
+                        keyValues.add(keyValue);
+                    }
+                }
+            }
+        }
+        objectMap.put("deleteTaskList", deleteTaskList);
+        objectMap.put("keyValues", keyValues);
+        return objectMap;
+    }
+
+
+    private boolean checkWorkTime(Date workstartTime, Date workendTime, Long orgId) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("workstartTime", DateUtil.format(workstartTime, "yyyy-MM-dd"));
+        map.put("workendTime", DateUtil.format(workendTime, "yyyy-MM-dd"));
+        map.put("orgId", orgId);
+        Integer num = workTimeService.checkWorkTime(map, SecurityConstants.INNER);
+        if (num > 0) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+//    private List<SysWorkTime> selectWorkTimeList(Date now, CycleCommonEnum cycle, WorkTimeChangeEvent event) {
+//        DateRange range = DateUtils.getStartAndEnd(now, cycle);
+//        String startTime = DateUtil.format(range.getStartTime(), Constants.DAILY_FORMAT);
+//        String endTime = DateUtil.format(range.getEndTime(), Constants.DAILY_FORMAT);
+//        WorkTimeDto workTimeDto = new WorkTimeDto();
+//        workTimeDto.setOrgIdList(event.getOrgIds());
+//        workTimeDto.setStartTime(startTime);
+//        workTimeDto.setEndTime(endTime);
+//        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData();
+//    }
+}

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

@@ -85,10 +85,6 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     private RemoteOrgService orgService;
     @Resource
     private RemoteDictDataService dictDataService;
-    @Resource
-    private ITMonitoringRetrievalPlanService itMonitoringRetrievalPlanService;
-    @Autowired
-    private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
     @Autowired
     private RemoteRoleService roleService;
     @Autowired
@@ -240,153 +236,6 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         return coreMonitoringRetrievalTaskMapper.deleteById(id);
     }
 
-    @Async
-    /**
-     * 无周期任务生成
-     */
-    @Override
-    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();
-        for (TMonitoringRetrievalPlan plan : planList) {
-            //获取计划关联的机构
-            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(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);
-                }
-            }
-        }
-        //立即生效的计划要排除截至时间在当前时间之前的数据
-        List<CoreMonitoringRetrievalTask> lista = taskList.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
-/*        if (CollectionUtil.isNotEmpty(lista)) {
-            this.saveBatch(lista);
-        }*/
-        if (CollectionUtil.isNotEmpty(lista)) {
-            List<CoreMonitoringRetrievalTask> listAll = new ArrayList<>();
-            //对list进行重新编号和保存
-            //对lista 按机构进行分组
-            Map<Long, List<CoreMonitoringRetrievalTask>> map = lista.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getOrgId));
-            for (Long orgId : map.keySet()) {
-                List<CoreMonitoringRetrievalTask> listb = map.get(orgId);
-                for (int i = 0; i < listb.size(); i++) {
-                    listb.get(i).setOrderNum(i + 1);
-                    // 第" + frequency + "次调阅
-                    String oldName = listb.get(i).getTaskName();
-                    String str = "第" + (i + 1) + "次调阅";
-                    int index = oldName.lastIndexOf("第");
-                    if (index > 0) {
-                        listb.get(i).setTaskName(oldName.substring(0, index) + str);
-                    }
-                }
-                listAll.addAll(listb);
-            }
-
-            this.saveBatch(listAll);
-        }
-    }
-
-    /**
-     * 每天生成日任务 如果当天是周一还需生成周任务
-     *
-     * @param taskTime
-     */
-    @Async
-    @Override
-    public void dayTask(LocalDate taskTime) {
-        if (ObjectUtil.isEmpty(taskTime)) {
-            taskTime = LocalDate.now();
-        }
-
-        List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
-        //获取所有机构
-        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        //是周一生成周任务
-        if (taskTime.getDayOfWeek() == DayOfWeek.MONDAY) {
-            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);
-        if (CollectionUtil.isNotEmpty(listDay)) {
-            list.addAll(listDay);
-        }
-        this.saveBatch(list);
-
-    }
-
-    /**
-     * 1.1生成周期为每月,每季,每半年,每年的任务
-     * 4.1||10.1日生成周期为每月,每季
-     * 7.1日获取执行周期为每月,每季,每半年的
-     * 其他日期生成月任务
-     *
-     * @param taskTime
-     */
-    @Async
-    @Override
-    public void monthTask(LocalDate taskTime) {
-        if (ObjectUtil.isEmpty(taskTime)) {
-            taskTime = LocalDate.now();
-        }
-        List<CoreMonitoringRetrievalTask> list = new ArrayList<>();
-        //获取所有机构
-        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        //判断taskTime不是每月1号将taskTime设置为每月1号
-        if (taskTime.getDayOfMonth() != 1) {
-            taskTime = taskTime.withDayOfMonth(1);
-        }
-        //1.1生成周期为每月,每季,每半年,每年的任务
-        if (taskTime.getMonthValue() == 1) {
-            //季度任务
-            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listQuarter)) {
-                list.addAll(listQuarter);
-            }
-            //半年任务
-            List<CoreMonitoringRetrievalTask> listHalfYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.HALFYEARCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listHalfYear)) {
-                list.addAll(listHalfYear);
-            }
-            //年任务
-            List<CoreMonitoringRetrievalTask> listYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.YEARCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listYear)) {
-                list.addAll(listYear);
-            }
-        }
-        //4.1||10.1日生成周期为每月,每季
-        if (taskTime.getMonthValue() == 4 || taskTime.getMonthValue() == 10) {
-            //季度任务
-            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listQuarter)) {
-                list.addAll(listQuarter);
-            }
-        }
-        //7.1日获取执行周期为每月,每季,每半年的
-        if (taskTime.getMonthValue() == 7) {
-            //季度任务
-            List<CoreMonitoringRetrievalTask> listQuarter = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.QUARTERCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listQuarter)) {
-                list.addAll(listQuarter);
-            }
-            //半年任务
-            List<CoreMonitoringRetrievalTask> listHalfYear = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.HALFYEARCYCLE.getCode(), taskTime, orgList);
-            if (CollectionUtil.isNotEmpty(listHalfYear)) {
-                list.addAll(listHalfYear);
-            }
-        }
-        //所有日期都要生成月任务
-        List<CoreMonitoringRetrievalTask> listMonth = this.buildCoreMonitoringRetrievalTask(RetrievalTaskCycle.MONTHCYCLE.getCode(), taskTime, orgList);
-        if (CollectionUtil.isNotEmpty(listMonth)) {
-            list.addAll(listMonth);
-        }
-        this.saveBatch(list);
-
-    }
 
     @Override
     public CoreMonitoringRetrievalTaskOneVo selectCoreMonitoringRetrievalTaskOneVoById(Long id) {
@@ -396,52 +245,6 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         return retrievalTaskOneVo;
     }
 
-    @Override
-    public void updateTaskStart() {
-        Date dateTimeNew = DateUtil.beginOfDay(new Date());
-        coreMonitoringRetrievalTaskMapper.updateTaskStart(dateTimeNew);
-    }
-
-    @Override
-    public void initializationTask() {
-        LocalDate today = LocalDate.now();
-        LocalDate yesterday = today.minusDays(1);
-        //初始化任务
-        coreMonitoringRetrievalTaskMapper.initializationTask(yesterday.toString());
-        List<Long> longs = coreMonitoringRetrievalTaskMapper.selectTaskByTime(yesterday.toString());
-        //删除关联
-        longs.forEach(l -> {
-            coreMonitoringTaskRegistrationMapper.deleteByTaskId(l);
-        });
-    }
-
-    @Override
-    public int initializationTask(Long id) {
-        int i = 0;
-        i = coreMonitoringRetrievalTaskMapper.initializationTaskByHand(id);
-        i = coreMonitoringTaskRegistrationMapper.deleteByTaskId(id);
-        return i;
-    }
-
-    @Override
-    public void deleteTaskByPlanId(Long planId) {
-        coreMonitoringRetrievalTaskMapper.deleteTaskByPlanId(planId);
-    }
-
-    @Override
-    public void deleteAllTaskByPlanId(Long planId) {
-        coreMonitoringRetrievalTaskMapper.deleteAllTaskByPlanId(planId);
-    }
-
-    @Override
-    public void deleteAllTaskByPlanIds(List<Long> planId) {
-        Long[] longs = planId.toArray(new Long[planId.size()]);
-        //   coreMonitoringRetrievalTaskMapper.deleteAllTaskByPlanIds(longs);
-
-        QueryWrapper queryWrapper = new QueryWrapper();
-        queryWrapper.in("plan_id", longs);
-        coreMonitoringRetrievalTaskMapper.delete(queryWrapper);
-    }
 
     @Override
     public List<CoreMonitoringRetrievalTask> selectAllTaskByPlanId(List<Long> planId, List<String> status) {
@@ -455,189 +258,11 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     }
 
     @Override
-    public void deleteDayTaskByPlanId(Long planId, String cycle, LocalDate ymdDate) {
-        String date = null;
-        if (null != ymdDate) {
-            date = ymdDate.toString();
-        }
-        coreMonitoringRetrievalTaskMapper.deleteDayTaskByPlanId(planId, cycle, date);
-    }
-
-    @Override
-    public void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime) {
-        coreMonitoringRetrievalTaskMapper.deleteDayTaskByTime(planId, cycle, startTime, endTime);
-    }
-
-    @Override
-    public void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime) {
-        coreMonitoringRetrievalTaskMapper.deleteDayTaskByTimeAndPlanId(planId, cycle, startTime, endTime);
-    }
-
-
-    @Override
-    public void deleteWaitTaskByPlanId(Long planId) {
-        coreMonitoringRetrievalTaskMapper.deleteWaitTaskByPlanId(planId);
-    }
-
-    @Override
-    public void updateDeleteTaskByPlanId(Long planId, Integer isDeleted) {
-        coreMonitoringRetrievalTaskMapper.updateDeleteTaskByPlanId(planId, isDeleted);
-    }
-
-    /**
-     * @param cycle    周期
-     * @param taskTime 日期
-     * @param orgList  机构
-     * @return
-     */
-
-    private List<CoreMonitoringRetrievalTask> buildCoreMonitoringRetrievalTask(Integer cycle, LocalDate taskTime, List<SysOrg> orgList) {
-        List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
-        //获取计划
-        QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanCycle, cycle);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
-        List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
-        List<TMonitoringRetrievalPlan> planList = new ArrayList<>(16);
-        for (TMonitoringRetrievalPlan p : plans) {
-           /* SysOrg sysOrg = new SysOrg();
-            sysOrg.setPath(p.getOrgPath());
-            sysOrg.setType(Integer.valueOf(p.getOrgType()));
-            List<SysOrg> sysOrgs = remoteOrgService.listByParentIdAndType(sysOrg, SecurityConstants.INNER);*/
-            List<SysOrg> sysOrgs = orgList.stream().filter(s -> s.getPath().contains(p.getOrgPath()) && (s.getType() != null && s.getType().toString().equals(p.getOrgType()))).collect(Collectors.toList());
-            for (SysOrg s : sysOrgs) {
-                TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();
-                BeanUtils.copyProperties(p, plan);
-                plan.setPlanName(p.getPlanName());
-                plan.setOrgId(s.getId());
-                plan.setOrgName(s.getShortName());
-                plan.setRoleId(p.getRoleId());
-                plan.setRoleName(p.getRoleName());
-                plan.setOrgPath(s.getPath());
-                plan.setOrgType(p.getOrgType());
-                plan.setPlanCycle(p.getPlanCycle());
-                plan.setPlanFrequency(p.getPlanFrequency());
-                plan.setPlanStatus(0);
-                plan.setCreateBy(SecurityUtils.getUsername());
-                plan.setUpdateTime(DateUtils.getNowDate());
-                plan.setUpdateBy(SecurityUtils.getUsername());
-                plan.setCreateTime(DateUtils.getNowDate());
-                plan.setDescription(p.getDescription());
-                plan.setCreateType(1);
-                plan.setParentId(p.getId());
-                plan.setIsDistribute("1");
-                planList.add(plan);
-            }
-        }
-        //按计划生成任务
-        for (TMonitoringRetrievalPlan plan : planList) {
-            //获取计划关联的机构
-            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(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);
-                }
-            }
-        }
-        return taskList;
-    }
-
-    /**
-     * @param plan     计划
-     * @param taskTime 日期
-     * @param sysOrg   机构
-     * @return
-     */
-    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, EduTrainingPlanCycleEnum.toCommmonEnum(Integer.parseInt(plan.getPlanCycle())));
-        }
-        Map<Integer, DateRange> dateRanges = DateUtils.splitDateRange(dateRange.getStartTime(), dateRange.getEndTime(), plan.getPlanFrequency().intValue());
-        //判断作息(无周期排开)
-        if (!plan.getPlanCycle().equals(RetrievalTaskCycle.NOCYCLE.getCode().toString())) {
-            boolean flag = checkWorkTime(dateRange.getStartTime(), dateRange.getEndTime(), sysOrg.getId());
-            if (flag) {
-                for (int i = 1; i <= plan.getPlanFrequency(); i++) {
-                    DateRange dateRange1 = dateRanges.get(i);
-                    CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
-                    taskList.add(task);
-                }
-            } else {
-                log.error("机构" + sysOrg.getName() + "在时间" + dateRange.getStartTime() + "-" + dateRange.getEndTime() + "没有作息,不生成监控调阅任务");
-            }
-        } else {
-            for (int i = 1; i <= plan.getPlanFrequency(); i++) {
-                DateRange dateRange1 = dateRanges.get(i);
-                CoreMonitoringRetrievalTask task = this.buildCoreMonitoringRetrievalTask(batchNum, i, plan, sysOrg, dateRange1, ymd);
-                taskList.add(task);
-            }
-        }
-        //
-        return taskList;
-
-    }
-
-    /**
-     * @param batchNum  批次
-     * @param frequency 第几次
-     * @param plan      计划
-     * @param sysOrg    机构
-     * @param ymd       日期
-     * @return
-     */
-    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()) {
-            //无周期任务获取计划时间//重计划中获取
-            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()));
-        }*/
-        CoreMonitoringRetrievalTask task = new CoreMonitoringRetrievalTask();
-        task.setId(IdWorker.getId());
-        if (plan.getPlanFrequency() > 1) {
-            task.setTaskName(plan.getPlanName() + "第" + frequency + "次调阅");
-        } else {
-            task.setTaskName(plan.getPlanName() + "调阅任务");
-        }
-        task.setCycle(plan.getPlanCycle());
-        task.setOrgId(sysOrg.getId());
-        task.setOrgPath(sysOrg.getPath());
-        task.setOrgName(sysOrg.getShortName());
-        task.setBatchNum(batchNum);
-        task.setPlanId(plan.getId());
-        task.setOrderNum(frequency);
-        task.setPlanStartTime(DateTime.of(dateRange.getStartTime()).setField(DateField.MILLISECOND, 0));
-        task.setPlanEndTime(DateTime.of(dateRange.getEndTime()).setField(DateField.MILLISECOND, 0));
-        task.setYmdDate(ymd.getDate());
-        task.setYmdYear(ymd.getYear());
-        task.setYmdHalfyear(ymd.getHalfyear());
-        task.setYmdQuarter(ymd.getQuarter());
-        task.setYmdMonth(ymd.getMonth());
-        task.setYmdWeek(ymd.getWeek());
-        task.setYmdDay(ymd.getDay());
-        task.setRoleId(plan.getRoleId());
-        task.setStatus("0");
-        task.setCreateTime(DateTime.now());
-        task.setIsDeleted(0);
-        return task;
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
+    public void selectMonitorExceptionData(List<Long> orgIds, DateTime time) {
+        SysRole role = roleService.getRoleByName("网点负责人", SecurityConstants.INNER);
+        //扩展字段1:任务状态 扩展字段2 计划id
+        int num = baseMapper.saveMonitorExceptionData(time.year(), time.quarter(), time.month() + 1, role.getId(), orgIds);
     }
 
     @Override
@@ -652,14 +277,6 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
-    public void selectMonitorExceptionData(List<Long> orgIds,DateTime time) {
-        SysRole role = roleService.getRoleByName("网点负责人", SecurityConstants.INNER);
-        //扩展字段1:任务状态 扩展字段2 计划id
-        int num = baseMapper.saveMonitorExceptionData(time.year(), time.quarter(), time.month() + 1, role.getId(),orgIds);
-    }
-
-    @Override
     public Object findSource(SafeScoreSourceDto request) {
 
         List<CoreSafetyExceptionData> exceptionDataList = exceptionDataMapper.selectList(new LambdaQueryWrapper<CoreSafetyExceptionData>()
@@ -694,237 +311,4 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         List<IdNameVo> names = roleService.getNames(conditionEto);
         return names.stream().collect(Collectors.toMap(IdNameVo::getId, IdNameVo::getName));
     }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
-        //修改的作息的日期
-        Date ymdDate = event.getDataList().get(0).getYmdDate();
-
-        //受影响的机构
-        List<Long> orgIds = event.getOrgIds();
-    /*    //测试用的数据
-         Date ymdDate  =  new Date();
-        //受影响的机构
-        List<Long> orgIds = new ArrayList<>();
-        orgIds.add(4358025846521957L);
-        orgIds.add(4358025846456575L);*/
-        //判断ymdDate是否是当天
-        Date today = new Date();
-        //要删除的任务
-        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
-        //要重新生成任务的机构和计划
-        List<KeyValueVo> keyValues = new ArrayList<>();
-
-        Map<String, Object> dayObjectMap = null;
-        Map<String, Object> weekObjectMap = null;
-        Map<String, Object> monthObjectMap = null;
-        Map<String, Object> quarterObjectMap = null;
-        Map<String, Object> halfYearObjectMap = null;
-        Map<String, Object> yearObjectMap = null;
-        //判断ymdDate 月today是否是同一日期
-        if (DateUtil.isSameDay(ymdDate, today)) {
-            //获取当天的调阅任务
-            dayObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.DAYCYCLE.getCode());
-        }
-        weekObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.WEEKCYCLE.getCode());
-        monthObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.MONTHCYCLE.getCode());
-        quarterObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.QUARTERCYCLE.getCode());
-        halfYearObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.HALFYEARCYCLE.getCode());
-        yearObjectMap = this.deleteTaskList(ymdDate, orgIds, RetrievalTaskCycle.YEARCYCLE.getCode());
-
-        Map<String, Object> allMap = this.buildDeleteTaskList(dayObjectMap, weekObjectMap, monthObjectMap, quarterObjectMap, halfYearObjectMap, yearObjectMap);
-        deleteTaskList = (List<CoreMonitoringRetrievalTask>) allMap.get("deleteTaskList");
-        keyValues = (List<KeyValueVo>) allMap.get("keyValues");
-        //删除任务
-        if (CollectionUtil.isNotEmpty(deleteTaskList)) {
-            this.removeBatchByIds(deleteTaskList);
-        }
-        //生成新的任务
-        // if(CollectionUtil.isNotEmpty(keyValues)){
-        this.createNewtask(keyValues, ymdDate, orgIds);
-        // }
-
-    }
-
-    private Map<String, Object> buildDeleteTaskList(Map<String, Object>... ObjMaps) {
-        Map<String, Object> deleteTaskListMap = new HashMap<>();
-        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
-        List<KeyValueVo> keyValues = new ArrayList<>();
-        for (Map<String, Object> objMap : ObjMaps) {
-            if (objMap != null && objMap.containsKey("deleteTaskList") && objMap.containsKey("keyValues")) {
-                List<CoreMonitoringRetrievalTask> listTask = (List<CoreMonitoringRetrievalTask>) objMap.get("deleteTaskList");
-                List<KeyValueVo> keyValueList = (List<KeyValueVo>) objMap.get("keyValues");
-                if (CollectionUtil.isNotEmpty(listTask)) {
-                    deleteTaskList.addAll(listTask);
-                }
-                if (CollectionUtil.isNotEmpty(keyValueList)) {
-                    keyValues.addAll(keyValueList);
-                }
-            }
-
-        }
-        deleteTaskListMap.put("deleteTaskList", deleteTaskList);
-        deleteTaskListMap.put("keyValues", keyValues);
-        return deleteTaskListMap;
-    }
-
-    private void createNewtask(List<KeyValueVo> keyValues, Date taskTime, List<Long> orgIds) {
-        //获取所有机构
-        List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        List<SysOrg> orgs = orgList.stream().filter(r -> orgIds.contains(r.getId())).collect(Collectors.toList());
-        //通过parentId获取orgList中orgs的直属上级
-        List<SysOrg> parentOrgList = orgList.stream().filter(r -> orgs.stream().anyMatch(s -> s.getParentId().equals(r.getId()))).collect(Collectors.toList());
-        List<Long> orgParentIds = parentOrgList.stream().map(r -> r.getId()).collect(Collectors.toList());
-
-        //获取计划
-        List<CoreMonitoringRetrievalTask> taskList = new ArrayList<>();
-        QueryWrapper<TMonitoringRetrievalPlan> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().in(TMonitoringRetrievalPlan::getOrgId, orgParentIds);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getPlanStatus, 1);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getIsDeleted, 0);
-        queryWrapper.lambda().eq(TMonitoringRetrievalPlan::getCreateType, 1);
-        //排除无周期的计划
-        queryWrapper.lambda().notIn(TMonitoringRetrievalPlan::getPlanCycle, 0);
-        List<TMonitoringRetrievalPlan> plans = itMonitoringRetrievalPlanService.list(queryWrapper);
-        List<TMonitoringRetrievalPlan> planList = new ArrayList<>();
-
-        for (TMonitoringRetrievalPlan p : plans) {
-            for (SysOrg s : orgs) {
-                if (CollectionUtil.isNotEmpty(keyValues)) {
-                    //机构和计划没有同时在排除的范围内的计划不生成任务
-                    if (keyValues.stream().filter(r -> r.getValue().equals(p.getId()) && r.getKey().equals(s.getId())).count() > 0) {
-                        continue;
-                    }
-                }
-                //计划的机构id不是当前机构的直属父机构,不生成任务,计划的机构类型不是当前机构的机构类型不生成任务
-                if (!p.getOrgId().equals(s.getParentId()) || (s.getType() != null && !s.getType().toString().equals(p.getOrgType()))) {
-                    continue;
-                }
-                TMonitoringRetrievalPlan plan = new TMonitoringRetrievalPlan();
-                BeanUtils.copyProperties(p, plan);
-                plan.setPlanName(p.getPlanName());
-                plan.setOrgId(s.getId());
-                plan.setOrgName(s.getShortName());
-                plan.setRoleId(p.getRoleId());
-                plan.setRoleName(p.getRoleName());
-                plan.setOrgPath(s.getPath());
-                plan.setOrgType(p.getOrgType());
-                plan.setPlanCycle(p.getPlanCycle());
-                plan.setPlanFrequency(p.getPlanFrequency());
-                plan.setPlanStatus(0);
-                plan.setCreateBy(SecurityUtils.getUsername());
-                plan.setUpdateTime(DateUtils.getNowDate());
-                plan.setUpdateBy(SecurityUtils.getUsername());
-                plan.setCreateTime(DateUtils.getNowDate());
-                plan.setDescription(p.getDescription());
-                plan.setCreateType(1);
-                plan.setParentId(p.getId());
-                plan.setIsDistribute("1");
-                planList.add(plan);
-            }
-        }
-        for (TMonitoringRetrievalPlan plan : planList) {
-            //任务的开始时间按周期计算用下面的方式
-            DateRange dateRange = DateUtils.getStartAndEnd(taskTime, Integer.valueOf(plan.getPlanCycle()));
-            Instant instant = dateRange.getStartTime().toInstant();
-            // 创建 ZonedDateTime 对象,并指定时区
-            ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
-            // 转换为 LocalDate 对象
-            LocalDate localDate = zdt.toLocalDate();
-
-            //任务整体按周期日期计算,最终结果排除所修改的日期前面的数据
-            List<SysOrg> listByType = orgList.stream().filter(r -> r.getId().equals(plan.getOrgId()) && r.getDeleted() == 0 && r.getIsLock().equals(0)).collect(Collectors.toList());
-            if (CollectionUtil.isNotEmpty(listByType)) {
-                List<CoreMonitoringRetrievalTask> list = this.buildCoreMonitoringRetrievalTask(plan, localDate, listByType.get(0));
-                if (CollectionUtil.isNotEmpty(list)) {
-                    if (!plan.getPlanCycle().equals(RetrievalTaskCycle.DAYCYCLE.getCode().toString())) {
-                        List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(taskTime)).collect(Collectors.toList());
-                        if (CollectionUtil.isNotEmpty(lista)) {
-                            taskList.addAll(lista);
-                        }
-                    } else {
-                        List<CoreMonitoringRetrievalTask> lista = list.stream().filter(r -> r.getPlanEndTime().after(new Date())).collect(Collectors.toList());
-                        if (CollectionUtil.isNotEmpty(lista)) {
-                            taskList.addAll(lista);
-                        }
-                    }
-                }
-            }
-        }
-
-        this.saveBatch(taskList);
-    }
-
-    private Map<String, Object> deleteTaskList(Date ymdDate, List<Long> orgIds, Integer cycle) {
-        Map<String, Object> objectMap = new HashMap<>();
-        QueryWrapper<CoreMonitoringRetrievalTask> queryWrapper = new QueryWrapper<>();
-        //每日条件
-        Date datetime = ymdDate;
-        if (!cycle.equals(RetrievalTaskCycle.DAYCYCLE.getCode())) {
-            //根据ymdDate获取周的第一天的日期
-            DateRange dateRange = DateUtils.getStartAndEnd(ymdDate, cycle);
-            datetime = dateRange.getStartTime();
-        }
-        LocalDate taskTime = DateUtils.toLocalDate(datetime);
-/*        queryWrapper.lambda().eq(CoreMonitoringRetrievalTask::getYmdDate,taskTime);
-        //公共条件
-        queryWrapper.lambda().in(CoreMonitoringRetrievalTask::getOrgId,orgIds);
-        queryWrapper.lambda().eq(CoreMonitoringRetrievalTask::getCycle,cycle);
-        List<CoreMonitoringRetrievalTask> taskList = this.list(queryWrapper);*/
-        List<CoreMonitoringRetrievalTask> taskList = baseMapper.selectTaskList(taskTime, orgIds, cycle);
-        List<CoreMonitoringRetrievalTask> deleteTaskList = new ArrayList<>();
-        List<KeyValueVo> keyValues = new ArrayList<>();
-        if (CollectionUtil.isNotEmpty(taskList)) {
-            //将数据按机构分组
-            Map<Long, List<CoreMonitoringRetrievalTask>> taskMap = taskList.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getOrgId));
-            for (Long key : taskMap.keySet()) {
-                List<CoreMonitoringRetrievalTask> taskList1 = taskMap.get(key);
-                //将taskList1 按batchNum进行分组
-                Map<Long, List<CoreMonitoringRetrievalTask>> taskMap1 = taskList1.stream().collect(Collectors.groupingBy(CoreMonitoringRetrievalTask::getBatchNum));
-                for (Long key1 : taskMap1.keySet()) {
-                    List<CoreMonitoringRetrievalTask> taskList2 = taskMap1.get(key1);
-                    int num = (int) taskList2.stream().filter(t -> t.getStatus().equals(2)).count();
-                    //没有完成的任务,改批次的任务删除
-                    if (num == 0) {
-                        deleteTaskList.addAll(taskList2);
-                    } else {
-                        Long planId = taskList2.get(0).getPlanId();
-                        KeyValueVo keyValue = new KeyValueVo();
-                        keyValue.setKey(key);
-                        keyValue.setValue(planId);
-                        keyValues.add(keyValue);
-                    }
-                }
-            }
-        }
-        objectMap.put("deleteTaskList", deleteTaskList);
-        objectMap.put("keyValues", keyValues);
-        return objectMap;
-    }
-
-
-    private boolean checkWorkTime(Date workstartTime, Date workendTime, Long orgId) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("workstartTime", DateUtil.format(workstartTime, "yyyy-MM-dd"));
-        map.put("workendTime", DateUtil.format(workendTime, "yyyy-MM-dd"));
-        map.put("orgId", orgId);
-        Integer num = workTimeService.checkWorkTime(map, SecurityConstants.INNER);
-        if (num > 0) {
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    private List<SysWorkTime> selectWorkTimeList(Date now, CycleCommonEnum cycle, WorkTimeChangeEvent event) {
-        DateRange range = DateUtils.getStartAndEnd(now, cycle);
-        String startTime = DateUtil.format(range.getStartTime(), Constants.DAILY_FORMAT);
-        String endTime = DateUtil.format(range.getEndTime(), Constants.DAILY_FORMAT);
-        WorkTimeDto workTimeDto = new WorkTimeDto();
-        workTimeDto.setOrgIdList(event.getOrgIds());
-        workTimeDto.setStartTime(startTime);
-        workTimeDto.setEndTime(endTime);
-        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData();
-    }
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/SafetyCheckRegisterSericeImpl.java

@@ -664,7 +664,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
                     .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.equal(t.getSubmitorId(), loginUserId))
                     .count();
             if (uncompletedCount <= 1 && selfCompletedCount == 0) {
-                throw new ServiceException("每月亲自检查不少于1次");
+                throw new ServiceException("网点负责人每月亲自检查不少于1次");
             }
         }