|
@@ -90,25 +90,28 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
private Map<String, String> projectHeadsMap = new LinkedHashMap<String, String>() {{
|
|
|
put("projectCode", "项目编号");
|
|
|
put("projectName", "项目名称");
|
|
|
- put("province", "省份");
|
|
|
- put("city", "市");
|
|
|
- put("district", "区");
|
|
|
- put("num", "台量");
|
|
|
- put("actualNum", "系统台量");
|
|
|
+ put("companyName", "甲方全称");
|
|
|
put("address", "项目地址");
|
|
|
- put("startDate", "开始时间");
|
|
|
- put("endDate", "结束时间");
|
|
|
+ put("areaName", "所属区域");
|
|
|
+ put("name", "区域主管");
|
|
|
+ put("liftNum", "签约台量");
|
|
|
+ put("startDate", "合同生效日");
|
|
|
+ put("endDate", "合同结束日");
|
|
|
+ put("diff", "超期天数");
|
|
|
}};
|
|
|
|
|
|
private Map<String, String> liftHeadsMap = new LinkedHashMap<String, String>() {{
|
|
|
put("projectName", "项目名称");
|
|
|
put("registrationCode", "注册代码");
|
|
|
put("liftType", "电梯类型");
|
|
|
- put("devicePosition", "电梯位置");
|
|
|
+ put("province", "省");
|
|
|
+ put("city", "市");
|
|
|
+ put("district", "区");
|
|
|
+ put("useCompanyCode", "电梯内部编号");
|
|
|
put("liftBrand", "电梯品牌");
|
|
|
- put("workerName", "维保工");
|
|
|
+ put("layerStationDoor", "层站");
|
|
|
put("annualInspectionDate", "年检日期");
|
|
|
- put("liftStatus", "电梯状态");
|
|
|
+ put("liftCompanyStatus", "电梯状态");
|
|
|
}};
|
|
|
|
|
|
/**
|
|
@@ -469,16 +472,40 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public RestResponse modify(Project project) {
|
|
|
- Optional<Project> oldProject = getOne(project.getId());
|
|
|
+ Long projectId = project.getId();
|
|
|
+ Long mtCompanyId = project.getMtCompanyId();
|
|
|
+ Optional<Project> oldProject = getOne(projectId);
|
|
|
if (!oldProject.isPresent())
|
|
|
return RestResponse.fail(MessageUtils.get("msg.project.not.exist"));
|
|
|
+ LocalDate maxWorkDate = maintenancePlanService.queryWorkDateByProjectId(projectId,mtCompanyId );
|
|
|
+ LocalDate endDate = project.getEndDate();
|
|
|
+ Project entry = oldProject.get();
|
|
|
+ //结束时间不应早于最近一次维保记录
|
|
|
+ if (endDate.isBefore(maxWorkDate)) {
|
|
|
+ return RestResponse.fail(MessageUtils.get("msg.end.date.error"));
|
|
|
+ //结束时间比最近一次维保记录晚的话,维保计划相应按照新结束时间往后推三个月
|
|
|
+ } else {
|
|
|
+ List<MaintenancePlan> planList = maintenancePlanService.queryLiftListByProjectId(projectId, mtCompanyId);
|
|
|
+ boolean result = maintenancePlanService.removeByIds(planList);
|
|
|
+ if (!result)
|
|
|
+ return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
|
|
|
+ List<ProjectLiftRelevance> list = projectLiftRelevanceService.queryPlanInterval(projectId, mtCompanyId);
|
|
|
+ int planInterval = 0;
|
|
|
+ if (Objects.nonNull(list)) {
|
|
|
+ planInterval = list.get(0).getPlanInterval();
|
|
|
+ }
|
|
|
+ //项目结束时间默认增加三个月
|
|
|
+ endDate = entry.getEndDate().plusMonths(3);
|
|
|
+ boolean ret = maintenancePlanService.modifyProjectGeneratePlan(mtCompanyId, projectId, planInterval, endDate);
|
|
|
+ if (!ret)
|
|
|
+ return RestResponse.fail(MessageUtils.get("msg.add.fail"));
|
|
|
+ }
|
|
|
log.debug("维护项目状态");
|
|
|
this.setProjectStatus(project, oldProject.get().getProjectStatus());
|
|
|
project.setUpdateDate(LocalDateTime.now());
|
|
|
boolean result = updateById(project);
|
|
|
if (!result)
|
|
|
return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
|
- Project entry = oldProject.get();
|
|
|
//生成项目操作记录
|
|
|
ProjectHistory history = projectHistoryService.createOperaHistory(entry, project, project.getMtCompanyId());
|
|
|
if (Objects.nonNull(history)) {
|