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

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

import com.prolog.framework.core.annotation.Column;

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

/**
 * 待理货——运单模式分页查询DTO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author xyf
 * @since 2022/6/1 15:29
 */
@Data
@ApiModel("运单模式分页查询DTO")
public class WaitForArrangeGoodsShipbillPageDTO implements Serializable {

	private static final long serialVersionUID = -8583550197782251605L;

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

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

	@ApiModelProperty(value = "装车单ID")
	private String loadingBillIds;

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

	@ApiModelProperty(value = "货主ID")
	private Long cargoOwnerId;

	@ApiModelProperty(value = "货主编码")
	private String cargoOwnerCode;

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

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

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

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

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

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

	@ApiModelProperty(value = "运单状态")
	private String statusName;

	@ApiModelProperty(value = "运输状态")
	private Integer transportStatus;

	@ApiModelProperty(value = "运输状态")
	private String transportStatusName;

	@ApiModelProperty(value = "异常状态")
	private Integer abnormalStatus;

	@ApiModelProperty(value = "异常状态")
	private String abnormalStatusName;

	@ApiModelProperty(value = "扫描状态")
	private Integer scanStatus;

	@ApiModelProperty(value = "扫描状态")
	private String scanStatusName;

	@ApiModelProperty(value = "承运方(调度)类型 数据字典LINE_CARRIER_TYPE:1.承运商  2.司机")
	private Integer carrierType;

	@ApiModelProperty(value = "承运方(调度)类型")
	private String carrierTypeName;

	@ApiModelProperty(value = "调度单号")
	private String loadingBillNo;

	@ApiModelProperty(value = "承运方名称")
	@Column(value = "carrier_name")
	private String carrierName;

	@ApiModelProperty(value = "承运方手机号")
	private String carrierPhoneNumber;

	@ApiModelProperty(value = "司机")
	private String driverName;

	@ApiModelProperty(value = "司机手机号")
	private String driverPhoneNumber;

	@ApiModelProperty(value = "送货员姓名")
	@Column(value = "deliveryman_name")
	private String deliverymanName;

	@ApiModelProperty(value = "送货员手机号")
	private String deliverymanPhoneNumber;

	@ApiModelProperty(value = "车牌号")
	@Column(value = "vehicle_plate_number")
	private String vehiclePlateNumber;

	@ApiModelProperty(value = "WMS单号")
	@Column(value = "wms_order_no")
	private String wmsOrderNo;

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

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

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

	@ApiModelProperty(value = "订单业务类型")
	@Column(value = "order_business_type")
	private String orderBusinessTypeName;

	@ApiModelProperty(value = "配送方式 数据字典DELIVERY_METHOD_TYPE：1配送 2自提")
	@Column(value = "delivery_method_type")
	private Integer deliveryMethodType;

	@ApiModelProperty(value = "配送方式")
	@Column(value = "delivery_method_type")
	private String deliveryMethodTypeName;

	@ApiModelProperty(value = "运输类型(运输模式) 数据字典TRANSPORT_TYPE:1整车 2零担")
	@Column(value = "transport_type")
	private Integer transportType;

	@ApiModelProperty(value = "运输类型(运输模式)")
	@Column(value = "transport_type")
	private String transportTypeName;

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

	@ApiModelProperty(value = "温度要求")
	@Column(value = "temperature_requirement")
	private String temperatureRequirementName;

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

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

	// 取自运单汇总
	@ApiModelProperty(value = "客户下单日期")
	private Date orderDate;

	@ApiModelProperty(value = "预计提货开始时间")
	private Date estimatedPickupStartTime;

	@ApiModelProperty(value = "预计提货结束时间")
	private Date estimatedPickupEndTime;

	@ApiModelProperty(value = "预计送达开始时间")
	private Date estimatedDeliveryStartTime;

	@ApiModelProperty(value = "预计结束开始时间")
	private Date estimatedDeliveryEndTime;

	@ApiModelProperty(value = "时效")
	private BigDecimal transportAging;

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

	@ApiModelProperty(value = "发货方类型")
	private String shipperTypeName;

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

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

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

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

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

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

	@ApiModelProperty(value = "发货方区/县编码")
	private String shipperDistrict;

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

	@ApiModelProperty(value = "发货方始发地")
	private String shipperProvinceCity;

	@ApiModelProperty(value = "联系人")
	private String shipperContact;

	@ApiModelProperty(value = "手机号")
	private String shipperPhoneNumber;

	@ApiModelProperty(value = "座机号")
	private String shipperLandlineNumber;

	@ApiModelProperty(value = "邮箱")
	private String shipperEmail;

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

	@ApiModelProperty(value = "发货方备注")
	private String shipperMemo;

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

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

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

	@ApiModelProperty(value = "收货方类型")
	private String consigneeTypeName;

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

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

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

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

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

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

	@ApiModelProperty(value = "收货方区/县编码")
	private String consigneeDistrict;

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

	@ApiModelProperty(value = "收货方目的地")
	private String consigneeProvinceCity;

	@ApiModelProperty(value = "收货方联系人")
	private String consigneeContact;

	@ApiModelProperty(value = "收货方手机号")
	private String consigneePhoneNumber;

	@ApiModelProperty(value = "收货方座机号")
	private String consigneeLandlineNumber;

	@ApiModelProperty(value = "收货方邮箱")
	private String consigneeEmail;

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

	@ApiModelProperty(value = "收货方备注")
	private String consigneeMemo;

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

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

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

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

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

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "背景颜色")
	private String background;

	@ApiModelProperty(value = "字体颜色")
	private String color;

	@ApiModelProperty(value = "标记ID")
	private Long signConfigId;

	@ApiModelProperty(value = "收货方位置")
	private String consigneePositioning;

	@ApiModelProperty(value = "发货方位置")
	private String shipperPositioning;

}
