diff --git a/.idea/misc.xml b/.idea/misc.xml index 562ec11..e35facd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -237,7 +237,7 @@ - + @@ -326,6 +326,8 @@ + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 562ec11..e35facd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -237,7 +237,7 @@ - + @@ -326,6 +326,8 @@ + + diff --git a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java index 6b18f6b..c8ab638 100644 --- a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java +++ b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java @@ -28,6 +28,9 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; import com.pengxh.androidx.lite.vm.LoadState; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; public class GridAnalysisActivity extends AndroidxBaseActivity { @@ -54,30 +57,53 @@ if (gridAnalysisBean.getCode() == 200) { List dataModels = gridAnalysisBean.getData(); int caseCount = 0; + List effectiveModels = new ArrayList<>(); for (GridAnalysisBean.DataModel dataModel : dataModels) { caseCount += Integer.parseInt(dataModel.getRegisteredNum()); + if (!dataModel.getRegisteredNum().equals("0")) { + effectiveModels.add(dataModel); + } } viewBinding.caseCountView.setText("立案数:" + caseCount); - NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_alanysis_rv_l, gridAnalysisBean.getData()) { + //按数量排序 + Collections.sort(effectiveModels, new GridAnalysisComparator()); + int finalCaseCount = caseCount; + NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_grid_alanysis_rv_l, effectiveModels) { @Override public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { //设置随机颜色 int[] color = ColorHub.generateColor(context); + int rate = (int) ((Float.parseFloat(item.getRegisteredNum()) / finalCaseCount) * 100); + viewHolder.setText(R.id.numberTagView, String.valueOf(position + 1)) .setBackgroundColor(R.id.numberTagView, color[0]) .setTextColor(R.id.numberTagView, color[1]) .setText(R.id.caseSourceView, item.getGridName()) - .setText(R.id.caseNumView, item.getRegisteredNum()); + .setText(R.id.caseRateView, rate + "%"); ProgressBar progressBar = viewHolder.getView(R.id.frequencyProgressBar); - progressBar.setProgress((int) (Float.parseFloat(item.getRate()) * 100)); + progressBar.setProgress(rate); } }; - viewBinding.gridAnalysisViewView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); - viewBinding.gridAnalysisViewView.setAdapter(recyclerAdapter); + viewBinding.gridAnalysisView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); + viewBinding.gridAnalysisView.setAdapter(recyclerAdapter); + + //表格 + NormalRecyclerAdapter gridAdapter = new NormalRecyclerAdapter(R.layout.item_grid_rv_l, effectiveModels) { + @Override + public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { + viewHolder.setText(R.id.gridNameView, item.getGridName()) + .setText(R.id.registeredNumView, item.getRegisteredNum()) + .setText(R.id.distributeNumView, item.getDistributeNum()) + .setText(R.id.processNumView, item.getProcessNum()) + .setText(R.id.closedNumView, item.getClosedNum()); + } + }; + viewBinding.caseRecyclerView.addItemDecoration(new ItemDecoration(0f, 0f)); + viewBinding.caseRecyclerView.setAdapter(gridAdapter); } } }); @@ -131,4 +157,14 @@ } }); } + + private static class GridAnalysisComparator implements Comparator { + + @Override + public int compare(GridAnalysisBean.DataModel o1, GridAnalysisBean.DataModel o2) { + int i = Integer.parseInt(o1.getRegisteredNum()); + int j = Integer.parseInt(o2.getRegisteredNum()); + return j - i; + } + } } diff --git a/.idea/misc.xml b/.idea/misc.xml index 562ec11..e35facd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -237,7 +237,7 @@ - + @@ -326,6 +326,8 @@ + + diff --git a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java index 6b18f6b..c8ab638 100644 --- a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java +++ b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java @@ -28,6 +28,9 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; import com.pengxh.androidx.lite.vm.LoadState; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; public class GridAnalysisActivity extends AndroidxBaseActivity { @@ -54,30 +57,53 @@ if (gridAnalysisBean.getCode() == 200) { List dataModels = gridAnalysisBean.getData(); int caseCount = 0; + List effectiveModels = new ArrayList<>(); for (GridAnalysisBean.DataModel dataModel : dataModels) { caseCount += Integer.parseInt(dataModel.getRegisteredNum()); + if (!dataModel.getRegisteredNum().equals("0")) { + effectiveModels.add(dataModel); + } } viewBinding.caseCountView.setText("立案数:" + caseCount); - NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_alanysis_rv_l, gridAnalysisBean.getData()) { + //按数量排序 + Collections.sort(effectiveModels, new GridAnalysisComparator()); + int finalCaseCount = caseCount; + NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_grid_alanysis_rv_l, effectiveModels) { @Override public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { //设置随机颜色 int[] color = ColorHub.generateColor(context); + int rate = (int) ((Float.parseFloat(item.getRegisteredNum()) / finalCaseCount) * 100); + viewHolder.setText(R.id.numberTagView, String.valueOf(position + 1)) .setBackgroundColor(R.id.numberTagView, color[0]) .setTextColor(R.id.numberTagView, color[1]) .setText(R.id.caseSourceView, item.getGridName()) - .setText(R.id.caseNumView, item.getRegisteredNum()); + .setText(R.id.caseRateView, rate + "%"); ProgressBar progressBar = viewHolder.getView(R.id.frequencyProgressBar); - progressBar.setProgress((int) (Float.parseFloat(item.getRate()) * 100)); + progressBar.setProgress(rate); } }; - viewBinding.gridAnalysisViewView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); - viewBinding.gridAnalysisViewView.setAdapter(recyclerAdapter); + viewBinding.gridAnalysisView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); + viewBinding.gridAnalysisView.setAdapter(recyclerAdapter); + + //表格 + NormalRecyclerAdapter gridAdapter = new NormalRecyclerAdapter(R.layout.item_grid_rv_l, effectiveModels) { + @Override + public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { + viewHolder.setText(R.id.gridNameView, item.getGridName()) + .setText(R.id.registeredNumView, item.getRegisteredNum()) + .setText(R.id.distributeNumView, item.getDistributeNum()) + .setText(R.id.processNumView, item.getProcessNum()) + .setText(R.id.closedNumView, item.getClosedNum()); + } + }; + viewBinding.caseRecyclerView.addItemDecoration(new ItemDecoration(0f, 0f)); + viewBinding.caseRecyclerView.setAdapter(gridAdapter); } } }); @@ -131,4 +157,14 @@ } }); } + + private static class GridAnalysisComparator implements Comparator { + + @Override + public int compare(GridAnalysisBean.DataModel o1, GridAnalysisBean.DataModel o2) { + int i = Integer.parseInt(o1.getRegisteredNum()); + int j = Integer.parseInt(o2.getRegisteredNum()); + return j - i; + } + } } diff --git a/app/src/main/res/layout/activity_grid_analysis.xml b/app/src/main/res/layout/activity_grid_analysis.xml index dc1d693..5726d52 100644 --- a/app/src/main/res/layout/activity_grid_analysis.xml +++ b/app/src/main/res/layout/activity_grid_analysis.xml @@ -9,81 +9,188 @@ android:id="@+id/titleBarLayout" layout="@layout/include_sub_base_title" /> - + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 562ec11..e35facd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -237,7 +237,7 @@ - + @@ -326,6 +326,8 @@ + + diff --git a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java index 6b18f6b..c8ab638 100644 --- a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java +++ b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java @@ -28,6 +28,9 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; import com.pengxh.androidx.lite.vm.LoadState; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; public class GridAnalysisActivity extends AndroidxBaseActivity { @@ -54,30 +57,53 @@ if (gridAnalysisBean.getCode() == 200) { List dataModels = gridAnalysisBean.getData(); int caseCount = 0; + List effectiveModels = new ArrayList<>(); for (GridAnalysisBean.DataModel dataModel : dataModels) { caseCount += Integer.parseInt(dataModel.getRegisteredNum()); + if (!dataModel.getRegisteredNum().equals("0")) { + effectiveModels.add(dataModel); + } } viewBinding.caseCountView.setText("立案数:" + caseCount); - NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_alanysis_rv_l, gridAnalysisBean.getData()) { + //按数量排序 + Collections.sort(effectiveModels, new GridAnalysisComparator()); + int finalCaseCount = caseCount; + NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_grid_alanysis_rv_l, effectiveModels) { @Override public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { //设置随机颜色 int[] color = ColorHub.generateColor(context); + int rate = (int) ((Float.parseFloat(item.getRegisteredNum()) / finalCaseCount) * 100); + viewHolder.setText(R.id.numberTagView, String.valueOf(position + 1)) .setBackgroundColor(R.id.numberTagView, color[0]) .setTextColor(R.id.numberTagView, color[1]) .setText(R.id.caseSourceView, item.getGridName()) - .setText(R.id.caseNumView, item.getRegisteredNum()); + .setText(R.id.caseRateView, rate + "%"); ProgressBar progressBar = viewHolder.getView(R.id.frequencyProgressBar); - progressBar.setProgress((int) (Float.parseFloat(item.getRate()) * 100)); + progressBar.setProgress(rate); } }; - viewBinding.gridAnalysisViewView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); - viewBinding.gridAnalysisViewView.setAdapter(recyclerAdapter); + viewBinding.gridAnalysisView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); + viewBinding.gridAnalysisView.setAdapter(recyclerAdapter); + + //表格 + NormalRecyclerAdapter gridAdapter = new NormalRecyclerAdapter(R.layout.item_grid_rv_l, effectiveModels) { + @Override + public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { + viewHolder.setText(R.id.gridNameView, item.getGridName()) + .setText(R.id.registeredNumView, item.getRegisteredNum()) + .setText(R.id.distributeNumView, item.getDistributeNum()) + .setText(R.id.processNumView, item.getProcessNum()) + .setText(R.id.closedNumView, item.getClosedNum()); + } + }; + viewBinding.caseRecyclerView.addItemDecoration(new ItemDecoration(0f, 0f)); + viewBinding.caseRecyclerView.setAdapter(gridAdapter); } } }); @@ -131,4 +157,14 @@ } }); } + + private static class GridAnalysisComparator implements Comparator { + + @Override + public int compare(GridAnalysisBean.DataModel o1, GridAnalysisBean.DataModel o2) { + int i = Integer.parseInt(o1.getRegisteredNum()); + int j = Integer.parseInt(o2.getRegisteredNum()); + return j - i; + } + } } diff --git a/app/src/main/res/layout/activity_grid_analysis.xml b/app/src/main/res/layout/activity_grid_analysis.xml index dc1d693..5726d52 100644 --- a/app/src/main/res/layout/activity_grid_analysis.xml +++ b/app/src/main/res/layout/activity_grid_analysis.xml @@ -9,81 +9,188 @@ android:id="@+id/titleBarLayout" layout="@layout/include_sub_base_title" /> - + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_grid_alanysis_rv_l.xml b/app/src/main/res/layout/item_grid_alanysis_rv_l.xml new file mode 100644 index 0000000..c6e9049 --- /dev/null +++ b/app/src/main/res/layout/item_grid_alanysis_rv_l.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 562ec11..e35facd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -237,7 +237,7 @@ - + @@ -326,6 +326,8 @@ + + diff --git a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java index 6b18f6b..c8ab638 100644 --- a/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java +++ b/app/src/main/java/com/casic/dcms/view/statistics/GridAnalysisActivity.java @@ -28,6 +28,9 @@ import com.pengxh.androidx.lite.utils.ImmerseStatusBarManager; import com.pengxh.androidx.lite.vm.LoadState; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; public class GridAnalysisActivity extends AndroidxBaseActivity { @@ -54,30 +57,53 @@ if (gridAnalysisBean.getCode() == 200) { List dataModels = gridAnalysisBean.getData(); int caseCount = 0; + List effectiveModels = new ArrayList<>(); for (GridAnalysisBean.DataModel dataModel : dataModels) { caseCount += Integer.parseInt(dataModel.getRegisteredNum()); + if (!dataModel.getRegisteredNum().equals("0")) { + effectiveModels.add(dataModel); + } } viewBinding.caseCountView.setText("立案数:" + caseCount); - NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_alanysis_rv_l, gridAnalysisBean.getData()) { + //按数量排序 + Collections.sort(effectiveModels, new GridAnalysisComparator()); + int finalCaseCount = caseCount; + NormalRecyclerAdapter recyclerAdapter = new NormalRecyclerAdapter(R.layout.item_grid_alanysis_rv_l, effectiveModels) { @Override public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { //设置随机颜色 int[] color = ColorHub.generateColor(context); + int rate = (int) ((Float.parseFloat(item.getRegisteredNum()) / finalCaseCount) * 100); + viewHolder.setText(R.id.numberTagView, String.valueOf(position + 1)) .setBackgroundColor(R.id.numberTagView, color[0]) .setTextColor(R.id.numberTagView, color[1]) .setText(R.id.caseSourceView, item.getGridName()) - .setText(R.id.caseNumView, item.getRegisteredNum()); + .setText(R.id.caseRateView, rate + "%"); ProgressBar progressBar = viewHolder.getView(R.id.frequencyProgressBar); - progressBar.setProgress((int) (Float.parseFloat(item.getRate()) * 100)); + progressBar.setProgress(rate); } }; - viewBinding.gridAnalysisViewView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); - viewBinding.gridAnalysisViewView.setAdapter(recyclerAdapter); + viewBinding.gridAnalysisView.addItemDecoration(new ItemDecoration(FloatHub.dp2px(context, 75), FloatHub.dp2px(context, 15))); + viewBinding.gridAnalysisView.setAdapter(recyclerAdapter); + + //表格 + NormalRecyclerAdapter gridAdapter = new NormalRecyclerAdapter(R.layout.item_grid_rv_l, effectiveModels) { + @Override + public void convertView(ViewHolder viewHolder, int position, GridAnalysisBean.DataModel item) { + viewHolder.setText(R.id.gridNameView, item.getGridName()) + .setText(R.id.registeredNumView, item.getRegisteredNum()) + .setText(R.id.distributeNumView, item.getDistributeNum()) + .setText(R.id.processNumView, item.getProcessNum()) + .setText(R.id.closedNumView, item.getClosedNum()); + } + }; + viewBinding.caseRecyclerView.addItemDecoration(new ItemDecoration(0f, 0f)); + viewBinding.caseRecyclerView.setAdapter(gridAdapter); } } }); @@ -131,4 +157,14 @@ } }); } + + private static class GridAnalysisComparator implements Comparator { + + @Override + public int compare(GridAnalysisBean.DataModel o1, GridAnalysisBean.DataModel o2) { + int i = Integer.parseInt(o1.getRegisteredNum()); + int j = Integer.parseInt(o2.getRegisteredNum()); + return j - i; + } + } } diff --git a/app/src/main/res/layout/activity_grid_analysis.xml b/app/src/main/res/layout/activity_grid_analysis.xml index dc1d693..5726d52 100644 --- a/app/src/main/res/layout/activity_grid_analysis.xml +++ b/app/src/main/res/layout/activity_grid_analysis.xml @@ -9,81 +9,188 @@ android:id="@+id/titleBarLayout" layout="@layout/include_sub_base_title" /> - + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_grid_alanysis_rv_l.xml b/app/src/main/res/layout/item_grid_alanysis_rv_l.xml new file mode 100644 index 0000000..c6e9049 --- /dev/null +++ b/app/src/main/res/layout/item_grid_alanysis_rv_l.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_grid_rv_l.xml b/app/src/main/res/layout/item_grid_rv_l.xml new file mode 100644 index 0000000..fbbfaa8 --- /dev/null +++ b/app/src/main/res/layout/item_grid_rv_l.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file