package com.ycl.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.common.group.Update; import com.ycl.common.group.Add; import com.ycl.system.domain.base.AbsForm; import com.ycl.domain.entity.ProjectInvestmentInfo; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 投资项目基础信息表表单 * * @author flq * @since 2024-11-27 */ @Data @ApiModel(value = "ProjectInvestmentInfo表单", description = "投资项目基础信息表表单") public class ProjectInvestmentInfoForm extends AbsForm { @NotNull(message = "项目id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("项目id") private Long projectId; @ApiModelProperty("建设地点是否跨域") private Integer beCrossRegion; @ApiModelProperty("项目建设地点") private String constructionLocation; @ApiModelProperty("建设详细地址") private String detailedAddress; @ApiModelProperty("是否是补码项目") private Integer beCompensationProject; @ApiModelProperty("补码原因") private String compensationReason; @ApiModelProperty("计划开工时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date plannedStartDate; @ApiModelProperty("拟建成时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date expectedCompletionDate; @ApiModelProperty("国标行业分类") private String nationalIndustryClassification; @ApiModelProperty("所属行业分类") private String industryClassification; @ApiModelProperty("项目建设性质") private String projectNature; @ApiModelProperty("项目属性") private String projectAttribute; @ApiModelProperty("是否使用土地") private Integer useEarth; @ApiModelProperty("主要建设内容及规模") private String contentScale; @ApiModelProperty("建管平台代码") private String code; @ApiModelProperty("创建人") private Long createBy; @ApiModelProperty("更新人") private Long updateBy; public static ProjectInvestmentInfo getEntityByForm(@NonNull ProjectInvestmentInfoForm form, ProjectInvestmentInfo entity) { if(entity == null) { entity = new ProjectInvestmentInfo(); } BeanUtils.copyProperties(form, entity); return entity; } }