//package cn.flightfeather.thirdapp.dataanalysis;
//
//import android.content.Context;
//import android.graphics.Color;
//import android.os.Bundle;
//import android.support.annotation.Nullable;
//import android.support.v4.app.Fragment;
//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 android.widget.ImageView;
//import android.widget.TextView;
//
//import com.github.mikephil.charting.animation.Easing;
//import com.github.mikephil.charting.charts.BarChart;
//import com.github.mikephil.charting.components.AxisBase;
//import com.github.mikephil.charting.components.Description;
//import com.github.mikephil.charting.components.XAxis;
//import com.github.mikephil.charting.components.YAxis;
//import com.github.mikephil.charting.data.BarData;
//import com.github.mikephil.charting.data.BarDataSet;
//import com.github.mikephil.charting.data.BarEntry;
//import com.github.mikephil.charting.formatter.IAxisValueFormatter;
//import com.github.mikephil.charting.formatter.PercentFormatter;
//
//import java.text.DecimalFormat;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.List;
//
//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.TaskVo;
//import cn.flightfeather.thirdapp.util.CommonUtils;
//import cn.flightfeather.thirdapp.view.ScrollTextView;
//
///**
// * 2018.11.09
// * @author riku
// * 顶层任务的详细进度信息
// */
//public class ProgressDetailFragment_B extends Fragment {
//
// private static final String ARG_PARAM1 = "taskProgressVo";//参数标签
//
// private TaskVo taskProgressVo;//需要activity传入一个具体的顶层任务对象,用于显示其详细进度信息
//
// private Unbinder unbinder;
//
// public ProgressDetailFragment_B() {
// // Required empty public constructor
// }
//
// /**
// * Use this factory method to create a new instance of
// * this fragment using the provided parameters.
// *
// * @param taskProgressVo
// * @return A new instance of fragment ProgressDetailFragment.
// */
// // TODO: Rename and change types and number of parameters
// public static ProgressDetailFragment_B newInstance(TaskVo taskProgressVo) {
// ProgressDetailFragment_B fragment = new ProgressDetailFragment_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.dialog_anysis_sub_progress, container, false);
// unbinder = ButterKnife.bind(this, view);
// initUI();
// initStandardBarchart();
// return view;
// }
//
//
// @Override
// public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
// super.onViewCreated(view, savedInstanceState);
//
// }
//
//
// @Override
// public void onAttach(Context context) {
// super.onAttach(context);
// }
//
// @Override
// public void onDetach() {
// super.onDetach();
// }
//
// @Override
// public void onDestroyView() {
// super.onDestroyView();
// unbinder.unbind();
// }
//
// //
// private final static String NOTASK = "无任务";
//
// @BindView(R.id.tv_top_task)
// ScrollTextView tv_top_task;
//
// @BindView(R.id.iv_top_task)
// ImageView iv_top_task;
//
// @BindView(R.id.tv_total_progress)
// TextView tv_total_progress;
//
// @BindView(R.id.tv_my_progress)
// TextView tv_my_progress;
//
// @BindView(R.id.rv_dialog_task_progress)
// RecyclerView rv_dialog_task_progress;
//
// private void initUI(){
// final DecimalFormat decimalFormat = new DecimalFormat("#0.00");
// tv_total_progress.setSelected(true);
// tv_top_task.setText(taskProgressVo.getName());
// //根据任务类型选择不同的图标
// iv_top_task.setImageResource(CommonUtils.getIconByTaskType(taskProgressVo.getTypeno().toString()));
// //数据
// ArrayList daytaskprogresslist = new ArrayList<>();
// daytaskprogresslist.addAll(taskProgressVo.getDaytaskList());//当前顶层任务的所有日任务
//
// //设置列表显示对其方式
// LinearLayoutManager layoutManager1 = new LinearLayoutManager(getActivity());
// layoutManager1.setOrientation(LinearLayoutManager.VERTICAL);
// rv_dialog_task_progress.setLayoutManager(layoutManager1);
// rv_dialog_task_progress.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL));
// //**总进度列表
// final AllRecyclerViewAdapter adapter1 = new AllRecyclerViewAdapter(daytaskprogresslist, R.layout.item_day_task_progress, getActivity()) {
// @Override
// public void bindView(MyViewHolder holder, TaskVo obj, boolean bool, int position) {
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM月dd日");
// holder.setText(R.id.tv_item1, simpleDateFormat.format(obj.getStarttime()));
// holder.setText(R.id.tv_item2, String.valueOf(obj.getCompletetask()) + "/" + String.valueOf(obj.getTotaltask()));
// if (obj.getTotaltask() == 0)
// holder.setText(R.id.tv_item3, NOTASK);
// else
// holder.setText(R.id.tv_item3, decimalFormat.format(((float)obj.getCompletetask() / (float)obj.getTotaltask() * 100)) + "%");
// }
// };
// //**用户进度列表
// final AllRecyclerViewAdapter adapter2 = new AllRecyclerViewAdapter(daytaskprogresslist, R.layout.item_day_task_progress, getActivity()) {
// @Override
// public void bindView(MyViewHolder holder, TaskVo obj, boolean bool, int position) {
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM月dd日");
// holder.setText(R.id.tv_item1, simpleDateFormat.format(obj.getStarttime()));
// holder.setText(R.id.tv_item2, String.valueOf(obj.getMycompletetask()) + "/" + String.valueOf(obj.getMytotaltask()));
// if (obj.getMytotaltask() == 0)
// holder.setText(R.id.tv_item3, NOTASK);
// else
// holder.setText(R.id.tv_item3, decimalFormat.format(((float)obj.getMycompletetask() / (float)obj.getMytotaltask() * 100)) + "%");
// }
// };
// rv_dialog_task_progress.setAdapter(adapter1);
//
// tv_total_progress.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// tv_total_progress.setSelected(true);
// tv_my_progress.setSelected(false);
// tv_total_progress.setTextColor(Color.WHITE);
// tv_my_progress.setTextColor(Color.BLACK);
// rv_dialog_task_progress.setAdapter(adapter1);
// }
// });
//
// tv_my_progress.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// tv_my_progress.setSelected(true);
// tv_total_progress.setSelected(false);
// tv_my_progress.setTextColor(Color.WHITE);
// tv_total_progress.setTextColor(Color.BLACK);
// rv_dialog_task_progress.setAdapter(adapter2);
// }
// });
// }
// //
//
//
// //
// @BindView(R.id.barChart_progress)
// BarChart mStandardChart;//每个顶层任务的具体直方图数据
// /*
// 柱状图,顶层任务的完成百分比
// */
// private void initStandardBarchart() {
//
// List daytaskprogresslist = taskProgressVo.getDaytaskList();//当前顶层任务的所有日任务
//
// //坐标轴
// XAxis xAxis = mStandardChart.getXAxis();
// xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
// xAxis.setDrawGridLines(false);
// xAxis.setGranularity(1f);//坐标间隔
//// xAxis.setLabelCount(2, true);//进入时的标签个数
// xAxis.setCenterAxisLabels(true);//标签处于图表中间
// xAxis.setAxisMinimum(0f);
// xAxis.setValueFormatter(new MyDateFormmater(daytaskprogresslist));
//
// YAxis rightAxis = mStandardChart.getAxisRight();
// rightAxis.setEnabled(false);
//// rightAxis.setDrawGridLines(false);
//// rightAxis.setDrawAxisLine(false);
//// rightAxis.setDrawLabels(false);
//
// YAxis leftAxis = mStandardChart.getAxisLeft();
// leftAxis.setDrawGridLines(false);
// leftAxis.setDrawAxisLine(false);
// leftAxis.setDrawLabels(false);
// leftAxis.setDrawTopYLabelEntry(true);
// leftAxis.setZeroLineColor(Color.BLACK);
// leftAxis.setDrawZeroLine(true);
// leftAxis.setAxisMinimum(0f);
// leftAxis.setAxisMaximum(100f);
// leftAxis.setValueFormatter(new PercentFormatter());
//// LimitLine limitLine = new LimitLine(100f);
//// limitLine.setLineColor(Color.BLACK);
//// leftAxis.addLimitLine(limitLine);
//
// //Entry数据
// List totalEntries = new ArrayList<>();;//每日总任务进度
// List userEntries = new ArrayList<>();;//每日用户进度
// //Test*********
//// totalEntries.add(new BarEntry(0f, 0f));
//// totalEntries.add(new BarEntry(1f, 0f));
//// totalEntries.add(new BarEntry(2f, 40f));
//// totalEntries.add(new BarEntry(3f, 70f));
//// totalEntries.add(new BarEntry(4f, 80f));
//// totalEntries.add(new BarEntry(5f, 50f));
//// totalEntries.add(new BarEntry(6f, 30f));
//// totalEntries.add(new BarEntry(7f, 10f));
////
//// userEntries.add(new BarEntry(0f, 0f));
//// userEntries.add(new BarEntry(1f, 60f));
//// userEntries.add(new BarEntry(2f, 70));
//// userEntries.add(new BarEntry(3f, 70));
//// userEntries.add(new BarEntry(4f, 35));
//// userEntries.add(new BarEntry(5f, 35));
//// userEntries.add(new BarEntry(6f, 35));
//// userEntries.add(new BarEntry(7f, 35));
// //*************
//
// for (int i = 0; i < daytaskprogresslist.size(); i++){//初始化数据
// float y1 = daytaskprogresslist.get(i).getTotaltask();
// if (y1 != 0)
// y1 = ((float)daytaskprogresslist.get(i).getCompletetask() / (float) daytaskprogresslist.get(i).getTotaltask() * 100);
// else
// y1 = 100f;
// totalEntries.add(new BarEntry((float)i, y1));
//
// float y2 = daytaskprogresslist.get(i).getMytotaltask();
// if (y2 != 0)
// y2 = ((float)daytaskprogresslist.get(i).getMycompletetask() / (float)daytaskprogresslist.get(i).getMytotaltask() * 100);
// else
// y2 = 100f;
// userEntries.add(new BarEntry((float)i, y2));
// }
//
// BarDataSet barDataSetTotal = new BarDataSet(totalEntries, "总进度");
// BarDataSet barDataSetUser = new BarDataSet(userEntries, "我的进度");
// barDataSetTotal.setAxisDependency(YAxis.AxisDependency.LEFT);
//// barDataSetTotal.setAxisDependency(YAxis.AxisDependency.RIGHT);
// barDataSetUser.setAxisDependency(YAxis.AxisDependency.LEFT);
//// barDataSetUser.setAxisDependency(YAxis.AxisDependency.RIGHT);
// barDataSetTotal.setColor(Color.argb(128, 255, 0, 0));
// barDataSetUser.setColor(Color.argb(128, 0, 255, 0));
//
// float groupSpace = 0.06f;
// float barSpace = 0.02f; // x2 dataset
// float barWidth = 0.45f; // x2 dataset
// // (0.02 + 0.45) * 2 + 0.06 = 1.00 -> interval per "group"
// BarData barData = new BarData(barDataSetTotal, barDataSetUser);
//// BarData barData = new BarData(barDataSetTotal);
// barData.setValueFormatter(new PercentFormatter());
// barData.setValueTextSize(8f);
// barData.setHighlightEnabled(false);//高亮
// barData.setBarWidth(barWidth);
// if (!totalEntries.isEmpty() || !userEntries.isEmpty()) {//数据全为空时,不显示
// mStandardChart.setData(barData);
// mStandardChart.setFitBars(true);//x轴坐标显示对应每个bar
// mStandardChart.groupBars(0f, groupSpace, barSpace);
// }
//
// //General Chart Settings & Styling
// mStandardChart.setNoDataText("任务还未开始执行,暂无数据");//Sets the title that should appear if the chart is empty.
//// mStandardChart.setDrawBorders(false);//Enables / disables drawing the chart borders (lines surrounding the chart).
// //图标描述
// Description description = new Description();
// description.setText("");
// mStandardChart.setDescription(description);
//
//// mStandardChart.setTouchEnabled(true);//触摸
//// mStandardChart.setDragEnabled(true);//拖拽
// mStandardChart.setScaleEnabled(false);//缩放
//
// mStandardChart.animateY(1400, Easing.EasingOption.EaseOutSine);
// mStandardChart.fitScreen();
//
// //视图设置
// mStandardChart.setVisibleXRangeMaximum(6f);
// mStandardChart.setVisibleXRangeMinimum(6f);
//
//// mStandardChart.invalidate();
//
// }
// //
//
// class MyDateFormmater implements IAxisValueFormatter {
//
// DecimalFormat mFormat;
// List daytaskprogresslist;
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd日");
//
// MyDateFormmater(List daytaskprogresslist) {
// mFormat = new DecimalFormat("###,###,##0");
// this.daytaskprogresslist = daytaskprogresslist;
// }
//
// @Override
// public String getFormattedValue(float value, AxisBase axis) {
// try {
// return simpleDateFormat.format(daytaskprogresslist.get((int)value).getStarttime());
// }catch (Exception e){
// e.printStackTrace();
// return "";
// }
// }
// }
//
//}