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 :CustomerModel
 * @author :fanzw
 * @creationTime :2022/11/07
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/11/07
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@Table(value = "intf_base_customer")
public class CustomerModel implements Serializable {

	private static final long serialVersionUID = -4690655343335787700L;

	@Id
	@ApiModelProperty(value = "数据ID")
	@Column(value = "id")
	private String id;

	@ApiModelProperty(value = "客户编码")
	@Column(value = "code")
	private String code;

	@ApiModelProperty(value = "客户名称")
	@Column(value = "name")
	private String name;

	@ApiModelProperty(value = "客户简称")
	@Column(value = "short_name")
	private String shortName;

	@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 = "province")
	private String province;

	@ApiModelProperty(value = "省名称")
	@Column(value = "province_name")
	private String provinceName;

	@ApiModelProperty(value = "市编码")
	@Column(value = "city")
	private String city;

	@ApiModelProperty(value = "市名称")
	@Column(value = "city_name")
	private String cityName;

	@ApiModelProperty(value = "区编码")
	@Column(value = "district")
	private String district;

	@ApiModelProperty(value = "区名称")
	@Column(value = "district_name")
	private String districtName;

	@ApiModelProperty(value = "详细地址")
	@Column(value = "address")
	private String address;

	@ApiModelProperty(value = "联系人")
	@Column(value = "contact")
	private String contact;

	@ApiModelProperty(value = "手机号")
	@Column(value = "phone_number")
	private String phoneNumber;

	@ApiModelProperty(value = "座机号")
	@Column(value = "landline_number")
	private String landlineNumber;

	@ApiModelProperty(value = "邮箱")
	@Column(value = "email")
	private String email;

	@ApiModelProperty(value = "邮编")
	@Column(value = "post_code")
	private String postCode;

	@ApiModelProperty(value = "经度")
	@Column(value = "longitude")
	private BigDecimal longitude;

	@ApiModelProperty(value = "纬度")
	@Column(value = "latitude")
	private BigDecimal latitude;

	@ApiModelProperty(value = "合作性质 数据字典：COOPERATIVE_NATURE：1合同 2临时")
	@Column(value = "cooperative_nature")
	private Integer cooperativeNature;

	@ApiModelProperty(value = "税务登记号")
	@Column(value = "tax_register_number")
	private String taxRegisterNumber;

	@ApiModelProperty(value = "营业执照号")
	@Column(value = "business_license_number")
	private String businessLicenseNumber;

	@ApiModelProperty(value = "道路许可证")
	@Column(value = "road_permit")
	private String roadPermit;

	@ApiModelProperty(value = "法人代表")
	@Column(value = "legalman")
	private String legalman;

	@ApiModelProperty(value = "发票抬头")
	@Column(value = "invoice")
	private String invoice;

	@ApiModelProperty(value = "税号")
	@Column(value = "invoice_tax_number")
	private String invoiceTaxNumber;

	@ApiModelProperty(value = "注册资金")
	@Column(value = "registered_capital")
	private String registeredCapital;

	@ApiModelProperty(value = "开户行")
	@Column(value = "bank")
	private Integer bank;

	@ApiModelProperty(value = "银行账号")
	@Column(value = "bank_account")
	private String bankAccount;

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

	@ApiModelProperty(value = "注册地址")
	@Column(value = "registered_address")
	private String registeredAddress;

	@ApiModelProperty(value = "提货签到 数据字典WHETHER:0否，1是")
	@Column(value = "pick_up_sign")
	private Integer pickUpSign;

	@ApiModelProperty(value = "自动提货签到 数据字典WHETHER:0否，1是")
	@Column(value = "auto_pick_up_sign")
	private Integer autoPickUpSign;

	@ApiModelProperty(value = "提货图片 数据字典WHETHER:0否，1是")
	@Column(value = "pick_up_picture")
	private Integer pickUpPicture;

	@ApiModelProperty(value = "默认提货围栏")
	@Column(value = "default_pick_up_rail")
	private BigDecimal defaultPickUpRail;

	@ApiModelProperty(value = "送达签到 数据字典WHETHER:0否，1是")
	@Column(value = "delivery_sign")
	private Integer deliverySign;

	@ApiModelProperty(value = "自动送达签到 数据字典WHETHER:0否，1是")
	@Column(value = "auto_delivery_sign")
	private Integer autoDeliverySign;

	@ApiModelProperty(value = "送达图片 数据字典WHETHER:0否，1是")
	@Column(value = "delivery_picture")
	private Integer deliveryPicture;

	@ApiModelProperty(value = "回单图片 数据字典WHETHER:0否，1是")
	@Column(value = "return_order_picture")
	private Integer returnOrderPicture;

	@ApiModelProperty(value = "默认送达围栏")
	@Column(value = "default_delivery_rail")
	private BigDecimal defaultDeliveryRail;

	@ApiModelProperty(value = "是否要求回单 数据字典WHETHER:0否，1是")
	@Column(value = "return_order_flag")
	private Integer returnOrderFlag;

	@ApiModelProperty(value = "回单期限")
	@Column(value = "return_order_deadline")
	private Integer returnOrderDeadline;

	@ApiModelProperty(value = "10 启用 0停用")
	@Column(value = "status")
	private Integer status;

	@ApiModelProperty(value = "来源  数据字典SOURCE：1.新增 2.excel导入 3.接口导入")
	@Column(value = "source")
	private Integer source;

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

	@ApiModelProperty(value = "导入批次号")
	@Column(value = "import_batch_number")
	private String importBatchNumber;

	@ApiModelProperty(value = "所属组织ID")
	@Column(value = "organization_id")
	private Long organizationId;

	@ApiModelProperty(value = "所属组织编码")
	@Column(value = "organization_code")
	private String organizationCode;

	@ApiModelProperty(value = "所属组织名称")
	@Column(value = "organization_name")
	private String organizationName;

	@ApiModelProperty(value = "所属部门ID")
	@Column(value = "department_id")
	private String departmentId;

	@ApiModelProperty(value = "所属部门编码")
	@Column(value = "department_code")
	private String departmentCode;

	@ApiModelProperty(value = "所属部门名称")
	@Column(value = "department_name")
	private String departmentName;

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

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "扩展字段6")
	@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 = "扩展字段7")
	@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 = "扩展字段8")
	@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 = "扩展字段9")
	@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 = "扩展字段10")
	@Column(value = "ext_date5")
	private Date extDate5;

	@ApiModelProperty(value = "扩展字段11")
	@Column(value = "ext_num1")
	private BigDecimal extNum1;

	@ApiModelProperty(value = "扩展字段12")
	@Column(value = "ext_num2")
	private BigDecimal extNum2;

	@ApiModelProperty(value = "扩展字段13")
	@Column(value = "ext_num3")
	private BigDecimal extNum3;

	@ApiModelProperty(value = "扩展字段14")
	@Column(value = "ext_num4")
	private BigDecimal extNum4;

	@ApiModelProperty(value = "扩展字段15")
	@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 = "创建时间")
	@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;

}
