diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index a5f6a30..e13f27e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -159,6 +159,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index a5f6a30..e13f27e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -159,6 +159,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt index bd5bc57..9633452 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt @@ -1,5 +1,6 @@ package com.casic.qd.smartwell.view +import android.content.Context import android.os.Handler import android.view.View import android.widget.Button @@ -11,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.casic.qd.smartwell.R import com.casic.qd.smartwell.adapter.DeviceListAdapter +import com.casic.qd.smartwell.extensions.addAll import com.casic.qd.smartwell.extensions.showEmptyPage import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceListModel @@ -26,15 +28,15 @@ import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.activity_device_search.* +import kotlinx.android.synthetic.main.activity_order_search.* import kotlinx.android.synthetic.main.include_empty_view.* /** @@ -45,6 +47,7 @@ */ class SearchDeviceActivity : KotlinBaseActivity(), DrawerLayout.DrawerListener { + private val context: Context = this private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var searchDeviceViewModel: SearchResultViewModel private lateinit var deviceViewModel: DeviceViewModel @@ -65,6 +68,7 @@ private var deptId = "" private var deviceState = "" private var areaId = "" + private var deviceCode = "" override fun initLayoutView(): Int = R.layout.activity_device_search @@ -193,7 +197,6 @@ } else { "0" } - dialog.dismiss() }.build().show() } @@ -255,6 +258,40 @@ }.build().show() } }) + deviceViewModel.dayDataModel.observe(this, { + if (it.code == 200) { + if (it.data.isEmpty()) { + "近一周未检测到异常".show(context) + } else { + AlertControlDialog.Builder() + .setContext(context) + .setTitle("存在异常数据") + .setMessage("是否查看对应的工单列表?") + .setNegativeButton("否") + .setPositiveButton("是") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + navigatePageTo( + addAll(deviceCode, "", "", "", "", "") + ) + } + + override fun onCancelClick() {} + }).build().show() + } + } + }) + deviceViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) authenticateViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -276,6 +313,16 @@ }.build().show() } }) + authenticateViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) areaViewModel.areaModel.observe(this, { if (it.code == 200) { @@ -304,6 +351,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { @@ -330,12 +387,20 @@ deviceListAdapter.setOnItemClickListener(object : DeviceListAdapter.OnItemClickListener { override fun onClicked(position: Int) { - val deviceCode = dataBeans[position].devcode.toString() + deviceCode = dataBeans[position].devcode.toString() if (deviceCode.isBlank()) { "设备编号异常,无法查看历史数据".show(this@SearchDeviceActivity) return } - navigatePageTo(deviceCode) + if (dataBeans[position].deviceTypeName == "远程水表") { + navigatePageTo(deviceCode) + } else { + //默认加载近一周的数据 + val time = System.currentTimeMillis() + val startTime = time.timestampToLastWeekTime() + val endTime = time.timestampToTime() + deviceViewModel.obtainSevenDayData(deviceCode, startTime, endTime) + } } }) } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index a5f6a30..e13f27e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -159,6 +159,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt index bd5bc57..9633452 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt @@ -1,5 +1,6 @@ package com.casic.qd.smartwell.view +import android.content.Context import android.os.Handler import android.view.View import android.widget.Button @@ -11,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.casic.qd.smartwell.R import com.casic.qd.smartwell.adapter.DeviceListAdapter +import com.casic.qd.smartwell.extensions.addAll import com.casic.qd.smartwell.extensions.showEmptyPage import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceListModel @@ -26,15 +28,15 @@ import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.activity_device_search.* +import kotlinx.android.synthetic.main.activity_order_search.* import kotlinx.android.synthetic.main.include_empty_view.* /** @@ -45,6 +47,7 @@ */ class SearchDeviceActivity : KotlinBaseActivity(), DrawerLayout.DrawerListener { + private val context: Context = this private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var searchDeviceViewModel: SearchResultViewModel private lateinit var deviceViewModel: DeviceViewModel @@ -65,6 +68,7 @@ private var deptId = "" private var deviceState = "" private var areaId = "" + private var deviceCode = "" override fun initLayoutView(): Int = R.layout.activity_device_search @@ -193,7 +197,6 @@ } else { "0" } - dialog.dismiss() }.build().show() } @@ -255,6 +258,40 @@ }.build().show() } }) + deviceViewModel.dayDataModel.observe(this, { + if (it.code == 200) { + if (it.data.isEmpty()) { + "近一周未检测到异常".show(context) + } else { + AlertControlDialog.Builder() + .setContext(context) + .setTitle("存在异常数据") + .setMessage("是否查看对应的工单列表?") + .setNegativeButton("否") + .setPositiveButton("是") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + navigatePageTo( + addAll(deviceCode, "", "", "", "", "") + ) + } + + override fun onCancelClick() {} + }).build().show() + } + } + }) + deviceViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) authenticateViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -276,6 +313,16 @@ }.build().show() } }) + authenticateViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) areaViewModel.areaModel.observe(this, { if (it.code == 200) { @@ -304,6 +351,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { @@ -330,12 +387,20 @@ deviceListAdapter.setOnItemClickListener(object : DeviceListAdapter.OnItemClickListener { override fun onClicked(position: Int) { - val deviceCode = dataBeans[position].devcode.toString() + deviceCode = dataBeans[position].devcode.toString() if (deviceCode.isBlank()) { "设备编号异常,无法查看历史数据".show(this@SearchDeviceActivity) return } - navigatePageTo(deviceCode) + if (dataBeans[position].deviceTypeName == "远程水表") { + navigatePageTo(deviceCode) + } else { + //默认加载近一周的数据 + val time = System.currentTimeMillis() + val startTime = time.timestampToLastWeekTime() + val endTime = time.timestampToTime() + deviceViewModel.obtainSevenDayData(deviceCode, startTime, endTime) + } } }) } diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt index 9356c1e..aeb74d1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt @@ -11,6 +11,7 @@ import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState class AreaViewModel : BaseViewModel() { @@ -18,16 +19,20 @@ val areaModel = MutableLiveData() fun obtainArea() = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainArea() val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index a5f6a30..e13f27e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -159,6 +159,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt index bd5bc57..9633452 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt @@ -1,5 +1,6 @@ package com.casic.qd.smartwell.view +import android.content.Context import android.os.Handler import android.view.View import android.widget.Button @@ -11,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.casic.qd.smartwell.R import com.casic.qd.smartwell.adapter.DeviceListAdapter +import com.casic.qd.smartwell.extensions.addAll import com.casic.qd.smartwell.extensions.showEmptyPage import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceListModel @@ -26,15 +28,15 @@ import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.activity_device_search.* +import kotlinx.android.synthetic.main.activity_order_search.* import kotlinx.android.synthetic.main.include_empty_view.* /** @@ -45,6 +47,7 @@ */ class SearchDeviceActivity : KotlinBaseActivity(), DrawerLayout.DrawerListener { + private val context: Context = this private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var searchDeviceViewModel: SearchResultViewModel private lateinit var deviceViewModel: DeviceViewModel @@ -65,6 +68,7 @@ private var deptId = "" private var deviceState = "" private var areaId = "" + private var deviceCode = "" override fun initLayoutView(): Int = R.layout.activity_device_search @@ -193,7 +197,6 @@ } else { "0" } - dialog.dismiss() }.build().show() } @@ -255,6 +258,40 @@ }.build().show() } }) + deviceViewModel.dayDataModel.observe(this, { + if (it.code == 200) { + if (it.data.isEmpty()) { + "近一周未检测到异常".show(context) + } else { + AlertControlDialog.Builder() + .setContext(context) + .setTitle("存在异常数据") + .setMessage("是否查看对应的工单列表?") + .setNegativeButton("否") + .setPositiveButton("是") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + navigatePageTo( + addAll(deviceCode, "", "", "", "", "") + ) + } + + override fun onCancelClick() {} + }).build().show() + } + } + }) + deviceViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) authenticateViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -276,6 +313,16 @@ }.build().show() } }) + authenticateViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) areaViewModel.areaModel.observe(this, { if (it.code == 200) { @@ -304,6 +351,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { @@ -330,12 +387,20 @@ deviceListAdapter.setOnItemClickListener(object : DeviceListAdapter.OnItemClickListener { override fun onClicked(position: Int) { - val deviceCode = dataBeans[position].devcode.toString() + deviceCode = dataBeans[position].devcode.toString() if (deviceCode.isBlank()) { "设备编号异常,无法查看历史数据".show(this@SearchDeviceActivity) return } - navigatePageTo(deviceCode) + if (dataBeans[position].deviceTypeName == "远程水表") { + navigatePageTo(deviceCode) + } else { + //默认加载近一周的数据 + val time = System.currentTimeMillis() + val startTime = time.timestampToLastWeekTime() + val endTime = time.timestampToTime() + deviceViewModel.obtainSevenDayData(deviceCode, startTime, endTime) + } } }) } diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt index 9356c1e..aeb74d1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt @@ -11,6 +11,7 @@ import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState class AreaViewModel : BaseViewModel() { @@ -18,16 +19,20 @@ val areaModel = MutableLiveData() fun obtainArea() = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainArea() val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt index 3a3f38e..8097baa 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt @@ -15,6 +15,7 @@ import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState import org.json.JSONObject class AuthenticateViewModel : BaseViewModel() { @@ -61,16 +62,20 @@ * 权属单位 */ fun obtainOwnerShip(deptType: String) = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainOwnerShip(deptType) val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success resultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java index 404c223..3c175b6 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/SearchResultModel.java @@ -79,7 +79,7 @@ private String jobStatusName; private String alarmValue; private String alarmId; - private int alarmLevel; + private String alarmLevel; private String handleJobTime; private String tel; private String id; @@ -235,11 +235,11 @@ this.alarmId = alarmId; } - public int getAlarmLevel() { + public String getAlarmLevel() { return alarmLevel; } - public void setAlarmLevel(int alarmLevel) { + public void setAlarmLevel(String alarmLevel) { this.alarmLevel = alarmLevel; } diff --git a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java index 6b134ea..7cc5970 100644 --- a/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java +++ b/app/src/main/java/com/casic/qd/smartwell/model/WellDetailModel.java @@ -46,7 +46,7 @@ private String bfztName; private String coordinateX; private String coordinateY; - private int deep; + private String deep; private String deptName; private String deptid; private String deviceCount; @@ -119,11 +119,11 @@ this.coordinateY = coordinateY; } - public int getDeep() { + public String getDeep() { return deep; } - public void setDeep(int deep) { + public void setDeep(String deep) { this.deep = deep; } diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt index 1fdddfd..db0c05f 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchAlarmActivity.kt @@ -136,6 +136,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) startTimeView.setOnClickListener { TimePickerDialog.Builder() diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt index a5f6a30..e13f27e 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDataActivity.kt @@ -159,6 +159,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { diff --git a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt index bd5bc57..9633452 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/SearchDeviceActivity.kt @@ -1,5 +1,6 @@ package com.casic.qd.smartwell.view +import android.content.Context import android.os.Handler import android.view.View import android.widget.Button @@ -11,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.casic.qd.smartwell.R import com.casic.qd.smartwell.adapter.DeviceListAdapter +import com.casic.qd.smartwell.extensions.addAll import com.casic.qd.smartwell.extensions.showEmptyPage import com.casic.qd.smartwell.model.AreaModel import com.casic.qd.smartwell.model.DeviceListModel @@ -26,15 +28,15 @@ import com.google.gson.reflect.TypeToken import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.convertColor -import com.pengxh.kt.lite.extensions.navigatePageTo -import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.* import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet import kotlinx.android.synthetic.main.activity_device_search.* +import kotlinx.android.synthetic.main.activity_order_search.* import kotlinx.android.synthetic.main.include_empty_view.* /** @@ -45,6 +47,7 @@ */ class SearchDeviceActivity : KotlinBaseActivity(), DrawerLayout.DrawerListener { + private val context: Context = this private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var searchDeviceViewModel: SearchResultViewModel private lateinit var deviceViewModel: DeviceViewModel @@ -65,6 +68,7 @@ private var deptId = "" private var deviceState = "" private var areaId = "" + private var deviceCode = "" override fun initLayoutView(): Int = R.layout.activity_device_search @@ -193,7 +197,6 @@ } else { "0" } - dialog.dismiss() }.build().show() } @@ -255,6 +258,40 @@ }.build().show() } }) + deviceViewModel.dayDataModel.observe(this, { + if (it.code == 200) { + if (it.data.isEmpty()) { + "近一周未检测到异常".show(context) + } else { + AlertControlDialog.Builder() + .setContext(context) + .setTitle("存在异常数据") + .setMessage("是否查看对应的工单列表?") + .setNegativeButton("否") + .setPositiveButton("是") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + navigatePageTo( + addAll(deviceCode, "", "", "", "", "") + ) + } + + override fun onCancelClick() {} + }).build().show() + } + } + }) + deviceViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) authenticateViewModel.resultModel.observe(this, { if (it.code == 200) { @@ -276,6 +313,16 @@ }.build().show() } }) + authenticateViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) areaViewModel.areaModel.observe(this, { if (it.code == 200) { @@ -304,6 +351,16 @@ }).build().show() } }) + areaViewModel.loadState.observe(this, { + when (it) { + is LoadState.Loading -> { + DialogHelper.showLoadingDialog(this, "数据加载中,请稍后") + } + else -> { + DialogHelper.dismissLoadingDialog() + } + } + }) } private fun obtainSearchResult() { @@ -330,12 +387,20 @@ deviceListAdapter.setOnItemClickListener(object : DeviceListAdapter.OnItemClickListener { override fun onClicked(position: Int) { - val deviceCode = dataBeans[position].devcode.toString() + deviceCode = dataBeans[position].devcode.toString() if (deviceCode.isBlank()) { "设备编号异常,无法查看历史数据".show(this@SearchDeviceActivity) return } - navigatePageTo(deviceCode) + if (dataBeans[position].deviceTypeName == "远程水表") { + navigatePageTo(deviceCode) + } else { + //默认加载近一周的数据 + val time = System.currentTimeMillis() + val startTime = time.timestampToLastWeekTime() + val endTime = time.timestampToTime() + deviceViewModel.obtainSevenDayData(deviceCode, startTime, endTime) + } } }) } diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt index 9356c1e..aeb74d1 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AreaViewModel.kt @@ -11,6 +11,7 @@ import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState class AreaViewModel : BaseViewModel() { @@ -18,16 +19,20 @@ val areaModel = MutableLiveData() fun obtainArea() = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainArea() val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt index 3a3f38e..8097baa 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/AuthenticateViewModel.kt @@ -15,6 +15,7 @@ import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.BaseViewModel +import com.pengxh.kt.lite.vm.LoadState import org.json.JSONObject class AuthenticateViewModel : BaseViewModel() { @@ -61,16 +62,20 @@ * 权属单位 */ fun obtainOwnerShip(deptType: String) = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainOwnerShip(deptType) val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success resultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() }) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/qd/smartwell/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/qd/smartwell/vm/DeviceViewModel.kt index e4573a4..202bd37 100644 --- a/app/src/main/java/com/casic/qd/smartwell/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/qd/smartwell/vm/DeviceViewModel.kt @@ -44,16 +44,20 @@ * 获取设备类型 */ fun obtainDeviceType() = launch({ + loadState.value = LoadState.Loading val response = RetrofitServiceManager.obtainDeviceType() val responseCode = response.separateResponseCode() if (responseCode == 200) { + loadState.value = LoadState.Success typeModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { + loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.obtainInstance()) } }, { + loadState.value = LoadState.Fail it.printStackTrace() })