package com.prolog.cs.biz.outbound.model.tms;

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

import java.util.List;

@Data
public class TmsShipBill {
    @ApiModelProperty(value = "仓库编码")
    private String branchCode;
    @ApiModelProperty(value = "仓库名称")
    private String branchName;
    @ApiModelProperty(value = "货主编码")
    private String cargoOwnerCode;
    @ApiModelProperty(value = "货主名称")
    private String cargoOwnerName;
    @ApiModelProperty(value = "订单ID")
    private String orderId;
    @ApiModelProperty(value = "订单编号")
    private String orderNo;
    @ApiModelProperty(value = "订单日期")
    private String orderDate;
    @ApiModelProperty(value = "订单类型 数据字典ORDER_TYPE：1普通 2紧急 3加急")
    private Integer orderType;
    @ApiModelProperty(value = "订单业务类型 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送  2销售订单-供应商配送 3采购订单-供应商配送 4采购订单-自提 5销售退货 6采购退货 7调拨")
    private Integer orderBusinessType;
    @ApiModelProperty(value = "WMS单据ID")
    private String wmsOrderId;
    @ApiModelProperty(value = "WMS单据编号")
    private String wmsOrderNo;
    @ApiModelProperty(value = "配送方式 数据字典DELIVERY_METHOD_TYPE：1配送 2自提")
    private Integer deliveryMethodType;
    @ApiModelProperty(value = "运输类型(运输模式) 数据字典TRANSPORT_TYPE:1整车 2零担")
    private Integer transportType;
    @ApiModelProperty(value = "温度要求 数据字典TEMPERATURE_REQUIREMENT：1常温 2冷藏 3冷冻 4恒温")
    private Integer temperatureRequirement;
    @ApiModelProperty(value = "预计提货开始时间")
    private String estimatedPickupStartTime;
    @ApiModelProperty(value = "预计提货结束时间")
    private String estimatedPickupEndTime;
    @ApiModelProperty(value = "预计送达开始时间")
    private String estimatedDeliveryStartTime;
    @ApiModelProperty(value = "预计结束开始时间")
    private String estimatedDeliveryEndTime;
    @ApiModelProperty(value = "运输时效")
    private Integer transportAging;
    @ApiModelProperty(value = "发货方类型 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商")
    private Integer shipperType;
    @ApiModelProperty(value = "发货方单位编码")
    private String shipperUnitCode;
    @ApiModelProperty(value = "发货方单位名称")
    private String shipperUnitName;
    @ApiModelProperty(value = "发货方编码")
    private String shipperCode;
    @ApiModelProperty(value = "发货方名称")
    private String shipperName;
    @ApiModelProperty(value = "发货方联系人")
    private String shipperContact;
    @ApiModelProperty(value = "发货方手机号")
    private String shipperPhoneNumber;
    @ApiModelProperty(value = "发货方座机号")
    private String shipperLandlineNumber;
    @ApiModelProperty(value = "发货方邮箱")
    private String shipperEmail;
    @ApiModelProperty(value = "发货方关联手机号")
    private String shipperRelatedPhoneNumber;
    @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 shipperAddress;
    @ApiModelProperty(value = "发货方经度")
    private Integer shipperLongitude;
    @ApiModelProperty(value = "发货方纬度")
    private Integer shipperLatitude;
    @ApiModelProperty(value = "发货方备注")
    private String shipperMemo;
    @ApiModelProperty(value = "提货签到 数据字典WHETHER:0否，1是")
    private Integer shipperPickUpSign;
    @ApiModelProperty(value = "自动提货签到 数据字典WHETHER:0否，1是")
    private Integer shipperAutoPickUpSign;
    @ApiModelProperty(value = "提货图片 数据字典WHETHER:0否，1是")
    private Integer shipperPickUpPicture;
    @ApiModelProperty(value = "默认提货围栏(km)")
    private Integer shipperPickUpRail;
    @ApiModelProperty(value = "提货签到时间点 数据字典PICK_UP_SIGN_TIME 10预计提货开始时间 20预计提货结束时间 30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
    private Integer shipperSignTime;
    @ApiModelProperty(value = "提货签到时间期间")
    private Integer shipperSignTimeDura;
    @ApiModelProperty(value = "提货签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
    private Integer shipperSignTimeUnit;
    @ApiModelProperty(value = "收货方类型 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商")
    private Integer consigneeType;
    @ApiModelProperty(value = "收货方单位编码")
    private String consigneeUnitCode;
    @ApiModelProperty(value = "收货方单位名称")
    private String consigneeUnitName;
    @ApiModelProperty(value = "收货方编码")
    private String consigneeCode;
    @ApiModelProperty(value = "收货方名称")
    private String consigneeName;
    @ApiModelProperty(value = "收货方联系人")
    private String consigneeContact;
    @ApiModelProperty(value = "收货方手机号")
    private String consigneePhoneNumber;
    @ApiModelProperty(value = "收货方座机号")
    private String consigneeLandlineNumber;
    @ApiModelProperty(value = "收货方邮箱")
    private String consigneeEmail;
    @ApiModelProperty(value = "收货方关联手机号")
    private String consigneeRelatedPhoneNumber;
    @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 consigneeAddress;
    @ApiModelProperty(value = "收货方经度")
    private Integer consigneeLongitude;
    @ApiModelProperty(value = "收货方纬度")
    private Integer consigneeLatitude;
    @ApiModelProperty(value = "收货方备注")
    private String consigneeMemo;
    @ApiModelProperty(value = "送达签到 数据字典WHETHER:0否，1是")
    private Integer consigneeDeliverySign;
    @ApiModelProperty(value = "自动送达签到 数据字典WHETHER:0否，1是")
    private Integer consigneeAutoDeliverySign;
    @ApiModelProperty(value = "送货图片 数据字典WHETHER:0否，1是")
    private Integer consigneeDeliveryPicture;
    @ApiModelProperty(value = "回单图片 数据字典WHETHER:0否，1是")
    private Integer consigneeReturnOrderPicture;
    @ApiModelProperty(value = "默认送货围栏(km)")
    private Integer consigneeDeliveryRail;
    @ApiModelProperty(value = "送达签到时间点 数据字典DELIVERY_SIGN_TIME 10预计送达开始时间 20预计送达结束时间 30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
    private Integer consigneeSignTime;
    @ApiModelProperty(value = "送达签到时间期间")
    private Integer consigneeSignTimeDura;
    @ApiModelProperty(value = "送达签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
    private Integer consigneeSignTimeUnit;
    @ApiModelProperty(value = "是否要求回单 数据字典WHETHER:0否，1是")
    private Integer returnOrderFlag;
    @ApiModelProperty(value = "回单期限 单位:天")
    private Integer returnOrderDeadline;
    @ApiModelProperty(value = "总件数")
    private Integer totalPcs;
    @ApiModelProperty(value = "总体积")
    private Integer totalVolume;
    @ApiModelProperty(value = "总重量")
    private Integer totalWeight;
    @ApiModelProperty(value = "实际总件数")
    private Integer actualTotalPcs;
    @ApiModelProperty(value = "实际总体积")
    private Integer actualTotalVolume;
    @ApiModelProperty(value = "实际总重量")
    private Integer actualTotalWeight;
    @ApiModelProperty(value = "包裹整件数")
    private Integer packageWholePiece;
    @ApiModelProperty(value = "包裹拼箱数")
    private Integer packageLclPiece;
    @ApiModelProperty(value = "包裹总体积")
    private Integer packageTotalVolume;
    @ApiModelProperty(value = "包裹总重量")
    private Integer packageTotalWeight;
    @ApiModelProperty(value = "承运方编码")
    private String carriersCode;
    @ApiModelProperty(value = "承运方名称")
    private String carriersName;
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty(value = "导入批次号")
    private String importBatchNumber;
    @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 = "字符属性扩展6")
    private String extStr6;
    @ApiModelProperty(value = "字符属性扩展7")
    private String extStr7;
    @ApiModelProperty(value = "字符属性扩展8")
    private String extStr8;
    @ApiModelProperty(value = "字符属性扩展9")
    private String extStr9;
    @ApiModelProperty(value = "字符属性扩展10")
    private String extStr10;
    @ApiModelProperty(value = "数值属性扩展1")
    private Integer extNum1;
    @ApiModelProperty(value = "数值属性扩展2")
    private Integer extNum2;
    @ApiModelProperty(value = "数值属性扩展3")
    private Integer extNum3;
    @ApiModelProperty(value = "数值属性扩展4")
    private Integer extNum4;
    @ApiModelProperty(value = "数值属性扩展5")
    private Integer extNum5;
    @ApiModelProperty(value = "日期属性扩展1")
    private String extDate1;
    @ApiModelProperty(value = "日期属性扩展2")
    private String extDate2;
    @ApiModelProperty(value = "日期属性扩展3")
    private String extDate3;
    @ApiModelProperty(value = "日期属性扩展4")
    private String extDate4;
    @ApiModelProperty(value = "日期属性扩展5")
    private String extDate5;
    @ApiModelProperty(value = "总发货件数")
    private Integer totalDeliveryPcs;
    @ApiModelProperty(value = "总发货体积")
    private Integer totalDeliveryVolume;
    @ApiModelProperty(value = "总发货重量")
    private Integer totalDeliveryWeight;
    @ApiModelProperty(value = "关联运单ID")
    private String relationShipbillId;
    @ApiModelProperty(value = "关联运单编号")
    private String relationShipbillNo;
    @ApiModelProperty(value = "运单类型数据字典SHIPBILL_TYPE:N正常运单R退运单，默认N")
    private String shipbillType;
    @ApiModelProperty(value = "暂存位")
    private String stagingLocations;
    @ApiModelProperty(value = "车辆类别")
    private String vehicleTypeCategory;
    @ApiModelProperty(value = "车辆设备CODE")
    private String vehicleDeviceCode;
    @ApiModelProperty(value = "车辆设备名称")
    private String vehicleDeviceName;
    @ApiModelProperty(value = "明细列表")
    private List<TmsShipBillItem> details;
}