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

import java.io.Serializable;
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    :TmsContainerBillDetailModel
 * @author       :fanzw
 * @date         :2023/6/8
 * @description  :
 *
 * @version      :1.2.1
 *
 */
@Data
@Table("tms_container_bill_detail")
public class TmsContainerBillDetailModel implements Serializable {

	private static final long serialVersionUID = -6374394479492883440L;
	
	@Id
	@ApiModelProperty(value = "主键")
	@Column(value = "id")
	private String id;

	@ApiModelProperty(value = "容器业务单号")
	@Column(value = "container_bill_no")
	private String containerBillNo;

	@ApiModelProperty(value = "容器业务单类型：CONTAINER_BILL_TYPE:1容器随车单 2容器归还单")
	@Column(value = "container_bill_type")
	private Integer containerBillType;

	@ApiModelProperty(value = "容器ID")
	@Column(value = "container_id")
	private Long containerId;

	@ApiModelProperty(value = "容器编号")
	@Column(value = "container_code")
	private String containerCode;

	@ApiModelProperty(value = "容器名称")
	@Column(value = "container_name")
	private String containerName;

	@ApiModelProperty(value = "容器类型 数据字典CONTAINER_TYPE(1：托盘 2：周转箱 3：保温箱)")
	@Column(value = "container_type")
	private Integer containerType;

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

	@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 = "备注")
	@Column(value = "memo")
	private String memo;

	@ApiModelProperty(value = "异常状态 数据字典CONTAINER_ABNORMAL_STATUS：0正常 1缺货 2多货 3丢失")
	@Column(value = "abnormal_status")
	private Integer abnormalStatus;

	@ApiModelProperty(value = "异常备注")
	@Column(value = "abnormal_memo")
	private String abnormalMemo;

	@ApiModelProperty(value = "状态 数据字典CONTAINER_BILL_STATUS:0 取消 1在途 2在店 3归还 4回途 5已送达 6到仓")
	@Column(value = "status")
	private Integer status;

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

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

	@ApiModelProperty(value = "装车单ID")
	@Column(value = "loading_bill_id")
	private String loadingBillId;

	@ApiModelProperty(value = "装车单编号")
	@Column(value = "loading_bill_no")
	private String loadingBillNo;

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

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

	@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 = "关联单号（容器随车单号）")
	@Column(value = "relevancy_bill_no")
	private String relevancyBillNo;

	@ApiModelProperty(value = "关联ID（容器随车单号明细ID）")
	@Column(value = "relevancy_id")
	private String relevancyId;


}
