diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java b/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java index f753833..45f7da8 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitStripEnum.java @@ -15,11 +15,11 @@ import lombok.Getter; @AllArgsConstructor public enum MhUnitStripEnum { - GOV_COMPANY("国企"), + GOV_COMPANY("国有企业"), - PARTY_GOV("党政"), + PARTY_GOV("党政领域"), - INDUSTRY("行业"); + INDUSTRY("重点行业"); private final String name; diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java b/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java index f3367ef..4829307 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/external/model/enumeration/MhUnitTypeEnum.java @@ -28,8 +28,8 @@ public enum MhUnitTypeEnum { DEPT("D", "部门"), OFFICE("O", "科室"), SASAC("G", "国资委"), - TWO_GOV_COMPANY("C", "一级国企"), - ONE_GOV_COMPANY("E", "二级国企"), + ONE_GOV_COMPANY("C", "一级国企"), + TWO_GOV_COMPANY("E", "二级国企"), KEY_INDUSTRY("K", "重点行业"), INDUSTRY_MANAGE_DEPT("Z", "行业主管部门"), INDUSTRY_COMPANY_UNIT("Q", "行业企事业单位"); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/gov/manage/GovProjectCollectionManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/gov/manage/GovProjectCollectionManage.java index 4e06366..9765fc7 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/gov/manage/GovProjectCollectionManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/gov/manage/GovProjectCollectionManage.java @@ -188,12 +188,6 @@ public class GovProjectCollectionManage { .le(Objects.nonNull(req.getCreateOnMax()), GovBizProjectBaseinfo::getTongTime, req.getCreateOnMax()) .eq(StringUtils.isNotBlank(req.getProjectType()), GovBizProjectBaseinfo::getBaseProjType, req.getProjectType()) .in(CollUtil.isNotEmpty(req.getProjectCodes()), GovBizProjectBaseinfo::getBaseProjId, req.getProjectCodes()) - .in(Objects.nonNull(req.getOldProjectType()) && ProjectTypeEnum.BUILD.getCode().equals(req.getOldProjectType()), - GovBizProjectBaseinfo::getBaseProjType, Lists.newArrayList(ProjectTypeNewEnum.FIRST_BUILD.getCode(), - ProjectTypeNewEnum.SJ_BUILD.getCode(), ProjectTypeNewEnum.SZ_BUILD.getCode())) - .in(Objects.nonNull(req.getOldProjectType()) && ProjectTypeEnum.DEV_OPS.getCode().equals(req.getOldProjectType()), - GovBizProjectBaseinfo::getBaseProjType, Lists.newArrayList(ProjectTypeNewEnum.NEW_OPERA.getCode(), - ProjectTypeNewEnum.XU_OPERA.getCode())) .eq(GovBizProjectBaseinfo::getDeleted, Boolean.FALSE) .orderByDesc(GovBizProjectBaseinfo::getBizTime); baseinfoService.page(page, wrapper); @@ -306,12 +300,6 @@ public class GovProjectCollectionManage { .gt(Objects.nonNull(req.getCreateOnMin()), GovBizProjectDraft::getTongTime, req.getCreateOnMin()) .le(Objects.nonNull(req.getCreateOnMax()), GovBizProjectDraft::getTongTime, req.getCreateOnMax()) .eq(StringUtils.isNotBlank(req.getProjectType()), GovBizProjectDraft::getBaseProjType, req.getProjectType()) - .in(Objects.nonNull(req.getOldProjectType()) && ProjectTypeEnum.BUILD.getCode().equals(req.getOldProjectType()), - GovBizProjectDraft::getBaseProjType, Lists.newArrayList(ProjectTypeNewEnum.FIRST_BUILD.getCode(), - ProjectTypeNewEnum.SJ_BUILD.getCode(), ProjectTypeNewEnum.SZ_BUILD.getCode())) - .in(Objects.nonNull(req.getOldProjectType()) && ProjectTypeEnum.DEV_OPS.getCode().equals(req.getOldProjectType()), - GovBizProjectDraft::getBaseProjType, Lists.newArrayList(ProjectTypeNewEnum.NEW_OPERA.getCode(), - ProjectTypeNewEnum.XU_OPERA.getCode())) .eq(GovBizProjectDraft::getDeleted, Boolean.FALSE) .eq(GovBizProjectDraft::getCreateId, user.getUserId()) .orderByDesc(GovBizProjectDraft::getBizTime); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/converter/ApplicationConverter.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/converter/ApplicationConverter.java index 1067da5..7690d89 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/converter/ApplicationConverter.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/converter/ApplicationConverter.java @@ -87,10 +87,10 @@ public class ApplicationConverter { if(Lists.newArrayList(ProjectTypeNewEnum.FIRST_BUILD.getCode(), ProjectTypeNewEnum.SJ_BUILD.getCode(),ProjectTypeNewEnum.SZ_BUILD.getCode()).contains(projectType)){ - return ProjectTypeEnum.BUILD.getCode(); + return ProjectTypeEnum.RECONSTRUCTION.getCode(); }else if(Lists.newArrayList(ProjectTypeNewEnum.NEW_OPERA.getCode(), ProjectTypeNewEnum.XU_OPERA.getCode()).contains(projectType)){ - return ProjectTypeEnum.DEV_OPS.getCode(); + return ProjectTypeEnum.COMPREHENSIVE_INTEGRATION.getCode(); } return null; } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java index 4f0d478..51bee1e 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java @@ -31,6 +31,7 @@ import com.hz.pm.api.projectdeclared.model.vo.ProjectDraftVO; import com.hz.pm.api.projectdeclared.service.IProjectDraftService; import com.hz.pm.api.projectlib.helper.ProjectHelper; import com.hz.pm.api.projectlib.manage.ProjectLibManage; +import com.hz.pm.api.projectlib.model.dto.GovSystemReplaceInfoDTO; import com.hz.pm.api.projectlib.model.dto.ProjectDTO; import com.hz.pm.api.projectlib.model.dto.ProjectPaymentPlanDTO; import com.hz.pm.api.projectlib.model.entity.Project; @@ -304,6 +305,9 @@ public class DeclaredProjectManage { if (StrUtil.isNotBlank(draft.getDynamicForm())) { vo.setDynamicForm(JSON.parseObject(draft.getDynamicForm(), Map.class)); } + if (StrUtil.isNotBlank(draft.getGovSystemReplaceInfos())) { + vo.setSystemReplaceInfos(JSONUtil.toList(draft.getGovSystemReplaceInfos(), GovSystemReplaceInfoDTO.class)); + } return vo; } @@ -344,6 +348,9 @@ public class DeclaredProjectManage { draft.setCreateOn(LocalDateTime.now()); } } + if (CollUtil.isNotEmpty(projectInfo.getSystemReplaceInfos())) { + draft.setGovSystemReplaceInfos(JSONUtil.toJsonStr(projectInfo.getSystemReplaceInfos())); + } draft.setDraftType(draftType.getCode()); draft.setUpdateOn(LocalDateTime.now()); draft.setUserId(user.getUserIdStr()); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/ProjectDraft.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/ProjectDraft.java index b93acc9..2ed729d 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/ProjectDraft.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/ProjectDraft.java @@ -358,4 +358,6 @@ public class ProjectDraft implements Serializable { @ApiModelProperty("暂存类型:1 项目申报、2 立项备案") private Integer draftType; + private String govSystemReplaceInfos; + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/vo/ProjectDraftVO.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/vo/ProjectDraftVO.java index e7a9011..0f30616 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/vo/ProjectDraftVO.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/vo/ProjectDraftVO.java @@ -3,6 +3,7 @@ package com.hz.pm.api.projectdeclared.model.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.hz.pm.api.common.compare.Compare; +import com.hz.pm.api.projectlib.model.dto.GovSystemReplaceInfoDTO; import com.hz.pm.api.projectlib.model.dto.ProjectPaymentPlanDTO; import com.hz.pm.api.projectlib.model.entity.ProjectApplication; import io.swagger.annotations.ApiModel; @@ -26,14 +27,12 @@ import java.util.Map; * @author zpf * @since 2023-02-06 */ -@ApiModel(value = "NdProjectDraft对象", description = "") +@ApiModel(value = "NdProjectDraft对象") @Data @Builder @NoArgsConstructor @AllArgsConstructor -public class ProjectDraftVO implements Serializable { - - private static final long serialVersionUID = 1L; +public class ProjectDraftVO { @ApiModelProperty("应用ID") @TableId(type = IdType.AUTO) @@ -382,4 +381,7 @@ public class ProjectDraftVO implements Serializable { @ApiModelProperty("可研批复文件") private String baseResearchReportApprovalFile; + @ApiModelProperty("政务系统改造情况") + private List systemReplaceInfos; + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/controller/NdProjectPaymentPlanController.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/controller/NdProjectPaymentPlanController.java deleted file mode 100644 index 9baaacd..0000000 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/controller/NdProjectPaymentPlanController.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.hz.pm.api.projectlib.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.stereotype.Controller; - -/** - *

- * 前端控制器 - *

- * - * @author WendyYang - * @since 2024-02-21 - */ -@Controller -@RequestMapping("/api.projectlib/ndProjectPaymentPlan") -public class NdProjectPaymentPlanController { - -} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/entity/ProjectGovSystemReplaceInfos.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/entity/ProjectGovSystemReplaceInfos.java new file mode 100644 index 0000000..5354cff --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/entity/ProjectGovSystemReplaceInfos.java @@ -0,0 +1,52 @@ +package com.hz.pm.api.projectlib.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.models.auth.In; +import lombok.Data; + +/** + *

+ * 政务信息系统改造情况 + *

+ * + * @author WendyYang + * @since 2024-02-29 + */ +@Data +@TableName("ND_PROJECT_GOV_SYSTEM_REPLACE_INFOS") +@ApiModel(value = "NdProjectGovSystemReplaceInfos对象") +public class ProjectGovSystemReplaceInfos implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("替代前系统") + private String sourceSystem; + + @ApiModelProperty("替代后系统") + private String targetSystem; + + @ApiModelProperty("替代类型") + private Integer replaceType; + + @ApiModelProperty("项目ID") + private Long projectId; + + @ApiModelProperty("批次号") + private Integer batchNo; + + @TableField(fill = FieldFill.INSERT) + private Long createBy; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createOn; + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectLibManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectLibManage.java index 2ce228c..a0c2d55 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectLibManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ProjectLibManage.java @@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -49,9 +50,11 @@ import com.hz.pm.api.projectdeclared.service.IOperationService; import com.hz.pm.api.projectdeclared.service.IPreInsAcceptancePersonService; import com.hz.pm.api.projectdeclared.service.IPurchaseService; import com.hz.pm.api.projectdeclared.utils.GenerateProjectCodeUtil; +import com.hz.pm.api.projectlib.entity.ProjectGovSystemReplaceInfos; import com.hz.pm.api.projectlib.handle.ProcessExecuteChainHandle; import com.hz.pm.api.projectlib.helper.ProjectHelper; import com.hz.pm.api.projectlib.model.constant.ProjectConstant; +import com.hz.pm.api.projectlib.model.dto.GovSystemReplaceInfoDTO; import com.hz.pm.api.projectlib.model.dto.ProjectDTO; import com.hz.pm.api.projectlib.model.dto.ProjectPaymentPlanDTO; import com.hz.pm.api.projectlib.model.entity.*; @@ -142,6 +145,7 @@ public class ProjectLibManage { private final UserInfoHelper userInfoHelper; private final IExpertReviewService expertReviewService; private final ConstructionManage constructionManage; + private final IProjectGovSystemReplaceInfosService projectGovSystemReplaceInfosService; public PageVo projectLibList(ProjectListReq req) { LambdaQueryWrapper query = ProjectHelper.projectQuery(req); @@ -649,6 +653,36 @@ public class ProjectLibManage { return project == null ? null : getProjectDetailLogic(project); } + /** + * 获取政务信息系统改造情况 + * + * @param projectId \ + * @return \ + */ + private List getGovSystemReplaceInfos(Long projectId) { + Wrapper query = Wrappers.lambdaQuery(ProjectGovSystemReplaceInfos.class) + .eq(ProjectGovSystemReplaceInfos::getProjectId, projectId) + .orderByAsc(ProjectGovSystemReplaceInfos::getId) + .orderByAsc(ProjectGovSystemReplaceInfos::getBatchNo); + List govSystemReplaceInfos = projectGovSystemReplaceInfosService.list(query); + if (govSystemReplaceInfos.isEmpty()) { + return Collections.emptyList(); + } + Map> replaceInfoGroup = CollUtils.group(govSystemReplaceInfos, ProjectGovSystemReplaceInfos::getBatchNo); + return replaceInfoGroup.entrySet().stream() + .sorted(Comparator.comparingInt(Map.Entry::getKey)) + .map(w -> { + List currBatchValues = w.getValue(); + ProjectGovSystemReplaceInfos firstReplaceInfo = currBatchValues.get(0); + GovSystemReplaceInfoDTO replaceInfo = new GovSystemReplaceInfoDTO(); + replaceInfo.setReplaceType(firstReplaceInfo.getReplaceType()); + replaceInfo.setTargetSystemName(firstReplaceInfo.getTargetSystem()); + String systemNames = CollUtils.joinByComma(currBatchValues, ProjectGovSystemReplaceInfos::getSourceSystem); + replaceInfo.setTargetSystemName(systemNames); + return replaceInfo; + }).collect(Collectors.toList()); + } + private ProjectDetailVO getProjectDetailLogic(Project project) { ProjectDetailVO vo = new ProjectDetailVO(); BeanUtils.copyProperties(project, vo); @@ -665,7 +699,7 @@ public class ProjectLibManage { Map> coreBizMap = CollUtils.group(coreBizs, ProjectCoreBusinessIndicators::getApplicationId); vo.setProjectApplications(CollUtils.convert(applications, app -> ProjectHelper.convertVOWithMap(app, coreBizMap))); } - + vo.setSystemReplaceInfos(getGovSystemReplaceInfos(project.getId())); //审批信息 ProcessDetailReq req = new ProcessDetailReq(); req.setInstanceId(project.getInstCode()); @@ -854,6 +888,7 @@ public class ProjectLibManage { if (projectService.save(project)) { saveApplication(projectDto, project, null); savePaymentPlans(project, projectDto.getPaymentPlanList()); + saveGovSystemReplaceInfos(project, projectDto.getSystemReplaceInfos()); } } else { //否则是重新提交的 新生成一个新版本的项目 @@ -967,8 +1002,8 @@ public class ProjectLibManage { */ public Project newProjectWithVersion(ProjectDTO projectDto, Boolean isConstruct) { Project oldProject = projectService.getById(projectDto.getId()); + Assert.notNull(oldProject, "项目不存在!"); Project project = new Project(); - VUtils.isTrue(Objects.isNull(oldProject)).throwMessage("项目不存在!"); BeanUtil.copyProperties(oldProject, project, CopyOptions.create() .setIgnoreError(Boolean.TRUE).setIgnoreNullValue(Boolean.TRUE)); BeanUtil.copyProperties(projectDto, project, CopyOptions.create() @@ -986,9 +1021,30 @@ public class ProjectLibManage { projectService.reverseNewest(project.getProjectCode(), project.getId()); saveApplication(projectDto, project, isConstruct); savePaymentPlans(project, projectDto.getPaymentPlanList()); + saveGovSystemReplaceInfos(project, projectDto.getSystemReplaceInfos()); return project; } + private void saveGovSystemReplaceInfos(Project project, List govSystemReplaceInfos) { + if (CollUtil.isEmpty(govSystemReplaceInfos)) { + return; + } + List replaceInfos = new ArrayList<>(); + for (int i = 0; i < govSystemReplaceInfos.size(); i++) { + GovSystemReplaceInfoDTO curr = govSystemReplaceInfos.get(i); + for (String systemName : curr.getSourceSystemNames()) { + ProjectGovSystemReplaceInfos replaceInfo = new ProjectGovSystemReplaceInfos(); + replaceInfo.setProjectId(project.getId()); + replaceInfo.setReplaceType(curr.getReplaceType()); + replaceInfo.setSourceSystem(systemName); + replaceInfo.setTargetSystem(curr.getTargetSystemName()); + replaceInfo.setReplaceType(i + 1); + replaceInfos.add(replaceInfo); + } + } + projectGovSystemReplaceInfosService.saveBatch(replaceInfos); + } + public Project saveProjectWithVersionAndStatus(ProjectDTO projectDto, Integer stageCode, Integer statusCode, Boolean isConstruct) { Project oldProject = projectService.getById(projectDto.getId()); Project project = new Project(); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.java new file mode 100644 index 0000000..35798b4 --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.java @@ -0,0 +1,16 @@ +package com.hz.pm.api.projectlib.mapper; + +import com.hz.pm.api.projectlib.entity.ProjectGovSystemReplaceInfos; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author WendyYang + * @since 2024-02-29 + */ +public interface ProjectGovSystemReplaceInfosMapper extends BaseMapper { + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.xml b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.xml new file mode 100644 index 0000000..1b6e9ea --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/mapper/ProjectGovSystemReplaceInfosMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/GovSystemReplaceInfoDTO.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/GovSystemReplaceInfoDTO.java new file mode 100644 index 0000000..f5aaeca --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/GovSystemReplaceInfoDTO.java @@ -0,0 +1,28 @@ +package com.hz.pm.api.projectlib.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + *

+ * GovSystemReplaceInfoDTO + *

+ * + * @author WendyYang + * @since 11:49 2024/2/29 + */ +@Data +public class GovSystemReplaceInfoDTO { + + @ApiModelProperty("替代前系统名称") + private List sourceSystemNames; + + @ApiModelProperty("被替代系统名称") + private String targetSystemName; + + @ApiModelProperty("替代方式") + private Integer replaceType; + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/ProjectDTO.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/ProjectDTO.java index deadb2e..7330826 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/ProjectDTO.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/dto/ProjectDTO.java @@ -14,7 +14,7 @@ import java.util.Map; /** *

- * + * 项目信息参数类 *

* * @author zpf @@ -22,9 +22,7 @@ import java.util.Map; */ @Data @ApiModel(value = "NdProjectDto") -public class ProjectDTO implements Serializable { - - private static final long serialVersionUID = 1L; +public class ProjectDTO { @ApiModelProperty("主键") private Long id; @@ -363,4 +361,8 @@ public class ProjectDTO implements Serializable { @ApiModelProperty("立项依据证明材料") private String baseProjBasisFile; + + @ApiModelProperty("政务信息系统替代情况") + private List systemReplaceInfos; + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/GovSystemReplaceTypeEnum.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/GovSystemReplaceTypeEnum.java new file mode 100644 index 0000000..0808f71 --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/GovSystemReplaceTypeEnum.java @@ -0,0 +1,50 @@ +package com.hz.pm.api.projectlib.model.enumeration; + +import com.hz.pm.api.common.util.StrUtils; +import io.swagger.models.auth.In; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; + +import java.util.Arrays; +import java.util.Optional; + +/** + *

+ * GovSystemReplaceTypeEnum + *

+ * + * @author WendyYang + * @since 12:01 2024/2/29 + */ +@Getter +@AllArgsConstructor +public enum GovSystemReplaceTypeEnum { + + // 综合集成、改造提升、基础设施、统建应用、新建、暂缓 + + COMPREHENSIVE_INTEGRATION("综合集成", 1), + RECONSTRUCTION("改造提升", 2), + INFRASTRUCTURE("基础设施", 3), + UNIFIED_CONSTRUCTION_APPLICATION("统建应用", 4), + NEW_BUILT("新建", 5), + SUSPEND("暂缓", 6); + + private final String val; + + private final Integer code; + + + public static Optional get(Integer code) { + return Arrays.stream(values()) + .filter(w -> w.getCode().equals(code)) + .findFirst(); + } + + public static String getVal(Integer code) { + return get(code) + .flatMap(w -> Optional.of(w.getVal())) + .orElse(StrUtils.EMPTY); + } + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/ProjectTypeEnum.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/ProjectTypeEnum.java index eec56ac..2001d2f 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/ProjectTypeEnum.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/enumeration/ProjectTypeEnum.java @@ -19,14 +19,13 @@ import java.util.Objects; @AllArgsConstructor @NoArgsConstructor public enum ProjectTypeEnum { - /** - * 项目类型 - */ - BUILD(1, "建设"), - DEV_OPS(2, "运维"); - private Integer code; + RECONSTRUCTION("改造提升", 1), + COMPREHENSIVE_INTEGRATION("综合集成", 2), + NEW_BUILT("新增", 3); + private String desc; + private Integer code; public static String getDesc(Integer code) { if (Objects.isNull(code)) { diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/vo/ProjectDetailVO.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/vo/ProjectDetailVO.java index 5e99d88..154a9e4 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/vo/ProjectDetailVO.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/model/vo/ProjectDetailVO.java @@ -6,7 +6,8 @@ import com.alibaba.fastjson.annotation.JSONField; import com.hz.pm.api.common.compare.Compare; import com.hz.pm.api.dashboard.model.vo.ProtraitProjectOutputVO; import com.hz.pm.api.portrait.model.vo.TagVO; -import com.hz.pm.api.projectdeclared.model.vo.*; +import com.hz.pm.api.projectdeclared.model.vo.PurchaseFullInfoVO; +import com.hz.pm.api.projectlib.model.dto.GovSystemReplaceInfoDTO; import com.hz.pm.api.projectlib.model.dto.ProjectPaymentPlanDTO; import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum; import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum; @@ -551,4 +552,7 @@ public class ProjectDetailVO { @ApiModelProperty("年度支付计划") private List annualPaymentPlans; + @ApiModelProperty("政务信息系统改造情况") + private List systemReplaceInfos; + } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/IProjectGovSystemReplaceInfosService.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/IProjectGovSystemReplaceInfosService.java new file mode 100644 index 0000000..5520551 --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/IProjectGovSystemReplaceInfosService.java @@ -0,0 +1,16 @@ +package com.hz.pm.api.projectlib.service; + +import com.hz.pm.api.projectlib.entity.ProjectGovSystemReplaceInfos; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author WendyYang + * @since 2024-02-29 + */ +public interface IProjectGovSystemReplaceInfosService extends IService { + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/impl/ProjectGovSystemReplaceInfosServiceImpl.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/impl/ProjectGovSystemReplaceInfosServiceImpl.java new file mode 100644 index 0000000..c266873 --- /dev/null +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectlib/service/impl/ProjectGovSystemReplaceInfosServiceImpl.java @@ -0,0 +1,20 @@ +package com.hz.pm.api.projectlib.service.impl; + +import com.hz.pm.api.projectlib.entity.ProjectGovSystemReplaceInfos; +import com.hz.pm.api.projectlib.mapper.ProjectGovSystemReplaceInfosMapper; +import com.hz.pm.api.projectlib.service.IProjectGovSystemReplaceInfosService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author WendyYang + * @since 2024-02-29 + */ +@Service +public class ProjectGovSystemReplaceInfosServiceImpl extends ServiceImpl implements IProjectGovSystemReplaceInfosService { + +} diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java index 1c72106..4dab607 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/user/manage/MhUnitManage.java @@ -1,10 +1,12 @@ package com.hz.pm.api.user.manage; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hz.pm.api.common.util.StrUtils; +import com.hz.pm.api.external.model.enumeration.MhUnitStripEnum; import com.hz.pm.api.external.model.enumeration.MhUnitTypeEnum; import com.hz.pm.api.user.helper.MhUnitCache; import com.hz.pm.api.user.model.dto.MhUnitTreeDTO; diff --git a/hz-pm-gen/src/main/java/com/hz/pm/gen/config/CodeGen.java b/hz-pm-gen/src/main/java/com/hz/pm/gen/config/CodeGen.java index dded921..601271e 100644 --- a/hz-pm-gen/src/main/java/com/hz/pm/gen/config/CodeGen.java +++ b/hz-pm-gen/src/main/java/com/hz/pm/gen/config/CodeGen.java @@ -55,7 +55,7 @@ public class CodeGen { } public static void main(String[] args) { - generate("WendyYang", "projectlib", PATH_YYD, "nd_project_payment_plan"); + generate("WendyYang", "projectlib", PATH_YYD, "nd_project_gov_system_replace_infos"); } }