| 
					
				 | 
			
			
				@@ -87,8 +87,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public TableDataInfo appList(AppPageDto dto) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(ObjectUtil.isNotNull(dto.getTaskTime())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DateRange r= DateUtils.getStartAndEnd(dto.getTaskTime(), CycleCommonEnum.MONTHLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtil.isNotNull(dto.getTaskTime())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DateRange r = DateUtils.getStartAndEnd(dto.getTaskTime(), CycleCommonEnum.MONTHLY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dto.setStartTime(r.getStartTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dto.setEndTime(r.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,7 +121,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        wrapper.in(CoreSafetyTask::getPlanId, page.getRecords().stream().map(r -> r.getPlanId()).collect(Collectors.toList())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<CoreSafetyTask> list = baseMapper.selectTaskList(dto,SecurityUtils.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CoreSafetyTask> list = baseMapper.selectTaskList(dto, SecurityUtils.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        Map<Long, List<CoreSafetyTask>> grouped = list.stream().collect(Collectors.groupingBy(t -> t.getBatchId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Long> planIds = page.getRecords().stream().map(r -> r.getPlanId()).distinct().collect(Collectors.toList()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -142,10 +142,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 vo.setUncompleted(convertToAppItemVo(v, i -> !ObjectUtil.equal(i.getStatus(), SafetyCheckTaskStatus.Completed.getValue()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Date date=DateUtil.beginOfDay(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Date planStartDate=DateUtil.beginOfDay(vo.getPlanStartTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Date planEndDate=DateUtil.beginOfDay(vo.getPlanEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            vo.setInRegisterTime((planStartDate.before(date) && planEndDate.after(date) || date.getTime()==planStartDate.getTime())?1:0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            vo.setInRegisterTime(getInRegisterTime(vo.getPlanStartTime(), vo.getPlanEndTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return TableDataInfo.success(page); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,7 +208,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BeanUtils.copyProperties(baseData, vo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<AppTaskRegisterItemVo> itemVos = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //for (Long itemId : groupByItem.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for(Map.Entry<Long, List<AppTaskRegisterPointVo>> map:groupByItem.entrySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Map.Entry<Long, List<AppTaskRegisterPointVo>> map : groupByItem.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<AppTaskRegisterPointVo> pointVos = map.getValue();//groupByItem.get(itemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AppTaskRegisterItemVo itemVo = new AppTaskRegisterItemVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             itemVo.setItemId(pointVos.get(0).getItemId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -235,7 +232,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ObjectUtil.isNotNull(task.getPlanId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             plan = coreSafecheckPlanMapper.get(task.getPlanId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          throw  new RuntimeException("计划id不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new RuntimeException("计划id不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         SysOrg beCheckedOrg = remoteOrgService.selectOrgById(task.getOrgId(), SecurityConstants.INNER); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -272,7 +269,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             taskImgs = imgs.stream().collect(Collectors.groupingBy(CoreSafetyTaskDataRemarkimg::getTaskDataId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, beCheckedOrg.getType().toString(), roleNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, beCheckedOrg.getType().toString(), roleNames, getInRegisterTime(task.getPlanStartTime(), task.getPlanEndTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ObjectUtil.isNotNull(plan)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             vo.setPlanType(plan.getCheckType().intValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,13 +286,13 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             point.setNfcList(new ArrayList<>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(ObjectUtil.equal( point.getMustCheck(),1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtil.equal(point.getMustCheck(), 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (TaskRegisterNfcVo nfc : nfcs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(usedNfcId.contains(nfc.getNfcId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (usedNfcId.contains(nfc.getNfcId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(ObjectUtil.equal(point.getAreaId(),nfc.getAreaId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (ObjectUtil.equal(point.getAreaId(), nfc.getAreaId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         point.getNfcList().add(nfc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         usedNfcId.add(nfc.getNfcId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,6 +304,13 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return vo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int getInRegisterTime(Date startTime, Date endTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date date = DateUtil.beginOfDay(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date planStartDate = DateUtil.beginOfDay(startTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date planEndDate = DateUtil.endOfDay(endTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return (!planStartDate.after(date) && !planEndDate.before(date)) ? 1 : 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private List<IdNameVo> getTaskRoles(CoreSafecheckPlan plan, CoreSafetyTask task) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Long> roleIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ObjectUtil.equal(task.getSourceType(), SafetyTaskSourceType.TempTask.getCode().longValue())) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -407,11 +411,11 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Boolean submit(TaskRegisterVo<AppTaskRegisterPointVo> data, Boolean isNewTask) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(DateUtil.beginOfDay(data.getPlanStartTime()).after(DateUtil.beginOfDay(new Date()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (DateUtil.beginOfDay(data.getPlanStartTime()).after(DateUtil.beginOfDay(new Date()))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new ServiceException("任务未到开始时间"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(DateUtil.beginOfDay(data.getPlanEndTime()).before(DateUtil.beginOfDay(new Date()))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (DateUtil.beginOfDay(data.getPlanEndTime()).before(DateUtil.beginOfDay(new Date()))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new ServiceException("任务已过结束时间"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -433,8 +437,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!isNewTask) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             removeExistData(data.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SysOrg checkOrg =null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SysOrg checkOrg = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             checkOrg = remoteOrgService.selectOrgById(data.getCheckOrgId(), SecurityConstants.INNER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data.setBeCheckOrgType(org.getType().toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data.setBeCheckedOrgName(org.getShortName()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -478,13 +482,13 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (isNewTask) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            addTask(data, questions.size(), data.getIsSubmit(),org); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            addTask(data, questions.size(), data.getIsSubmit(), org); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             updateTask(data, questions.size(), data.getIsSubmit()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (data.getIsSubmit() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             coreSafecheckPlanService.buildPdf(data.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            coreSafecheckPlanService.updatePlanCompletedState(data.getPlanId(),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            coreSafecheckPlanService.updatePlanCompletedState(data.getPlanId(), 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -588,7 +592,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param isSubmit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private boolean addTask(TaskRegisterVo data, Integer exceptionCount, Integer isSubmit,SysOrg beCheckedOrg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private boolean addTask(TaskRegisterVo data, Integer exceptionCount, Integer isSubmit, SysOrg beCheckedOrg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CoreSafetyTask task = new CoreSafetyTask(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         task.setId(data.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         task.setPlanId(-1L); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -686,17 +690,17 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        if (ObjectUtil.isNull(task.getGrantUserId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long canGrantCount = tasks.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .filter(t -> ObjectUtil.notEqual(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            ObjectUtil.notEqual(t.getStatus(),SafetyCheckTaskStatus.OverDue.getValue()) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            (ObjectUtil.isNull(t.getGrantUserId()) || ObjectUtil.equal(t.getId(),dto.getTaskId()))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Long selfCompletedCount = tasks.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (canGrantCount <= 1 && selfCompletedCount == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                throw new ServiceException("网点负责人每月亲自检查不少于1次"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Long canGrantCount = tasks.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .filter(t -> ObjectUtil.notEqual(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ObjectUtil.notEqual(t.getStatus(), SafetyCheckTaskStatus.OverDue.getValue()) && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        (ObjectUtil.isNull(t.getGrantUserId()) || ObjectUtil.equal(t.getId(), dto.getTaskId()))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Long selfCompletedCount = tasks.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .filter(t -> ObjectUtil.equal(t.getStatus(), SafetyCheckTaskStatus.Completed.getValue()) && ObjectUtil.isNull(t.getGrantUserId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (canGrantCount <= 1 && selfCompletedCount == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new ServiceException("网点负责人每月亲自检查不少于1次"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LambdaUpdateWrapper<CoreSafetyTask> updateWrapper = new LambdaUpdateWrapper<>(); 
			 |