package com.shkj.wms.domain;

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

/**
 * 号码管理对象 sys_seq_mana
 *
 * @author lch
 * @date 2022-04-11
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sys_seq_mana")
public class SysSeqMana implements Serializable {

private static final long serialVersionUID=1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "${comment}", width = 15 )
    private Long id;


    /**
     * 序列号名称
     */
    @Excel(name = "序列号名称", width = 20)
    private String seqName;


    /**
     * 序列号类型
     * 1 序列号编码+日期格式+流水号位数（当前流水号+序列号增量，位数为序列号位数，位数不足前面补0）
     * 2 取值当前流水号+序列号增量,不超过序列号最大值，若为最大值，重置序列号，从1开始
     */
    @Excel(name = "序列号类型", width = 20)
    private String seqType;


    /**
     * 序列号编码
     */
    @Excel(name = "序列号编码", width = 20)
    private String seqCode;


    /**
     * 序列前缀
     */
    @Excel(name = "序列前缀", width = 20)
    private String seqPrefix;


    /**
     * 序列号位数
     */
    @Excel(name = "序列号位数", width = 20)
    private Integer seqDigit;


    /**
     * 序列号日期格式 yyyy, yyyyMM, yyyyMMdd
     */
    @Excel(name = "序列号日期格式", width = 20)
    private String seqDate;


    /**
     * 序列号增量
     */
    @Excel(name = "序列号增量", width = 20)
    private Long seqIncrease;


    /**
     * 序列号最大值
     */
    @Excel(name = "序列号最大值", width = 20)
    private Long seqMax;


    /**
     * 当前流水号
     */
    @Excel(name = "当前流水号", width = 20)
    private Long seqCurrent;


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


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


    /**
     * 删除状态
     */
    @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;


}
