package com.xty.base.utils


/**
 * 器官状态识别
 */
object OrganStatusCalcUtil {

    fun heartStatu(statu: Int): Int {//0:正常 1：过缓 2：过速
        return if (statu < 50) {
            1
        } else if (statu > 100) {
            2
        } else {
            0
        }
    }

    fun UricAcidStatu(statu: Float, sex: String): Int {//尿酸状态值

        return if (sex == "1") { //男性
            if (statu > 420f) {
                2
            } else {
                1
            }
        } else {  //女性
            if (statu > 359f) {
                2
            } else {
                1
            }
        }
    }

    fun heartStrStatu(statu: Float): String {//心率状态
        return when (heartStatu(statu.toInt())) {
            1 ->
                "心动过缓"

            2 ->
                "心动过速"

            else ->
                "正常"
        }
    }

    fun bloodStatu(statu: Float): Int {//0:正常 1：低血压 2:1级高血压 3:2级高血压 4:3级高血压
        return if (statu < 90) {
            1
        } else if (statu in 140.0..159.0) {
            2
        } else if (statu in 160.0..179.0) {
            3
        } else if (statu >= 180) {
            4
        } else {
            0
        }
    }

    fun bloodStrStatu(statu: Float): String {//血压状态
        return when (bloodStatu(statu)) {
            1 ->
                "低血压"

            2 ->
                "一级高血压"

            3 ->
                "二级高血压"

            4 ->
                "三级高血压"

            else ->
                "正常"
        }
    }

    fun ooStatu(statu: Int): Int {//血氧状态值//0:正常  1：低血氧症 2：供氧不足
        return if (statu < 90) {
            1
        } else if (statu < 95) {
            2
        } else {
            0
        }
    }

    fun ooStrStatu(statu: Float): String {//血氧状态值
        return when (ooStatu(statu.toInt())) {
            2 -> "供氧不足"
            1 -> "低血氧症"
            else -> "正常"
        }
    }

    fun tempStatu(statu: Float): Int {//体温状态值 0正常 1低热 2中热 3高热 4超高热 5无效值
        return if (statu in 37.2..38.0) {
            1
        } else if (statu > 38.0 && statu <= 39.0) {
            2
        } else if (statu > 39.0 && statu <= 41.0) {
            3
        } else if (statu > 41.0) {
            4
        } else if (statu < 34.1 || statu > 42.9) {
            5
        } else {
            0
        }
    }

    fun tempStrStatu(statu: Float): String {//体温状态值
        return when (tempStatu(statu)) {
            1 -> "低热"
            2 -> "中热"
            3 -> "高热"
            4 -> "超高热"
            5 -> "无效值"
            else -> "正常"
        }
    }

    fun sleepStrStatu(statu: Float): String {//睡眠状态值
        return if (statu < 6) {
            "睡眠不足"
        } else if (statu > 10) {
            "睡眠过多"
        } else {
            "正常"
        }
    }

    fun respiratoryStatu(statu: Float): Int {//呼吸状态值 0正常 1呼吸过缓 2：呼吸过速 3：无效数据
        return if (statu < 12) {
            1
        } else if (statu > 24) {
            2
        } else if (statu < 8 || statu > 60) {
            3
        } else {
            0
        }
    }

    fun respiratoryStrStatu(statu: Float): String {//呼吸状态值
        return when (respiratoryStatu(statu)) {
            1 -> "呼吸过缓"
            2 -> "呼吸过速"
            3 -> "无效数据"
            else ->
                "正常"
        }
    }

    fun bloodSugarStatu(statu: Float): Int {//血糖状态值 0:正常 1:低血糖 2:高血糖
        return if (statu in 4.0..11.1) {
            0
        } else if (statu < 4) {
            1
        } else {
            2
        }
    }

    fun bloodSugarStatuText(statu: Float): String {//血糖状态值 0:正常 1:低血糖 2:高血糖
        return if (statu in 4.0..11.1) {
            "正常"
        } else if (statu < 4) {
            "低血糖"
        } else {
            "高血糖"
        }
    }


    var mSex: String = "1"
    fun UricAcidStatuText(statu: Float): String {//尿酸状态值

        return if (mSex == "1") {  //男性
            if (statu > 420f) {
                "高尿酸"
            } else {
                "正常"
            }
        } else { //女性
            if (statu > 359f) {
                "高尿酸"
            } else {
                "正常"
            }
        }
    }


    fun tcStatuText(statu: Float): String {//tc总胆固醇
        return if (statu > 2.82f && statu < 5.21f) {//2.83-5.20
            "正常"
        } else {
            "异常"
        }
    }

    fun tcStatus(status: Float):Int{ //tc 0是正常 1是异常
        return if (status > 2.82f && status < 5.21f) {//2.83-5.20
            0
        } else {
            1
        }
    }

    fun tgStatuText(statu: Float): String {//tg甘油三酯
        return if (statu > 0.44f && statu < 1.70f) {//0.45-1.69
            "正常"
        } else {
            "异常"
        }
    }

    fun tgStatus(status:Float):Int{ //tg 0是正常 1是异常
        return if (status > 0.44f && status < 1.70f) {//0.45-1.69
            0
        } else {
            1
        }
    }
    fun hdlStatuText(statu: Float): String {//hdl高密度脂蛋白
        return if(statu > 0.92f && statu < 1.94f) {//0.93-1.93
            "正常"
        } else {
            "异常"
        }
    }

    fun hdlStatus(status:Float) :Int{ // hdl 0是正常 1是异常
        return if (status > 0.92f && status < 1.94f) {//0.93-1.93
            0
        } else {
            1
        }
    }

    fun ldlStatuText(statu: Float): String {//ldl低密度脂蛋白
        return if (statu > -1f && statu < 3.13f) {//0.0-3.12
            "正常"
        } else {
            "异常"
        }
    }

    fun ldlStatus(status:Float): Int{ // ldl 0是正常 1是异常
        return if (status > -1f && status < 3.13f) {//0.0-3.12
            0
        } else {
            1
        }
    }

}