| | |
| | | package com.ycl.domain.form; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ycl.common.group.Add; |
| | | import com.ycl.common.group.Update; |
| | | import com.ycl.domain.entity.File; |
| | | import com.ycl.domain.entity.ProjectInfo; |
| | | import com.ycl.system.domain.base.AbsForm; |
| | | 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 org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 项目管理基础信息表表单 |
| | |
| | | @ApiModelProperty("项目名称") |
| | | private String projectName; |
| | | |
| | | @NotBlank(message = "项目代码不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("文件") |
| | | private List<File> fileList; |
| | | |
| | | @ApiModelProperty("项目代码") |
| | | private String projectCode; |
| | | |
| | | @NotBlank(message = "建设内容不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("建设内容") |
| | | private String content; |
| | | |
| | | @NotBlank(message = "项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)") |
| | | @ApiModelProperty("建设性质") |
| | | private String constructionNature; |
| | | |
| | | @ApiModelProperty("项目类型") |
| | | private String projectType; |
| | | |
| | | @NotBlank(message = "项目状态 (0未开工,1已开工,2已竣工,3暂停)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("项目子类型") |
| | | private String projectSubType; |
| | | |
| | | @ApiModelProperty("项目状态 (0未开工,1已开工,2已竣工,3暂停)") |
| | | private String projectStatus; |
| | | |
| | | @NotBlank(message = "资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)") |
| | | private String fundType; |
| | | private List<String> fundTypeList; |
| | | |
| | | @NotBlank(message = "投资类别(0企业投资,1政府投资,2外商投资,3境外投资)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("投资类别(0企业投资,1政府投资,2外商投资,3境外投资)") |
| | | private String investType; |
| | | |
| | | @NotBlank(message = "项目阶段(0储备规划阶段, 1项目前期阶段, 2实施阶段, 3竣工投用阶段)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("项目阶段(0储备规划阶段, 1项目前期阶段, 2实施阶段, 3竣工投用阶段)") |
| | | @ApiModelProperty("项目阶段(1储备规划阶段, 2项目前期阶段, 3实施阶段, 4竣工投用阶段)") |
| | | private String projectPhase; |
| | | |
| | | @NotBlank(message = "标签不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("标签") |
| | | private String tag; |
| | | |
| | | @NotNull(message = "主管部门(对应审批部门id)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("主管部门(对应审批部门id)") |
| | | private Integer competentDepartment; |
| | | private List<Long> competentDepartmentList; |
| | | |
| | | @NotBlank(message = "行政区域不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("行政区域") |
| | | private String areaCode; |
| | | private String area; |
| | | |
| | | @NotBlank(message = "管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)") |
| | | private String managementCentralization; |
| | | private List<String> managementCentralizationList; |
| | | |
| | | @NotBlank(message = "项目审批类型不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("项目审批类型") |
| | | private String projectApprovalType; |
| | | |
| | | @NotBlank(message = "投资目录(?)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("投资目录(?)") |
| | | private String investmentCatalogue; |
| | | |
| | | @NotBlank(message = "重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)") |
| | | private String importanceType; |
| | | private List<String> importanceTypeList; |
| | | |
| | | @NotBlank(message = "年度投资计划不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("年度投资计划") |
| | | private String year; |
| | | |
| | | @NotNull(message = "年度投资金额不能为空", groups = {Add.class, Update.class}) |
| | | |
| | | |
| | | // @ApiModelProperty("年度投资计划") |
| | | // private String year; |
| | | // |
| | | // @ApiModelProperty("年度投资金额") |
| | | // private BigDecimal yearInvestAmount; |
| | | @ApiModelProperty("年度投资金额") |
| | | private BigDecimal yearInvestAmount; |
| | | private List<ProjectInfoYearPlanForm> yearPlanList; |
| | | |
| | | @NotNull(message = "立项时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("立项时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createProjectTime; |
| | | |
| | | @NotNull(message = "计划开工时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("计划开工时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date planStartTime; |
| | | |
| | | @NotNull(message = "计划竣工时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("计划竣工时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date planCompleteTime; |
| | | |
| | | @NotBlank(message = "中标单位不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("中标单位") |
| | | private String winUnit; |
| | | // @ApiModelProperty("中标单位") |
| | | // private String winUnit; |
| | | // |
| | | // @ApiModelProperty("中标金额") |
| | | // private String winAmount; |
| | | // |
| | | // @ApiModelProperty("中标时间") |
| | | // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | // private Date winTime; |
| | | @ApiModelProperty("中标单位信息") |
| | | private List<ProjectInfoWinUnitForm> winUnitList; |
| | | |
| | | @NotBlank(message = "中标金额不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("中标金额") |
| | | private String winAmount; |
| | | |
| | | @NotNull(message = "中标时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("中标时间") |
| | | private Date winTime; |
| | | |
| | | @NotBlank(message = "详细地址不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("详细地址") |
| | | private String projectAddress; |
| | | |
| | | @NotBlank(message = "经度不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("经度") |
| | | private String longitude; |
| | | |
| | | @NotBlank(message = "纬度不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("纬度") |
| | | private String latitude; |
| | | |
| | | @NotBlank(message = "项目业主单位不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("项目业主单位") |
| | | private String projectOwnerUnit; |
| | | private Long projectOwnerUnit; |
| | | |
| | | @NotBlank(message = "项目联系人不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("是否招商引资项目:0 不是 1 是") |
| | | private String attractInvestment; |
| | | |
| | | @ApiModelProperty("项目联系人") |
| | | private String projectContactPerson; |
| | | |
| | | @NotBlank(message = "联系方式不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("联系方式") |
| | | private String contact; |
| | | |
| | | @NotNull(message = "创建时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("创建时间") |
| | | private Date gmtCreateTime; |
| | | @ApiModelProperty("使用状态") |
| | | private Integer usedStatus; |
| | | |
| | | @NotNull(message = "更新时间不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("更新时间") |
| | | private Date gmtUpdateTime; |
| | | @ApiModelProperty("赋码") |
| | | private String coding; |
| | | |
| | | @NotNull(message = "更新人不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("更新人") |
| | | private Long updateBy; |
| | | @ApiModelProperty("行业主管部门") |
| | | private Long industryCompetentDepartment; |
| | | @ApiModelProperty("行业主管部门联系人") |
| | | private Long industryCompetentDepartmentPerson; |
| | | @ApiModelProperty("行业主管部门联系方式") |
| | | private String departmentPersonPhone; |
| | | |
| | | @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class}) |
| | | @ApiModelProperty("创建人") |
| | | private Long createBy; |
| | | |
| | | private String remark; |
| | | public static ProjectInfo getEntityByForm(@NonNull ProjectInfoForm form, ProjectInfo entity) { |
| | | if(entity == null) { |
| | | entity = new ProjectInfo(); |
| | | } |
| | | BeanUtils.copyProperties(form, entity); |
| | | //审核部门转换 |
| | | List<Long> competentDepartmentList = form.getCompetentDepartmentList(); |
| | | if(!CollectionUtils.isEmpty(competentDepartmentList)){ |
| | | entity.setCompetentDepartment(StringUtils.join(competentDepartmentList, ",")); |
| | | } else { |
| | | entity.setCompetentDepartment(""); |
| | | } |
| | | //资金类型转换 |
| | | List<String> fundTypeList = form.getFundTypeList(); |
| | | if(!CollectionUtils.isEmpty(fundTypeList)){ |
| | | entity.setFundType(StringUtils.join(fundTypeList, ",")); |
| | | } else { |
| | | entity.setFundType(""); |
| | | } |
| | | //重点分类转换 |
| | | List<String> importanceTypeList = form.getImportanceTypeList(); |
| | | if(!CollectionUtils.isEmpty(importanceTypeList)){ |
| | | entity.setImportanceType(StringUtils.join(importanceTypeList, ",")); |
| | | } else { |
| | | entity.setImportanceType(""); |
| | | } |
| | | //管理归口转换 |
| | | List<String> managementCentralizationList = form.getManagementCentralizationList(); |
| | | if(!CollectionUtils.isEmpty(managementCentralizationList)){ |
| | | entity.setManagementCentralization(StringUtils.join(managementCentralizationList, ",")); |
| | | } else { |
| | | entity.setManagementCentralization(""); |
| | | } |
| | | return entity; |
| | | } |
| | | |