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-01-19:56
 * @version：1.0
 * @description：工程项目-vo
 */
@Data
public class ProjectVo {

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

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

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

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

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

    @ApiModelProperty("电压等级")
    private String vlotage;

    @ApiModelProperty("工程类型")
    private String proType;

    @ApiModelProperty("建设性质")
    private String constructionNature;

    @ApiModelProperty("计划性质")
    private String planNature;

    @ApiModelProperty("建设规模-线路")
    @Length(max = 32, message = "建设规模-线路字符长度不能超过32", groups = {Query.class})
    @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "建设规模-线路为大于0的数字",groups = {Query.class})
    private String line;

    @ApiModelProperty("建设规模-变电")
    @Length(max = 32, message = "建设规模-变电字符长度不能超过32", groups = {Query.class})
    @Pattern(regexp = "(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))",message = "建设规模-变电为大于0的数字",groups = {Query.class})
    private String power;

    @ApiModelProperty("计划开始时间")
    @NotBlank(message = "计划开始时间不能为空", groups = {Query.class})
    @Length(max = 32, message = "计划开始时间字符长度不能超过32", groups = {Query.class})
    private String planStartTime;

    @ApiModelProperty("计划结束时间")
    @NotBlank(message = "计划结束时间不能为空", groups = {Query.class})
    @Length(max = 32, message = "计划结束时间字符长度不能超过32", groups = {Query.class})
    private String planEndTime;

    @ApiModelProperty("实际开始时间")
    private String startTime;

    @ApiModelProperty("实际结束时间")
    private String endTime;

    @ApiModelProperty("投产时间")
    private String tcTime;

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

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