|  | @@ -26,6 +26,7 @@ import com.xunmei.core.safetyCheck.vo.PlanTaskBuildVo;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteWorkTimeService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.domain.SysOrg;
 | 
	
		
			
				|  |  | +import com.xunmei.system.api.vo.FindOrgTypes;
 | 
	
		
			
				|  |  |  import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.scheduling.annotation.Async;
 | 
	
	
		
			
				|  | @@ -62,6 +63,8 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |      private RemoteOrgService orgService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      RemoteWorkTimeService workTimeService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private CoreSafecheckPlanToCheckOrgTypeMapper coreSafecheckPlanToCheckOrgTypeMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |      public void createTaskForNow(Long planId, Date start, Date end, Boolean isNeedSendTodo, Integer sourceType) throws Exception {
 | 
	
	
		
			
				|  | @@ -201,8 +204,8 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<PlanTaskBuildVo> list = new ArrayList<>();
 | 
	
		
			
				|  |  |          Integer execOrgType = Math.toIntExact(plan.getExecOrgType());
 | 
	
		
			
				|  |  | -        Integer checkOrgType = Math.toIntExact(plan.getCheckOrgType());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +//        Integer checkOrgType = Math.toIntExact(plan.getCheckOrgType());
 | 
	
		
			
				|  |  | +        List<Integer> checkOrgTypes = coreSafecheckPlanToCheckOrgTypeMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrgType>().eq(CoreSafecheckPlanToCheckOrgType::getPlanId, plan.getId())).stream().map(CoreSafecheckPlanToCheckOrgType::getTypeId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |          //获取具体执行检查的机构
 | 
	
		
			
				|  |  |          QueryWrapper<CoreSafecheckPlanToExecOrg> eos = new QueryWrapper<>();
 | 
	
		
			
				|  |  |          eos.lambda().eq(CoreSafecheckPlanToExecOrg::getPlanId, plan.getId());
 | 
	
	
		
			
				|  | @@ -237,11 +240,11 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |              List<SysOrg> checkOrgs = null;
 | 
	
		
			
				|  |  |              if (ObjectUtil.isEmpty(checkOrg)) {
 | 
	
		
			
				|  |  |                  //如果没有选择具体受检的机构,则根据受检机构类型查询
 | 
	
		
			
				|  |  | -                if (ObjectUtil.equal(plan.getCheckOrgType(), plan.getExecOrgType())) {
 | 
	
		
			
				|  |  | +                if (checkOrgTypes.contains(execOrgType) && checkOrgTypes.size() == 1) {
 | 
	
		
			
				|  |  |                      //如果检查机构类型与被检机构类型一致,则表示查自己
 | 
	
		
			
				|  |  |                      checkOrgs = Arrays.asList(org);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  | -                    checkOrgs = orgService.findByOrgTypeAndParent(checkOrgType, org.getPath(), SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +                    checkOrgs = orgService.findByOrgTypesAndParent(new FindOrgTypes(checkOrgTypes, org.getPath()), SecurityConstants.INNER);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  //选择了具体的受检机构
 | 
	
	
		
			
				|  | @@ -268,7 +271,8 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<PlanTaskBuildVo> list = new ArrayList<>();
 | 
	
		
			
				|  |  |          Integer execOrgType = Math.toIntExact(plan.getExecOrgType());
 | 
	
		
			
				|  |  | -        Integer checkOrgType = Math.toIntExact(plan.getCheckOrgType());
 | 
	
		
			
				|  |  | +//        Integer checkOrgType = Math.toIntExact(plan.getCheckOrgType());
 | 
	
		
			
				|  |  | +        List<Integer> checkOrgTypes = coreSafecheckPlanToCheckOrgTypeMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrgType>().eq(CoreSafecheckPlanToCheckOrgType::getPlanId, plan.getId())).stream().map(CoreSafecheckPlanToCheckOrgType::getTypeId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //获取具体执行检查的机构
 | 
	
		
			
				|  |  |          List<CoreSafecheckPlanToExecOrg> execOrg = null;
 | 
	
	
		
			
				|  | @@ -334,10 +338,11 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |              List<SysOrg> checkOrgs = null;
 | 
	
		
			
				|  |  |              if (ObjectUtil.isEmpty(checkOrg)) {
 | 
	
		
			
				|  |  |                  //如果没有选择具体受检的机构,则根据受检机构类型查询
 | 
	
		
			
				|  |  | -                if (ObjectUtil.equal(plan.getCheckOrgType(), plan.getExecOrgType())) {
 | 
	
		
			
				|  |  | +                if (checkOrgTypes.contains(execOrgType) && checkOrgTypes.size() == 1) {
 | 
	
		
			
				|  |  | +                    //如果检查机构类型与被检机构类型一致,则表示查自己
 | 
	
		
			
				|  |  |                      checkOrgs = Arrays.asList(org);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  | -                    checkOrgs = orgService.findByOrgTypeAndParent(checkOrgType, org.getPath(), SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +                    checkOrgs = orgService.findByOrgTypesAndParent(new FindOrgTypes(checkOrgTypes, org.getPath()), SecurityConstants.INNER);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  //选择了具体的受检机构
 | 
	
	
		
			
				|  | @@ -525,7 +530,7 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |                  //如果存在同批次的已完成或者已逾期的任务需要同步批次id
 | 
	
		
			
				|  |  |                  checkTask.setBatchId(coreSafetyTasks.get(0).getBatchId());
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  | -                checkTaskService.remove(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getOrgId, checkTask.getOrgId()).eq(CoreSafetyTask::getYmdDate, checkTask.getYmdDate()).in(CoreSafetyTask::getStatus, 1, 2).eq(CoreSafetyTask::getPlanId,checkTask.getPlanId()));
 | 
	
		
			
				|  |  | +                checkTaskService.remove(new LambdaQueryWrapper<CoreSafetyTask>().eq(CoreSafetyTask::getOrgId, checkTask.getOrgId()).eq(CoreSafetyTask::getYmdDate, checkTask.getYmdDate()).in(CoreSafetyTask::getStatus, 1, 2).eq(CoreSafetyTask::getPlanId, checkTask.getPlanId()));
 | 
	
		
			
				|  |  |                  ats.add(checkTask);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -580,111 +585,111 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |          buildTask(safetyTaskBuildDto.getDate(), tasks, map.get("start"), map.get("end"), true, 0);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    //检查参数
 | 
	
		
			
				|  |  | -    public List<String> checkParam(SafetyTaskBuildDto safetyTaskBuildDto) {
 | 
	
		
			
				|  |  | -        List<String> list = new ArrayList<>();
 | 
	
		
			
				|  |  | -        DateHelper dateHelper = new DateHelper(safetyTaskBuildDto.getDate());
 | 
	
		
			
				|  |  | -        Map<String, Date> map = null;
 | 
	
		
			
				|  |  | -        List<CoreSafecheckPlan> plans = null;
 | 
	
		
			
				|  |  | -        if (safetyTaskBuildDto.getPlanId() != null) {
 | 
	
		
			
				|  |  | -            plans = new ArrayList<>();
 | 
	
		
			
				|  |  | -            CoreSafecheckPlan coreSafecheckPlan = planMapper.selectById(safetyTaskBuildDto.getPlanId());
 | 
	
		
			
				|  |  | -            if (coreSafecheckPlan.getPlanStatus() == 1) {
 | 
	
		
			
				|  |  | -                list.add("当前计划:" + coreSafecheckPlan.getPlanName() + "已禁用!");
 | 
	
		
			
				|  |  | -                return list;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            plans.add(coreSafecheckPlan);
 | 
	
		
			
				|  |  | -            map = DateHelper.getStartAndEnd(safetyTaskBuildDto.getDate(), Math.toIntExact(coreSafecheckPlan.getPlanCycle()));
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            LambdaUpdateWrapper<CoreSafecheckPlan> qw = new LambdaUpdateWrapper<>();
 | 
	
		
			
				|  |  | -            qw.eq(CoreSafecheckPlan::getPlanCycle, safetyTaskBuildDto.getPlanCycle());
 | 
	
		
			
				|  |  | -            qw.eq(CoreSafecheckPlan::getIsDeleted, 0);
 | 
	
		
			
				|  |  | -            qw.eq(CoreSafecheckPlan::getPlanStatus, 0);
 | 
	
		
			
				|  |  | -            plans = planMapper.selectList(qw);
 | 
	
		
			
				|  |  | -            map = DateHelper.getStartAndEnd(safetyTaskBuildDto.getDate(), safetyTaskBuildDto.getPlanCycle());
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (CollectionUtil.isEmpty(plans)) {
 | 
	
		
			
				|  |  | -            list.add("计划不存在");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | -            if (ObjectUtil.notEqual(plan.getPlanCycle(), safetyTaskBuildDto.getPlanCycle())) {
 | 
	
		
			
				|  |  | -                list.add("计划周期与计划不匹配");
 | 
	
		
			
				|  |  | -                break;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (map.keySet().size() == 0) {
 | 
	
		
			
				|  |  | -            list.add("计划周期不存在");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getExecOrgIdList())) {
 | 
	
		
			
				|  |  | -            List<Long> execOrgIdList = safetyTaskBuildDto.getExecOrgIdList();
 | 
	
		
			
				|  |  | -            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | -                List<CoreSafecheckPlanToExecOrg> coreSafecheckPlanToExecOrgs = planToExecOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToExecOrg>().eq(CoreSafecheckPlanToExecOrg::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | -                if (CollectionUtil.isEmpty(coreSafecheckPlanToExecOrgs)) {
 | 
	
		
			
				|  |  | -                    //说明计划是根据机构类型配置的,获取所有的机构类型,如果参数中执行机构的机构类型存在不属于此计划的执行机构,则返回错误
 | 
	
		
			
				|  |  | -                    List<Long> orgTypeList = orgService.selectOrgTypeByIdList(execOrgIdList, SecurityConstants.INNER);
 | 
	
		
			
				|  |  | -                    for (Long orgType : orgTypeList) {
 | 
	
		
			
				|  |  | -                        if (ObjectUtil.notEqual(orgType, plan.getExecOrgType())) {
 | 
	
		
			
				|  |  | -                            list.add("参数中," + plan.getPlanName() + "计划下存在错误执行机构数据");
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                } else {
 | 
	
		
			
				|  |  | -                    //获取当前计划的所有执行机构,如果参数中存在不属于此计划的执行机构,则返回错误
 | 
	
		
			
				|  |  | -                    List<Long> collect = coreSafecheckPlanToExecOrgs.stream().map(CoreSafecheckPlanToExecOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -                    for (Long execOrgId : execOrgIdList) {
 | 
	
		
			
				|  |  | -                        if (!collect.contains(execOrgId)) {
 | 
	
		
			
				|  |  | -                            list.add("参数中," + plan.getPlanName() + "计划下存在错误执行机构数据");
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getCheckOrgIdList())) {
 | 
	
		
			
				|  |  | -            List<Long> checkOrgIdList = safetyTaskBuildDto.getCheckOrgIdList();
 | 
	
		
			
				|  |  | -            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | -                List<CoreSafecheckPlanToCheckOrg> coreSafecheckPlanToCheckOrgs = planToCheckOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrg>().eq(CoreSafecheckPlanToCheckOrg::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | -                if (ObjectUtil.isEmpty(coreSafecheckPlanToCheckOrgs)) {
 | 
	
		
			
				|  |  | -                    //说明计划是根据机构类型配置的,获取所有的机构类型,如果参数中受检机构的机构类型存在不属于此计划的受检机构,则返回错误
 | 
	
		
			
				|  |  | -                    List<Long> orgTypeList = orgService.selectOrgTypeByIdList(checkOrgIdList, SecurityConstants.INNER);
 | 
	
		
			
				|  |  | -                    for (Long orgType : orgTypeList) {
 | 
	
		
			
				|  |  | -                        if (ObjectUtil.notEqual(orgType, plan.getCheckOrgType())) {
 | 
	
		
			
				|  |  | -                            list.add("参数中," + plan.getPlanName() + "计划下存在错误检查机构数据");
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                } else {
 | 
	
		
			
				|  |  | -                    //获取当前计划的所有受检机构,如果参数中存在不属于此计划的受检机构,则返回错误
 | 
	
		
			
				|  |  | -                    List<Long> collect = coreSafecheckPlanToCheckOrgs.stream().map(CoreSafecheckPlanToCheckOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -                    for (Long checkOrgId : checkOrgIdList) {
 | 
	
		
			
				|  |  | -                        if (!collect.contains(checkOrgId)) {
 | 
	
		
			
				|  |  | -                            list.add("参数中," + plan.getPlanName() + "计划下存在错误检查机构数据");
 | 
	
		
			
				|  |  | -                            break;
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getRoleIdList())) {
 | 
	
		
			
				|  |  | -            List<Long> roleIdList = safetyTaskBuildDto.getRoleIdList();
 | 
	
		
			
				|  |  | -            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | -                List<CoreSafecheckPlanToRole> coreSafecheckPlanToRoles = planToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>().eq(CoreSafecheckPlanToRole::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | -                List<Long> collect = coreSafecheckPlanToRoles.stream().map(CoreSafecheckPlanToRole::getRoleId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -                if (!new HashSet<>(collect).containsAll(roleIdList)) {
 | 
	
		
			
				|  |  | -                    list.add("参数中," + plan.getPlanName() + "计划下存在错误角色数据");
 | 
	
		
			
				|  |  | -                    break;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        if (DateUtil.beginOfDay(map.get("end")).isBefore(DateUtil.beginOfDay(new Date()))) {
 | 
	
		
			
				|  |  | -            list.add("计划周期已过");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        return list;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +//    //检查参数
 | 
	
		
			
				|  |  | +//    public List<String> checkParam(SafetyTaskBuildDto safetyTaskBuildDto) {
 | 
	
		
			
				|  |  | +//        List<String> list = new ArrayList<>();
 | 
	
		
			
				|  |  | +//        DateHelper dateHelper = new DateHelper(safetyTaskBuildDto.getDate());
 | 
	
		
			
				|  |  | +//        Map<String, Date> map = null;
 | 
	
		
			
				|  |  | +//        List<CoreSafecheckPlan> plans = null;
 | 
	
		
			
				|  |  | +//        if (safetyTaskBuildDto.getPlanId() != null) {
 | 
	
		
			
				|  |  | +//            plans = new ArrayList<>();
 | 
	
		
			
				|  |  | +//            CoreSafecheckPlan coreSafecheckPlan = planMapper.selectById(safetyTaskBuildDto.getPlanId());
 | 
	
		
			
				|  |  | +//            if (coreSafecheckPlan.getPlanStatus() == 1) {
 | 
	
		
			
				|  |  | +//                list.add("当前计划:" + coreSafecheckPlan.getPlanName() + "已禁用!");
 | 
	
		
			
				|  |  | +//                return list;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            plans.add(coreSafecheckPlan);
 | 
	
		
			
				|  |  | +//            map = DateHelper.getStartAndEnd(safetyTaskBuildDto.getDate(), Math.toIntExact(coreSafecheckPlan.getPlanCycle()));
 | 
	
		
			
				|  |  | +//        } else {
 | 
	
		
			
				|  |  | +//            LambdaUpdateWrapper<CoreSafecheckPlan> qw = new LambdaUpdateWrapper<>();
 | 
	
		
			
				|  |  | +//            qw.eq(CoreSafecheckPlan::getPlanCycle, safetyTaskBuildDto.getPlanCycle());
 | 
	
		
			
				|  |  | +//            qw.eq(CoreSafecheckPlan::getIsDeleted, 0);
 | 
	
		
			
				|  |  | +//            qw.eq(CoreSafecheckPlan::getPlanStatus, 0);
 | 
	
		
			
				|  |  | +//            plans = planMapper.selectList(qw);
 | 
	
		
			
				|  |  | +//            map = DateHelper.getStartAndEnd(safetyTaskBuildDto.getDate(), safetyTaskBuildDto.getPlanCycle());
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (CollectionUtil.isEmpty(plans)) {
 | 
	
		
			
				|  |  | +//            list.add("计划不存在");
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | +//            if (ObjectUtil.notEqual(plan.getPlanCycle(), safetyTaskBuildDto.getPlanCycle())) {
 | 
	
		
			
				|  |  | +//                list.add("计划周期与计划不匹配");
 | 
	
		
			
				|  |  | +//                break;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (map.keySet().size() == 0) {
 | 
	
		
			
				|  |  | +//            list.add("计划周期不存在");
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getExecOrgIdList())) {
 | 
	
		
			
				|  |  | +//            List<Long> execOrgIdList = safetyTaskBuildDto.getExecOrgIdList();
 | 
	
		
			
				|  |  | +//            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | +//                List<CoreSafecheckPlanToExecOrg> coreSafecheckPlanToExecOrgs = planToExecOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToExecOrg>().eq(CoreSafecheckPlanToExecOrg::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | +//                if (CollectionUtil.isEmpty(coreSafecheckPlanToExecOrgs)) {
 | 
	
		
			
				|  |  | +//                    //说明计划是根据机构类型配置的,获取所有的机构类型,如果参数中执行机构的机构类型存在不属于此计划的执行机构,则返回错误
 | 
	
		
			
				|  |  | +//                    List<Long> orgTypeList = orgService.selectOrgTypeByIdList(execOrgIdList, SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +//                    for (Long orgType : orgTypeList) {
 | 
	
		
			
				|  |  | +//                        if (ObjectUtil.notEqual(orgType, plan.getExecOrgType())) {
 | 
	
		
			
				|  |  | +//                            list.add("参数中," + plan.getPlanName() + "计划下存在错误执行机构数据");
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                } else {
 | 
	
		
			
				|  |  | +//                    //获取当前计划的所有执行机构,如果参数中存在不属于此计划的执行机构,则返回错误
 | 
	
		
			
				|  |  | +//                    List<Long> collect = coreSafecheckPlanToExecOrgs.stream().map(CoreSafecheckPlanToExecOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +//                    for (Long execOrgId : execOrgIdList) {
 | 
	
		
			
				|  |  | +//                        if (!collect.contains(execOrgId)) {
 | 
	
		
			
				|  |  | +//                            list.add("参数中," + plan.getPlanName() + "计划下存在错误执行机构数据");
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getCheckOrgIdList())) {
 | 
	
		
			
				|  |  | +//            List<Long> checkOrgIdList = safetyTaskBuildDto.getCheckOrgIdList();
 | 
	
		
			
				|  |  | +//            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | +//                List<CoreSafecheckPlanToCheckOrg> coreSafecheckPlanToCheckOrgs = planToCheckOrgMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrg>().eq(CoreSafecheckPlanToCheckOrg::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | +//                if (ObjectUtil.isEmpty(coreSafecheckPlanToCheckOrgs)) {
 | 
	
		
			
				|  |  | +//                    //说明计划是根据机构类型配置的,获取所有的机构类型,如果参数中受检机构的机构类型存在不属于此计划的受检机构,则返回错误
 | 
	
		
			
				|  |  | +//                    List<Long> orgTypeList = orgService.selectOrgTypeByIdList(checkOrgIdList, SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +//                    for (Long orgType : orgTypeList) {
 | 
	
		
			
				|  |  | +//                        if (ObjectUtil.notEqual(orgType, plan.getCheckOrgType())) {
 | 
	
		
			
				|  |  | +//                            list.add("参数中," + plan.getPlanName() + "计划下存在错误检查机构数据");
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                } else {
 | 
	
		
			
				|  |  | +//                    //获取当前计划的所有受检机构,如果参数中存在不属于此计划的受检机构,则返回错误
 | 
	
		
			
				|  |  | +//                    List<Long> collect = coreSafecheckPlanToCheckOrgs.stream().map(CoreSafecheckPlanToCheckOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +//                    for (Long checkOrgId : checkOrgIdList) {
 | 
	
		
			
				|  |  | +//                        if (!collect.contains(checkOrgId)) {
 | 
	
		
			
				|  |  | +//                            list.add("参数中," + plan.getPlanName() + "计划下存在错误检查机构数据");
 | 
	
		
			
				|  |  | +//                            break;
 | 
	
		
			
				|  |  | +//                        }
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                }
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (ObjectUtil.isNotEmpty(safetyTaskBuildDto.getRoleIdList())) {
 | 
	
		
			
				|  |  | +//            List<Long> roleIdList = safetyTaskBuildDto.getRoleIdList();
 | 
	
		
			
				|  |  | +//            for (CoreSafecheckPlan plan : plans) {
 | 
	
		
			
				|  |  | +//                List<CoreSafecheckPlanToRole> coreSafecheckPlanToRoles = planToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>().eq(CoreSafecheckPlanToRole::getPlanId, plan.getId()));
 | 
	
		
			
				|  |  | +//                List<Long> collect = coreSafecheckPlanToRoles.stream().map(CoreSafecheckPlanToRole::getRoleId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +//                if (!new HashSet<>(collect).containsAll(roleIdList)) {
 | 
	
		
			
				|  |  | +//                    list.add("参数中," + plan.getPlanName() + "计划下存在错误角色数据");
 | 
	
		
			
				|  |  | +//                    break;
 | 
	
		
			
				|  |  | +//                }
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        if (DateUtil.beginOfDay(map.get("end")).isBefore(DateUtil.beginOfDay(new Date()))) {
 | 
	
		
			
				|  |  | +//            list.add("计划周期已过");
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        return list;
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void rebuildDayTask(List<Long> orgIds, SysWorkTime workTime) {
 | 
	
	
		
			
				|  | @@ -742,9 +747,22 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |                      ofType = ofhs.getType();
 | 
	
		
			
				|  |  |                      //拿到当前周期所有检查计划
 | 
	
		
			
				|  |  |                      List<CoreSafecheckPlan> plans = planMapper.selectByPlanStatus(1, planCycle);
 | 
	
		
			
				|  |  | -                    Long fcheckOrgType = Long.valueOf(worg.getType());
 | 
	
		
			
				|  |  | +//                    Long fcheckOrgType = Long.valueOf(worg.getType());
 | 
	
		
			
				|  |  |                      //过滤受检机构类型为作息变更机构类型的计划
 | 
	
		
			
				|  |  | -                    plans = plans.stream().filter(p -> p.getCheckOrgType().equals(fcheckOrgType)).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    Iterator<CoreSafecheckPlan> iterator = plans.iterator();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    while (iterator.hasNext()) {
 | 
	
		
			
				|  |  | +                        CoreSafecheckPlan p = iterator.next();
 | 
	
		
			
				|  |  | +                        List<Integer> checkOrgTypes = coreSafecheckPlanToCheckOrgTypeMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToCheckOrgType>().eq(CoreSafecheckPlanToCheckOrgType::getPlanId, p.getId())).stream().map(CoreSafecheckPlanToCheckOrgType::getTypeId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +                        if (!checkOrgTypes.contains(worg.getType())) {
 | 
	
		
			
				|  |  | +                            iterator.remove();
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//                    plans = plans.stream().filter(p -> {
 | 
	
		
			
				|  |  | +//                        p.getCheckOrgType().equals(fcheckOrgType)
 | 
	
		
			
				|  |  | +//                    }).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                      Integer fofOrgType = ofType;
 | 
	
		
			
				|  |  |                      //过滤所属机构类型为作息变更机构所属行社的机构类型的计划
 | 
	
		
			
				|  |  |                      plans = plans.stream().filter(p -> p.getPlanOfOrgType().equals(fofOrgType)).collect(Collectors.toList());
 |