luojun il y a 2 ans
Parent
commit
25c955f1d6

+ 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

+ 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);

+ 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不扫描

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

@@ -106,76 +106,81 @@ 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");
                 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 +219,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 +234,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 +243,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);
@@ -334,10 +325,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()));
 
             }
         }
@@ -419,13 +411,14 @@ 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, coreSafecheckPlan.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()));
 
                     }
                 }
@@ -467,6 +460,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