|  | @@ -13,7 +13,6 @@ import com.xunmei.common.core.enums.CycleCommonEnum;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.DateHelper;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.IDHelper;
 | 
	
		
			
				|  |  |  import com.xunmei.core.TaskCreatingServiceImplBase;
 | 
	
		
			
				|  |  | -import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 | 
	
		
			
				|  |  |  import com.xunmei.core.safetyCheck.domain.*;
 | 
	
		
			
				|  |  |  import com.xunmei.core.safetyCheck.domain.CoreSafecheckPlan;
 | 
	
		
			
				|  |  |  import com.xunmei.core.safetyCheck.dto.SafetyTaskBuildDto;
 | 
	
	
		
			
				|  | @@ -650,7 +649,28 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |      public void rebuildTask(List<Long> orgIds, Date startDate, Date endDate, CycleCommonEnum cycle) {
 | 
	
		
			
				|  |  |          Map<Long, Boolean> workingMap = orgWorkTimeStatusMap(startDate, cycle, orgIds);
 | 
	
		
			
				|  |  |  //        List<Long> deleteTaskIds = new ArrayList<>();
 | 
	
		
			
				|  |  | +        Integer planCycle = 0;
 | 
	
		
			
				|  |  | +        switch (cycle) {
 | 
	
		
			
				|  |  | +            case WEEKLY:
 | 
	
		
			
				|  |  | +                planCycle = 1;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case MONTHLY:
 | 
	
		
			
				|  |  | +                planCycle = 2;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case QUARTERLY:
 | 
	
		
			
				|  |  | +                planCycle = 3;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case HALF_YEARLY:
 | 
	
		
			
				|  |  | +                planCycle = 4;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case YEARLY:
 | 
	
		
			
				|  |  | +                planCycle = 5;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case NONE:
 | 
	
		
			
				|  |  | +                planCycle = 6;
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          List<SysOrg> orgs = remoteOrgService.selectByOrgIdList(orgIds, SecurityConstants.INNER);
 | 
	
		
			
				|  |  |          for (SysOrg worg : orgs) {
 | 
	
		
			
				|  |  |              if (ObjectUtil.isNull(worg.getType())) {
 | 
	
	
		
			
				|  | @@ -658,20 +678,24 @@ public class SafetyCheckJobBusiness extends TaskCreatingServiceImplBase<CoreSafe
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              Long orgId = worg.getId();
 | 
	
		
			
				|  |  | -            checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate);
 | 
	
		
			
				|  |  | +            checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate, planCycle);
 | 
	
		
			
				|  |  |              if (!workingMap.containsKey(orgId) || !workingMap.get(orgId)) {
 | 
	
		
			
				|  |  |                  //当前作息周期已经歇业,删除未进行的任务
 | 
	
		
			
				|  |  | -                checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate);
 | 
	
		
			
				|  |  | +                checkTaskService.deleteByOrgIdAndRange(orgId, startDate, endDate, planCycle);
 | 
	
		
			
				|  |  |                  continue;
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  //开始营业,重新生成任务
 | 
	
		
			
				|  |  | -                //拿到所有检查计划
 | 
	
		
			
				|  |  | -                List<CoreSafecheckPlan> plans = planMapper.selectByPlanStatus(1);
 | 
	
		
			
				|  |  | +                //拿到当前周期所有检查计划
 | 
	
		
			
				|  |  | +                List<CoreSafecheckPlan> plans = planMapper.selectByPlanStatus(1, planCycle);
 | 
	
		
			
				|  |  |                  Iterator<CoreSafecheckPlan> safecheckPlanIterator = plans.iterator();
 | 
	
		
			
				|  |  |                  //遍历计划
 | 
	
		
			
				|  |  |                  while (safecheckPlanIterator.hasNext()) {
 | 
	
		
			
				|  |  |                      //拿到计划所属受检机构
 | 
	
		
			
				|  |  |                      List<SysOrg> checkOrgList = safecheckPlanIterator.next().getCheckOrgList();
 | 
	
		
			
				|  |  | +//                    //如果检查机构数量为0表示未指定具体检查机构,默认当前计划拥有当前机构
 | 
	
		
			
				|  |  | +//                    if(checkOrgList.size()==0){
 | 
	
		
			
				|  |  | +//                        checkOrgList.add(worg);
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  |                      //过滤掉不等于当前作息变更机构的受检机构
 | 
	
		
			
				|  |  |                      List<SysOrg> collect = checkOrgList.stream().filter(e -> e.getId().equals(orgId)).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                      //过滤完数组长度0表示没有受检机构等于作息变更机构的数据
 |