zxl
2025-04-02 01c29b4b6cfb1a3223cf9e322f33ead42093e77c
business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
@@ -1,5 +1,7 @@
package com.ycl.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.domain.entity.File;
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.system.domain.base.AbsVo;
import io.swagger.annotations.ApiModel;
@@ -14,6 +16,7 @@
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 项目管理基础信息表展示
@@ -37,9 +40,18 @@
    @ApiModelProperty("建设内容")
    private String content;
    /** 项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他) */
    @ApiModelProperty("项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)")
    @ApiModelProperty("是否招商引资项目:0 不是  1 是")
    private String attractInvestment;
    @ApiModelProperty("建设性质")
    private String constructionNature;
    /** 项目类型 */
    @ApiModelProperty("项目类型")
    private String projectType;
    @ApiModelProperty("项目子类型")
    private String projectSubType;
    /** 项目状态  (0未开工,1已开工,2已竣工,3暂停) */
    @ApiModelProperty("项目状态  (0未开工,1已开工,2已竣工,3暂停)")
@@ -49,12 +61,13 @@
    @ApiModelProperty("资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)")
    private String fundType;
    private List<String> fundTypeList;
    /** 投资类别(0企业投资,1政府投资,2外商投资,3境外投资) */
    @ApiModelProperty("投资类别(0企业投资,1政府投资,2外商投资,3境外投资)")
    private String investType;
    /** 项目阶段(0储备规划阶段,  1项目前期阶段,  2实施阶段,  3竣工投用阶段) */
    @ApiModelProperty("项目阶段(0储备规划阶段,  1项目前期阶段,  2实施阶段,  3竣工投用阶段)")
    /** 项目阶段(1储备规划阶段,  2项目前期阶段,  3实施阶段,  4竣工投用阶段) */
    @ApiModelProperty("项目阶段(1储备规划阶段,  2项目前期阶段,  3实施阶段,  4竣工投用阶段)")
    private String projectPhase;
    /** 标签 */
@@ -63,7 +76,18 @@
    /** 主管部门(对应审批部门id) */
    @ApiModelProperty("主管部门(对应审批部门id)")
    private List<Long> competentDepartmentList;
    private String competentDepartment;
    @ApiModelProperty("主管部门")
    private String competentDepartmentName;
    @ApiModelProperty("主管部门联系人")
    /** 主管部门联系人 */
    private String competentDepartmentPerson;
    @ApiModelProperty("主管部门联系方式")
    /** 主管部门联系方式 */
    private String competentDepartmentPhone;
    /** 行政区域 */
    @ApiModelProperty("行政区域")
@@ -72,7 +96,7 @@
    /** 管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资) */
    @ApiModelProperty("管理归口  (0基本建设(发改),  1更新改造(经信),  2单纯购置(发改),  3信息化(发改),  4其他投资)")
    private List<String> managementCentralizationList;
    private String managementCentralization;
    /** 项目审批类型 */
    @ApiModelProperty("项目审批类型")
    private String projectApprovalType;
@@ -81,39 +105,47 @@
    /** 重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目) */
    @ApiModelProperty("重点分类  (0省重点项目,  1遂宁市重点项目,  2.射洪市重点项目,  3.一般项目)")
    private String importanceType;
    /** 年度投资计划 */
    @ApiModelProperty("年度投资计划")
    private String year;
    private List<String> importanceTypeList;
//    /** 年度投资计划 */
//    @ApiModelProperty("年度投资计划")
//    private String year;
//
//    /** 年度投资金额 */
//    @ApiModelProperty("年度投资金额")
//    private BigDecimal yearInvestAmount;
    /** 年度投资金额 */
    @ApiModelProperty("年度投资金额")
    private BigDecimal yearInvestAmount;
    private List<ProjectInfoYearPlanVO> yearPlanList;
    /** 立项时间 */
    @ApiModelProperty("立项时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createProjectTime;
    /** 计划开工时间 */
    @ApiModelProperty("计划开工时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planStartTime;
    /** 计划竣工时间 */
    @ApiModelProperty("计划竣工时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planCompleteTime;
//    /** 中标单位 */
//    @ApiModelProperty("中标单位")
//    private String winUnit;
//
//    /** 中标金额 */
//    @ApiModelProperty("中标金额")
//    private String winAmount;
//
//    /** 中标时间 */
//    @ApiModelProperty("中标时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private Date winTime;
    /** 中标单位 */
    @ApiModelProperty("中标单位")
    private String winUnit;
    /** 中标金额 */
    @ApiModelProperty("中标金额")
    private String winAmount;
    /** 中标时间 */
    @ApiModelProperty("中标时间")
    private Date winTime;
    private List<ProjectInfoWinUnitVO> winUnitList;
    /** 详细地址 */
    @ApiModelProperty("详细地址")
    private String projectAddress;
@@ -128,7 +160,10 @@
    /** 项目业主单位 */
    @ApiModelProperty("项目业主单位")
    private String projectOwnerUnit;
    private Long projectOwnerUnit;
    @ApiModelProperty("项目业主单位")
    private String projectOwnerUnitName;
    /** 项目联系人 */
    @ApiModelProperty("项目联系人")
@@ -138,14 +173,6 @@
    @ApiModelProperty("联系方式")
    private String contact;
    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date gmtCreateTime;
    /** 更新时间 */
    @ApiModelProperty("更新时间")
    private Date gmtUpdateTime;
    /** 更新人 */
    @ApiModelProperty("更新人")
    private Long updateBy;
@@ -154,28 +181,78 @@
    @ApiModelProperty("创建人")
    private Long createBy;
    // TODO 关联其它几张表
    /** 状态码 */
    @ApiModelProperty("状态码")
    private String projectColorCode;
    @ApiModelProperty("赋码")
    private String coding;
    @ApiModelProperty("文件")
    private List<File> fileList;
    @ApiModelProperty("行业主管部门")
    private Long industryCompetentDepartment;
    @ApiModelProperty("行业主管部门联系人")
    private String industryCompetentDepartmentPerson;
    @ApiModelProperty("行业主管部门联系方式")
    private String departmentPersonPhone;
    private Integer usedStatus;
    private String remark;
    private Long processId;
    private ProjectInvestmentInfoVO projectInvestmentInfo;
    private ProjectInvestmentFundingVO projectInvestmentFunding;
    private ProjectUnitRegistrationInfoVO projectUnitRegistrationInfo;
    private ProjectInvestmentPolicyComplianceVO projectInvestmentPolicyCompliance;
    private Boolean auditRole;
    public static ProjectInfoVO getVoByEntity(@NonNull ProjectInfo entity, ProjectInfoVO vo) {
        if(vo == null) {
            vo = new ProjectInfoVO();
        }
        BeanUtils.copyProperties(entity, vo);
        //主管部门转成list
        String competentDepartment = entity.getCompetentDepartment();
        if(!StringUtils.isBlank(competentDepartment)){
            List<Long> competentDepartmentList = new ArrayList<>();
            String[] split = competentDepartment.split(",");
            for (String s : split) {
                Long.parseLong(s);
            }
        }
        //管理归口转换
        String managementCentralization = entity.getManagementCentralization();
        if(!StringUtils.isBlank(managementCentralization)){
            Arrays.asList(managementCentralization.split(","));
            vo.setManagementCentralizationList(Arrays.asList(managementCentralization.split(",")));
        }
        //
        //分类类型转换
        String importanceType = entity.getImportanceType();
        if (!StringUtils.isBlank(importanceType)) {
            vo.setImportanceTypeList(Arrays.asList(importanceType.split(",")));
        }
        //资金类型
        String fundTypeList = entity.getFundType();
        if (!StringUtils.isBlank(fundTypeList)) {
            vo.setFundTypeList(Arrays.asList(fundTypeList.split(",")));
        }
        return vo;
    }
    //转换字符串集合字段
    public static void transform(@NonNull ProjectInfoVO vo) {
        //管理归口转换
        String managementCentralization = vo.getManagementCentralization();
        if(!StringUtils.isBlank(managementCentralization)){
            vo.setManagementCentralizationList(Arrays.asList(managementCentralization.split(",")));
        }
        //分类类型转换
        String importanceType = vo.getImportanceType();
        if (!StringUtils.isBlank(importanceType)) {
            vo.setImportanceTypeList(Arrays.asList(importanceType.split(",")));
        }
        //资金类型
        String fundTypeList = vo.getFundType();
        if (!StringUtils.isBlank(fundTypeList)) {
            vo.setFundTypeList(Arrays.asList(fundTypeList.split(",")));
        }
    }
}