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

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

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import com.prolog.framework.core.annotation.Table;

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

/**
 * 
 *
 * 运单包裹接口表
 *
 * @className :ShipbillPackageModel
 * @author :fanzw
 * @creationTime :2022/11/17
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/11/17
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@Table("intf_shipbill_package")
public class ShipbillPackageModel implements Serializable {

	private static final long serialVersionUID = -7581925957901181957L;

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

	@ApiModelProperty(value = "订单ID")
	@Column(value = "order_id")
	private String orderId;

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

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

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

	@ApiModelProperty(value = "仓库ID")
	@Column(value = "branch_id")
	private Long branchId;

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

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

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

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

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

	@ApiModelProperty(value = "明细行号")
	@Column(value = "seqno")
	private Integer seqno;

	@ApiModelProperty(value = "原明细行号")
	@Column(value = "original_seqno")
	private Integer originalSeqno;

	@ApiModelProperty(value = "包裹ID")
	@Column(value = "package_id")
	private String packageId;

	@ApiModelProperty(value = "包裹编号")
	@Column(value = "package_code")
	private String packageCode;

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

	@ApiModelProperty(value = "托盘号")
	@Column(value = "pallet_number")
	private String palletNumber;

	@ApiModelProperty(value = "件数")
	@Column(value = "pcs")
	private BigDecimal pcs;

	@ApiModelProperty(value = "体积")
	@Column(value = "volume")
	private BigDecimal volume;

	@ApiModelProperty(value = "重量")
	@Column(value = "weight")
	private BigDecimal weight;

	@ApiModelProperty(value = "整件数")
	@Column(value = "whole_piece")
	private BigDecimal wholePiece;

	@ApiModelProperty(value = "拼箱数")
	@Column(value = "lcl_piece")
	private BigDecimal lclPiece;

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

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

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

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

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

	@ApiModelProperty(value = "设备ID")
	@Column(value = "device_id")
	private Long deviceId;

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

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

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

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

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

	@ApiModelProperty(value = "企业ID")
	@Column(value = "enterprise_id")
	private Long enterpriseId;

	@ApiModelProperty(value = "企业名称")
	@Column(value = "enterprise_name")
	private String enterpriseName;

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

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

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

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

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

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

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

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

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

	@ApiModelProperty(value = "数值属性扩展5")
	@Column(value = "ext_num5")
	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")
	@Column(value = "ext_date1")
	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")
	@Column(value = "ext_date2")
	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")
	@Column(value = "ext_date3")
	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")
	@Column(value = "ext_date4")
	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")
	@Column(value = "ext_date5")
	private Date extDate5;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间")
	@Column(value = "createtime")
	private Date createtime;

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

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "修改时间")
	@Column(value = "updatetime")
	private Date updatetime;

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

	@ApiModelProperty(value = "N初始 E失败 Y成功")
	@Column(value = "intf_status")
	private String intfStatus;

	@ApiModelProperty(value = "子母单类型(CHILD_PARENT_TYPE 1主单号、2子单号)")
	@Column(value = "child_parent_type")
	private Integer childParentType;

	@ApiModelProperty(value = "是否最后一个包裹(LAST_PACKAGE 0-否，1-是)")
	@Column(value = "last_package")
	private Integer lastPackage;

}
