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;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.lang.NonNull;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 项目管理基础信息表展示
|
*
|
* @author flq
|
* @since 2024-11-22
|
*/
|
@Data
|
@ApiModel(value = "项目管理基础信息表响应数据", description = "项目管理基础信息表响应数据")
|
public class ProjectInfoVO extends AbsVo {
|
|
/** 项目名称 */
|
@ApiModelProperty("项目名称")
|
private String projectName;
|
|
/** 项目代码 */
|
@ApiModelProperty("项目代码")
|
private String projectCode;
|
|
/** 建设内容 */
|
@ApiModelProperty("建设内容")
|
private String content;
|
|
@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暂停)")
|
private String projectStatus;
|
|
/** 资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债) */
|
@ApiModelProperty("资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)")
|
private String fundType;
|
|
private List<String> fundTypeList;
|
/** 投资类别(0企业投资,1政府投资,2外商投资,3境外投资) */
|
@ApiModelProperty("投资类别(0企业投资,1政府投资,2外商投资,3境外投资)")
|
private String investType;
|
|
/** 项目阶段(1储备规划阶段, 2项目前期阶段, 3实施阶段, 4竣工投用阶段) */
|
@ApiModelProperty("项目阶段(1储备规划阶段, 2项目前期阶段, 3实施阶段, 4竣工投用阶段)")
|
private String projectPhase;
|
|
/** 标签 */
|
@ApiModelProperty("标签")
|
private String tag;
|
|
/** 主管部门(对应审批部门id) */
|
@ApiModelProperty("主管部门(对应审批部门id)")
|
private String competentDepartment;
|
|
@ApiModelProperty("主管部门")
|
private String competentDepartmentName;
|
|
@ApiModelProperty("主管部门联系人")
|
/** 主管部门联系人 */
|
private String competentDepartmentPerson;
|
|
@ApiModelProperty("主管部门联系方式")
|
/** 主管部门联系方式 */
|
private String competentDepartmentPhone;
|
|
/** 行政区域 */
|
@ApiModelProperty("行政区域")
|
private String area;
|
|
/** 管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资) */
|
@ApiModelProperty("管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)")
|
private List<String> managementCentralizationList;
|
private String managementCentralization;
|
/** 项目审批类型 */
|
@ApiModelProperty("项目审批类型")
|
private String projectApprovalType;
|
|
|
/** 重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目) */
|
@ApiModelProperty("重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)")
|
private String importanceType;
|
private List<String> importanceTypeList;
|
// /** 年度投资计划 */
|
// @ApiModelProperty("年度投资计划")
|
// private String year;
|
//
|
// /** 年度投资金额 */
|
// @ApiModelProperty("年度投资金额")
|
// private BigDecimal yearInvestAmount;
|
/** 年度投资金额 */
|
@ApiModelProperty("年度投资金额")
|
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 List<ProjectInfoWinUnitVO> winUnitList;
|
/** 详细地址 */
|
@ApiModelProperty("详细地址")
|
private String projectAddress;
|
|
/** 经度 */
|
@ApiModelProperty("经度")
|
private String longitude;
|
|
/** 纬度 */
|
@ApiModelProperty("纬度")
|
private String latitude;
|
|
/** 项目业主单位 */
|
@ApiModelProperty("项目业主单位")
|
private Long projectOwnerUnit;
|
|
@ApiModelProperty("项目业主单位")
|
private String projectOwnerUnitName;
|
|
/** 项目联系人 */
|
@ApiModelProperty("项目联系人")
|
private String projectContactPerson;
|
|
/** 联系方式 */
|
@ApiModelProperty("联系方式")
|
private String contact;
|
|
/** 更新人 */
|
@ApiModelProperty("更新人")
|
private Long updateBy;
|
|
/** 创建人 */
|
@ApiModelProperty("创建人")
|
private Long createBy;
|
|
/** 状态码 */
|
@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);
|
|
//管理归口转换
|
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) {
|
//管理归口转换
|
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(",")));
|
}
|
|
}
|
}
|