package com.prolog.rdc.tms.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
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;

/**
 * 系统分组-运单查询 DTO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author lhb
 * @since 2022/4/20 12:22
 */
@Data
@ApiModel("系统分组-运单查询DTO")
public class SysGroupShipbillQueryDTO implements Serializable {

	private static final long serialVersionUID = 7441090120308648472L;

	@ApiModelProperty(value = "ID")
	private String id;

	@ApiModelProperty(value = "运单ID")
	private String shipbillId;

	@ApiModelProperty(value = "运单编号")
	private String shipbillNo;

	@ApiModelProperty(value = "货主名称")
	private String cargoOwnerName;

	@ApiModelProperty(value = "订单编号")
	private String orderNo;

	@ApiModelProperty(value = "订单类型 数据字典ORDER_TYPE：1普通 2紧急 3加急")
	private Integer orderType;

	@ApiModelProperty(value = "订单类型名称 数据字典ORDER_TYPE：1普通 2紧急 3加急")
	private String orderTypeName;

	@ApiModelProperty(value = "订单业务类型 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送  2销售订单-供应商配送 3采购订单-供应商配送 4采购订单-自提 5销售退货 6采购退货 7调拨")
	private Integer orderBusinessType;

	@ApiModelProperty(value = "订单业务类型名称 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送  2销售订单-供应商配送 3采购订单-供应商配送 4采购订单-自提 5销售退货 6采购退货 7调拨")
	private String orderBusinessTypeName;

	@ApiModelProperty(value = "温度要求 数据字典TEMPERATURE_REQUIREMENT：1常温 2冷藏 3冷冻 4恒温")
	private Integer temperatureRequirement;

	@ApiModelProperty(value = "温度要求名称 数据字典TEMPERATURE_REQUIREMENT：1常温 2冷藏 3冷冻 4恒温")
	private String temperatureRequirementName;

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

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

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

	@ApiModelProperty(value = "总件数")
	private BigDecimal totalPcs;

	@ApiModelProperty(value = "总体积")
	private BigDecimal totalVolume;

	@ApiModelProperty(value = "总重量")
	private BigDecimal totalWeight;

	@ApiModelProperty(value = "总整件数")
	private BigDecimal packageWholePiece;

	@ApiModelProperty(value = "总拼箱数")
	private BigDecimal packageLclPiece;

	@ApiModelProperty(value = "包裹总体积")
	private BigDecimal packageTotalVolume;

	@ApiModelProperty(value = "包裹总重量")
	private BigDecimal packageTotalWeight;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "订单下单日期")
	private Date orderDate;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "预计提货时间")
	private Date estimatedPickupStartTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "预计送达开始时间")
	private Date estimatedDeliveryStartTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "预计送达结束时间")
	private Date estimatedDeliveryEndTime;

	@ApiModelProperty(value = "发货方类型 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商")
	private Integer shipperType;

	@ApiModelProperty(value = "发货方类型名称 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商")
	private String shipperTypeName;

	@ApiModelProperty(value = "发货方单位ID")
	private Long shipperUnitId;

	@ApiModelProperty(value = "发货方单位编码")
	private String shipperUnitCode;

	@ApiModelProperty(value = "发货方单位名称")
	private String shipperUnitName;

	@ApiModelProperty(value = "发货方名称")
	private String shipperName;

	@ApiModelProperty(value = "发货方编码")
	private String shipperCode;

	@ApiModelProperty(value = "发货方ID")
	private Long shipperId;

	@ApiModelProperty(value = "始发地")
	private String shipperProvinceCityDistrict;

	@ApiModelProperty(value = "发货方详细地址")
	private String shipperAddress;

	@ApiModelProperty(value = "发货方经度")
	private BigDecimal shipperLongitude;

	@ApiModelProperty(value = "发货方纬度")
	private BigDecimal shipperLatitude;

	@ApiModelProperty(value = "收货方类型 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商")
	private Integer consigneeType;

	@ApiModelProperty(value = "收货方类型名称 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商")
	private String consigneeTypeName;

	@ApiModelProperty(value = "收货方单位ID")
	private Long consigneeUnitId;

	@ApiModelProperty(value = "收货方单位编码")
	private String consigneeUnitCode;

	@ApiModelProperty(value = "收货方单位名称")
	private String consigneeUnitName;

	@ApiModelProperty(value = "收货方ID")
	private Long consigneeId;

	@ApiModelProperty(value = "收货方编码")
	private String consigneeCode;

	@ApiModelProperty(value = "收货方名称")
	private String consigneeName;

	@ApiModelProperty(value = "目的地")
	private String consigneeProvinceCityDistrict;

	@ApiModelProperty(value = "收货方详细地址")
	private String consigneeAddress;

	@ApiModelProperty(value = "收货方经度")
	private BigDecimal consigneeLongitude;

	@ApiModelProperty(value = "收货方纬度")
	private BigDecimal consigneeLatitude;

	@ApiModelProperty(value = "配送顺序")
	private Integer shippingOrder;

	@ApiModelProperty(value = "提货顺序")
	private Integer pickUpOrder;

	@ApiModelProperty(value = "记录标记语")
	private String recordTagWord;

	@ApiModelProperty(value = "颜色标记 底纹背景颜色")
	private String colorTagBgdColor;

	@ApiModelProperty(value = "颜色标记 字体颜色")
	private String colorTagFontColor;

	@ApiModelProperty(value = "发货方省名称")
	private String shipperProvinceName;

	@ApiModelProperty(value = "发货方市名称")
	private String shipperCityName;

	@ApiModelProperty(value = "发货方区/县名称")
	private String shipperDistrictName;

	@ApiModelProperty(value = "发货方省名称")
	private String consigneeProvinceName;

	@ApiModelProperty(value = "发货方市名称")
	private String consigneeCityName;

	@ApiModelProperty(value = "发货方区/县名称")
	private String consigneeDistrictName;

	@ApiModelProperty(value = "发货方配送顺序")
	private BigDecimal shipperDeliveryOrder;

	@ApiModelProperty(value = "收货方配送顺序")
	private BigDecimal consigneeDeliveryOrder;

	@ApiModelProperty(value = "发货方站点名称")
	private String shipperStationName;

	@ApiModelProperty(value = "收货方站点名称")
	private String consigneeStationName;

	@ApiModelProperty(value = "承运商类型 数据字典CARRIERS_TYPE:1.三方快递  2.三方物流")
	private Integer carriersType;

	@ApiModelProperty(value = "承运商ID")
	private Long carriersId;

	@ApiModelProperty(value = "承运商编码")
	private String carriersCode;

	@ApiModelProperty(value = "承运商名称")
	private String carriersName;
}
