xiangpei
2025-02-25 c2c9e3b1039c0a5223801759475112c6da9a3a3d
business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
@@ -40,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暂停)")
@@ -52,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;
    /** 标签 */
@@ -66,8 +76,16 @@
    /** 主管部门(对应审批部门id) */
    @ApiModelProperty("主管部门(对应审批部门id)")
    private List<Long> competentDepartmentList;
    private String competentDepartment;
    @ApiModelProperty("主管部门联系人")
    /** 主管部门联系人 */
    private String competentDepartmentPerson;
    @ApiModelProperty("主管部门联系方式")
    /** 主管部门联系方式 */
    private String competentDepartmentPhone;
    /** 行政区域 */
    @ApiModelProperty("行政区域")
    private String area;
@@ -84,15 +102,17 @@
    /** 重点分类  (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")
@@ -108,19 +128,21 @@
    @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("中标时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date winTime;
    private List<ProjectInfoWinUnitVO> winUnitList;
    /** 详细地址 */
    @ApiModelProperty("详细地址")
    private String projectAddress;
@@ -135,7 +157,7 @@
    /** 项目业主单位 */
    @ApiModelProperty("项目业主单位")
    private String projectOwnerUnit;
    private Long projectOwnerUnit;
    /** 项目联系人 */
    @ApiModelProperty("项目联系人")
@@ -157,48 +179,74 @@
    @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;
    private String projectOwnerUnitName;
    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> list = Arrays.stream(competentDepartment.split(","))
                    .map(Long::parseLong)
                    .collect(Collectors.toList());
            vo.setCompetentDepartmentList(list);
        }
        //管理归口转换
        String managementCentralization = entity.getManagementCentralization();
        if(!StringUtils.isBlank(managementCentralization)){
            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) {
        //主管部门转成list
        String competentDepartment = vo.getCompetentDepartment();
        if(!StringUtils.isBlank(competentDepartment)){
            List<Long> list = Arrays.stream(competentDepartment.split(","))
                    .map(Long::parseLong)
                    .collect(Collectors.toList());
            vo.setCompetentDepartmentList(list);
        }
        //管理归口转换
        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(",")));
        }
    }
}