package com.shkj.wms.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shkj.common.annotation.Excel;
import com.shkj.wms.constants.DictConstants;
import com.shkj.wms.validator.Dict;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
import java.io.Serializable;

/**
 * 地址对象 base_addresss
 *
 * @author lch
 * @date 2022-04-09
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("base_address")
public class BaseAddress implements Serializable {

private static final long serialVersionUID=1L;


    /**
     * 地址主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "地址主键id", width = 15 )
    private Long id;


    /**
     * 地址编号
     */
    @Excel(name = "地址编号", width = 20)
    private String addressId;


    /**
     * 客户编号
     */
    @Excel(name = "客户编号", width = 20)
    private Long companyId;


    /**
     * 地址名称
     */
    @Excel(name = "地址名称", width = 20)
    private String addressName;


    /**
     * 地址类型
     */
    @Excel(name = "地址类型", width = 20)
    @Dict(type= DictConstants.DictKey.address_type,message="地址类型与数据字典值不匹配")
    private String addressType;


    /**
     * 邮政编码
     */
    @Excel(name = "邮政编码", width = 20)
    private String postcode;


    /**
     * 联系人
     */
    @Excel(name = "联系人", width = 20)
    private String contactman;


    /**
     * 联系电话
     */
    @Excel(name = "联系电话", width = 20)
    private String tel;


    /**
     * 客户邮箱
     */
    @Excel(name = "客户邮箱", width = 20)
    private String addressMail;


    /**
     * 行政区域1
     */
    @Excel(name = "行政区域1", width = 20)
    private String addressZone1;


    /**
     * 行政区域2
     */
    @Excel(name = "行政区域2", width = 20)
    private String addressZone2;


    /**
     * 行政区域3
     */
    @Excel(name = "行政区域3", width = 20)
    private String addressZone3;


    /**
     * 行政区域4
     */
    @Excel(name = "行政区域4", width = 20)
    private String addressZone4;


    /**
     * 行政区域5
     */
    @Excel(name = "行政区域5", width = 20)
    private String addressZone5;


    /**
     * 行政区域6
     */
    @Excel(name = "行政区域6", width = 20)
    private String addressZone6;


    /**
     * 路线编号
     */
    @Excel(name = "路线编号", width = 20)
    private String lineno;


    /**
     * 路线名称
     */
    @Excel(name = "路线名称", width = 20)
    private String linename;


    /**
     * 装车顺序
     */
    @Excel(name = "装车顺序", width = 20)
    private Long loadOrder;


    /**
     * 备注
     */
    @Excel(name = "备注", width = 20)
    private String remark;


    /**
     * 货主ID
     */
    @Excel(name = "货主ID", width = 20)
    private Long consignorId;


    /**
     * 仓ID
     */
    @Excel(name = "仓ID", width = 20)
    private Long branchId;


    /**
     * 扩展字段1
     */
    @Excel(name = "扩展字段1", width = 20)
    private String extend1;


    /**
     * 扩展字段2
     */
    @Excel(name = "扩展字段2", width = 20)
    private String extend2;


    /**
     * 扩展字段3
     */
    @Excel(name = "扩展字段3", width = 20)
    private String extend3;


    /**
     * 扩展字段4
     */
    @Excel(name = "扩展字段4", width = 20)
    private String extend4;


    /**
     * 扩展字段5
     */
    @Excel(name = "扩展字段5", width = 20)
    private String extend5;


    /**
     * 删除状态
     */
    @Excel(name = "删除状态", width = 20)
    private String isDel;


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @Excel(name = "创建人", width = 20)
    private String createBy;


    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Excel(name = "修改人", width = 20)
    private String updateBy;


}
