package com.railway.business.baseinfo.domain;

import com.railway.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

/**
 * primary key (line_id, dept_id) using
 *
 * @author railway 2021-11-20
 */
@Data
@ApiModel(" primary key (line_id, dept_id) using")
@EqualsAndHashCode(callSuper = true)
public class BaseDeptLine extends BaseEntity {

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

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

  @ApiModelProperty(value = "资产所属单位id")
  private Long deptId;

  @ApiModelProperty(value = "资产所属单位名称")
  private String deptName;

  @ApiModelProperty(value = "电化开通日期")
  @Length(max = 20, message = "【电化开通日期】长度必须介于 {min} 和 {max} 之间")
  private String lineKtrq;

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

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

  @ApiModelProperty(value = "供电方式")
  @Length(max = 20, message = "【供电方式】长度必须介于 {min} 和 {max} 之间")
  private String lineGdfs;

  @ApiModelProperty(value = "悬挂类型")
  @Length(max = 20, message = "【悬挂类型】长度必须介于 {min} 和 {max} 之间")
  private String lineXglx;

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

  @ApiModelProperty(value = "数据编号")
  @Length(max = 255, message = "【数据编号】长度必须介于 {min} 和 {max} 之间")
  private String lineSjbh;

  @ApiModelProperty(value = "显示顺序")
  private Integer orderNum;

  @ApiModelProperty(value = "删除标志（0代表存在 1代表删除）")
  @Length(min = 1, max = 1, message = "【删除标志（0代表存在 1代表删除）】长度必须介于 {min} 和 {max} 之间")
  private String delFlag;

}