@@ -3,6 +3,7 @@ package com.hz.pm.api.projectdeclared.manage; | |||||
import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||
import cn.hutool.core.lang.Assert; | import cn.hutool.core.lang.Assert; | ||||
import cn.hutool.core.util.ObjectUtil; | import cn.hutool.core.util.ObjectUtil; | ||||
import cn.hutool.core.util.StrUtil; | |||||
import com.alibaba.fastjson.JSON; | import com.alibaba.fastjson.JSON; | ||||
import com.alibaba.fastjson.TypeReference; | import com.alibaba.fastjson.TypeReference; | ||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
@@ -61,11 +62,13 @@ public class DeclaredProjectHelper { | |||||
*/ | */ | ||||
public void projectNameDuplicateCheck(ProjectDTO project) { | public void projectNameDuplicateCheck(ProjectDTO project) { | ||||
String projectCode = project.getProjectCode(); | String projectCode = project.getProjectCode(); | ||||
String hisProjectCode = project.getHisProjectCode(); | |||||
LambdaQueryWrapper<Project> query = Wrappers.lambdaQuery(Project.class) | LambdaQueryWrapper<Project> query = Wrappers.lambdaQuery(Project.class) | ||||
.eq(Project::getProjectName, project.getProjectName()) | .eq(Project::getProjectName, project.getProjectName()) | ||||
.eq(Project::getNewest, Boolean.TRUE) | .eq(Project::getNewest, Boolean.TRUE) | ||||
.ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()) | .ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()) | ||||
.ne(Objects.nonNull(projectCode), Project::getProjectCode, projectCode) | |||||
.ne(StrUtil.isNotBlank(projectCode), Project::getProjectCode, projectCode) | |||||
.eq(StrUtil.isNotBlank(hisProjectCode), Project::getHisProjectCode, hisProjectCode) | |||||
.last(BizConst.LIMIT_1); | .last(BizConst.LIMIT_1); | ||||
if (projectService.count(query) > 0) { | if (projectService.count(query) > 0) { | ||||
throw BizException.wrap("项目名【%s】已存在", project.getProjectName()); | throw BizException.wrap("项目名【%s】已存在", project.getProjectName()); | ||||
@@ -533,7 +533,7 @@ public class PurchaseManage { | |||||
project.setStage(ProjectStatus.ON_PURCHASING.getStage()); | project.setStage(ProjectStatus.ON_PURCHASING.getStage()); | ||||
projectService.updateById(project); | projectService.updateById(project); | ||||
Wrapper<ProjectStatusChange> query = Wrappers.lambdaQuery(ProjectStatusChange.class) | Wrapper<ProjectStatusChange> query = Wrappers.lambdaQuery(ProjectStatusChange.class) | ||||
.eq(ProjectStatusChange::getProjectId, project.getProjectCode()) | |||||
.eq(ProjectStatusChange::getProjectCode, project.getProjectCode()) | |||||
.in(ProjectStatusChange::getEvent, | .in(ProjectStatusChange::getEvent, | ||||
ProjectStateChangeEvent.SUBMIT_PURCHASE_CONTRACT_RECORD, | ProjectStateChangeEvent.SUBMIT_PURCHASE_CONTRACT_RECORD, | ||||
ProjectStateChangeEvent.SUBMIT_PURCHASE_ORG_CONFIRM, | ProjectStateChangeEvent.SUBMIT_PURCHASE_ORG_CONFIRM, | ||||
@@ -14,7 +14,6 @@ import com.hz.pm.api.projectlib.model.entity.ProjectApplication; | |||||
import com.hz.pm.api.projectlib.model.req.ProjectListReq; | import com.hz.pm.api.projectlib.model.req.ProjectListReq; | ||||
import com.hz.pm.api.projectlib.model.vo.ProjectApplicationVO; | import com.hz.pm.api.projectlib.model.vo.ProjectApplicationVO; | ||||
import com.hz.pm.api.user.helper.MhUnitCache; | import com.hz.pm.api.user.helper.MhUnitCache; | ||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import java.util.List; | import java.util.List; | ||||
@@ -102,7 +101,7 @@ public class ProjectManageUtil { | |||||
query.select(Project::getId, Project::getStage, Project::getStatus, Project::getProjectCode, | query.select(Project::getId, Project::getStage, Project::getStatus, Project::getProjectCode, | ||||
Project::getBuildOrgCode, Project::getBuildOrgName, Project::getApprovalAmount, Project::getApprovalDate, | Project::getBuildOrgCode, Project::getBuildOrgName, Project::getApprovalAmount, Project::getApprovalDate, | ||||
Project::getCreateOn, Project::getProjectName, Project::getProjectYear, Project::getIsMajorProject, | Project::getCreateOn, Project::getProjectName, Project::getProjectYear, Project::getIsMajorProject, | ||||
Project::getDeclareAmount, Project::getReviewAmount, Project::getUnitStrip); | |||||
Project::getDeclareAmount, Project::getReviewAmount, Project::getUnitStrip, Project::getConstructionPlanSealFile); | |||||
} | } | ||||
/** | /** | ||||
@@ -151,4 +150,5 @@ public class ProjectManageUtil { | |||||
BeanUtils.copyProperties(app, appVo); | BeanUtils.copyProperties(app, appVo); | ||||
return appVo; | return appVo; | ||||
} | } | ||||
} | } |
@@ -108,7 +108,8 @@ public class AmountApprovalManage { | |||||
} | } | ||||
ProjectManageUtil.projectQuery(query, req); | ProjectManageUtil.projectQuery(query, req); | ||||
ProjectManageUtil.projectBaseQuery(query); | ProjectManageUtil.projectBaseQuery(query); | ||||
query.eq(Project::getNewest, Boolean.TRUE) | |||||
query.eq(Project::getAnnualPlanOpened, Boolean.TRUE) | |||||
.eq(Project::getNewest, Boolean.TRUE) | |||||
.ne(Project::getStage, ProjectStatus.STOPPED.getCode()) | .ne(Project::getStage, ProjectStatus.STOPPED.getCode()) | ||||
.ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()); | .ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()); | ||||
buildAmountApprovalFilter(req.getIsAmountApproval(), query); | buildAmountApprovalFilter(req.getIsAmountApproval(), query); | ||||
@@ -158,7 +159,8 @@ public class AmountApprovalManage { | |||||
} | } | ||||
ProjectManageUtil.projectQuery(query, req); | ProjectManageUtil.projectQuery(query, req); | ||||
ProjectManageUtil.projectBaseQuery(query); | ProjectManageUtil.projectBaseQuery(query); | ||||
query.eq(Project::getNewest, Boolean.TRUE) | |||||
query.eq(Project::getAnnualPlanOpened, Boolean.TRUE) | |||||
.eq(Project::getNewest, Boolean.TRUE) | |||||
.ne(Project::getStage, ProjectStatus.STOPPED.getCode()) | .ne(Project::getStage, ProjectStatus.STOPPED.getCode()) | ||||
.ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()); | .ne(Project::getStatus, ProjectStatus.CHANGE_APPLY_PASSED.getCode()); | ||||
buildAmountApprovalFilter(req.getIsAmountApproval(), query); | buildAmountApprovalFilter(req.getIsAmountApproval(), query); | ||||
@@ -715,15 +715,17 @@ public class ProjectLibManage { | |||||
String projectCode = project.getProjectCode(); | String projectCode = project.getProjectCode(); | ||||
if (ProjectStatus.CHANGE_APPLY_PASSED.eq(project.getStatus())) { | if (ProjectStatus.CHANGE_APPLY_PASSED.eq(project.getStatus())) { | ||||
Wrapper<Project> newProjectQuery = Wrappers.lambdaQuery(Project.class) | Wrapper<Project> newProjectQuery = Wrappers.lambdaQuery(Project.class) | ||||
.select(Project::getId, Project::getProjectCode) | |||||
.select(Project::getId, Project::getProjectCode, Project::getProjectName) | |||||
.eq(Project::getHisProjectCode, project.getHisProjectCode()) | .eq(Project::getHisProjectCode, project.getHisProjectCode()) | ||||
.eq(Project::getNewest, Boolean.TRUE) | .eq(Project::getNewest, Boolean.TRUE) | ||||
.last(BizConst.LIMIT_1); | .last(BizConst.LIMIT_1); | ||||
Project newProject = projectService.getOne(newProjectQuery); | Project newProject = projectService.getOne(newProjectQuery); | ||||
retProjectDetail.setNewProjectId(newProject.getId()); | retProjectDetail.setNewProjectId(newProject.getId()); | ||||
retProjectDetail.setNewProjectName(newProject.getProjectName()); | |||||
retProjectDetail.setNewProjectCode(newProject.getProjectCode()); | retProjectDetail.setNewProjectCode(newProject.getProjectCode()); | ||||
} | } | ||||
if (StrUtil.isNotBlank(project.getHisProjectCode())) { | if (StrUtil.isNotBlank(project.getHisProjectCode())) { | ||||
retProjectDetail.setHisProjectName(projectService.getProjectName(project.getHisProjectCode())); | |||||
retProjectDetail.setHisProjectId(ProjectIdCodeCacheUtil.newest(project.getHisProjectCode())); | retProjectDetail.setHisProjectId(ProjectIdCodeCacheUtil.newest(project.getHisProjectCode())); | ||||
} | } | ||||
if (DecimalUtil.noNullAndGtZero(project.getApprovalAmount())) { | if (DecimalUtil.noNullAndGtZero(project.getApprovalAmount())) { | ||||
@@ -601,11 +601,15 @@ public class ProjectDetailVO { | |||||
@ApiModelProperty("历史项目编码") | @ApiModelProperty("历史项目编码") | ||||
private String hisProjectCode; | private String hisProjectCode; | ||||
private String hisProjectName; | |||||
@ApiModelProperty("历史项目id") | @ApiModelProperty("历史项目id") | ||||
private Long hisProjectId; | private Long hisProjectId; | ||||
private String newProjectCode; | private String newProjectCode; | ||||
private String newProjectName; | |||||
private Long newProjectId; | private Long newProjectId; | ||||
} | } |
@@ -185,4 +185,7 @@ public class ProjectLibListItemVO { | |||||
@ApiModelProperty("会议ID") | @ApiModelProperty("会议ID") | ||||
private Long meetingId; | private Long meetingId; | ||||
@ApiModelProperty("建设方案盖章件") | |||||
private String constructionPlanSealFile; | |||||
} | } |
@@ -102,4 +102,13 @@ public interface IProjectService extends IService<Project> { | |||||
Page<ProjectChangeListDTO> pageChangeList(Wrapper<Project> wrapper, Page<ProjectChangeListDTO> page); | Page<ProjectChangeListDTO> pageChangeList(Wrapper<Project> wrapper, Page<ProjectChangeListDTO> page); | ||||
default String getProjectName(String projectCode){ | |||||
LambdaQueryWrapper<Project> query = Wrappers.lambdaQuery(Project.class) | |||||
.select(Project::getProjectName) | |||||
.eq(Project::getProjectCode, projectCode) | |||||
.eq(Project::getNewest, Boolean.TRUE) | |||||
.last(BizConst.LIMIT_1); | |||||
return Optional.ofNullable(getOne(query)).flatMap(p -> Optional.ofNullable(p.getProjectName())).orElse(null); | |||||
} | |||||
} | } |