diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 927e7f5..8676ee3 100644 --- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -54,7 +55,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); } @@ -108,7 +114,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } highEventPresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 927e7f5..8676ee3 100644 --- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -54,7 +55,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); } @@ -108,7 +114,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } highEventPresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 bd0bce7..16dba9c 100644 --- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java @@ -137,7 +137,7 @@ public static void setBarChartData(BarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -185,7 +185,7 @@ public static void setBarChartData(HorizontalBarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -225,17 +225,15 @@ } public static void setPieChartData(PieChart chart, List entries) { - PieDataSet dataSet = new PieDataSet(entries, "街道案卷总览"); + PieDataSet dataSet = new PieDataSet(entries, "案卷总览"); dataSet.setSliceSpace(3f);//设置饼状块之间的间隙 dataSet.setSelectionShift(5f);//设置饼状块被选中时突出的距离 - //设置饼图块颜色 List colors = new ArrayList<>(); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.punishColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorAccent)); + for (int i = 0; i < entries.size(); i++) { + colors.add(Constant.PIE_COLORS.get(i)); + } dataSet.setColors(colors); - //设置标签显示在饼图块外面 dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 927e7f5..8676ee3 100644 --- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -54,7 +55,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); } @@ -108,7 +114,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } highEventPresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 bd0bce7..16dba9c 100644 --- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java @@ -137,7 +137,7 @@ public static void setBarChartData(BarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -185,7 +185,7 @@ public static void setBarChartData(HorizontalBarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -225,17 +225,15 @@ } public static void setPieChartData(PieChart chart, List entries) { - PieDataSet dataSet = new PieDataSet(entries, "街道案卷总览"); + PieDataSet dataSet = new PieDataSet(entries, "案卷总览"); dataSet.setSliceSpace(3f);//设置饼状块之间的间隙 dataSet.setSelectionShift(5f);//设置饼状块被选中时突出的距离 - //设置饼图块颜色 List colors = new ArrayList<>(); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.punishColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorAccent)); + for (int i = 0; i < entries.size(); i++) { + colors.add(Constant.PIE_COLORS.get(i)); + } dataSet.setColors(colors); - //设置标签显示在饼图块外面 dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); 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 e41c903..1e2908a 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -1,7 +1,6 @@ package com.casic.dcms.utils; import android.Manifest; -import android.graphics.Color; import com.casic.dcms.R; @@ -29,12 +28,12 @@ "问题来源", "案卷状态", "高发问题", "街道统计", "处理统计", "趋势分析"); - //先预置8种颜色 - public static final int[] PIE_COLORS = {Color.rgb(28, 197, 220), - Color.rgb(255, 223, 107), Color.rgb(242, 17, 112), - Color.rgb(254, 254, 204), Color.rgb(251, 54, 64), - Color.rgb(216, 248, 183), Color.rgb(129, 178, 20), - Color.rgb(120, 104, 230)}; + //饼图预置颜色,前三种作为街道统计饼图颜色 + 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.pieColor4, R.color.pieColor2, R.color.pieColor5, + R.color.colorPrimary); public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 927e7f5..8676ee3 100644 --- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -54,7 +55,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); } @@ -108,7 +114,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } highEventPresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 bd0bce7..16dba9c 100644 --- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java @@ -137,7 +137,7 @@ public static void setBarChartData(BarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -185,7 +185,7 @@ public static void setBarChartData(HorizontalBarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -225,17 +225,15 @@ } public static void setPieChartData(PieChart chart, List entries) { - PieDataSet dataSet = new PieDataSet(entries, "街道案卷总览"); + PieDataSet dataSet = new PieDataSet(entries, "案卷总览"); dataSet.setSliceSpace(3f);//设置饼状块之间的间隙 dataSet.setSelectionShift(5f);//设置饼状块被选中时突出的距离 - //设置饼图块颜色 List colors = new ArrayList<>(); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.punishColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorAccent)); + for (int i = 0; i < entries.size(); i++) { + colors.add(Constant.PIE_COLORS.get(i)); + } dataSet.setColors(colors); - //设置标签显示在饼图块外面 dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); 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 e41c903..1e2908a 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -1,7 +1,6 @@ package com.casic.dcms.utils; import android.Manifest; -import android.graphics.Color; import com.casic.dcms.R; @@ -29,12 +28,12 @@ "问题来源", "案卷状态", "高发问题", "街道统计", "处理统计", "趋势分析"); - //先预置8种颜色 - public static final int[] PIE_COLORS = {Color.rgb(28, 197, 220), - Color.rgb(255, 223, 107), Color.rgb(242, 17, 112), - Color.rgb(254, 254, 204), Color.rgb(251, 54, 64), - Color.rgb(216, 248, 183), Color.rgb(129, 178, 20), - Color.rgb(120, 104, 230)}; + //饼图预置颜色,前三种作为街道统计饼图颜色 + 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.pieColor4, R.color.pieColor2, R.color.pieColor5, + R.color.colorPrimary); public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java index bd268c0..fa1d68e 100644 --- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java +++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java @@ -1,5 +1,6 @@ package com.casic.dcms.utils; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -17,19 +18,54 @@ /** * 获取年月区间,[2022-02-01,2022-02-28] */ - public static String[] timestampToMonth(long millSeconds) { + public static String[] timestampToMonth(long millSeconds) throws ParseException { dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); - Date date = new Date(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - //获得本月第一天 - calendar.add(Calendar.MONTH, 0); - calendar.set(Calendar.DAY_OF_MONTH, 1); - String firstDay = dateFormat.format(calendar.getTime()); + //先判断是否在当月 + if (isInThisMonth(millSeconds)) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + //获得本月第一天 + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + String firstDay = dateFormat.format(calendar.getTime()); - date.setTime(millSeconds); - String currentDay = dateFormat.format(date); - return new String[]{firstDay, currentDay}; + date.setTime(millSeconds); + String currentDay = dateFormat.format(date); + return new String[]{firstDay, currentDay}; + } else { + String dateValue = dateFormat.format(new Date(millSeconds)); + Date date = dateFormat.parse(dateValue); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + //获得月第一天 + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + String firstDay = dateFormat.format(calendar.getTime()); + + int year = calendar.get(Calendar.YEAR); + int m = calendar.get(Calendar.MONTH) + 1; + String month; + if (m < 10) { + month = "0" + m; + } else { + month = String.valueOf(m); + } + int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + return new String[]{firstDay, year + "-" + month + "-" + maxDay}; + } + } + + /** + * 判断时间是否在本月之内 + */ + public static boolean isInThisMonth(long millSeconds) { + //所选时间对应的月份 + SimpleDateFormat dateFormat = new SimpleDateFormat("MM", Locale.CHINA); + String selectedMonth = dateFormat.format(new Date(millSeconds)); + //系统时间对应的月份 + String systemMonth = dateFormat.format(new Date(System.currentTimeMillis())); + return selectedMonth.equals(systemMonth); } /** diff --git a/.idea/misc.xml b/.idea/misc.xml index 9d7b167..526ab30 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,8 +18,12 @@ + + + + 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 c915e7b..b0f6d35 100644 --- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); @@ -112,7 +118,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 927e7f5..8676ee3 100644 --- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java @@ -24,6 +24,7 @@ import com.jzxiang.pickerview.listener.OnDateSetListener; import com.qmuiteam.qmui.util.QMUIDisplayHelper; +import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -54,7 +55,12 @@ //默认显示当前月的数据 long timeMillis = System.currentTimeMillis(); viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis)); - String[] date = TimeOrDateUtil.timestampToMonth(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); } @@ -108,7 +114,12 @@ @Override public void onDateSet(TimePickerDialog timePickerView, long millSeconds) { viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds)); - String[] date = TimeOrDateUtil.timestampToMonth(millSeconds); + String[] date = new String[0]; + try { + date = TimeOrDateUtil.timestampToMonth(millSeconds); + } catch (ParseException e) { + e.printStackTrace(); + } highEventPresenter.onReadyRetrofitRequest(date[0], date[1]); } }).build().show(getSupportFragmentManager(), "year_month"); 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 bd0bce7..16dba9c 100644 --- a/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/ChartViewHelper.java @@ -137,7 +137,7 @@ public static void setBarChartData(BarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -185,7 +185,7 @@ public static void setBarChartData(HorizontalBarChart chart, List entries) { //绑定数据 BarDataSet barDataSet = new BarDataSet(entries, ""); - barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorPrimary)); + barDataSet.setColor(ContextCompat.getColor(BaseApplication.getInstance(), android.R.color.holo_blue_bright)); barDataSet.setValueFormatter(new ValueFormatter() { @Override public String getFormattedValue(float value) { @@ -225,17 +225,15 @@ } public static void setPieChartData(PieChart chart, List entries) { - PieDataSet dataSet = new PieDataSet(entries, "街道案卷总览"); + PieDataSet dataSet = new PieDataSet(entries, "案卷总览"); dataSet.setSliceSpace(3f);//设置饼状块之间的间隙 dataSet.setSelectionShift(5f);//设置饼状块被选中时突出的距离 - //设置饼图块颜色 List colors = new ArrayList<>(); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.mainThemeColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.punishColor)); - colors.add(ContextCompat.getColor(BaseApplication.getInstance(), R.color.colorAccent)); + for (int i = 0; i < entries.size(); i++) { + colors.add(Constant.PIE_COLORS.get(i)); + } dataSet.setColors(colors); - //设置标签显示在饼图块外面 dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); 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 e41c903..1e2908a 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -1,7 +1,6 @@ package com.casic.dcms.utils; import android.Manifest; -import android.graphics.Color; import com.casic.dcms.R; @@ -29,12 +28,12 @@ "问题来源", "案卷状态", "高发问题", "街道统计", "处理统计", "趋势分析"); - //先预置8种颜色 - public static final int[] PIE_COLORS = {Color.rgb(28, 197, 220), - Color.rgb(255, 223, 107), Color.rgb(242, 17, 112), - Color.rgb(254, 254, 204), Color.rgb(251, 54, 64), - Color.rgb(216, 248, 183), Color.rgb(129, 178, 20), - Color.rgb(120, 104, 230)}; + //饼图预置颜色,前三种作为街道统计饼图颜色 + 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.pieColor4, R.color.pieColor2, R.color.pieColor5, + R.color.colorPrimary); public static final String IP_KEY = "ip"; static final String USER_BEAN = "userBean"; diff --git a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java index bd268c0..fa1d68e 100644 --- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java +++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java @@ -1,5 +1,6 @@ package com.casic.dcms.utils; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; @@ -17,19 +18,54 @@ /** * 获取年月区间,[2022-02-01,2022-02-28] */ - public static String[] timestampToMonth(long millSeconds) { + public static String[] timestampToMonth(long millSeconds) throws ParseException { dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); - Date date = new Date(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - //获得本月第一天 - calendar.add(Calendar.MONTH, 0); - calendar.set(Calendar.DAY_OF_MONTH, 1); - String firstDay = dateFormat.format(calendar.getTime()); + //先判断是否在当月 + if (isInThisMonth(millSeconds)) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + //获得本月第一天 + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + String firstDay = dateFormat.format(calendar.getTime()); - date.setTime(millSeconds); - String currentDay = dateFormat.format(date); - return new String[]{firstDay, currentDay}; + date.setTime(millSeconds); + String currentDay = dateFormat.format(date); + return new String[]{firstDay, currentDay}; + } else { + String dateValue = dateFormat.format(new Date(millSeconds)); + Date date = dateFormat.parse(dateValue); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + //获得月第一天 + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + String firstDay = dateFormat.format(calendar.getTime()); + + int year = calendar.get(Calendar.YEAR); + int m = calendar.get(Calendar.MONTH) + 1; + String month; + if (m < 10) { + month = "0" + m; + } else { + month = String.valueOf(m); + } + int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + return new String[]{firstDay, year + "-" + month + "-" + maxDay}; + } + } + + /** + * 判断时间是否在本月之内 + */ + public static boolean isInThisMonth(long millSeconds) { + //所选时间对应的月份 + SimpleDateFormat dateFormat = new SimpleDateFormat("MM", Locale.CHINA); + String selectedMonth = dateFormat.format(new Date(millSeconds)); + //系统时间对应的月份 + String systemMonth = dateFormat.format(new Date(System.currentTimeMillis())); + return selectedMonth.equals(systemMonth); } /** diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index d45a060..4b6fee6 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -27,4 +27,11 @@ #2C63DD #F1F1F1 + + + #FC6667 + #CBA3EE + #C3E785 + #9BDBF6 + #FFEA00