package com.securitycontrol.entity.background.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @author：cwchen
 * @date：2024-04-02-13:10
 * @version：1.0
 * @description：单项工程-vo
 */
@Data
public class SignProVo {

    @ApiModelProperty("项目ID")
    private String id;

    @ApiModelProperty("单项工程名称")
    @NotBlank(message = "单项工程名称不能为空", groups = {Query.class})
    @Length(max = 200, message = "单项工程名称字符长度不能超过200", groups = {Query.class})
    private String singleName;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("单项工程编码")
    @NotBlank(message = "单项工程编码不能为空", groups = {Query.class})
    @Length(max = 80, message = "单项工程编码字符长度不能超过80", groups = {Query.class})
    private String signleNo;

    @ApiModelProperty("项目编码")
    @NotBlank(message = "项目编码不能为空", groups = {Query.class})
    @Length(max = 50, message = "项目编码字符长度不能超过50", groups = {Query.class})
    private String proNo;

    @ApiModelProperty("wbs编码")
    @Length(max = 255, message = "wbs编码字符长度不能超过255", groups = {Query.class})
    private String wbsCode;

    @ApiModelProperty("单项工程描述")
    @Length(max = 255, message = "单项工程描述长度不能超过255", groups = {Query.class})
    private String singleDesc;

    @ApiModelProperty("电压等级")
    @Length(max = 32, message = "电压等级长度不能超过32", groups = {Query.class})
    private String volLevel;

    @ApiModelProperty("可研线路长度")
    @Length(max = 32, message = "线路长度字符长度不能超过32", groups = {Query.class})
    private String lineLength;

    @ApiModelProperty("可研变电容量")
    @Length(max = 32, message = "建设规模-线路字符长度不能超过32", groups = {Query.class})
    private String subsCap;

    @ApiModelProperty("单项类型（1：变电；2：线路）")
    @NotBlank(message = "单项类型不能为空", groups = {Query.class})
    @Length(max = 11, message = "单项工程编码字符长度不能超过11", groups = {Query.class})
    private String proType;

    @ApiModelProperty("变电站类型包括:1 土建,2 电气,3 变电")
    @Length(max = 11, message = "变电站类型字符长度不能超过11", groups = {Query.class})
    private String subsType;

    @ApiModelProperty("估算类型")
    private String estimateType;

    @ApiModelProperty("建管单位ID")
    @NotBlank(message = "建管单位不能为空", groups = {Query.class})
    @Length(max = 30, message = "建管单位字符长度不能超过30", groups = {Query.class})
    private String orgId;

    @ApiModelProperty("建管单位名称")
    private String orgName;

    @ApiModelProperty("实际开工时间")
    private String startDate;

    @ApiModelProperty("实际投产时间")
    private String endDate;

    @ApiModelProperty("实际竣工时间")
    private String completeDate;

    @ApiModelProperty("1.新增 2.修改")
    private int type;

    /**
     * 查询条件限制
     */
    public interface Query {
    }
}
