|
@@ -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;
|
|
@@ -48,6 +47,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -325,13 +325,32 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
//按当前日期时间戳自动生成项目编号
|
|
|
String projectCode = DateUtils.generateCode();
|
|
|
project.setProjectCode("XM" + projectCode);
|
|
|
+ this.setProjectStatus(project);
|
|
|
+ return save(project);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据项目开始结束时间,设置项目状态
|
|
|
+ *
|
|
|
+ * @param project 项目信息
|
|
|
+ */
|
|
|
+ private void setProjectStatus(Project project) {
|
|
|
LocalDate now = LocalDate.now();
|
|
|
LocalDate startDate = project.getStartDate();
|
|
|
LocalDate endDate = project.getEndDate();
|
|
|
- if (startDate.isEqual(now) || startDate.isBefore(now) && endDate.isAfter(now)) {
|
|
|
+ LocalDate tomorrow = now.plus(1, ChronoUnit.DAYS);
|
|
|
+ //如果项目开始时间在今天之后,项目状态设置成未开始
|
|
|
+ if (startDate.isAfter(now)) {
|
|
|
+ project.setProjectStatus("1");
|
|
|
+ }
|
|
|
+ //如果项目开始时间在明天之前,项目状态设置成服务中
|
|
|
+ if (startDate.isBefore(tomorrow)) {
|
|
|
project.setProjectStatus("2");
|
|
|
}
|
|
|
- return save(project);
|
|
|
+ //如果项目结束时间在今天之前,项目状态设置成逾期
|
|
|
+ if (endDate.isAfter(now)) {
|
|
|
+ project.setProjectStatus("3");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -430,6 +449,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);
|
|
|
boolean result = updateById(project);
|
|
|
if (!result)
|
|
|
return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
@@ -451,7 +471,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
return baseMapper.exportList(ids);
|
|
|
}
|
|
|
|
|
|
- public List<Map<String,String>> exportLiftList(List<String> ids){
|
|
|
+ public List<Map<String, String>> exportLiftList(List<String> ids) {
|
|
|
return baseMapper.exportLiftList(ids);
|
|
|
}
|
|
|
|
|
@@ -465,7 +485,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
List<String> ids = request.getIds();
|
|
|
List<Map<String, String>> projectList = exportList(ids);
|
|
|
List<Map<String, String>> liftList = exportLiftList(ids);
|
|
|
- ExcelWriter writer = new ExcelWriter(true,"项目");
|
|
|
+ ExcelWriter writer = new ExcelWriter(true, "项目");
|
|
|
//设置列别名
|
|
|
projectHeadsMap.forEach(writer::addHeaderAlias);
|
|
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|