@@ -1,6 +1,9 @@ | |||||
package com.ningdatech.pmapi.projectlib.handle; | package com.ningdatech.pmapi.projectlib.handle; | ||||
import java.util.*; | import java.util.*; | ||||
import java.util.stream.Collectors; | |||||
import cn.hutool.core.collection.CollUtil; | |||||
import com.ningdatech.basic.util.CollUtils; | import com.ningdatech.basic.util.CollUtils; | ||||
import com.ningdatech.pmapi.common.constant.BizConst; | import com.ningdatech.pmapi.common.constant.BizConst; | ||||
import com.ningdatech.pmapi.projectlib.model.entity.Project; | import com.ningdatech.pmapi.projectlib.model.entity.Project; | ||||
@@ -68,14 +71,16 @@ public class ProjectApprovalHandle extends AbstractProcessBusinessHandle { | |||||
void businessHandle(Long projectId, List<ProcessDetailVO> processSchedule) { | void businessHandle(Long projectId, List<ProcessDetailVO> processSchedule) { | ||||
ProcessDetailVO processDetailVO = new ProcessDetailVO(); | ProcessDetailVO processDetailVO = new ProcessDetailVO(); | ||||
Project project = projectService.getById(projectId); | |||||
Project project = projectService.getNewProject(projectId); | |||||
//查出历史版本的 所有项目ID | //查出历史版本的 所有项目ID | ||||
List<Long> allVersionProjectIds = projectService.getAllVersionProjectId(project); | List<Long> allVersionProjectIds = projectService.getAllVersionProjectId(project); | ||||
Integer status = project.getStatus(); | Integer status = project.getStatus(); | ||||
List<Integer> fieldList = CollUtils.fieldList(PROJECT_APPROVAL_LIST_STATUS, ProjectStatusEnum::getCode); | |||||
if(Objects.isNull(status)){ | |||||
return; | |||||
} | |||||
// 项目状态为待立项批复之前的状态 | // 项目状态为待立项批复之前的状态 | ||||
if (fieldList.contains(status)){ | |||||
if (status < ProjectStatusEnum.TO_BE_APPROVED.getCode()){ | |||||
processDetailVO.setStepStatus(StepStatusEnum.NOT_START); | processDetailVO.setStepStatus(StepStatusEnum.NOT_START); | ||||
processDetailVO.setProcessName(CommonConst.PROJECT_APPROVAL); | processDetailVO.setProcessName(CommonConst.PROJECT_APPROVAL); | ||||
processSchedule.add(processDetailVO); | processSchedule.add(processDetailVO); | ||||
@@ -149,7 +149,6 @@ public class AnnualPlanLibManage { | |||||
Project oldProject = projectService.getById(req.getProjectId()); | Project oldProject = projectService.getById(req.getProjectId()); | ||||
Project project = BeanUtil.copyProperties(oldProject, Project.class); | Project project = BeanUtil.copyProperties(oldProject, Project.class); | ||||
// 被撤回重新申报的项目,项目ID要置空 | // 被撤回重新申报的项目,项目ID要置空 | ||||
project.setId(null); | |||||
project.setCreateOn(LocalDateTime.now()); | project.setCreateOn(LocalDateTime.now()); | ||||
project.setUpdateOn(LocalDateTime.now()); | project.setUpdateOn(LocalDateTime.now()); | ||||
stateMachine.pass(project); | stateMachine.pass(project); | ||||
@@ -167,6 +166,7 @@ public class AnnualPlanLibManage { | |||||
project.setProjectCode(oldProject.getProjectCode()); | project.setProjectCode(oldProject.getProjectCode()); | ||||
project.setVersion(oldProject.getVersion() + 1); | project.setVersion(oldProject.getVersion() + 1); | ||||
project.setInstCode(TodoCenterConstant.Declared.NULL_INST_CODE); | project.setInstCode(TodoCenterConstant.Declared.NULL_INST_CODE); | ||||
project.setId(null); | |||||
if(projectService.save(project)){ | if(projectService.save(project)){ | ||||
applicationService.saveApplication(project,oldProject,Boolean.TRUE); | applicationService.saveApplication(project,oldProject,Boolean.TRUE); | ||||
// 将旧的项目版本置为不是最新 | // 将旧的项目版本置为不是最新 | ||||
@@ -126,6 +126,8 @@ public class ProjectRenewalFundManage { | |||||
declaration.setCreateOn(LocalDateTime.now()); | declaration.setCreateOn(LocalDateTime.now()); | ||||
declaration.setUpdateOn(LocalDateTime.now()); | declaration.setUpdateOn(LocalDateTime.now()); | ||||
declaration.setApprovalStatus(ProjectRenewalApprovalStatusEnum.PENDING.name()); | declaration.setApprovalStatus(ProjectRenewalApprovalStatusEnum.PENDING.name()); | ||||
declaration.setRegionCode(project.getAreaCode()); | |||||
declaration.setOrgCode(project.getBuildOrgCode()); | |||||
if(!projectRenewalFundDeclarationService.saveOrUpdate(declaration)){ | if(!projectRenewalFundDeclarationService.saveOrUpdate(declaration)){ | ||||
throw new BusinessException(String.format("申报失败 【%s】",dto.getId())); | throw new BusinessException(String.format("申报失败 【%s】",dto.getId())); | ||||
} | } | ||||