package com.prolog.rdc.tms.model.entity.line;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Table;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 *
 * 线路资料管理表
 *
 * @className :TmsBaseTranslineModel
 * @author :zsj
 * @creationTime :2022/04/07
 * @description :
 *
 * @modifier :zsj
 * @modifyTime :2022/04/07
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@Table(value = "tms_base_line")
public class TmsBaseLineModel implements Serializable {

	private static final long serialVersionUID = 1L;

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

	@ApiModelProperty(value = "线路编号")
	@Column(value = "line_code")
	private String lineCode;

	@ApiModelProperty(value = "线路名称")
	@Column(value = "line_name")
	private String lineName;

	@ApiModelProperty(value = "线路类型 数据字典LINE_TYPE:1.干线 2.短驳")
	@Column(value = "line_type")
	private Integer lineType;

	@ApiModelProperty(value = "划分类型 数据字典DISTINGUISH_TYPE:1.收货方 2.行政区域")
	@Column(value = "distinguish_type")
	private Integer distinguishType;

	@ApiModelProperty(value = "线路起点类型 数据字典START_LINE_TYPE:1.发货方 2.行政区域")
	@Column(value = "start_line_type")
	private Integer startLineType;

	@ApiModelProperty(value = "线路起点ID")
	@Column(value = "start_line_id")
	private Long startLineId;

	@ApiModelProperty(value = "线路起点编码")
	@Column(value = "start_line_code")
	private String startLineCode;

	@ApiModelProperty(value = "线路起点名称")
	@Column(value = "start_line_name")
	private String startLineName;

	@ApiModelProperty(value = "线路终点类型")
	@Column(value = "end_line_type")
	private Integer endLineType;

	@ApiModelProperty(value = "线路终点ID")
	@Column(value = "end_line_id")
	private Long endLineId;

	@ApiModelProperty(value = "线路终点编码")
	@Column(value = "end_line_code")
	private String endLineCode;

	@ApiModelProperty(value = "线路终点名称")
	@Column(value = "end_line_name")
	private String endLineName;

	@ApiModelProperty(value = "承运方类型")
	@Column(value = "carrier_type")
	private Integer carrierType;

	@ApiModelProperty(value = "是否承运方份额限制")
	@Column(value = "limit")
	private Integer limit;

	@ApiModelProperty(value = "限制依据")
	@Column(value = "basis")
	private Integer basis;

	@ApiModelProperty(value = "总里程数")
	@Column(value = "total_mileage")
	private BigDecimal totalMileage;

	@ApiModelProperty(value = "周")
	@Column(value = "week")
	private String week;

	@ApiModelProperty(value = "天")
	@Column(value = "day")
	private String day;

	@ApiModelProperty(value = "收货方-行政区域")
	@Column(value = "administrative_areas")
	private String administrativeAreas;

	@ApiModelProperty(value = "发货方-行政区域")
	@Column(value = "shipper_administrative_areas")
	private String shipperAdministrativeAreas;

	@ApiModelProperty(value = "备注")
	@Column(value = "memo")
	private String memo;

	@ApiModelProperty(value = "所属组织ID")
	@Column(value = "organization_id")
	private Long organizationId;

	@ApiModelProperty(value = "所属组织编码")
	@Column(value = "organization_code")
	private String organizationCode;

	@ApiModelProperty(value = "所属组织名称")
	@Column(value = "organization_name")
	private String organizationName;

	@ApiModelProperty(value = "所属部门ID")
	@Column(value = "department_id")
	private String departmentId;

	@ApiModelProperty(value = "所属部门编码")
	@Column(value = "department_code")
	private String departmentCode;

	@ApiModelProperty(value = "所属部门名称")
	@Column(value = "department_name")
	private String departmentName;

	@ApiModelProperty(value = "状态")
	@Column(value = "status")
	private Integer status;

	@ApiModelProperty(value = "企业ID")
	@Column(value = "enterprise_id")
	private Long enterpriseId;

	@ApiModelProperty(value = "企业名称")
	@Column(value = "enterprise_name")
	private String enterpriseName;

	@ApiModelProperty(value = "来源")
	@Column(value = "source")
	private Integer source;

	@ApiModelProperty(value = "导入批次号")
	@Column(value = "import_batch_number")
	private String importBatchNumber;

	@ApiModelProperty(value = "字符属性扩展1")
	@Column(value = "ext_str1")
	private String extStr1;

	@ApiModelProperty(value = "字符属性扩展2")
	@Column(value = "ext_str2")
	private String extStr2;

	@ApiModelProperty(value = "字符属性扩展3")
	@Column(value = "ext_str3")
	private String extStr3;

	@ApiModelProperty(value = "字符属性扩展4")
	@Column(value = "ext_str4")
	private String extStr4;

	@ApiModelProperty(value = "字符属性扩展5")
	@Column(value = "ext_str5")
	private String extStr5;

	@ApiModelProperty(value = "数值属性扩展1")
	@Column(value = "ext_num1")
	private BigDecimal extNum1;

	@ApiModelProperty(value = "数值属性扩展2")
	@Column(value = "ext_num2")
	private BigDecimal extNum2;

	@ApiModelProperty(value = "数值属性扩展3")
	@Column(value = "ext_num3")
	private BigDecimal extNum3;

	@ApiModelProperty(value = "数值属性扩展4")
	@Column(value = "ext_num4")
	private BigDecimal extNum4;

	@ApiModelProperty(value = "数值属性扩展5")
	@Column(value = "ext_num5")
	private BigDecimal extNum5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展1")
	@Column(value = "ext_date1")
	private Date extDate1;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展2")
	@Column(value = "ext_date2")
	private Date extDate2;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展3")
	@Column(value = "ext_date3")
	private Date extDate3;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展4")
	@Column(value = "ext_date4")
	private Date extDate4;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "日期属性扩展5")
	@Column(value = "ext_date5")
	private Date extDate5;

	@ApiModelProperty(value = "创建时间")
	@Column(value = "createtime")
	private Date createtime;

	@ApiModelProperty(value = "创建人")
	@Column(value = "createperson")
	private String createperson;

	@ApiModelProperty(value = "修改时间")
	@Column(value = "updatetime")
	private Date updatetime;

	@ApiModelProperty(value = "修改人")
	@Column(value = "updateperson")
	private String updateperson;

	@ApiModelProperty(value = "提货点数")
	@Column(value = "pickup_stations")
	private Integer pickUpSiteNumber;

	@ApiModelProperty(value = "送货点数")
	@Column(value = "delivery_stations")
	private Integer deliverySiteNumber;

	@ApiModelProperty(value = "总站点数")
	@Column(value = "total_stations")
	private Integer totalStations;

	@ApiModelProperty(value = "线路方向 数据字典LINE_DIRECTION 10正向 20逆向")
	@Column(value = "line_direction")
	private Integer lineDirection;

}
