//package cn.flightfeather.thirdapp.dataanalysis; // //import android.app.Dialog; //import android.content.Context; //import android.content.Intent; //import android.os.Bundle; //import android.os.Handler; //import android.support.annotation.Nullable; //import android.support.v4.app.Fragment; //import android.support.v7.widget.GridLayoutManager; //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.LinearLayout; //import android.widget.ScrollView; //import android.widget.TextView; // //import com.github.mikephil.charting.charts.PieChart; //import com.ping.greendao.gen.DomainitemDao; // //import org.greenrobot.greendao.query.QueryBuilder; // //import java.util.ArrayList; //import java.util.Date; //import java.util.HashMap; //import java.util.List; // //import butterknife.BindView; //import butterknife.ButterKnife; //import butterknife.OnClick; //import butterknife.Unbinder; //import cn.flightfeather.thirdapp.CommonApplication; //import cn.flightfeather.thirdapp.R; //import cn.flightfeather.thirdapp.adapter.AllRecyclerViewAdapter; //import cn.flightfeather.thirdapp.bean.entity.Domainitem; //import cn.flightfeather.thirdapp.bean.vo.RankVo; //import cn.flightfeather.thirdapp.bean.vo.StatisticsVo; //import cn.flightfeather.thirdapp.bean.vo.TaskFrequencyVo; //import cn.flightfeather.thirdapp.bean.vo.TaskVo; //import cn.flightfeather.thirdapp.dataanalysis.rank.AnalysisRankActivity; //import cn.flightfeather.thirdapp.httpservice.ProblemListService; //import cn.flightfeather.thirdapp.httpservice.TaskService; //import cn.flightfeather.thirdapp.util.ChartGenerator; //import cn.flightfeather.thirdapp.util.CommonUtils; //import cn.flightfeather.thirdapp.util.DateFormatter; //import cn.flightfeather.thirdapp.util.DialogUtil; //import cn.flightfeather.thirdapp.util.Domain; //import cn.flightfeather.thirdapp.util.PopupGenerator; //import retrofit2.Call; //import retrofit2.Callback; //import retrofit2.Response; //import retrofit2.Retrofit; // ///** // * 2018.12.25 created by riku // * 分析总览界面 // * 综合简略展示各统计概况: // * 任务进度、街镇排名、场景排名、问题类型分布 // */ //public class AnalysisOverViewFragment_B extends Fragment { // // // // private final String TITLE = "总览"; // // private CommonApplication app; // private Retrofit retrofit; // // private Unbinder unbinder; // // private String curSceneTypeId = "1";//当前场景类型 // private String curSceneTypeName = "工地";//当前场景类型 // private RankVo rankVo = new RankVo(); // private int maxShowItems = 3; // private Dialog dialog; // // private ViewGroup container; // // // // // // public AnalysisOverViewFragment_B() { // // Required empty public constructor // } // // // public static AnalysisOverViewFragment_B newInstance() { // AnalysisOverViewFragment_B fragment = new AnalysisOverViewFragment_B(); // return fragment; // } // // // // // // @Override // public void onCreate(Bundle savedInstanceState) { // super.onCreate(savedInstanceState); // } // // @Override // public View onCreateView(LayoutInflater inflater, ViewGroup container, // Bundle savedInstanceState) { // // Inflate the layout for this fragment // this.container = container; // View view = inflater.inflate(R.layout.fragment_analysis_over_view, container, false); // unbinder = ButterKnife.bind(this, view); // return view; // } // // // @Override // public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { // super.onViewCreated(view, savedInstanceState); // app = (CommonApplication) getActivity().getApplication(); // retrofit = app.getRetrofit(); // initPopup(); // initToolBar(); // initBlock1(); // initBlock2(); // initBlock3(); // initBlock4(); // initPannel(); // } // // @Override // public void onAttach(Context context) { // super.onAttach(context); // // } // // @Override // public void onDetach() { // super.onDetach(); // } // // /** // * Called when the fragment is no longer in use. This is called // * after {@link #onStop()} and before {@link #onDetach()}. // */ // @Override // public void onDestroy() { // super.onDestroy(); // if (unbinder != null) { // unbinder.unbind(); // } // } // // // // // // @BindView(R.id.action_bar) View action_bar; // private void initToolBar() { // action_bar.findViewById(R.id.spinner_topclass_task).setVisibility(View.GONE); // action_bar.findViewById(R.id.img_left).setVisibility(View.GONE); // action_bar.findViewById(R.id.img_right).setVisibility(View.INVISIBLE); // action_bar.findViewById(R.id.ll_menu_text).setVisibility(View.VISIBLE); // TextView title = action_bar.findViewById(R.id.actionbar_title); // title.setText(TITLE); //// title.setGravity(Gravity.CENTER_HORIZONTAL); //// ViewGroup.LayoutParams layoutParams = title.getLayoutParams(); //// layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; // } // // // // // // List allTaskVoList = new ArrayList<>(); // List showingTasks = new ArrayList<>(); // int offset; // // private void initPannel() { // showDialog(); // //顶层任务 // Call> getTopClassTaskList = retrofit.create(TaskService.class).getTopClassTaskList(0); // getTopClassTaskList.enqueue(new Callback>() { // @Override // public void onResponse(Call> call, Response> response) { // showingTasks.clear(); // allTaskVoList.clear(); // if (response.body() != null) { // allTaskVoList.addAll(response.body());//返回结果默认按时间降序排序 // for (TaskVo t : allTaskVoList) { // if (t.getDistrictcode().equals(app.getCurrentUser().getDguid())) {//主管部门的部门id就是区县id // showingTasks.add(t); // } // } // } // refreshPannel(); // } // // @Override // public void onFailure(Call> call, Throwable t) { // refreshPannel(); // } // }); // } // // @BindView(R.id.tab_time_pannel) View tab_time_pannel; // TextView text; // private void refreshPannel() { // showDialog(); // text = tab_time_pannel.findViewById(R.id.text_time); // if (!showingTasks.isEmpty()) { // Date date = showingTasks.get(offset).getStarttime(); // String s = DateFormatter.YearMonthFormat_CN.format(date); // text.setText(s); // refresh(); // } // } // // // // // // @BindView(R.id.rv_task_progress) RecyclerView rv_task_progress; // AllRecyclerViewAdapter freAdapter; // List frequencyInfos = new ArrayList<>(); // // private void initBlock1() { // freAdapter = new AllRecyclerViewAdapter(frequencyInfos, R.layout.item_common_news, getActivity()) { // @Override // public void bindView(MyViewHolder holder, TaskFrequencyVo.FrequencyInfo obj, boolean isSelected, int position) { // StringBuilder totalFrequency = new StringBuilder("总监管频次: " + obj.getTotalFrequency() + "次"); // StringBuilder clearFrequency = new StringBuilder("已监管频次: " + obj.getClearFrequency() + "次"); // int tmpLeft = obj.getTotalFrequency() - obj.getClearFrequency(); // StringBuilder leftFrequency = new StringBuilder("剩余监管频次: " + (tmpLeft >= 0 ? tmpLeft : 0) + "次"); // holder.setText(R.id.text_head, obj.getSceneTypeName()) // .setText(R.id.text_1_1, totalFrequency) // .setText(R.id.text_2_1, clearFrequency) // .setText(R.id.text_3_1, leftFrequency) // .setVisibility(R.id.text_1_2, View.GONE) // .setVisibility(R.id.text_2_2, View.GONE) // .setVisibility(R.id.text_3_2, View.GONE) // .setImageResource(R.id.image_head, CommonUtils.getIconBySceneType(obj.getSceneTypeId())); // } // }; // // LinearLayoutManager lm = new LinearLayoutManager(getActivity()); // lm.setOrientation(LinearLayoutManager.VERTICAL); // rv_task_progress.setLayoutManager(lm); // rv_task_progress.setAdapter(freAdapter); // } // // private void refreshBlock1() { // String id = getTopTaskId(); // Call getFrequency = retrofit.create(TaskService.class).getFrequency(id); // getFrequency.enqueue(new Callback() { // @Override // public void onResponse(Call call, Response response) { // if (response.body() != null) { // TaskFrequencyVo frequencyVo = response.body(); // frequencyInfos.clear(); // frequencyInfos.addAll(frequencyVo.getFrequencyInfos()); // freAdapter.notifyDataSetChanged(); // } else { // loadingOver(false); // } // } // // @Override // public void onFailure(Call call, Throwable t) { // loadingOver(false); // } // }); // // } // // // // // // // @BindView(R.id.rv_rank_town) RecyclerView rv_rank_town; // AllRecyclerViewAdapter townRankAdapter; // List townRanks = new ArrayList<>(); // List allTownRanks = new ArrayList<>(); // // private void initBlock2() { // townRankAdapter = new AllRecyclerViewAdapter(townRanks, R.layout.item_problem_count, getActivity()) { // @Override // public void bindView(MyViewHolder holder, RankVo.TownRank obj, boolean isSelected, int position) { // // if (position < 3) { // int rank = obj.getRankNo(); // holder.setText(R.id.text_name, obj.getTownName()) // .setText(R.id.text_firstCount, getScore(obj.getAverageScore())) // .setVisibility(R.id.text_secondCount, View.GONE) // .setVisibility(R.id.image_rank, View.GONE) // .setText(R.id.text_no, String.valueOf(rank)); // switch (rank) { // case 1: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_4); // break; // case 2: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_3); // break; // case 3: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_2); // break; // default: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_1); // break; // } // } // } // }; // LinearLayoutManager lm = new LinearLayoutManager(getActivity()); // lm.setOrientation(LinearLayoutManager.VERTICAL); // rv_rank_town.setLayoutManager(lm); // rv_rank_town.setAdapter(townRankAdapter); // } // // private void refreshBlock2and3() { // String id = getTopTaskId(); // Call getRank = retrofit.create(TaskService.class).getRank(id, curSceneTypeId, null); // getRank.enqueue(new Callback() { // @Override // public void onResponse(Call call, Response response) { // if (response.body() != null) { // rankVo = response.body(); // rankS(rankVo.getSceneRanks()); // rankT(rankVo.getTownRanks()); // townRanks.clear(); // allTownRanks.clear(); // allTownRanks.addAll(rankVo.getTownRanks()); // int tmpMax = maxShowItems <= allTownRanks.size() ? maxShowItems : allTownRanks.size(); // for (int i = 0; i < tmpMax; i++) { // townRanks.add(allTownRanks.get(i)); // } // townRankAdapter.notifyDataSetChanged(); // // sceneRanks.clear(); // allSceneRanks.clear(); // allSceneRanks.addAll(rankVo.getSceneRanks()); // int tmpMax1 = maxShowItems <= allSceneRanks.size() ? maxShowItems : allSceneRanks.size(); // for (int i = 0; i < tmpMax1; i++) { // sceneRanks.add(allSceneRanks.get(i)); // } // sceneRankAdapter.notifyDataSetChanged(); // } else { // loadingOver(false); // } // } // // @Override // public void onFailure(Call call, Throwable t) { // loadingOver(false); // } // }); // } // // // // // // @BindView(R.id.rv_rank_scene) RecyclerView rv_rank_scene; // AllRecyclerViewAdapter sceneRankAdapter; // List sceneRanks = new ArrayList<>(); // List allSceneRanks = new ArrayList<>(); // // private void initBlock3() { // sceneRankAdapter = new AllRecyclerViewAdapter(sceneRanks, R.layout.item_problem_count, getActivity()) { // @Override // public void bindView(MyViewHolder holder, RankVo.SceneRank obj, boolean isSelected, int position) { // if (position < 3) { // int rank = obj.getRankNo(); // holder.setText(R.id.text_name, obj.getSceneName()) // .setText(R.id.text_firstCount, getScore(obj.getScore())) // .setVisibility(R.id.text_secondCount, View.GONE) // .setVisibility(R.id.image_rank, View.GONE) // .setText(R.id.text_no, String.valueOf(rank)); // switch (rank) { // case 1: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_4); // break; // case 2: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_3); // break; // case 3: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_2); // break; // default: // holder.setImageResource(R.id.image_no, R.drawable.icon_rank_1); // break; // } // } // } // }; // LinearLayoutManager lm = new LinearLayoutManager(getActivity()); // lm.setOrientation(LinearLayoutManager.VERTICAL); // rv_rank_scene.setLayoutManager(lm); // rv_rank_scene.setAdapter(sceneRankAdapter); // } // // // // // // @BindView(R.id.pie_chart_problem) PieChart pieChart; // @BindView(R.id.ll_no_data) LinearLayout ll_no_data; // HashMap datas = new HashMap<>(); // // private void initBlock4() { // ChartGenerator.quickSetupChart(pieChart); // } // // private void refreshBlock4() { // String id = getTopTaskId(); // Call> getStatisticalResultbyId = retrofit.create(ProblemListService.class).getStatisticalResultbyId(id, curSceneTypeId); // getStatisticalResultbyId.enqueue(new Callback>() { // @Override // public void onResponse(Call> call, Response> response) { // datas.clear(); // if (response.body() != null) { // List statisticsVos = response.body(); // for (StatisticsVo s : // statisticsVos) { // datas.put(s.getName(), (float) s.getCount()); // } // if (datas.isEmpty()) { // pieChart.setVisibility(View.GONE); // ll_no_data.setVisibility(View.VISIBLE); // } else { // pieChart.setVisibility(View.VISIBLE); // ll_no_data.setVisibility(View.GONE); // } // ChartGenerator.quickSetData(pieChart, datas, "问题统计"); // loadingOver(true); // } else { // loadingOver(false); // } // } // // @Override // public void onFailure(Call> call, Throwable t) { // datas.clear(); // ChartGenerator.quickSetData(pieChart, datas, "问题统计"); // loadingOver(false); // } // }); // } // // // // // // private String getTopTaskId() { // return showingTasks.get(offset).getTguid();//返回顶层任务id // } // // // // // // private void refresh() { // showDialog(); // refreshBlock1(); // refreshBlock2and3(); // refreshBlock4(); // } // // // // // // // @BindView(R.id.text_type) TextView text_type; // @BindView(R.id.image_type) ImageView image_type; // // RecyclerView rv_popup; // AllRecyclerViewAdapter sceneAdapter; // private List sceneTypeData = new ArrayList<>();//场景类型 // PopupGenerator popup; // // private void initPopup() { // final DomainitemDao domainitemDao = app.getDaoSession().getDomainitemDao(); // //场景类型 // QueryBuilder queryBuilder = domainitemDao.queryBuilder() // .where(DomainitemDao.Properties.Dcguid.eq(Domain.DOMAINGUID_SCENSETYPE)) // .orderAsc(DomainitemDao.Properties.Value); // sceneTypeData.addAll(queryBuilder.list()); // // popup = new PopupGenerator(getActivity(), R.layout.popup_scene_selector); // rv_popup = popup.findViewById(R.id.rv_popup); // sceneAdapter = new AllRecyclerViewAdapter(sceneTypeData, R.layout.item_scene, getActivity()) { // @Override // public void bindView(MyViewHolder holder, final Domainitem obj, boolean isSelected, int position) { // String sceneType = String.valueOf(obj.getValue()); // holder.setText(R.id.text_scene, obj.getText()) // .setImageResource(R.id.image_scene, CommonUtils.getIconBySceneType(sceneType)) // .setOnItemClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // curSceneTypeId = obj.getValue(); // curSceneTypeName = obj.getText(); // } // }); // } // }; // GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 3); // layoutManager.setOrientation(GridLayoutManager.VERTICAL); // layoutManager.setAutoMeasureEnabled(true); // rv_popup.setLayoutManager(layoutManager); // rv_popup.setAdapter(sceneAdapter); // // popup.setPopupWindowFullScreen(false); // } // // // // // // //切换顶层任务 // @OnClick({R.id.image_left, R.id.image_right}) // void onClick(View view) { // int tmpOffset = offset; // switch (view.getId()) { // case R.id.image_left: // int tmp = offset + 1; // offset = tmp >= showingTasks.size() ? offset : tmp; // break; // case R.id.image_right: // int tmp1 = offset - 1; // offset = tmp1 < 0 ? offset : tmp1; // break; // } // if (tmpOffset != offset) { // refreshPannel(); // } // } // // //场景选择菜单 // @OnClick(R.id.ll_menu_text) // void onClickMenu() { //// if (popup.isShowing()) { //// popup.dismiss(); //// } else { //// popup.showPopupWindow(); //// //// } // } // // //详细内容按钮 // @OnClick({R.id.text_all_2, R.id.text_all_3}) // void onClickMoreInfo(View v) { // Intent intent = new Intent(getActivity(), AnalysisRankActivity.class); // Bundle bundle = new Bundle(); // bundle.putSerializable(AnalysisRankActivity.ARG_PARAM1, rankVo); // bundle.putString(AnalysisRankActivity.ARG_PARAM2, rankVo.getTopTaskName()); // bundle.putString(AnalysisRankActivity.ARG_PARAM3, curSceneTypeName); // switch (v.getId()) { // case R.id.text_all_2: // bundle.putInt(AnalysisRankActivity.ARG_PARAM4, 1); // break; // case R.id.text_all_3: // bundle.putInt(AnalysisRankActivity.ARG_PARAM4, 0); // break; // } // intent.putExtras(bundle); // startActivity(intent); // } // // //重新加载按钮 // @OnClick(R.id.button_refresh) // void onClickRefreshButton() { // refresh(); // } // // // // // // private void refreshCurScene(String id, String name) { // curSceneTypeId = id; // curSceneTypeName = name; // // } // // // // // // @BindView(R.id.sl_content) ScrollView scrollView;//内容页面 // @BindView(R.id.no_data) View no_data;//加载失败页面 // private void loadingOver(boolean b) { // new Handler().postDelayed(new Runnable() { // @Override // public void run() { // if (dialog.isShowing()) { // dialog.dismiss(); // } // } // }, 500); // if (b) {//加载成功 // scrollView.setVisibility(View.VISIBLE); // no_data.setVisibility(View.GONE); // } else {//加载失败 // scrollView.setVisibility(View.GONE); // no_data.setVisibility(View.VISIBLE); // } // } // // // // private void showDialog() { // if (dialog == null) { // dialog = DialogUtil.createLoadingDialog(getActivity(), ""); // } // if (!dialog.isShowing()) { // dialog.show(); // } // } // // private String getScore(int score) { // return String.valueOf(score == -1 ? "未评分" : score); // } // // //刷新排名信息 // public static void rankS(List sceneRanks) { // if (sceneRanks == null) return; // RankVo.SceneRank last = null; // RankVo.SceneRank current = null; // int rankNo = 1; // for (int i = 0; i < sceneRanks.size(); i++) { // if (i > 0) { // last = sceneRanks.get(i - 1); // } // current = sceneRanks.get(i); // if (last != null) { // //同分时并列排名 // if (current.getScore() == last.getScore()) { // current.setRankNo(last.getRankNo()); // } else { // current.setRankNo(rankNo); // } // } else { // current.setRankNo(rankNo); // } // rankNo++; // } // } // // //刷新排名信息 // private void rankT(List townRanks) { // if (townRanks == null) return; // RankVo.TownRank last = null; // RankVo.TownRank current = null; // int rankNo = 1; // for (int i = 0; i < townRanks.size(); i++) { // if (i > 0) { // last = townRanks.get(i - 1); // } // current = townRanks.get(i); // if (last != null) { // //同分时并列排名 // if (current.getAverageScore() == last.getAverageScore()) { // current.setRankNo(last.getRankNo()); // } else { // current.setRankNo(rankNo); // } // } else { // current.setRankNo(rankNo); // } // rankNo++; // } // } //}