diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
index 65455f7..0c257fa 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
@@ -1,22 +1,19 @@
package com.casic.birmm.inspect.view
import android.content.Intent
+import android.os.Bundle
+import android.os.CountDownTimer
import android.os.Handler
import android.os.Message
import androidx.core.content.ContextCompat
-import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.EventSearchListAdapter
-import com.casic.birmm.inspect.base.BaseViewModelActivity
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.model.EventListModel
-import com.casic.birmm.inspect.utils.Constant
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.casic.birmm.inspect.utils.TimeOrDateUtil
-import com.casic.birmm.inspect.vm.EventQueryViewModel
+import com.casic.birmm.inspect.utils.*
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
@@ -30,21 +27,20 @@
import kotlinx.android.synthetic.main.include_base_title.*
import java.lang.ref.WeakReference
-class SingleModeEventQueryActivity : BaseViewModelActivity() {
+class SingleModeEventQueryActivity : BaseSingleModeActivity() {
private var keywords = ""
private var startTime = ""
private var endTime = ""
- private var pageIndex = 1
+
+ //本地数据库页码从0开始
+ private var pageIndex = 0
private var isRefresh = false
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var adapter: EventSearchListAdapter
- override fun createViewModelByClass(): Class? =
- EventQueryViewModel::class.java
-
override fun initLayoutView(): Int = R.layout.activity_query_event
override fun setupTopBarLayout() {
@@ -54,14 +50,10 @@
titleView.text = "事件查询(单机模式)"
}
- override fun initData() {
+ override fun initData(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryAllTaskEvent(pageIndex)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
override fun initEvent() {
@@ -102,65 +94,65 @@
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ dataBeans =
+ DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
refreshLayout.setOnRefreshListener {
isRefresh = true
//刷新之后页码重置
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
+
+ }
+
+ override fun onFinish() {
+ dataBeans.clear()
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ refreshLayout.finishRefresh()
+ isRefresh = false
+ weakReferenceHandler.sendEmptyMessage(20210819)
+ }
+ }.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
- }
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
- viewModel.resultModel.observe(this, Observer {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- refreshLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- refreshLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
}
- weakReferenceHandler.sendEmptyMessage(20210712)
- }
- })
- viewModel.loadState.observe(this, Observer {
- "抱歉,无法查询到相关记录".show(this)
- })
+
+ override fun onFinish() {
+ val dataRows = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this@SingleModeEventQueryActivity)
+ }
+ dataBeans.addAll(dataRows)
+ refreshLayout.finishLoadMore()
+ isLoadMore = false
+ weakReferenceHandler.sendEmptyMessage(20210820)
+ }
+ }.start()
+ }
}
private class WeakReferenceHandler(activity: SingleModeEventQueryActivity) : Handler() {
@@ -168,7 +160,7 @@
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
val resultActivity = reference.get()
- if (msg.what == 20210712) {
+ if (msg.what == 20210820) {
if (resultActivity!!.isRefresh || resultActivity.isLoadMore) {
resultActivity.adapter.notifyDataSetChanged()
} else { //首次加载数据
@@ -184,7 +176,10 @@
resultActivity.adapter.setOnItemClickListener(object :
EventSearchListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(resultActivity, EventDetailActivity::class.java)
+ val intent = Intent(
+ resultActivity,
+ SingleModeEventDetailActivity::class.java
+ )
val rowsBean = resultActivity.dataBeans[position]
intent.putExtra("createTime", rowsBean.createTime)
intent.putExtra(
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
index 65455f7..0c257fa 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
@@ -1,22 +1,19 @@
package com.casic.birmm.inspect.view
import android.content.Intent
+import android.os.Bundle
+import android.os.CountDownTimer
import android.os.Handler
import android.os.Message
import androidx.core.content.ContextCompat
-import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.EventSearchListAdapter
-import com.casic.birmm.inspect.base.BaseViewModelActivity
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.model.EventListModel
-import com.casic.birmm.inspect.utils.Constant
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.casic.birmm.inspect.utils.TimeOrDateUtil
-import com.casic.birmm.inspect.vm.EventQueryViewModel
+import com.casic.birmm.inspect.utils.*
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
@@ -30,21 +27,20 @@
import kotlinx.android.synthetic.main.include_base_title.*
import java.lang.ref.WeakReference
-class SingleModeEventQueryActivity : BaseViewModelActivity() {
+class SingleModeEventQueryActivity : BaseSingleModeActivity() {
private var keywords = ""
private var startTime = ""
private var endTime = ""
- private var pageIndex = 1
+
+ //本地数据库页码从0开始
+ private var pageIndex = 0
private var isRefresh = false
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var adapter: EventSearchListAdapter
- override fun createViewModelByClass(): Class? =
- EventQueryViewModel::class.java
-
override fun initLayoutView(): Int = R.layout.activity_query_event
override fun setupTopBarLayout() {
@@ -54,14 +50,10 @@
titleView.text = "事件查询(单机模式)"
}
- override fun initData() {
+ override fun initData(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryAllTaskEvent(pageIndex)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
override fun initEvent() {
@@ -102,65 +94,65 @@
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ dataBeans =
+ DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
refreshLayout.setOnRefreshListener {
isRefresh = true
//刷新之后页码重置
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
+
+ }
+
+ override fun onFinish() {
+ dataBeans.clear()
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ refreshLayout.finishRefresh()
+ isRefresh = false
+ weakReferenceHandler.sendEmptyMessage(20210819)
+ }
+ }.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
- }
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
- viewModel.resultModel.observe(this, Observer {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- refreshLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- refreshLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
}
- weakReferenceHandler.sendEmptyMessage(20210712)
- }
- })
- viewModel.loadState.observe(this, Observer {
- "抱歉,无法查询到相关记录".show(this)
- })
+
+ override fun onFinish() {
+ val dataRows = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this@SingleModeEventQueryActivity)
+ }
+ dataBeans.addAll(dataRows)
+ refreshLayout.finishLoadMore()
+ isLoadMore = false
+ weakReferenceHandler.sendEmptyMessage(20210820)
+ }
+ }.start()
+ }
}
private class WeakReferenceHandler(activity: SingleModeEventQueryActivity) : Handler() {
@@ -168,7 +160,7 @@
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
val resultActivity = reference.get()
- if (msg.what == 20210712) {
+ if (msg.what == 20210820) {
if (resultActivity!!.isRefresh || resultActivity.isLoadMore) {
resultActivity.adapter.notifyDataSetChanged()
} else { //首次加载数据
@@ -184,7 +176,10 @@
resultActivity.adapter.setOnItemClickListener(object :
EventSearchListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(resultActivity, EventDetailActivity::class.java)
+ val intent = Intent(
+ resultActivity,
+ SingleModeEventDetailActivity::class.java
+ )
val rowsBean = resultActivity.dataBeans[position]
intent.putExtra("createTime", rowsBean.createTime)
intent.putExtra(
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
index ff846e1..9412e31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
@@ -96,7 +96,7 @@
leftBackView.setOnClickListener { this.finish() }
eventButton.setChangeAlphaWhenPress(true)
eventButton.setOnClickListener {
- val intent = Intent(this, EventListActivity::class.java)
+ val intent = Intent(this, SingleModeEventListActivity::class.java)
intent.putExtra("id", id)
startActivity(intent)
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
index 65455f7..0c257fa 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
@@ -1,22 +1,19 @@
package com.casic.birmm.inspect.view
import android.content.Intent
+import android.os.Bundle
+import android.os.CountDownTimer
import android.os.Handler
import android.os.Message
import androidx.core.content.ContextCompat
-import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.EventSearchListAdapter
-import com.casic.birmm.inspect.base.BaseViewModelActivity
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.model.EventListModel
-import com.casic.birmm.inspect.utils.Constant
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.casic.birmm.inspect.utils.TimeOrDateUtil
-import com.casic.birmm.inspect.vm.EventQueryViewModel
+import com.casic.birmm.inspect.utils.*
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
@@ -30,21 +27,20 @@
import kotlinx.android.synthetic.main.include_base_title.*
import java.lang.ref.WeakReference
-class SingleModeEventQueryActivity : BaseViewModelActivity() {
+class SingleModeEventQueryActivity : BaseSingleModeActivity() {
private var keywords = ""
private var startTime = ""
private var endTime = ""
- private var pageIndex = 1
+
+ //本地数据库页码从0开始
+ private var pageIndex = 0
private var isRefresh = false
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var adapter: EventSearchListAdapter
- override fun createViewModelByClass(): Class? =
- EventQueryViewModel::class.java
-
override fun initLayoutView(): Int = R.layout.activity_query_event
override fun setupTopBarLayout() {
@@ -54,14 +50,10 @@
titleView.text = "事件查询(单机模式)"
}
- override fun initData() {
+ override fun initData(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryAllTaskEvent(pageIndex)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
override fun initEvent() {
@@ -102,65 +94,65 @@
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ dataBeans =
+ DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
refreshLayout.setOnRefreshListener {
isRefresh = true
//刷新之后页码重置
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
+
+ }
+
+ override fun onFinish() {
+ dataBeans.clear()
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ refreshLayout.finishRefresh()
+ isRefresh = false
+ weakReferenceHandler.sendEmptyMessage(20210819)
+ }
+ }.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
- }
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
- viewModel.resultModel.observe(this, Observer {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- refreshLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- refreshLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
}
- weakReferenceHandler.sendEmptyMessage(20210712)
- }
- })
- viewModel.loadState.observe(this, Observer {
- "抱歉,无法查询到相关记录".show(this)
- })
+
+ override fun onFinish() {
+ val dataRows = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this@SingleModeEventQueryActivity)
+ }
+ dataBeans.addAll(dataRows)
+ refreshLayout.finishLoadMore()
+ isLoadMore = false
+ weakReferenceHandler.sendEmptyMessage(20210820)
+ }
+ }.start()
+ }
}
private class WeakReferenceHandler(activity: SingleModeEventQueryActivity) : Handler() {
@@ -168,7 +160,7 @@
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
val resultActivity = reference.get()
- if (msg.what == 20210712) {
+ if (msg.what == 20210820) {
if (resultActivity!!.isRefresh || resultActivity.isLoadMore) {
resultActivity.adapter.notifyDataSetChanged()
} else { //首次加载数据
@@ -184,7 +176,10 @@
resultActivity.adapter.setOnItemClickListener(object :
EventSearchListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(resultActivity, EventDetailActivity::class.java)
+ val intent = Intent(
+ resultActivity,
+ SingleModeEventDetailActivity::class.java
+ )
val rowsBean = resultActivity.dataBeans[position]
intent.putExtra("createTime", rowsBean.createTime)
intent.putExtra(
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
index ff846e1..9412e31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
@@ -96,7 +96,7 @@
leftBackView.setOnClickListener { this.finish() }
eventButton.setChangeAlphaWhenPress(true)
eventButton.setOnClickListener {
- val intent = Intent(this, EventListActivity::class.java)
+ val intent = Intent(this, SingleModeEventListActivity::class.java)
intent.putExtra("id", id)
startActivity(intent)
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
deleted file mode 100644
index abb6e23..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.casic.birmm.inspect.view
-
-import android.util.Log
-import androidx.core.content.ContextCompat
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
-import com.casic.birmm.inspect.base.BaseActivity
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.gyf.immersionbar.ImmersionBar
-import kotlinx.android.synthetic.main.activity_test.*
-import kotlinx.android.synthetic.main.include_base_title.*
-
-class TestActivity : BaseActivity() {
-
- companion object {
- private const val Tag = "TestActivity"
- }
-
- private val urls = arrayListOf(
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg"
- )
-
- override fun initLayoutView(): Int = R.layout.activity_test
-
- override fun setupTopBarLayout() {
- PageNavigationManager.addActivity(this)
- StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- titleView.text = "测试功能页面"
- }
-
- override fun initData() {
- val imageAdapter = ImageGridViewAdapter(this)
- imageGridView.adapter = imageAdapter
- imageAdapter.setImageList(imageUrls = urls)
- imageGridView.setOnItemClickListener { _, _, position, _ ->
- Log.d(Tag, "点击path: ${urls[position]}")
- }
- imageAdapter.setOnDeleteClickListener(object :
- ImageGridViewAdapter.OnDeleteItemClickListener {
- override fun onDeleteItemClick(position: Int) {
- Log.d(Tag, "删除path: ${urls[position]}")
- }
- })
- }
-
- override fun initEvent() {
-
- }
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
index 65455f7..0c257fa 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
@@ -1,22 +1,19 @@
package com.casic.birmm.inspect.view
import android.content.Intent
+import android.os.Bundle
+import android.os.CountDownTimer
import android.os.Handler
import android.os.Message
import androidx.core.content.ContextCompat
-import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.EventSearchListAdapter
-import com.casic.birmm.inspect.base.BaseViewModelActivity
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.model.EventListModel
-import com.casic.birmm.inspect.utils.Constant
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.casic.birmm.inspect.utils.TimeOrDateUtil
-import com.casic.birmm.inspect.vm.EventQueryViewModel
+import com.casic.birmm.inspect.utils.*
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
@@ -30,21 +27,20 @@
import kotlinx.android.synthetic.main.include_base_title.*
import java.lang.ref.WeakReference
-class SingleModeEventQueryActivity : BaseViewModelActivity() {
+class SingleModeEventQueryActivity : BaseSingleModeActivity() {
private var keywords = ""
private var startTime = ""
private var endTime = ""
- private var pageIndex = 1
+
+ //本地数据库页码从0开始
+ private var pageIndex = 0
private var isRefresh = false
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var adapter: EventSearchListAdapter
- override fun createViewModelByClass(): Class? =
- EventQueryViewModel::class.java
-
override fun initLayoutView(): Int = R.layout.activity_query_event
override fun setupTopBarLayout() {
@@ -54,14 +50,10 @@
titleView.text = "事件查询(单机模式)"
}
- override fun initData() {
+ override fun initData(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryAllTaskEvent(pageIndex)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
override fun initEvent() {
@@ -102,65 +94,65 @@
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ dataBeans =
+ DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
refreshLayout.setOnRefreshListener {
isRefresh = true
//刷新之后页码重置
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
+
+ }
+
+ override fun onFinish() {
+ dataBeans.clear()
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ refreshLayout.finishRefresh()
+ isRefresh = false
+ weakReferenceHandler.sendEmptyMessage(20210819)
+ }
+ }.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
- }
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
- viewModel.resultModel.observe(this, Observer {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- refreshLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- refreshLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
}
- weakReferenceHandler.sendEmptyMessage(20210712)
- }
- })
- viewModel.loadState.observe(this, Observer {
- "抱歉,无法查询到相关记录".show(this)
- })
+
+ override fun onFinish() {
+ val dataRows = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this@SingleModeEventQueryActivity)
+ }
+ dataBeans.addAll(dataRows)
+ refreshLayout.finishLoadMore()
+ isLoadMore = false
+ weakReferenceHandler.sendEmptyMessage(20210820)
+ }
+ }.start()
+ }
}
private class WeakReferenceHandler(activity: SingleModeEventQueryActivity) : Handler() {
@@ -168,7 +160,7 @@
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
val resultActivity = reference.get()
- if (msg.what == 20210712) {
+ if (msg.what == 20210820) {
if (resultActivity!!.isRefresh || resultActivity.isLoadMore) {
resultActivity.adapter.notifyDataSetChanged()
} else { //首次加载数据
@@ -184,7 +176,10 @@
resultActivity.adapter.setOnItemClickListener(object :
EventSearchListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(resultActivity, EventDetailActivity::class.java)
+ val intent = Intent(
+ resultActivity,
+ SingleModeEventDetailActivity::class.java
+ )
val rowsBean = resultActivity.dataBeans[position]
intent.putExtra("createTime", rowsBean.createTime)
intent.putExtra(
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
index ff846e1..9412e31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
@@ -96,7 +96,7 @@
leftBackView.setOnClickListener { this.finish() }
eventButton.setChangeAlphaWhenPress(true)
eventButton.setOnClickListener {
- val intent = Intent(this, EventListActivity::class.java)
+ val intent = Intent(this, SingleModeEventListActivity::class.java)
intent.putExtra("id", id)
startActivity(intent)
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
deleted file mode 100644
index abb6e23..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.casic.birmm.inspect.view
-
-import android.util.Log
-import androidx.core.content.ContextCompat
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
-import com.casic.birmm.inspect.base.BaseActivity
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.gyf.immersionbar.ImmersionBar
-import kotlinx.android.synthetic.main.activity_test.*
-import kotlinx.android.synthetic.main.include_base_title.*
-
-class TestActivity : BaseActivity() {
-
- companion object {
- private const val Tag = "TestActivity"
- }
-
- private val urls = arrayListOf(
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg"
- )
-
- override fun initLayoutView(): Int = R.layout.activity_test
-
- override fun setupTopBarLayout() {
- PageNavigationManager.addActivity(this)
- StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- titleView.text = "测试功能页面"
- }
-
- override fun initData() {
- val imageAdapter = ImageGridViewAdapter(this)
- imageGridView.adapter = imageAdapter
- imageAdapter.setImageList(imageUrls = urls)
- imageGridView.setOnItemClickListener { _, _, position, _ ->
- Log.d(Tag, "点击path: ${urls[position]}")
- }
- imageAdapter.setOnDeleteClickListener(object :
- ImageGridViewAdapter.OnDeleteItemClickListener {
- override fun onDeleteItemClick(position: Int) {
- Log.d(Tag, "删除path: ${urls[position]}")
- }
- })
- }
-
- override fun initEvent() {
-
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_query_event.xml b/app/src/main/res/layout/activity_query_event.xml
index 109737c..b2051b4 100644
--- a/app/src/main/res/layout/activity_query_event.xml
+++ b/app/src/main/res/layout/activity_query_event.xml
@@ -89,7 +89,7 @@
@@ -105,6 +105,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
+ android:hint="请输入想要查询的事件标签"
android:paddingHorizontal="5dp"
android:paddingVertical="7dp"
android:textColor="@color/black"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7f9b4a0..e58acea 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,7 +40,6 @@
-
@@ -52,12 +51,14 @@
+
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
index f80b012..fa0ebf6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/DataBaseManager.kt
@@ -5,10 +5,7 @@
import com.casic.birmm.inspect.bean.TaskEventLocalBean
import com.casic.birmm.inspect.greendao.InspectionLocalBeanDao
import com.casic.birmm.inspect.greendao.TaskEventLocalBeanDao
-import com.casic.birmm.inspect.model.InspectDetailModel
-import com.casic.birmm.inspect.model.InspectListModel
-import com.casic.birmm.inspect.model.NewInspectionModel
-import com.casic.birmm.inspect.model.NewTaskEventModel
+import com.casic.birmm.inspect.model.*
class DataBaseManager private constructor() {
@@ -71,8 +68,9 @@
* 查询所有巡检数据
*/
fun queryAllInspection(offset: Int): MutableList {
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
@@ -96,7 +94,7 @@
InspectionLocalBeanDao.Properties.Date.between(startDate, endDate),
InspectionLocalBeanDao.Properties.Name.like(name)
)
- return addQueryResult(
+ return addInspectionQueryResult(
queryBuilder.where(condition)
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
.offset(offset * Constant.PAGE_LIMIT)
@@ -105,15 +103,16 @@
)
} else if (startDate == "" && endDate == "" && name == "") {
//都为"",查询全部
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
+ .orderDesc(InspectionLocalBeanDao.Properties.StartTime)
.offset(offset * Constant.PAGE_LIMIT)
.limit(Constant.PAGE_LIMIT)
.list()
)
} else {
//其他只查询巡检名
- return addQueryResult(
+ return addInspectionQueryResult(
inspectionDao.queryBuilder()
.where(InspectionLocalBeanDao.Properties.Name.like(name))
.orderDesc(InspectionLocalBeanDao.Properties.StartTime)//按时间顺序最新顺序排序
@@ -124,7 +123,7 @@
}
}
- private fun addQueryResult(list: List?): MutableList {
+ private fun addInspectionQueryResult(list: List?): MutableList {
val resultList = ArrayList()
list?.forEach {
val rowsBean = InspectListModel.DataBean.RowsBean()
@@ -213,58 +212,113 @@
/**
* 根据巡检Id查询事件数据
*/
- fun queryTaskByInspection(inspectionId: String): MutableList? {
- val resultList = ArrayList()
+ fun queryTaskByInspection(inspectionId: String): MutableList {
+ val resultList = ArrayList()
taskEventDao.queryBuilder()
.where(TaskEventLocalBeanDao.Properties.InspectionId.eq(inspectionId))
.orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
.list()?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val listBean = TaskRecordModel.DataBean.ListBean()
+
+ listBean.id = it.taskId
+ listBean.inspectionId = it.inspectionId
+ listBean.name = it.name
+ listBean.createTime = it.createTime
+ listBean.type = it.type
+ listBean.lng = it.lng
+ listBean.lat = it.lat
+ listBean.data = it.data.toInt()
+ listBean.images = it.images
+ listBean.description = it.description
+ listBean.user = it.user
+
+ resultList.add(listBean)
}
return resultList
}
/**
- * 查询所有数据
+ * 查询所有事件数据
*/
- fun queryAllTask(): MutableList? {
- val list = taskEventDao.queryBuilder().build().list()
- val resultList = ArrayList()
+ fun queryAllTaskEvent(offset: Int): MutableList {
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+
+ private fun addTaskTaskEventQueryResult(list: List?): MutableList {
+ val resultList = ArrayList()
list?.forEach {
- resultList.add(
- NewTaskEventModel(
- taskId = it.taskId,
- inspectionId = it.inspectionId,
- name = it.name,
- createTime = it.createTime,
- type = it.type,
- lng = it.lng,
- lat = it.lat,
- data = it.data,
- images = it.images,
- description = it.description,
- user = it.user
- )
- )
+ val rowsBean = EventListModel.DataBean.RowsBean()
+
+ rowsBean.id = it.taskId
+ rowsBean.inspectionId = it.inspectionId
+ rowsBean.name = it.name
+ rowsBean.createTime = it.createTime
+ rowsBean.type = it.type
+ rowsBean.data = it.data.toInt()
+ rowsBean.description = it.description
+ rowsBean.lat = it.lat
+ rowsBean.lng = it.lng
+ rowsBean.images = it.images
+ rowsBean.user = it.user
+
+ resultList.add(rowsBean)
}
return resultList
}
/**
+ * 条件查询事件数据
+ */
+ fun queryEventByCondition(
+ startDate: String,
+ endDate: String,
+ name: String,
+ offset: Int
+ ): MutableList {
+ //条件都不为"",精确查询
+ if (startDate != "" && endDate != "" && name != "") {
+ val queryBuilder = taskEventDao.queryBuilder()
+ //查询条件
+ val condition = queryBuilder.and(
+ TaskEventLocalBeanDao.Properties.CreateTime.between(startDate, endDate),
+ TaskEventLocalBeanDao.Properties.Name.like(name)
+ )
+ return addTaskTaskEventQueryResult(
+ queryBuilder.where(condition)
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else if (startDate == "" && endDate == "" && name == "") {
+ //都为"",查询全部
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ } else {
+ //其他只查询巡检名
+ return addTaskTaskEventQueryResult(
+ taskEventDao.queryBuilder()
+ .where(TaskEventLocalBeanDao.Properties.Name.like(name))
+ .orderDesc(TaskEventLocalBeanDao.Properties.CreateTime)//按时间顺序最新顺序排序
+ .offset(offset * Constant.PAGE_LIMIT)
+ .limit(Constant.PAGE_LIMIT)
+ .list()
+ )
+ }
+ }
+
+ /**
* 判断是否插入数据成功
*/
fun isInsertSuccess(id: String, isInspection: Boolean): Boolean {
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
new file mode 100644
index 0000000..75230a2
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventDetailActivity.kt
@@ -0,0 +1,79 @@
+package com.casic.birmm.inspect.view
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.view.View
+import androidx.core.content.ContextCompat
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.OtherUtils
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_detail.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+
+class SingleModeEventDetailActivity : BaseSingleModeActivity() {
+ override fun initLayoutView(): Int = R.layout.activity_event_detail
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件详情"
+ }
+
+ @SuppressLint("SetTextI18n")
+ override fun initData(savedInstanceState: Bundle?) {
+ createTimeView.text = intent.getStringExtra("createTime")
+ descriptionView.text = intent.getStringExtra("description")
+ val data = intent.getIntExtra("data", -1)
+ if (data == -1) {
+ dataView.text = "0.0"
+ } else {
+ dataView.text = "$data.0"
+ }
+ val images = intent.getStringExtra("images")
+
+ /**
+ * images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
+ * */
+ val urls: ArrayList = ArrayList()
+ if (images == null) {
+ urls.add("")
+ } else {
+ if (images.isEmpty()) {
+ urls.add("")
+ } else {
+ val imageArray = images.split(",")
+ imageArray.forEach {
+ urls.add(it)
+ }
+ }
+ }
+ if (urls.size == 0) {
+ imageLayout.visibility = View.GONE
+ } else {
+ imageLayout.visibility = View.VISIBLE
+ //绑定图片
+ val imageAdapter = ImageGridViewAdapter(this)
+ imageAdapter.setImageList(imageUrls = urls)
+ imageAdapter.isDeleteVisible(false)
+ imageGridView.adapter = imageAdapter
+ imageGridView.setOnItemClickListener { _, _, position, _ ->
+ if (urls[position].isEmpty()) {
+ "图片加载失败,无法查看大图".show(this@SingleModeEventDetailActivity)
+ } else {
+ OtherUtils.showBigImage(this@SingleModeEventDetailActivity, position, urls)
+ }
+ }
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
new file mode 100644
index 0000000..be7d506
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventListActivity.kt
@@ -0,0 +1,64 @@
+package com.casic.birmm.inspect.view
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.extensions.filterString
+import com.casic.birmm.inspect.extensions.show
+import com.casic.birmm.inspect.utils.DataBaseManager
+import com.casic.birmm.inspect.utils.PageNavigationManager
+import com.casic.birmm.inspect.utils.StatusBarColorUtil
+import com.gyf.immersionbar.ImmersionBar
+import kotlinx.android.synthetic.main.activity_event_list.*
+import kotlinx.android.synthetic.main.include_base_title.*
+
+class SingleModeEventListActivity : BaseSingleModeActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_event_list
+
+ override fun setupTopBarLayout() {
+ PageNavigationManager.addActivity(this)
+ StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
+ ImmersionBar.with(this).statusBarDarkFont(false).init()
+ titleView.text = "事件清单"
+ }
+
+ override fun initData(savedInstanceState: Bundle?) {
+ val id = intent.getStringExtra("id")!!
+ val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
+ if (dataRows.isEmpty()) {
+ "抱歉,无法查询到相关记录".show(this)
+ } else {
+ val eventAdapter = EventListAdapter(this, dataRows)
+ eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ eventRecyclerView.adapter = eventAdapter
+ eventAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
+ override fun onClick(position: Int) {
+ val intent =
+ Intent(
+ this@SingleModeEventListActivity,
+ SingleModeEventDetailActivity::class.java
+ )
+ val listBean = dataRows[position]
+ intent.putExtra("createTime", listBean.createTime)
+ intent.putExtra(
+ "description",
+ listBean.description!!.filterString()
+ )
+ intent.putExtra("data", listBean.data)
+ intent.putExtra("images", listBean.images)
+ startActivity(intent)
+ }
+ })
+ }
+ }
+
+ override fun initEvent() {
+ leftBackView.setOnClickListener { this.finish() }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
index 65455f7..0c257fa 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeEventQueryActivity.kt
@@ -1,22 +1,19 @@
package com.casic.birmm.inspect.view
import android.content.Intent
+import android.os.Bundle
+import android.os.CountDownTimer
import android.os.Handler
import android.os.Message
import androidx.core.content.ContextCompat
-import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.EventSearchListAdapter
-import com.casic.birmm.inspect.base.BaseViewModelActivity
+import com.casic.birmm.inspect.base.BaseSingleModeActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.model.EventListModel
-import com.casic.birmm.inspect.utils.Constant
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.casic.birmm.inspect.utils.TimeOrDateUtil
-import com.casic.birmm.inspect.vm.EventQueryViewModel
+import com.casic.birmm.inspect.utils.*
import com.gyf.immersionbar.ImmersionBar
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
@@ -30,21 +27,20 @@
import kotlinx.android.synthetic.main.include_base_title.*
import java.lang.ref.WeakReference
-class SingleModeEventQueryActivity : BaseViewModelActivity() {
+class SingleModeEventQueryActivity : BaseSingleModeActivity() {
private var keywords = ""
private var startTime = ""
private var endTime = ""
- private var pageIndex = 1
+
+ //本地数据库页码从0开始
+ private var pageIndex = 0
private var isRefresh = false
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var adapter: EventSearchListAdapter
- override fun createViewModelByClass(): Class? =
- EventQueryViewModel::class.java
-
override fun initLayoutView(): Int = R.layout.activity_query_event
override fun setupTopBarLayout() {
@@ -54,14 +50,10 @@
titleView.text = "事件查询(单机模式)"
}
- override fun initData() {
+ override fun initData(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryAllTaskEvent(pageIndex)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
override fun initEvent() {
@@ -102,65 +94,65 @@
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ dataBeans =
+ DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
refreshLayout.setOnRefreshListener {
isRefresh = true
//刷新之后页码重置
- pageIndex = 1
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
+ pageIndex = 0
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
+
+ }
+
+ override fun onFinish() {
+ dataBeans.clear()
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ refreshLayout.finishRefresh()
+ isRefresh = false
+ weakReferenceHandler.sendEmptyMessage(20210819)
+ }
+ }.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- viewModel.queryEvent(
- keywords = keywords,
- startTime = startTime,
- endTime = endTime,
- pageIndex = pageIndex
- )
- }
+ object : CountDownTimer(1500, 500) {
+ override fun onTick(millisUntilFinished: Long) {
- viewModel.resultModel.observe(this, Observer {
- if (it.code == 200) {
- val dataRows = it.data?.rows
- when {
- isRefresh -> {
- dataBeans.clear()
- dataBeans = dataRows!!
- refreshLayout.finishRefresh()
- isRefresh = false
- }
- isLoadMore -> {
- if (dataRows?.size == 0) {
- "到底了,别拉了".show(this)
- }
- dataBeans.addAll(dataRows!!)
- refreshLayout.finishLoadMore()
- isLoadMore = false
- }
- else -> {
- dataBeans = dataRows!!
- }
}
- weakReferenceHandler.sendEmptyMessage(20210712)
- }
- })
- viewModel.loadState.observe(this, Observer {
- "抱歉,无法查询到相关记录".show(this)
- })
+
+ override fun onFinish() {
+ val dataRows = DataBaseManager.instance.queryEventByCondition(
+ startTime,
+ endTime,
+ keywords,
+ pageIndex
+ )
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this@SingleModeEventQueryActivity)
+ }
+ dataBeans.addAll(dataRows)
+ refreshLayout.finishLoadMore()
+ isLoadMore = false
+ weakReferenceHandler.sendEmptyMessage(20210820)
+ }
+ }.start()
+ }
}
private class WeakReferenceHandler(activity: SingleModeEventQueryActivity) : Handler() {
@@ -168,7 +160,7 @@
override fun handleMessage(msg: Message) {
super.handleMessage(msg)
val resultActivity = reference.get()
- if (msg.what == 20210712) {
+ if (msg.what == 20210820) {
if (resultActivity!!.isRefresh || resultActivity.isLoadMore) {
resultActivity.adapter.notifyDataSetChanged()
} else { //首次加载数据
@@ -184,7 +176,10 @@
resultActivity.adapter.setOnItemClickListener(object :
EventSearchListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(resultActivity, EventDetailActivity::class.java)
+ val intent = Intent(
+ resultActivity,
+ SingleModeEventDetailActivity::class.java
+ )
val rowsBean = resultActivity.dataBeans[position]
intent.putExtra("createTime", rowsBean.createTime)
intent.putExtra(
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
index ff846e1..9412e31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/SingleModeInspectRouteActivity.kt
@@ -96,7 +96,7 @@
leftBackView.setOnClickListener { this.finish() }
eventButton.setChangeAlphaWhenPress(true)
eventButton.setOnClickListener {
- val intent = Intent(this, EventListActivity::class.java)
+ val intent = Intent(this, SingleModeEventListActivity::class.java)
intent.putExtra("id", id)
startActivity(intent)
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
deleted file mode 100644
index abb6e23..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/view/TestActivity.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.casic.birmm.inspect.view
-
-import android.util.Log
-import androidx.core.content.ContextCompat
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.ImageGridViewAdapter
-import com.casic.birmm.inspect.base.BaseActivity
-import com.casic.birmm.inspect.utils.PageNavigationManager
-import com.casic.birmm.inspect.utils.StatusBarColorUtil
-import com.gyf.immersionbar.ImmersionBar
-import kotlinx.android.synthetic.main.activity_test.*
-import kotlinx.android.synthetic.main.include_base_title.*
-
-class TestActivity : BaseActivity() {
-
- companion object {
- private const val Tag = "TestActivity"
- }
-
- private val urls = arrayListOf(
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg",
- "http://111.198.10.15:12204/static/2021-07/b2c3f2f2e5ba4686bfece696bf5f8510.jpeg"
- )
-
- override fun initLayoutView(): Int = R.layout.activity_test
-
- override fun setupTopBarLayout() {
- PageNavigationManager.addActivity(this)
- StatusBarColorUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor))
- ImmersionBar.with(this).statusBarDarkFont(false).init()
- titleView.text = "测试功能页面"
- }
-
- override fun initData() {
- val imageAdapter = ImageGridViewAdapter(this)
- imageGridView.adapter = imageAdapter
- imageAdapter.setImageList(imageUrls = urls)
- imageGridView.setOnItemClickListener { _, _, position, _ ->
- Log.d(Tag, "点击path: ${urls[position]}")
- }
- imageAdapter.setOnDeleteClickListener(object :
- ImageGridViewAdapter.OnDeleteItemClickListener {
- override fun onDeleteItemClick(position: Int) {
- Log.d(Tag, "删除path: ${urls[position]}")
- }
- })
- }
-
- override fun initEvent() {
-
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_query_event.xml b/app/src/main/res/layout/activity_query_event.xml
index 109737c..b2051b4 100644
--- a/app/src/main/res/layout/activity_query_event.xml
+++ b/app/src/main/res/layout/activity_query_event.xml
@@ -89,7 +89,7 @@
@@ -105,6 +105,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
+ android:hint="请输入想要查询的事件标签"
android:paddingHorizontal="5dp"
android:paddingVertical="7dp"
android:textColor="@color/black"
diff --git a/app/src/main/res/layout/activity_test.xml b/app/src/main/res/layout/activity_test.xml
deleted file mode 100644
index 066d6dd..0000000
--- a/app/src/main/res/layout/activity_test.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file