diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/res/drawable/ic_alarm_location.xml b/app/src/main/res/drawable/ic_alarm_location.xml index 3b1513c..3d487ef 100644 --- a/app/src/main/res/drawable/ic_alarm_location.xml +++ b/app/src/main/res/drawable/ic_alarm_location.xml @@ -1,9 +1,9 @@ diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/res/drawable/ic_alarm_location.xml b/app/src/main/res/drawable/ic_alarm_location.xml index 3b1513c..3d487ef 100644 --- a/app/src/main/res/drawable/ic_alarm_location.xml +++ b/app/src/main/res/drawable/ic_alarm_location.xml @@ -1,9 +1,9 @@ diff --git a/app/src/main/res/layout/item_alarm_rv.xml b/app/src/main/res/layout/item_alarm_rv.xml deleted file mode 100644 index a1b9e65..0000000 --- a/app/src/main/res/layout/item_alarm_rv.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/res/drawable/ic_alarm_location.xml b/app/src/main/res/drawable/ic_alarm_location.xml index 3b1513c..3d487ef 100644 --- a/app/src/main/res/drawable/ic_alarm_location.xml +++ b/app/src/main/res/drawable/ic_alarm_location.xml @@ -1,9 +1,9 @@ diff --git a/app/src/main/res/layout/item_alarm_rv.xml b/app/src/main/res/layout/item_alarm_rv.xml deleted file mode 100644 index a1b9e65..0000000 --- a/app/src/main/res/layout/item_alarm_rv.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm_rv_l.xml b/app/src/main/res/layout/item_alarm_rv_l.xml new file mode 100644 index 0000000..ef11c7a --- /dev/null +++ b/app/src/main/res/layout/item_alarm_rv_l.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/res/drawable/ic_alarm_location.xml b/app/src/main/res/drawable/ic_alarm_location.xml index 3b1513c..3d487ef 100644 --- a/app/src/main/res/drawable/ic_alarm_location.xml +++ b/app/src/main/res/drawable/ic_alarm_location.xml @@ -1,9 +1,9 @@ diff --git a/app/src/main/res/layout/item_alarm_rv.xml b/app/src/main/res/layout/item_alarm_rv.xml deleted file mode 100644 index a1b9e65..0000000 --- a/app/src/main/res/layout/item_alarm_rv.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm_rv_l.xml b/app/src/main/res/layout/item_alarm_rv_l.xml new file mode 100644 index 0000000..ef11c7a --- /dev/null +++ b/app/src/main/res/layout/item_alarm_rv_l.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 75bb067..3f2bc77 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,7 +4,7 @@ #333333 #626262 #F7F7FA - #CCCCCC + #C0C0C0 #DDDDDD #FF0000 #FF6600 diff --git a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt index 9f7962e..551b934 100644 --- a/app/src/main/java/com/casic/br/operationsite/extensions/String.kt +++ b/app/src/main/java/com/casic/br/operationsite/extensions/String.kt @@ -12,6 +12,7 @@ import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File +import java.text.SimpleDateFormat import java.util.* import java.util.regex.Pattern @@ -70,4 +71,15 @@ val p = Pattern.compile(regEx) val m = p.matcher(this) return m.replaceAll("").trim { it <= ' ' } +} + +fun String.formatToDate(): String { + if (this.isBlank()) { + return this + } + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA) + val date = simpleDateFormat.parse(this) + + val dateFormat = SimpleDateFormat("MM-dd", Locale.CHINA) + return dateFormat.format(date) } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java index 97c7284..064a17f 100644 --- a/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java +++ b/app/src/main/java/com/casic/br/operationsite/model/AlarmListModel.java @@ -5,7 +5,7 @@ public class AlarmListModel { private int code; - private DataBean data; + private DataModel data; private String message; private boolean success; @@ -17,11 +17,11 @@ this.code = code; } - public DataBean getData() { + public DataModel getData() { return data; } - public void setData(DataBean data) { + public void setData(DataModel data) { this.data = data; } @@ -41,15 +41,15 @@ this.success = success; } - public static class DataBean { - private List rows; + public static class DataModel { + private List rows; private int total; - public List getRows() { + public List getRows() { return rows; } - public void setRows(List rows) { + public void setRows(List rows) { this.rows = rows; } @@ -61,24 +61,42 @@ this.total = total; } - public static class RowsBean { - private String alarmDescription; + public static class RowsModel { + private String alarmContent; + private String alarmImage; private String alarmLat; private String alarmLng; - private String area; - private String createTime; + private String alarmStatus; + private String alarmStatusName; + private String alarmTime; + private String alarmType; + private String alarmTypeName; + private String alarmValue; + private String cancelTime; + private String deviceId; private String id; - private String illegalAvatar; - private String location; - private String projectName; - private String projectType; + private String projectId; + private String projectState; + private String projectStateName; + private String workPersonName; + private String workPersonPhoneNumber; + private String workRoad; + private String workTitle; - public String getAlarmDescription() { - return alarmDescription; + public String getAlarmContent() { + return alarmContent; } - public void setAlarmDescription(String alarmDescription) { - this.alarmDescription = alarmDescription; + public void setAlarmContent(String alarmContent) { + this.alarmContent = alarmContent; + } + + public String getAlarmImage() { + return alarmImage; + } + + public void setAlarmImage(String alarmImage) { + this.alarmImage = alarmImage; } public String getAlarmLat() { @@ -97,20 +115,68 @@ this.alarmLng = alarmLng; } - public String getArea() { - return area; + public String getAlarmStatus() { + return alarmStatus; } - public void setArea(String area) { - this.area = area; + public void setAlarmStatus(String alarmStatus) { + this.alarmStatus = alarmStatus; } - public String getCreateTime() { - return createTime; + public String getAlarmStatusName() { + return alarmStatusName; } - public void setCreateTime(String createTime) { - this.createTime = createTime; + public void setAlarmStatusName(String alarmStatusName) { + this.alarmStatusName = alarmStatusName; + } + + public String getAlarmTime() { + return alarmTime; + } + + public void setAlarmTime(String alarmTime) { + this.alarmTime = alarmTime; + } + + public String getAlarmType() { + return alarmType; + } + + public void setAlarmType(String alarmType) { + this.alarmType = alarmType; + } + + public String getAlarmTypeName() { + return alarmTypeName; + } + + public void setAlarmTypeName(String alarmTypeName) { + this.alarmTypeName = alarmTypeName; + } + + public String getAlarmValue() { + return alarmValue; + } + + public void setAlarmValue(String alarmValue) { + this.alarmValue = alarmValue; + } + + public String getCancelTime() { + return cancelTime; + } + + public void setCancelTime(String cancelTime) { + this.cancelTime = cancelTime; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; } public String getId() { @@ -121,36 +187,60 @@ this.id = id; } - public String getIllegalAvatar() { - return illegalAvatar; + public String getProjectId() { + return projectId; } - public void setIllegalAvatar(String illegalAvatar) { - this.illegalAvatar = illegalAvatar; + public void setProjectId(String projectId) { + this.projectId = projectId; } - public String getLocation() { - return location; + public String getProjectState() { + return projectState; } - public void setLocation(String location) { - this.location = location; + public void setProjectState(String projectState) { + this.projectState = projectState; } - public String getProjectName() { - return projectName; + public String getProjectStateName() { + return projectStateName; } - public void setProjectName(String projectName) { - this.projectName = projectName; + public void setProjectStateName(String projectStateName) { + this.projectStateName = projectStateName; } - public String getProjectType() { - return projectType; + public String getWorkPersonName() { + return workPersonName; } - public void setProjectType(String projectType) { - this.projectType = projectType; + public void setWorkPersonName(String workPersonName) { + this.workPersonName = workPersonName; + } + + public String getWorkPersonPhoneNumber() { + return workPersonPhoneNumber; + } + + public void setWorkPersonPhoneNumber(String workPersonPhoneNumber) { + this.workPersonPhoneNumber = workPersonPhoneNumber; + } + + public String getWorkRoad() { + return workRoad; + } + + public void setWorkRoad(String workRoad) { + this.workRoad = workRoad; + } + + public String getWorkTitle() { + return workTitle; + } + + public void setWorkTitle(String workTitle) { + this.workTitle = workTitle; } } } diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt index d318c17..5399670 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.DividerItemDecoration import com.casic.br.operationsite.R +import com.casic.br.operationsite.extensions.combineImagePath +import com.casic.br.operationsite.extensions.formatToDate import com.casic.br.operationsite.extensions.initLayoutImmersionBar import com.casic.br.operationsite.extensions.showEmptyPage import com.casic.br.operationsite.model.AlarmListModel @@ -14,7 +16,7 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.diffCurrentTime import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.WeakReferenceHandler import com.pengxh.kt.lite.vm.LoadState @@ -25,9 +27,9 @@ class AlarmListActivity : KotlinBaseActivity() { private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var alarmListAdapter: NormalRecyclerAdapter + private lateinit var alarmListAdapter: NormalRecyclerAdapter private lateinit var alarmViewModel: AlarmViewModel - private var dataBeans: MutableList = ArrayList() + private var dataBeans: MutableList = ArrayList() private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false @@ -65,8 +67,8 @@ } override fun onResume() { - obtainAlarmListByPage() super.onResume() + obtainAlarmListByPage() } override fun initEvent() { @@ -84,27 +86,26 @@ alarmViewModel.alarmModel.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows + val dataRows = it.data?.rows!! when { isRefresh -> { - dataBeans.clear() - dataBeans = dataRows!! + alarmListAdapter.setRefreshData(dataRows) alarmRefreshLayout.finishRefresh() isRefresh = false } isLoadMore -> { - if (dataRows?.size == 0) { + if (dataRows.size == 0) { "到底了,别拉了".show(this) } - dataBeans.addAll(dataRows!!) + alarmListAdapter.setLoadMoreData(dataRows) alarmRefreshLayout.finishLoadMore() isLoadMore = false } else -> { - dataBeans = dataRows!! + dataBeans = dataRows + weakReferenceHandler.sendEmptyMessage(2022071201) } } - weakReferenceHandler.sendEmptyMessage(2022071201) } } } @@ -115,44 +116,51 @@ private val callback = Handler.Callback { if (it.what == 2022071201) { - if (isRefresh || isLoadMore) { - alarmListAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainAlarmListByPage() - } - } else { - emptyView!!.hide() - alarmListAdapter = object : - NormalRecyclerAdapter( - R.layout.item_alarm_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, - position: Int, - item: AlarmListModel.DataBean.RowsBean - ) { - viewHolder.setText(R.id.groupNameView, item.projectName) - .setText(R.id.projectAreaView, item.area) - .setText(R.id.projectTypeView, item.projectType) - .setText(R.id.projectLocationView, item.location) - } - } - alarmRecyclerView.addItemDecoration( - DividerItemDecoration(this, DividerItemDecoration.VERTICAL) - ) - alarmRecyclerView.adapter = alarmListAdapter - alarmListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: AlarmListModel.DataBean.RowsBean - ) { - navigatePageTo(t.id) - } - }) + if (dataBeans.size == 0) { + emptyView.showEmptyPage { + pageIndex = 1 + obtainAlarmListByPage() } + } else { + emptyView.hide() + alarmListAdapter = + object : NormalRecyclerAdapter( + R.layout.item_alarm_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: AlarmListModel.DataModel.RowsModel + ) { + val deltaT = item.alarmTime.diffCurrentTime() + val diffTime = if (deltaT < 24) { + "${deltaT}小时前" + } else { + item.alarmTime.formatToDate() + } + + viewHolder.setText(R.id.alarmStatusView, item.alarmStatus) + .setText(R.id.alarmContentView, item.alarmContent) + .setText(R.id.workRoadView, item.workRoad) + .setText(R.id.alarmTimeView, diffTime) + .setText(R.id.alarmValueView, "报警值:${item.alarmValue}") + .setImageResource( + R.id.alarmImageView, item.alarmImage.combineImagePath() + ) + } + } + alarmRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + alarmRecyclerView.adapter = alarmListAdapter + alarmListAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: AlarmListModel.DataModel.RowsModel + ) { +// navigatePageTo(t.id) + "需求待完善".show(this@AlarmListActivity) + } + }) } } true diff --git a/app/src/main/res/drawable/ic_alarm_location.xml b/app/src/main/res/drawable/ic_alarm_location.xml index 3b1513c..3d487ef 100644 --- a/app/src/main/res/drawable/ic_alarm_location.xml +++ b/app/src/main/res/drawable/ic_alarm_location.xml @@ -1,9 +1,9 @@ diff --git a/app/src/main/res/layout/item_alarm_rv.xml b/app/src/main/res/layout/item_alarm_rv.xml deleted file mode 100644 index a1b9e65..0000000 --- a/app/src/main/res/layout/item_alarm_rv.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm_rv_l.xml b/app/src/main/res/layout/item_alarm_rv_l.xml new file mode 100644 index 0000000..ef11c7a --- /dev/null +++ b/app/src/main/res/layout/item_alarm_rv_l.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 75bb067..3f2bc77 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,7 +4,7 @@ #333333 #626262 #F7F7FA - #CCCCCC + #C0C0C0 #DDDDDD #FF0000 #FF6600 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 92ba91d..ecdfe92 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -96,6 +96,22 @@ @drawable/ic_right + + +