package com.casic.missiles.model.equipment;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.casic.missiles.annotation.DictCodeField;
import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * <p>
 * 标准装置-检定规程表
 * </p>
 *
 * @author cuicheng
 * @since 2022-12-15
 */
@Getter
@Setter
@TableName("equipment_standard_verify_regulation")
public class EquipmentStandardVerifyRegulation implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("id")
    @ApiModelProperty(value = "主键", dataType = "Long")
    private Long id;

    /**
     * 标准装置ID
     */
    @TableField("standard_equipment_id")
    @ApiModelProperty(value = "标准装置ID", dataType = "Long")
    private Long standardEquipmentId;

    /**
     * 检定规程ID
     */
    @TableField("verify_regulation_id")
    @ApiModelProperty(value = "检定规程ID", dataType = "Long")
    private Long verifyRegulationId;

    /**
     * 文件编号-系统生成
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "文件编号", dataType = "String")
    private String fileNo;

    /**
     * 文件名称
     */
    @ApiModelProperty(value = "文件名称", dataType = "String")
    @TableField(exist = false)
    private String fileName;

    /**
     * 文件号
     */
    @ApiModelProperty(value = "文件号", dataType = "String", required = true)
    @TableField(exist = false)
    private String fileCode;

    /**
     * 实施时间
     */
    @ApiModelProperty(value = "实施时间", dataType = "String")
    @TableField(exist = false)
    private String effectiveTime;

    /**
     * 实施状态-字典code
     */
    @ApiModelProperty(value = "实施状态", dataType = "String")
    @TableField(exist = false)
    @DictCodeField(message = "实施状态不合法", cacheName = MeterDictCode.EFFECTIVE_STATUS)
    private String effectiveStatus;

    @ApiModelProperty(value = "实施状态字典value（列表接口返回参数）", dataType = "String")
    @TableField(exist = false)
    private String effectiveStatusName;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 删除标记
     */
    @TableField("is_del")
    private Integer isDel;

    /**
     * 创建人
     */
    @TableField("create_user")
    private Long createUser;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;


}
