//package com.xty.health.act
//
//import android.os.Build
//import android.text.Html
//import android.text.Spannable
//import android.text.SpannableString
//import android.view.View
//import androidx.annotation.RequiresApi
//import androidx.core.content.ContextCompat
//import androidx.recyclerview.widget.LinearLayoutManager
//import androidx.recyclerview.widget.RecyclerView
//import com.alibaba.android.arouter.facade.annotation.Route
//import com.androidkun.xtablayout.XTabLayout
//import com.chad.library.adapter.base.entity.MultiItemEntity
//import com.hjq.toast.ToastUtils
//import com.tamsiree.rxkit.RxTimeTool
//import com.xty.base.act.BaseVmAct
//import com.xty.base.utils.UserInfoDefin
//import com.xty.common.*
//import com.xty.common.arouter.ARouterUrl
//import com.xty.common.arouter.RouteManager
//import com.xty.common.weight.CenterImageSpan
//import com.zj365.health.R
//import com.xty.health.adapter.HealthTabAdapter
//import com.xty.health.adapter.ReportInfoAdapter
//import com.zj365.health.databinding.ActHealthStatusBinding
//import com.xty.health.model.MyReportBean
//import com.xty.health.model.StatusBean
//import com.xty.health.vm.ReportVm
//import com.xty.health.weight.HealthDialog
//import com.xty.network.model.ReportBean
//
///**
// * 健康评估
// *
// * 目前没用了
// */
//@Route(path = ARouterUrl.HEALTH_STATUS)
//class HealthStatusAct : BaseVmAct<ReportVm>() {
//
//    //val mAdater by lazy{ HelathStarusAdapter() }
//    val mAdapter by lazy{ ReportInfoAdapter() }
//    val mAdapterAll by lazy{ HealthTabAdapter<MultiItemEntity>() }
//
//    val binding by lazy { ActHealthStatusBinding.inflate(layoutInflater) }
//    val tab by lazy { resources.getStringArray(R.array.status_title) }
//
//    val tipDialog by lazy{ HealthDialog(this,true,getString(R.string.tip_data)){
//    } }
//
//    var id = ""
//    var openId = ""
//    var nowPosition = 0
//    var statusData:ReportBean?=null
//    var listAllData= mutableListOf<MultiItemEntity>()
//    var reportBean: ReportBean? = null
//
//
//    override fun setLayout() = binding.root
//    override fun initData() {
//        super.initData()
//        id = intent.extras!!.getString("id").toString()
//        openId = intent.extras!!.getString("openId").toString()
//
//        reportBean = intent.extras!!.getSerializable("reportBean") as ReportBean?
//    }
//
//    @RequiresApi(Build.VERSION_CODES.M)
//    override fun initView() {
//        super.initView()
//        statusBar(binding.title.mView)
//        binding.title.mIvBack.setOnClickListener { finish() }
//        binding.title.mTvTitle.text = getString(R.string.health_analysis)
//        binding.title.mIvReight.apply {
//            visibility = View.VISIBLE
//            this.setImageResource(R.mipmap.icon_share)
//            this.setOnClickListener {
//                share()
//            }
//        }
//        binding.mGuid.setOnClickListener {
//            bundle.clear()
//            bundle.putString("id",id)
//            RouteManager.goAct(ARouterUrl.HEALTH_PROP,bundle)
//        }
//        initRecycle()
//        initTab(tab.toMutableList())
//
//        if (null == reportBean) {
//            mViewModel.get24HourReportInfo(id)
//        } else {
//            if (id.isNullOrEmpty() || reportBean?.user?.id?.equals(id) == true){//如果id是自己获取和当前获取的id一致则直接填充数据
//                reportBean?.let {
//                    updateReportInfo(it)
//                }
//            }else{
//                mViewModel.get24HourReportInfo(id)
//            }
//        }
//    }
//
//    private fun initRecycle(){
//        binding.mRecycle.layoutManager=LinearLayoutManager(this)
//        binding.mRecycle.adapter=mAdapterAll
//        mAdapterAll.addChildClickViewIds(R.id.mTvStatus)
//        mAdapterAll.setOnItemChildClickListener { adapter, view, position ->
//            tipDialog.show()
//        }
//
//        binding.mRecycle.addOnScrollListener(object : RecyclerView.OnScrollListener() {
//            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
//                super.onScrolled(recyclerView, dx, dy)
//                var layoutManager = recyclerView.layoutManager as LinearLayoutManager
//                nowPosition = layoutManager.findFirstVisibleItemPosition()
//                binding.xTablayout.getTabAt(nowPosition)!!.select()
//            }
//        })
//
//    }
//
//    private fun initTab(tabList:MutableList<String>) {
//        tabList.forEach {
//            var tab = binding.xTablayout.newTab()
//            tab.text = it
//            binding.xTablayout.addTab(tab)
//        }
//
//        binding.xTablayout.addOnTabSelectedListener(object : XTabLayout.OnTabSelectedListener {
//            override fun onTabSelected(tab: XTabLayout.Tab?) {
//                LogUtils.d("nowPosition:$nowPosition;;;position:${tab!!.position}")
//                nowPosition = tab!!.position
//                //反射直接将他的底裤掏出来
//                val declaredField = tab.javaClass.getDeclaredField("mView")
//                declaredField.isAccessible = true
//                var view = declaredField.get(tab) as View
//
//                if (view.isPressed) {
//                    (binding.mRecycle.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(
//                        nowPosition,
//                        0
//                    )
//                }
//
//            }
//
//            override fun onTabUnselected(tab: XTabLayout.Tab?) {
//            }
//
//            override fun onTabReselected(tab: XTabLayout.Tab?) {
//            }
//
//        })
//    }
//
//    override fun liveObserver() {
//        mViewModel.infoLive.observe(this) {
//           // setStatus()  MultiItemEntity
//            it.data?.let {
//                statusData=it
//                mViewModel.getAnalyse(id)
//            }
//
//        }
//        mViewModel.analysisLive.observe(this) {
//            listAllData.add(StatusBean(0).apply { this.bean=it.data })
//            listAllData.add(statusData!!.apply { this.itemType=1 })
//
//            listAllData.add(StatusBean(2).apply { this.bean=it.data })
//            listAllData.add(StatusBean(3).apply { this.bean=it.data })
//            mAdapterAll.setNewInstance(listAllData)
//
//   /*      binding.mTvStatus.apply {
//                text = healthStr[it.data.status.result+1]
//                setTextColor(
//                    ContextCompat.getColor(
//                        this@HealthStatusAct,
//                        healthCol[it.data.status.result+1]
//                    )
//                )
//            }
//            binding.mTvTime.text=it.data.status.createTime.substring(0,10)
//
//
//            var list= mutableListOf<MyReportBean>()
//
//
//            if( !it.data.analysis.TcmAnalysis.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="中医分析"
//                it.data.analysis.TcmAnalysis?.forEach {
//                    sb.append(it.dictName).append("\n")
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }
//*/
//         /*   if( !it.data.analysis.tcm.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="中医养生指导"
//                it.data.analysis.tcm?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }*/
//
///*
//
//            if( !it.data.analysis.WmAnalysis.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="西医分析"
//                it.data.analysis.WmAnalysis?.forEachIndexed { index, bean ->
//                    if(bean.dictName!="考虑症状"){
//                        sb.append(String.format(getString(R.string.analysis_desc),bean.dictName,bean.name)).append("\n")
//                        sb.append(String.format(getString(R.string.analysis_name),bean.name)).append("\n")
//                        sb.append(bean.content).append("\n")
//                    }
//
//                }
//
//               it.data.analysis.WmAnalysis?.forEachIndexed { index, bean ->
//                   if(bean.dictName=="考虑症状"){
//                       sb.append(String.format(getString(R.string.analysis_agree),"${bean.dictName}${bean.name}？")).append("\n")
//                       sb.append(bean.content).append("\n")
//                   }
//
//
//                }
//
//                bean.content=sb.toString()
//                list.add(bean)
//            }
//
//          */
///*  if( !it.data.analysis.wm.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="西医指导"
//                it.data.analysis.wm?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }*//*
//
//
//            */
///*if( !it.data.analysis.diet.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="饮食指导"
//                it.data.analysis.diet?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }
//*//*
//
//           */
///* if( !it.data.analysis.exercise.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="运动指导"
//                it.data.analysis.exercise?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }*//*
//
//
//
//
//          */
///*  if( !it.data.analysis.sleep.isNullOrEmpty()){
//                var bean=MyReportBean()
//                var sb = StringBuffer()
//                bean.name="睡眠方案建议"
//                it.data.analysis.sleep?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }*//*
//
//
//       */
///*     if( !it.data.analysis.nutrition.isNullOrEmpty()){
//                var bean= MyReportBean()
//                var sb = StringBuffer()
//                bean.name="营养处方"
//                it.data.analysis.nutrition?.forEach {
//                    sb.append(it.content).append("\n")
//                }
//                bean.content=sb.toString()
//                list.add(bean)
//            }
//*//*
//
//            mAdapter.setNewInstance(list)
//         //   setStatus()
//*/
//
//        }
//
///*        mViewModel.infoLive.observe(this) {
//            var statusInt=  if(it.data.status==null) "0" else it.data.status!!
//            binding.mTvStatus.apply {
//                text = healthStr[statusInt.toInt()+1]
//                setTextColor(
//                    ContextCompat.getColor(
//                        this@HealthStatusAct,
//                        healthCol[statusInt.toInt()+1]
//                    )
//                )
//            }
//        }*/
//
//    }
//
//
//    /**
//     * 更新24小时日报内容
//     */
//    private fun updateReportInfo(reportBean: ReportBean){
//        if (reportBean == null) {
//            ToastUtils.show("无当前时间的数据")
//            LogUtils.e("没有24小时报告信息")
//            return
//        }
//        user = reportBean.user
//
//        var sbMedical = java.lang.StringBuilder()
//        if (!user?.historyName.isNullOrEmpty()) {
//            sbMedical.append(user?.historyName).append(",")
//        }
//        if (!user?.tumour.isNullOrEmpty()) {
//            sbMedical.append(user?.tumour).append(",")
//        }
//        if (!user?.other.isNullOrEmpty()) {
//            sbMedical.append(user?.other).append(",")
//        }
//        if (sbMedical.toString().isNotEmpty()) {
//            var mecid = sbMedical.toString()
//            binding.mTvDis.text = mecid.substring(0, mecid.length - 1)
//        }
//
//
//
//        binding.mImage.setImageUser(baseContext, user?.avatarUrl)
//        binding.mName.text = user?.name
//        setStatus(reportBean)
//        var sexHtml = String.format(
//            getString(R.string.info_msg),
//            "性别",
//            UserInfoDefin.getSexArray(baseContext)[user?.sex!!.toInt() - 1]
//        )
//        binding.mSex.text = Html.fromHtml(sexHtml)
//        var ageHtml = String.format(getString(R.string.info_msg), "年龄", user?.age)
//        binding.mAge.text = Html.fromHtml(ageHtml)
//        var heightHtml =
//            String.format(getString(R.string.info_msg), "身高", "${user?.height}cm")
//        binding.mHeight.text = Html.fromHtml(heightHtml)
//        var weightHtml =
//            String.format(getString(R.string.info_msg), "体重", "${user?.weight}kg")
//        binding.mWeight.text = Html.fromHtml(weightHtml)
//
//        setHealthStatuAndStarInfo(reportBean)
//
//        reportCreateTime = reportBean.healthy.createTime
//
//        //目前不用服务器时间，改为当前时间取整十分的时间
//        binding.mTvTime.text =
//            "${RxTimeTool.getYestoryDate("MM-dd HH:mm")} - ${RxTimeTool.getCurrentDateTime("MM-dd HH:mm")}"
//
//        //目前不用服务器时间，改为当前时间取整十分的时间
//        var time = RxTimeTool.getCurrentDateTime("mm").toInt()
//        var sPrefix = String.format("%02d", time / 10 * 10)  //当前时间对应的整分钟数
//        var nowTimeStr = RxTimeTool.getCurrentDateTime("MM-dd HH") + ":${sPrefix}" //整点时间
//        binding.mTvTime.text =
//            "${RxTimeTool.getYestoryDate("MM-dd HH")}:${sPrefix} - ${nowTimeStr}"
//
//
//        binding.mAll.setAllData(reportBean.adorn.wearCount)
//        binding.mActive.setOtherData(reportBean.adorn.wearCount, reportBean.adorn.activeWear)
//        binding.mOther.setOtherData(reportBean.adorn.wearCount, reportBean.adorn.dormancy)
//
//
//        var list = mutableListOf<MyReportBean>()
//
//        list.add(setAnaList(reportBean.analysis.TcmAnalysis!!, "中医分析"))
//        list.add(setAnaList(reportBean.analysis.tcm!!, "中医养生指导"))
//        list.add(setAnaList(reportBean.analysis.WmAnalysis!!, "西医分析"))
//        if (!reportBean.analysis.WmAnalysis.isNullOrEmpty()) {
//            list.add(setAnaList(reportBean.analysis.wm!!, "西医指导"))
//        }
//        list.add(setAnaList(reportBean.analysis.diet!!, "饮食指导"))
//        list.add(setAnaList(reportBean.analysis.exercise!!, "运动指导"))
//        if (!reportBean.analysis.sleep.isNullOrEmpty()) {
//            list.add(setAnaList(reportBean.analysis.sleep!!, "睡眠方案建议"))
//        }
//        list.add(setAnaList(mutableListOf(), "睡眠监测", -1)) //单独的数据 放置睡眠数据
//        list.add(setAnaList(reportBean.analysis.nutrition!!, "营养处方"))
//
//        mAdapter.sleepBean = reportBean.sleep
//        mAdapter.setNewInstance(list)
//        //基础信息
//        var bsseInfo = reportBean.signData
//
//        if (null != bsseInfo){
//
//            var listInfo = mutableListOf<ReportBean.HrInfo>()
//
//            if (null != bsseInfo.hr){ //心率
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "心率",
//                        bsseInfo.hr.avg,
//                        bsseInfo.hr.min,
//                        bsseInfo.hr.max,
//                        bsseInfo.hr.count,
//                        "",
//                        R.mipmap.xl_small
//                    )
//                )
//            }
//
//            if (null != bsseInfo.dbp){//血压
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "血压",
//                        bsseInfo.dbp.avg,
//                        bsseInfo.dbp.min,
//                        bsseInfo.dbp.max,
//                        bsseInfo.dbp.count,
//                        "",
//                        R.mipmap.xya_small
//                    )
//                )
//            }
//
//            if (null != bsseInfo.so){//血氧
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "血氧",
//                        bsseInfo.so.avg,
//                        bsseInfo.so.min,
//                        bsseInfo.so.max,
//                        bsseInfo.so.count,
//                        "",
//                        R.mipmap.xy_small
//                    )
//                )
//            }
//
//            if (null != bsseInfo.temp) {//体温
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "体温",
//                        bsseInfo.temp.avg,
//                        bsseInfo.temp.min,
//                        bsseInfo.temp.max,
//                        bsseInfo.temp.count,
//                        "",
//                        R.mipmap.tw_small
//                    )
//                )
//            }
//
//            if (null != bsseInfo.respiratory) {//呼吸率
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "呼吸率",
//                        bsseInfo.respiratory.avg,
//                        bsseInfo.respiratory.min,
//                        bsseInfo.respiratory.max,
//                        bsseInfo.respiratory.count,
//                        "",
//                        R.mipmap.hxl_small
//                    )
//                )
//            }
//
//            if (null != bsseInfo.step) {//运动
//                listInfo.add(
//                    ReportBean.HrInfo(
//                        "运动",
//                        "",
//                        "",
//                        "",
//                        "",
//                        bsseInfo.step.step,
//                        R.mipmap.step_small
//                    )
//                )
//            }
//            infoAdapter.setNewInstance(listInfo)
//        }
//
//    }
//
//    /**
//     * 设置健康状态以及星级评价
//     */
//    private fun setHealthStatuAndStarInfo(reportBean: ReportBean){
//        binding.mTvStatus.apply {
//            var statusInt = if (reportBean.healthy == null) 0 else reportBean.healthy.result
//            tag = statusInt
//
//            var star = if (reportBean.star.isNullOrEmpty()) 0 else Integer.valueOf(reportBean.star)
//
//            text = UserInfoDefin.getHealthArray(baseContext)[statusInt + 1]
//            setTextColor(
//                ContextCompat.getColor(
//                    context,
//                    UserInfoDefin.healthCol[statusInt + 1]
//                )
//            )
//
//            append("\t\t")
//
//            var selectStarImage = context.getDrawable(R.mipmap.ic_sel_start)
//            selectStarImage?.setBounds(0, 0, selectStarImage.minimumWidth, selectStarImage.minimumHeight)
//
//            var unSelectStarImage = context.getDrawable(R.mipmap.ic_unsel_start)
//            unSelectStarImage?.setBounds(0, 0, unSelectStarImage.minimumWidth, unSelectStarImage.minimumHeight)
//
//            for (i in 1..5) {
//                val spanStr = SpannableString("custom$i")
//                var span = (if (star >= i) selectStarImage else unSelectStarImage)?.let { starDrawable ->
//                    CenterImageSpan(starDrawable)
//                }
//                spanStr.setSpan(span, 0, spanStr.length, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)
//                append(spanStr)
//            }
//
//        }
//    }
//
//    fun share(){
//        Const.mainLiveData.observe(this) {
//            var   user = it.user
//            var aesId = AESCrypt.encrypt("${user.id}")
//            var subtitle = "${user.name}的健康评估"
//            var url = "${BuildConfig.image_prefix}/shareApi/assessment/$aesId"
//            WxUtils.shareWebPage("健康评估", subtitle, this, url)
//        }
//
//    }
//}