Преглед на файлове

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

ouyang преди 2 години
родител
ревизия
7c49b1ec00
променени са 18 файла, в които са добавени 186 реда и са изтрити 121 реда
  1. 6 0
      project_data/sql/0.0.2/soc/soc.sql
  2. 1 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteWorkTimeService.java
  3. 1 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteWorkTimesFallbackFactory.java
  4. 5 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/TaskCreatingServiceImplBase.java
  5. 2 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java
  6. 2 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java
  7. 29 29
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ApiPlanController.java
  8. 1 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/AppPlanServiceImpl.java
  9. 14 5
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java
  10. 1 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java
  11. 24 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/controller/CoreSafecheckPlanController.java
  12. 6 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/domain/CoreSafecheckPlanToPoint.java
  13. 86 70
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafecheckPlanServiceImpl.java
  14. 1 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/ruleItem/SafetyCheckRulePointVo.java
  15. 3 1
      soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafecheckPlanMapper.xml
  16. 1 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysNfcBindController.java
  17. 2 2
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysWorkTimeController.java
  18. 1 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/listener/WorkTimeChangeEventListener.java

+ 6 - 0
project_data/sql/0.0.2/soc/soc.sql

@@ -1094,6 +1094,12 @@ END IF;
 
     END IF;
 
+    -- 安全检查检查项所属机构id
+    IF
+        NOT EXISTS ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = DATABASE () and  TABLE_NAME = 'core_resumption_plan_to_point' AND COLUMN_NAME = 'of_org_id' ) THEN
+        ALTER TABLE `core_resumption_plan_to_point` ADD COLUMN `of_org_id` INT NULL DEFAULT NULL COMMENT '所属机构id';
+
+    END IF;
 
 	-- 履职任务NFC表增加submitby
     IF

+ 1 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteWorkTimeService.java

@@ -30,7 +30,7 @@ public interface RemoteWorkTimeService {
 
 
     @PostMapping("/work/time/findWorkTimeByRange")
-    List<SysWorkTime> findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    R<List<SysWorkTime>> findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
     @PostMapping("/work/time/checkWorkTime")
     Integer checkWorkTime(@RequestBody Map<String,Object> searchData,  @RequestHeader(SecurityConstants.FROM_SOURCE) String source);

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

@@ -43,7 +43,7 @@ public class RemoteWorkTimesFallbackFactory implements FallbackFactory<RemoteWor
                 return null;
             }
             @Override
-            public List<SysWorkTime> findWorkTimeByRange(WorkTimeDto workTimeDto,String source) {
+            public R<List<SysWorkTime>> findWorkTimeByRange(WorkTimeDto workTimeDto,String source) {
                 return null;
             }
 

+ 5 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/TaskCreatingServiceImplBase.java

@@ -39,11 +39,15 @@ public abstract class TaskCreatingServiceImplBase<M extends BaseMapper<T>, T> ex
         workTimeDto.setOrgIdList(orgIds);
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
-        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE);
+//
+        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData();
     }
 
     public Map<Long, Boolean> orgWorkTimeStatusMap(Date now, CycleCommonEnum cycle, List<Long> orgIds) {
         List<SysWorkTime> times = selectWorkTimeList(now, cycle, orgIds);
+        if(CollectionUtil.isEmpty(times)){
+            return  new HashMap<>();
+        }
         Map<Long, List<SysWorkTime>> map = times.stream()
                 .filter(t -> ObjectUtil.equal(t.getIsEnable(), 1L))
                 .collect(Collectors.groupingBy(t -> t.getOrgId()));

+ 2 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -357,7 +357,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
         List<SysWorkTime> workTimeList = RemoteCallHandlerExecutor.executeRemoteCall(() ->
-                        workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE),
+                        workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData(),
                 ErrorMsgConstants.QUERY_ORG_WORK_TIME_ERROR);
         if (workTimeList.isEmpty()) {
             log.error("生成任务时,需要生成任务的机构均未营业,本次任务跳过!");
@@ -765,7 +765,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
         //判断是否已达上限
         checkRecNum(drillTask, request.getRecStatus());
         if (drillTask.getRecStatus().equals(request.getRecStatus())) {
-            throw new SystemException("该预案演练任务已推荐!");
+            return 1;
         }
         //判断是否越级推荐
         if (ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 1) && ObjectUtil.notEqual(drillTask.getRecStatus(), request.getRecStatus() - 2)) {

+ 2 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -421,7 +421,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
         List<SysWorkTime> workTimeList = RemoteCallHandlerExecutor.executeRemoteCall(() ->
-                        workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE),
+                        workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData(),
                 ErrorMsgConstants.QUERY_ORG_WORK_TIME_ERROR);
         if (workTimeList.isEmpty()) {
             log.error("生成任务时,需要生成任务的机构均未营业,本次任务跳过!");
@@ -1116,7 +1116,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         workTimeDto.setOrgIdList(event.getOrgIds());
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
-        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE);
+        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData();
     }
 }
 

+ 29 - 29
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/ApiPlanController.java

@@ -215,34 +215,34 @@ public class ApiPlanController {
 //    @RequiresPermissions("core:plan:findById")
     public AjaxResult cheHui(@PathVariable Long id) {
         appPlanService.cheHui(id);
-        AppPlan plan = appPlanService.getById(id);
-        //撤回后的下发如果存在子计划并且勾选立即执行也需要生成任务
-        if(plan.getBuildTaskNow()==1){
-            DateTime datetime = new DateTime();
-            datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-            //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
-            Integer plancycle = plan.getPlanCycle();
-            if (plancycle != null) {
-                if (plancycle == 2) {
-                    taskBusiness.syncDay(datetime, plancycle);
-                }
-                if (plancycle == 3) {
-                    taskBusiness.syncWeek(datetime, plancycle);
-                }
-                if (plancycle == 4) {
-                    taskBusiness.syncMonth(datetime, plancycle);
-                }
-                if (plancycle == 5) {
-                    taskBusiness.syncQuarter(datetime, plancycle);
-                }
-                if (plancycle == 6) {
-                    taskBusiness.syncHalfYear(datetime, plancycle);
-                }
-                if (plancycle == 7) {
-                    taskBusiness.syncYear(datetime, plancycle);
-                }
-            }
-        }
+//        AppPlan plan = appPlanService.getById(id);
+//        //撤回后的下发如果存在子计划并且勾选立即执行也需要生成任务
+//        if(plan.getBuildTaskNow()==1){
+//            DateTime datetime = new DateTime();
+//            datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+//            //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建
+//            Integer plancycle = plan.getPlanCycle();
+//            if (plancycle != null) {
+//                if (plancycle == 2) {
+//                    taskBusiness.syncDay(datetime, plancycle);
+//                }
+//                if (plancycle == 3) {
+//                    taskBusiness.syncWeek(datetime, plancycle);
+//                }
+//                if (plancycle == 4) {
+//                    taskBusiness.syncMonth(datetime, plancycle);
+//                }
+//                if (plancycle == 5) {
+//                    taskBusiness.syncQuarter(datetime, plancycle);
+//                }
+//                if (plancycle == 6) {
+//                    taskBusiness.syncHalfYear(datetime, plancycle);
+//                }
+//                if (plancycle == 7) {
+//                    taskBusiness.syncYear(datetime, plancycle);
+//                }
+//            }
+//        }
         return AjaxResult.success();
     }
     @ApiOperation(value = "撤回后下发")
@@ -252,7 +252,7 @@ public class ApiPlanController {
         int i = appPlanService.distributeCheHui(id);
         AppPlan plan = appPlanService.getById(id);
         //撤回后的下发如果存在子计划并且勾选立即执行也需要生成任务
-        if(i>0&&plan.getBuildTaskNow()==1){
+        if(plan.getBuildTaskNow()==1){
             DateTime datetime = new DateTime();
             datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
             //当有周期存在时保持原有接口不变(doTask),否则按照新的接口创建

+ 1 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/AppPlanServiceImpl.java

@@ -232,8 +232,7 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
     @Override
     public int distributeCheHui(Long id) {
         AppPlan plan = baseMapper.selectById(id);
-
-        //设置下发状态为下发
+        //设置计划状态
         plan.setPlanStatus(1);
 
         baseMapper.updateById(plan);

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

@@ -107,30 +107,37 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
 
     /**
      * 根据计划删除
+     *
      * @param planId
      */
     void deleteAllTaskByPlanId(@Param("planId") Long planId);
-    void deleteDayTaskByTime(Long planId, String cycle, Date startTime, Date endTime);
-    void deleteDayTaskByTimeAndPlanId(Long planId, String cycle, Date startTime, Date endTime);
+
+    void deleteDayTaskByTime(@Param("planId") Long planId, @Param("cycle") String cycle, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    void deleteDayTaskByTimeAndPlanId(@Param("planId") Long planId, @Param("cycle") String cycle, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
     /**
      * 删除周任务
+     *
      * @param planId
      * @param cycle
      * @param week
      * @param year
      */
-   void deleteWeekTaskByPlanId(Long planId, String cycle, String week, String year);
+    void deleteWeekTaskByPlanId(Long planId, String cycle, String week, String year);
 
     /**
      * 删除天任务
+     *
      * @param planId
      * @param cycle
      * @param ymdDate
      */
-    void deleteDayTaskByPlanId(Long planId, String cycle, String ymdDate);
+    void deleteDayTaskByPlanId(@Param("planId") Long planId, @Param("cycle") String cycle, @Param("ymdDate") String ymdDate);
 
     /**
      * 删除月任务
+     *
      * @param planId
      * @param cycle
      * @param month
@@ -140,15 +147,17 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
 
     /**
      * 删除季度
+     *
      * @param planId
      * @param cycle
      * @param quarter
      * @param year
      */
-    void  deleteQuarterTaskByPlanId(Long planId, String cycle, String quarter, String year);
+    void deleteQuarterTaskByPlanId(Long planId, String cycle, String quarter, String year);
 
     /**
      * 已完成
+     *
      * @param planId
      * @return
      */

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

@@ -818,6 +818,6 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
         workTimeDto.setOrgIdList(event.getOrgIds());
         workTimeDto.setStartTime(startTime);
         workTimeDto.setEndTime(endTime);
-        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE);
+        return workTimeService.findWorkTimeByRange(workTimeDto, SecurityConstants.FROM_SOURCE).getData();
     }
 }

+ 24 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/controller/CoreSafecheckPlanController.java

@@ -56,7 +56,30 @@ public class CoreSafecheckPlanController extends BaseController {
     @GetMapping(value = "/distributeCheHui/{id}")
 //    @RequiresPermissions("core:plan:findById")
     public AjaxResult distributeCheHui(@PathVariable Long id) {
-        return AjaxResult.success(coreSafecheckPlanService.distributeCheHui(id));
+        int i = coreSafecheckPlanService.distributeCheHui(id);
+        CoreSafecheckPlan plan = coreSafecheckPlanService.getById(id);
+        //撤回后的下发如果是无周期或者勾选立即执行也需要生成任务
+        if(plan.isBuildTaskNow()||plan.getPlanCycle()==6){
+            int cycle = Math.toIntExact(plan.getPlanCycle());
+            DateTime datetime = new DateTime();
+            datetime.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+            DateHelper dateHelper = new DateHelper(datetime);
+            Map<String, Date> map=null;
+            //如果无周期
+            if(cycle==6){
+                map = DateHelper.getStartAndEnd(dateHelper, null);
+                map.put("start", plan.getStartDate());
+                map.put("end", plan.getEndDate());
+            }else{
+                map = DateHelper.getStartAndEnd(dateHelper, cycle);
+            }
+            try {
+                jobBusiness.createTask(datetime, cycle, map.get("start"), map.get("end"));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return AjaxResult.success(i);
     }
     /**
      * 查询常规安全检查计划列表

+ 6 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/domain/CoreSafecheckPlanToPoint.java

@@ -26,11 +26,12 @@ import com.xunmei.common.core.web.domain.BaseEntity;
 public class CoreSafecheckPlanToPoint extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    public CoreSafecheckPlanToPoint(Long planId, Long pointId, boolean pointScan,boolean required) {
+    public CoreSafecheckPlanToPoint(Long planId, Long pointId, boolean pointScan,boolean required,Long ofOrgId) {
         this.planId = planId;
         this.pointId = pointId;
         this.pointScan = pointScan;
         this.required=required;
+        this.ofOrgId=ofOrgId;
     }
 
     /**
@@ -44,6 +45,10 @@ public class CoreSafecheckPlanToPoint extends BaseEntity {
      */
     @ApiModelProperty(value = "检查要点id")
     private Long pointId;
+    /**
+     * 所属机构id
+     */
+    private Long ofOrgId;
 
     /**
      * 是否扫描NFC 1扫描,0不扫描

+ 86 - 70
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafecheckPlanServiceImpl.java

@@ -106,76 +106,82 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
 
     @Override
     public void distributeToOrg(DistributeDto dto) {
+        CoreSafecheckPlan byId = baseMapper.selectById(dto.getId());
         for (DistributeStatusDto d :
                 dto.getOrgAndStatus()) {
             CoreSafecheckPlan plan = baseMapper.selectOne(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getPlanOfOrgId, d.getOrgId()).eq(CoreSafecheckPlan::getParentId, dto.getId()));
-            //如果子计划计划已存在
+            //如果子计划已存在
             if (plan != null) {
                 plan.setPlanStatus((long) (d.getStatus() > 0 ? 1 : 2));
                 plan.setDistributePlanStatus(d.getStatus().toString());
                 plan.setDistributeStatus("1");
+                plan.setPlanCreateOrgId(null);
                 baseMapper.updateById(plan);
-            }else{
-
-            CoreSafecheckPlan coreSafecheckPlan = baseMapper.selectById(dto.getId());
-            coreSafecheckPlan.setDistributeStatus("1");
-            coreSafecheckPlan.setPlanOfOrgId(d.getOrgId());
-            coreSafecheckPlan.setPlanStatus((long) (d.getStatus() > 0 ? 1 : 2));
-            coreSafecheckPlan.setDistributePlanStatus(d.getStatus().toString());
-            coreSafecheckPlan.setCreateTime(new Date());
-            //下发所属机构类型
-            coreSafecheckPlan.setPlanOfOrgType(orgService.selectSysOrgById(coreSafecheckPlan.getPlanOfOrgId(), SecurityConstants.INNER).getType());
-            coreSafecheckPlan.setId(null);
+            } else {
+
+                CoreSafecheckPlan coreSafecheckPlan = baseMapper.selectById(dto.getId());
+                coreSafecheckPlan.setDistributeStatus("1");
+                coreSafecheckPlan.setPlanOfOrgId(d.getOrgId());
+                coreSafecheckPlan.setPlanStatus((long) (d.getStatus() > 0 ? 1 : 2));
+                coreSafecheckPlan.setDistributePlanStatus(d.getStatus().toString());
+                coreSafecheckPlan.setCreateTime(new Date());
+                //下发所属机构类型
+                coreSafecheckPlan.setPlanOfOrgType(orgService.selectSysOrgById(coreSafecheckPlan.getPlanOfOrgId(), SecurityConstants.INNER).getType());
+                coreSafecheckPlan.setId(null);
 //            if (coreSafecheckPlan.getPlanCycle()==6){
 //                coreSafecheckPlan.setStartDate();
 //            }
 //            plan.setPlanName(plan.getPlanName()+"下发"+orgService.selectOrgById(d.getOrgId(),SecurityConstants.INNER).getName());
-            coreSafecheckPlan.setPlanName(coreSafecheckPlan.getPlanName());
-            coreSafecheckPlan.setParentId(dto.getId());
-            baseMapper.insert(coreSafecheckPlan);
+                coreSafecheckPlan.setPlanName(coreSafecheckPlan.getPlanName());
+                coreSafecheckPlan.setParentId(dto.getId());
+                baseMapper.insert(coreSafecheckPlan);
 
-            List<CoreSafecheckPlanToRole> roleList = coreSafecheckPlanToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>().eq(CoreSafecheckPlanToRole::getPlanId, dto.getId()));
-            //再处理角色关系
-            if (roleList != null) {
-                coreSafecheckPlanToRoleMapper.deleteCoreSafecheckPlanToRoleByPlanId(coreSafecheckPlan.getId());
-                for (CoreSafecheckPlanToRole r :
-                        roleList) {
-                    coreSafecheckPlanToRoleMapper.insert(new CoreSafecheckPlanToRole(coreSafecheckPlan.getId(), r.getRoleId()));
+                List<CoreSafecheckPlanToRole> roleList = coreSafecheckPlanToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>().eq(CoreSafecheckPlanToRole::getPlanId, dto.getId()));
+                //再处理角色关系
+                if (roleList != null) {
+                    coreSafecheckPlanToRoleMapper.deleteCoreSafecheckPlanToRoleByPlanId(coreSafecheckPlan.getId());
+                    for (CoreSafecheckPlanToRole r :
+                            roleList) {
+                        coreSafecheckPlanToRoleMapper.insert(new CoreSafecheckPlanToRole(coreSafecheckPlan.getId(), r.getRoleId()));
 
+                    }
                 }
-            }
-            //再处理检查机构关系
-            List<CoreSafecheckPlanToExecOrg> execOrgList = coreSafecheckPlanToExecOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToExecOrg>().eq(CoreSafecheckPlanToExecOrg::getPlanId, dto.getId()));
-            if (execOrgList != null) {
-                coreSafecheckPlanToExecOrgMapper.deleteCoreSafecheckPlanToExecOrgByPlanId(coreSafecheckPlan.getId());
-                for (CoreSafecheckPlanToExecOrg org :
-                        execOrgList) {
-                    coreSafecheckPlanToExecOrgMapper.insert(new CoreSafecheckPlanToExecOrg(coreSafecheckPlan.getId(), org.getOrgId()));
+                //再处理检查机构关系
+                List<CoreSafecheckPlanToExecOrg> execOrgList = coreSafecheckPlanToExecOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToExecOrg>().eq(CoreSafecheckPlanToExecOrg::getPlanId, dto.getId()));
+                if (execOrgList != null) {
+                    coreSafecheckPlanToExecOrgMapper.deleteCoreSafecheckPlanToExecOrgByPlanId(coreSafecheckPlan.getId());
+                    for (CoreSafecheckPlanToExecOrg org :
+                            execOrgList) {
+                        coreSafecheckPlanToExecOrgMapper.insert(new CoreSafecheckPlanToExecOrg(coreSafecheckPlan.getId(), org.getOrgId()));
 
+                    }
                 }
-            }
-            //再处理受检机构关系
-            List<CoreSafecheckPlanToCheckOrg> checkOrgList = coreSafecheckPlanToCheckOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrg>().eq(CoreSafecheckPlanToCheckOrg::getPlanId, dto.getId()));
-            if (checkOrgList != null) {
-                coreSafecheckPlanToCheckOrgMapper.deleteCoreSafecheckPlanToCheckOrgByPlanId(coreSafecheckPlan.getId());
-                for (CoreSafecheckPlanToCheckOrg org :
-                        checkOrgList) {
-                    coreSafecheckPlanToCheckOrgMapper.insert(new CoreSafecheckPlanToCheckOrg(coreSafecheckPlan.getId(), org.getOrgId()));
+                //再处理受检机构关系
+                List<CoreSafecheckPlanToCheckOrg> checkOrgList = coreSafecheckPlanToCheckOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrg>().eq(CoreSafecheckPlanToCheckOrg::getPlanId, dto.getId()));
+                if (checkOrgList != null) {
+                    coreSafecheckPlanToCheckOrgMapper.deleteCoreSafecheckPlanToCheckOrgByPlanId(coreSafecheckPlan.getId());
+                    for (CoreSafecheckPlanToCheckOrg org :
+                            checkOrgList) {
+                        coreSafecheckPlanToCheckOrgMapper.insert(new CoreSafecheckPlanToCheckOrg(coreSafecheckPlan.getId(), org.getOrgId()));
 
+                    }
                 }
-            }
-            //再处理检查要点关系
-            List<CoreSafecheckPlanToPoint> rpList = coreSafecheckPlanToPointMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, dto.getId()));
-            if (rpList != null) {
-                coreSafecheckPlanToPointMapper.deleteCoreSafecheckPlanToPointByPlanId(coreSafecheckPlan.getId());
-                for (CoreSafecheckPlanToPoint s :
-                        rpList) {
-                    coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(coreSafecheckPlan.getId(), s.getPointId(), s.isPointScan(), s.isRequired()));
+                //再处理检查要点关系
 
+                //查询父计划的所有检查要点
+                List<CoreSafecheckPlanToPoint> rpList = coreSafecheckPlanToPointMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, dto.getId()).eq(CoreSafecheckPlanToPoint::getOfOrgId, byId.getPlanOfOrgId()));
+                if (rpList != null) {
+                    //删除父计划创建的检查要点
+                    coreSafecheckPlanToPointMapper.delete(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, coreSafecheckPlan.getId()).eq(CoreSafecheckPlanToPoint::getOfOrgId, byId.getPlanOfOrgId()));
+                    for (CoreSafecheckPlanToPoint s :
+                            rpList) {
+                        //插入父计划的所有检查要点
+                        coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(coreSafecheckPlan.getId(), s.getPointId(), s.isPointScan(), s.isRequired(), s.getOfOrgId()));
+
+                    }
                 }
             }
         }
-        }
         //更改下发状态
         CoreSafecheckPlan coreSafecheckPlan = new CoreSafecheckPlan();
         coreSafecheckPlan.setId(dto.getId());
@@ -214,20 +220,6 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
     @Override
     public int distributeCheHui(Long id) {
         CoreSafecheckPlan plan = baseMapper.selectById(id);
-        //修改所有子计划
-        List<CoreSafecheckPlan> appPlans = baseMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, id));
-        //如果不存在子计划直接返回
-        if (appPlans == null || appPlans.size() == 0) {
-            return 0;
-        }
-        for (CoreSafecheckPlan ap :
-                appPlans) {
-//修改计划状态为停用
-            ap.setPlanStatus(1L);
-            baseMapper.updateById(ap);
-        }
-        //设置下发状态为下发
-        plan.setDistribute("1");
         plan.setPlanStatus(1L);
         baseMapper.updateById(plan);
         return 1;
@@ -243,7 +235,7 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
     @Override
     public CoreSafecheckPlan selectCoreSafecheckPlanById(Long id) {
         CoreSafecheckPlan coreSafecheckPlan = coreSafecheckPlanMapper.selectCoreSafecheckPlanById(id);
-        Long sum=coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, id).in(CoreSafetyTask::getStatus, 3,4));
+        Long sum = coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, id).in(CoreSafetyTask::getStatus, 3, 4));
         if (sum > 0) {
             //如果存在完成或者逾期的任务设置编辑状态为1
             coreSafecheckPlan.setHasEdit(1);
@@ -252,7 +244,7 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
         List<CoreSafecheckPlan> appPlans = baseMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, id));
         for (CoreSafecheckPlan p :
                 appPlans) {
-            Long csum=coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, p.getId()).in(CoreSafetyTask::getStatus, 3,4));
+            Long csum = coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, p.getId()).in(CoreSafetyTask::getStatus, 3, 4));
             if (csum > 0) {
                 //如果存在完成或者逾期的任务设置编辑状态为1
                 coreSafecheckPlan.setHasEdit(1);
@@ -301,6 +293,7 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
             coreSafecheckPlan.setUpdateTime(DateUtils.getNowDate());
             coreSafecheckPlan.setModifiedBy(SecurityUtils.getUserId());
             coreSafecheckPlan.setPlanStatus(null);
+            coreSafecheckPlan.setPlanCreateOrgId(null);
             coreSafecheckPlanMapper.updateById(coreSafecheckPlan);
         }
 
@@ -334,10 +327,11 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
         }
         //再处理检查要点关系
         if (coreSafecheckPlan.getRulePointList() != null) {
-            coreSafecheckPlanToPointMapper.deleteCoreSafecheckPlanToPointByPlanId(coreSafecheckPlan.getId());
+            //删除计划id为当前计划并且所属机构id为当前计划所属
+            coreSafecheckPlanToPointMapper.delete(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, coreSafecheckPlan.getId()).eq(CoreSafecheckPlanToPoint::getOfOrgId, coreSafecheckPlan.getPlanOfOrgId()));
             for (SafetyCheckRulePointVo s :
                     coreSafecheckPlan.getRulePointList()) {
-                coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(coreSafecheckPlan.getId(), s.getId(), s.isPointScan(), s.isRequired()));
+                coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(coreSafecheckPlan.getId(), s.getId(), s.isPointScan(), s.isRequired(), s.getOfOrgId()));
 
             }
         }
@@ -366,7 +360,7 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
             }
         }
 //如果编辑需要处理子计划
-        if (pid == null) {
+        if (pid != null) {
             //处理子计划
             //拿到所有子计划
             List<CoreSafecheckPlan> children = baseMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, coreSafecheckPlan.getId()));
@@ -419,17 +413,25 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
 
                     }
                 }
-                //再处理检查要点关系
-                List<CoreSafecheckPlanToPoint> rpList = coreSafecheckPlanToPointMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, coreSafecheckPlan.getId()));
+                //再处理子计划检查要点关系
+                //查询计划id为当前父计划的id,所属机构id为当前父计划所属机构id的数据
+                List<CoreSafecheckPlanToPoint> rpList = coreSafecheckPlanToPointMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, coreSafecheckPlan.getId()).eq(CoreSafecheckPlanToPoint::getOfOrgId, coreSafecheckPlan.getPlanOfOrgId()));
                 if (rpList != null) {
-                    coreSafecheckPlanToPointMapper.deleteCoreSafecheckPlanToPointByPlanId(p.getId());
+                    coreSafecheckPlanToPointMapper.delete(new LambdaQueryWrapper<CoreSafecheckPlanToPoint>().eq(CoreSafecheckPlanToPoint::getPlanId, p.getId()).eq(CoreSafecheckPlanToPoint::getOfOrgId, coreSafecheckPlan.getPlanOfOrgId()));
                     for (CoreSafecheckPlanToPoint s :
                             rpList) {
-                        coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(p.getId(), s.getPointId(), s.isPointScan(), s.isRequired()));
+                        coreSafecheckPlanToPointMapper.insert(new CoreSafecheckPlanToPoint(p.getId(), s.getPointId(), s.isPointScan(), s.isRequired(), s.getOfOrgId()));
 
                     }
                 }
+                CoreSafetyTask tem = new CoreSafetyTask();
+                tem.setTitle(coreSafecheckPlan.getPlanName());
+                coreSafetyTaskMapper.update(tem, new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, p.getId()).in(CoreSafetyTask::getStatus, 1, 2));
+
             }
+            CoreSafetyTask temp = new CoreSafetyTask();
+            temp.setTitle(coreSafecheckPlan.getPlanName());
+            coreSafetyTaskMapper.update(temp, new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, coreSafecheckPlan.getId()).in(CoreSafetyTask::getStatus, 1, 2));
         }
     }
 
@@ -467,6 +469,20 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
     @Override
     public int deleteCoreSafecheckPlanByIds(Long[] ids) {
         List<Long> list = Arrays.asList((ids));
+        for (Long l :
+                list) {
+            Long num = coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, l).in(CoreSafetyTask::getStatus, 3, 4));
+            if (num > 0) {
+                throw new RuntimeException("计划有已完成或者已逾期的任务,不能被删除。");
+            }
+            List<CoreSafecheckPlan> plans = baseMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlan>().eq(CoreSafecheckPlan::getParentId, l));
+            for (CoreSafecheckPlan plan : plans) {
+                Long cnum = coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getPlanId, plan.getId()).in(CoreSafetyTask::getStatus, 3, 4));
+                if (cnum > 0) {
+                    throw new RuntimeException("子计划有已完成或者已逾期的任务,不能被删除。");
+                }
+            }
+        }
         //清理关联数据
         coreSafecheckPlanToRoleMapper.deleteCoreSafecheckPlanToRoleByPlanIds(ids);
         coreSafecheckPlanToExecOrgMapper.deleteCoreSafecheckPlanToExecOrgByPlanIds(ids);

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/vo/ruleItem/SafetyCheckRulePointVo.java

@@ -22,6 +22,7 @@ public class SafetyCheckRulePointVo {
     @ApiModelProperty("检查项id")
     @JsonSerialize(using= ToStringSerializer.class)
     private Long itemId;
+    private Long ofOrgId;
 
     private String itemName;
 

+ 3 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/safetycheck/CoreSafecheckPlanMapper.xml

@@ -68,6 +68,7 @@
             <result column="rule_point_business_type" property="businessType"/>
             <result column="rule_point_point_scan" property="pointScan"/>
             <result column="rule_point_required" property="required"/>
+            <result column="of_org_id" property="ofOrgId"/>
         </collection>
 
     </resultMap>
@@ -159,7 +160,8 @@
                o3.id            AS exec_org_id,
                o3.NAME          AS exec_org_name,
                o4.id            AS check_org_id,
-               o4.NAME          AS check_org_name
+               o4.NAME          AS check_org_name,
+               pp.of_org_id
         FROM core_safecheck_plan c
                  LEFT JOIN sys_org o1 ON c.plan_create_org_id = o1.id
                  LEFT JOIN sys_org o2 ON c.plan_of_org_id = o2.id

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysNfcBindController.java

@@ -56,7 +56,7 @@ public class SysNfcBindController extends BaseController {
     /**
      * 获取【请填写功能名称】详细信息
      */
-    @ApiOperation(value = "获取SysNfcBind详细信息")
+    @ApiOperation(value = "app获取SysNfcBind详细信息")
     @RequiresPermissions("system:bind:query")
     @GetMapping(value = {"/appGetInfo", "/{code}"})
     public AjaxResult appGetInfo(@PathVariable(value = "code", required = false) String code) {

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

@@ -154,8 +154,8 @@ public class SysWorkTimeController extends BaseController {
 
     @ApiOperation(value = "查询机构范围内的作息配置")
     @PostMapping("/findWorkTimeByRange")
-    List<SysWorkTime>findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto) {
-        return sysWorkTimeService.findFutureWorkTime(workTimeDto);
+    R<List<SysWorkTime>> findWorkTimeByRange(@RequestBody WorkTimeDto workTimeDto) {
+        return  R.ok(sysWorkTimeService.findFutureWorkTime(workTimeDto));
     }
     @ApiOperation(value = "检查时间范围内有无作息")
     @InnerAuth

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/listener/WorkTimeChangeEventListener.java

@@ -26,6 +26,6 @@ public class WorkTimeChangeEventListener implements ApplicationListener<WorkTime
     @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = false)
     public void onApplicationEvent(WorkTimeChangeEvent event) {
 
-//        remoteResumptionTaskService.rebuild(JSON.toJSONString(event), SecurityConstants.INNER);
+        remoteResumptionTaskService.rebuild(JSON.toJSONString(event), SecurityConstants.INNER);
     }
 }