diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 1e2908a..3c84e50 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -30,8 +30,8 @@
//饼图预置颜色,前三种作为街道统计饼图颜色
public static final List PIE_COLORS = Arrays.asList(
- R.color.mainThemeColor, R.color.punishColor, R.color.colorAccent,
- R.color.pieColor1, R.color.onLineColor, R.color.pieColor3,
+ R.color.pieColor3, R.color.onLineColor, R.color.pieColor1,
+ R.color.persuadeColor, R.color.punishColor, R.color.colorAccent,
R.color.pieColor4, R.color.pieColor2, R.color.pieColor5,
R.color.colorPrimary);
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 1e2908a..3c84e50 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -30,8 +30,8 @@
//饼图预置颜色,前三种作为街道统计饼图颜色
public static final List PIE_COLORS = Arrays.asList(
- R.color.mainThemeColor, R.color.punishColor, R.color.colorAccent,
- R.color.pieColor1, R.color.onLineColor, R.color.pieColor3,
+ R.color.pieColor3, R.color.onLineColor, R.color.pieColor1,
+ R.color.persuadeColor, R.color.punishColor, R.color.colorAccent,
R.color.pieColor4, R.color.pieColor2, R.color.pieColor5,
R.color.colorPrimary);
diff --git a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
index 7321c43..b260c69 100644
--- a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
+++ b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
@@ -34,11 +34,23 @@
if (e.getY() == 0) {
dataView.setText("暂无数据");
} else {
- String type = "";
- if (data.equals("total")) {
- type = "新增";
- } else {
- type = "已处理";
+ String type;
+ switch (data) {
+ case "total":
+ type = "新增";
+ break;
+ case "common":
+ type = "普通上报";
+ break;
+ case "quick":
+ type = "快速上报";
+ break;
+ case "package":
+ type = "三包上报";
+ break;
+ default:
+ type = "已处理";
+ break;
}
dataView.setText(String.format(Locale.CHINA, "%s:%s件", type, decimalFormat.format(e.getY())));
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 1e2908a..3c84e50 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -30,8 +30,8 @@
//饼图预置颜色,前三种作为街道统计饼图颜色
public static final List PIE_COLORS = Arrays.asList(
- R.color.mainThemeColor, R.color.punishColor, R.color.colorAccent,
- R.color.pieColor1, R.color.onLineColor, R.color.pieColor3,
+ R.color.pieColor3, R.color.onLineColor, R.color.pieColor1,
+ R.color.persuadeColor, R.color.punishColor, R.color.colorAccent,
R.color.pieColor4, R.color.pieColor2, R.color.pieColor5,
R.color.colorPrimary);
diff --git a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
index 7321c43..b260c69 100644
--- a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
+++ b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
@@ -34,11 +34,23 @@
if (e.getY() == 0) {
dataView.setText("暂无数据");
} else {
- String type = "";
- if (data.equals("total")) {
- type = "新增";
- } else {
- type = "已处理";
+ String type;
+ switch (data) {
+ case "total":
+ type = "新增";
+ break;
+ case "common":
+ type = "普通上报";
+ break;
+ case "quick":
+ type = "快速上报";
+ break;
+ case "package":
+ type = "三包上报";
+ break;
+ default:
+ type = "已处理";
+ break;
}
dataView.setText(String.format(Locale.CHINA, "%s:%s件", type, decimalFormat.format(e.getY())));
}
diff --git a/app/src/main/res/layout/activity_case_status.xml b/app/src/main/res/layout/activity_case_status.xml
new file mode 100644
index 0000000..bbc1e5c
--- /dev/null
+++ b/app/src/main/res/layout/activity_case_status.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 526ab30..26058ed 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -42,6 +42,7 @@
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 1e2908a..3c84e50 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -30,8 +30,8 @@
//饼图预置颜色,前三种作为街道统计饼图颜色
public static final List PIE_COLORS = Arrays.asList(
- R.color.mainThemeColor, R.color.punishColor, R.color.colorAccent,
- R.color.pieColor1, R.color.onLineColor, R.color.pieColor3,
+ R.color.pieColor3, R.color.onLineColor, R.color.pieColor1,
+ R.color.persuadeColor, R.color.punishColor, R.color.colorAccent,
R.color.pieColor4, R.color.pieColor2, R.color.pieColor5,
R.color.colorPrimary);
diff --git a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
index 7321c43..b260c69 100644
--- a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
+++ b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
@@ -34,11 +34,23 @@
if (e.getY() == 0) {
dataView.setText("暂无数据");
} else {
- String type = "";
- if (data.equals("total")) {
- type = "新增";
- } else {
- type = "已处理";
+ String type;
+ switch (data) {
+ case "total":
+ type = "新增";
+ break;
+ case "common":
+ type = "普通上报";
+ break;
+ case "quick":
+ type = "快速上报";
+ break;
+ case "package":
+ type = "三包上报";
+ break;
+ default:
+ type = "已处理";
+ break;
}
dataView.setText(String.format(Locale.CHINA, "%s:%s件", type, decimalFormat.format(e.getY())));
}
diff --git a/app/src/main/res/layout/activity_case_status.xml b/app/src/main/res/layout/activity_case_status.xml
new file mode 100644
index 0000000..bbc1e5c
--- /dev/null
+++ b/app/src/main/res/layout/activity_case_status.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_street_statistics.xml b/app/src/main/res/layout/activity_street_statistics.xml
index 7f187cb..9e7f95a 100644
--- a/app/src/main/res/layout/activity_street_statistics.xml
+++ b/app/src/main/res/layout/activity_street_statistics.xml
@@ -27,6 +27,19 @@
app:cardCornerRadius="5dp"
app:cardUseCompatPadding="true">
+
+
+
+
+
+
@@ -74,7 +75,7 @@
-
+
@@ -93,6 +94,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5c10399..1eb120f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -66,6 +66,7 @@
+
diff --git a/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
new file mode 100644
index 0000000..24f9133
--- /dev/null
+++ b/app/src/main/java/com/casic/dcms/ui/CaseStatusActivity.java
@@ -0,0 +1,87 @@
+package com.casic.dcms.ui;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.core.content.ContextCompat;
+
+import com.casic.dcms.R;
+import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.databinding.ActivityCaseStatusBinding;
+import com.casic.dcms.utils.ChartViewHelper;
+import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.PieEntry;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author a203
+ * @description 案卷状态
+ * @package com.casic.dcms.ui
+ * @date 2022/2/16 16:55
+ * @email 290677893@qq.com
+ */
+public class CaseStatusActivity extends AndroidxBaseActivity {
+
+ private static final String[] horizontalLabelName = {"待立案", "待核实", "待处理", "待核查", "待调整", "不予立案", "销案", "其他状态", "待结案", "结案"};
+ private final Context context = CaseStatusActivity.this;
+ private final List pieEntries = new ArrayList<>();
+ private final List barEntries = new ArrayList<>();
+
+ @Override
+ protected void setupTopBarLayout() {
+ viewBinding.titleBarLayout.titleView.setText("案卷状态");
+ viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ }
+
+ @Override
+ protected void initData() {
+ //初始化饼图
+ ChartViewHelper.initPieChart(viewBinding.statusPieChart);
+ //TODO 这是模拟数据
+ pieEntries.add(new PieEntry(new Random().nextInt(10), "未结案"));
+ pieEntries.add(new PieEntry(new Random().nextInt(200), "已结案"));
+ ChartViewHelper.setPieChartData(viewBinding.statusPieChart, pieEntries);
+ //初始化横向柱状图
+ ChartViewHelper.initBarChart(viewBinding.statusBarChart, horizontalLabelName);
+ //设置数据
+ //TODO 这是模拟数据
+ for (int i = 0; i < horizontalLabelName.length; i++) {
+ barEntries.add(new BarEntry(i, new Random().nextInt(100)));
+ }
+ ChartViewHelper.setBarChartData(viewBinding.statusBarChart, barEntries);
+ }
+
+ @Override
+ protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
+ viewBinding.titleBarLayout.dateView.setText(date);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
index 4888e6e..3f699a0 100644
--- a/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/DataAnalysisActivity.java
@@ -40,7 +40,8 @@
startActivity(intent);
break;
case 1:
- ToastHelper.showToast("案卷状态", ToastHelper.INFO);
+ intent.setClass(context, CaseStatusActivity.class);
+ startActivity(intent);
break;
case 2:
intent.setClass(context, HighEventListActivity.class);
diff --git a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
index b0f6d35..6e66770 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -39,12 +39,21 @@
private final Context context = EventSourceActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("问题来源");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -54,15 +63,6 @@
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.resourcePieChart);
eventSourcePresenter = new EventSourcePresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
//设置数据
ChartViewHelper.setPieChartData(viewBinding.resourcePieChart, pieEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
index 8676ee3..65d2f93 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -39,12 +39,21 @@
private final Context context = HighEventListActivity.this;
private final List excelDataBeans = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
+ private String[] date = new String[0];
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ try {
+ date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
@Override
@@ -52,15 +61,6 @@
initTableConfig();
ChartViewHelper.initPieChart(viewBinding.eventPieChart);
highEventPresenter = new HighEventPresenterImpl(this);
- //默认显示当前月的数据
- long timeMillis = System.currentTimeMillis();
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
- String[] date = new String[0];
- try {
- date = TimeOrDateUtil.timestampToMonth(timeMillis);
- } catch (ParseException e) {
- e.printStackTrace();
- }
highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
ChartViewHelper.setPieChartData(viewBinding.eventPieChart, pieEntries);
}
diff --git a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
index 51267be..5e16ab9 100644
--- a/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/StreetStatisticsActivity.java
@@ -16,12 +16,14 @@
import com.casic.dcms.utils.Constant;
import com.casic.dcms.utils.TimeOrDateUtil;
import com.github.mikephil.charting.data.BarEntry;
+import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieEntry;
import com.jzxiang.pickerview.TimePickerDialog;
import com.jzxiang.pickerview.data.Type;
import com.jzxiang.pickerview.listener.OnDateSetListener;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.List;
import java.util.Random;
@@ -35,8 +37,12 @@
public class StreetStatisticsActivity extends AndroidxBaseActivity {
private static final String TAG = "StreetActivity";
+ private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
private final Context context = StreetStatisticsActivity.this;
private final List spinnerEntries = new ArrayList<>();
+ private final List commonEntries = new ArrayList<>();
+ private final List quickEntries = new ArrayList<>();
+ private final List packageEntries = new ArrayList<>();
private final List pieEntries = new ArrayList<>();
private final List barEntries = new ArrayList<>();
private String selectedStreet = "";
@@ -73,26 +79,41 @@
}
});
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
+ //初始化折线图
+ ChartViewHelper.initLineChart(viewBinding.streetLineChart);
+ //TODO 这是模拟数据
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ for (int i = 0; i < maxDay; i++) {
+ commonEntries.add(new Entry(i, new Random().nextInt(15), "common"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ quickEntries.add(new Entry(i, new Random().nextInt(20), "quick"));
+ }
+ for (int i = 0; i < maxDay; i++) {
+ packageEntries.add(new Entry(i, new Random().nextInt(10), "package"));
+ }
+ ChartViewHelper.setLineChartData(viewBinding.streetLineChart, commonEntries, quickEntries, packageEntries);
//初始化饼图
ChartViewHelper.initPieChart(viewBinding.streetPieChart);
Log.d(TAG, "selectedStreet: " + selectedStreet);
//设置数据
//TODO 这是模拟数据
- pieEntries.add(new PieEntry(new Random().nextInt(300), "普通"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "快速"));
- pieEntries.add(new PieEntry(new Random().nextInt(300), "三包"));
+ pieEntries.add(new PieEntry(new Random().nextInt(100), "普通"));
+ pieEntries.add(new PieEntry(new Random().nextInt(150), "快速"));
+ pieEntries.add(new PieEntry(new Random().nextInt(50), "三包"));
ChartViewHelper.setPieChartData(viewBinding.streetPieChart, pieEntries);
//初始化横向柱状图
- ChartViewHelper.initBarChart(viewBinding.streetBarChart);
+ ChartViewHelper.initBarChart(viewBinding.streetBarChart, horizontalLabelName);
//设置数据
//TODO 这是模拟数据
- for (int i = 0; i < 7; i++) {
+ for (int i = 0; i < horizontalLabelName.length; i++) {
barEntries.add(new BarEntry(i, new Random().nextInt(100)));
}
ChartViewHelper.setBarChartData(viewBinding.streetBarChart, barEntries);
diff --git a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
index 51270fc..4f2e201 100644
--- a/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/TrendAnalysisActivity.java
@@ -36,12 +36,12 @@
protected void setupTopBarLayout() {
viewBinding.titleBarLayout.titleView.setText("趋势分析");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
+ //默认显示当前月的分析数据
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
}
@Override
protected void initData() {
- //默认显示当前月的分析数据
- viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(System.currentTimeMillis()));
//完成率总览
bindProgressAnimation(viewBinding.wholeProgressBar, 80);
//初始化折线图
diff --git a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
index 16dba9c..5f092ce 100644
--- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
+++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java
@@ -42,9 +42,9 @@
*/
public class ChartViewHelper {
+ private static final String TAG = "ChartViewHelper";
private static final DecimalFormat decimalFormat = new DecimalFormat("##0");
private static final String[] labelName = {"普通", "快速", "三包"};
- private static final String[] horizontalLabelName = {"销案", "不予立案", "结案", "待结案", "待核查", "待处理", "待核实"};
public static void initLineChart(LineChart chart) {
chart.setDrawGridBackground(false);
@@ -62,7 +62,7 @@
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
- xAxis.setAxisMinimum(0f);
+ xAxis.setAxisMinimum(1f);
xAxis.setAxisMaximum(maxDay);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -102,6 +102,30 @@
chart.invalidate();
}
+ public static void setLineChartData(LineChart chart, List commonEntries, List quickEntries, List packageEntries) {
+ List lineDataSets = new ArrayList<>();
+ //设置数据
+ LineDataSet commonDataSet = new LineDataSet(commonEntries, "普通上报");
+ commonDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//线条颜色
+ commonDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.onLineColor));//圆点颜色
+ lineDataSets.add(commonDataSet);
+
+ LineDataSet quickDataSet = new LineDataSet(quickEntries, "快速上报");
+ quickDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//线条颜色
+ quickDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.warnColor));//圆点颜色
+ lineDataSets.add(quickDataSet);
+
+ LineDataSet packageDataSet = new LineDataSet(packageEntries, "三包上报");
+ packageDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//线条颜色
+ packageDataSet.setCircleColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor));//圆点颜色
+ lineDataSets.add(packageDataSet);
+
+ LineData lineData = new LineData(lineDataSets);
+ lineData.setDrawValues(false);
+ chart.setData(lineData);
+ chart.invalidate();
+ }
+
public static void initBarChart(BarChart chart) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
@@ -137,7 +161,7 @@
public static void setBarChartData(BarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -150,7 +174,7 @@
chart.invalidate();
}
- public static void initBarChart(HorizontalBarChart chart) {
+ public static void initBarChart(HorizontalBarChart chart, String[] labelName) {
chart.setDrawGridBackground(false);
chart.setDrawBorders(false);
chart.setScaleEnabled(false);
@@ -163,11 +187,11 @@
xAxis.setTextColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.textColor));
xAxis.setTextSize(12f);
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
- xAxis.setLabelCount(horizontalLabelName.length); // 设置x轴上的标签个数
+ xAxis.setLabelCount(labelName.length); // 设置x轴上的标签个数
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
- return horizontalLabelName[(int) value];
+ return labelName[(int) value];
}
});
xAxis.setDrawAxisLine(true);//是否绘制轴线
@@ -185,7 +209,7 @@
public static void setBarChartData(HorizontalBarChart chart, List entries) {
//绑定数据
BarDataSet barDataSet = new BarDataSet(entries, "");
- barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright));
+ barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.barChartColor));
barDataSet.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
@@ -231,7 +255,7 @@
//设置饼图块颜色
List colors = new ArrayList<>();
for (int i = 0; i < entries.size(); i++) {
- colors.add(Constant.PIE_COLORS.get(i));
+ colors.add(ContextCompat.getColor(BaseApplication.getInstance(), Constant.PIE_COLORS.get(i)));
}
dataSet.setColors(colors);
//设置标签显示在饼图块外面
diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java
index 1e2908a..3c84e50 100644
--- a/app/src/main/java/com/casic/dcms/utils/Constant.java
+++ b/app/src/main/java/com/casic/dcms/utils/Constant.java
@@ -30,8 +30,8 @@
//饼图预置颜色,前三种作为街道统计饼图颜色
public static final List PIE_COLORS = Arrays.asList(
- R.color.mainThemeColor, R.color.punishColor, R.color.colorAccent,
- R.color.pieColor1, R.color.onLineColor, R.color.pieColor3,
+ R.color.pieColor3, R.color.onLineColor, R.color.pieColor1,
+ R.color.persuadeColor, R.color.punishColor, R.color.colorAccent,
R.color.pieColor4, R.color.pieColor2, R.color.pieColor5,
R.color.colorPrimary);
diff --git a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
index 7321c43..b260c69 100644
--- a/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
+++ b/app/src/main/java/com/casic/dcms/widgets/DetailsMarkerView.java
@@ -34,11 +34,23 @@
if (e.getY() == 0) {
dataView.setText("暂无数据");
} else {
- String type = "";
- if (data.equals("total")) {
- type = "新增";
- } else {
- type = "已处理";
+ String type;
+ switch (data) {
+ case "total":
+ type = "新增";
+ break;
+ case "common":
+ type = "普通上报";
+ break;
+ case "quick":
+ type = "快速上报";
+ break;
+ case "package":
+ type = "三包上报";
+ break;
+ default:
+ type = "已处理";
+ break;
}
dataView.setText(String.format(Locale.CHINA, "%s:%s件", type, decimalFormat.format(e.getY())));
}
diff --git a/app/src/main/res/layout/activity_case_status.xml b/app/src/main/res/layout/activity_case_status.xml
new file mode 100644
index 0000000..bbc1e5c
--- /dev/null
+++ b/app/src/main/res/layout/activity_case_status.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_street_statistics.xml b/app/src/main/res/layout/activity_street_statistics.xml
index 7f187cb..9e7f95a 100644
--- a/app/src/main/res/layout/activity_street_statistics.xml
+++ b/app/src/main/res/layout/activity_street_statistics.xml
@@ -27,6 +27,19 @@
app:cardCornerRadius="5dp"
app:cardUseCompatPadding="true">
+
+
+
+
+
#278DF9
#333333
#24CE9E
+ #6666FF
#06134C
#090E47
#98A0BD
- #FB2808
- #FD8D38
- #2C63DD
+ #FF2808
+ #FF8D38
+ #2C63FF
#F1F1F1
- #FC6667
- #CBA3EE
- #C3E785
- #9BDBF6
- #FFEA00
+ #FF6969
+ #CDA5FF
+ #C3EB87
+ #9BFFFF
+ #FFFF00