//package cn.flightfeather.thirdapp.dataanalysis;
//
//
//import android.app.Fragment;
//import android.content.Context;
//import android.graphics.Color;
//import android.icu.text.DecimalFormat;
//import android.os.Build;
//import android.os.Bundle;
//import android.support.annotation.Nullable;
//import android.support.annotation.RequiresApi;
//import android.support.v7.widget.DividerItemDecoration;
//import android.support.v7.widget.LinearLayoutManager;
//import android.support.v7.widget.RecyclerView;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//
//import com.github.mikephil.charting.animation.Easing;
//import com.github.mikephil.charting.charts.PieChart;
//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 com.github.mikephil.charting.utils.ColorTemplate;
//
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.Comparator;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Objects;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.Unbinder;
//import cn.flightfeather.thirdapp.R;
//import cn.flightfeather.thirdapp.adapter.AllRecyclerViewAdapter;
//import cn.flightfeather.thirdapp.bean.vo.ProblemlistVo;
//import cn.flightfeather.thirdapp.bean.vo.TaskVo;
//
///**
// * 2018.11.14
// * @author riku
// * 顶层任务的问题类型统计
// */
//public class ProblemDetailFragment_B extends Fragment {
//
// private Context context;
//
// private static final String ARG_PARAM1 = "taskProgressVo";//参数标签
//
// private TaskVo taskProgressVo;//需要activity传入一个具体的顶层任务对象,用于显示其详细进度信息
//
// private Unbinder unbinder;
//
//
// public ProblemDetailFragment_B() {
// // Required empty public constructor
// }
//
// public static ProblemDetailFragment_B newInstance(TaskVo taskProgressVo) {
// ProblemDetailFragment_B fragment = new ProblemDetailFragment_B();
// Bundle args = new Bundle();
// args.putSerializable(ARG_PARAM1, taskProgressVo);
// fragment.setArguments(args);
// return fragment;
// }
//
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// if (getArguments() != null) {
// taskProgressVo = (TaskVo) getArguments().getSerializable(ARG_PARAM1);
// }
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container,
// Bundle savedInstanceState) {
// View view = inflater.inflate(R.layout.fragment_analysis_problem_1, container, false);
// unbinder = ButterKnife.bind(this, view);
// return view;
// }
//
//
// @RequiresApi(api = Build.VERSION_CODES.N)
// @Override
// public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
// super.onViewCreated(view, savedInstanceState);
// context = getActivity();
// initPieChart(view);
// initRecyclerView(view);
// }
//
// @Override
// public void onDestroyView() {
// super.onDestroyView();
// unbinder.unbind();
// }
//
// //
// private List problemlists;//问题列表
// private ArrayList entries = new ArrayList<>();//饼图数据
// private AllRecyclerViewAdapter entryAdapter = null;//list列表适配器(问题统计数据)
// private final static int MAX_CHART_COUNT = 20; //饼图最多显示区块数
// private final static String REMAIN_PROBLEM = "其余";
//
// @BindView(R.id.rv_problem_type)
// RecyclerView rv_problem_type;
//
// @BindView(R.id.PC_problem)
// PieChart mChart;
//
// /**
// * 问题类型分布的列表
// * @param view 问题类型分布fragment
// */
// @RequiresApi(api = Build.VERSION_CODES.N)
// private void initRecyclerView(View view) {
// final DecimalFormat decimalFormat = new DecimalFormat("#0.00");
// rv_problem_type = (RecyclerView) view.findViewById(R.id.rv_problem_type);
// entryAdapter = new AllRecyclerViewAdapter(entries, R.layout.item_day_task_progress, context) {
// @Override
// public void bindView(MyViewHolder holder, PieEntry obj, boolean bool, int position) {
// float total = 0;
// for (PieEntry entry : entries) {
// total = total + entry.getValue();
// }
// holder.setText(R.id.tv_item1, entries.get(position).getLabel())
// .setText(R.id.tv_item2, entries.get(position).getValue() + "")
// .setText(R.id.tv_item3, decimalFormat.format(entries.get(position).getValue()/ total * 100) + "%");
// }
// };
//
// LinearLayoutManager layoutManager = new LinearLayoutManager(context);
// layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
// rv_problem_type.setLayoutManager(layoutManager);
// rv_problem_type.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
// rv_problem_type.setAdapter(entryAdapter);
// }
//
// private void initPieChart(View view) {
//
// //饼图样式设置***************************************************************************************************
// mChart.setUsePercentValues(true);
// mChart.getDescription().setEnabled(false);
// mChart.setExtraOffsets(5, 10, 5, 5);
//// mChart.setExtraOffsets(20.f, 0.f, 20.f, 0.f);
//
// mChart.setDragDecelerationFrictionCoef(0.95f);
//
//// mChart.setCenterTextTypeface(mTfLight);
//// mChart.setCenterText(generateCenterSpannableText());
//
// mChart.setDrawHoleEnabled(true);
// mChart.setHoleColor(Color.WHITE);
//
// mChart.setTransparentCircleColor(Color.WHITE);
// mChart.setTransparentCircleAlpha(110);
//
// mChart.setHoleRadius(39f);
// mChart.setTransparentCircleRadius(41f);
//
// mChart.setDrawCenterText(true);
//
// mChart.setRotationAngle(0);
// // enable rotation of the chart by touch
// mChart.setRotationEnabled(true);
// mChart.setHighlightPerTapEnabled(true);
//
// Legend l = mChart.getLegend();
// l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
// l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
// l.setOrientation(Legend.LegendOrientation.VERTICAL);
// l.setDrawInside(false);
// l.setXEntrySpace(7f);
// l.setYEntrySpace(0f);
// l.setYOffset(0f);
//
// // entry label styling
// mChart.setEntryLabelColor(Color.WHITE);
//// mChart.setEntryLabelTypeface(mTfRegular);
// mChart.setEntryLabelTextSize(12f);
// mChart.setDrawEntryLabels(false);
//
// //test
//// setData(new ArrayList());
// //
//
// }
//
// private void setData(List problemlists) {
// //数据初始化***************************************************************************************************
// entries.clear();
//
// PieDataSet dataSet = new PieDataSet(entries, "问题类型");
//
// //test*****
//// int count = 5;
//// int mult = 100;
//// String[] mParties = {"路面积尘", "地面局部未硬化", "站厂出入口无外围护", "无喷淋装置", REMAIN_PROBLEM};
//// for (int i = 0; i < count; i++) {
//// entries.add(new PieEntry((int) (Math.random() * mult) + mult / 5, mParties[i]));
//// }
// //*********
//
// //初始化数据
// HashMap problemTypeMap = new HashMap<>();
// while (!problemlists.isEmpty()) {
// String problemType = problemlists.get(0).getTypename();
// if (problemType == null) {
// problemlists.remove(0);
// continue;
// }
//
// int problemCount = 0;
// for (int i = 0; i < problemlists.size(); i++) {
// if (Objects.equals(problemType, problemlists.get(i).getTypename())) {
// problemCount++;
// problemlists.remove(i);
// i--;
// }
// }
// problemTypeMap.put(problemType, problemCount);
// }
// //按HashMap的value降序排序
// List> list = new ArrayList<>(problemTypeMap.entrySet());
// Collections.sort(list, new Comparator>() {
// @Override
// public int compare(HashMap.Entry o1, HashMap.Entry o2) {
// return o2.getValue().compareTo(o1.getValue());
// }
// });
//// problemTypeMap.clear();
//// problemTypeMap.entrySet().addAll(list);
// //初始化Entry,限定最多显示5个扇区,超出的合并为第5个扇区
// String remainProblemType = "";
// int remainProblemCount = 0;
// int chartcount = 0;
// for (HashMap.Entry entry : list) {
// if (chartcount < MAX_CHART_COUNT - 1) {
// entries.add(new PieEntry((float)entry.getValue(), entry.getKey()));
// } else {
// remainProblemCount = remainProblemCount + entry.getValue();
// remainProblemType = entry.getKey();
// }
// chartcount++;
// }
// if (chartcount == MAX_CHART_COUNT) {
// entries.add(new PieEntry((float) remainProblemCount, remainProblemType));
// } else if (chartcount > MAX_CHART_COUNT) {
// entries.add(new PieEntry((float) remainProblemCount, REMAIN_PROBLEM));
// }
//
// // add a lot of colors
// ArrayList colors = new ArrayList<>();
//
// for (int c : ColorTemplate.JOYFUL_COLORS)
// colors.add(c);
//
// for (int c : ColorTemplate.COLORFUL_COLORS)
// colors.add(c);
//
// for (int c : ColorTemplate.VORDIPLOM_COLORS)
// colors.add(c);
//
// for (int c : ColorTemplate.LIBERTY_COLORS)
// colors.add(c);
//
// for (int c : ColorTemplate.PASTEL_COLORS)
// colors.add(c);
//
// colors.add(ColorTemplate.getHoloBlue());
//
// dataSet.setColors(colors);
//
// //value line
// dataSet.setValueLinePart1OffsetPercentage(80.f);
// dataSet.setValueLinePart1Length(0.2f);
// dataSet.setValueLinePart2Length(0.4f);
// //dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
// dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
//
// //
// PieData data = new PieData(dataSet);
// data.setValueFormatter(new PercentFormatter());
// data.setValueTextSize(11f);
// data.setValueTextColor(Color.BLACK);
//// data.setValueTypeface(mTfLight);
// if (!entries.isEmpty()) {//数据全为空时,不显示
// mChart.setData(data);
// } else {
// mChart.setData(null);
// }
// mChart.setNoDataText("暂无数据");
//
// // undo all highlights
// mChart.highlightValues(null);
//
// mChart.animateY(1400, Easing.EasingOption.EaseInOutQuad);
// }
// //
//
// /**
// * 按照搜索条件查询问题分布结果
// */
//// private void search() {
//// final SweetAlertDialog dialog = DialogUtil.createSweetLoadingDialog(getActivity(), "Loading...");
//// AreaVo areaVo = new AreaVo();
//// areaVo.setProvincecode(((Province)SP_province.getSelectedItem()).getProvincecode());
//// areaVo.setProvincename(((Province)SP_province.getSelectedItem()).getProvincename());
//// areaVo.setCitycode(((City)SP_city.getSelectedItem()).getCitycode());
//// areaVo.setCityname(((City)SP_city.getSelectedItem()).getCityname());
//// areaVo.setDistrictcode(((District)SP_district.getSelectedItem()).getDistrictcode());
//// areaVo.setDistrictname(((District)SP_district.getSelectedItem()).getDistrictname());
//// areaVo.setTowncode(((Town) SP_town.getSelectedItem()).getTowncode());
//// areaVo.setTownname(((Town) SP_town.getSelectedItem()).getTownname());
//// areaVo = gettime(areaVo);
//// int position = SP_scense_type.getSelectedItemPosition();
//// areaVo.setScensetypeid(scenseTypeData.get(position).getValue());
//// Call> getProblemByArea = problemListService.getByArea(areaVo);
//// getProblemByArea.enqueue(new Callback>() {
//// @Override
//// public void onResponse(Call> call, Response> response) {
//// if (response.body() != null) {
//// problemlists = response.body();
//// }
//// setData(problemlists);
//// entryAdapter.notifyDataSetChanged();//刷新列表
//// DialogUtil.closeDialog(dialog);
//// }
////
//// @Override
//// public void onFailure(Call> call, Throwable t) {
//// setData(problemlists);
//// DialogUtil.closeDialog(dialog);
//// }
//// });
////
//// setChartTitle();//刷新标题
//// setDateDisplay();//刷新时间
//// }
//}