package com.hotent.baseInfo.resp;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hotent.base.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 文书文号管理表
 *
 * @company 山西清众科技股份有限公司
 * @author 超级管理员
 * @since 2025-09-14
 */
@ApiModel(value="CostDocumentWh对象详情响应类", description="CostDocumentWh对象详情响应类")
@Data
public class CostDocumentWhDetailResp{

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键ID")
//    @TableId(value = "id", type = IdType.AUTO)
    @JsonProperty("id")
    private String id;
    
    @ApiModelProperty(value = "文号名称",required = true)
   //@TableField("wh_name")
    @JsonProperty("whName")
    private String whName;
    
    @ApiModelProperty(value = "文号别名",required = true)
   //@TableField("alias")
    @JsonProperty("alias")
    private String alias;
    
    
    @ApiModelProperty(value = "生成类型: incremental-递增, daily-每天生成, monthly-每月生成, yearly-每年生成",required = true)
   //@TableField("generate_type")
    @JsonProperty("generateType")
    private String generateType;
    
    @ApiModelProperty(value = "流水号规则",required = true)
   //@TableField("rule_pattern")
    @JsonProperty("rulePattern")
    private String rulePattern;
    
    @ApiModelProperty(value = "流水号长度",required = true)
   //@TableField("serial_length")
    @JsonProperty("serialLength")
    private Integer serialLength;
    
    @ApiModelProperty(value = "初始值",required = true)
   //@TableField("initial_value")
    @JsonProperty("initialValue")
    private Integer initialValue;
    
    @ApiModelProperty(value = "步长",required = true)
   //@TableField("step")
    @JsonProperty("step")
    private Integer step;
    
    @ApiModelProperty(value = "当前流水号值",required = true)
   //@TableField("current_value")
    @JsonProperty("currentValue")
    private Integer currentValue;
    
    @ApiModelProperty(value = "最后生成日期（用于按日/月/年重置）")
   //@TableField("last_generate_date")
    @JsonProperty("lastGenerateDate")
    private LocalDate lastGenerateDate;
    
    @ApiModelProperty(value = "启用状态：1启用 0停用",required = true)
   //@TableField("status")
    @JsonProperty("status")
    private String status;
    
    @ApiModelProperty(value = "逻辑删除：0正常 1已删除")
   //@TableField("is_deleted")
    @JsonProperty("isDeleted")
    private String isDeleted;

    @ApiModelProperty(value = "创建时间")
   //@TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonProperty("createTime")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人")
   //@TableField(value = "create_by", fill = FieldFill.INSERT)
    @JsonProperty("createBy")
    private String createBy;

    @ApiModelProperty(value = "更新时间")
   //@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "更新人")
   //@TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    @JsonProperty("updateBy")
    private String updateBy;
    
    @ApiModelProperty(value = "文号分类")
   //@TableField("wh_type")
    @JsonProperty("whType")
    private String whType;


    @ApiModelProperty(value = "所属省")
    @JsonProperty("province")
    private String province;

    @ApiModelProperty(value = "所属市")
    @JsonProperty("city")
    private String city;

    @ApiModelProperty(value = "所属区、县")
    @JsonProperty("county")
    private String county;


    @ApiModelProperty(value = "年号")
    @JsonProperty("year")
    private String year;

    @ApiModelProperty(value = "文号前缀")
    @JsonProperty("prefixText")
    private String prefixText;

}
