package com.prolog.rdc.tms.model.vo.basicData;

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

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 线路资料管理修改表 VO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 *
 * @author zhangsj
 * @since 2022/3/8 16:43
 */
@Data
public class TmsBaseTranslineVO implements Serializable {

	private static final long serialVersionUID = -1912600968057474259L;

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

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

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

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

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

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

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

	@ApiModelProperty(value = "周,逗号分割")
	private String week;

	@ApiModelProperty(value = "天,逗号分割")
	private String day;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "数值属性扩展5")
	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")
	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")
	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")
	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")
	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")
	private Date extDate5;

	@ApiModelProperty(value = "行政区域")
	private List<String> administrativeAreas;

	@ApiModelProperty(value = "行政区域")
	private List<String> shipperAdministrativeAreas;

	@ApiModelProperty(value = "收货方集合")
	private List<TmsArriverVO> tmsArriverVOS;

	@ApiModelProperty(value = "承运方集合")
	private List<TmsCarrierVO> tmsCarrierVOS;

	@ApiModelProperty(value = "发货方集合")
	private List<TmsShipperVO> tmsShipperVOS;

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