diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
deleted file mode 100644
index c619ef3..0000000
--- a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityPipeBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.AlarmDataBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.view.map.WarningOnMapActivity;
-import com.casic.dcms.vm.AlarmViewModel;
-import com.casic.dcms.widgets.CancelAlarmDialog;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.divider.ItemDecoration;
-import com.pengxh.androidx.lite.hub.FloatHub;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.SaveKeyValues;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PipelineManagerActivity extends AndroidxBaseActivity {
-
- private static final String TAG = "PipelineManagerActivity";
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private AlarmViewModel alarmViewModel;
- private NormalRecyclerAdapter adapter;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("管网管理");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchCancelDialog();
- break;
- case 1:
- startActivity(new Intent(context, WarningOnMapActivity.class));
- break;
- case 2:
- startActivity(new Intent(context, WellListActivity.class));
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
- alarmViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
- alarmViewModel.resultModel.observe(this, new Observer() {
- @Override
- public void onChanged(AlarmDataBean alarmDataBean) {
- if (alarmDataBean.getCode() == 200) {
- SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
- List dataRows = alarmDataBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210626);
- }
- }
- }
- });
-
- alarmViewModel.cancelActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean actionResultBean) {
- if (actionResultBean.getCode() == 200) {
- StringHub.show(context, "取消报警成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainAlarmList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pageIndex = 1;
- obtainAlarmList();
- }
-
- private void obtainAlarmList() {
- alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainAlarmList();
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210626) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.alarmPositionView, item.getPosition())
- .setText(R.id.alarmTimeView, item.getAlarmTime())
- .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSingleCancelDialog(item.getJobId());
- }
- });
- }
- };
- viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
- viewBinding.warningRecyclerView.setAdapter(adapter);
- }
- }
- return true;
- };
-
- //单个消警
- private void showSingleCancelDialog(String jobId) {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键消警
- private void showBatchCancelDialog() {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelBatchAlarm(status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
deleted file mode 100644
index c619ef3..0000000
--- a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityPipeBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.AlarmDataBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.view.map.WarningOnMapActivity;
-import com.casic.dcms.vm.AlarmViewModel;
-import com.casic.dcms.widgets.CancelAlarmDialog;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.divider.ItemDecoration;
-import com.pengxh.androidx.lite.hub.FloatHub;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.SaveKeyValues;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PipelineManagerActivity extends AndroidxBaseActivity {
-
- private static final String TAG = "PipelineManagerActivity";
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private AlarmViewModel alarmViewModel;
- private NormalRecyclerAdapter adapter;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("管网管理");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchCancelDialog();
- break;
- case 1:
- startActivity(new Intent(context, WarningOnMapActivity.class));
- break;
- case 2:
- startActivity(new Intent(context, WellListActivity.class));
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
- alarmViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
- alarmViewModel.resultModel.observe(this, new Observer() {
- @Override
- public void onChanged(AlarmDataBean alarmDataBean) {
- if (alarmDataBean.getCode() == 200) {
- SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
- List dataRows = alarmDataBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210626);
- }
- }
- }
- });
-
- alarmViewModel.cancelActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean actionResultBean) {
- if (actionResultBean.getCode() == 200) {
- StringHub.show(context, "取消报警成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainAlarmList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pageIndex = 1;
- obtainAlarmList();
- }
-
- private void obtainAlarmList() {
- alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainAlarmList();
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210626) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.alarmPositionView, item.getPosition())
- .setText(R.id.alarmTimeView, item.getAlarmTime())
- .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSingleCancelDialog(item.getJobId());
- }
- });
- }
- };
- viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
- viewBinding.warningRecyclerView.setAdapter(adapter);
- }
- }
- return true;
- };
-
- //单个消警
- private void showSingleCancelDialog(String jobId) {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键消警
- private void showBatchCancelDialog() {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelBatchAlarm(status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/WellListActivity.java
deleted file mode 100644
index 0a87678..0000000
--- a/app/src/main/java/com/casic/dcms/view/WellListActivity.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityWellListBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.WellListBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.utils.MapHelper;
-import com.casic.dcms.vm.WellViewModel;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class WellListActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private NormalRecyclerAdapter adapter;
- private WellViewModel wellViewModel;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("窨井列表");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchOptionDialog("布防", "1");
- break;
- case 1:
- showBatchOptionDialog("撤防", "0");
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
-
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
- }
-
- @Override
- protected void onResume() {
- obtainWellList();
- super.onResume();
- }
-
- private void obtainWellList() {
- wellViewModel.obtainWellList(pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainWellList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainWellList();
- }
- });
-
- wellViewModel.listModel.observe(this, new Observer() {
- @Override
- public void onChanged(WellListBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210628);
- }
- }
- }
- });
-
- wellViewModel.operationActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- StringHub.show(context, "操作成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainWellList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- wellViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "处理中,请稍后...");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210628) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
- .setText(R.id.wellNameView, item.getWellName())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.wellPositionView, item.getPosition())
- .setText(R.id.wellStatusView, "已" + item.getBfztName());
-
- String bfzt = item.getBfzt();
- if (bfzt.equals("0")) {
- viewHolder.setText(R.id.wellOptionButton, "布防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
- } else {
- viewHolder.setText(R.id.wellOptionButton, "撤防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
- }
-
- viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- StringHub.show(context, "井深" + item.getDeep() + "m");
- }
- });
-
- viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String bfzt = item.getBfzt();
- String bfztName;
- if (bfzt.equals("0")) {
- bfztName = "布防";
- bfzt = "1";
- } else if (bfzt.equals("1")) {
- bfztName = "撤防";
- bfzt = "0";
- } else {
- StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
- return;
- }
- showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
- }
- });
- }
- };
- viewBinding.wellRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
- @Override
- public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
- String lng = rowsBean.getCoordinateX();
- String lat = rowsBean.getCoordinateY();
- MapHelper.displayOnMap(context, "others", lng, lat);
- }
- });
- }
- }
- return true;
- };
-
- //单个撤防/布防
- private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定要对该井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateSingleWell(id, bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键撤防/布防
- private void showBatchOptionDialog(String bfztName, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定对全部井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateBatchWell(bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
deleted file mode 100644
index c619ef3..0000000
--- a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityPipeBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.AlarmDataBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.view.map.WarningOnMapActivity;
-import com.casic.dcms.vm.AlarmViewModel;
-import com.casic.dcms.widgets.CancelAlarmDialog;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.divider.ItemDecoration;
-import com.pengxh.androidx.lite.hub.FloatHub;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.SaveKeyValues;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PipelineManagerActivity extends AndroidxBaseActivity {
-
- private static final String TAG = "PipelineManagerActivity";
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private AlarmViewModel alarmViewModel;
- private NormalRecyclerAdapter adapter;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("管网管理");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchCancelDialog();
- break;
- case 1:
- startActivity(new Intent(context, WarningOnMapActivity.class));
- break;
- case 2:
- startActivity(new Intent(context, WellListActivity.class));
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
- alarmViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
- alarmViewModel.resultModel.observe(this, new Observer() {
- @Override
- public void onChanged(AlarmDataBean alarmDataBean) {
- if (alarmDataBean.getCode() == 200) {
- SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
- List dataRows = alarmDataBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210626);
- }
- }
- }
- });
-
- alarmViewModel.cancelActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean actionResultBean) {
- if (actionResultBean.getCode() == 200) {
- StringHub.show(context, "取消报警成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainAlarmList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pageIndex = 1;
- obtainAlarmList();
- }
-
- private void obtainAlarmList() {
- alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainAlarmList();
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210626) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.alarmPositionView, item.getPosition())
- .setText(R.id.alarmTimeView, item.getAlarmTime())
- .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSingleCancelDialog(item.getJobId());
- }
- });
- }
- };
- viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
- viewBinding.warningRecyclerView.setAdapter(adapter);
- }
- }
- return true;
- };
-
- //单个消警
- private void showSingleCancelDialog(String jobId) {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键消警
- private void showBatchCancelDialog() {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelBatchAlarm(status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/WellListActivity.java
deleted file mode 100644
index 0a87678..0000000
--- a/app/src/main/java/com/casic/dcms/view/WellListActivity.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityWellListBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.WellListBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.utils.MapHelper;
-import com.casic.dcms.vm.WellViewModel;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class WellListActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private NormalRecyclerAdapter adapter;
- private WellViewModel wellViewModel;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("窨井列表");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchOptionDialog("布防", "1");
- break;
- case 1:
- showBatchOptionDialog("撤防", "0");
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
-
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
- }
-
- @Override
- protected void onResume() {
- obtainWellList();
- super.onResume();
- }
-
- private void obtainWellList() {
- wellViewModel.obtainWellList(pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainWellList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainWellList();
- }
- });
-
- wellViewModel.listModel.observe(this, new Observer() {
- @Override
- public void onChanged(WellListBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210628);
- }
- }
- }
- });
-
- wellViewModel.operationActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- StringHub.show(context, "操作成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainWellList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- wellViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "处理中,请稍后...");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210628) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
- .setText(R.id.wellNameView, item.getWellName())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.wellPositionView, item.getPosition())
- .setText(R.id.wellStatusView, "已" + item.getBfztName());
-
- String bfzt = item.getBfzt();
- if (bfzt.equals("0")) {
- viewHolder.setText(R.id.wellOptionButton, "布防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
- } else {
- viewHolder.setText(R.id.wellOptionButton, "撤防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
- }
-
- viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- StringHub.show(context, "井深" + item.getDeep() + "m");
- }
- });
-
- viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String bfzt = item.getBfzt();
- String bfztName;
- if (bfzt.equals("0")) {
- bfztName = "布防";
- bfzt = "1";
- } else if (bfzt.equals("1")) {
- bfztName = "撤防";
- bfzt = "0";
- } else {
- StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
- return;
- }
- showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
- }
- });
- }
- };
- viewBinding.wellRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
- @Override
- public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
- String lng = rowsBean.getCoordinateX();
- String lat = rowsBean.getCoordinateY();
- MapHelper.displayOnMap(context, "others", lng, lat);
- }
- });
- }
- }
- return true;
- };
-
- //单个撤防/布防
- private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定要对该井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateSingleWell(id, bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键撤防/布防
- private void showBatchOptionDialog(String bfztName, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定对全部井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateBatchWell(bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
new file mode 100644
index 0000000..1b1c5df
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
@@ -0,0 +1,244 @@
+package com.casic.dcms.view.pipeline;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.databinding.ActivityPipeBinding;
+import com.casic.dcms.model.ActionResultBean;
+import com.casic.dcms.model.AlarmDataBean;
+import com.casic.dcms.utils.DialogHelper;
+import com.casic.dcms.utils.LocaleConstant;
+import com.casic.dcms.view.map.WarningOnMapActivity;
+import com.casic.dcms.vm.AlarmViewModel;
+import com.casic.dcms.widgets.CancelAlarmDialog;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
+import com.pengxh.androidx.lite.adapter.ViewHolder;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.divider.ItemDecoration;
+import com.pengxh.androidx.lite.hub.ContextHub;
+import com.pengxh.androidx.lite.hub.FloatHub;
+import com.pengxh.androidx.lite.hub.IntHub;
+import com.pengxh.androidx.lite.hub.StringHub;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
+import com.pengxh.androidx.lite.utils.SaveKeyValues;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.popup.QMUIPopup;
+import com.qmuiteam.qmui.widget.popup.QMUIPopups;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PipelineManagerActivity extends AndroidxBaseActivity {
+
+ private static final String TAG = "PipelineManagerActivity";
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private AlarmViewModel alarmViewModel;
+ private NormalRecyclerAdapter adapter;
+ private List dataBeans = new ArrayList<>();
+ private int pageIndex = 1;
+ private boolean isRefresh, isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
+ ImmersionBar.with(this).statusBarDarkFont(true).init();
+
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ viewBinding.titleBarLayout.titleView.setText("管网管理");
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
+ int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
+ ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
+ QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ switch (position) {
+ case 0:
+ showBatchCancelDialog();
+ break;
+ case 1:
+ ContextHub.navigatePageTo(context, WarningOnMapActivity.class);
+ break;
+ case 2:
+ ContextHub.navigatePageTo(context, WellListActivity.class);
+ break;
+ }
+ }
+ }).animStyle(QMUIPopup.ANIM_AUTO)
+ .shadowElevation(10, 1)
+ .radius(10)
+ .show(viewBinding.titleBarLayout.rightImageView);
+ });
+ }
+
+ @Override
+ protected void observeRequestState() {
+ alarmViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
+ } else {
+ DialogHelper.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
+ alarmViewModel.resultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(AlarmDataBean alarmDataBean) {
+ if (alarmDataBean.getCode() == 200) {
+ SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
+ List dataRows = alarmDataBean.getData().getRows();
+ if (isRefresh) {
+ adapter.setRefreshData(dataRows);
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ StringHub.show(context, "到底了,别拉了");
+ }
+ adapter.setLoadMoreData(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ weakReferenceHandler.sendEmptyMessage(20210626);
+ }
+ }
+ }
+ });
+
+ alarmViewModel.cancelActionModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ActionResultBean actionResultBean) {
+ if (actionResultBean.getCode() == 200) {
+ StringHub.show(context, "取消报警成功");
+ //取消成功之后自动刷新列表
+ isRefresh = true;
+ pageIndex = 1;
+ obtainAlarmList();
+ } else {
+ StringHub.show(context, "操作失败,请重试");
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+
+ private void obtainAlarmList() {
+ alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
+ }
+
+ @Override
+ public void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainAlarmList();
+ }
+ });
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210626) {
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
+ @Override
+ public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
+ viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
+ .setText(R.id.wellCodeView, item.getWellCode())
+ .setText(R.id.alarmPositionView, item.getPosition())
+ .setText(R.id.alarmTimeView, item.getAlarmTime())
+ .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ showSingleCancelDialog(item.getJobId());
+ }
+ });
+ }
+ };
+ viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
+ viewBinding.warningRecyclerView.setAdapter(adapter);
+ }
+ }
+ return true;
+ };
+
+ //单个消警
+ private void showSingleCancelDialog(String jobId) {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+
+ //一键消警
+ private void showBatchCancelDialog() {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelBatchAlarm(status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
deleted file mode 100644
index c619ef3..0000000
--- a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityPipeBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.AlarmDataBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.view.map.WarningOnMapActivity;
-import com.casic.dcms.vm.AlarmViewModel;
-import com.casic.dcms.widgets.CancelAlarmDialog;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.divider.ItemDecoration;
-import com.pengxh.androidx.lite.hub.FloatHub;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.SaveKeyValues;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PipelineManagerActivity extends AndroidxBaseActivity {
-
- private static final String TAG = "PipelineManagerActivity";
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private AlarmViewModel alarmViewModel;
- private NormalRecyclerAdapter adapter;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("管网管理");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchCancelDialog();
- break;
- case 1:
- startActivity(new Intent(context, WarningOnMapActivity.class));
- break;
- case 2:
- startActivity(new Intent(context, WellListActivity.class));
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
- alarmViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
- alarmViewModel.resultModel.observe(this, new Observer() {
- @Override
- public void onChanged(AlarmDataBean alarmDataBean) {
- if (alarmDataBean.getCode() == 200) {
- SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
- List dataRows = alarmDataBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210626);
- }
- }
- }
- });
-
- alarmViewModel.cancelActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean actionResultBean) {
- if (actionResultBean.getCode() == 200) {
- StringHub.show(context, "取消报警成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainAlarmList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pageIndex = 1;
- obtainAlarmList();
- }
-
- private void obtainAlarmList() {
- alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainAlarmList();
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210626) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.alarmPositionView, item.getPosition())
- .setText(R.id.alarmTimeView, item.getAlarmTime())
- .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSingleCancelDialog(item.getJobId());
- }
- });
- }
- };
- viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
- viewBinding.warningRecyclerView.setAdapter(adapter);
- }
- }
- return true;
- };
-
- //单个消警
- private void showSingleCancelDialog(String jobId) {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键消警
- private void showBatchCancelDialog() {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelBatchAlarm(status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/WellListActivity.java
deleted file mode 100644
index 0a87678..0000000
--- a/app/src/main/java/com/casic/dcms/view/WellListActivity.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityWellListBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.WellListBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.utils.MapHelper;
-import com.casic.dcms.vm.WellViewModel;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class WellListActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private NormalRecyclerAdapter adapter;
- private WellViewModel wellViewModel;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("窨井列表");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchOptionDialog("布防", "1");
- break;
- case 1:
- showBatchOptionDialog("撤防", "0");
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
-
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
- }
-
- @Override
- protected void onResume() {
- obtainWellList();
- super.onResume();
- }
-
- private void obtainWellList() {
- wellViewModel.obtainWellList(pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainWellList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainWellList();
- }
- });
-
- wellViewModel.listModel.observe(this, new Observer() {
- @Override
- public void onChanged(WellListBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210628);
- }
- }
- }
- });
-
- wellViewModel.operationActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- StringHub.show(context, "操作成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainWellList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- wellViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "处理中,请稍后...");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210628) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
- .setText(R.id.wellNameView, item.getWellName())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.wellPositionView, item.getPosition())
- .setText(R.id.wellStatusView, "已" + item.getBfztName());
-
- String bfzt = item.getBfzt();
- if (bfzt.equals("0")) {
- viewHolder.setText(R.id.wellOptionButton, "布防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
- } else {
- viewHolder.setText(R.id.wellOptionButton, "撤防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
- }
-
- viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- StringHub.show(context, "井深" + item.getDeep() + "m");
- }
- });
-
- viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String bfzt = item.getBfzt();
- String bfztName;
- if (bfzt.equals("0")) {
- bfztName = "布防";
- bfzt = "1";
- } else if (bfzt.equals("1")) {
- bfztName = "撤防";
- bfzt = "0";
- } else {
- StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
- return;
- }
- showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
- }
- });
- }
- };
- viewBinding.wellRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
- @Override
- public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
- String lng = rowsBean.getCoordinateX();
- String lat = rowsBean.getCoordinateY();
- MapHelper.displayOnMap(context, "others", lng, lat);
- }
- });
- }
- }
- return true;
- };
-
- //单个撤防/布防
- private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定要对该井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateSingleWell(id, bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键撤防/布防
- private void showBatchOptionDialog(String bfztName, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定对全部井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateBatchWell(bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
new file mode 100644
index 0000000..1b1c5df
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
@@ -0,0 +1,244 @@
+package com.casic.dcms.view.pipeline;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.databinding.ActivityPipeBinding;
+import com.casic.dcms.model.ActionResultBean;
+import com.casic.dcms.model.AlarmDataBean;
+import com.casic.dcms.utils.DialogHelper;
+import com.casic.dcms.utils.LocaleConstant;
+import com.casic.dcms.view.map.WarningOnMapActivity;
+import com.casic.dcms.vm.AlarmViewModel;
+import com.casic.dcms.widgets.CancelAlarmDialog;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
+import com.pengxh.androidx.lite.adapter.ViewHolder;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.divider.ItemDecoration;
+import com.pengxh.androidx.lite.hub.ContextHub;
+import com.pengxh.androidx.lite.hub.FloatHub;
+import com.pengxh.androidx.lite.hub.IntHub;
+import com.pengxh.androidx.lite.hub.StringHub;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
+import com.pengxh.androidx.lite.utils.SaveKeyValues;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.popup.QMUIPopup;
+import com.qmuiteam.qmui.widget.popup.QMUIPopups;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PipelineManagerActivity extends AndroidxBaseActivity {
+
+ private static final String TAG = "PipelineManagerActivity";
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private AlarmViewModel alarmViewModel;
+ private NormalRecyclerAdapter adapter;
+ private List dataBeans = new ArrayList<>();
+ private int pageIndex = 1;
+ private boolean isRefresh, isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
+ ImmersionBar.with(this).statusBarDarkFont(true).init();
+
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ viewBinding.titleBarLayout.titleView.setText("管网管理");
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
+ int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
+ ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
+ QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ switch (position) {
+ case 0:
+ showBatchCancelDialog();
+ break;
+ case 1:
+ ContextHub.navigatePageTo(context, WarningOnMapActivity.class);
+ break;
+ case 2:
+ ContextHub.navigatePageTo(context, WellListActivity.class);
+ break;
+ }
+ }
+ }).animStyle(QMUIPopup.ANIM_AUTO)
+ .shadowElevation(10, 1)
+ .radius(10)
+ .show(viewBinding.titleBarLayout.rightImageView);
+ });
+ }
+
+ @Override
+ protected void observeRequestState() {
+ alarmViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
+ } else {
+ DialogHelper.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
+ alarmViewModel.resultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(AlarmDataBean alarmDataBean) {
+ if (alarmDataBean.getCode() == 200) {
+ SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
+ List dataRows = alarmDataBean.getData().getRows();
+ if (isRefresh) {
+ adapter.setRefreshData(dataRows);
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ StringHub.show(context, "到底了,别拉了");
+ }
+ adapter.setLoadMoreData(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ weakReferenceHandler.sendEmptyMessage(20210626);
+ }
+ }
+ }
+ });
+
+ alarmViewModel.cancelActionModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ActionResultBean actionResultBean) {
+ if (actionResultBean.getCode() == 200) {
+ StringHub.show(context, "取消报警成功");
+ //取消成功之后自动刷新列表
+ isRefresh = true;
+ pageIndex = 1;
+ obtainAlarmList();
+ } else {
+ StringHub.show(context, "操作失败,请重试");
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+
+ private void obtainAlarmList() {
+ alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
+ }
+
+ @Override
+ public void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainAlarmList();
+ }
+ });
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210626) {
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
+ @Override
+ public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
+ viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
+ .setText(R.id.wellCodeView, item.getWellCode())
+ .setText(R.id.alarmPositionView, item.getPosition())
+ .setText(R.id.alarmTimeView, item.getAlarmTime())
+ .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ showSingleCancelDialog(item.getJobId());
+ }
+ });
+ }
+ };
+ viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
+ viewBinding.warningRecyclerView.setAdapter(adapter);
+ }
+ }
+ return true;
+ };
+
+ //单个消警
+ private void showSingleCancelDialog(String jobId) {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+
+ //一键消警
+ private void showBatchCancelDialog() {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelBatchAlarm(status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java
new file mode 100644
index 0000000..a4fc663
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java
@@ -0,0 +1,278 @@
+package com.casic.dcms.view.pipeline;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.databinding.ActivityWellListBinding;
+import com.casic.dcms.model.ActionResultBean;
+import com.casic.dcms.model.WellListBean;
+import com.casic.dcms.utils.DialogHelper;
+import com.casic.dcms.utils.LocaleConstant;
+import com.casic.dcms.utils.MapHelper;
+import com.casic.dcms.vm.WellViewModel;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
+import com.pengxh.androidx.lite.adapter.ViewHolder;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.divider.ItemDecoration;
+import com.pengxh.androidx.lite.hub.FloatHub;
+import com.pengxh.androidx.lite.hub.IntHub;
+import com.pengxh.androidx.lite.hub.StringHub;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.popup.QMUIPopup;
+import com.qmuiteam.qmui.widget.popup.QMUIPopups;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WellListActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private NormalRecyclerAdapter adapter;
+ private WellViewModel wellViewModel;
+ private List dataBeans = new ArrayList<>();
+ private int pageIndex = 1;
+ private boolean isRefresh, isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
+ ImmersionBar.with(this).statusBarDarkFont(true).init();
+
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ viewBinding.titleBarLayout.titleView.setText("窨井列表");
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
+ int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
+ ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
+ QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ switch (position) {
+ case 0:
+ showBatchOptionDialog("布防", "1");
+ break;
+ case 1:
+ showBatchOptionDialog("撤防", "0");
+ break;
+ }
+ }
+ }).animStyle(QMUIPopup.ANIM_AUTO)
+ .shadowElevation(10, 1)
+ .radius(10)
+ .show(viewBinding.titleBarLayout.rightImageView);
+ });
+ }
+
+ @Override
+ protected void observeRequestState() {
+ wellViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
+ } else {
+ DialogHelper.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
+ wellViewModel.listModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(WellListBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ adapter.setRefreshData(dataRows);
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ StringHub.show(context, "到底了,别拉了");
+ }
+ adapter.setLoadMoreData(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ weakReferenceHandler.sendEmptyMessage(20210628);
+ }
+ }
+ }
+ });
+
+ wellViewModel.operationActionModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ StringHub.show(context, "操作成功");
+ //取消成功之后自动刷新列表
+ isRefresh = true;
+ pageIndex = 1;
+ obtainWellList();
+ } else {
+ StringHub.show(context, "操作失败,请重试");
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ obtainWellList();
+ super.onResume();
+ }
+
+ private void obtainWellList() {
+ wellViewModel.obtainWellList(pageIndex);
+ }
+
+ @Override
+ public void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainWellList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainWellList();
+ }
+ });
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210628) {
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
+ @Override
+ public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
+ viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
+ .setText(R.id.wellNameView, item.getWellName())
+ .setText(R.id.wellCodeView, item.getWellCode())
+ .setText(R.id.wellPositionView, item.getPosition())
+ .setText(R.id.wellStatusView, "已" + item.getBfztName());
+
+ String bfzt = item.getBfzt();
+ if (bfzt.equals("0")) {
+ viewHolder.setText(R.id.wellOptionButton, "布防")
+ .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
+ } else {
+ viewHolder.setText(R.id.wellOptionButton, "撤防")
+ .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
+ }
+
+ viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ StringHub.show(context, "井深" + item.getDeep() + "m");
+ }
+ });
+
+ viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String bfzt = item.getBfzt();
+ String bfztName;
+ if (bfzt.equals("0")) {
+ bfztName = "布防";
+ bfzt = "1";
+ } else if (bfzt.equals("1")) {
+ bfztName = "撤防";
+ bfzt = "0";
+ } else {
+ StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
+ return;
+ }
+ showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
+ }
+ });
+ }
+ };
+ viewBinding.wellRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
+ viewBinding.wellRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
+ @Override
+ public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
+ String lng = rowsBean.getCoordinateX();
+ String lat = rowsBean.getCoordinateY();
+ MapHelper.displayOnMap(context, "others", lng, lat);
+ }
+ });
+ }
+ }
+ return true;
+ };
+
+ //单个撤防/布防
+ private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
+ new AlertControlDialog.Builder()
+ .setContext(this)
+ .setTitle("确认操作")
+ .setMessage("确定要对该井进行" + bfztName + "吗?")
+ .setNegativeButton("取消")
+ .setPositiveButton("确定")
+ .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick() {
+ wellViewModel.operateSingleWell(id, bfzt);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+
+ //一键撤防/布防
+ private void showBatchOptionDialog(String bfztName, String bfzt) {
+ new AlertControlDialog.Builder()
+ .setContext(this)
+ .setTitle("确认操作")
+ .setMessage("确定对全部井进行" + bfztName + "吗?")
+ .setNegativeButton("取消")
+ .setPositiveButton("确定")
+ .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick() {
+ wellViewModel.operateBatchWell(bfzt);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 32535b5..36ebec8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -106,8 +106,8 @@
-
-
+
+
diff --git a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
index 18a7105..8515e58 100644
--- a/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
+++ b/app/src/main/java/com/casic/dcms/fragment/HomePageFragment.java
@@ -14,7 +14,6 @@
import com.casic.dcms.utils.StringHelper;
import com.casic.dcms.view.OvertimeCaseActivity;
import com.casic.dcms.view.PersonActivity;
-import com.casic.dcms.view.PipelineManagerActivity;
import com.casic.dcms.view.SearchCaseActivity;
import com.casic.dcms.view.StreetlightManagerActivity;
import com.casic.dcms.view.bridge.BridgeMaintainActivity;
@@ -24,6 +23,7 @@
import com.casic.dcms.view.department.DeptHandleActivity;
import com.casic.dcms.view.handle.HandleCaseActivity;
import com.casic.dcms.view.map.CaseOnMapActivity;
+import com.casic.dcms.view.pipeline.PipelineManagerActivity;
import com.casic.dcms.view.statistics.DataAnalysisActivity;
import com.casic.dcms.view.toilet.PublicToiletActivity;
import com.casic.dcms.view.upload.BriefCaseActivity;
diff --git a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
deleted file mode 100644
index c619ef3..0000000
--- a/app/src/main/java/com/casic/dcms/view/PipelineManagerActivity.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityPipeBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.AlarmDataBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.view.map.WarningOnMapActivity;
-import com.casic.dcms.vm.AlarmViewModel;
-import com.casic.dcms.widgets.CancelAlarmDialog;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.divider.ItemDecoration;
-import com.pengxh.androidx.lite.hub.FloatHub;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.SaveKeyValues;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PipelineManagerActivity extends AndroidxBaseActivity {
-
- private static final String TAG = "PipelineManagerActivity";
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private AlarmViewModel alarmViewModel;
- private NormalRecyclerAdapter adapter;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("管网管理");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchCancelDialog();
- break;
- case 1:
- startActivity(new Intent(context, WarningOnMapActivity.class));
- break;
- case 2:
- startActivity(new Intent(context, WellListActivity.class));
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
- alarmViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
- alarmViewModel.resultModel.observe(this, new Observer() {
- @Override
- public void onChanged(AlarmDataBean alarmDataBean) {
- if (alarmDataBean.getCode() == 200) {
- SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
- List dataRows = alarmDataBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210626);
- }
- }
- }
- });
-
- alarmViewModel.cancelActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean actionResultBean) {
- if (actionResultBean.getCode() == 200) {
- StringHub.show(context, "取消报警成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainAlarmList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pageIndex = 1;
- obtainAlarmList();
- }
-
- private void obtainAlarmList() {
- alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainAlarmList();
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210626) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- pageIndex = 1;
- obtainAlarmList();
- }
- });
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.alarmPositionView, item.getPosition())
- .setText(R.id.alarmTimeView, item.getAlarmTime())
- .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- showSingleCancelDialog(item.getJobId());
- }
- });
- }
- };
- viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
- viewBinding.warningRecyclerView.setAdapter(adapter);
- }
- }
- return true;
- };
-
- //单个消警
- private void showSingleCancelDialog(String jobId) {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键消警
- private void showBatchCancelDialog() {
- //已处理status = 3,无需处理status = 4
- new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick(String status, String editReason) {
- alarmViewModel.cancelBatchAlarm(status, editReason);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/WellListActivity.java
deleted file mode 100644
index 0a87678..0000000
--- a/app/src/main/java/com/casic/dcms/view/WellListActivity.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package com.casic.dcms.view;
-
-import android.content.Context;
-import android.os.Handler;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.casic.dcms.R;
-import com.casic.dcms.databinding.ActivityWellListBinding;
-import com.casic.dcms.model.ActionResultBean;
-import com.casic.dcms.model.WellListBean;
-import com.casic.dcms.utils.DialogHelper;
-import com.casic.dcms.utils.LocaleConstant;
-import com.casic.dcms.utils.MapHelper;
-import com.casic.dcms.vm.WellViewModel;
-import com.gyf.immersionbar.ImmersionBar;
-import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
-import com.pengxh.androidx.lite.adapter.ViewHolder;
-import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
-import com.pengxh.androidx.lite.hub.IntHub;
-import com.pengxh.androidx.lite.hub.StringHub;
-import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
-import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
-import com.pengxh.androidx.lite.vm.LoadState;
-import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.popup.QMUIPopup;
-import com.qmuiteam.qmui.widget.popup.QMUIPopups;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class WellListActivity extends AndroidxBaseActivity {
-
- private final Context context = this;
- private WeakReferenceHandler weakReferenceHandler;
- private NormalRecyclerAdapter adapter;
- private WellViewModel wellViewModel;
- private List dataBeans = new ArrayList<>();
- private int pageIndex = 1;
- private boolean isRefresh, isLoadMore = false;
-
- @Override
- protected void setupTopBarLayout() {
- ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
- ImmersionBar.with(this).statusBarDarkFont(true).init();
-
- viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
- viewBinding.titleBarLayout.titleView.setText("窨井列表");
- viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
- int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
- ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
- QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> parent, View view, int position, long id) {
- switch (position) {
- case 0:
- showBatchOptionDialog("布防", "1");
- break;
- case 1:
- showBatchOptionDialog("撤防", "0");
- break;
- }
- }
- }).animStyle(QMUIPopup.ANIM_AUTO)
- .shadowElevation(10, 1)
- .radius(10)
- .show(viewBinding.titleBarLayout.rightImageView);
- });
- }
-
- @Override
- protected void observeRequestState() {
-
- }
-
- @Override
- public void initData() {
- weakReferenceHandler = new WeakReferenceHandler(callback);
- wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
- }
-
- @Override
- protected void onResume() {
- obtainWellList();
- super.onResume();
- }
-
- private void obtainWellList() {
- wellViewModel.obtainWellList(pageIndex);
- }
-
- @Override
- public void initEvent() {
- viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
- @Override
- public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
- isRefresh = true;
- //刷新之后页码重置
- pageIndex = 1;
- obtainWellList();
- }
- });
- viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
- @Override
- public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
- isLoadMore = true;
- pageIndex++;
- obtainWellList();
- }
- });
-
- wellViewModel.listModel.observe(this, new Observer() {
- @Override
- public void onChanged(WellListBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataRows = resultBean.getData().getRows();
- if (isRefresh) {
- adapter.setRefreshData(dataRows);
- viewBinding.refreshLayout.finishRefresh();
- isRefresh = false;
- } else if (isLoadMore) {
- if (dataRows.size() == 0) {
- StringHub.show(context, "到底了,别拉了");
- }
- adapter.setLoadMoreData(dataRows);
- viewBinding.refreshLayout.finishLoadMore();
- isLoadMore = false;
- } else {
- dataBeans = dataRows;
- weakReferenceHandler.sendEmptyMessage(20210628);
- }
- }
- }
- });
-
- wellViewModel.operationActionModel.observe(this, new Observer() {
- @Override
- public void onChanged(ActionResultBean resultBean) {
- if (resultBean.isSuccess()) {
- StringHub.show(context, "操作成功");
- //取消成功之后自动刷新列表
- isRefresh = true;
- pageIndex = 1;
- obtainWellList();
- } else {
- StringHub.show(context, "操作失败,请重试");
- }
- }
- });
- wellViewModel.loadState.observe(this, new Observer() {
- @Override
- public void onChanged(LoadState loadState) {
- if (loadState == LoadState.Loading) {
- DialogHelper.showLoadingDialog(context, "处理中,请稍后...");
- } else {
- DialogHelper.dismissLoadingDialog();
- }
- }
- });
- }
-
- private final Handler.Callback callback = msg -> {
- if (msg.what == 20210628) {
- if (dataBeans.size() == 0) {
- viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
- } else {
- viewBinding.emptyView.hide();
- adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
- @Override
- public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
- viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
- .setText(R.id.wellNameView, item.getWellName())
- .setText(R.id.wellCodeView, item.getWellCode())
- .setText(R.id.wellPositionView, item.getPosition())
- .setText(R.id.wellStatusView, "已" + item.getBfztName());
-
- String bfzt = item.getBfzt();
- if (bfzt.equals("0")) {
- viewHolder.setText(R.id.wellOptionButton, "布防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
- } else {
- viewHolder.setText(R.id.wellOptionButton, "撤防")
- .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
- }
-
- viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- StringHub.show(context, "井深" + item.getDeep() + "m");
- }
- });
-
- viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String bfzt = item.getBfzt();
- String bfztName;
- if (bfzt.equals("0")) {
- bfztName = "布防";
- bfzt = "1";
- } else if (bfzt.equals("1")) {
- bfztName = "撤防";
- bfzt = "0";
- } else {
- StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
- return;
- }
- showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
- }
- });
- }
- };
- viewBinding.wellRecyclerView.setAdapter(adapter);
- adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
- @Override
- public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
- String lng = rowsBean.getCoordinateX();
- String lat = rowsBean.getCoordinateY();
- MapHelper.displayOnMap(context, "others", lng, lat);
- }
- });
- }
- }
- return true;
- };
-
- //单个撤防/布防
- private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定要对该井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateSingleWell(id, bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-
- //一键撤防/布防
- private void showBatchOptionDialog(String bfztName, String bfzt) {
- new AlertControlDialog.Builder()
- .setContext(this)
- .setTitle("确认操作")
- .setMessage("确定对全部井进行" + bfztName + "吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确定")
- .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
- @Override
- public void onConfirmClick() {
- wellViewModel.operateBatchWell(bfzt);
- }
-
- @Override
- public void onCancelClick() {
-
- }
- }).build().show();
- }
-}
diff --git a/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
new file mode 100644
index 0000000..1b1c5df
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/view/pipeline/PipelineManagerActivity.java
@@ -0,0 +1,244 @@
+package com.casic.dcms.view.pipeline;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.databinding.ActivityPipeBinding;
+import com.casic.dcms.model.ActionResultBean;
+import com.casic.dcms.model.AlarmDataBean;
+import com.casic.dcms.utils.DialogHelper;
+import com.casic.dcms.utils.LocaleConstant;
+import com.casic.dcms.view.map.WarningOnMapActivity;
+import com.casic.dcms.vm.AlarmViewModel;
+import com.casic.dcms.widgets.CancelAlarmDialog;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
+import com.pengxh.androidx.lite.adapter.ViewHolder;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.divider.ItemDecoration;
+import com.pengxh.androidx.lite.hub.ContextHub;
+import com.pengxh.androidx.lite.hub.FloatHub;
+import com.pengxh.androidx.lite.hub.IntHub;
+import com.pengxh.androidx.lite.hub.StringHub;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
+import com.pengxh.androidx.lite.utils.SaveKeyValues;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.popup.QMUIPopup;
+import com.qmuiteam.qmui.widget.popup.QMUIPopups;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PipelineManagerActivity extends AndroidxBaseActivity {
+
+ private static final String TAG = "PipelineManagerActivity";
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private AlarmViewModel alarmViewModel;
+ private NormalRecyclerAdapter adapter;
+ private List dataBeans = new ArrayList<>();
+ private int pageIndex = 1;
+ private boolean isRefresh, isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
+ ImmersionBar.with(this).statusBarDarkFont(true).init();
+
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ viewBinding.titleBarLayout.titleView.setText("管网管理");
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(v -> {
+ int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
+ ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_LIST_ITEMS);
+ QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ switch (position) {
+ case 0:
+ showBatchCancelDialog();
+ break;
+ case 1:
+ ContextHub.navigatePageTo(context, WarningOnMapActivity.class);
+ break;
+ case 2:
+ ContextHub.navigatePageTo(context, WellListActivity.class);
+ break;
+ }
+ }
+ }).animStyle(QMUIPopup.ANIM_AUTO)
+ .shadowElevation(10, 1)
+ .radius(10)
+ .show(viewBinding.titleBarLayout.rightImageView);
+ });
+ }
+
+ @Override
+ protected void observeRequestState() {
+ alarmViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
+ } else {
+ DialogHelper.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ alarmViewModel = new ViewModelProvider(this).get(AlarmViewModel.class);
+ alarmViewModel.resultModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(AlarmDataBean alarmDataBean) {
+ if (alarmDataBean.getCode() == 200) {
+ SaveKeyValues.putValue("alarmTotal", alarmDataBean.getData().getTotal());
+ List dataRows = alarmDataBean.getData().getRows();
+ if (isRefresh) {
+ adapter.setRefreshData(dataRows);
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ StringHub.show(context, "到底了,别拉了");
+ }
+ adapter.setLoadMoreData(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ weakReferenceHandler.sendEmptyMessage(20210626);
+ }
+ }
+ }
+ });
+
+ alarmViewModel.cancelActionModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ActionResultBean actionResultBean) {
+ if (actionResultBean.getCode() == 200) {
+ StringHub.show(context, "取消报警成功");
+ //取消成功之后自动刷新列表
+ isRefresh = true;
+ pageIndex = 1;
+ obtainAlarmList();
+ } else {
+ StringHub.show(context, "操作失败,请重试");
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+
+ private void obtainAlarmList() {
+ alarmViewModel.obtainAlarmList(LocaleConstant.PAGE_LIMIT, pageIndex);
+ }
+
+ @Override
+ public void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainAlarmList();
+ }
+ });
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210626) {
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show(false, "设备状态很好,没有任何报警", null, "刷新", new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pageIndex = 1;
+ obtainAlarmList();
+ }
+ });
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new NormalRecyclerAdapter(R.layout.item_alarm_recycleview, dataBeans) {
+ @Override
+ public void convertView(ViewHolder viewHolder, int position, AlarmDataBean.DataBean.RowsBean item) {
+ viewHolder.setText(R.id.alarmMessageView, item.getAlarmMessage())
+ .setText(R.id.wellCodeView, item.getWellCode())
+ .setText(R.id.alarmPositionView, item.getPosition())
+ .setText(R.id.alarmTimeView, item.getAlarmTime())
+ .setOnClickListener(R.id.cancelAlarmButton, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ showSingleCancelDialog(item.getJobId());
+ }
+ });
+ }
+ };
+ viewBinding.warningRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
+ viewBinding.warningRecyclerView.setAdapter(adapter);
+ }
+ }
+ return true;
+ };
+
+ //单个消警
+ private void showSingleCancelDialog(String jobId) {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelSingleAlarm(jobId, status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+
+ //一键消警
+ private void showBatchCancelDialog() {
+ //已处理status = 3,无需处理status = 4
+ new CancelAlarmDialog.Builder().setContext(this).setOnDialogButtonClickListener(new CancelAlarmDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick(String status, String editReason) {
+ alarmViewModel.cancelBatchAlarm(status, editReason);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java b/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java
new file mode 100644
index 0000000..a4fc663
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/view/pipeline/WellListActivity.java
@@ -0,0 +1,278 @@
+package com.casic.dcms.view.pipeline;
+
+import android.content.Context;
+import android.os.Handler;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
+
+import com.casic.dcms.R;
+import com.casic.dcms.databinding.ActivityWellListBinding;
+import com.casic.dcms.model.ActionResultBean;
+import com.casic.dcms.model.WellListBean;
+import com.casic.dcms.utils.DialogHelper;
+import com.casic.dcms.utils.LocaleConstant;
+import com.casic.dcms.utils.MapHelper;
+import com.casic.dcms.vm.WellViewModel;
+import com.gyf.immersionbar.ImmersionBar;
+import com.pengxh.androidx.lite.adapter.NormalRecyclerAdapter;
+import com.pengxh.androidx.lite.adapter.ViewHolder;
+import com.pengxh.androidx.lite.base.AndroidxBaseActivity;
+import com.pengxh.androidx.lite.divider.ItemDecoration;
+import com.pengxh.androidx.lite.hub.FloatHub;
+import com.pengxh.androidx.lite.hub.IntHub;
+import com.pengxh.androidx.lite.hub.StringHub;
+import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager;
+import com.pengxh.androidx.lite.utils.WeakReferenceHandler;
+import com.pengxh.androidx.lite.vm.LoadState;
+import com.pengxh.androidx.lite.widget.dialog.AlertControlDialog;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
+import com.qmuiteam.qmui.widget.popup.QMUIPopup;
+import com.qmuiteam.qmui.widget.popup.QMUIPopups;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WellListActivity extends AndroidxBaseActivity {
+
+ private final Context context = this;
+ private WeakReferenceHandler weakReferenceHandler;
+ private NormalRecyclerAdapter adapter;
+ private WellViewModel wellViewModel;
+ private List dataBeans = new ArrayList<>();
+ private int pageIndex = 1;
+ private boolean isRefresh, isLoadMore = false;
+
+ @Override
+ protected void setupTopBarLayout() {
+ ImmerseStatusBarManager.setColor(this, IntHub.convertColor(this, R.color.white));
+ ImmersionBar.with(this).statusBarDarkFont(true).init();
+
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ viewBinding.titleBarLayout.titleView.setText("窨井列表");
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(view -> {
+ int popupWidth = QMUIDisplayHelper.dp2px(context, 100);
+ ArrayAdapter popupListAdapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, LocaleConstant.POPUP_OPTION_ITEMS);
+ QMUIPopups.listPopup(context, popupWidth, popupWidth * 2, popupListAdapter, new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ switch (position) {
+ case 0:
+ showBatchOptionDialog("布防", "1");
+ break;
+ case 1:
+ showBatchOptionDialog("撤防", "0");
+ break;
+ }
+ }
+ }).animStyle(QMUIPopup.ANIM_AUTO)
+ .shadowElevation(10, 1)
+ .radius(10)
+ .show(viewBinding.titleBarLayout.rightImageView);
+ });
+ }
+
+ @Override
+ protected void observeRequestState() {
+ wellViewModel.loadState.observe(this, new Observer() {
+ @Override
+ public void onChanged(LoadState loadState) {
+ if (loadState == LoadState.Loading) {
+ DialogHelper.showLoadingDialog(context, "数据加载中,请稍后");
+ } else {
+ DialogHelper.dismissLoadingDialog();
+ }
+ }
+ });
+ }
+
+ @Override
+ public void initData() {
+ weakReferenceHandler = new WeakReferenceHandler(callback);
+ wellViewModel = new ViewModelProvider(this).get(WellViewModel.class);
+ wellViewModel.listModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(WellListBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataRows = resultBean.getData().getRows();
+ if (isRefresh) {
+ adapter.setRefreshData(dataRows);
+ viewBinding.refreshLayout.finishRefresh();
+ isRefresh = false;
+ } else if (isLoadMore) {
+ if (dataRows.size() == 0) {
+ StringHub.show(context, "到底了,别拉了");
+ }
+ adapter.setLoadMoreData(dataRows);
+ viewBinding.refreshLayout.finishLoadMore();
+ isLoadMore = false;
+ } else {
+ dataBeans = dataRows;
+ weakReferenceHandler.sendEmptyMessage(20210628);
+ }
+ }
+ }
+ });
+
+ wellViewModel.operationActionModel.observe(this, new Observer() {
+ @Override
+ public void onChanged(ActionResultBean resultBean) {
+ if (resultBean.isSuccess()) {
+ StringHub.show(context, "操作成功");
+ //取消成功之后自动刷新列表
+ isRefresh = true;
+ pageIndex = 1;
+ obtainWellList();
+ } else {
+ StringHub.show(context, "操作失败,请重试");
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ obtainWellList();
+ super.onResume();
+ }
+
+ private void obtainWellList() {
+ wellViewModel.obtainWellList(pageIndex);
+ }
+
+ @Override
+ public void initEvent() {
+ viewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
+ @Override
+ public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
+ isRefresh = true;
+ //刷新之后页码重置
+ pageIndex = 1;
+ obtainWellList();
+ }
+ });
+ viewBinding.refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
+ @Override
+ public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
+ isLoadMore = true;
+ pageIndex++;
+ obtainWellList();
+ }
+ });
+ }
+
+ private final Handler.Callback callback = msg -> {
+ if (msg.what == 20210628) {
+ if (dataBeans.size() == 0) {
+ viewBinding.emptyView.show("抱歉,无法为您查到窨井数据", null);
+ } else {
+ viewBinding.emptyView.hide();
+ adapter = new NormalRecyclerAdapter(R.layout.item_well_rv_l, dataBeans) {
+ @Override
+ public void convertView(ViewHolder viewHolder, int position, WellListBean.DataBean.RowsBean item) {
+ viewHolder.setText(R.id.wellTypeView, item.getWellTypeName())
+ .setText(R.id.wellNameView, item.getWellName())
+ .setText(R.id.wellCodeView, item.getWellCode())
+ .setText(R.id.wellPositionView, item.getPosition())
+ .setText(R.id.wellStatusView, "已" + item.getBfztName());
+
+ String bfzt = item.getBfzt();
+ if (bfzt.equals("0")) {
+ viewHolder.setText(R.id.wellOptionButton, "布防")
+ .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.onLineColor));
+ } else {
+ viewHolder.setText(R.id.wellOptionButton, "撤防")
+ .setBackgroundColor(R.id.wellOptionButton, IntHub.convertColor(context, R.color.qmui_config_color_red));
+ }
+
+ viewHolder.setOnClickListener(R.id.wellNameView, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ StringHub.show(context, "井深" + item.getDeep() + "m");
+ }
+ });
+
+ viewHolder.setOnClickListener(R.id.wellOptionButton, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String bfzt = item.getBfzt();
+ String bfztName;
+ if (bfzt.equals("0")) {
+ bfztName = "布防";
+ bfzt = "1";
+ } else if (bfzt.equals("1")) {
+ bfztName = "撤防";
+ bfzt = "0";
+ } else {
+ StringHub.show(context, "窨井状态错误,无法进行撤防或者布防");
+ return;
+ }
+ showSingleOptionDialog(bfztName, dataBeans.get(position).getId(), bfzt);
+ }
+ });
+ }
+ };
+ viewBinding.wellRecyclerView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 10), 0f));
+ viewBinding.wellRecyclerView.setAdapter(adapter);
+ adapter.setOnItemClickedListener(new NormalRecyclerAdapter.OnItemClickedListener() {
+ @Override
+ public void onItemClicked(int position, WellListBean.DataBean.RowsBean rowsBean) {
+ String lng = rowsBean.getCoordinateX();
+ String lat = rowsBean.getCoordinateY();
+ MapHelper.displayOnMap(context, "others", lng, lat);
+ }
+ });
+ }
+ }
+ return true;
+ };
+
+ //单个撤防/布防
+ private void showSingleOptionDialog(String bfztName, String id, String bfzt) {
+ new AlertControlDialog.Builder()
+ .setContext(this)
+ .setTitle("确认操作")
+ .setMessage("确定要对该井进行" + bfztName + "吗?")
+ .setNegativeButton("取消")
+ .setPositiveButton("确定")
+ .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick() {
+ wellViewModel.operateSingleWell(id, bfzt);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+
+ //一键撤防/布防
+ private void showBatchOptionDialog(String bfztName, String bfzt) {
+ new AlertControlDialog.Builder()
+ .setContext(this)
+ .setTitle("确认操作")
+ .setMessage("确定对全部井进行" + bfztName + "吗?")
+ .setNegativeButton("取消")
+ .setPositiveButton("确定")
+ .setOnDialogButtonClickListener(new AlertControlDialog.OnDialogButtonClickListener() {
+ @Override
+ public void onConfirmClick() {
+ wellViewModel.operateBatchWell(bfzt);
+ }
+
+ @Override
+ public void onCancelClick() {
+
+ }
+ }).build().show();
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/vm/WellViewModel.java b/app/src/main/java/com/casic/dcms/vm/WellViewModel.java
index 99acf42..5094030 100644
--- a/app/src/main/java/com/casic/dcms/vm/WellViewModel.java
+++ b/app/src/main/java/com/casic/dcms/vm/WellViewModel.java
@@ -29,16 +29,22 @@
public MutableLiveData operationActionModel = new MutableLiveData<>();
public void obtainWellList(int offset) {
+ loadState.setValue(LoadState.Loading);
Observable observable = RetrofitServiceManager.getWellListResult(offset);
ObserverSubscriber.addSubscribe(observable, new OnObserverCallback() {
@Override
public void onCompleted() {
-
+ loadState.setValue(LoadState.Success);
}
@Override
public void onError(Throwable e) {
-
+ loadState.setValue(LoadState.Fail);
+ if (e instanceof ConnectException) {
+ StringHub.show(BaseApplication.get(), "连接失败,请检查网络或者服务器");
+ } else {
+ StringHub.show(BaseApplication.get(), "服务器异常,请联系管理员");
+ }
}
@Override
@@ -50,6 +56,9 @@
WellListBean resultBean = gson.fromJson(response, new TypeToken() {
}.getType());
listModel.setValue(resultBean);
+ } else {
+ loadState.setValue(LoadState.Fail);
+ StringHelper.showErrorMessage(response);
}
} catch (IOException e) {
e.printStackTrace();
@@ -98,17 +107,15 @@
}
public void operateSingleWell(String wellId, String bfzt) {
- loadState.setValue(LoadState.Loading);
Observable wellDetailObservable = RetrofitServiceManager.getSingleOptionWellResult(wellId, bfzt);
ObserverSubscriber.addSubscribe(wellDetailObservable, new OnObserverCallback() {
@Override
public void onCompleted() {
- loadState.setValue(LoadState.Success);
+
}
@Override
public void onError(Throwable e) {
- loadState.setValue(LoadState.Fail);
if (e instanceof ConnectException) {
StringHub.show(BaseApplication.get(), "连接失败,请检查网络或者服务器");
} else {
@@ -126,7 +133,6 @@
}.getType());
operationActionModel.setValue(resultBean);
} else {
- loadState.setValue(LoadState.Fail);
StringHelper.showErrorMessage(response);
}
} catch (IOException e) {
@@ -137,17 +143,15 @@
}
public void operateBatchWell(String bfzt) {
- loadState.setValue(LoadState.Loading);
Observable wellDetailObservable = RetrofitServiceManager.getBatchOptionWellResult(bfzt);
ObserverSubscriber.addSubscribe(wellDetailObservable, new OnObserverCallback() {
@Override
public void onCompleted() {
- loadState.setValue(LoadState.Success);
+
}
@Override
public void onError(Throwable e) {
- loadState.setValue(LoadState.Fail);
if (e instanceof ConnectException) {
StringHub.show(BaseApplication.get(), "连接失败,请检查网络或者服务器");
} else {
@@ -165,7 +169,6 @@
}.getType());
operationActionModel.setValue(resultBean);
} else {
- loadState.setValue(LoadState.Fail);
StringHelper.showErrorMessage(response);
}
} catch (IOException e) {