| 
					
				 | 
			
			
				@@ -15,6 +15,7 @@ import com.ankaibei.workFlow.webadmin.ankaibei.entity.TaskInfoEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.entity.UserInfoEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.enums.CodeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.enums.TaskPriority; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ankaibei.workFlow.webadmin.ankaibei.enums.TaskStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.ProjectInfoMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.TaskInfoMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ankaibei.workFlow.webadmin.ankaibei.mapper.UserInfoMapper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -31,6 +32,8 @@ import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.Duration; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.format.DateTimeFormatter; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -115,7 +118,18 @@ public class TaskInfoServiceImpl implements TaskInfoService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 long daysDiff = duration.toDays(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 long hoursDiff = duration.toHours() % 24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 map1.put("duration_ch", daysDiff + "天" + hoursDiff + "时"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //任务是否已延期:结束时间已过但是未完成的,就是延期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (sdf.parse(map1.get("endTime").toString()).before(new Date()) && !TaskStatus.FINISH_ED.getCode().equals(map1.get("taskStatus").toString())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        taskInfoEntity.setTaskStatus(TaskStatus.EXTENSION_ED.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        taskInfoMapper.extensionTask(Integer.valueOf(map1.get("taskId").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } catch (ParseException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map1.put("taskPriority", TaskPriority.getEnumByCode(map.get("taskPriority"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return map1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).getContent(), all.getTotalElements())); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -127,14 +141,19 @@ public class TaskInfoServiceImpl implements TaskInfoService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (taskInfoMapper.countByTargetTaskEqualsAndIsDeleteEquals(taskInfoEntity.getTargetTask(), "1") > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return new ResMsg(CodeEnum.TASK_ALREADY_EXISTS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (taskInfoEntity.getStartTime() == null || taskInfoEntity.getEndTime() == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtils.isEmpty(taskInfoEntity.getStartTime()) || ObjectUtils.isEmpty(taskInfoEntity.getEndTime()) || (ObjectUtils.isEmpty(taskInfoEntity.getStartTime()) && ObjectUtils.isEmpty(taskInfoEntity.getEndTime()))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return new ResMsg(CodeEnum.PARAM_IS_NULL, "请录入任务计划的开始时间和结束时间"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //结束时间在此时之前,就已是延期任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (taskInfoEntity.getEndTime().before(new Date())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                taskInfoEntity.setTaskStatus(TaskStatus.EXTENSION_ED.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (taskParticipant.size() < 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //(1 已分配 2未分配 3已延期) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            taskInfoEntity.setTaskStatus("2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            taskInfoEntity.setTaskStatus(TaskStatus.NO_ALLOCATION.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            taskInfoEntity.setTaskStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            taskInfoEntity.setTaskStatus(TaskStatus.ALLOCATION_ED.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         StringBuffer str = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (Long id : taskParticipant) { 
			 |