diff --git a/README.md b/README.md index fc6b39c..3de0973 100644 --- a/README.md +++ b/README.md @@ -34,4 +34,10 @@ ``` 1.修复Bug RecyclerView Inconsistency detected +``` + +### 2023-6-15 (1.0.5) + +``` +1.辖区人口添加人口类型筛选条件 ``` \ No newline at end of file diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java index c70a724..47ef85e 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java @@ -570,5 +570,7 @@ public class PathConfig { public static final String PATH_MODULE_GRID_FRAGMENT_PERSON_LIB = "/modulegrid/fragment/personLib";//人口库 - + public static final String PATH_MODULE_COMMON_FRAGMENT_INCIDENT_STATISTICS = "/modulecommon/fragment/incidentLeaderStatistics";//事件统计 + public static final String PATH_MODULE_COMMON_FRAGMENT_POPULACE_STATISTICS = "/modulecommon/fragment/populaceLeaderStatistics";//人口统计 + public static final String PATH_MODULE_COMMON_FRAGMENT_GRID_STATISTICS = "/modulecommon/fragment/gridLeaderStatistics";//网格统计 } diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java index 62621aa..eba3c31 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java @@ -7,9 +7,9 @@ package com.tenlionsoft.baselib.core.retrofit_net; */ public class BaseUrlApi { -// public static final String IP = "http://192.168.0.15:7011/";/* 测试IP */ + public static final String IP = "http://192.168.0.15:7011/";/* 测试IP */ // public static final String IP = "http://10.25.242.183:80/";/* 测试IP */ - public static final String IP = "http://www.wlcbsyzl.cn/";/* 正式IP */ +// public static final String IP = "http://www.wlcbsyzl.cn/";/* 正式IP */ public static final String SYS_USERCENTER = "usercenter/"; public static final String SYS_POPULATION = "populationhouse/";/*人口系统*/ public static final String SYS_CASE = "case/";/*事件部件*/ @@ -20,8 +20,8 @@ public class BaseUrlApi { public static final String SYS_VISITS = "visits/";/*信访系统*/ public static final String BASE_MAIN_IP = IP + SYS_USERCENTER; - public static final String BASE_CASE_IP = IP + SYS_CASE; -// public static final String BASE_CASE_IP = "http://192.168.0.120:9000/" + SYS_CASE; +// public static final String BASE_CASE_IP = IP + SYS_CASE; + public static final String BASE_CASE_IP = "http://192.168.0.120:9000/" + SYS_CASE; public static final String BASE_CASE_LOCAL_IP="http://49.233.36.36:58099/case/"; public static final String BASE_LIBRARY_IP = IP + SYS_LIBRARY; public static final String BASE_TASK_IP = IP + SYS_TASK; diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/ViewPageWhiteNavigatorAdapter.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/ViewPageWhiteNavigatorAdapter.java new file mode 100644 index 0000000..cd63616 --- /dev/null +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/base/ViewPageWhiteNavigatorAdapter.java @@ -0,0 +1,56 @@ +package com.tenlionsoft.baselib.core.widget.base; + +import android.content.Context; +import android.graphics.Color; + +import androidx.viewpager2.widget.ViewPager2; + +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/11/4 - 3:17 下午 + * 邮箱: itgaojian@163.com + * 描述: viewpage2简单指示器 + */ +public class ViewPageWhiteNavigatorAdapter extends CommonNavigatorAdapter { + private List mTitles; + private Context mContext; + private ViewPager2 mVp; + + public ViewPageWhiteNavigatorAdapter(Context ctx, List titles, ViewPager2 vp) { + this.mTitles = titles; + this.mContext = ctx; + this.mVp = vp; + } + + @Override + public int getCount() { + return mTitles.size(); + } + + @Override + public IPagerTitleView getTitleView(Context context, int index) { + ColorTransitionPagerTitleView cView = new ColorTransitionPagerTitleView(context); + cView.setNormalColor(Color.WHITE); + cView.setSelectedColor(Color.WHITE); + cView.setText(mTitles.get(index)); + cView.setTextSize(14F); + cView.setOnClickListener(v -> mVp.setCurrentItem(index)); + return cView; + } + + @Override + public IPagerIndicator getIndicator(Context context) { + LinePagerIndicator indicator = new LinePagerIndicator(context); + indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT); + indicator.setColors(Color.WHITE); + return indicator; + } +} diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/TypeBoldTextView.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/TypeBoldTextView.java new file mode 100644 index 0000000..31e8967 --- /dev/null +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/widget/views/TypeBoldTextView.java @@ -0,0 +1,47 @@ +package com.tenlionsoft.baselib.core.widget.views; + +import android.content.Context; +import android.content.res.TypedArray; +import android.text.TextPaint; +import android.util.AttributeSet; + +import androidx.annotation.Nullable; + +import com.tenlionsoft.baselib.R; + +/** + * 作者: adam + * 日期: 2020/6/3 - 4:58 PM + * 邮箱: itgaojian@163.com + * 描述: 字体加粗 + */ +public class TypeBoldTextView extends androidx.appcompat.widget.AppCompatTextView { + + public TypeBoldTextView(Context context) { + this(context, null); + } + + public TypeBoldTextView(Context context, @Nullable AttributeSet attrs) { + this(context, attrs, 0); + } + + public TypeBoldTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.TypeBoldTextView, defStyleAttr, 0); + int type = a.getInteger(R.styleable.TypeBoldTextView_txt_is_bold, 0); + if (type == 0) { + setTextBold(); + } + } + + private void setTextBold() { + try { + TextPaint paint = this.getPaint(); + if (paint != null) { + paint.setFakeBoldText(true); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/baselib/src/main/res/drawable-xhdpi/ic_statis_title_bg.png b/baselib/src/main/res/drawable-xhdpi/ic_statis_title_bg.png index 2a03997..de88423 100644 Binary files a/baselib/src/main/res/drawable-xhdpi/ic_statis_title_bg.png and b/baselib/src/main/res/drawable-xhdpi/ic_statis_title_bg.png differ diff --git a/baselib/src/main/res/drawable/shp_rectangle_blue_shallow.xml b/baselib/src/main/res/drawable/shp_rectangle_blue_shallow.xml new file mode 100755 index 0000000..06a40c4 --- /dev/null +++ b/baselib/src/main/res/drawable/shp_rectangle_blue_shallow.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/baselib/src/main/res/values/attrs.xml b/baselib/src/main/res/values/attrs.xml index 8519353..9933a0c 100755 --- a/baselib/src/main/res/values/attrs.xml +++ b/baselib/src/main/res/values/attrs.xml @@ -21,6 +21,7 @@ + @@ -33,6 +34,9 @@ + + + @@ -187,7 +191,7 @@ - - + + \ No newline at end of file diff --git a/baselib/src/main/res/values/colors.xml b/baselib/src/main/res/values/colors.xml index 4b15a5b..152ece6 100755 --- a/baselib/src/main/res/values/colors.xml +++ b/baselib/src/main/res/values/colors.xml @@ -44,6 +44,7 @@ #535353 #7C7C7C #00A6FE + #E7F1FF #3300A6FE #00BEF7 #808080 @@ -116,6 +117,7 @@ #F1F1F6 #F2F2F2 #FAFAFA + #EFEFEF #BABABA #D8D8D8 #FF0000 @@ -183,6 +185,7 @@ #525252 #525252 #8F8F8F + #8A8A8A #535353 #575757 #666666 @@ -205,4 +208,8 @@ #AA37B54A #AA6B6FD2 #216cd8 + + #03C591 + #2579FB + #FF9A05 \ No newline at end of file diff --git a/baselib/src/main/res/values/dimens.xml b/baselib/src/main/res/values/dimens.xml index 262f347..ab67a49 100755 --- a/baselib/src/main/res/values/dimens.xml +++ b/baselib/src/main/res/values/dimens.xml @@ -7,6 +7,7 @@ 21dp 22dp 14dp + 12dp 15dp 16dp 168dp diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/activitys/logs/StatisticsCommandActivity.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/activitys/logs/StatisticsCommandActivity.java index ca79644..8da716b 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/activitys/logs/StatisticsCommandActivity.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/activitys/logs/StatisticsCommandActivity.java @@ -1,45 +1,36 @@ package com.tengshisoft.commonmodule.activitys.logs; -import android.app.ProgressDialog; -import android.graphics.Color; import android.view.View; import android.widget.ImageView; -import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; +import androidx.viewpager2.widget.ViewPager2; import com.alibaba.android.arouter.facade.annotation.Route; -import com.bigkoo.pickerview.builder.TimePickerBuilder; -import com.bigkoo.pickerview.view.TimePickerView; -import com.github.mikephil.charting.charts.BarChart; -import com.github.mikephil.charting.components.XAxis; -import com.github.mikephil.charting.components.YAxis; -import com.github.mikephil.charting.data.BarData; -import com.github.mikephil.charting.data.BarDataSet; -import com.github.mikephil.charting.data.BarEntry; -import com.github.mikephil.charting.formatter.LargeValueFormatter; +import com.alibaba.android.arouter.launcher.ARouter; import com.gyf.immersionbar.ImmersionBar; -import com.hjq.toast.ToastUtils; import com.tengshisoft.commonmodule.R; import com.tengshisoft.commonmodule.R2; -import com.tengshisoft.commonmodule.beans.GridStatistCountBean; -import com.tengshisoft.commonmodule.nets.GridApis; import com.tenlionsoft.baselib.constant.PathConfig; -import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; -import com.tenlionsoft.baselib.core.retrofit_net.conver.RxTransformer; import com.tenlionsoft.baselib.core.widget.base.BaseActivity; -import com.tenlionsoft.baselib.utils.LogUtils; -import com.tenlionsoft.baselib.utils.TimeUtils; +import com.tenlionsoft.baselib.core.widget.base.BaseFragment; +import com.tenlionsoft.baselib.core.widget.base.ViewPageNavigatorAdapter; +import com.tenlionsoft.baselib.core.widget.base.ViewPageWhiteNavigatorAdapter; import com.tenlionsoft.baselib.utils.UIUtil; -import com.tenlionsoft.baselib.utils.UserLgUtils; + +import net.lucode.hackware.magicindicator.MagicIndicator; +import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; -import io.reactivex.rxjava3.annotations.NonNull; -import io.reactivex.rxjava3.core.Observer; -import io.reactivex.rxjava3.disposables.Disposable; /** * 作者: Adam @@ -49,20 +40,17 @@ import io.reactivex.rxjava3.disposables.Disposable; */ @Route(path = PathConfig.PATH_MODULE_COMMON_ACTIVITY_COMMAND_STATISTICS) public class StatisticsCommandActivity extends BaseActivity { - @BindView(R2.id.bc_task) - BarChart mBcTask; - @BindView(R2.id.tv_start_date) - TextView mTvStartDate; - @BindView(R2.id.tv_end_date) - TextView mTvEndDate; - @BindView(R2.id.bc_case) - BarChart mBcCase; + + @BindView(R2.id.mi_tabs) + public MagicIndicator mMiTabs; + @BindView(R2.id.vp_content) + public ViewPager2 mVpContent; @BindView(R2.id.iv_back) ImageView mIvBack; + private Unbinder mBind; - private String mStartDate; - private String mEndDate; - private ProgressDialog mProgressDialog; + private List mFragments; + private List mTitles = Arrays.asList("事件", "人口", "网格员"); @Override protected int setLayoutId() { @@ -77,241 +65,31 @@ public class StatisticsCommandActivity extends BaseActivity { .init(); mRlTitleBar.setVisibility(View.GONE); initViews(); - getStatistCount(1); - } private void initViews() { mIvBack.setOnClickListener(v -> finish()); - mStartDate = TimeUtils.getCurrentMonth() + "-01"; - mEndDate = TimeUtils.getCurrentMonth() + "-" + TimeUtils.getMonthEnd(); - mTvStartDate.setOnClickListener(v -> onShowDate(1)); - mTvEndDate.setOnClickListener(v -> onShowDate(2)); - mTvStartDate.setText(mStartDate); - mTvEndDate.setText(mEndDate); - buildCaseCount(new ArrayList<>()); refreshView(STATE_LOAD_SUCCESS); - } - - private void onShowDate(int i) { - hideSoftKeyboard(); - TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> { - switch (i) { - case 1: - String start = TimeUtils.dateToString(date); - int s = TimeUtils.compareDate(start, mEndDate); - if (s <= 0) { - mStartDate = TimeUtils.dateToString(date); - mTvStartDate.setText(mStartDate); - getStatistCount(2); - } else { - ToastUtils.show("结束日期小于开始日期"); - } - - break; - case 2: - String time = TimeUtils.dateToString(date); - int i1 = TimeUtils.compareDate(mStartDate, time); - if (i1 <= 0) { - mEndDate = TimeUtils.dateToString(date); - mTvEndDate.setText(mEndDate); - getStatistCount(2); - } else { - ToastUtils.show("结束日期小于开始日期"); - } - break; - } - }) - .setTitleText("请选日期") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .setType(new boolean[]{true, true, true, false, false, false}) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); - mTimePickerView.show(); - } - - - private void getStatistCountByDept() { - RetrofitManager.getInstance() - .create(GridApis.class) - .getTaskStatistCountByDept(UserLgUtils.getUserDeptId(), UserLgUtils.getToken()) - .compose(RxTransformer.getTransformer()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - - } - - @Override - public void onNext(@NonNull List gridStatistCountBeans) { - - } - - @Override - public void onError(@NonNull Throwable e) { - - } - - @Override - public void onComplete() { - - } - }); - } - - /** - * 统计任务数量 - */ - private void getStatistCount(int type) { - if (type == 2) { - mProgressDialog = UIUtil.initDialog(mActivity, "加载中..."); - mProgressDialog.show(); - } - RetrofitManager.getInstance() - .create(GridApis.class) - .getTaskStatistCount(mStartDate, mEndDate, UserLgUtils.getToken()) - .compose(RxTransformer.getTransformer()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { - - } - - @Override - public void onNext(@NonNull List gridStatistCountBeans) { - if (type == 2) { - mProgressDialog.dismiss(); - } - for (int i = 0; i < gridStatistCountBeans.size(); i++) { - gridStatistCountBeans.get(i).setCount((20 * (i + 1)) + ""); - - } - for (int i = 0; i < 20; i++) { - GridStatistCountBean b = new GridStatistCountBean(); - b.setCount(10 + ""); - b.setDataType("测试" + i); - gridStatistCountBeans.add(b); - } - buildTaskCount(gridStatistCountBeans); - } - - @Override - public void onError(@NonNull Throwable e) { - if (type == 2) { - mProgressDialog.dismiss(); - } - } - - @Override - public void onComplete() { - - } - }); - } - - /** - * 构建任务数 - */ - private void buildTaskCount(List list) { - List datas = new ArrayList<>(); - List xValues = new ArrayList<>(); - for (int i = 0; i < list.size(); i++) { - datas.add(new BarEntry(i, Float.parseFloat(list.get(i).getCount()))); - xValues.add(list.get(i).getDataType()); - } - BarDataSet barDataSet = new BarDataSet(datas, "任务"); - barDataSet.setBarBorderColor(Color.CYAN); - barDataSet.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return (int) value + ""; - } - }); - BarData barData = new BarData(barDataSet); - barData.setBarWidth(0.3f); - mBcTask.setData(barData); - YAxis axisLeft = mBcTask.getAxisLeft(); -// axisLeft.setAxisMaximum(1); Y轴最大值 - axisLeft.setAxisMinimum(0); - axisLeft.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return (int) value + ""; - } - }); - XAxis xAxis = mBcTask.getXAxis(); - xAxis.setDrawGridLines(false); - xAxis.setAxisLineWidth(1f); - xAxis.setAxisLineColor(Color.BLACK); - xAxis.setLabelRotationAngle(-60); - xAxis.setLabelCount(list.size(), false); - xAxis.setAxisMinimum(1.0f); - - xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); - xAxis.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return xValues.get((int) value); - } - }); - mBcTask.setNoDataText("暂无数据"); - mBcTask.getAxisRight().setEnabled(false); - mBcTask.getDescription().setEnabled(false); - mBcTask.notifyDataSetChanged(); - mBcTask.setScaleXEnabled(true); - mBcTask.setScaleYEnabled(false); - mBcTask.invalidate(); - } - - - /** - * 构建事件统计 - */ - private void buildCaseCount(List list) { - List datas = new ArrayList<>(); - List xValues = new ArrayList<>(); - for (int i = 0; i < list.size(); i++) { - datas.add(new BarEntry(i, Float.parseFloat(list.get(i).getCount()))); - xValues.add(list.get(i).getDataType()); - } - BarDataSet barDataSet = new BarDataSet(datas, "事件"); - barDataSet.setBarBorderColor(Color.CYAN); - barDataSet.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return (int) value + ""; - } - }); - BarData barData = new BarData(barDataSet); - barData.setBarWidth(0.3f); - mBcCase.setData(barData); - YAxis axisLeft = mBcCase.getAxisLeft(); - axisLeft.setAxisMaximum(30); - axisLeft.setAxisMinimum(0); - axisLeft.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return (int) value + ""; - } - }); - XAxis xAxis = mBcCase.getXAxis(); - xAxis.setDrawGridLines(false); - xAxis.setAxisLineWidth(1f); - xAxis.setAxisLineColor(Color.BLACK); - xAxis.setLabelRotationAngle(30); - xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); - xAxis.setValueFormatter(new LargeValueFormatter() { - @Override - public String getFormattedValue(float value) { - return xValues.get((int) value); - } - }); - mBcCase.setNoDataText("暂无数据"); - mBcCase.getAxisRight().setEnabled(false); - mBcCase.getDescription().setEnabled(false); - mBcCase.notifyDataSetChanged(); - mBcCase.invalidate(); + mFragments = new ArrayList<>(); + BaseFragment incidentFragment = (BaseFragment) ARouter.getInstance() + .build(PathConfig.PATH_MODULE_COMMON_FRAGMENT_INCIDENT_STATISTICS) + .navigation(); + BaseFragment populaceFragment = (BaseFragment) ARouter.getInstance() + .build(PathConfig.PATH_MODULE_COMMON_FRAGMENT_POPULACE_STATISTICS) + .navigation(); + BaseFragment gridFragment = (BaseFragment) ARouter.getInstance() + .build(PathConfig.PATH_MODULE_COMMON_FRAGMENT_GRID_STATISTICS) + .navigation(); + mFragments.add(incidentFragment); + mFragments.add(populaceFragment); + mFragments.add(gridFragment); + VpRecordAdapter adapter = new VpRecordAdapter(this); + mVpContent.setAdapter(adapter); + CommonNavigator commonNavigator = new CommonNavigator(this); + commonNavigator.setAdapter(new ViewPageWhiteNavigatorAdapter(this, mTitles, mVpContent)); + commonNavigator.setAdjustMode(false); + mMiTabs.setNavigator(commonNavigator); + UIUtil.bindViewPager2(mMiTabs, mVpContent, null); } @@ -324,4 +102,21 @@ public class StatisticsCommandActivity extends BaseActivity { protected void doSearchByTitle() { } + + private class VpRecordAdapter extends FragmentStateAdapter { + public VpRecordAdapter(@NonNull FragmentActivity fragmentActivity) { + super(fragmentActivity); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + return mFragments.get(position); + } + + @Override + public int getItemCount() { + return mFragments.size(); + } + } } \ No newline at end of file diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/LabelAdapter.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/LabelAdapter.java new file mode 100644 index 0000000..ea8e033 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/LabelAdapter.java @@ -0,0 +1,42 @@ +package com.tengshisoft.commonmodule.adapters; + +import android.content.Context; +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.tengshisoft.commonmodule.R; +import com.tengshisoft.commonmodule.beans.LabelBean; +import com.tengshisoft.commonmodule.holders.LabelHolder; +import com.tenlionsoft.baselib.core.widget.base.BaseRecyclerAdapter; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/9/26 - 3:01 下午 + * 邮箱: itgaojian@163.com + * 描述: 图表指示 + */ +public class LabelAdapter extends BaseRecyclerAdapter { + + public LabelAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public LabelHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_incident_label, parent, false); + return new LabelHolder(itemView); + } + + @Override + public void bindHolder(LabelHolder h, int i) { + LabelBean bean = mData.get(i); + h.mIvLabel.setBackgroundColor(Color.parseColor(bean.getColor())); + h.mTvHint.setText(bean.getHint()); + } + + +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/AreaIncidentScaleBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/AreaIncidentScaleBean.java new file mode 100644 index 0000000..f6d057e --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/AreaIncidentScaleBean.java @@ -0,0 +1,100 @@ +package com.tengshisoft.commonmodule.beans; + +import java.util.List; + +public class AreaIncidentScaleBean { + + private int noOverNum; + private int overNum; + private int reportNum; + private List reportTypeList; + + public int getNoOverNum() { + return noOverNum; + } + + public void setNoOverNum(int noOverNum) { + this.noOverNum = noOverNum; + } + + public int getOverNum() { + return overNum; + } + + public void setOverNum(int overNum) { + this.overNum = overNum; + } + + public int getReportNum() { + return reportNum; + } + + public void setReportNum(int reportNum) { + this.reportNum = reportNum; + } + + public List getReportTypeList() { + return reportTypeList; + } + + public void setReportTypeList(List reportTypeList) { + this.reportTypeList = reportTypeList; + } + + public static class ReportTypeListBean { + private int noOverNum; + private int overNum; + private int reportNum; + private String reportScale; + private String typeId; + private String typeName; + + public int getNoOverNum() { + return noOverNum; + } + + public void setNoOverNum(int noOverNum) { + this.noOverNum = noOverNum; + } + + public int getOverNum() { + return overNum; + } + + public void setOverNum(int overNum) { + this.overNum = overNum; + } + + public int getReportNum() { + return reportNum; + } + + public void setReportNum(int reportNum) { + this.reportNum = reportNum; + } + + public String getReportScale() { + return reportScale; + } + + public void setReportScale(String reportScale) { + this.reportScale = reportScale; + } + + public String getTypeId() { + return typeId; + } + + public void setTypeId(String typeId) { + this.typeId = typeId; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/LabelBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/LabelBean.java new file mode 100644 index 0000000..912c3e2 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/LabelBean.java @@ -0,0 +1,32 @@ +package com.tengshisoft.commonmodule.beans; + +public class LabelBean { + private String color; + private String hint; + private String hintId; + + + public String getHintId() { + return hintId; + } + + public void setHintId(String hintId) { + this.hintId = hintId; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getHint() { + return hint; + } + + public void setHint(String hint) { + this.hint = hint; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/GridLeaderStatisticsFragment.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/GridLeaderStatisticsFragment.java new file mode 100644 index 0000000..2db7a2c --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/GridLeaderStatisticsFragment.java @@ -0,0 +1,45 @@ +package com.tengshisoft.commonmodule.fragments; + +import android.view.View; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.tengshisoft.commonmodule.R; +import com.tenlionsoft.baselib.constant.PathConfig; +import com.tenlionsoft.baselib.core.widget.base.BaseFragment; + +import butterknife.ButterKnife; +import butterknife.Unbinder; + +/** + * 作者: adam + * 日期: 2021/11/30 - 4:15 下午 + * 邮箱: itgaojian@163.com + * 描述: 网格统计 + */ +@Route(path = PathConfig.PATH_MODULE_COMMON_FRAGMENT_GRID_STATISTICS) +public class GridLeaderStatisticsFragment extends BaseFragment { + + private Unbinder mBind; + + @Override + protected void setDataToView(View dataView) { + mBind = ButterKnife.bind(this, dataView); + setStateView(STATE_LOAD); + } + + + @Override + protected void refreshView() { + + } + + @Override + protected void loadMoreData() { + + } + + @Override + protected int getContentViewId() { + return R.layout.fragment_grid_leader_statistics; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/IncidentLeaderStatisticsFragment.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/IncidentLeaderStatisticsFragment.java new file mode 100644 index 0000000..87d42c1 --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/IncidentLeaderStatisticsFragment.java @@ -0,0 +1,323 @@ +package com.tengshisoft.commonmodule.fragments; + +import android.graphics.Color; +import android.view.View; +import android.widget.TextView; + +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.github.mikephil.charting.animation.Easing; +import com.github.mikephil.charting.charts.HorizontalBarChart; +import com.github.mikephil.charting.charts.PieChart; +import com.github.mikephil.charting.components.XAxis; +import com.github.mikephil.charting.components.YAxis; +import com.github.mikephil.charting.data.PieData; +import com.github.mikephil.charting.data.PieDataSet; +import com.github.mikephil.charting.data.PieEntry; +import com.github.mikephil.charting.formatter.DefaultValueFormatter; +import com.github.mikephil.charting.formatter.LargeValueFormatter; +import com.github.mikephil.charting.formatter.PercentFormatter; +import com.github.mikephil.charting.utils.MPPointF; +import com.hjq.toast.ToastUtils; +import com.tengshisoft.commonmodule.R; +import com.tengshisoft.commonmodule.R2; +import com.tengshisoft.commonmodule.adapters.LabelAdapter; +import com.tengshisoft.commonmodule.beans.AreaIncidentScaleBean; +import com.tengshisoft.commonmodule.beans.CaseTypeBean; +import com.tengshisoft.commonmodule.beans.LabelBean; +import com.tengshisoft.commonmodule.nets.CenterApis; +import com.tengshisoft.commonmodule.nets.GridApis; +import com.tenlionsoft.baselib.constant.PathConfig; +import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; +import com.tenlionsoft.baselib.core.widget.base.BaseFragment; +import com.tenlionsoft.baselib.utils.ExceptionHandler; +import com.tenlionsoft.baselib.utils.UserLgUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; + +/** + * 作者: adam + * 日期: 2021/11/30 - 4:15 下午 + * 邮箱: itgaojian@163.com + * 描述: 事件统计 + */ +@Route(path = PathConfig.PATH_MODULE_COMMON_FRAGMENT_INCIDENT_STATISTICS) +public class IncidentLeaderStatisticsFragment extends BaseFragment { + @BindView(R2.id.rlv_label) + RecyclerView mRlvLabel; + @BindView(R2.id.pie_chart) + PieChart mPieChart; + @BindView(R2.id.tv_undo_incident) + TextView mTvUndoIncident; + @BindView(R2.id.tv_do_incident) + TextView mTvDoIncident; + @BindView(R2.id.hbc_category_chart) + HorizontalBarChart mHbcChart; + private Unbinder mBind; + private LabelAdapter mLabelAdapter; + private List mLabelBeanList; + private List labelColors = Arrays.asList(Color.parseColor("#FF6191F7"), + Color.parseColor("#FF60D8A8"), + Color.parseColor("#FFFFA800"), + Color.parseColor("#FF154CFF"), + Color.parseColor("#FFFFDA2D"), + Color.parseColor("#FF60D8A8")); + private List labelHint = null; + + @Override + protected void setDataToView(View dataView) { + mBind = ButterKnife.bind(this, dataView); + setStateView(STATE_SUCCESS); + initViews(); + getTypeList(); + getData(); + } + + /** + * 获取事件类型 + */ + private void getTypeList() { + RetrofitManager.getInstance() + .create(GridApis.class) + .getCaseTypeListAll(UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull List componentTypeBeans) { + if (componentTypeBeans != null && componentTypeBeans.size() > 0) { + for (int i = 0; i < componentTypeBeans.size(); i++) { + int col = Color.parseColor("#FF154CFF"); + if (labelColors.size() < componentTypeBeans.size()) { + col = labelColors.get(i); + } else { + col = getRandomColor(); + } + } + } else { + ToastUtils.show("暂无数据"); + setStateView(STATE_EMPTY); + mSrlView.setEnableLoadMore(false); + } + } + + @Override + public void onError(@NonNull Throwable e) { + ExceptionHandler.handleException(e); + setStateView(STATE_ERROR); + mSrlView.setEnableLoadMore(false); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 获取数据 + */ + private void getData() { +// Observable areaTypeScale = + RetrofitManager.getInstance() + .create(CenterApis.class) + .getAreaTypeScale(UserLgUtils.getUserAreaCode(), UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull AreaIncidentScaleBean b) { + setInfoToView(b); + } + + @Override + public void onError(@NonNull Throwable e) { + + } + + @Override + public void onComplete() { + + } + }) + ;//事件分类占比 + + } + + /** + * 显示事件分类占比 + */ + private void setInfoToView(AreaIncidentScaleBean b) { + ArrayList entries = new ArrayList<>(); + if (b.getReportTypeList() == null || b.getReportTypeList().size() == 0) return; + for (int i = 0; i < b.getReportTypeList().size(); i++) { + float num = Float.parseFloat(b.getReportTypeList().get(i).getReportScale()); + entries.add(new PieEntry(num, "", "")); + } + PieDataSet dataSet = new PieDataSet(entries, ""); + dataSet.setDrawIcons(false); + dataSet.setSliceSpace(0f); + dataSet.setIconsOffset(new MPPointF(0, 40)); + dataSet.setSelectionShift(5f); + ArrayList colors = new ArrayList<>(); + colors.add(Color.rgb(3, 197, 145)); + colors.add(Color.rgb(37, 121, 251)); + colors.add(Color.rgb(255, 154, 5)); + dataSet.setColors(colors); + + PieData data = new PieData(dataSet); + data.setValueFormatter(new PercentFormatter()); + data.setDrawValues(false); + data.setValueTextSize(11f); + data.setValueTextColor(Color.WHITE); + float total = 0; +//TODO mPieChart.setCenterText(generateCenterSpannableText(total)); + mPieChart.setData(data); + mPieChart.highlightValues(null); + mPieChart.invalidate(); + } + + /** + * 初始化视图 + */ + private void initViews() { +// mLabelBeanList = new ArrayList<>(); +// for (int i = 0; i < labelColors.size(); i++) { +// LabelBean b = new LabelBean(); +// b.setColor(labelColors.get(i)); +// b.setHint(labelHint.get(i)); +// mLabelBeanList.add(b); +// } +// mLabelAdapter = new LabelAdapter(mActivity, mLabelBeanList); +// mRlvLabel.setLayoutManager(new GridLayoutManager(mActivity, 3)); +// mRlvLabel.setAdapter(mLabelAdapter); +// initPieChart(); + } + + /** + * 初始化 事件分类占比 + */ + private void initPieChart() { + mPieChart.setUsePercentValues(true); + mPieChart.getDescription().setEnabled(false); + mPieChart.setExtraOffsets(5, 10, 5, 5); + mPieChart.setDragDecelerationFrictionCoef(0.95f); + + + mPieChart.setDrawHoleEnabled(true); + mPieChart.setHoleColor(Color.WHITE); + + mPieChart.setTransparentCircleColor(Color.WHITE); + mPieChart.setTransparentCircleAlpha(110); + + mPieChart.setHoleRadius(90f);//饼状图中间圆的半径大小 + mPieChart.setTransparentCircleRadius(120f);//圆环的半径 + + mPieChart.setDrawCenterText(true); + + mPieChart.setRotationAngle(0); + mPieChart.setRotationEnabled(true); + mPieChart.setHighlightPerTapEnabled(true); + mPieChart.animateY(1400, Easing.EaseInOutQuad); + mPieChart.setEntryLabelColor(Color.WHITE); + mPieChart.setEntryLabelTextSize(12f); + mPieChart.setDrawEntryLabels(false); + mPieChart.getLegend().setEnabled(false); + mPieChart.setNoDataText("当前区域无事件数据"); + } + + /** + * 初始化 + */ + private void initHoChart() { + mHbcChart.getDescription().setEnabled(false); + mHbcChart.getLegend().setEnabled(false); + mHbcChart.setExtraOffsets(0, 10, 10, 10); + mHbcChart.setNoDataText("当前区域无数据"); + mHbcChart.setScaleXEnabled(true); + mHbcChart.setScaleYEnabled(false); + mHbcChart.setDrawGridBackground(false);//不绘制网格 + setAxis(); + } + + private void setAxis() { + XAxis xAxis = mHbcChart.getXAxis(); + xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); + xAxis.setDrawGridLines(false); + xAxis.setTextSize(12f); + xAxis.setLabelCount(6); + xAxis.setGranularity(1f);//防止放大图后,标签错乱 + final String label[] = {"市容环境", "宣传广告", "施工管理", "街面秩序", "突发事件", "其他事件"}; + xAxis.setValueFormatter(new LargeValueFormatter() { + @Override + public String getFormattedValue(float value) { + try { + return label[(int) value]; + } catch (Exception e) { + return ""; + } + } + }); + YAxis axisRight = mHbcChart.getAxisRight(); + axisRight.setAxisMinimum(0f); + axisRight.setDrawGridLines(true);//绘制网格 + axisRight.enableGridDashedLine(5f, 20f, 0f); + axisRight.setAxisMaximum(100f); + axisRight.setTextSize(12f); + axisRight.setValueFormatter(new DefaultValueFormatter(0));//显示整数 + //不显示顶部的轴 + YAxis axisLeft = mHbcChart.getAxisLeft(); + axisLeft.setAxisMinimum(0f); + axisLeft.setAxisMaximum(100f); + axisLeft.setEnabled(false); + } + + /** + * 获取随机颜色值 + */ + private int getRandomColor() { + Random rnd = new Random(); + int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)); + return color; + } + + @Override + protected void refreshView() { + + } + + @Override + protected void loadMoreData() { + + } + + @Override + protected int getContentViewId() { + return R.layout.fragment_incident_leader_statistics; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/PopulaceLeaderStatisticsFragment.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/PopulaceLeaderStatisticsFragment.java new file mode 100644 index 0000000..3fbc3db --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/fragments/PopulaceLeaderStatisticsFragment.java @@ -0,0 +1,45 @@ +package com.tengshisoft.commonmodule.fragments; + +import android.view.View; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.tengshisoft.commonmodule.R; +import com.tenlionsoft.baselib.constant.PathConfig; +import com.tenlionsoft.baselib.core.widget.base.BaseFragment; + +import butterknife.ButterKnife; +import butterknife.Unbinder; + +/** + * 作者: adam + * 日期: 2021/11/30 - 4:15 下午 + * 邮箱: itgaojian@163.com + * 描述: 人口统计 + */ +@Route(path = PathConfig.PATH_MODULE_COMMON_FRAGMENT_POPULACE_STATISTICS) +public class PopulaceLeaderStatisticsFragment extends BaseFragment { + + private Unbinder mBind; + + @Override + protected void setDataToView(View dataView) { + mBind = ButterKnife.bind(this, dataView); + setStateView(STATE_LOAD); + } + + + @Override + protected void refreshView() { + + } + + @Override + protected void loadMoreData() { + + } + + @Override + protected int getContentViewId() { + return R.layout.fragment_populace_leader_statistics; + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/LabelHolder.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/LabelHolder.java new file mode 100644 index 0000000..027970d --- /dev/null +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/holders/LabelHolder.java @@ -0,0 +1,21 @@ +package com.tengshisoft.commonmodule.holders; + +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.tengshisoft.commonmodule.R; + +public class LabelHolder extends RecyclerView.ViewHolder { + public ImageView mIvLabel; + public TextView mTvHint; + + public LabelHolder(@NonNull View itemView) { + super(itemView); + mIvLabel = itemView.findViewById(R.id.iv_label); + mTvHint = itemView.findViewById(R.id.tv_hint); + } +} diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/CenterApis.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/CenterApis.java index 12955b0..f69ec91 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/CenterApis.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/CenterApis.java @@ -2,6 +2,7 @@ package com.tengshisoft.commonmodule.nets; import com.tengshisoft.commonmodule.adapters.CommunityUserListBean; import com.tengshisoft.commonmodule.beans.AreaGridListBean; +import com.tengshisoft.commonmodule.beans.AreaIncidentScaleBean; import com.tengshisoft.commonmodule.beans.DeferDetailBean; import com.tengshisoft.commonmodule.beans.DepartmentListBean; import com.tengshisoft.commonmodule.beans.DisposeDetailBean; @@ -423,4 +424,14 @@ public interface CenterApis { Observable getGridListByAreaCode(@Path("areaCode") String areaCode, @Query("page") String page, @Header("token") String token); + +//========================统计========================== + + /** + * 事件分类占比 + */ + @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/report/count/count-area-type-scale/{areaCode}") + Observable getAreaTypeScale(@Path("areaCode") String areaCode, + @Header("token") String token); } diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_hot_detail_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_detail_icon.png new file mode 100644 index 0000000..b9184bd Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_detail_icon.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_hot_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_icon.png new file mode 100644 index 0000000..8b73aab Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_icon.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_detail_bg.png b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_detail_bg.png new file mode 100644 index 0000000..110d7f6 Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_detail_bg.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_icon.png new file mode 100644 index 0000000..2d2d503 Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_hot_incident_icon.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_no_dis_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_no_dis_icon.png new file mode 100644 index 0000000..df3c35b Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_no_dis_icon.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_statistics_title_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_statistics_title_icon.png new file mode 100644 index 0000000..66212f8 Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_statistics_title_icon.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_yellow_bg.png b/commonmodule/src/main/res/drawable-xhdpi/ic_yellow_bg.png new file mode 100644 index 0000000..7cc3743 Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_yellow_bg.png differ diff --git a/commonmodule/src/main/res/drawable-xhdpi/ic_yet_dis_icon.png b/commonmodule/src/main/res/drawable-xhdpi/ic_yet_dis_icon.png new file mode 100644 index 0000000..47db415 Binary files /dev/null and b/commonmodule/src/main/res/drawable-xhdpi/ic_yet_dis_icon.png differ diff --git a/commonmodule/src/main/res/drawable/shp_label_blue.xml b/commonmodule/src/main/res/drawable/shp_label_blue.xml new file mode 100644 index 0000000..091a01d --- /dev/null +++ b/commonmodule/src/main/res/drawable/shp_label_blue.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/drawable/shp_label_green.xml b/commonmodule/src/main/res/drawable/shp_label_green.xml new file mode 100644 index 0000000..3b91eaa --- /dev/null +++ b/commonmodule/src/main/res/drawable/shp_label_green.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/drawable/shp_label_yellow.xml b/commonmodule/src/main/res/drawable/shp_label_yellow.xml new file mode 100644 index 0000000..a752dc8 --- /dev/null +++ b/commonmodule/src/main/res/drawable/shp_label_yellow.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/layout/activity_statistics_command.xml b/commonmodule/src/main/res/layout/activity_statistics_command.xml index 5f215de..d734448 100644 --- a/commonmodule/src/main/res/layout/activity_statistics_command.xml +++ b/commonmodule/src/main/res/layout/activity_statistics_command.xml @@ -2,7 +2,7 @@ - + android:layout_height="50dp" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_below="@id/rl_title" + android:layout_marginLeft="15dp" + android:layout_marginTop="10dp" + android:layout_marginRight="15dp" + android:layout_marginBottom="5dp" /> \ No newline at end of file diff --git a/commonmodule/src/main/res/layout/fragment_grid_leader_statistics.xml b/commonmodule/src/main/res/layout/fragment_grid_leader_statistics.xml new file mode 100644 index 0000000..e100926 --- /dev/null +++ b/commonmodule/src/main/res/layout/fragment_grid_leader_statistics.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/layout/fragment_incident_leader_statistics.xml b/commonmodule/src/main/res/layout/fragment_incident_leader_statistics.xml new file mode 100644 index 0000000..eff7d25 --- /dev/null +++ b/commonmodule/src/main/res/layout/fragment_incident_leader_statistics.xml @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/layout/fragment_populace_leader_statistics.xml b/commonmodule/src/main/res/layout/fragment_populace_leader_statistics.xml new file mode 100644 index 0000000..e100926 --- /dev/null +++ b/commonmodule/src/main/res/layout/fragment_populace_leader_statistics.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/commonmodule/src/main/res/layout/item_incident_label.xml b/commonmodule/src/main/res/layout/item_incident_label.xml new file mode 100644 index 0000000..6f48e65 --- /dev/null +++ b/commonmodule/src/main/res/layout/item_incident_label.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java index b1b9477..51cb90c 100644 --- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java +++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java @@ -334,30 +334,6 @@ public class MainTabActivity extends BaseActivity implements LoginView, LocalBro @Override public void onNext(@NonNull UserExpandInfoBean userExpandInfoBean) { - UserLgUtils.setUserAreaCode(""); - UserLgUtils.setUserAreaLevel(-1); - UserLgUtils.setUserFullAreaName(""); - if (!TextUtils.isEmpty(userExpandInfoBean.getAreaCode())) { - String cityCode = userExpandInfoBean.getAreaCode().substring(0, 4); - String areaCode = userExpandInfoBean.getAreaCode().substring(0, 6); - String streetCode = userExpandInfoBean.getAreaCode().substring(0, 9); - String villageCode = userExpandInfoBean.getAreaCode(); - UserLgUtils.setUserAreaCode(userExpandInfoBean.getAreaCode()); - UserLgUtils.setUserAreaLevel(userExpandInfoBean.getUserLevel()); - if (!TextUtils.isEmpty(userExpandInfoBean.getAreaName())) { - String areaName = userExpandInfoBean.getAreaName(); - areaName = areaName.substring(areaName.lastIndexOf("/") + 1); - UserLgUtils.setUserAreaName(areaName); - UserLgUtils.setUserFullAreaName(userExpandInfoBean.getAreaName()); - } - GlobalProvider.save(mActivity, "cityCode", cityCode); - GlobalProvider.save(mActivity, "areaCode", areaCode); - GlobalProvider.save(mActivity, "streetCode", streetCode); - GlobalProvider.save(mActivity, "villageCode", villageCode); - GlobalProvider.save(mActivity, "fullAreaCode", userExpandInfoBean.getAreaCode()); - - } - LogUtils.e("融合通信号码==" + userExpandInfoBean.getSmcNumber() + "==" + userExpandInfoBean.getSmcPassword()); if (!TextUtils.isEmpty(userExpandInfoBean.getSmcNumber())) { UserLgUtils.setHwAccount(userExpandInfoBean.getSmcNumber()); UserLgUtils.setHwPwd(userExpandInfoBean.getSmcPassword()); @@ -366,15 +342,6 @@ public class MainTabActivity extends BaseActivity implements LoginView, LocalBro doLoginHWClound(); } } - String ids = ""; - List departments = userExpandInfoBean.getDepartments(); - for (int i = 0; i < departments.size(); i++) { - ids += departments.get(i).getDepartmentId() + ","; - } - if (ids.endsWith(",")) { - ids = ids.substring(0, ids.length() - 1); - } - UserLgUtils.setUserDeptId(ids); } @Override diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/fragments/LeaderMainFragment.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/fragments/LeaderMainFragment.java index 7f78e79..be3da9a 100755 --- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/fragments/LeaderMainFragment.java +++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/fragments/LeaderMainFragment.java @@ -1,10 +1,7 @@ package com.tengshisoft.mainmodule.fragments; import android.content.Context; -import android.content.Intent; import android.graphics.Color; -import android.net.Uri; -import android.provider.Settings; import android.view.View; import android.widget.LinearLayout; import android.widget.RelativeLayout; @@ -104,7 +101,8 @@ public class LeaderMainFragment extends BaseFragment { "事件处理", "通讯录", "事件追踪", - "辖区人口" + "辖区人口", + "数据统计" }; private int[] mBtnIds = new int[]{ R.drawable.ic_incident_accept_icon, @@ -115,7 +113,8 @@ public class LeaderMainFragment extends BaseFragment { R.drawable.ic_case_dispose, R.drawable.ic_list_contact, R.drawable.ic_journal_list, - R.drawable.ic_populace_list_icon}; + R.drawable.ic_populace_list_icon, + R.drawable.ic_journal_list}; private FunctionTitleNumAdapter mNumAdapter; private Disposable mDisposable; private List mDatas; @@ -528,11 +527,10 @@ public class LeaderMainFragment extends BaseFragment { .build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_AREA_POPULACE_LIST) .navigation(); break; - case "统计分析": - -// ARouter.getInstance() -// .build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_COMMAND_STATISTICS) -// .navigation(); + case "数据统计": + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_COMMAND_STATISTICS) + .navigation(); break; default: break;