|
@@ -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) {
|