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;

@Data
@Table(value = "bms_logistics_contract")
public class BmsLogisticsContractModel implements Serializable {

	private static final long serialVersionUID = 6103899899019772022L;

	@Id
	@ApiModelProperty(value = "id")
	@Column(value = "id")
	private Long id;

	@ApiModelProperty(value = "合同编号")
	@Column(value = "contract_no")
	private String contractNo;

	@ApiModelProperty(value = "合同名称")
	@Column(value = "contract_name")
	private String contractName;

	@ApiModelProperty(value = "合同类型")
	@Column(value = "contract_type")
	private int contractType;

	@ApiModelProperty(value = "结算方式  SETTLEMENT_WAY")
	@Column(value = "settlement_type")
	private Integer settlementType;

	@ApiModelProperty(value = "甲方-货主ID/部门ID")
	@Column(value = "first_party_id")
	private String firstPartyId;

	@ApiModelProperty(value = "甲方-货主编码/部门编码")
	@Column(value = "first_party_code")
	private String firstPartyCode;

	@ApiModelProperty(value = "甲方-货主名称/部门名称")
	@Column(value = "first_party_name")
	private String firstPartyName;

	@ApiModelProperty(value = "甲方类型 数据字典 C:货主 D:部门")
	@Column(value = "first_party_type")
	private String firstPartyType;

	@ApiModelProperty(value = "乙方-承运商ID/部门ID")
	@Column(value = "second_party_id")
	private String secondPartyId;

	@ApiModelProperty(value = "乙方-承运商编码/部门编码")
	@Column(value = "second_party_Code")
	private String secondPartyCode;

	@ApiModelProperty(value = "乙方-承运商ID/部门ID")
	@Column(value = "second_party_name")
	private String secondPartyName;

	@ApiModelProperty(value = "乙方类型 数据字典 C:承运商 D:部门")
	@Column(value = "second_party_type")
	private String secondPartyType;

	@ApiModelProperty(value = "对账完成日期")
	@Column(value = "reconciliation_date")
	private String reconciliationDate;

	@ApiModelProperty(value = "结算完成日期")
	@Column(value = "Settlement_date")
	private String SettlementDate;

	@ApiModelProperty(value = "生效日期")
	@Column(value = "effective_date")
	private Date effectiveDate;

	@ApiModelProperty(value = "失效日期")
	@Column(value = "expiry_date")
	private Date expiryDate;

	@ApiModelProperty(value = "合同期限")
	@Column(value = "contract_period")
	private int contractPeriod;

	@ApiModelProperty(value = "税点")
	@Column(value = "tax_point")
	private String taxPoint;

	@ApiModelProperty(value = "是否启用重泡比")
	@Column(value = "is_heavy_bubble")
	private Integer isHeavyBubble;

	@ApiModelProperty(value = "重泡比")
	@Column(value = "heavy_bubble")
	private String heavyBubble;

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

	@ApiModelProperty(value = "状态  CONTRACT_STATUS 0：停用 1:启用，2：新增")
	@Column(value = "status")
	private int status;

	@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 = "合同模式 1-托运 2-承运 3-司机")
	@Column(value = "contract_mode")
	private Integer contractMode;
}