|
|
|
@ -38,16 +38,17 @@ import java.util.Locale
|
|
|
|
|
/**
|
|
|
|
|
* 血脂数据对比
|
|
|
|
|
*/
|
|
|
|
|
@Suppress("NAME_SHADOWING")
|
|
|
|
|
class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
|
|
|
|
|
private var week: Int = 1//默认点击时间是选择时间还是对比时间 1,选择, 2 对比
|
|
|
|
|
val binding by lazy { FragBloodLipidCompareDataBinding.inflate(layoutInflater) }
|
|
|
|
|
val tcAdapter by lazy { CompareAdapter() }
|
|
|
|
|
override fun setLayout() = binding.root
|
|
|
|
|
override fun setViewModel() = BloodFatCompareVm()
|
|
|
|
|
|
|
|
|
|
val tgAdapter by lazy { CompareAdapter() }
|
|
|
|
|
val hdlAdapter by lazy { CompareAdapter() }
|
|
|
|
|
val ldlAdapter by lazy { CompareAdapter() }
|
|
|
|
|
private var week: Int = 1//默认点击时间是选择时间还是对比时间 1,选择, 2 对比
|
|
|
|
|
private val tcAdapter by lazy { CompareAdapter() }
|
|
|
|
|
private val tgAdapter by lazy { CompareAdapter() }
|
|
|
|
|
private val hdlAdapter by lazy { CompareAdapter() }
|
|
|
|
|
private val ldlAdapter by lazy { CompareAdapter() }
|
|
|
|
|
|
|
|
|
|
val fomartStr by lazy { arrayOf("HH:mm", "HH:mm", "MM-dd", "MM-dd", "yy-MM") }
|
|
|
|
|
|
|
|
|
@ -57,8 +58,8 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
private val mTitles = arrayOf(
|
|
|
|
|
"日", "周", "月", "年"
|
|
|
|
|
)
|
|
|
|
|
/* var lineValue = arrayListOf<Entry>() //曲线数据
|
|
|
|
|
var lineValueCompare = arrayListOf<Entry>() //曲线数据*/
|
|
|
|
|
/* var lineValue = arrayListOf<Entry>() //曲线数据
|
|
|
|
|
var lineValueCompare = arrayListOf<Entry>() //曲线数据*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var id: String = ""
|
|
|
|
@ -81,6 +82,11 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
|
|
|
|
|
private var bottomSheetDialog: BottomSheetDialog? = null
|
|
|
|
|
private var weekWheelView: WheelView? = null
|
|
|
|
|
private lateinit var tcList: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
private lateinit var tcListCompare: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
|
|
|
|
|
private var tcBarValue = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
private var tcBarValueCompare = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
|
|
|
|
|
@SuppressLint("SuspiciousIndentation")
|
|
|
|
|
fun initBottomDialog() {
|
|
|
|
@ -168,7 +174,6 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
return dateRanges
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
override fun setLayout() = binding.root
|
|
|
|
|
override fun initData() {
|
|
|
|
|
super.initData()
|
|
|
|
|
id = arguments?.getString("id").toString()
|
|
|
|
@ -181,10 +186,10 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
initCharts()
|
|
|
|
|
initRecycle()
|
|
|
|
|
setTimeSelect()
|
|
|
|
|
binding.clTc.tvTitle.text ="总胆固醇"
|
|
|
|
|
binding.clTg.tvTitle.text ="甘油三酯"
|
|
|
|
|
binding.clHdl.tvTitle.text ="高密度脂蛋白"
|
|
|
|
|
binding.clLdl.tvTitle.text ="低密度脂蛋白"
|
|
|
|
|
binding.clTc.tvTitle.text = "总胆固醇"
|
|
|
|
|
binding.clTg.tvTitle.text = "甘油三酯"
|
|
|
|
|
binding.clHdl.tvTitle.text = "高密度脂蛋白"
|
|
|
|
|
binding.clLdl.tvTitle.text = "低密度脂蛋白"
|
|
|
|
|
|
|
|
|
|
binding.tvShowDate.setOnClickListener {
|
|
|
|
|
when (type) {
|
|
|
|
@ -211,7 +216,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
binding.tvHideDate.setOnClickListener {
|
|
|
|
|
when (type) {
|
|
|
|
|
1 -> {
|
|
|
|
|
var calendar = Calendar.getInstance()
|
|
|
|
|
val calendar = Calendar.getInstance()
|
|
|
|
|
if (!TextUtils.isEmpty(timeSelect!!.selectTime)) {
|
|
|
|
|
val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
|
|
|
|
|
val date = dateFormat.parse(timeSelect!!.selectTime)
|
|
|
|
@ -259,8 +264,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
3 -> {
|
|
|
|
|
var calendar = Calendar.getInstance()
|
|
|
|
|
|
|
|
|
|
val calendar = Calendar.getInstance()
|
|
|
|
|
timeMonthSelect!!.selectTime
|
|
|
|
|
if (!TextUtils.isEmpty(timeMonthSelect!!.selectTime)) {
|
|
|
|
|
val dateFormat = SimpleDateFormat("yyyy-MM", Locale.getDefault())
|
|
|
|
@ -302,8 +306,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
4 -> {
|
|
|
|
|
var calendar = Calendar.getInstance()
|
|
|
|
|
|
|
|
|
|
val calendar = Calendar.getInstance()
|
|
|
|
|
if (!TextUtils.isEmpty(timeYearSelect!!.selectTime)) {
|
|
|
|
|
val dateFormat = SimpleDateFormat("yyyy", Locale.getDefault())
|
|
|
|
|
val date = dateFormat.parse(timeYearSelect!!.selectTime)
|
|
|
|
@ -338,7 +341,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
/* RxTimeTool.getCurTimeString(SimpleDateFormat("yyyy-MM-dd"))*/
|
|
|
|
|
SimpleDateFormat("yyyy-MM-dd").format(getdateMunise(-1)),
|
|
|
|
|
SimpleDateFormat("yyyy-MM-dd").format(getdateMunise(-2)), id
|
|
|
|
|
)//TODO
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -346,7 +349,6 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
*/
|
|
|
|
|
@SuppressLint("SimpleDateFormat")
|
|
|
|
|
private fun setTimeSelect() {
|
|
|
|
|
|
|
|
|
|
var calendar = Calendar.getInstance()
|
|
|
|
|
calendar.time = getdateMunise(-1)
|
|
|
|
|
binding.tvShowDate.text = SimpleDateFormat("yyyy-MM-dd").format(calendar.time)
|
|
|
|
@ -360,7 +362,8 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
mViewModel.getBloodLipidData(
|
|
|
|
|
type,
|
|
|
|
|
dayDate,
|
|
|
|
|
binding.tvHideDate.text.toString(), id
|
|
|
|
|
binding.tvHideDate.text.toString(),
|
|
|
|
|
id
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
timeSelect!!.startDate.set(1922, 1, 1)
|
|
|
|
@ -386,9 +389,13 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
mViewModel.getBloodLipidData(
|
|
|
|
|
type,
|
|
|
|
|
binding.tvShowDate.text.toString(),
|
|
|
|
|
binding.tvHideDate.text.toString(), id
|
|
|
|
|
binding.tvHideDate.text.toString(),
|
|
|
|
|
id
|
|
|
|
|
)
|
|
|
|
|
timeMonthSelect?.selectTimeWithYearMonth(
|
|
|
|
|
binding.tvShowDate,
|
|
|
|
|
"yyyy-MM"
|
|
|
|
|
)
|
|
|
|
|
timeMonthSelect?.selectTimeWithYearMonth(binding.tvShowDate, "yyyy-MM")
|
|
|
|
|
}
|
|
|
|
|
timeMonthSelect!!.startDate.set(Calendar.YEAR, 1922)
|
|
|
|
|
timeMonthSelect!!.startDate.set(Calendar.MONTH, 1)
|
|
|
|
@ -415,7 +422,10 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
binding.tvShowDate.text.toString(),
|
|
|
|
|
binding.tvHideDate.text.toString(), id
|
|
|
|
|
)
|
|
|
|
|
timeYearSelect?.selectTimeWithYearMonth(binding.tvShowDate, "yyyy")
|
|
|
|
|
timeYearSelect?.selectTimeWithYearMonth(
|
|
|
|
|
binding.tvShowDate,
|
|
|
|
|
"yyyy"
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
timeYearSelect!!.startDate.set(Calendar.YEAR, 1922)
|
|
|
|
@ -430,12 +440,12 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
mViewModel.getBloodLipidData(
|
|
|
|
|
type,
|
|
|
|
|
binding.tvShowDate.text.toString(),
|
|
|
|
|
binding.tvHideDate.text.toString(), id
|
|
|
|
|
binding.tvHideDate.text.toString(),
|
|
|
|
|
id
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
timeYearSelectCompare!!.startDate.set(Calendar.YEAR, 1922)
|
|
|
|
|
timeYearSelectCompare!!.endDate = calendaryear
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun getdateMunise(int: Int): Date {
|
|
|
|
@ -444,24 +454,17 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
return calendar.time
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun setViewModel() = BloodFatCompareVm()
|
|
|
|
|
|
|
|
|
|
fun convertTimeToIndex(time: String): Int {
|
|
|
|
|
// 将时间格式转换为小时和分钟
|
|
|
|
|
val parts = time.split(":")
|
|
|
|
|
val hours = parts[0].toInt()
|
|
|
|
|
val minutes = parts[1].toInt()
|
|
|
|
|
|
|
|
|
|
// 计算对应的分钟数
|
|
|
|
|
val totalMinutes = hours * 60 + minutes
|
|
|
|
|
|
|
|
|
|
// 计算对应的索引值
|
|
|
|
|
val index = totalMinutes / 10
|
|
|
|
|
|
|
|
|
|
return index
|
|
|
|
|
return totalMinutes / 10
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun splitDataIntoSegments(dataList: MutableList<ModelCompare>): MutableList<MutableList<ModelCompare>> {
|
|
|
|
|
val segments = mutableListOf<MutableList<ModelCompare>>()
|
|
|
|
|
var currentSegment = mutableListOf<ModelCompare>()
|
|
|
|
@ -478,12 +481,10 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
currentSegment.add(model)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 将最后一个线段添加到结果中
|
|
|
|
|
if (currentSegment.isNotEmpty()) {
|
|
|
|
|
segments.add(currentSegment)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return segments
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -500,7 +501,6 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
d.add(b)
|
|
|
|
|
segmentsCompare.add(d)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return segmentsCompare
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -516,7 +516,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
|
|
when (type) {
|
|
|
|
|
1 -> {//日
|
|
|
|
|
it.data.model =it.data.mapDataToTime(it.data.model)
|
|
|
|
|
it.data.model = it.data.mapDataToTime(it.data.model)
|
|
|
|
|
it.data.modelCompare = it.data.mapDataToTime(it.data.modelCompare)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -555,20 +555,16 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
setHDLChartData(it.data)
|
|
|
|
|
setLDLChartData(it.data)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
binding.clTc.comprehensiveContent.text = it.data.tcContent
|
|
|
|
|
binding.clTg.comprehensiveContent.text = it.data.tgContent
|
|
|
|
|
binding.clHdl.comprehensiveContent.text = it.data.hdlContent
|
|
|
|
|
binding.clLdl.comprehensiveContent.text = it.data.ldlContent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
binding.comprehensiveBlContent.text = it.data.comprehensiveContent
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun initTab() {
|
|
|
|
|
|
|
|
|
|
val currentDay = Date()
|
|
|
|
|
dayDate = TimeUtils.date2String(currentDay, "yyyy-MM-dd")
|
|
|
|
|
// weekDate = "${TimeUtils.date2String(getDateAdd(6), "yyyy-MM-dd")}至$dayDate"
|
|
|
|
@ -587,7 +583,6 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
@SuppressLint("SetTextI18n")
|
|
|
|
|
override fun onTabSelect(position: Int) {
|
|
|
|
|
binding.commonTabLayout.currentTab = position
|
|
|
|
|
|
|
|
|
|
when (position) {
|
|
|
|
|
0 -> {
|
|
|
|
|
type = 1
|
|
|
|
@ -627,8 +622,10 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
2 -> {
|
|
|
|
|
binding.showTitle.text = "选择月"
|
|
|
|
|
binding.hideTitle.text = "对比月"
|
|
|
|
|
binding.tvShowDate.text = HealthDateAndTimeUtils.getPreviousMonthDateRange(1)
|
|
|
|
|
binding.tvHideDate.text = HealthDateAndTimeUtils.getPreviousMonthDateRange(2)
|
|
|
|
|
binding.tvShowDate.text =
|
|
|
|
|
HealthDateAndTimeUtils.getPreviousMonthDateRange(1)
|
|
|
|
|
binding.tvHideDate.text =
|
|
|
|
|
HealthDateAndTimeUtils.getPreviousMonthDateRange(2)
|
|
|
|
|
type = 3
|
|
|
|
|
mViewModel.getBloodLipidData(
|
|
|
|
|
type,
|
|
|
|
@ -667,7 +664,8 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* *//**
|
|
|
|
|
/* */
|
|
|
|
|
/**
|
|
|
|
|
* 获取上个月 monthCount 月数
|
|
|
|
|
*//*
|
|
|
|
|
fun getPreviousMonthDateRange(monthCount: Int): String {
|
|
|
|
@ -680,7 +678,8 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
return previousMonth
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*//**
|
|
|
|
|
*/
|
|
|
|
|
/**
|
|
|
|
|
* 获取上周的礼拜 周数
|
|
|
|
|
*//*
|
|
|
|
|
fun getPreviousWeekDateRange(weekCount: Int): String {
|
|
|
|
@ -704,293 +703,337 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
return startDate + "至$endDate"
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
lateinit var tcList: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
private lateinit var tcListCompare: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
|
|
|
|
|
var tcBarValue = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
var tcBarValueCompare = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
private fun setTCChartData(data: BloodLipidDataBean) {
|
|
|
|
|
setAvgInfo(data,BloodFatType.Tc)
|
|
|
|
|
setAvgInfo(data, BloodFatType.Tc)
|
|
|
|
|
tcList = data.model
|
|
|
|
|
tcListCompare = data.modelCompare
|
|
|
|
|
tcBarValue.clear()
|
|
|
|
|
tcBarValueCompare.clear()
|
|
|
|
|
var rever: IntProgression
|
|
|
|
|
if (tcList.size < tcListCompare.size) {
|
|
|
|
|
rever = (tcListCompare.indices).reversed()
|
|
|
|
|
val rever = if (tcList.size < tcListCompare.size) {
|
|
|
|
|
(tcListCompare.indices).reversed()
|
|
|
|
|
} else {
|
|
|
|
|
rever = (tcList.indices).reversed()
|
|
|
|
|
(tcList.indices).reversed()
|
|
|
|
|
}
|
|
|
|
|
if (type == 3) {
|
|
|
|
|
var compare = tcListCompare.size - tcList.size
|
|
|
|
|
if (compare > 0) {
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
tcList.add(tcList.size,BloodLipidDataBean.ModelBean(0f,0f,0f,0f,tcListCompare[tcList.size].time))
|
|
|
|
|
tcList.add(
|
|
|
|
|
tcList.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
tcListCompare[tcList.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
} else if (compare < 0) {
|
|
|
|
|
compare = 0 - compare
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
tcListCompare.add(
|
|
|
|
|
tcListCompare.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(0f,0f,0f,0f,tcList[tcListCompare.size].time)
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
tcList[tcListCompare.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (i in rever) {
|
|
|
|
|
//中间两端在x轴显示尺度 其他情况下不显示
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
var listTipG = mutableListOf<String>()
|
|
|
|
|
listTipG.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipG.add("0")
|
|
|
|
|
listTipG.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipG.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
|
|
|
|
|
if (tcList[tcList.size - 1 - i].tc == 0f) {
|
|
|
|
|
tcList[tcList.size - 1 - i].tc = Float.NaN
|
|
|
|
|
} else {
|
|
|
|
|
tcList[tcList.size - 1 - i].tc
|
|
|
|
|
}
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipG
|
|
|
|
|
when (type) {
|
|
|
|
|
1 -> {
|
|
|
|
|
val listTipG = mutableListOf<String>()
|
|
|
|
|
listTipG.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipG.add("0")
|
|
|
|
|
listTipG.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipG.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
|
|
|
|
|
if (tcList[tcList.size - 1 - i].tc == 0f) {
|
|
|
|
|
tcList[tcList.size - 1 - i].tc = Float.NaN
|
|
|
|
|
} else {
|
|
|
|
|
tcList[tcList.size - 1 - i].tc
|
|
|
|
|
}
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipG
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (tcListCompare[tcListCompare.size - 1 - i].tc == 0f)
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc = Float.NaN
|
|
|
|
|
else
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc
|
|
|
|
|
if (tcListCompare[tcListCompare.size - 1 - i].tc == 0f)
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc = Float.NaN
|
|
|
|
|
else
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc
|
|
|
|
|
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipG
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipG
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
var listTipW = mutableListOf<String>()
|
|
|
|
|
listTipW.add(weeker[weeker.size - i - 1])
|
|
|
|
|
listTipW.add("0")
|
|
|
|
|
listTipW.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipW.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipW
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
2 -> {
|
|
|
|
|
val listTipW = mutableListOf<String>()
|
|
|
|
|
listTipW.add(weeker[weeker.size - i - 1])
|
|
|
|
|
listTipW.add("0")
|
|
|
|
|
listTipW.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipW.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipW
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipW
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipW
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
} else if (type == 3) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipY.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
3 -> {
|
|
|
|
|
val listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipY.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
} else {
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipY.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else -> {
|
|
|
|
|
val listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tcList[tcList.size - 1 - i].tc.toString())
|
|
|
|
|
listTipY.add(tcListCompare[tcListCompare.size - 1 - i].tc.toString())
|
|
|
|
|
tcBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcList.size - 1 - i).toFloat(),
|
|
|
|
|
tcList[tcList.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
tcBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tcListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tcListCompare[tcListCompare.size - 1 - i].tc,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
binding.clTc.mBarChart.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val min =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMix(data.value.minTc, data.valueCompare.minTc)
|
|
|
|
|
|
|
|
|
|
val max =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMax(data.value.maxTc, data.valueCompare.maxTc)
|
|
|
|
|
val min = BloodLipidGetMinMaxChart.getBloodLipidMix(
|
|
|
|
|
data.value.minTc,
|
|
|
|
|
data.valueCompare.minTc
|
|
|
|
|
)
|
|
|
|
|
val max = BloodLipidGetMinMaxChart.getBloodLipidMax(
|
|
|
|
|
data.value.maxTc,
|
|
|
|
|
data.valueCompare.maxTc
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
BaseChartInitUtils.initBarChartTwo(
|
|
|
|
|
requireContext(), binding.clTc.mBarChart, min, max, tcBarValue, tcBarValueCompare,
|
|
|
|
|
ICompareMarkView.MarkPage.BloodFilip, "mmol/L", type, 1f
|
|
|
|
|
requireContext(),
|
|
|
|
|
binding.clTc.mBarChart,
|
|
|
|
|
min,
|
|
|
|
|
max,
|
|
|
|
|
tcBarValue,
|
|
|
|
|
tcBarValueCompare,
|
|
|
|
|
ICompareMarkView.MarkPage.BloodFilip,
|
|
|
|
|
"mmol/L",
|
|
|
|
|
type,
|
|
|
|
|
1f
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lateinit var tgList: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
private lateinit var tgListCompare: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
|
|
|
|
|
var tgBarValue = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
var tgBarValueCompare = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
private fun setTGChartData(data: BloodLipidDataBean) {
|
|
|
|
|
setAvgInfo(data,BloodFatType.Tg)
|
|
|
|
|
setAvgInfo(data, BloodFatType.Tg)
|
|
|
|
|
tgList = data.model
|
|
|
|
|
tgListCompare = data.modelCompare
|
|
|
|
|
tgBarValue.clear()
|
|
|
|
|
tgBarValueCompare.clear()
|
|
|
|
|
var rever: IntProgression
|
|
|
|
|
if (tgList.size < tgListCompare.size) {
|
|
|
|
|
rever = (tgListCompare.indices).reversed()
|
|
|
|
|
val rever = if (tgList.size < tgListCompare.size) {
|
|
|
|
|
(tgListCompare.indices).reversed()
|
|
|
|
|
} else {
|
|
|
|
|
rever = (tgList.indices).reversed()
|
|
|
|
|
(tgList.indices).reversed()
|
|
|
|
|
}
|
|
|
|
|
if (type == 3) {
|
|
|
|
|
var compare = tgListCompare.size - tgList.size
|
|
|
|
|
if (compare > 0) {
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
tgList.add(tgList.size,BloodLipidDataBean.ModelBean(0f,0f,0f,0f,tgListCompare[tgList.size].time))
|
|
|
|
|
tgList.add(
|
|
|
|
|
tgList.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
tgListCompare[tgList.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
} else if (compare < 0) {
|
|
|
|
|
compare = 0 - compare
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
tgListCompare.add(
|
|
|
|
|
tgListCompare.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(0f,0f,0f,0f,tgList[tgListCompare.size].time)
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
tgList[tgListCompare.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (i in rever) {
|
|
|
|
|
//中间两端在x轴显示尺度 其他情况下不显示
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
var listTipG = mutableListOf<String>()
|
|
|
|
|
listTipG.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipG.add("0")
|
|
|
|
|
listTipG.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipG.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
|
|
|
|
|
if (tgList[tgList.size - 1 - i].tg == 0f) {
|
|
|
|
|
tgList[tgList.size - 1 - i].tg = Float.NaN
|
|
|
|
|
} else {
|
|
|
|
|
tgList[tgList.size - 1 - i].tg
|
|
|
|
|
}
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipG
|
|
|
|
|
when (type) {
|
|
|
|
|
1 -> {
|
|
|
|
|
val listTipG = mutableListOf<String>()
|
|
|
|
|
listTipG.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipG.add("0")
|
|
|
|
|
listTipG.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipG.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
|
|
|
|
|
if (tgList[tgList.size - 1 - i].tg == 0f) {
|
|
|
|
|
tgList[tgList.size - 1 - i].tg = Float.NaN
|
|
|
|
|
} else {
|
|
|
|
|
tgList[tgList.size - 1 - i].tg
|
|
|
|
|
}
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipG
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (tgListCompare[tgListCompare.size - 1 - i].tg == 0f)
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg = Float.NaN
|
|
|
|
|
else
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg
|
|
|
|
|
if (tgListCompare[tgListCompare.size - 1 - i].tg == 0f)
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg = Float.NaN
|
|
|
|
|
else
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg
|
|
|
|
|
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipG
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipG
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
} else if (type == 2) {
|
|
|
|
|
var listTipW = mutableListOf<String>()
|
|
|
|
|
listTipW.add(weeker[weeker.size - i - 1])
|
|
|
|
|
listTipW.add("0")
|
|
|
|
|
listTipW.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipW.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipW
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
2 -> {
|
|
|
|
|
var listTipW = mutableListOf<String>()
|
|
|
|
|
listTipW.add(weeker[weeker.size - i - 1])
|
|
|
|
|
listTipW.add("0")
|
|
|
|
|
listTipW.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipW.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipW
|
|
|
|
|
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipW
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipW
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
} else if (type == 3) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipY.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
3 -> {
|
|
|
|
|
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipY.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
} else {
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipY.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else -> {
|
|
|
|
|
var listTipY = mutableListOf<String>()
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].time)
|
|
|
|
|
listTipY.add("0")
|
|
|
|
|
listTipY.add(tgList[tgList.size - 1 - i].tg.toString())
|
|
|
|
|
listTipY.add(tgListCompare[tgListCompare.size - 1 - i].tg.toString())
|
|
|
|
|
tgBarValue.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgList.size - 1 - i).toFloat(),
|
|
|
|
|
tgList[tgList.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
tgBarValueCompare.add(
|
|
|
|
|
BarEntry(
|
|
|
|
|
(tgListCompare.size - 1 - i).toFloat(),
|
|
|
|
|
tgListCompare[tgListCompare.size - 1 - i].tg,
|
|
|
|
|
listTipY
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
binding.clTg.mBarChart.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val min =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMix(data.value.minTg, data.valueCompare.minTg)
|
|
|
|
|
|
|
|
|
|
val max =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMax(data.value.maxTg, data.valueCompare.maxTg)
|
|
|
|
|
|
|
|
|
@ -999,13 +1042,14 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
ICompareMarkView.MarkPage.BloodFilip, "mmol/L", type, 1f
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lateinit var hdlList: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
private lateinit var hdlListCompare: MutableList<BloodLipidDataBean.ModelBean>
|
|
|
|
|
|
|
|
|
|
var hdlBarValue = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
var hdlBarValueCompare = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
private fun setHDLChartData(data: BloodLipidDataBean) {
|
|
|
|
|
setAvgInfo(data,BloodFatType.Hdl)
|
|
|
|
|
setAvgInfo(data, BloodFatType.Hdl)
|
|
|
|
|
hdlList = data.model
|
|
|
|
|
hdlListCompare = data.modelCompare
|
|
|
|
|
hdlBarValue.clear()
|
|
|
|
@ -1020,14 +1064,29 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
var compare = hdlListCompare.size - hdlList.size
|
|
|
|
|
if (compare > 0) {
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
hdlList.add(hdlList.size,BloodLipidDataBean.ModelBean(0f,0f,0f,0f,hdlListCompare[hdlList.size].time))
|
|
|
|
|
hdlList.add(
|
|
|
|
|
hdlList.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
hdlListCompare[hdlList.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
} else if (compare < 0) {
|
|
|
|
|
compare = 0 - compare
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
hdlListCompare.add(
|
|
|
|
|
hdlListCompare.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(0f,0f,0f,0f,hdlList[hdlListCompare.size].time)
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
hdlList[hdlListCompare.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1133,13 +1192,11 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
}
|
|
|
|
|
binding.clHdl.mBarChart.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val min =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMix(data.value.minHdl, data.valueCompare.minHdl)
|
|
|
|
|
|
|
|
|
|
val max =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMax(data.value.maxHdl, data.valueCompare.maxHdl)
|
|
|
|
|
|
|
|
|
|
BaseChartInitUtils.initBarChartTwo(
|
|
|
|
|
requireContext(), binding.clHdl.mBarChart, min, max, hdlBarValue, hdlBarValueCompare,
|
|
|
|
|
ICompareMarkView.MarkPage.BloodFilip, "mmol/L", type, 1f
|
|
|
|
@ -1152,7 +1209,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
var ldlBarValue = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
var ldlBarValueCompare = arrayListOf<BarEntry>() //柱形数据
|
|
|
|
|
private fun setLDLChartData(data: BloodLipidDataBean) {
|
|
|
|
|
setAvgInfo(data,BloodFatType.Ldl)
|
|
|
|
|
setAvgInfo(data, BloodFatType.Ldl)
|
|
|
|
|
ldlList = data.model
|
|
|
|
|
ldlListCompare = data.modelCompare
|
|
|
|
|
ldlBarValue.clear()
|
|
|
|
@ -1167,14 +1224,29 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
var compare = ldlListCompare.size - ldlList.size
|
|
|
|
|
if (compare > 0) {
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
ldlList.add(ldlList.size,BloodLipidDataBean.ModelBean(0f,0f,0f,0f,ldlListCompare[ldlList.size].time))
|
|
|
|
|
ldlList.add(
|
|
|
|
|
ldlList.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
ldlListCompare[ldlList.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
} else if (compare < 0) {
|
|
|
|
|
compare = 0 - compare
|
|
|
|
|
for (Int in 1..compare) {
|
|
|
|
|
ldlListCompare.add(
|
|
|
|
|
ldlListCompare.size,
|
|
|
|
|
BloodLipidDataBean.ModelBean(0f,0f,0f,0f,ldlList[ldlListCompare.size].time)
|
|
|
|
|
BloodLipidDataBean.ModelBean(
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
0f,
|
|
|
|
|
ldlList[ldlListCompare.size].time
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1281,7 +1353,6 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
binding.clLdl.mBarChart.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val min =
|
|
|
|
|
BloodLipidGetMinMaxChart.getBloodLipidMix(data.value.minLdl, data.valueCompare.minLdl)
|
|
|
|
|
|
|
|
|
@ -1292,8 +1363,9 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
ICompareMarkView.MarkPage.BloodFilip, "mmol/L", type, 1f
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@SuppressLint("SuspiciousIndentation")
|
|
|
|
|
private fun setAvgInfo(valueData: BloodLipidDataBean,dataType: BloodFatType) {
|
|
|
|
|
private fun setAvgInfo(valueData: BloodLipidDataBean, dataType: BloodFatType) {
|
|
|
|
|
var list: MutableList<ValueMap> = mutableListOf()
|
|
|
|
|
list = BloodLipidDataDealWithList.setDataList(
|
|
|
|
|
valueData.value,
|
|
|
|
@ -1304,22 +1376,24 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
dataType,
|
|
|
|
|
list
|
|
|
|
|
)
|
|
|
|
|
when(dataType){
|
|
|
|
|
BloodFatType.Tc ->{
|
|
|
|
|
when (dataType) {
|
|
|
|
|
BloodFatType.Tc -> {
|
|
|
|
|
tcAdapter.setNewInstance(list)
|
|
|
|
|
}
|
|
|
|
|
BloodFatType.Tg ->{
|
|
|
|
|
|
|
|
|
|
BloodFatType.Tg -> {
|
|
|
|
|
tgAdapter.setNewInstance(list)
|
|
|
|
|
}
|
|
|
|
|
BloodFatType.Hdl ->{
|
|
|
|
|
|
|
|
|
|
BloodFatType.Hdl -> {
|
|
|
|
|
hdlAdapter.setNewInstance(list)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
BloodFatType.Ldl ->{
|
|
|
|
|
|
|
|
|
|
BloodFatType.Ldl -> {
|
|
|
|
|
ldlAdapter.setNewInstance(list)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/*private fun calculateBarWidth(dataCount: Int): Float {
|
|
|
|
|
val maximumBarWidth = 0.38f // 设置最大柱形图宽度
|
|
|
|
@ -1360,7 +1434,7 @@ class BloodFatCompareDataFrag : BaseVmFrag<BloodFatCompareVm>() {
|
|
|
|
|
binding.clLdl.mRecycle.adapter = ldlAdapter
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun initCharts(){
|
|
|
|
|
fun initCharts() {
|
|
|
|
|
binding.clTc.mBarChart.setNoDataText(getString(R.string.line_chart_not_data))
|
|
|
|
|
binding.clTc.mBarChart.setNoDataTextColor(
|
|
|
|
|
ContextCompat.getColor(
|
|
|
|
|