Browse Source

新生成项目版本号

master
PoffyZhang 1 year ago
parent
commit
12a36d6d5d
6 changed files with 45 additions and 9 deletions
  1. +2
    -3
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java
  2. +2
    -3
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java
  3. +2
    -3
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ReviewByProvincialDeptManage.java
  4. +1
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java
  5. +35
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ProjectLibManage.java
  6. +3
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java

+ 2
- 3
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java View File

@@ -163,10 +163,9 @@ public class ConstructionPlanManage {
VUtils.isTrue(Objects.isNull(projectInfo)).throwMessage("提交失败 此项目不存在!");
VUtils.isTrue(StringUtils.isBlank(projectDto.getConstructionPlanFile())).throwMessage("提交失败 请提交建设方案!");
//直接先到待方案审批
Project project = projectLibManage.reSaveProjectNewVersion(projectDto);
project.setStatus(ProjectStatusEnum.PLAN_TO_BE_DECLARED.getCode());
Project project = projectLibManage.saveProjectWithVersionAndStatus(projectDto,null,
ProjectStatusEnum.PLAN_TO_BE_DECLARED.getCode());
dto.getProjectInfo().setId(project.getId());
projectService.updateById(project);
return startTheProcess(dto);
}



+ 2
- 3
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java View File

@@ -161,9 +161,8 @@ public class PrequalificationDeclaredProjectManage {
Project projectInfo = projectService.getById(projectDto.getId());
VUtils.isTrue(Objects.isNull(projectInfo)).throwMessage("提交失败 此项目不存在!");
//重新提交 生成新版本号 回到 待预审状态
Project project = projectLibManage.reSaveProjectNewVersion(projectDto);
project.setStatus(ProjectStatusEnum.PENDING_PREQUALIFICATION.getCode());
projectService.updateById(project);
Project project = projectLibManage.saveProjectWithVersionAndStatus(projectDto,null,
ProjectStatusEnum.PENDING_PREQUALIFICATION.getCode());
dto.getProjectInfo().setId(project.getId());
return startTheProcess(dto);
}


+ 2
- 3
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ReviewByProvincialDeptManage.java View File

@@ -95,9 +95,8 @@ public class ReviewByProvincialDeptManage {
ApplicationConverter.convertProject(projectInfo,applications,fileService))){
throw new BusinessException("提交省级部门联审失败");
}
projectInfo = projectLibManage.reSaveProjectNewVersion(project);
projectInfo.setStatus(ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode());
projectService.updateById(projectInfo);
projectInfo = projectLibManage.saveProjectWithVersionAndStatus(project,null,
ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode());
return String.valueOf(projectInfo.getId());
}
}

+ 1
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java View File

@@ -191,6 +191,7 @@ public class AnnualPlanLibManage {
param.setIsTemporaryAugment(isTemporaryAugment);
param.setStatusList(CollUtils.fieldList(ANNUAL_PLAN_LIST_STATUS, ProjectStatusEnum::getCode));
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(param);
query.eq(Project::getNewest,Boolean.TRUE);
query.orderByDesc(Project::getAnnualPlanAddTime);
List<Project> projects = projectService.list(query);



+ 35
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ProjectLibManage.java View File

@@ -17,6 +17,7 @@ import com.ningdatech.pmapi.common.enumeration.ProjectProcessStageEnum;
import com.ningdatech.pmapi.common.helper.RegionCacheHelper;
import com.ningdatech.pmapi.common.helper.UserInfoHelper;
import com.ningdatech.pmapi.common.model.entity.ExcelExportWriter;
import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils;
import com.ningdatech.pmapi.common.util.BizUtils;
import com.ningdatech.pmapi.common.util.ExcelDownUtil;
import com.ningdatech.pmapi.datascope.model.DataScopeDTO;
@@ -74,6 +75,8 @@ public class ProjectLibManage {
private final GenerateProjectCodeUtil generateProjectCodeUtil;
private final IProjectInstService projectInstService;

private final StateMachineUtils stateMachineUtils;

public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) {
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req);
Page<Project> page = projectService.page(req.page(), query);
@@ -189,6 +192,7 @@ public class ProjectLibManage {
projectService.save(project);
}else{
//否则是重新提交的 新生成一个新版本的项目
projectDto.setSponsor(employeeCode);
project = newProjectWithVersion(projectDto);
}

@@ -261,6 +265,36 @@ public class ProjectLibManage {
project.setVersion(project.getVersion() + 1);
BeanUtils.copyProperties(projecDto,project);
project.setId(null);
project.setCreateOn(LocalDateTime.now());
project.setUpdateOn(LocalDateTime.now());
stateMachineUtils.pass(project);
projectService.save(project);

projectService.update(Wrappers.lambdaUpdate(Project.class)
.set(Project::getNewest,Boolean.FALSE)
.ne(Project::getId,project.getId())
.eq(Project::getProjectCode,project.getProjectCode()));

return project;
}

public Project saveProjectWithVersionAndStatus(ProjectDTO projecDto,Integer stageCode,Integer statusCode){
Project project = projectService.getById(projecDto.getId());

VUtils.isTrue(Objects.isNull(project))
.throwMessage("项目不存在!");

project.setVersion(project.getVersion() + 1);
BeanUtils.copyProperties(projecDto,project);
project.setId(null);
project.setCreateOn(LocalDateTime.now());
project.setUpdateOn(LocalDateTime.now());
if(Objects.nonNull(stageCode)){
project.setStage(stageCode);
}
if(Objects.nonNull(statusCode)){
project.setStatus(statusCode);
}
projectService.save(project);

projectService.update(Wrappers.lambdaUpdate(Project.class)
@@ -338,6 +372,7 @@ public class ProjectLibManage {
param.setPageNumber(CommonConst.EXPORT_PAGE_NUMBER);
param.setPageSize(CommonConst.EXPORT_PAGE_SIZE);
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(param);
query.eq(Project::getNewest,Boolean.TRUE);
List<Project> projects = projectService.list(query);

ExcelExportWriter excelExportWriter = new ExcelExportWriter();


+ 3
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java View File

@@ -282,6 +282,9 @@ public class ProjectDTO implements Serializable {
@ApiModelProperty("项目发起人 员工code")
private String sponsor;

@ApiModelProperty("预审发起人 员工code")
private String preStartUserId;

@ApiModelProperty("上级条线单位审核意见")
private String higherLineSuperOrgReviewComments;



Loading…
Cancel
Save