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

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

/**
 * TMS包裹明细
 *
 * @author 鄢菁KingYan
 * @date 2023/10/07
 */
@Data
public class TmsShipBillPackageItem {

    @ApiModelProperty(value = "订单编号", required = true)
    private String orderNo;
    @ApiModelProperty(value = "订单ID", required = true)
    private String orderId;

    @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 String memo;

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

    @ApiModelProperty(value = "包裹类型 数据字典PACKAGE_TYPE:1整件 2拼箱", required = true)
    private Integer packageType;

    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

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

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

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

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

    @ApiModelProperty(value = "品类数")
    private Integer itemCategoryNumber;

    @ApiModelProperty(value = "最后一个包裹(0-否，1-是)", required = true, notes = "新增参数，接收到最后一个包裹后会根据规则自动执行订单的部分业务流程")
    private String lastPackage;

    @ApiModelProperty(value = "仓库ID")
    private String branchId;

    @ApiModelProperty(value = "重量", required = true)
    private String weight;

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

    @ApiModelProperty(value = "暂存区")
    private String storageCache;

    @ApiModelProperty(value = "仓库编码")
    private String branchCode;

    @ApiModelProperty(value = "体积", required = true)
    private String volume;

    @ApiModelProperty(value = "高(cm)")
    private String heigth;

    @ApiModelProperty(value = "设备生产厂商 数据字典表DEVICE_COMPANY：1易流、2捷依、3G7")
    private Integer deviceCompany;

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

    @ApiModelProperty(value = "状态 数据字典PACKAGE_STATUS:0 取消 10 初始", required = true)
    private Integer status;

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

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

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

    @ApiModelProperty(value = "货主ID", required = true)
    private String cargoOwnerId;

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

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

    @ApiModelProperty(value = "整件数")
    private Integer wholePiece;

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

    @ApiModelProperty(value = "企业名称", required = true)
    private String enterpriseName;

    @ApiModelProperty(value = "件数", required = true)
    private Integer pcs;

    @ApiModelProperty(value = "创建时间", required = true)
    private String createtime;

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

    @ApiModelProperty(value = "明细行号", required = true)
    private String seqno;

    @ApiModelProperty(value = "子母单类型(主单号、子单号)", required = true, notes = "新增参数，用于标识子母单，子母单计费模式有差异")
    private Integer childParentType;

    @ApiModelProperty(value = "长(cm)")
    private String length;

    @ApiModelProperty(value = "仓库名称")
    private String branchName;

    @ApiModelProperty(value = "设备编码")
    private String deviceCode;

    @ApiModelProperty(value = "原明细行号")
    private String originalSeqno;

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

    @ApiModelProperty(value = "拼箱数")
    private Integer lclPiece;

    @ApiModelProperty(value = "包裹编号", required = true, notes = "订单物流类型：快递-上游传递快递单号物流-上游传递物流单号")
    private String packageCode;

    @ApiModelProperty(value = "宽(cm)")
    private String width;

    @ApiModelProperty(value = "企业ID", required = true)
    private String enterpriseId;

}