Jelajahi Sumber

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao 2 tahun lalu
induk
melakukan
6bde1feaf8
37 mengubah file dengan 317 tambahan dan 100 penghapusan
  1. 4 2
      project_data/sql/0.0.2/quartz/quartz.sql
  2. 41 2
      project_data/sql/0.0.2/soc/soc.sql
  3. 2 2
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteResumptionTaskService.java
  4. 3 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteRetrievalTaskService.java
  5. 2 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysUser.java
  6. 4 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteResumptionTaskFallbackFactory.java
  7. 5 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteRetrievalTaskFallbackFactory.java
  8. 2 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/SocCoreApplication.java
  9. 1 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationController.java
  10. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMapper.java
  11. 1 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMonitorMapper.java
  12. 1 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationMonitorService.java
  13. 1 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationService.java
  14. 2 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationMonitorServiceImpl.java
  15. 6 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java
  16. 0 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java
  17. 9 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ProtectionController.java
  18. 7 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/TaskController.java
  19. 1 3
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/domain/Protection.java
  20. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/domain/Resumption.java
  21. 6 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/dto/protection/ProtectionEditDto.java
  22. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/gx/service/ResumptionServiceImpl.java
  23. 0 6
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ProtectionServiceImpl.java
  24. 52 41
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ResumptionServiceImpl.java
  25. 17 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java
  26. 14 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java
  27. 7 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/ICoreMonitoringRetrievalTaskService.java
  28. 39 10
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java
  29. 3 0
      soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMapper.xml
  30. 1 0
      soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMonitorMapper.xml
  31. 6 0
      soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml
  32. 9 1
      soc-modules/soc-modules-job/src/main/java/com/xunmei/job/task/CoreMessageSendTask.java
  33. 28 2
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeviceController.java
  34. 6 2
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysUserController.java
  35. 4 12
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysWorkTimeController.java
  36. 2 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java
  37. 22 4
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysWorkTimeServiceImpl.java

+ 4 - 2
project_data/sql/0.0.2/quartz/quartz.sql

@@ -1,9 +1,11 @@
-delete from sys_job where job_id in(129,128,125);
+delete from sys_job where job_id in(129,128,125,138);
 INSERT INTO `sys_job`(`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (129, '恶劣天气预警', 'DEFAULT', 'WeatherTask.getDataFromApi', '0 0 7,10,14,17 * * ? *', '1', '1', '0', '超级管理员', '2023-09-25 11:46:50', '', NULL);
 INSERT INTO `sys_job` VALUES (128, '履职临期提醒(除了每日的)', 'DEFAULT', 'CoreMessageSendTask.resumptionRemind', '0 0 0 * * ?', '1', '1', '0', '超级管理员', '2023-09-22 17:03:31', '', '2023-09-22 20:29:13');
 INSERT INTO `sys_job` VALUES (125, '消息发送管理(每日凌晨零点)', 'DEFAULT', 'CoreMessageSendTask.messageSendTask', '0 0 0 * * ? *', '1', '1', '0', '超级管理员', '2023-09-21 12:30:22', '超级管理员', '2023-09-22 19:04:39');
+
+INSERT INTO `sys_job` VALUES (138, '回归未完成的调阅任务', 'DEFAULT', 'CoreMessageSendTask.initializationAccess', '0 0 0 * * ? *', '1', '1', '0', '超级管理员', '2023-09-21 12:30:22', '超级管理员', '2023-09-22 19:04:39');
 delete from `sys_job` where job_name='生成每周安全检查任务';
 INSERT INTO `sys_job`(`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (130, '生成每周安全检查任务', 'DEFAULT', 'CoreSafetyCheckTask.buildWeekTask', '1 1 1 ? * 2', '2', '1', '0', '超级管理员', '2023-09-22 16:34:24', '', '2023-09-22 16:34:55');
 
 DELETE from `sys_job` WHERE invoke_target='CoreResumptionTask.updateTaskStatus';
-INSERT INTO `sys_job` ( `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ( '每天更新履职任务状态', 'DEFAULT', 'CoreResumptionTask.updateTaskStatus', '0 0 1 * * ?', '1', '0', '0', 'jwx', '2023-09-27 17:50:48', '', NULL);
+INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (136, '每天更新履职任务状态', 'DEFAULT', 'CoreResumptionTask.updateTaskStatus', '0 0 1 * * ?', '1', '0', '0', 'jwx', '2023-09-27 17:50:48', '', NULL);

+ 41 - 2
project_data/sql/0.0.2/soc/soc.sql

@@ -1055,8 +1055,27 @@ DELIMITER ;
 CALL add_column_if_not_exists();
 DROP PROCEDURE add_column_if_not_exists;
 
+//
+DELIMITER $$
+CREATE PROCEDURE add_column_if_not_exists()
+BEGIN
+  IF NOT EXISTS (
+      SELECT *
+      FROM INFORMATION_SCHEMA.COLUMNS
+      WHERE TABLE_NAME = 'sys_user'
+      AND COLUMN_NAME = 'is_manage'
+  )
+  THEN
+ALTER TABLE sys_user
+    ADD COLUMN `is_manage` VARCHAR(2) DEFAULT NULL COMMENT '是否管理人员:Y是,N否';
+END IF;
+END$$
+DELIMITER ;
 
 
+CALL add_column_if_not_exists();
+DROP PROCEDURE add_column_if_not_exists;
+
 /*
  Navicat Premium Data Transfer
 
@@ -1405,7 +1424,9 @@ INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `co
 INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (00000000000000002357, '删除', 2317, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'core:checkplan:remove', '1', NULL, NULL, '超级管理员', '2023-09-25 11:35:35', '', NULL, '');
 INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (00000000000000002317, '检查计划', 2326, 3, 'check/plan', 'check/index', NULL, 1, 0, 'C', '0', '0', '', '1', 'documentation', NULL, '超级管理员', '2023-09-21 10:35:38', '超级管理员', '2023-09-22 09:42:15', '');
 INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (00000000000000002318, '检查任务', 2326, 4, 'check/task/index', 'check/task/index', NULL, 1, 0, 'C', '0', '0', '', '1', 'documentation', NULL, '超级管理员', '2023-09-21 10:37:52', '超级管理员', '2023-09-22 09:42:43', '');
-DELETE FROM sys_menu WHERE id IN(2359,2360,2361,2362,2363,2364,2365)
+DELETE FROM sys_menu WHERE id IN(2359,2360,2361,2362,2363,2364,2365,2207);
+INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
+VALUES (2207, '信息中心', 0, 8, 'infoCore', NULL, NULL, 1, 0, 'M', '0', '0', 'core:send:list', '1', 'documentation', NULL, '超级管理员', '2023-09-21 10:37:52', '超级管理员', '2023-09-22 09:42:43', '');
 INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
 VALUES (2359, '信息发送管理', 2207, 3, 'send', 'core/send/index', NULL, 1, 1, 'C', '0', '0', 'core:send:list', '1', 'email', NULL, '超级管理员', '2023-09-21 10:37:52', '超级管理员', '2023-09-22 09:42:43', '');
 INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `platform_type`, `icon`, `image_path`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
@@ -1496,4 +1517,22 @@ INSERT INTO `sys_dict_data`( `dict_sort`, `dict_label`, `dict_value`, `dict_type
 delete from sys_config where config_key='FORCE_DELETE_PLAN_DATA' limit 1;
 INSERT INTO sys_config (config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark) VALUES ('是否强制删除计划', 'FORCE_DELETE_PLAN_DATA', '0', 'Y', 'slsjyc', '2023-09-28 16:38:28', '', null, '0:否,1:是');
 -- 修改培训任务表状态字段含义注释
-alter table core_edu_training_task  modify status int null comment '任务状态:0:待培训,1:待签名,2:已完成,3:已逾期,4:待提交';
+alter table core_edu_training_task  modify status int null comment '任务状态:0:待培训,1:待签名,2:已完成,3:已逾期,4:待提交';
+
+UPDATE `sys_dict_data` SET `dict_label` = '已逾期' WHERE `dict_type` = 'resumption_status' and `dict_value` = '4';
+UPDATE `sys_menu` SET `menu_name` = '布撤防状态监管' WHERE `menu_name` = '防区信息管理' and `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '查询' WHERE `menu_name` = '防区信息管理查询' and `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '新增' WHERE `menu_name` = '防区信息管理新增' and `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '编辑' WHERE `menu_name` = '防区信息管理编辑' and `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '删除' WHERE `menu_name` = '防区信息管理删除' and `platform_type` = '1';
+
+UPDATE `sys_menu` SET `menu_name` = '布撤防状态登记' WHERE `menu_name` = '防区状态' and `platform_type` = '0';
+UPDATE `sys_menu` SET `menu_name` = '查询' WHERE `menu_name` = '防区状态查询' and `platform_type` = '0';
+UPDATE `sys_menu` SET `menu_name` = '布撤防登记',`platform_type` = '0' WHERE `menu_name` = '防区布撤防'  ;
+
+UPDATE `sys_menu` SET `menu_name` = '履职情况查询' WHERE  (`menu_name`='履职任务管理 ' or `menu_name`='履职任务管理') and  `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '查询' WHERE `menu_name`='履职任务管理查询' and `platform_type` = '1';
+UPDATE `sys_menu` SET `menu_name` = '导出' WHERE `menu_name`='履职任务管理导出' and `platform_type` = '1';
+
+-- 更新app菜单路由
+UPDATE `sys_menu` SET `menu_name` = '履职登记', `parent_id` = 2136, `order_num` = 1, `path` = '/resumption', `component` = NULL, `query` = NULL, `is_frame` = 1, `is_cache` = 0, `menu_type` = 'M', `visible` = '0', `status` = '0', `perms` = '', `platform_type` = '0', `icon` = '/statics/2023/09/16/20230916232743A004.png', `image_path` = NULL, `create_by` = '超级管理员', `create_time` = '2023-09-08 11:20:51', `update_by` = '超级管理员', `update_time` = '2023-10-07 18:02:53', `remark` = '' WHERE `id` = 2137;

+ 2 - 2
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteResumptionTaskService.java

@@ -46,6 +46,6 @@ public interface RemoteResumptionTaskService {
 
     @GetMapping(value = "resumption/task/updatetaskstatus")
     R<Boolean> updateTaskStatus();
-    @PostMapping("/resumption/dayTaskByWorkTime")
-    void dayTaskByWorkTime(@RequestBody Map<String, Object> param);
+    @PostMapping("resumption/task/dayTaskByWorkTime")
+    AjaxResult dayTaskByWorkTime(@RequestBody Map<String, Object> param,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 }

+ 3 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteRetrievalTaskService.java

@@ -56,4 +56,7 @@ public interface RemoteRetrievalTaskService {
      */
     @GetMapping("/retrievalTask/updateTaskStart")
     AjaxResult updateTaskStart(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
+    @GetMapping("/retrievalTask/initializationAccessTask")
+    AjaxResult initializationAccessTask(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 }

+ 2 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysUser.java

@@ -54,7 +54,8 @@ public class SysUser extends BaseEntity {
      */
     @ApiModelProperty(value = "启用/禁用")
     private String isLock;
-
+    @ApiModelProperty(value = "是否管理员")
+    private String isManage;
     /**
      * 岗位
      */

+ 4 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteResumptionTaskFallbackFactory.java

@@ -61,8 +61,11 @@ public class RemoteResumptionTaskFallbackFactory implements FallbackFactory<Remo
             }
 
             @Override
-            public void dayTaskByWorkTime(Map<String, Object> param) {
+            public AjaxResult dayTaskByWorkTime(Map<String, Object> param,String source) {
+                return null;
             }
+
+
         };
     }
 

+ 5 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteRetrievalTaskFallbackFactory.java

@@ -45,6 +45,11 @@ public class RemoteRetrievalTaskFallbackFactory implements FallbackFactory<Remot
             public AjaxResult updateTaskStart(String source) {
                 return AjaxResult.error("修改未完成任务的状态为已超期服务调用失败,失败原因:" + throwable.getMessage());
             }
+
+            @Override
+            public AjaxResult initializationAccessTask(String source) {
+                return AjaxResult.error("初始化未完成任务的状态为未调阅服务调用失败,失败原因:" + throwable.getMessage());
+            }
         };
     }
 }

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/SocCoreApplication.java

@@ -9,6 +9,8 @@ import org.mybatis.spring.annotation.MapperScans;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
+import java.time.LocalDate;
+
 @MapperScan("com.xunmei.core.**.mapper")
 @EnableCustomConfig
 @EnableCustomSwagger2

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationController.java

@@ -23,7 +23,7 @@ import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
+import org.springframework.context.annotation.Lazy;
 
 /**
  * 【请填写功能名称】Controller

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMapper.java

@@ -4,6 +4,7 @@ package com.xunmei.core.access.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -62,4 +63,6 @@ public interface CoreMonitoringTaskRegistrationMapper extends BaseMapper<CoreMon
      * @return 结果
      */
     int deleteCoreMonitoringTaskRegistrationByIds(Long[] ids);
+
+    int deleteByTaskId(Long taskId);
 }

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMonitorMapper.java

@@ -88,4 +88,5 @@ public interface CoreMonitoringTaskRegistrationMonitorMapper extends BaseMapper<
  CoreMonitoringTaskRegistrationMonitorVO selectMonitorById(Long id);
 
     CoreMonitoringTaskRegistrationMonitorVO selectMonitorByInfo(@Param("taskId") Long taskId,@Param("host") Long host, @Param("videoChannel")Long videoChannel);
+
 }

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationMonitorService.java

@@ -75,4 +75,5 @@ public interface ICoreMonitoringTaskRegistrationMonitorService extends IService<
     CoreMonitoringTaskRegistrationMonitorVO selectMonitorById(Long id);
 
     CoreMonitoringTaskRegistrationMonitorVO selectMonitorByInfo(Long taskId,Long hostId,Long videoId);
+
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationService.java

@@ -61,5 +61,5 @@ public interface ICoreMonitoringTaskRegistrationService extends IService<CoreMon
      * @return 结果
      */
     int deleteCoreMonitoringTaskRegistrationById(Long id);
-
+    void  deleteByTaskId(Long taskId);
 }

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationMonitorServiceImpl.java

@@ -167,4 +167,6 @@ public class CoreMonitoringTaskRegistrationMonitorServiceImpl extends ServiceImp
         }
         return coreMonitoringTaskRegistrationMonitorVO;
     }
+
+
 }

+ 6 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java

@@ -19,6 +19,7 @@ import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
@@ -152,4 +153,9 @@ public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreM
     public int deleteCoreMonitoringTaskRegistrationById(Long id) {
         return coreMonitoringTaskRegistrationMapper.deleteById(id);
     }
+
+    @Override
+    public void deleteByTaskId(Long taskId) {
+        coreMonitoringTaskRegistrationMapper.deleteByTaskId(taskId);
+    }
 }

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

@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.util.BeanHelper;
 import com.xunmei.common.core.utils.DateUtils;

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ProtectionController.java

@@ -1,6 +1,8 @@
 package com.xunmei.core.resumption.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
@@ -55,13 +57,20 @@ class ProtectionController extends BaseController {
     @PostMapping("edit")
     @RequiresPermissions(value = {"device:protection:add","device:protection:edit"})
     public AjaxResult edit(@RequestBody ProtectionEditDto editDto) {
+        if(ObjectUtil.isNull(editDto.getAlarmHostId())){
+            throw new ServiceException("请选择报警主机");
+        }
         return success(protectionService.edit(editDto));
     }
     @InnerAuth
     @PostMapping("/addByDevice")
     public AjaxResult addByDevice(@RequestBody ProtectionDTO protectionDTO) {
+        if(ObjectUtil.isNull(protectionDTO.getDeviceId())){
+            throw new ServiceException("设备id不能为空");
+        }
         ProtectionEditDto dto=new ProtectionEditDto();
         BeanUtil.copyProperties(protectionDTO, dto);
+        dto.setAlarmHostId(protectionDTO.getDeviceId());
         return success(protectionService.edit(dto));
     }
     @InnerAuth

+ 7 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/TaskController.java

@@ -138,8 +138,13 @@ public class TaskController {
     }
     @InnerAuth
     @PostMapping ("/dayTaskByWorkTime")
-    public void dayTaskByWorkTime(Map<String,Object> params) {
-         resumptionService.dayTaskByWorkTime(params);
+    public AjaxResult dayTaskByWorkTime(@RequestBody  Map<String,Object> params) {
+        try {
+            resumptionService.dayTaskByWorkTime(params);
+            return AjaxResult.success("任务生成成功");
+        }catch (Exception e){
+            return  AjaxResult.error("任务生成失败");
+        }
     }
 
     private void createNewResumptionByOrgAndPlan(List<Long> orgIds, List<Long> planIds, DateTime datetime) {

+ 1 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/domain/Protection.java

@@ -24,7 +24,6 @@ public class Protection extends BaseEntity {
      * 编号
      */
     @TableId
-    @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
 
     /**
@@ -38,7 +37,7 @@ public class Protection extends BaseEntity {
     private String code;
 
 
-    private Long alarmHostCode;
+    private Long alarmHostId;
 
     /**
      * 防区的名称
@@ -57,7 +56,6 @@ public class Protection extends BaseEntity {
 
     private Integer allHour;
 
-    @JsonSerialize(using = ToStringSerializer.class)
     private Long orgId;
 
     private String orgPath;

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/domain/Resumption.java

@@ -81,6 +81,7 @@ public class Resumption extends BaseEntity {
      */
     @JsonIgnore
     //@NotFound(action = NotFoundAction.IGNORE)
+    @TableField(exist = false)
     private SysOrg org;
 
     /**
@@ -88,6 +89,7 @@ public class Resumption extends BaseEntity {
      */
     @JsonIgnore
     //@NotFound(action = NotFoundAction.IGNORE)
+    @TableField(exist = false)
     private AppPlan plan;
 
 
@@ -156,6 +158,7 @@ public class Resumption extends BaseEntity {
      * 表单数据
      */
     @JsonIgnore
+    @TableField(exist = false)
     private List<FormData> dataList;
 
 

+ 6 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/dto/protection/ProtectionEditDto.java

@@ -2,11 +2,16 @@ package com.xunmei.core.resumption.dto.protection;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 
 @Data
 public class ProtectionEditDto {
     Long id;
-Long deviceId;
+
+    Long deviceId;
+
+    Long alarmHostId;
     /**
      * 所属机构
      */

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/gx/service/ResumptionServiceImpl.java

@@ -303,10 +303,13 @@ public class ResumptionServiceImpl implements ResumptionService{
             List<ResumptionNFCVo> resumptionNFCVos = resumptionMapper.selectResumptionNFC(resumption.getId(), areaId, resumption.getOrgId());
             for (ResumptionNFCVo resumptionNFCVo : resumptionNFCVos) {
                 Integer status = resumptionNFCVo.getStatus();
+                Map<String, Integer> com = itComMap.get(resumptionNFCVo.getAreaId());
+                com.put("total",com.get("total") + 1);
                 if(status == 0){
                     noNFC++;
                     continue;
                 }
+                com.put("yes",com.get("yes") + 1);
                 yesNFC++;
             }
             nfcs.addAll(resumptionNFCVos);

+ 0 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ProtectionServiceImpl.java

@@ -103,16 +103,10 @@ public class ProtectionServiceImpl extends ServiceImpl<ProtectionMapper, Protect
         if (dto.getId() != null) {
             protection = getById(dto.getId());
             BeanUtil.copyProperties(dto, protection);
-            if (null!=dto.getDeviceId()){
-                protection.setAlarmHostCode(dto.getDeviceId());
-            }
             updateById(protection);
         } else {
             BeanUtil.copyProperties(dto, protection);
             protection.setStatus("2");
-            if (null!=dto.getDeviceId()){
-                protection.setAlarmHostCode(dto.getDeviceId());
-            }
             save(protection);
         }
 

+ 52 - 41
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ResumptionServiceImpl.java

@@ -4,6 +4,7 @@ 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.alibaba.nacos.shaded.com.google.gson.Gson;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -175,51 +176,61 @@ public class ResumptionServiceImpl extends ServiceImpl<ResumptionMapper, Resumpt
 
     @Override
     public void dayTaskByWorkTime(Map<String, Object> params) {
-        SysWorkTime workTime = (SysWorkTime) params.get("sysWorkTime");
-        List<Long> orgIds = (List<Long>) params.get("orgIds");
-        //按机构删除当天的每日履职
-        QueryWrapper<Resumption> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(Resumption::getYmdDate, workTime.getYmdDate());
-        queryWrapper.lambda().in(Resumption::getOrgId, orgIds);
-        //待履职,进行中
-        //queryWrapper.lambda().in(Resumption::getStatus,  1, 2);
-        //每日任务
-        queryWrapper.lambda().eq(Resumption::getType, 2);
-        List<Resumption> resumptionList = resumptionMapper.selectList(queryWrapper);
-        List<Resumption> resumptionListYlz =resumptionList.stream().filter(item -> item.getStatus()==3).collect(Collectors.toList());
-        if (CollectionUtils.isNotEmpty(resumptionList)) {
-            //取出未履职的数据(待履职,进行中)
-            List<Resumption> resumptionListWlz = resumptionList.stream().filter(item -> item.getStatus() == 1 || item.getStatus() == 2).collect(Collectors.toList());
-            //删除这些数据
-            resumptionMapper.deleteBatchIds(resumptionListWlz.stream().map(Resumption::getId).collect(Collectors.toList()));
-        }
+        try {
+            Gson gson = new Gson();
+            SysWorkTime workTime = gson.fromJson((String) params.get("sysWorkTime"), SysWorkTime.class);
+            //SysWorkTime workTime = params.get("sysWorkTime");
+            List<Long> orgIds = (List<Long>) params.get("orgIds");
+            //按机构删除当天的每日履职
+            QueryWrapper<Resumption> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(Resumption::getYmdDate, workTime.getYmdDate());
+            queryWrapper.lambda().in(Resumption::getOrgId, orgIds);
+            //待履职,进行中
+            //queryWrapper.lambda().in(Resumption::getStatus,  1, 2);
+            //每日任务
+            queryWrapper.lambda().eq(Resumption::getType, 2);
+            List<Resumption> resumptionList = resumptionMapper.selectList(queryWrapper);
+            List<Resumption> resumptionListYlz =resumptionList.stream().filter(item -> item.getStatus()==3).collect(Collectors.toList());
+            if (CollectionUtils.isNotEmpty(resumptionList)) {
+                //取出未履职的数据(待履职,进行中)
+                List<Resumption> resumptionListWlz = resumptionList.stream().filter(item -> item.getStatus() == 1 || item.getStatus() == 2).collect(Collectors.toList());
+                //删除这些数据
+                if(CollectionUtils.isNotEmpty(resumptionListWlz)){
+                    resumptionMapper.deleteBatchIds(resumptionListWlz.stream().map(Resumption::getId).collect(Collectors.toList()));
+                }
+            }
 
-        //营业重新生成任务
-        if (workTime.getIsEnable() == 1) {
-            QueryWrapper<AppPlan> qw = new QueryWrapper<>();
-            qw.lambda().eq(AppPlan::getPlanStatus, 0);
-            qw.lambda().in(AppPlan::getPlanOfOrgId, orgIds);
-            List<AppPlan> listPlans = appPlanMapper.selectList(qw);
-            //通过resumptionListYlz中的planId过滤除已履职的计划
-            List<AppPlan> lists = listPlans.stream().filter(item -> !resumptionListYlz.stream().map(Resumption::getPlanId).collect(
-                    Collectors.toList()).contains(item.getId())).collect(Collectors.toList());
-            //通过计划id获取计划关系的角色
-            if (CollectionUtils.isNotEmpty(lists)) {
-                List<Long> planIds = lists.stream().map(AppPlan::getId).collect(Collectors.toList());
-                List<AppPlanToRole> appPlanToRoles = appPlanToRoleMapper.selectList(new QueryWrapper<AppPlanToRole>().lambda().in(AppPlanToRole::getPlanId, planIds));
-                List<Resumption> newResumptionList = new ArrayList<>();
-                for(AppPlan plan:lists){
-                    //根据计划获取角色
-                    List<AppPlanToRole> planToRoles = appPlanToRoles.stream().filter(item -> item.getPlanId().equals(plan.getId())).collect(Collectors.toList());
-                    List<Resumption> resumptionLista = this.buildResumptions(plan, planToRoles,workTime);
-                    if(CollectionUtils.isNotEmpty(resumptionLista)){
-                        newResumptionList.addAll(resumptionLista);
+            //营业重新生成任务
+            if (workTime.getIsEnable() == 1) {
+                QueryWrapper<AppPlan> qw = new QueryWrapper<>();
+                qw.lambda().eq(AppPlan::getPlanStatus, 1);
+                qw.lambda().in(AppPlan::getPlanOfOrgId, orgIds);
+                List<AppPlan> listPlans = appPlanMapper.selectList(qw);
+                //通过计划id获取计划关系的角色
+                if (CollectionUtils.isNotEmpty(listPlans)) {
+                    List<Long> planIds = listPlans.stream().map(AppPlan::getId).collect(Collectors.toList());
+                    List<AppPlanToRole> appPlanToRoles = appPlanToRoleMapper.selectList(new QueryWrapper<AppPlanToRole>().lambda().in(AppPlanToRole::getPlanId, planIds));
+                    List<Resumption> newResumptionList = new ArrayList<>();
+                    for(AppPlan plan:listPlans){
+                        //根据计划获取角色
+                        List<AppPlanToRole> planToRoles = appPlanToRoles.stream().filter(item -> item.getPlanId().equals(plan.getId())).collect(Collectors.toList());
+                        List<Resumption> resumptionLista = this.buildResumptions(plan, planToRoles,workTime);
+                        if(CollectionUtils.isNotEmpty(resumptionLista)){
+                            //根据planId和roleId是否判断resumptionLista中的数据是否在resumptionListYlz中
+                            List<Resumption> resumptionListb = resumptionLista.stream().filter(item -> !resumptionListYlz.stream().filter(item1 -> item1.getPlanId().equals(item.getPlanId())
+                                    && item1.getRoleId().equals(item.getRoleId())).findFirst().isPresent()).collect(Collectors.toList());
+                            if(CollectionUtils.isNotEmpty(resumptionListb)){
+                                newResumptionList.addAll(resumptionListb);
+                            }
+                        }
                     }
+                    this.saveBatch(newResumptionList);
                 }
-                this.saveBatch(newResumptionList);
-            }
 
 
+            }
+        } catch (Exception e) {
+           e.printStackTrace();
         }
     }
 
@@ -265,7 +276,7 @@ public class ResumptionServiceImpl extends ServiceImpl<ResumptionMapper, Resumpt
             resumption.setYmdHalfyear(Long.valueOf(ymd.getHalfyear()));
             resumption.setPlanId((ObjectUtil.equal(appPlan.getParentId(), -1L) || ObjectUtil.isNull(appPlan.getParentId())) ? appPlan.getId() : appPlan.getParentId());
             resumption.setOrgId(appPlan.getPlanOfOrgId());
-            resumption.setType(appPlan.getPlanType());
+            resumption.setType(appPlan.getPlanCycle());
             resumption.setRoleId(role.getRoleId());
             resumption.setPlanStartTime(planstartTime);
             resumption.setPlanEndTime(planendTime);

+ 17 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java

@@ -40,7 +40,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @RequiresPermissions("core:task:weblist")
     @GetMapping("/list")
     public TableDataInfo list(RetrievalTaskPageDto request) {
-
+        coreMonitoringRetrievalTaskService.initializationTask();
         return coreMonitoringRetrievalTaskService.selectPage(request);
     }
 
@@ -162,4 +162,20 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
             return AjaxResult.error("修改任务状态失败" + e.getMessage());
         }
     }
+
+    /**
+     * 初始化当天未完成任务
+     *
+     * @return
+     */
+    @InnerAuth
+    @GetMapping("/initializationAccessTask")
+    public AjaxResult initializationAccessTask() {
+        try {
+            coreMonitoringRetrievalTaskService.initializationTask();
+            return AjaxResult.success("修改任务状态成功");
+        } catch (Exception e) {
+            return AjaxResult.error("修改任务状态失败" + e.getMessage());
+        }
+    }
 }

+ 14 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java

@@ -75,7 +75,7 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
      */
     public int deleteCoreMonitoringRetrievalTaskByIds(Long[] ids);
 
-    Page<CoreMonitoringRetrievalTaskVo> selectPageList( @Param("page")Page<CoreMonitoringRetrievalTaskVo> page, @Param("request") RetrievalTaskPageDto request);
+    Page<CoreMonitoringRetrievalTaskVo> selectPageList(@Param("page") Page<CoreMonitoringRetrievalTaskVo> page, @Param("request") RetrievalTaskPageDto request);
 
     Page<CoreMonitoringRetrievalTask> selectListApp(Page<CoreMonitoringRetrievalTask> page, @Param("request") CoreMonitoringTaskRegistrationDTO request);
 
@@ -85,12 +85,24 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
 
     void updateTaskStart(@Param("dateTimeNew") Date dateTimeNew);
 
+    /**
+     * 初始化任务
+     * @param dateTime
+     */
+    void initializationTask(String dateTime);
+
+    /**
+     * 查询当天未完成任务
+     * @param dateTime
+     * @return
+     */
+    List<Long>selectTaskByTime(String dateTime);
     void deleteTaskByPlanId(@Param("planId") Long planId);
 
 
     void deleteWaitTaskByPlanId(@Param("planId") Long planId);
 
-    void updateDeleteTaskByPlanId(@Param("planId") Long planId,@Param("isDeleted") Integer isDeleted);
+    void updateDeleteTaskByPlanId(@Param("planId") Long planId, @Param("isDeleted") Integer isDeleted);
 
     List<CoreMonitoringRetrievalTaskExcelVo> selectAllList(@Param("request") RetrievalTaskPageDto request);
 

+ 7 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/ICoreMonitoringRetrievalTaskService.java

@@ -85,17 +85,22 @@ public interface ICoreMonitoringRetrievalTaskService extends IService<CoreMonito
     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();
 
     void deleteTaskByPlanId(Long planId);
-    void  deleteWaitTaskByPlanId(Long planId);
-    void updateDeleteTaskByPlanId(Long planId,Integer isDeleted);
+
+    void deleteWaitTaskByPlanId(Long planId);
+
+    void updateDeleteTaskByPlanId(Long planId, Integer isDeleted);
 
     List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto);
 }

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

@@ -31,6 +31,9 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.access.domain.TMonitoringRetrievalPlan;
 import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
+import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
+import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationMonitorService;
+import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
 import com.xunmei.core.access.service.ITMonitoringRetrievalPlanService;
 import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
@@ -40,6 +43,7 @@ import com.xunmei.system.api.domain.SysDictData;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import com.xunmei.system.api.model.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
 import org.springframework.context.annotation.DependsOn;
 import org.springframework.context.annotation.Lazy;
@@ -55,10 +59,7 @@ import java.net.URLEncoder;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -80,7 +81,8 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     private RemoteDictDataService dictDataService;
     @Resource
     private ITMonitoringRetrievalPlanService itMonitoringRetrievalPlanService;
-
+    @Autowired
+    private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
     @Override
     public TableDataInfo selectPage(RetrievalTaskPageDto request) {
 
@@ -354,6 +356,19 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
     }
 
     @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 void deleteTaskByPlanId(Long planId) {
         coreMonitoringRetrievalTaskMapper.deleteTaskByPlanId(planId);
     }
@@ -407,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);
         }
 
@@ -421,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()) {
@@ -434,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 + "次调阅");

+ 3 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMapper.xml

@@ -140,4 +140,7 @@
             #{id}
         </foreach>
     </delete>
+    <delete id="deleteByTaskId">
+        delete from core_monitoring_task_registration where  task_id =#{taskId}
+    </delete>
 </mapper>

+ 1 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMonitorMapper.xml

@@ -193,4 +193,5 @@
             #{id}
         </foreach>
     </delete>
+
 </mapper>

+ 6 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -423,6 +423,9 @@
         set is_deleted = #{isDeleted}
         where plan_id = #{planId}
     </update>
+    <update id="initializationTask">
+        update core_monitoring_retrieval_task SET `status`=0, start_time=null WHERE `status`=1 AND start_time LIKE  concat(#{dateTime}, '%')
+    </update>
 
     <select id="selectCurUserTaskList" resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
      select distinct t.id as id, task_name as taskName,t.plan_start_time as startTime,t.plan_end_time as endTime,t.status
@@ -444,4 +447,7 @@
                 and #{request.endTime}  <![CDATA[<=]]>  t.plan_end_time
              ))
     </select>
+    <select id="selectTaskByTime" resultType="java.lang.Long">
+        SELECT * FROM core_monitoring_retrieval_task WHERE `status`=1 AND start_time LIKE  concat(#{dateTime}, '%')
+    </select>
 </mapper>

+ 9 - 1
soc-modules/soc-modules-job/src/main/java/com/xunmei/job/task/CoreMessageSendTask.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.system.api.RemoteMessageSendService;
+import com.xunmei.system.api.RemoteRetrievalTaskService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
@@ -20,7 +21,14 @@ import java.util.Date;
 public class CoreMessageSendTask {
     @Resource
     private RemoteMessageSendService remoteMessageSendService;
-
+    @Resource
+    private RemoteRetrievalTaskService remoteRetrievalTaskService;
+    public void initializationAccess() {
+        String id = UUID.fastUUID().toString();
+        log.info("开始执行初始化调阅任务定时任务,当前任务 id:{},当前时间:{},无参数", id, new Date());
+        AjaxResult ajaxResult = remoteRetrievalTaskService.initializationAccessTask(SecurityConstants.INNER);
+        log.info("初始化调阅任务定时任务执行结束,当前任务 id:{},当前时间:{},结果:{}", id, new Date(), JSON.toJSONString(ajaxResult));
+    }
     /**
      * 消息发送管理
      */

+ 28 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeviceController.java

@@ -1,11 +1,15 @@
 package com.xunmei.system.controller;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
+import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.common.security.annotation.InnerAuth;
 import com.xunmei.system.api.domain.SysDevice;
+import com.xunmei.system.api.domain.SysDictData;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.domain.SysRole;
+import com.xunmei.system.service.ISysDictTypeService;
 import com.xunmei.system.service.impl.SysDeviceServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -38,7 +42,8 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 public class SysDeviceController extends BaseController {
     @Autowired
     private ISysDeviceService sysDeviceService;
-
+    @Autowired
+    private ISysDictTypeService dictTypeService;
     /**
      * 查询【请填写功能名称】列表
      */
@@ -49,6 +54,19 @@ public class SysDeviceController extends BaseController {
         return sysDeviceService.selectPage(sysDevice);
     }
 
+    @ApiOperation(value = "按条件返回当前机构设备id+name")
+    @GetMapping("/listidname")
+    public AjaxResult listIdName(SysDevice sysDevice) {
+        sysDevice.setPageNum(1L);
+        sysDevice.setPageSize(99999L);
+
+        List<?> table = sysDeviceService.selectPage(sysDevice).getRows();
+        List<IdNameVo> voList = table.stream().map(r -> {
+            return new IdNameVo(((SysDevice) r).getId(), ((SysDevice) r).getDeviceName(), "");
+        }).collect(Collectors.toList());
+
+        return success(voList);
+    }
 
     /**
      * 获取【请填写功能名称】详细信息
@@ -57,7 +75,14 @@ public class SysDeviceController extends BaseController {
     @RequiresPermissions("system:device:query")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(sysDeviceService.selectSysDeviceById(id));
+        AjaxResult ajax = AjaxResult.success();
+        SysDevice device = sysDeviceService.selectSysDeviceById(id);
+        ajax.put("data", device);
+        List<SysDevice> hostByOrgId = sysDeviceService.getHostByOrgId(device.getOrgId(), null);
+        ajax.put("hostList", hostByOrgId);
+        List<SysDictData> deviceTypeByAssetType = dictTypeService.getDeviceTypeByAssetType(device.getAssetType());
+        ajax.put("devices", deviceTypeByAssetType);
+        return ajax;
     }
 
     /**
@@ -111,6 +136,7 @@ public class SysDeviceController extends BaseController {
     public SysDevice getInfoById(Long id) {
         return sysDeviceService.getById(id);
     }
+
     /**
      * 修改【请填写功能名称】
      */

+ 6 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysUserController.java

@@ -88,7 +88,11 @@ public class SysUserController extends BaseController {
 
         ajax.put("data", sysUserTableDataInfo);
         boolean admin = false;
-        String s = roleService.selectRoleNameByUserId(SecurityUtils.getUserId());
+        SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
+        if (null!=sysUser&&"Y".equals(sysUser.getIsManage())){
+            admin=true;
+        }
+ /*       String s = roleService.selectRoleNameByUserId(SecurityUtils.getUserId());
         if (StringUtils.isNotEmpty(s)) {
             int i = s.indexOf(",");
 
@@ -103,7 +107,7 @@ public class SysUserController extends BaseController {
             } else if (s.endsWith("管理人员") || s.equals("超级管理员")) {
                 admin = true;
             }
-        }
+        }*/
 
         ajax.put("check", admin);
         return ajax;

+ 4 - 12
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysWorkTimeController.java

@@ -64,21 +64,13 @@ public class SysWorkTimeController extends BaseController {
 //    @RequiresPermissions("system:set:monthedit")
     @PostMapping("/month/edit")
     public AjaxResult monthedit(@RequestBody WorkTimeMonthEditNewDto sysWorkTimeSet) {
-        Date today = DateUtil.beginOfDay(new Date());
+       // Date today = DateUtil.beginOfDay(new Date());
         List<Long> orgIds = sysWorkTimeSet.getOrgIdList();
-        List<SysWorkTime> exists = sysWorkTimeService.findByYmd(orgIds, today);
-        List<SysWorkTime> workTimeLists = new ArrayList<>();
+        //List<SysWorkTime> exists = sysWorkTimeService.findByYmd(orgIds, today);
+       // List<SysWorkTime> workTimeLists = new ArrayList<>();
         for (Long orgId : orgIds) {
-            List<SysWorkTime> batchnew = sysWorkTimeService.batchnew(orgId, sysWorkTimeSet.getWorkTimeList());
+             sysWorkTimeService.batchnew(orgId, sysWorkTimeSet.getWorkTimeList());
         }
-
-        sysWorkTimeService.handleTodayChanged(orgIds, sysWorkTimeSet.getWorkTimeList(), exists, today);
-        //生成任务
-//         TODO: 2023/6/19
-//        if(CollectionUtil.isNotEmpty(orgIds)){
-//            this.workTimeService.handleTodayChanged(orgIds, request.getWorkTimeList(), exists, today);
-//            this.workTimeMonthService.toLogNote("批量操作作息月[ %s ][ %s ]", request.getOrgIdList(), today);
-//        }
         return AjaxResult.success();
     }
 

+ 2 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java

@@ -204,6 +204,8 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
             protectionDTO.setOrgPath(sysOrg.getPath());
             protectionDTO.setAllHour(0);
             protectionDTO.setDeviceId(sysDevice.getId());
+            protectionDTO.setOrgId(sysOrg.getId());
+            protectionDTO.setOrgName(sysOrg.getShortName());
             remoteProtectionService.addByDevice(protectionDTO, SecurityConstants.INNER);
         }
         return insert;

+ 22 - 4
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysWorkTimeServiceImpl.java

@@ -4,14 +4,18 @@ 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 com.alibaba.nacos.shaded.com.google.gson.Gson;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.google.common.collect.Lists;
+import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.Ymd;
+import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.system.api.RemoteResumptionTaskService;
@@ -23,6 +27,7 @@ import com.xunmei.system.mapper.SysWorkTimeSetMapper;
 import com.xunmei.system.service.ISysOrgService;
 import com.xunmei.system.service.ISysWorkTimeService;
 import com.xunmei.system.util.WorkChangeEvent;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
@@ -41,6 +46,7 @@ import java.util.stream.Collectors;
  * @author xunmei
  * @date 2023-08-14
  */
+@Slf4j
 @Service
 public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWorkTime> implements ISysWorkTimeService {
     @Autowired
@@ -319,8 +325,7 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
 
         for (SysWorkTime s : workTimeDtoList) {
             if (s.getIsEnable() == null || s.getYmdDate().before(now)) {
-//                WORKTIMEBUSINESSLOG.info("作息时间[ {} ]小于现在时间, 不允许改变", workDate);
-//                return null;
+
             } else {
                 List<SysWorkTime> list = baseMapper.selectList(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getOrgId, orgId).eq(SysWorkTime::getYmdDate, s.getYmdDate()));
                 if (list != null && list.size() > 0) {
@@ -335,6 +340,16 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
                 s.setModifiedName(SecurityUtils.getUsername());
                 baseMapper.insert(s);
             }
+            if(DateUtil.isSameDay(s.getYmdDate(),now)){
+                List<Long> orgIds =new ArrayList<>();
+                orgIds.add(orgId);
+                Map<String,Object> param = new HashMap<>();
+                param.put("orgIds",orgIds);
+                param.put("sysWorkTime", new Gson().toJson(s));
+                log.info("时间{}修改作息远程调用生成履职任务",new Date());
+                AjaxResult result = remoteResumptionTaskService.dayTaskByWorkTime(param, SecurityConstants.INNER);
+                log.info("时间{}修改作息远程调用生成履职任务返回{}",new Date(),result.get("msg"));
+            }
 
         }
         return workTimeDtoList;
@@ -398,8 +413,11 @@ public class SysWorkTimeServiceImpl extends ServiceImpl<SysWorkTimeMapper, SysWo
             orgIds.add(sysWorkTime.getOrgId());
             Map<String,Object> param = new HashMap<>();
             param.put("orgIds",orgIds);
-            param.put("sysWorkTime",sysWorkTime);
-            remoteResumptionTaskService.dayTaskByWorkTime(param);
+            param.put("sysWorkTime", new Gson().toJson(sysWorkTime));
+            log.info("时间{}修改作息远程调用生成履职任务",new Date());
+            AjaxResult result = remoteResumptionTaskService.dayTaskByWorkTime(param, SecurityConstants.INNER);
+            log.info("时间{}修改作息远程调用生成履职任务返回{}",new Date(),result.get("msg"));
+
         }
     }