package com.railway.business.baseinfo.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.railway.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
/**
 * 九防台账-防洪
 * @author wuhonghao 2021-11-12
 */
@Data
@ApiModel("九防台账-防洪")
@EqualsAndHashCode(callSuper = true)
public class BasePreventFlood extends BaseEntity{

    @ApiModelProperty(value = "主键", hidden = true)
    private Long id;

    @ApiModelProperty(value = "段别")
    @Length(min = 1, max = 100, message = "【段别】长度必须介于 {min} 和 {max} 之间")
    private String piecewise;

    @ApiModelProperty(value = "段别")
    private String piecewiseText;

    @ApiModelProperty(value = "车间id")
    private Long deptId;

    @ApiModelProperty(value = "车间名称（冗余）")
    @Length(min = 1, max = 30, message = "【车间名称（冗余）】长度必须介于 {min} 和 {max} 之间")
    private String deptName;

    @ApiModelProperty(value = "填写日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date fillDate;

    @ApiModelProperty(value = "填写人")
    @Length(min = 1, max = 50, message = "【填写人】长度必须介于 {min} 和 {max} 之间")
    private String fillUser;

    @ApiModelProperty(value = "线路id")
    private Long lineId;

    @ApiModelProperty(value = "线路名称（冗余）")
    @Length(min = 1, max = 30, message = "【线路名称（冗余）】长度必须介于 {min} 和 {max} 之间")
    private String lineName;

    @ApiModelProperty(value = "行别")
    @Length(min = 1, max = 4, message = "【行别】长度必须介于 {min} 和 {max} 之间")
    private String xingbie;

    @ApiModelProperty(value = "行别")
    private String xingbieText;

    @ApiModelProperty(value = "区间站场id")
    private Long stationId;

    @ApiModelProperty(value = "区间站场名称")
    @Length(min = 1, max = 64, message = "【区间站场名称】长度必须介于 {min} 和 {max} 之间")
    private String stationName;

    @ApiModelProperty(value = "车间-区间站场关联id")
    private Long deptStationId;

    @ApiModelProperty(value = "公里标（m）")
    @Length(min = 1, max = 20, message = "【公里标（m）】长度必须介于 {min} 和 {max} 之间")
    private String marker;

    @ApiModelProperty(value = "开始公里标")
    private BigDecimal startMarker;

    @ApiModelProperty(value = "结束公里标")
    private BigDecimal endMarker;

    @ApiModelProperty(value = "杆号范围")
    @Length(min = 1, max = 10, message = "【杆号范围】长度必须介于 {min} 和 {max} 之间")
    private String pillarArea;

    @ApiModelProperty(value = "共计数量")
    private Integer pillarCount;

    @ApiModelProperty(value = "线路性质")
    @Length(min = 1, max = 50, message = "【线路性质】长度必须介于 {min} 和 {max} 之间")
    private String lineType;

    @ApiModelProperty(value = "采取措施")
    @Length(min = 1, max = 255, message = "【采取措施】长度必须介于 {min} 和 {max} 之间")
    private String measures;

    @ApiModelProperty(value = "del_flag")
    @Length(min = 1, max = 1, message = "【del_flag】长度必须介于 {min} 和 {max} 之间")
    private String delFlag;

    public BasePreventFlood() {
    }

}