diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
deleted file mode 100644
index f4461f4..0000000
--- a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.smarttube.vm
-
-import androidx.lifecycle.MutableLiveData
-import com.casic.smarttube.base.BaseApplication
-import com.casic.smarttube.extensions.separateResponseCode
-import com.casic.smarttube.extensions.toErrorMessage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.utils.retrofit.RetrofitServiceManager
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
-import com.pengxh.kt.lite.extensions.launch
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.vm.BaseViewModel
-
-class AlarmViewModel : BaseViewModel() {
-
- private val gson = Gson()
- val listModel = MutableLiveData()
-
- fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ) = launch({
- val response = RetrofitServiceManager.obtainAlarmListByPage(
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- page
- )
- val responseCode = response.separateResponseCode()
- if (responseCode == 200) {
- listModel.value = gson.fromJson(
- response, object : TypeToken() {}.type
- )
- } else {
- response.toErrorMessage().show(BaseApplication.obtainInstance())
- }
- }, {
- it.printStackTrace()
- })
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
deleted file mode 100644
index f4461f4..0000000
--- a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.smarttube.vm
-
-import androidx.lifecycle.MutableLiveData
-import com.casic.smarttube.base.BaseApplication
-import com.casic.smarttube.extensions.separateResponseCode
-import com.casic.smarttube.extensions.toErrorMessage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.utils.retrofit.RetrofitServiceManager
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
-import com.pengxh.kt.lite.extensions.launch
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.vm.BaseViewModel
-
-class AlarmViewModel : BaseViewModel() {
-
- private val gson = Gson()
- val listModel = MutableLiveData()
-
- fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ) = launch({
- val response = RetrofitServiceManager.obtainAlarmListByPage(
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- page
- )
- val responseCode = response.separateResponseCode()
- if (responseCode == 200) {
- listModel.value = gson.fromJson(
- response, object : TypeToken() {}.type
- )
- } else {
- response.toErrorMessage().show(BaseApplication.obtainInstance())
- }
- }, {
- it.printStackTrace()
- })
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
index 71b14d5..4c5ac01 100644
--- a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
+++ b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
@@ -17,13 +17,6 @@
private val gson = Gson()
val detailModel = MutableLiveData()
-// val allWellModel = MutableLiveData()
-// val countResultModel = MutableLiveData>()
-// val wellTypeAndCountModel = MutableLiveData()
-// val wellListPageModel = MutableLiveData()
-// val wellTypeModel = MutableLiveData()
-// val deviceDataModel = MutableLiveData()
-// val commonResultModel = MutableLiveData()
fun obtainWellDetail(id: String) = launch({
loadState.value = LoadState.Loading
@@ -42,168 +35,4 @@
loadState.value = LoadState.Fail
it.printStackTrace()
})
-
-// fun obtainAllWell() = launch({
-// val response = RetrofitServiceManager.obtainAllWell()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// allWellModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun countWellByState() = launch({
-// val response = RetrofitServiceManager.countWellByState()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// val map = HashMap(3)
-//
-// val jsonObject = JSONObject(response)
-// val data = jsonObject.getJSONObject("data")
-// map["bfWell"] = data.getString("bfWell")
-// map["cfWell"] = data.getString("cfWell")
-// map["total"] = data.getString("total")
-// countResultModel.value = map
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellTypeAndCount() = launch({
-// val response = RetrofitServiceManager.obtainWellTypeAndCount()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeAndCountModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellPageList(keywords: String?, wellType: String?, deptid: String?, offset: Int) =
-// launch({
-// val response =
-// RetrofitServiceManager.obtainWellPageList(keywords, wellType, deptid, offset)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellListPageModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellType() = launch({
-// val response = RetrofitServiceManager.obtainWellType()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainDeviceDataByWell(id: String) = launch({
-// val response = RetrofitServiceManager.obtainDeviceDataByWell(id)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// deviceDataModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainOperationResult(id: String, state: String) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.obtainOperationResult(id, state)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "操作成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
-//
-// /**
-// * 编辑更新井信息
-// * */
-// fun updateWellDetail(
-// id: String,
-// wellCode: String,
-// wellName: String,
-// wellType: String,
-// deptid: String,
-// deep: String,
-// position: String,
-// coordinateX: String,
-// coordinateY: String,
-// photos: String,
-// notes: String?,
-// qu: String,
-// area: String,
-// responsibleDept: String,
-// responsibleDeptName: String
-// ) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.updateWellDetail(
-// id,
-// wellCode,
-// wellName,
-// wellType,
-// deptid,
-// deep,
-// position,
-// coordinateX,
-// coordinateY,
-// photos,
-// notes,
-// qu,
-// area,
-// responsibleDept,
-// responsibleDeptName
-// )
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "更新成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
deleted file mode 100644
index f4461f4..0000000
--- a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.smarttube.vm
-
-import androidx.lifecycle.MutableLiveData
-import com.casic.smarttube.base.BaseApplication
-import com.casic.smarttube.extensions.separateResponseCode
-import com.casic.smarttube.extensions.toErrorMessage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.utils.retrofit.RetrofitServiceManager
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
-import com.pengxh.kt.lite.extensions.launch
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.vm.BaseViewModel
-
-class AlarmViewModel : BaseViewModel() {
-
- private val gson = Gson()
- val listModel = MutableLiveData()
-
- fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ) = launch({
- val response = RetrofitServiceManager.obtainAlarmListByPage(
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- page
- )
- val responseCode = response.separateResponseCode()
- if (responseCode == 200) {
- listModel.value = gson.fromJson(
- response, object : TypeToken() {}.type
- )
- } else {
- response.toErrorMessage().show(BaseApplication.obtainInstance())
- }
- }, {
- it.printStackTrace()
- })
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
index 71b14d5..4c5ac01 100644
--- a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
+++ b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
@@ -17,13 +17,6 @@
private val gson = Gson()
val detailModel = MutableLiveData()
-// val allWellModel = MutableLiveData()
-// val countResultModel = MutableLiveData>()
-// val wellTypeAndCountModel = MutableLiveData()
-// val wellListPageModel = MutableLiveData()
-// val wellTypeModel = MutableLiveData()
-// val deviceDataModel = MutableLiveData()
-// val commonResultModel = MutableLiveData()
fun obtainWellDetail(id: String) = launch({
loadState.value = LoadState.Loading
@@ -42,168 +35,4 @@
loadState.value = LoadState.Fail
it.printStackTrace()
})
-
-// fun obtainAllWell() = launch({
-// val response = RetrofitServiceManager.obtainAllWell()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// allWellModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun countWellByState() = launch({
-// val response = RetrofitServiceManager.countWellByState()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// val map = HashMap(3)
-//
-// val jsonObject = JSONObject(response)
-// val data = jsonObject.getJSONObject("data")
-// map["bfWell"] = data.getString("bfWell")
-// map["cfWell"] = data.getString("cfWell")
-// map["total"] = data.getString("total")
-// countResultModel.value = map
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellTypeAndCount() = launch({
-// val response = RetrofitServiceManager.obtainWellTypeAndCount()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeAndCountModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellPageList(keywords: String?, wellType: String?, deptid: String?, offset: Int) =
-// launch({
-// val response =
-// RetrofitServiceManager.obtainWellPageList(keywords, wellType, deptid, offset)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellListPageModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellType() = launch({
-// val response = RetrofitServiceManager.obtainWellType()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainDeviceDataByWell(id: String) = launch({
-// val response = RetrofitServiceManager.obtainDeviceDataByWell(id)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// deviceDataModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainOperationResult(id: String, state: String) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.obtainOperationResult(id, state)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "操作成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
-//
-// /**
-// * 编辑更新井信息
-// * */
-// fun updateWellDetail(
-// id: String,
-// wellCode: String,
-// wellName: String,
-// wellType: String,
-// deptid: String,
-// deep: String,
-// position: String,
-// coordinateX: String,
-// coordinateY: String,
-// photos: String,
-// notes: String?,
-// qu: String,
-// area: String,
-// responsibleDept: String,
-// responsibleDeptName: String
-// ) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.updateWellDetail(
-// id,
-// wellCode,
-// wellName,
-// wellType,
-// deptid,
-// deep,
-// position,
-// coordinateX,
-// coordinateY,
-// photos,
-// notes,
-// qu,
-// area,
-// responsibleDept,
-// responsibleDeptName
-// )
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "更新成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_alarm.xml b/app/src/main/res/drawable/ic_alarm.xml
deleted file mode 100644
index 018a29c..0000000
--- a/app/src/main/res/drawable/ic_alarm.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
deleted file mode 100644
index f4461f4..0000000
--- a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.smarttube.vm
-
-import androidx.lifecycle.MutableLiveData
-import com.casic.smarttube.base.BaseApplication
-import com.casic.smarttube.extensions.separateResponseCode
-import com.casic.smarttube.extensions.toErrorMessage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.utils.retrofit.RetrofitServiceManager
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
-import com.pengxh.kt.lite.extensions.launch
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.vm.BaseViewModel
-
-class AlarmViewModel : BaseViewModel() {
-
- private val gson = Gson()
- val listModel = MutableLiveData()
-
- fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ) = launch({
- val response = RetrofitServiceManager.obtainAlarmListByPage(
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- page
- )
- val responseCode = response.separateResponseCode()
- if (responseCode == 200) {
- listModel.value = gson.fromJson(
- response, object : TypeToken() {}.type
- )
- } else {
- response.toErrorMessage().show(BaseApplication.obtainInstance())
- }
- }, {
- it.printStackTrace()
- })
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
index 71b14d5..4c5ac01 100644
--- a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
+++ b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
@@ -17,13 +17,6 @@
private val gson = Gson()
val detailModel = MutableLiveData()
-// val allWellModel = MutableLiveData()
-// val countResultModel = MutableLiveData>()
-// val wellTypeAndCountModel = MutableLiveData()
-// val wellListPageModel = MutableLiveData()
-// val wellTypeModel = MutableLiveData()
-// val deviceDataModel = MutableLiveData()
-// val commonResultModel = MutableLiveData()
fun obtainWellDetail(id: String) = launch({
loadState.value = LoadState.Loading
@@ -42,168 +35,4 @@
loadState.value = LoadState.Fail
it.printStackTrace()
})
-
-// fun obtainAllWell() = launch({
-// val response = RetrofitServiceManager.obtainAllWell()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// allWellModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun countWellByState() = launch({
-// val response = RetrofitServiceManager.countWellByState()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// val map = HashMap(3)
-//
-// val jsonObject = JSONObject(response)
-// val data = jsonObject.getJSONObject("data")
-// map["bfWell"] = data.getString("bfWell")
-// map["cfWell"] = data.getString("cfWell")
-// map["total"] = data.getString("total")
-// countResultModel.value = map
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellTypeAndCount() = launch({
-// val response = RetrofitServiceManager.obtainWellTypeAndCount()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeAndCountModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellPageList(keywords: String?, wellType: String?, deptid: String?, offset: Int) =
-// launch({
-// val response =
-// RetrofitServiceManager.obtainWellPageList(keywords, wellType, deptid, offset)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellListPageModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellType() = launch({
-// val response = RetrofitServiceManager.obtainWellType()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainDeviceDataByWell(id: String) = launch({
-// val response = RetrofitServiceManager.obtainDeviceDataByWell(id)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// deviceDataModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainOperationResult(id: String, state: String) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.obtainOperationResult(id, state)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "操作成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
-//
-// /**
-// * 编辑更新井信息
-// * */
-// fun updateWellDetail(
-// id: String,
-// wellCode: String,
-// wellName: String,
-// wellType: String,
-// deptid: String,
-// deep: String,
-// position: String,
-// coordinateX: String,
-// coordinateY: String,
-// photos: String,
-// notes: String?,
-// qu: String,
-// area: String,
-// responsibleDept: String,
-// responsibleDeptName: String
-// ) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.updateWellDetail(
-// id,
-// wellCode,
-// wellName,
-// wellType,
-// deptid,
-// deep,
-// position,
-// coordinateX,
-// coordinateY,
-// photos,
-// notes,
-// qu,
-// area,
-// responsibleDept,
-// responsibleDeptName
-// )
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "更新成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_alarm.xml b/app/src/main/res/drawable/ic_alarm.xml
deleted file mode 100644
index 018a29c..0000000
--- a/app/src/main/res/drawable/ic_alarm.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/layout/activity_alarm_management.xml b/app/src/main/res/layout/activity_alarm_management.xml
deleted file mode 100644
index 5b7215a..0000000
--- a/app/src/main/res/layout/activity_alarm_management.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26d9a8f..78c969d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -48,7 +48,6 @@
android:screenOrientation="landscape" />
-
-) : RecyclerView.Adapter() {
-
- private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_alarm_rv, parent, false)
- )
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- holder.alarmMessageView.text = rowsBean.alarmMessage
- val alarmValue = if (rowsBean.alarmValue.toString().isBlank()) {
- "报警值:未知"
- } else {
- "报警值:" + rowsBean.alarmValue
- }
- holder.alarmValueView.text = alarmValue
- holder.wellCodeView.text = String.format("井编号:${rowsBean.wellCode}")
- holder.devCodeView.text = String.format("设备编号:${rowsBean.devcode}")
- holder.wellLocationView.text = String.format("井位置:${rowsBean.position}")
- holder.createTimeView.text = String.format("报警时间:${rowsBean.alarmTime}")
- //绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClicked(position)
- }
- }
- }
-
- inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var alarmMessageView: TextView = view.findViewById(R.id.alarmMessageView)
- var alarmValueView: TextView = view.findViewById(R.id.alarmValueView)
- var wellCodeView: TextView = view.findViewById(R.id.wellCodeView)
- var devCodeView: TextView = view.findViewById(R.id.devCodeView)
- var wellLocationView: TextView = view.findViewById(R.id.wellLocationView)
- var createTimeView: TextView = view.findViewById(R.id.createTimeView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClicked(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- this.listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
index 12f1e79..388948e 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/DeviceListAdapter.kt
@@ -32,7 +32,7 @@
val rowsBean = dataRows[position]
holder.batteryView.setBackgroundResource(rowsBean.cell.toBatteryImage())
holder.deviceCodeView.text = rowsBean.deviceCode
- holder.wellNameView.text = String.format("设备名:${rowsBean.deviceName}")
+// holder.wellNameView.text = String.format("位置:${rowsBean}")
holder.batteryDataView.text = if (rowsBean.cell.isNullOrBlank()) {
"0%"
} else {
@@ -59,7 +59,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var batteryView: ImageView = view.findViewById(R.id.batteryView)
var deviceCodeView: TextView = view.findViewById(R.id.deviceCodeView)
- var wellNameView: TextView = view.findViewById(R.id.wellNameView)
+ var locationView: TextView = view.findViewById(R.id.locationView)
var batteryDataView: TextView = view.findViewById(R.id.batteryDataView)
var snrDataView: TextView = view.findViewById(R.id.snrDataView)
var pciDataView: TextView = view.findViewById(R.id.pciDataView)
diff --git a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
index 6e74091..dfd6b8d 100644
--- a/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
+++ b/app/src/main/java/com/casic/smarttube/adapter/GroupListAdapter.kt
@@ -47,7 +47,8 @@
GeocodeSearch.OnGeocodeSearchListener {
override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
if (rCode == 1000) {
- holder.groupLocationView.text = result?.regeocodeAddress?.formatAddress
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
}
}
@@ -56,7 +57,7 @@
}
})
}
- holder.installDateView.text = rowsBean.installDate
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
//绑定事件
if (listener != null) {
@@ -69,7 +70,7 @@
inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var groupNameView: TextView = view.findViewById(R.id.groupNameView)
var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
- var installDateView: TextView = view.findViewById(R.id.installDateView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
}
private var listener: OnItemClickListener? = null
diff --git a/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
new file mode 100644
index 0000000..d0b8760
--- /dev/null
+++ b/app/src/main/java/com/casic/smarttube/adapter/OverviewGroupListAdapter.kt
@@ -0,0 +1,85 @@
+package com.casic.smarttube.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.amap.api.services.core.LatLonPoint
+import com.amap.api.services.geocoder.GeocodeResult
+import com.amap.api.services.geocoder.GeocodeSearch
+import com.amap.api.services.geocoder.RegeocodeQuery
+import com.amap.api.services.geocoder.RegeocodeResult
+import com.casic.smarttube.R
+import com.casic.smarttube.model.ProjectGroupModel
+
+class OverviewGroupListAdapter(
+ context: Context, private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private val geocoderSearch by lazy { GeocodeSearch(context) }
+ private val layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_group_over_view_rv, parent, false)
+ )
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+
+ holder.groupNameView.text = String.format("项目编号:${rowsBean.groupId}")
+ if (rowsBean.latGaode.isBlank() || rowsBean.lngGaode.isBlank()) {
+ holder.groupLocationView.text = "经纬度异常,无法查看具体位置"
+ } else {
+ val queryParam = RegeocodeQuery(
+ LatLonPoint(rowsBean.latGaode.toDouble(), rowsBean.lngGaode.toDouble()),
+ 200f,
+ GeocodeSearch.AMAP
+ )
+ geocoderSearch.getFromLocationAsyn(queryParam)
+ geocoderSearch.setOnGeocodeSearchListener(object :
+ GeocodeSearch.OnGeocodeSearchListener {
+ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) {
+ if (rCode == 1000) {
+ holder.groupLocationView.text =
+ String.format("项目位置:${result?.regeocodeAddress?.formatAddress}")
+ }
+ }
+
+ override fun onGeocodeSearched(result: GeocodeResult?, rCode: Int) {
+
+ }
+ })
+ }
+ holder.deviceNumView.text = String.format("管理设备数:${5}")
+
+ //绑定事件
+ if (listener != null) {
+ holder.itemView.setOnClickListener {
+ listener!!.onClicked(position)
+ }
+ }
+ }
+
+ inner class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var groupNameView: TextView = view.findViewById(R.id.groupNameView)
+ var groupLocationView: TextView = view.findViewById(R.id.groupLocationView)
+ var deviceNumView: TextView = view.findViewById(R.id.deviceNumView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClicked(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ this.listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
index 2682834..c41379a 100644
--- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
+++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt
@@ -1,29 +1,29 @@
package com.casic.smarttube.fragment
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.smarttube.R
-import com.casic.smarttube.adapter.GroupListAdapter
+import com.casic.smarttube.adapter.OverviewGroupListAdapter
import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.view.AlarmManagementActivity
import com.casic.smarttube.view.GroupDeviceActivity
import com.casic.smarttube.vm.ProjectGroupViewModel
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
import kotlinx.android.synthetic.main.fragment_overview.*
+import kotlinx.android.synthetic.main.include_base_title.*
import kotlinx.android.synthetic.main.include_empty_view.*
class OverviewFragment : KotlinBaseFragment() {
private lateinit var groupViewModel: ProjectGroupViewModel
- private lateinit var groupListAdapter: GroupListAdapter
+ private lateinit var groupListAdapter: OverviewGroupListAdapter
override fun initLayoutView(): Int = R.layout.fragment_overview
override fun setupTopBarLayout() {
- rightOptionView.setOnClickListener {
- requireContext().navigatePageTo()
- }
+ leftBackView.visibility = View.GONE
+ titleView.text = "概览"
}
override fun initData() {
@@ -44,11 +44,11 @@
}
} else {
emptyView!!.hide()
- groupListAdapter = GroupListAdapter(requireContext(), it.data)
+ groupListAdapter = OverviewGroupListAdapter(requireContext(), it.data)
groupRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
groupRecyclerView!!.adapter = groupListAdapter
groupListAdapter.setOnItemClickListener(object :
- GroupListAdapter.OnItemClickListener {
+ OverviewGroupListAdapter.OnItemClickListener {
override fun onClicked(position: Int) {
// 根据groupId查询组下设备
requireContext().navigatePageTo(it.data[position].groupId)
diff --git a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java b/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
deleted file mode 100644
index ad0ea56..0000000
--- a/app/src/main/java/com/casic/smarttube/model/AlarmListModel.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.casic.smarttube.model;
-
-import java.util.List;
-
-public class AlarmListModel {
-
- private int code;
- private DataBean data;
- private String message;
- private boolean success;
-
- public int getCode() {
- return code;
- }
-
- public void setCode(int code) {
- this.code = code;
- }
-
- public DataBean getData() {
- return data;
- }
-
- public void setData(DataBean data) {
- this.data = data;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public static class DataBean {
- private List rows;
- private int total;
-
- public List getRows() {
- return rows;
- }
-
- public void setRows(List rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public static class RowsBean {
- private int alarmContent;
- private String deptName;
- private String jobStatus;
- private String alarmContentName;
- private String wellCode;
- private String alarmTime;
- private String deptid;
- private String alarmTypeName;
- private String alarmMessage;
- private String staff;
- private String deviceId;
- private String jobId;
- private String jobStatusName;
- private String alarmType;
- private String alarmValue;
- private String devcode;
- private String statusName;
- private String alarmLevel;
- private String tel;
- private String id;
- private String wellId;
- private String position;
- private String status;
-
- public int getAlarmContent() {
- return alarmContent;
- }
-
- public void setAlarmContent(int alarmContent) {
- this.alarmContent = alarmContent;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getJobStatus() {
- return jobStatus;
- }
-
- public void setJobStatus(String jobStatus) {
- this.jobStatus = jobStatus;
- }
-
- public String getAlarmContentName() {
- return alarmContentName;
- }
-
- public void setAlarmContentName(String alarmContentName) {
- this.alarmContentName = alarmContentName;
- }
-
- public String getWellCode() {
- return wellCode;
- }
-
- public void setWellCode(String wellCode) {
- this.wellCode = wellCode;
- }
-
- public String getAlarmTime() {
- return alarmTime;
- }
-
- public void setAlarmTime(String alarmTime) {
- this.alarmTime = alarmTime;
- }
-
- public String getDeptid() {
- return deptid;
- }
-
- public void setDeptid(String deptid) {
- this.deptid = deptid;
- }
-
- public String getAlarmTypeName() {
- return alarmTypeName;
- }
-
- public void setAlarmTypeName(String alarmTypeName) {
- this.alarmTypeName = alarmTypeName;
- }
-
- public String getAlarmMessage() {
- return alarmMessage;
- }
-
- public void setAlarmMessage(String alarmMessage) {
- this.alarmMessage = alarmMessage;
- }
-
- public String getStaff() {
- return staff;
- }
-
- public void setStaff(String staff) {
- this.staff = staff;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getJobStatusName() {
- return jobStatusName;
- }
-
- public void setJobStatusName(String jobStatusName) {
- this.jobStatusName = jobStatusName;
- }
-
- public String getAlarmType() {
- return alarmType;
- }
-
- public void setAlarmType(String alarmType) {
- this.alarmType = alarmType;
- }
-
- public String getAlarmValue() {
- return alarmValue;
- }
-
- public void setAlarmValue(String alarmValue) {
- this.alarmValue = alarmValue;
- }
-
- public String getDevcode() {
- return devcode;
- }
-
- public void setDevcode(String devcode) {
- this.devcode = devcode;
- }
-
- public String getStatusName() {
- return statusName;
- }
-
- public void setStatusName(String statusName) {
- this.statusName = statusName;
- }
-
- public String getAlarmLevel() {
- return alarmLevel;
- }
-
- public void setAlarmLevel(String alarmLevel) {
- this.alarmLevel = alarmLevel;
- }
-
- public String getTel() {
- return tel;
- }
-
- public void setTel(String tel) {
- this.tel = tel;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getWellId() {
- return wellId;
- }
-
- public void setWellId(String wellId) {
- this.wellId = wellId;
- }
-
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String position) {
- this.position = position;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
- }
- }
-}
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
index f29fbb6..8917d0c 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitService.kt
@@ -171,25 +171,6 @@
): String
/**
- * 告警列表
- */
- @GET("/alarm/list")
- suspend fun obtainAlarmListByPage(
- @Header("token") token: String,
- @Query("keywords") keywords: String,
- @Query("alarmType") alarmType: String,
- @Query("areaId") areaId: String,
- @Query("alarmContentType") alarmContentType: String,
- @Query("beginTime") beginTime: String,
- @Query("endTime") endTime: String,
- @Query("status") status: String,
- @Query("sort") sort: String,
- @Query("order") order: String,
- @Query("offset") offset: Int,
- @Query("limit") limit: Int
- ): String
-
- /**
* 获取设备最新数据
*
* @param devcode 管盯设备编号
diff --git a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
index 1d2b13d..824e47b 100644
--- a/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/smarttube/utils/retrofit/RetrofitServiceManager.kt
@@ -141,35 +141,6 @@
}
/**
- * 告警列表
- */
- suspend fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ): String {
- return api.obtainAlarmListByPage(
- AuthenticationHelper.token!!,
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- "alarmValue",
- "desc",
- page,
- LocaleConstant.PAGE_LIMIT
- )
- }
-
- /**
* 上传图片
*/
suspend fun uploadImage(image: File): String {
diff --git a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt b/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
deleted file mode 100644
index 4e374ed..0000000
--- a/app/src/main/java/com/casic/smarttube/view/AlarmManagementActivity.kt
+++ /dev/null
@@ -1,129 +0,0 @@
-package com.casic.smarttube.view
-
-import android.os.Handler
-import androidx.lifecycle.ViewModelProvider
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.casic.smarttube.R
-import com.casic.smarttube.adapter.AlarmListAdapter
-import com.casic.smarttube.extensions.showEmptyPage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.vm.AlarmViewModel
-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.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_alarm_management.*
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
-import kotlinx.android.synthetic.main.include_base_title.*
-import kotlinx.android.synthetic.main.include_empty_view.*
-
-
-class AlarmManagementActivity : KotlinBaseActivity() {
-
- private lateinit var alarmViewModel: AlarmViewModel
- private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var alarmListAdapter: AlarmListAdapter
- private var dataBeans: MutableList = ArrayList()
- private var pageIndex = 1
- private var isRefresh = false
- private var isLoadMore = false
-
- override fun initLayoutView(): Int = R.layout.activity_alarm_management
-
- override fun setupTopBarLayout() {
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
- leftBackView.setOnClickListener { finish() }
- titleView.text = "当前告警"
- }
-
- override fun initData() {
- weakReferenceHandler = WeakReferenceHandler(callback)
- alarmViewModel = ViewModelProvider(this).get(AlarmViewModel::class.java)
- }
-
- override fun onResume() {
- obtainAlarmListByPage()
- super.onResume()
- }
-
- override fun initEvent() {
- alarmListLayout.setOnRefreshListener {
- isRefresh = true
- //刷新之后页码重置
- pageIndex = 1
- obtainAlarmListByPage()
- }
- alarmListLayout.setOnLoadMoreListener {
- isLoadMore = true
- pageIndex++
- obtainAlarmListByPage()
- }
-
- alarmViewModel.listModel.observe(this, {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- alarmListLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- alarmListLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
- }
- weakReferenceHandler.sendEmptyMessage(2022062501)
- }
- })
- }
-
- private fun obtainAlarmListByPage() {
- alarmViewModel.obtainAlarmListByPage("", "", "", "", "", "", "1", pageIndex)
- }
-
- private val callback = Handler.Callback {
- if (it.what == 2022062501) {
- if (isRefresh || isLoadMore) {
- alarmListAdapter.notifyDataSetChanged()
- } else { //首次加载数据
- if (dataBeans.size == 0) {
- emptyView!!.showEmptyPage {
- pageIndex = 1
- obtainAlarmListByPage()
- }
- } else {
- emptyView!!.hide()
- alarmListAdapter = AlarmListAdapter(this, dataBeans)
- alarmListView!!.layoutManager = LinearLayoutManager(this)
- alarmListView!!.adapter = alarmListAdapter
- alarmListAdapter.setOnItemClickListener(object :
- AlarmListAdapter.OnItemClickListener {
- override fun onClicked(position: Int) {
- val wellId = dataBeans[position].wellId.toString()
- if (wellId.isBlank()) {
- "井编号异常,无法查看详情".show(this@AlarmManagementActivity)
- return
- }
- navigatePageTo(wellId)
- }
- })
- }
- }
- }
- true
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
index 7c4a47a..68078bb 100644
--- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt
@@ -1,5 +1,6 @@
package com.casic.smarttube.view
+import android.view.View
import androidx.lifecycle.ViewModelProvider
import com.amap.api.services.core.LatLonPoint
import com.amap.api.services.geocoder.GeocodeResult
@@ -10,8 +11,11 @@
import com.casic.smarttube.utils.DialogManager
import com.casic.smarttube.vm.DeviceViewModel
import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
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.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.vm.LoadState
@@ -66,6 +70,32 @@
}
})
}
+ //TODO 描述
+
+ //TODO 图片
+// if (orderDetail.firstStatePhotos.toString().isBlank()) {
+// imageGridView.visibility = View.GONE
+// } else {
+// imageGridView.visibility = View.VISIBLE
+// //处理图片地址
+// val urls: ArrayList = ArrayList()
+// val imageArray = orderDetail.firstStatePhotos.toString().split(",")
+// imageArray.forEach { path ->
+// if (path.isNotBlank()) {
+// urls.add(path.combineImagePath())
+// }
+// }
+// val imageAdapter = ReadOnlyImageAdapter(this)
+// imageAdapter.setImageList(urls)
+// imageGridView.adapter = imageAdapter
+// imageGridView.setOnItemClickListener { _, _, position, _ ->
+// if (urls[position].isEmpty()) {
+// "图片加载失败,无法查看大图".show(this)
+// } else {
+// navigatePageTo(position, urls)
+// }
+// }
+// }
densityView.text = device.stregnth
lastDataView.text = device.uptime
diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
index 4e9b844..68a68d6 100644
--- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
+++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt
@@ -18,8 +18,6 @@
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.vm.LoadState
-import kotlinx.android.synthetic.main.activity_alarm_management.leftBackView
-import kotlinx.android.synthetic.main.activity_alarm_management.titleView
import kotlinx.android.synthetic.main.activity_group_device.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -42,7 +40,6 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
leftBackView.setOnClickListener { finish() }
- titleView.text = "设备列表"
rightOptionView.setOnClickListener {
order = if (order == 0) {
1
@@ -56,6 +53,7 @@
override fun initData() {
groupId = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ titleView.text = String.format(groupId + "项目设备列表")
dialogManager = DialogManager.obtainInstance(this)
weakReferenceHandler = WeakReferenceHandler(callback)
groupViewModel = ViewModelProvider(this).get(ProjectGroupViewModel::class.java)
@@ -110,6 +108,7 @@
}
private fun obtainDeviceListByPage() {
+ //TODO http://111.198.10.15:11311/tube/groupdevice/listpage?wellGroupId=203&order=0&offset=1&limit=20 新增经纬度字段
groupViewModel.obtainDeviceListByPage(groupId, order, pageIndex)
}
diff --git a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
deleted file mode 100644
index f4461f4..0000000
--- a/app/src/main/java/com/casic/smarttube/vm/AlarmViewModel.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.casic.smarttube.vm
-
-import androidx.lifecycle.MutableLiveData
-import com.casic.smarttube.base.BaseApplication
-import com.casic.smarttube.extensions.separateResponseCode
-import com.casic.smarttube.extensions.toErrorMessage
-import com.casic.smarttube.model.AlarmListModel
-import com.casic.smarttube.utils.retrofit.RetrofitServiceManager
-import com.google.gson.Gson
-import com.google.gson.reflect.TypeToken
-import com.pengxh.kt.lite.extensions.launch
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.vm.BaseViewModel
-
-class AlarmViewModel : BaseViewModel() {
-
- private val gson = Gson()
- val listModel = MutableLiveData()
-
- fun obtainAlarmListByPage(
- keywords: String,
- alarmType: String,
- areaId: String,
- alarmContentType: String,
- beginTime: String,
- endTime: String,
- status: String,
- page: Int
- ) = launch({
- val response = RetrofitServiceManager.obtainAlarmListByPage(
- keywords,
- alarmType,
- areaId,
- alarmContentType,
- beginTime,
- endTime,
- status,
- page
- )
- val responseCode = response.separateResponseCode()
- if (responseCode == 200) {
- listModel.value = gson.fromJson(
- response, object : TypeToken() {}.type
- )
- } else {
- response.toErrorMessage().show(BaseApplication.obtainInstance())
- }
- }, {
- it.printStackTrace()
- })
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
index 71b14d5..4c5ac01 100644
--- a/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
+++ b/app/src/main/java/com/casic/smarttube/vm/WellViewModel.kt
@@ -17,13 +17,6 @@
private val gson = Gson()
val detailModel = MutableLiveData()
-// val allWellModel = MutableLiveData()
-// val countResultModel = MutableLiveData>()
-// val wellTypeAndCountModel = MutableLiveData()
-// val wellListPageModel = MutableLiveData()
-// val wellTypeModel = MutableLiveData()
-// val deviceDataModel = MutableLiveData()
-// val commonResultModel = MutableLiveData()
fun obtainWellDetail(id: String) = launch({
loadState.value = LoadState.Loading
@@ -42,168 +35,4 @@
loadState.value = LoadState.Fail
it.printStackTrace()
})
-
-// fun obtainAllWell() = launch({
-// val response = RetrofitServiceManager.obtainAllWell()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// allWellModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun countWellByState() = launch({
-// val response = RetrofitServiceManager.countWellByState()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// val map = HashMap(3)
-//
-// val jsonObject = JSONObject(response)
-// val data = jsonObject.getJSONObject("data")
-// map["bfWell"] = data.getString("bfWell")
-// map["cfWell"] = data.getString("cfWell")
-// map["total"] = data.getString("total")
-// countResultModel.value = map
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellTypeAndCount() = launch({
-// val response = RetrofitServiceManager.obtainWellTypeAndCount()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeAndCountModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellPageList(keywords: String?, wellType: String?, deptid: String?, offset: Int) =
-// launch({
-// val response =
-// RetrofitServiceManager.obtainWellPageList(keywords, wellType, deptid, offset)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellListPageModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainWellType() = launch({
-// val response = RetrofitServiceManager.obtainWellType()
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// wellTypeModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainDeviceDataByWell(id: String) = launch({
-// val response = RetrofitServiceManager.obtainDeviceDataByWell(id)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// deviceDataModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// response.toErrorMessage().show()
-// }
-// }, {
-// it.printStackTrace()
-// })
-//
-// fun obtainOperationResult(id: String, state: String) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.obtainOperationResult(id, state)
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "操作成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
-//
-// /**
-// * 编辑更新井信息
-// * */
-// fun updateWellDetail(
-// id: String,
-// wellCode: String,
-// wellName: String,
-// wellType: String,
-// deptid: String,
-// deep: String,
-// position: String,
-// coordinateX: String,
-// coordinateY: String,
-// photos: String,
-// notes: String?,
-// qu: String,
-// area: String,
-// responsibleDept: String,
-// responsibleDeptName: String
-// ) = launch({
-// loadState.value = LoadState.Loading
-// val response = RetrofitServiceManager.updateWellDetail(
-// id,
-// wellCode,
-// wellName,
-// wellType,
-// deptid,
-// deep,
-// position,
-// coordinateX,
-// coordinateY,
-// photos,
-// notes,
-// qu,
-// area,
-// responsibleDept,
-// responsibleDeptName
-// )
-// val responseCode = response.separateResponseCode()
-// if (responseCode == 200) {
-// loadState.value = LoadState.Success
-// "更新成功".show()
-// commonResultModel.value = gson.fromJson(
-// response, object : TypeToken() {}.type
-// )
-// } else {
-// loadState.value = LoadState.Fail
-// response.toErrorMessage().show()
-// }
-// }, {
-// loadState.value = LoadState.Fail
-// it.printStackTrace()
-// })
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_alarm.xml b/app/src/main/res/drawable/ic_alarm.xml
deleted file mode 100644
index 018a29c..0000000
--- a/app/src/main/res/drawable/ic_alarm.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/app/src/main/res/layout/activity_alarm_management.xml b/app/src/main/res/layout/activity_alarm_management.xml
deleted file mode 100644
index 5b7215a..0000000
--- a/app/src/main/res/layout/activity_alarm_management.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-