package com.ycl.domain.form;
|
|
import com.ycl.common.group.Add;
|
import com.ycl.common.group.Update;
|
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.springframework.beans.BeanUtils;
|
import org.springframework.lang.NonNull;
|
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
/**
|
* 项目管理基础信息表表单
|
*
|
* @author flq
|
* @since 2024-11-22
|
*/
|
@Data
|
@ApiModel(value = "ProjectInfo表单", description = "项目管理基础信息表表单")
|
public class ProjectInfoForm extends AbsForm {
|
|
@NotBlank(message = "项目名称不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("项目名称")
|
private String projectName;
|
|
@NotBlank(message = "项目代码不能为空", groups = {Add.class, Update.class})
|
@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其他)")
|
private String projectType;
|
|
@NotBlank(message = "项目状态 (0未开工,1已开工,2已竣工,3暂停)不能为空", groups = {Add.class, Update.class})
|
@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;
|
|
@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竣工投用阶段)")
|
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;
|
|
@NotBlank(message = "行政区域不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("行政区域")
|
private String areaCode;
|
|
@NotBlank(message = "管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)")
|
private String managementCentralization;
|
|
@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;
|
|
@NotBlank(message = "年度投资计划不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("年度投资计划")
|
private String year;
|
|
@NotNull(message = "年度投资金额不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("年度投资金额")
|
private BigDecimal yearInvestAmount;
|
|
@NotNull(message = "立项时间不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("立项时间")
|
private Date createProjectTime;
|
|
@NotNull(message = "计划开工时间不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("计划开工时间")
|
private Date planStartTime;
|
|
@NotNull(message = "计划竣工时间不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("计划竣工时间")
|
private Date planCompleteTime;
|
|
@NotBlank(message = "中标单位不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("中标单位")
|
private String winUnit;
|
|
@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;
|
|
@NotBlank(message = "项目联系人不能为空", groups = {Add.class, Update.class})
|
@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;
|
|
@NotNull(message = "更新时间不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("更新时间")
|
private Date gmtUpdateTime;
|
|
@NotNull(message = "更新人不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("更新人")
|
private Long updateBy;
|
|
@NotNull(message = "创建人不能为空", groups = {Add.class, Update.class})
|
@ApiModelProperty("创建人")
|
private Long createBy;
|
|
public static ProjectInfo getEntityByForm(@NonNull ProjectInfoForm form, ProjectInfo entity) {
|
if(entity == null) {
|
entity = new ProjectInfo();
|
}
|
BeanUtils.copyProperties(form, entity);
|
return entity;
|
}
|
|
}
|