package digital.laboratory.platform.inspection.constant;

/**
 * 关于计算检验数据中的相对误差、离子丰度比相对误差的一些常量数据
 */
public interface TestRecordSampleDataConstant {
    // 毛发案件
    double HAIR_CASE_POSITIVE_RT_ERROR = 2.5; // 保留时间相对误差（正负2.5%） +

    double HAIR_CASE_NEGATIVE_RT_ERROR = -2.5; // 保留时间相对误差（正负2.5%） -

    double HAIR_CASE_ION_ABUNDANCE_RATIO_1 = 50; // 离子丰度比 中的比较值1 50%

    double HAIR_CASE_ION_ABUNDANCE_RATIO_2 = 20; // 离子丰度比 中的比较值2 20%

    double HAIR_CASE_ION_ABUNDANCE_RATIO_3 = 10; // 离子丰度比 中的比较值3 10%

    double HAIR_CASE_POSITIVE_MAX_ALLOW_ERROR_1 = 20d; // 离子丰度比 > 50% 的最大允许偏差范围（正负20%） +

    double HAIR_CASE_NEGATIVE_MAX_ALLOW_ERROR_1 = -20d; // 离子丰度比 > 50% 的最大允许偏差范围（正负20%） -

    double HAIR_CASE_POSITIVE_MAX_ALLOW_ERROR_2 = 25d; //  20% < 离子丰度比 < 50% 的最大允许偏差范围（正负25%） +

    double HAIR_CASE_NEGATIVE_MAX_ALLOW_ERROR_2 = -25d; // 20% < 离子丰度比 < 50% 的最大允许偏差范围（正负25%） -

    double HAIR_CASE_POSITIVE_MAX_ALLOW_ERROR_3 = 30d; //  10% < 离子丰度比 < 20% 的最大允许偏差范围（正负30%） +

    double HAIR_CASE_NEGATIVE_MAX_ALLOW_ERROR_3 = -30d; // 10% < 离子丰度比 < 20% 的最大允许偏差范围（正负30%） -

    double HAIR_CASE_POSITIVE_MAX_ALLOW_ERROR_4 = 50d; //   离子丰度比 < 10% 的最大允许偏差范围（正负50%） +

    double HAIR_CASE_NEGATIVE_MAX_ALLOW_ERROR_4 = -50d; //  离子丰度比 < 10% 的最大允许偏差范围（正负50%） -


    /**********************************************关于溶液类型的常量值*******************************************************************/

    String SAMPLE_TYPE_QC = "QC"; // 质控样品

    String SAMPLE_TYPE_ANALYTE = "Analyte"; // 检材样本

    String SAMPLE_TYPE_STD = "STD"; // 标准物质

    /******************************************管理 判断是否符合 的常量****************************************************/
    String IS = "是";

    String NO = "否";

    /************************************************ 检出 或 未检出 常量属性 *****************************************************************/
    String CHECK_OUT = "检出";

    String NOT_CHECK_OUT = "未检出";

    /***********************************************组装数据时常用的自定义健**********************************************************/
    String LABEL = "label"; // 对应的中午

    String PROP = "prop"; // 对应的英文值名称

    /**************************************************化合物基峰的字典类型值******************************************************************/

    String COMPOUND_BASIC_PEAK = "compound_basic_peak";

    /***************************************************  无效值的常量  ******************************************************************************************/

     Double INVALID_VALUE = -999d;

     String INVALID_VALUE_STR = "/";

     // 判断当前值是否是无效值
    static boolean isInvalidValue(Double value) {
        return value != null && INVALID_VALUE.equals(value);
    }
}
