diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
deleted file mode 100644
index 35431c2..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentChartBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.Constant;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.github.mikephil.charting.components.Legend;
-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.PercentFormatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:43
- * @email : 290677893@qq.com
- */
-public class PieChartFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List entries = new ArrayList<>();
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
-
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseSource()));
- }
- }
- initPieChart();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseType()));
- }
- }
- initPieChart();
- }
- }
-
- private void initPieChart() {
- viewBinding.pieChartView.setDragDecelerationFrictionCoef(0.95f);
- viewBinding.pieChartView.setUsePercentValues(true); //百分比数字显示
- viewBinding.pieChartView.setDrawEntryLabels(false); //不显示分类标签
- viewBinding.pieChartView.setDrawCenterText(false);
- viewBinding.pieChartView.getDescription().setEnabled(false);
- viewBinding.pieChartView.setRotationAngle(0f);
- // enable rotation of the chart by touch
- viewBinding.pieChartView.setRotationEnabled(true);
- viewBinding.pieChartView.setHighlightPerTapEnabled(true);
- viewBinding.pieChartView.setDrawHoleEnabled(false);
- setChartData();
- viewBinding.pieChartView.animateY(1000);
- Legend legend = viewBinding.pieChartView.getLegend();
- legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
- legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
- legend.setOrientation(Legend.LegendOrientation.VERTICAL);
- legend.setDrawInside(false);
- legend.setXEntrySpace(7f);
- legend.setYEntrySpace(1f);
- legend.setYOffset(0f);
- // entry label styling
- viewBinding.pieChartView.setEntryLabelColor(Color.BLUE);
- viewBinding.pieChartView.setEntryLabelTextSize(12f);
- viewBinding.pieChartView.setExtraOffsets(30f, 30f, 30f, 30f);
- }
-
- private void setChartData() {
- PieDataSet dataSet = new PieDataSet(entries, "");
- dataSet.setSliceSpace(0f);
- dataSet.setSelectionShift(5f);
- dataSet.setColors(Constant.PIE_COLORS);
- //当数据太多时,将标签显示在饼图外
- if (entries.size() > 8) {
- dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- }
- dataSet.setValueLineColor(Color.GREEN);
- dataSet.setValueLinePart1Length(0.6f);
- PieData data = new PieData(dataSet);
- data.setValueFormatter(new PercentFormatter(viewBinding.pieChartView)); //坑:在构造PercentFormatter的时候,需要传pieChart 对象进来才能正常显示出百分号。
- data.setValueTextSize(12f);
- data.setValueTextColor(Color.BLUE); //数据值颜色
- viewBinding.pieChartView.setData(data);
- viewBinding.pieChartView.highlightValues(null);
- viewBinding.pieChartView.invalidate();
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static PieChartFragment newInstance(String tag) {
- PieChartFragment chartFragment = new PieChartFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- chartFragment.setArguments(bundle);
- return chartFragment;
- }
-}
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
deleted file mode 100644
index 35431c2..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentChartBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.Constant;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.github.mikephil.charting.components.Legend;
-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.PercentFormatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:43
- * @email : 290677893@qq.com
- */
-public class PieChartFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List entries = new ArrayList<>();
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
-
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseSource()));
- }
- }
- initPieChart();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseType()));
- }
- }
- initPieChart();
- }
- }
-
- private void initPieChart() {
- viewBinding.pieChartView.setDragDecelerationFrictionCoef(0.95f);
- viewBinding.pieChartView.setUsePercentValues(true); //百分比数字显示
- viewBinding.pieChartView.setDrawEntryLabels(false); //不显示分类标签
- viewBinding.pieChartView.setDrawCenterText(false);
- viewBinding.pieChartView.getDescription().setEnabled(false);
- viewBinding.pieChartView.setRotationAngle(0f);
- // enable rotation of the chart by touch
- viewBinding.pieChartView.setRotationEnabled(true);
- viewBinding.pieChartView.setHighlightPerTapEnabled(true);
- viewBinding.pieChartView.setDrawHoleEnabled(false);
- setChartData();
- viewBinding.pieChartView.animateY(1000);
- Legend legend = viewBinding.pieChartView.getLegend();
- legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
- legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
- legend.setOrientation(Legend.LegendOrientation.VERTICAL);
- legend.setDrawInside(false);
- legend.setXEntrySpace(7f);
- legend.setYEntrySpace(1f);
- legend.setYOffset(0f);
- // entry label styling
- viewBinding.pieChartView.setEntryLabelColor(Color.BLUE);
- viewBinding.pieChartView.setEntryLabelTextSize(12f);
- viewBinding.pieChartView.setExtraOffsets(30f, 30f, 30f, 30f);
- }
-
- private void setChartData() {
- PieDataSet dataSet = new PieDataSet(entries, "");
- dataSet.setSliceSpace(0f);
- dataSet.setSelectionShift(5f);
- dataSet.setColors(Constant.PIE_COLORS);
- //当数据太多时,将标签显示在饼图外
- if (entries.size() > 8) {
- dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- }
- dataSet.setValueLineColor(Color.GREEN);
- dataSet.setValueLinePart1Length(0.6f);
- PieData data = new PieData(dataSet);
- data.setValueFormatter(new PercentFormatter(viewBinding.pieChartView)); //坑:在构造PercentFormatter的时候,需要传pieChart 对象进来才能正常显示出百分号。
- data.setValueTextSize(12f);
- data.setValueTextColor(Color.BLUE); //数据值颜色
- viewBinding.pieChartView.setData(data);
- viewBinding.pieChartView.highlightValues(null);
- viewBinding.pieChartView.invalidate();
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static PieChartFragment newInstance(String tag) {
- PieChartFragment chartFragment = new PieChartFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- chartFragment.setArguments(bundle);
- return chartFragment;
- }
-}
\ No newline at end of file
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 9f42cde..0ad32f3 100644
--- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -1,6 +1,7 @@
package com.casic.dcms.utils;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@@ -14,6 +15,20 @@
private static SimpleDateFormat dateFormat;
/**
+ * 获取年月区间,[2022-02-01,2022-02-28]
+ */
+ public static String[] timestampToMonth(long millSeconds) {
+ dateFormat = new SimpleDateFormat("yyyy-MM", Locale.CHINA);
+ String ym = dateFormat.format(new Date(millSeconds));
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ String[] date = new String[2];
+ date[0] = ym + "-01";
+ date[1] = ym + "-" + maxDay;
+ return date;
+ }
+
+ /**
* 时间戳转年月日时分秒
*/
public static String timestampToCompleteDate(long millSeconds) {
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
deleted file mode 100644
index 35431c2..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentChartBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.Constant;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.github.mikephil.charting.components.Legend;
-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.PercentFormatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:43
- * @email : 290677893@qq.com
- */
-public class PieChartFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List entries = new ArrayList<>();
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
-
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseSource()));
- }
- }
- initPieChart();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseType()));
- }
- }
- initPieChart();
- }
- }
-
- private void initPieChart() {
- viewBinding.pieChartView.setDragDecelerationFrictionCoef(0.95f);
- viewBinding.pieChartView.setUsePercentValues(true); //百分比数字显示
- viewBinding.pieChartView.setDrawEntryLabels(false); //不显示分类标签
- viewBinding.pieChartView.setDrawCenterText(false);
- viewBinding.pieChartView.getDescription().setEnabled(false);
- viewBinding.pieChartView.setRotationAngle(0f);
- // enable rotation of the chart by touch
- viewBinding.pieChartView.setRotationEnabled(true);
- viewBinding.pieChartView.setHighlightPerTapEnabled(true);
- viewBinding.pieChartView.setDrawHoleEnabled(false);
- setChartData();
- viewBinding.pieChartView.animateY(1000);
- Legend legend = viewBinding.pieChartView.getLegend();
- legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
- legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
- legend.setOrientation(Legend.LegendOrientation.VERTICAL);
- legend.setDrawInside(false);
- legend.setXEntrySpace(7f);
- legend.setYEntrySpace(1f);
- legend.setYOffset(0f);
- // entry label styling
- viewBinding.pieChartView.setEntryLabelColor(Color.BLUE);
- viewBinding.pieChartView.setEntryLabelTextSize(12f);
- viewBinding.pieChartView.setExtraOffsets(30f, 30f, 30f, 30f);
- }
-
- private void setChartData() {
- PieDataSet dataSet = new PieDataSet(entries, "");
- dataSet.setSliceSpace(0f);
- dataSet.setSelectionShift(5f);
- dataSet.setColors(Constant.PIE_COLORS);
- //当数据太多时,将标签显示在饼图外
- if (entries.size() > 8) {
- dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- }
- dataSet.setValueLineColor(Color.GREEN);
- dataSet.setValueLinePart1Length(0.6f);
- PieData data = new PieData(dataSet);
- data.setValueFormatter(new PercentFormatter(viewBinding.pieChartView)); //坑:在构造PercentFormatter的时候,需要传pieChart 对象进来才能正常显示出百分号。
- data.setValueTextSize(12f);
- data.setValueTextColor(Color.BLUE); //数据值颜色
- viewBinding.pieChartView.setData(data);
- viewBinding.pieChartView.highlightValues(null);
- viewBinding.pieChartView.invalidate();
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static PieChartFragment newInstance(String tag) {
- PieChartFragment chartFragment = new PieChartFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- chartFragment.setArguments(bundle);
- return chartFragment;
- }
-}
\ No newline at end of file
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 9f42cde..0ad32f3 100644
--- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -1,6 +1,7 @@
package com.casic.dcms.utils;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@@ -14,6 +15,20 @@
private static SimpleDateFormat dateFormat;
/**
+ * 获取年月区间,[2022-02-01,2022-02-28]
+ */
+ public static String[] timestampToMonth(long millSeconds) {
+ dateFormat = new SimpleDateFormat("yyyy-MM", Locale.CHINA);
+ String ym = dateFormat.format(new Date(millSeconds));
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ String[] date = new String[2];
+ date[0] = ym + "-01";
+ date[1] = ym + "-" + maxDay;
+ return date;
+ }
+
+ /**
* 时间戳转年月日时分秒
*/
public static String timestampToCompleteDate(long millSeconds) {
diff --git a/app/src/main/res/layout/activity_event_resource.xml b/app/src/main/res/layout/activity_event_resource.xml
index 763a64e..0ced5fb 100644
--- a/app/src/main/res/layout/activity_event_resource.xml
+++ b/app/src/main/res/layout/activity_event_resource.xml
@@ -7,29 +7,58 @@
+ layout="@layout/include_option_plus_title" />
-
+ android:layout_height="wrap_content"
+ android:scrollbars="vertical">
-
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="@dimen/padding_10dp">
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
deleted file mode 100644
index 35431c2..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentChartBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.Constant;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.github.mikephil.charting.components.Legend;
-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.PercentFormatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:43
- * @email : 290677893@qq.com
- */
-public class PieChartFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List entries = new ArrayList<>();
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
-
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseSource()));
- }
- }
- initPieChart();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseType()));
- }
- }
- initPieChart();
- }
- }
-
- private void initPieChart() {
- viewBinding.pieChartView.setDragDecelerationFrictionCoef(0.95f);
- viewBinding.pieChartView.setUsePercentValues(true); //百分比数字显示
- viewBinding.pieChartView.setDrawEntryLabels(false); //不显示分类标签
- viewBinding.pieChartView.setDrawCenterText(false);
- viewBinding.pieChartView.getDescription().setEnabled(false);
- viewBinding.pieChartView.setRotationAngle(0f);
- // enable rotation of the chart by touch
- viewBinding.pieChartView.setRotationEnabled(true);
- viewBinding.pieChartView.setHighlightPerTapEnabled(true);
- viewBinding.pieChartView.setDrawHoleEnabled(false);
- setChartData();
- viewBinding.pieChartView.animateY(1000);
- Legend legend = viewBinding.pieChartView.getLegend();
- legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
- legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
- legend.setOrientation(Legend.LegendOrientation.VERTICAL);
- legend.setDrawInside(false);
- legend.setXEntrySpace(7f);
- legend.setYEntrySpace(1f);
- legend.setYOffset(0f);
- // entry label styling
- viewBinding.pieChartView.setEntryLabelColor(Color.BLUE);
- viewBinding.pieChartView.setEntryLabelTextSize(12f);
- viewBinding.pieChartView.setExtraOffsets(30f, 30f, 30f, 30f);
- }
-
- private void setChartData() {
- PieDataSet dataSet = new PieDataSet(entries, "");
- dataSet.setSliceSpace(0f);
- dataSet.setSelectionShift(5f);
- dataSet.setColors(Constant.PIE_COLORS);
- //当数据太多时,将标签显示在饼图外
- if (entries.size() > 8) {
- dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- }
- dataSet.setValueLineColor(Color.GREEN);
- dataSet.setValueLinePart1Length(0.6f);
- PieData data = new PieData(dataSet);
- data.setValueFormatter(new PercentFormatter(viewBinding.pieChartView)); //坑:在构造PercentFormatter的时候,需要传pieChart 对象进来才能正常显示出百分号。
- data.setValueTextSize(12f);
- data.setValueTextColor(Color.BLUE); //数据值颜色
- viewBinding.pieChartView.setData(data);
- viewBinding.pieChartView.highlightValues(null);
- viewBinding.pieChartView.invalidate();
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static PieChartFragment newInstance(String tag) {
- PieChartFragment chartFragment = new PieChartFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- chartFragment.setArguments(bundle);
- return chartFragment;
- }
-}
\ No newline at end of file
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 9f42cde..0ad32f3 100644
--- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -1,6 +1,7 @@
package com.casic.dcms.utils;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@@ -14,6 +15,20 @@
private static SimpleDateFormat dateFormat;
/**
+ * 获取年月区间,[2022-02-01,2022-02-28]
+ */
+ public static String[] timestampToMonth(long millSeconds) {
+ dateFormat = new SimpleDateFormat("yyyy-MM", Locale.CHINA);
+ String ym = dateFormat.format(new Date(millSeconds));
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ String[] date = new String[2];
+ date[0] = ym + "-01";
+ date[1] = ym + "-" + maxDay;
+ return date;
+ }
+
+ /**
* 时间戳转年月日时分秒
*/
public static String timestampToCompleteDate(long millSeconds) {
diff --git a/app/src/main/res/layout/activity_event_resource.xml b/app/src/main/res/layout/activity_event_resource.xml
index 763a64e..0ced5fb 100644
--- a/app/src/main/res/layout/activity_event_resource.xml
+++ b/app/src/main/res/layout/activity_event_resource.xml
@@ -7,29 +7,58 @@
+ layout="@layout/include_option_plus_title" />
-
+ android:layout_height="wrap_content"
+ android:scrollbars="vertical">
-
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="@dimen/padding_10dp">
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_chart.xml b/app/src/main/res/layout/fragment_chart.xml
deleted file mode 100644
index 567c484..0000000
--- a/app/src/main/res/layout/fragment_chart.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index d6d2751..bcab432 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -30,7 +30,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8d13973..0d2acaa 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -65,7 +65,7 @@
-
+
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 b2d8f93..706eb29 100644
--- a/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/EventSourceActivity.java
@@ -1,17 +1,26 @@
package com.casic.dcms.ui;
-import android.widget.LinearLayout;
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
import androidx.core.content.ContextCompat;
-import androidx.fragment.app.Fragment;
+import com.bin.david.form.core.TableConfig;
+import com.bin.david.form.data.style.FontStyle;
import com.casic.dcms.R;
-import com.casic.dcms.adapter.SubViewPagerAdapter;
import com.casic.dcms.base.AndroidxBaseActivity;
+import com.casic.dcms.bean.EventSourceBean;
+import com.casic.dcms.bean.ExcelDataBean;
import com.casic.dcms.databinding.ActivityEventResourceBinding;
-import com.casic.dcms.ui.fragment.ExcelFragment;
-import com.casic.dcms.ui.fragment.PieChartFragment;
+import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
+import com.casic.dcms.mvp.view.IEventSourceView;
import com.casic.dcms.utils.Constant;
+import com.casic.dcms.utils.TimeOrDateUtil;
+import com.jzxiang.pickerview.TimePickerDialog;
+import com.jzxiang.pickerview.data.Type;
+import com.jzxiang.pickerview.listener.OnDateSetListener;
+import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.ArrayList;
import java.util.List;
@@ -21,9 +30,12 @@
* @time : 2021/4/16 9:24
* @email : 290677893@qq.com
*/
-public class EventSourceActivity extends AndroidxBaseActivity {
+public class EventSourceActivity extends AndroidxBaseActivity implements IEventSourceView {
private static final String TAG = EventSourceActivity.class.getSimpleName();
+ private final Context context = EventSourceActivity.this;
+ private final List excelDataBeans = new ArrayList<>();
+ private EventSourcePresenterImpl eventSourcePresenter;
@Override
protected void setupTopBarLayout() {
@@ -33,20 +45,73 @@
@Override
protected void initData() {
- List fragmentList = new ArrayList<>();
- fragmentList.add(ExcelFragment.newInstance(TAG));
- fragmentList.add(PieChartFragment.newInstance(TAG));
- SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), Constant.CHART_PAGE_TITLES, fragmentList);
- viewBinding.eventViewPager.setAdapter(adapter);
- //绑定TabLayout
- viewBinding.eventTabLayout.setupWithViewPager(viewBinding.eventViewPager);
- LinearLayout linearLayout = (LinearLayout) viewBinding.eventTabLayout.getChildAt(0);
- linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);
- linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical));
+ //初始化表格
+ initTableConfig();
+ eventSourcePresenter = new EventSourcePresenterImpl(this);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+
+ @Override
+ public void obtainEventSourceResult(EventSourceBean resultBean) {
+ if (resultBean.getCode() == 200) {
+ List dataBeanList = resultBean.getData();
+ for (int i = 0; i < dataBeanList.size() - 1; i++) {
+ EventSourceBean.DataBean dataBean = dataBeanList.get(i);
+ String caseNum = dataBean.getCaseNum();
+ //表格数据需要把0的加进去,饼图不需要
+ excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
+ }
+ viewBinding.resourceTableView.setData(excelDataBeans);
+ }
+ }
+
+ private void initTableConfig() {
+ TableConfig config = viewBinding.resourceTableView.getConfig();
+ //首行属性
+ config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
+ config.setContentBackgroundColor(Color.LTGRAY);
+ config.setColumnTitleVerticalPadding(30);
+ //内容属性
+ config.setContentStyle(new FontStyle(50, Color.DKGRAY));
+ config.setVerticalPadding(30);
+ config.setShowTableTitle(false); //不显示标题
+ config.setShowXSequence(false); //不显示横向ABC....序列
+ config.setShowYSequence(false); //不显示纵向123....序列
+ config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
}
@Override
protected void initEvent() {
+ viewBinding.titleBarLayout.rightImageView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ new TimePickerDialog.Builder()
+ .setThemeColor(ContextCompat.getColor(context, R.color.mainThemeColor))
+ .setTitleStringId("选择日期")
+ .setWheelItemTextSize(16)
+ .setCyclic(false)
+ .setMinMillseconds(System.currentTimeMillis() - Constant.FIVE_YEARS)
+ .setMaxMillseconds(System.currentTimeMillis())
+ .setType(Type.YEAR_MONTH)
+ .setCallBack(new OnDateSetListener() {
+ @Override
+ public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ eventSourcePresenter.onReadyRetrofitRequest(date[0], date[1]);
+ }
+ }).build().show(getSupportFragmentManager(), "year_month");
+ }
+ });
+ }
+ @Override
+ public void onDestroy() {
+ eventSourcePresenter.disposeRetrofitRequest();
+ super.onDestroy();
}
}
\ No newline at end of file
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 b318446..7b7e54f 100644
--- a/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
+++ b/app/src/main/java/com/casic/dcms/ui/HighEventListActivity.java
@@ -26,19 +26,20 @@
import java.util.List;
/**
- * @author : Pengxh
+ * @author Pengxh
* @time : 2021/4/16 8:44
* @email : 290677893@qq.com
*/
public class HighEventListActivity extends AndroidxBaseActivity implements IHighEventView {
- private static final String TAG = HighEventListActivity.class.getSimpleName();
+ private static final String TAG = "HighEventListActivity";
private final List excelDataBeans = new ArrayList<>();
private final Context context = HighEventListActivity.this;
private HighEventPresenterImpl highEventPresenter;
@Override
protected void setupTopBarLayout() {
+
viewBinding.titleBarLayout.titleView.setText("高发问题");
viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish());
}
@@ -47,8 +48,11 @@
protected void initData() {
initTableConfig();
highEventPresenter = new HighEventPresenterImpl(this);
-
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
+ //默认显示当前月的数据
+ long timeMillis = System.currentTimeMillis();
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(timeMillis));
+ String[] date = TimeOrDateUtil.timestampToMonth(timeMillis);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
private void initTableConfig() {
@@ -95,8 +99,9 @@
.setCallBack(new OnDateSetListener() {
@Override
public void onDateSet(TimePickerDialog timePickerView, long millSeconds) {
- String date = TimeOrDateUtil.timestampToYearMonth(millSeconds);
- viewBinding.titleBarLayout.dateView.setText(date);
+ viewBinding.titleBarLayout.dateView.setText(TimeOrDateUtil.timestampToYearMonth(millSeconds));
+ String[] date = TimeOrDateUtil.timestampToMonth(millSeconds);
+ highEventPresenter.onReadyRetrofitRequest(date[0], date[1]);
}
}).build().show(getSupportFragmentManager(), "year_month");
}
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
deleted file mode 100644
index 21862e9..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/ExcelFragment.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.bin.david.form.core.TableConfig;
-import com.bin.david.form.data.style.FontStyle;
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.ExcelDataBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentExcelBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:42
- * @email : 290677893@qq.com
- */
-public class ExcelFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List excelDataBeans = new ArrayList<>();
- private Context context;
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
- context = getContext();
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- //表格数据需要把0的加进去,饼图不需要
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseSource(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- excelDataBeans.add(new ExcelDataBean(i, dataBean.getCaseType(), Integer.parseInt(caseNum)));
- }
- viewBinding.dataTableView.setData(excelDataBeans);
- initTableConfig();
- }
- }
-
- private void initTableConfig() {
- TableConfig config = viewBinding.dataTableView.getConfig();
- //首行属性
- config.setColumnTitleStyle(new FontStyle(50, Color.DKGRAY));
- config.setContentBackgroundColor(Color.LTGRAY);
- config.setColumnTitleVerticalPadding(30);
- //内容属性
- config.setContentStyle(new FontStyle(50, Color.DKGRAY));
- config.setVerticalPadding(30);
- config.setShowTableTitle(false); //不显示标题
- config.setShowXSequence(false); //不显示横向ABC....序列
- config.setShowYSequence(false); //不显示纵向123....序列
- config.setMinTableWidth(QMUIDisplayHelper.getScreenWidth(context));//不设置的话会就不会居中显示
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static ExcelFragment newInstance(String tag) {
- ExcelFragment excelFragment = new ExcelFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- excelFragment.setArguments(bundle);
- return excelFragment;
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
deleted file mode 100644
index 35431c2..0000000
--- a/app/src/main/java/com/casic/dcms/ui/fragment/PieChartFragment.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.casic.dcms.ui.fragment;
-
-import android.graphics.Color;
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.casic.dcms.base.AndroidxBaseFragment;
-import com.casic.dcms.bean.EventSourceBean;
-import com.casic.dcms.bean.HighEventBean;
-import com.casic.dcms.databinding.FragmentChartBinding;
-import com.casic.dcms.mvp.presenter.impl.EventSourcePresenterImpl;
-import com.casic.dcms.mvp.presenter.impl.HighEventPresenterImpl;
-import com.casic.dcms.mvp.view.IEventSourceView;
-import com.casic.dcms.mvp.view.IHighEventView;
-import com.casic.dcms.utils.Constant;
-import com.casic.dcms.utils.SaveKeyValues;
-import com.casic.dcms.utils.ToastHelper;
-import com.github.mikephil.charting.components.Legend;
-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.PercentFormatter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author : Pengxh
- * @time : 2021/4/16 9:43
- * @email : 290677893@qq.com
- */
-public class PieChartFragment extends AndroidxBaseFragment implements IEventSourceView, IHighEventView {
-
- private final List entries = new ArrayList<>();
- private EventSourcePresenterImpl eventSourcePresenter;
- private HighEventPresenterImpl highEventPresenter;
- private String begTime;
- private String endTime;
-
- @Override
- protected void setupTopBarLayout() {
-
- }
-
- @Override
- protected void initData() {
- Bundle arguments = getArguments();
- if (arguments != null) {
- String pageTitle = arguments.getString("tag");
- }
- begTime = (String) SaveKeyValues.getValue("begTime", "");
- endTime = (String) SaveKeyValues.getValue("endTime", "");
- eventSourcePresenter = new EventSourcePresenterImpl(this);
- highEventPresenter = new HighEventPresenterImpl(this);
- }
-
-
- @Override
- protected void initEvent() {
- if (TextUtils.isEmpty(begTime) || TextUtils.isEmpty(endTime)) {
- ToastHelper.showToast("起始时间或者结束时间不对", ToastHelper.ERROR);
- return;
- }
- if (getTag().equals("EventSourceActivity")) {
- eventSourcePresenter.onReadyRetrofitRequest(begTime, endTime);
- } else {
- highEventPresenter.onReadyRetrofitRequest(begTime, endTime);
- }
- }
-
- @Override
- public void obtainEventSourceResult(EventSourceBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- EventSourceBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseSource()));
- }
- }
- initPieChart();
- }
- }
-
- @Override
- public void obtainHighEventResult(HighEventBean resultBean) {
- if (resultBean.getCode() == 200) {
- List dataBeanList = resultBean.getData();
- for (int i = 0; i < dataBeanList.size() - 1; i++) {
- HighEventBean.DataBean dataBean = dataBeanList.get(i);
- String caseNum = dataBean.getCaseNum();
- if (!caseNum.equals("0")) {
- entries.add(new PieEntry(Float.parseFloat(caseNum), dataBean.getCaseType()));
- }
- }
- initPieChart();
- }
- }
-
- private void initPieChart() {
- viewBinding.pieChartView.setDragDecelerationFrictionCoef(0.95f);
- viewBinding.pieChartView.setUsePercentValues(true); //百分比数字显示
- viewBinding.pieChartView.setDrawEntryLabels(false); //不显示分类标签
- viewBinding.pieChartView.setDrawCenterText(false);
- viewBinding.pieChartView.getDescription().setEnabled(false);
- viewBinding.pieChartView.setRotationAngle(0f);
- // enable rotation of the chart by touch
- viewBinding.pieChartView.setRotationEnabled(true);
- viewBinding.pieChartView.setHighlightPerTapEnabled(true);
- viewBinding.pieChartView.setDrawHoleEnabled(false);
- setChartData();
- viewBinding.pieChartView.animateY(1000);
- Legend legend = viewBinding.pieChartView.getLegend();
- legend.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
- legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
- legend.setOrientation(Legend.LegendOrientation.VERTICAL);
- legend.setDrawInside(false);
- legend.setXEntrySpace(7f);
- legend.setYEntrySpace(1f);
- legend.setYOffset(0f);
- // entry label styling
- viewBinding.pieChartView.setEntryLabelColor(Color.BLUE);
- viewBinding.pieChartView.setEntryLabelTextSize(12f);
- viewBinding.pieChartView.setExtraOffsets(30f, 30f, 30f, 30f);
- }
-
- private void setChartData() {
- PieDataSet dataSet = new PieDataSet(entries, "");
- dataSet.setSliceSpace(0f);
- dataSet.setSelectionShift(5f);
- dataSet.setColors(Constant.PIE_COLORS);
- //当数据太多时,将标签显示在饼图外
- if (entries.size() > 8) {
- dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
- }
- dataSet.setValueLineColor(Color.GREEN);
- dataSet.setValueLinePart1Length(0.6f);
- PieData data = new PieData(dataSet);
- data.setValueFormatter(new PercentFormatter(viewBinding.pieChartView)); //坑:在构造PercentFormatter的时候,需要传pieChart 对象进来才能正常显示出百分号。
- data.setValueTextSize(12f);
- data.setValueTextColor(Color.BLUE); //数据值颜色
- viewBinding.pieChartView.setData(data);
- viewBinding.pieChartView.highlightValues(null);
- viewBinding.pieChartView.invalidate();
- }
-
- @Override
- public void onDestroyView() {
- eventSourcePresenter.disposeRetrofitRequest();
- highEventPresenter.disposeRetrofitRequest();
- super.onDestroyView();
- }
-
- public static PieChartFragment newInstance(String tag) {
- PieChartFragment chartFragment = new PieChartFragment();
- Bundle bundle = new Bundle();
- bundle.putString("tag", tag);
- chartFragment.setArguments(bundle);
- return chartFragment;
- }
-}
\ No newline at end of file
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 9f42cde..0ad32f3 100644
--- a/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
+++ b/app/src/main/java/com/casic/dcms/utils/TimeOrDateUtil.java
@@ -1,6 +1,7 @@
package com.casic.dcms.utils;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
@@ -14,6 +15,20 @@
private static SimpleDateFormat dateFormat;
/**
+ * 获取年月区间,[2022-02-01,2022-02-28]
+ */
+ public static String[] timestampToMonth(long millSeconds) {
+ dateFormat = new SimpleDateFormat("yyyy-MM", Locale.CHINA);
+ String ym = dateFormat.format(new Date(millSeconds));
+ Calendar calendar = Calendar.getInstance();
+ int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ String[] date = new String[2];
+ date[0] = ym + "-01";
+ date[1] = ym + "-" + maxDay;
+ return date;
+ }
+
+ /**
* 时间戳转年月日时分秒
*/
public static String timestampToCompleteDate(long millSeconds) {
diff --git a/app/src/main/res/layout/activity_event_resource.xml b/app/src/main/res/layout/activity_event_resource.xml
index 763a64e..0ced5fb 100644
--- a/app/src/main/res/layout/activity_event_resource.xml
+++ b/app/src/main/res/layout/activity_event_resource.xml
@@ -7,29 +7,58 @@
+ layout="@layout/include_option_plus_title" />
-
+ android:layout_height="wrap_content"
+ android:scrollbars="vertical">
-
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:padding="@dimen/padding_10dp">
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_chart.xml b/app/src/main/res/layout/fragment_chart.xml
deleted file mode 100644
index 567c484..0000000
--- a/app/src/main/res/layout/fragment_chart.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_excel.xml b/app/src/main/res/layout/fragment_excel.xml
deleted file mode 100644
index bcd9015..0000000
--- a/app/src/main/res/layout/fragment_excel.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
\ No newline at end of file