package com.prolog.rdc.tms.model.entity;

import java.io.Serializable;
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    :SysCodeengine
 * @author       :fanzw
 * @creationTime :2021/04/21
 * @description  :
 * 
 * @modifier     :fanzw
 * @modifyTime   :2021/04/21
 * @reviseRemarks:
 *
 * @version      :1.0.0
 *
 */
@Data
@Table(value = "sys_codeengine")
public class SysCodeengineModel implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "企业ID")
    @Column(value = "enterpriseid")
    private Long enterpriseId;

    @ApiModelProperty(value = "仓ID")
    @Column(value = "branchid")
    private Long branchId;

    @Id
    @ApiModelProperty(value = "号码代号")
    @Column(value = "codeid")
    private String codeid;

    @ApiModelProperty(value = "识别代号")
    @Column(value = "code")
    private String code;

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

    @ApiModelProperty(value = "号码类型分类")
    @Column(value = "codetype")
    private String codetype;

    @ApiModelProperty(value = "值类型")
    @Column(value = "codedatatype")
    private String codedatatype;

    @ApiModelProperty(value = "标识符")
    @Column(value = "codeflag")
    private String codeflag;

    @ApiModelProperty(value = "长度")
    @Column(value = "length")
    private Integer length;

    @ApiModelProperty(value = "间隔")
    @Column(value = "gap")
    private Integer gap;

    @ApiModelProperty(value = "最大单据号")
    @Column(value = "maxbillno")
    private String maxbillno;

    @ApiModelProperty(value = "号码规则")
    @Column(value = "billrule")
    private String billrule;

    @ApiModelProperty(value = "是否段资源定义")
    @Column(value = "issegsource")
    private String issegsource;

    @ApiModelProperty(value = "段代码取法")
    @Column(value = "segcodesql")
    private String segcodesql;

    @ApiModelProperty(value = "父识别号")
    @Column(value = "groupid")
    private String groupid;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "最后修改时间")
    @Column(value = "lastdate")
    private Date lastdate;
    
    @ApiModelProperty(value = "备注")
    @Column(value = "REMARK")
    private String remark;
    
	@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;
}
