package com.estate.expert.admin.domain.project; import com.estate.expert.admin.domain.common.EntityRef; import com.estate.expert.admin.domain.common.IDtoBase; import com.estate.expert.admin.domain.project.detail.AddressInfo; import com.estate.expert.admin.domain.project.detail.CompanyInfo; import com.estate.expert.admin.domain.project.enums.ProjectType; import com.estate.expert.admin.domain.project.enums.ProjectUsageType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; import java.util.List; /** * DTO for {@link Project} */ @ApiModel("项目") @Builder @Getter @Setter public class ProjectDto implements Serializable, IDtoBase { @ApiModelProperty("项目ID") Integer id; @ApiModelProperty("项目名称") @NotBlank(message = "项目名称不能为空") String name; @ApiModelProperty("项目类型") @NotNull(message = "项目类型不能为空") ProjectType type; @ApiModelProperty("项目用途类型") @NotNull(message = "项目用途类型不能为空") ProjectUsageType usageType; @ApiModelProperty("部门路径") String departmentPath; @ApiModelProperty("部门名称") String departmentName; @ApiModelProperty("客户") @NotNull(message = "客户不能为空") EntityRef client; @ApiModelProperty("施工许可证号") String constructionLicense; @ApiModelProperty("施工许可证文件") List constructionLicenseFiles; @ApiModelProperty("项目编号") String itemCode; @ApiModelProperty("所属分公司") String branchCompany; @ApiModelProperty("施工单位信息") CompanyInfo constructionCompanyInfo; @ApiModelProperty("监理公司信息") CompanyInfo supervisorCompanyInfo; @ApiModelProperty("建设公司信息") CompanyInfo developmentCompanyInfo; @ApiModelProperty("地址") AddressInfo addressInfo; @ApiModelProperty("项目成本") Integer projectCost; @ApiModelProperty("创建者") EntityRef creator; @ApiModelProperty("创建时间") LocalDateTime createTime; @ApiModelProperty("更新时间") LocalDateTime updateTime; @ApiModelProperty("权限信息") String permission; @ApiModelProperty("项目规模") String scale; @ApiModelProperty("状态 1在建 2完成") Integer status; @ApiModelProperty("完成时间") LocalDateTime successTime; }