package com.prolog.cs.biz.outbound.model;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.prolog.framework.core.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 订单排序规则
 * @author lihao
 * @Date 2022-6-1
 **/
@Data
@ApiModel("订单排序规则VO")
@Table(value = "wms_bill_sortrule")
public class BillSortRuleVO {

    @Id
    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    @ApiModelProperty(value = "排序规则表ID")
    @Column(value = "BILLSORTRULE_ID")
    private Long billSortRuleId;

    @ApiModelProperty(value = "仓库ID")
    @Column(value = "WAREHOUSE_ID")
    private String warehouseId;

    @ApiModelProperty(value = "仓库编码")
    @Column(value = "WAREHOUSE_CODE")
    @Excel(name="仓库编码",width=20,orderNum="1")
    private String warehouseCode;

    @ApiModelProperty(value = "仓库名称")
    @Column(value = "WAREHOUSE_NAME")
    @Excel(name="仓库名称",width=20,orderNum="2")
    private String warehouseName;

    @ApiModelProperty(value = "单据类型")
    @Column(value = "BILL_TYPE")
    private String billType;

    @ApiModelProperty(value = "配送方式")
    @Column(value = "deliver_type")
    private String deliverType;

    @ApiModelProperty(value = "订单紧急等级")
    @Column(value = "priority_level")
    private String priorityLevel;

    @ApiModelProperty(value = "优先级")
    @Column(value = "PRIORITY")
    @Excel(name="顺序号",width=20,orderNum="6")
    private String priority;

    @ApiModelProperty("企业id")
    @Column(
            value = "enterprise_id",
            jdbcType = "VARCHAR"
    )
    private String enterpriseId;

    @ApiModelProperty("创建时间")
    @Column("GMT_CREATE")
    @Excel(name="创建时间",width=20,orderNum="8",format = "yyyy-MM-dd HH:mm:ss")
    private Date gmtCreate;

    @ApiModelProperty("创建人编码")
    @Column("CREATOR")
    private String creator;

    @ApiModelProperty("创建人用户名")
    @Column("CREATOR_NAME")
    @Excel(name="创建人",width=20,orderNum="7")
    private String creatorName;

    @ApiModelProperty("修改时间")
    @Column("GMT_MODIFIED")
    @Excel(name="修改时间",width=20,orderNum="10",format = "yyyy-MM-dd HH:mm:ss")
    private Date gmtModified;

    @ApiModelProperty("修改人编码")
    @Column("MODIFIER")
    private String modifier;

    @ApiModelProperty("修改人用户名")
    @Column("MODIFIER_NAME")
    @Excel(name="修改人",width=20,orderNum="9")
    private String modifierName;

    @ApiModelProperty(value = "是否启用")
    @Column(value = "IS_ENABLED")
    private String isEnabled;

    @ApiModelProperty(value = "单据类型展示值")
    @Ignore
    @Excel(name="单据类型",width=20,orderNum="3")
    private String billTypeName;

    @ApiModelProperty(value = "配送方式展示值")
    @Ignore
    @Excel(name="配送方式",width=20,orderNum="4")
    private String deliverTypeName;

    @ApiModelProperty(value = "紧急等级展示值")
    @Ignore
    @Excel(name="紧急等级",width=20,orderNum="5")
    private String priorityLevelName;
}
