package com.hxhq.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author zhangjing
 * @date 2026/01/28 15:28
 * @description 试剂库存信息
 */
@Data
@TableName("reagent_stock")
public class ReagentStock {
        /**
         *试剂库存ID（主键，雪花ID）
         **/
        @TableId(value = "reagent_stock_id", type = IdType.ASSIGN_ID)
        private String reagentStockId;

    /**
     *名称
     **/
    private String name;

    /**
     *编号（唯一标识，如批次+序列）
     **/
    @TableField(value = "sn")
    private String sn;

    /**
     *浓度/含量/纯度（数值）
     **/
    @TableField(value = "purity")
    private BigDecimal purity;

    /**
     *浓度/含量/纯度单位（如 mg/mL、%、mol/L）
     **/
    private String purityUnit;

    /**
     *库存数量（支持小数）
     **/
    private BigDecimal stockCount;

    /**
     *库存单位（如 mg、mL、g）
     **/
    private String stockUnit;

    /**
     *规格（如 100mL/瓶）
     **/
    private String specs;

    /**
     *来源（供应商或制备方式）
     **/
    private String source;

    /**
     *所属部门
     **/
    private String department;

    /**
     *批号
     **/
    private String batchNumber;

    /**
     *有效周期（数值，如 30）
     **/
    private String validityPeriod;

    /**
     *有效周期单位（hour/day/month/year）
     **/
    private String validityPeriodUnit;

    /**
     *失效日期（精确到秒）
     **/
    private LocalDateTime expiryDate;

    /**
     *存储位置（如 A-01-冰箱）
     **/
    private String storageLocation;

    /**
     *存储条件（如 -20℃避光）
     **/
    private String storageConditions;

    /**
     *配置日期（仅日期）
     **/
    private LocalDateTime configurationDate;

    /**
     *创建时间
     **/
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;




}
