diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt index 412cbaf..ed4d5b1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -65,6 +65,13 @@ } /** + * 获取近日告警统计 + */ + suspend fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String): String { + return api.alarmCountBySecondArea(AuthenticationHelper.token!!, areaId, startTime, endTime) + } + + /** * 获取闸井详情 */ suspend fun obtainWellDetail(id: String): String { diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt index 412cbaf..ed4d5b1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -65,6 +65,13 @@ } /** + * 获取近日告警统计 + */ + suspend fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String): String { + return api.alarmCountBySecondArea(AuthenticationHelper.token!!, areaId, startTime, endTime) + } + + /** * 获取闸井详情 */ suspend fun obtainWellDetail(id: String): String { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index 42972ee..0129d7e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -9,11 +9,11 @@ import com.casic.qd.smartwell.extensions.* import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant +import com.casic.qd.smartwell.vm.AlarmListViewModel import com.casic.qd.smartwell.vm.DeviceStatisticsViewModel import com.casic.qd.smartwell.vm.WaterStatisticsViewModel import com.casic.qd.smartwell.widgets.DateSelectDialog import com.github.mikephil.charting.data.BarEntry -import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.PieEntry import kotlinx.android.synthetic.main.activity_statistics.* import kotlinx.android.synthetic.main.include_base_title.* @@ -30,11 +30,7 @@ private val context: Context = this@StatisticsActivity private lateinit var waterViewModel: WaterStatisticsViewModel private lateinit var deviceViewModel: DeviceStatisticsViewModel - - private val valveEntries: MutableList = ArrayList() - private val meterEntries: MutableList = ArrayList() - private val pipelineEntries: MutableList = ArrayList() - private val deviceEntries: MutableList = ArrayList() + private lateinit var alarmViewModel: AlarmListViewModel override fun initLayoutView(): Int = R.layout.activity_statistics @@ -45,6 +41,7 @@ override fun initData() { waterViewModel = ViewModelProvider(this).get(WaterStatisticsViewModel::class.java) deviceViewModel = ViewModelProvider(this).get(DeviceStatisticsViewModel::class.java) + alarmViewModel = ViewModelProvider(this).get(AlarmListViewModel::class.java) } override fun initEvent() { @@ -125,7 +122,6 @@ } } - waterViewModel.areaDataModel.observe(this, { if (it.code == 200) { val xAxisLabel: MutableList = ArrayList() @@ -150,42 +146,103 @@ } }) - //初始化折线图 - alarmLineChart.init() - //TODO 这是模拟数据 - for (i in Constant.YEARS) { - valveEntries.add( - Entry( - i.toFloat(), - Random().nextInt(150).toFloat(), "阀门" - ) - ) - meterEntries.add( - Entry( - i.toFloat(), - Random().nextInt(200).toFloat(), "水表" - ) - ) - pipelineEntries.add( - Entry( - i.toFloat(), - Random().nextInt(100).toFloat(), "管线" - ) - ) - deviceEntries.add( - Entry( - i.toFloat(), - Random().nextInt(10).toFloat(), "噪声仪" - ) - ) + //默认选择近7天的数据 + alarmPeriodSpinner.setSelection(3) + alarmPeriodSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { + val time = System.currentTimeMillis() + val calendar = Calendar.getInstance() + val year: Int = calendar.get(Calendar.YEAR) + when (position) { + 0 -> { + //本年度 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, "$year-01-01", time.timestampToDate() + ) + } + 1 -> { + //本季度 + val startDate = when (time.getQuarterOfYear()) { + 1 -> "$year-01-01" + 2 -> "$year-04-01" + 3 -> "$year-07-01" + 4 -> "$year-10-01" + else -> "" + } + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, time.timestampToDate() + ) + } + 2 -> { + //近30日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, + time.timestampToLastMonthDate(), time.timestampToDate() + ) + } + 3 -> { + //近7日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToLastWeekDate(), time.timestampToDate() + ) + } + 4 -> { + //今日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToDate(), time.timestampToDate() + ) + } + 5 -> { + DateSelectDialog.Builder() + .setContext(context) + .setFragmentManager(supportFragmentManager) + .setTitle("选择日期") + .setNegativeButton("取消") + .setPositiveButton("选好了") + .setOnDialogButtonClickListener(object : + DateSelectDialog.OnDialogButtonClickListener { + override fun onConfirmClick(startDate: String, endDate: String) { + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, endDate + ) + } + + override fun onCancelClick() { + //选择取消就默认加载近7天的数据 + periodSpinner.setSelection(3) + } + }).build().show() + } + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } } - ChartViewHelper.setLineChartData( - alarmLineChart, - valveEntries, - meterEntries, - pipelineEntries, - deviceEntries - ) + alarmViewModel.areaDataModel.observe(this, { + if (it.code == 200) { + val xAxisLabel: MutableList = ArrayList() + //柱状图 + val barEntries: MutableList = ArrayList() + it.data?.forEachIndexed { index, dataBean -> + xAxisLabel.add(dataBean.areaName.toString()) + val dataValue = if (dataBean.alarm.toString().isBlank()) { + 0f + } else { + dataBean.alarm!!.toFloat() + } + //柱状图 + barEntries.add(BarEntry(index.toFloat(), dataValue)) + } + ChartViewHelper.setBarChartData(alarmBarChart, xAxisLabel, barEntries) + } + }) deviceViewModel.deviceCountByType() deviceViewModel.resultModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt index 412cbaf..ed4d5b1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -65,6 +65,13 @@ } /** + * 获取近日告警统计 + */ + suspend fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String): String { + return api.alarmCountBySecondArea(AuthenticationHelper.token!!, areaId, startTime, endTime) + } + + /** * 获取闸井详情 */ suspend fun obtainWellDetail(id: String): String { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index 42972ee..0129d7e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -9,11 +9,11 @@ import com.casic.qd.smartwell.extensions.* import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant +import com.casic.qd.smartwell.vm.AlarmListViewModel import com.casic.qd.smartwell.vm.DeviceStatisticsViewModel import com.casic.qd.smartwell.vm.WaterStatisticsViewModel import com.casic.qd.smartwell.widgets.DateSelectDialog import com.github.mikephil.charting.data.BarEntry -import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.PieEntry import kotlinx.android.synthetic.main.activity_statistics.* import kotlinx.android.synthetic.main.include_base_title.* @@ -30,11 +30,7 @@ private val context: Context = this@StatisticsActivity private lateinit var waterViewModel: WaterStatisticsViewModel private lateinit var deviceViewModel: DeviceStatisticsViewModel - - private val valveEntries: MutableList = ArrayList() - private val meterEntries: MutableList = ArrayList() - private val pipelineEntries: MutableList = ArrayList() - private val deviceEntries: MutableList = ArrayList() + private lateinit var alarmViewModel: AlarmListViewModel override fun initLayoutView(): Int = R.layout.activity_statistics @@ -45,6 +41,7 @@ override fun initData() { waterViewModel = ViewModelProvider(this).get(WaterStatisticsViewModel::class.java) deviceViewModel = ViewModelProvider(this).get(DeviceStatisticsViewModel::class.java) + alarmViewModel = ViewModelProvider(this).get(AlarmListViewModel::class.java) } override fun initEvent() { @@ -125,7 +122,6 @@ } } - waterViewModel.areaDataModel.observe(this, { if (it.code == 200) { val xAxisLabel: MutableList = ArrayList() @@ -150,42 +146,103 @@ } }) - //初始化折线图 - alarmLineChart.init() - //TODO 这是模拟数据 - for (i in Constant.YEARS) { - valveEntries.add( - Entry( - i.toFloat(), - Random().nextInt(150).toFloat(), "阀门" - ) - ) - meterEntries.add( - Entry( - i.toFloat(), - Random().nextInt(200).toFloat(), "水表" - ) - ) - pipelineEntries.add( - Entry( - i.toFloat(), - Random().nextInt(100).toFloat(), "管线" - ) - ) - deviceEntries.add( - Entry( - i.toFloat(), - Random().nextInt(10).toFloat(), "噪声仪" - ) - ) + //默认选择近7天的数据 + alarmPeriodSpinner.setSelection(3) + alarmPeriodSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { + val time = System.currentTimeMillis() + val calendar = Calendar.getInstance() + val year: Int = calendar.get(Calendar.YEAR) + when (position) { + 0 -> { + //本年度 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, "$year-01-01", time.timestampToDate() + ) + } + 1 -> { + //本季度 + val startDate = when (time.getQuarterOfYear()) { + 1 -> "$year-01-01" + 2 -> "$year-04-01" + 3 -> "$year-07-01" + 4 -> "$year-10-01" + else -> "" + } + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, time.timestampToDate() + ) + } + 2 -> { + //近30日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, + time.timestampToLastMonthDate(), time.timestampToDate() + ) + } + 3 -> { + //近7日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToLastWeekDate(), time.timestampToDate() + ) + } + 4 -> { + //今日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToDate(), time.timestampToDate() + ) + } + 5 -> { + DateSelectDialog.Builder() + .setContext(context) + .setFragmentManager(supportFragmentManager) + .setTitle("选择日期") + .setNegativeButton("取消") + .setPositiveButton("选好了") + .setOnDialogButtonClickListener(object : + DateSelectDialog.OnDialogButtonClickListener { + override fun onConfirmClick(startDate: String, endDate: String) { + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, endDate + ) + } + + override fun onCancelClick() { + //选择取消就默认加载近7天的数据 + periodSpinner.setSelection(3) + } + }).build().show() + } + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } } - ChartViewHelper.setLineChartData( - alarmLineChart, - valveEntries, - meterEntries, - pipelineEntries, - deviceEntries - ) + alarmViewModel.areaDataModel.observe(this, { + if (it.code == 200) { + val xAxisLabel: MutableList = ArrayList() + //柱状图 + val barEntries: MutableList = ArrayList() + it.data?.forEachIndexed { index, dataBean -> + xAxisLabel.add(dataBean.areaName.toString()) + val dataValue = if (dataBean.alarm.toString().isBlank()) { + 0f + } else { + dataBean.alarm!!.toFloat() + } + //柱状图 + barEntries.add(BarEntry(index.toFloat(), dataValue)) + } + ChartViewHelper.setBarChartData(alarmBarChart, xAxisLabel, barEntries) + } + }) deviceViewModel.deviceCountByType() deviceViewModel.resultModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt index 20f0d3c..251140d 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt @@ -111,7 +111,6 @@ } } - waterViewModel.dayDataModel.observe(this, { if (it.code == 200) { val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt index 412cbaf..ed4d5b1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -65,6 +65,13 @@ } /** + * 获取近日告警统计 + */ + suspend fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String): String { + return api.alarmCountBySecondArea(AuthenticationHelper.token!!, areaId, startTime, endTime) + } + + /** * 获取闸井详情 */ suspend fun obtainWellDetail(id: String): String { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index 42972ee..0129d7e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -9,11 +9,11 @@ import com.casic.qd.smartwell.extensions.* import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant +import com.casic.qd.smartwell.vm.AlarmListViewModel import com.casic.qd.smartwell.vm.DeviceStatisticsViewModel import com.casic.qd.smartwell.vm.WaterStatisticsViewModel import com.casic.qd.smartwell.widgets.DateSelectDialog import com.github.mikephil.charting.data.BarEntry -import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.PieEntry import kotlinx.android.synthetic.main.activity_statistics.* import kotlinx.android.synthetic.main.include_base_title.* @@ -30,11 +30,7 @@ private val context: Context = this@StatisticsActivity private lateinit var waterViewModel: WaterStatisticsViewModel private lateinit var deviceViewModel: DeviceStatisticsViewModel - - private val valveEntries: MutableList = ArrayList() - private val meterEntries: MutableList = ArrayList() - private val pipelineEntries: MutableList = ArrayList() - private val deviceEntries: MutableList = ArrayList() + private lateinit var alarmViewModel: AlarmListViewModel override fun initLayoutView(): Int = R.layout.activity_statistics @@ -45,6 +41,7 @@ override fun initData() { waterViewModel = ViewModelProvider(this).get(WaterStatisticsViewModel::class.java) deviceViewModel = ViewModelProvider(this).get(DeviceStatisticsViewModel::class.java) + alarmViewModel = ViewModelProvider(this).get(AlarmListViewModel::class.java) } override fun initEvent() { @@ -125,7 +122,6 @@ } } - waterViewModel.areaDataModel.observe(this, { if (it.code == 200) { val xAxisLabel: MutableList = ArrayList() @@ -150,42 +146,103 @@ } }) - //初始化折线图 - alarmLineChart.init() - //TODO 这是模拟数据 - for (i in Constant.YEARS) { - valveEntries.add( - Entry( - i.toFloat(), - Random().nextInt(150).toFloat(), "阀门" - ) - ) - meterEntries.add( - Entry( - i.toFloat(), - Random().nextInt(200).toFloat(), "水表" - ) - ) - pipelineEntries.add( - Entry( - i.toFloat(), - Random().nextInt(100).toFloat(), "管线" - ) - ) - deviceEntries.add( - Entry( - i.toFloat(), - Random().nextInt(10).toFloat(), "噪声仪" - ) - ) + //默认选择近7天的数据 + alarmPeriodSpinner.setSelection(3) + alarmPeriodSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { + val time = System.currentTimeMillis() + val calendar = Calendar.getInstance() + val year: Int = calendar.get(Calendar.YEAR) + when (position) { + 0 -> { + //本年度 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, "$year-01-01", time.timestampToDate() + ) + } + 1 -> { + //本季度 + val startDate = when (time.getQuarterOfYear()) { + 1 -> "$year-01-01" + 2 -> "$year-04-01" + 3 -> "$year-07-01" + 4 -> "$year-10-01" + else -> "" + } + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, time.timestampToDate() + ) + } + 2 -> { + //近30日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, + time.timestampToLastMonthDate(), time.timestampToDate() + ) + } + 3 -> { + //近7日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToLastWeekDate(), time.timestampToDate() + ) + } + 4 -> { + //今日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToDate(), time.timestampToDate() + ) + } + 5 -> { + DateSelectDialog.Builder() + .setContext(context) + .setFragmentManager(supportFragmentManager) + .setTitle("选择日期") + .setNegativeButton("取消") + .setPositiveButton("选好了") + .setOnDialogButtonClickListener(object : + DateSelectDialog.OnDialogButtonClickListener { + override fun onConfirmClick(startDate: String, endDate: String) { + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, endDate + ) + } + + override fun onCancelClick() { + //选择取消就默认加载近7天的数据 + periodSpinner.setSelection(3) + } + }).build().show() + } + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } } - ChartViewHelper.setLineChartData( - alarmLineChart, - valveEntries, - meterEntries, - pipelineEntries, - deviceEntries - ) + alarmViewModel.areaDataModel.observe(this, { + if (it.code == 200) { + val xAxisLabel: MutableList = ArrayList() + //柱状图 + val barEntries: MutableList = ArrayList() + it.data?.forEachIndexed { index, dataBean -> + xAxisLabel.add(dataBean.areaName.toString()) + val dataValue = if (dataBean.alarm.toString().isBlank()) { + 0f + } else { + dataBean.alarm!!.toFloat() + } + //柱状图 + barEntries.add(BarEntry(index.toFloat(), dataValue)) + } + ChartViewHelper.setBarChartData(alarmBarChart, xAxisLabel, barEntries) + } + }) deviceViewModel.deviceCountByType() deviceViewModel.resultModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt index 20f0d3c..251140d 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt @@ -111,7 +111,6 @@ } } - waterViewModel.dayDataModel.observe(this, { if (it.code == 200) { val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt index 58cecfa..c4282d1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt @@ -8,6 +8,7 @@ import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.toErrorMessage import com.casic.qd.smartwell.model.AlarmListModel +import com.casic.qd.smartwell.model.AlarmSecondAreaModel import com.casic.qd.smartwell.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -17,6 +18,7 @@ private val kTag = "AlarmListViewModel" private val gson = Gson() val listModel = MutableLiveData() + val areaDataModel = MutableLiveData() fun obtainAlarmList( keywords: String, @@ -50,4 +52,22 @@ Log.e(kTag, it.toString(), it) "服务器异常".show() }) + + /** + * 获取近日告警统计 + */ + fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String) = launch({ + val response = RetrofitServiceManager.alarmCountBySecondArea(areaId, startTime, endTime) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + areaDataModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show() + } + }, { + Log.e(kTag, it.toString(), it) + "服务器异常".show() + }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt new file mode 100644 index 0000000..520f824 --- /dev/null +++ b/app/src/main/java/com/casic/qd/smartwell/model/AlarmSecondAreaModel.kt @@ -0,0 +1,15 @@ +package com.casic.qd.smartwell.model + +class AlarmSecondAreaModel { + var code = 0 + var data: List? = null + var message: String? = null + var isSuccess = false + + class DataBean { + var areaId: String? = null + var areaName: String? = null + var alarm: String? = null + var warning: String? = null + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt index c7dd1e3..cd54b39 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/ChartViewHelper.kt @@ -118,7 +118,7 @@ val barDataSets: MutableList = ArrayList() //绑定数据 val dataSet = BarDataSet(entries, "") - dataSet.color = R.color.color_1.convertColor() + dataSet.color = R.color.color_6.convertColor() dataSet.valueFormatter = object : ValueFormatter() { override fun getFormattedValue(value: Float): String { return decimalFormat.format(value.toDouble()) diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt index 084f470..08182f9 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitService.kt @@ -60,6 +60,17 @@ ): String /** + * 获取近日告警统计 + */ + @GET("/waterStatistic/alarmBySecondArea") + suspend fun alarmCountBySecondArea( + @Header("token") token: String, + @Query("areaId") areaId: String, + @Query("startTime") startTime: String, + @Query("endTime") endTime: String + ): String + + /** * 获取闸井详情 * * @param id 井ID diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt index 412cbaf..ed4d5b1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/qd/smartwell/utils/retrofit/RetrofitServiceManager.kt @@ -65,6 +65,13 @@ } /** + * 获取近日告警统计 + */ + suspend fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String): String { + return api.alarmCountBySecondArea(AuthenticationHelper.token!!, areaId, startTime, endTime) + } + + /** * 获取闸井详情 */ suspend fun obtainWellDetail(id: String): String { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt index 42972ee..0129d7e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/StatisticsActivity.kt @@ -9,11 +9,11 @@ import com.casic.qd.smartwell.extensions.* import com.casic.qd.smartwell.utils.ChartViewHelper import com.casic.qd.smartwell.utils.Constant +import com.casic.qd.smartwell.vm.AlarmListViewModel import com.casic.qd.smartwell.vm.DeviceStatisticsViewModel import com.casic.qd.smartwell.vm.WaterStatisticsViewModel import com.casic.qd.smartwell.widgets.DateSelectDialog import com.github.mikephil.charting.data.BarEntry -import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.PieEntry import kotlinx.android.synthetic.main.activity_statistics.* import kotlinx.android.synthetic.main.include_base_title.* @@ -30,11 +30,7 @@ private val context: Context = this@StatisticsActivity private lateinit var waterViewModel: WaterStatisticsViewModel private lateinit var deviceViewModel: DeviceStatisticsViewModel - - private val valveEntries: MutableList = ArrayList() - private val meterEntries: MutableList = ArrayList() - private val pipelineEntries: MutableList = ArrayList() - private val deviceEntries: MutableList = ArrayList() + private lateinit var alarmViewModel: AlarmListViewModel override fun initLayoutView(): Int = R.layout.activity_statistics @@ -45,6 +41,7 @@ override fun initData() { waterViewModel = ViewModelProvider(this).get(WaterStatisticsViewModel::class.java) deviceViewModel = ViewModelProvider(this).get(DeviceStatisticsViewModel::class.java) + alarmViewModel = ViewModelProvider(this).get(AlarmListViewModel::class.java) } override fun initEvent() { @@ -125,7 +122,6 @@ } } - waterViewModel.areaDataModel.observe(this, { if (it.code == 200) { val xAxisLabel: MutableList = ArrayList() @@ -150,42 +146,103 @@ } }) - //初始化折线图 - alarmLineChart.init() - //TODO 这是模拟数据 - for (i in Constant.YEARS) { - valveEntries.add( - Entry( - i.toFloat(), - Random().nextInt(150).toFloat(), "阀门" - ) - ) - meterEntries.add( - Entry( - i.toFloat(), - Random().nextInt(200).toFloat(), "水表" - ) - ) - pipelineEntries.add( - Entry( - i.toFloat(), - Random().nextInt(100).toFloat(), "管线" - ) - ) - deviceEntries.add( - Entry( - i.toFloat(), - Random().nextInt(10).toFloat(), "噪声仪" - ) - ) + //默认选择近7天的数据 + alarmPeriodSpinner.setSelection(3) + alarmPeriodSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { + val time = System.currentTimeMillis() + val calendar = Calendar.getInstance() + val year: Int = calendar.get(Calendar.YEAR) + when (position) { + 0 -> { + //本年度 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, "$year-01-01", time.timestampToDate() + ) + } + 1 -> { + //本季度 + val startDate = when (time.getQuarterOfYear()) { + 1 -> "$year-01-01" + 2 -> "$year-04-01" + 3 -> "$year-07-01" + 4 -> "$year-10-01" + else -> "" + } + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, time.timestampToDate() + ) + } + 2 -> { + //近30日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, + time.timestampToLastMonthDate(), time.timestampToDate() + ) + } + 3 -> { + //近7日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToLastWeekDate(), time.timestampToDate() + ) + } + 4 -> { + //今日 + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, time.timestampToDate(), time.timestampToDate() + ) + } + 5 -> { + DateSelectDialog.Builder() + .setContext(context) + .setFragmentManager(supportFragmentManager) + .setTitle("选择日期") + .setNegativeButton("取消") + .setPositiveButton("选好了") + .setOnDialogButtonClickListener(object : + DateSelectDialog.OnDialogButtonClickListener { + override fun onConfirmClick(startDate: String, endDate: String) { + alarmViewModel.alarmCountBySecondArea( + Constant.AREA_ID, startDate, endDate + ) + } + + override fun onCancelClick() { + //选择取消就默认加载近7天的数据 + periodSpinner.setSelection(3) + } + }).build().show() + } + } + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + + } } - ChartViewHelper.setLineChartData( - alarmLineChart, - valveEntries, - meterEntries, - pipelineEntries, - deviceEntries - ) + alarmViewModel.areaDataModel.observe(this, { + if (it.code == 200) { + val xAxisLabel: MutableList = ArrayList() + //柱状图 + val barEntries: MutableList = ArrayList() + it.data?.forEachIndexed { index, dataBean -> + xAxisLabel.add(dataBean.areaName.toString()) + val dataValue = if (dataBean.alarm.toString().isBlank()) { + 0f + } else { + dataBean.alarm!!.toFloat() + } + //柱状图 + barEntries.add(BarEntry(index.toFloat(), dataValue)) + } + ChartViewHelper.setBarChartData(alarmBarChart, xAxisLabel, barEntries) + } + }) deviceViewModel.deviceCountByType() deviceViewModel.resultModel.observe(this, { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt index 20f0d3c..251140d 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/WaterExpandedActivity.kt @@ -111,7 +111,6 @@ } } - waterViewModel.dayDataModel.observe(this, { if (it.code == 200) { val xAxisDate: MutableList = ArrayList() diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt index 58cecfa..c4282d1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AlarmListViewModel.kt @@ -8,6 +8,7 @@ import com.casic.qd.smartwell.extensions.show import com.casic.qd.smartwell.extensions.toErrorMessage import com.casic.qd.smartwell.model.AlarmListModel +import com.casic.qd.smartwell.model.AlarmSecondAreaModel import com.casic.qd.smartwell.utils.retrofit.RetrofitServiceManager import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -17,6 +18,7 @@ private val kTag = "AlarmListViewModel" private val gson = Gson() val listModel = MutableLiveData() + val areaDataModel = MutableLiveData() fun obtainAlarmList( keywords: String, @@ -50,4 +52,22 @@ Log.e(kTag, it.toString(), it) "服务器异常".show() }) + + /** + * 获取近日告警统计 + */ + fun alarmCountBySecondArea(areaId: String, startTime: String, endTime: String) = launch({ + val response = RetrofitServiceManager.alarmCountBySecondArea(areaId, startTime, endTime) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + areaDataModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show() + } + }, { + Log.e(kTag, it.toString(), it) + "服务器异常".show() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_statistics.xml b/app/src/main/res/layout/activity_statistics.xml index 8c15493..7c84601 100644 --- a/app/src/main/res/layout/activity_statistics.xml +++ b/app/src/main/res/layout/activity_statistics.xml @@ -62,23 +62,22 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:text="本周用水告警趋势" + android:text="本周水表告警统计" android:textColor="@color/mainTextColor" android:textSize="@dimen/textFontSize" /> - + android:entries="@array/periodArray" /> -