package com.openhis.lab.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 检验类型
 * 
 * @author system
 * @date 2025-12-09
 */
@Data
@Accessors(chain = true)
@TableName(value = "inspection_type", autoResultMap = true)
public class InspectionType {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 检验类型编码 */
    private String code;

    /** 检验类型名称 */
    private String name;

    /** 所属科室 */
    private String department;

    /** 排序 */
    @TableField("\"order\"")
    private Integer sortOrder;

    /** 备注 */
    private String remark;

    /** 有效标志（1：有效，0：无效） */
    @TableField("valid_flag")
    @TableLogic(value = "1", delval = "0")
    private Integer validFlag;

    /** 创建时间 */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /** 更新时间 */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /** 版本号 */
    private Integer version;

    /**
     * 以下字段数据库表中不存在，用于禁用MyBatis Plus自动添加的字段
     */
    @TableField(exist = false)
    private String createBy;

    @TableField(exist = false)
    private String updateBy;

    @TableField(exist = false)
    private Integer tenantId;
}