|
@@ -15,7 +15,6 @@ import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResp
|
|
|
import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
|
|
|
import cn.com.ty.lift.business.push.service.PushUserService;
|
|
|
import cn.com.ty.lift.common.base.ExportRequest;
|
|
|
-import cn.com.ty.lift.common.constants.CommonEnum;
|
|
|
import cn.com.ty.lift.common.constants.CommonEnum.ProjectStatus;
|
|
|
import cn.com.ty.lift.common.constants.WebSocketConstants;
|
|
|
import cn.com.ty.lift.common.model.PushMessage;
|
|
@@ -329,7 +328,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
//按当前日期时间戳自动生成项目编号
|
|
|
String projectCode = DateUtils.generateCode();
|
|
|
project.setProjectCode("XM" + projectCode);
|
|
|
- this.setProjectStatus(project);
|
|
|
+ this.setProjectStatus(project, null);
|
|
|
return save(project);
|
|
|
}
|
|
|
|
|
@@ -338,22 +337,28 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
*
|
|
|
* @param project 项目信息
|
|
|
*/
|
|
|
- private void setProjectStatus(Project project) {
|
|
|
+ private void setProjectStatus(Project project, String oldProjectStatus) {
|
|
|
LocalDate now = LocalDate.now();
|
|
|
LocalDate startDate = project.getStartDate();
|
|
|
LocalDate endDate = project.getEndDate();
|
|
|
LocalDate tomorrow = now.plus(1, ChronoUnit.DAYS);
|
|
|
- //如果项目开始时间在今天之后,项目状态设置成未开始
|
|
|
+ //如果项目在服务中且开始时间在今天之后,项目状态设置成未开始
|
|
|
if (startDate.isAfter(now)) {
|
|
|
- project.setProjectStatus(ProjectStatus.NOT_START.getCode());
|
|
|
+ if (Objects.isNull(oldProjectStatus) || oldProjectStatus.equals(ProjectStatus.IN_SERVICE.getCode())) {
|
|
|
+ project.setProjectStatus(ProjectStatus.NOT_START.getCode());
|
|
|
+ }
|
|
|
}
|
|
|
- //如果项目开始时间在明天之前,项目状态设置成服务中
|
|
|
+ //如果项目未开始且开始时间在明天之前,项目状态设置成服务中
|
|
|
if (startDate.isBefore(tomorrow)) {
|
|
|
- project.setProjectStatus(ProjectStatus.IN_SERVICE.getCode());
|
|
|
+ if (Objects.isNull(oldProjectStatus) || oldProjectStatus.equals(ProjectStatus.NOT_START.getCode())) {
|
|
|
+ project.setProjectStatus(ProjectStatus.IN_SERVICE.getCode());
|
|
|
+ }
|
|
|
}
|
|
|
- //如果项目结束时间在今天之前,项目状态设置成逾期
|
|
|
+ //如果项目在服务中且结束时间在今天之前,项目状态设置成逾期
|
|
|
if (endDate.isBefore(now)) {
|
|
|
- project.setProjectStatus(ProjectStatus.OVERDUE.getCode());
|
|
|
+ if (Objects.isNull(oldProjectStatus) || oldProjectStatus.equals(ProjectStatus.IN_SERVICE.getCode())) {
|
|
|
+ project.setProjectStatus(ProjectStatus.OVERDUE.getCode());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -453,7 +458,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
Optional<Project> oldProject = getOne(project.getId());
|
|
|
if (!oldProject.isPresent())
|
|
|
return RestResponse.fail(MessageUtils.get("msg.project.not.exist"));
|
|
|
- this.setProjectStatus(project);
|
|
|
+ this.setProjectStatus(project, oldProject.get().getProjectStatus());
|
|
|
boolean result = updateById(project);
|
|
|
if (!result)
|
|
|
return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|