/**
  * 产品类别比例
  */
 public function categoryRatio()
 {
     // 查询添加的产品
     $Product = D('Product');
     $map['addtime'] = [['gt', $this->month_start], ['lt', $this->month_end]];
     $field = ['itemid', 'catid'];
     $sel_product_list = $Product->where($map)->field($field)->select();
     foreach ($sel_product_list as $k => $v) {
         $x = Tools::str2arr($v['catid']);
         $sel_product_list[$k]['catid'] = $x[0];
     }
     // 分类hash
     $this->getCateHash();
     // 产品分类详情
     $sel_cat_info = Tools::groupBy($sel_product_list, 'catid');
     foreach ($sel_cat_info as $k => $v) {
         unset($sel_cat_info[$k]);
         if ($this->all_cate_hash[$k]) {
             $sel_cat_info[$k]['catid'] = $k;
             $sel_cat_info[$k]['catname'] = $this->all_cate_hash[$k];
             $sel_cat_info[$k]['count'] = count($v);
         }
     }
     sort($sel_cat_info);
     // 数据重组
     $legend_data = Tools::arr2str(Tools::getCols($sel_cat_info, 'catname', true));
     foreach ($sel_cat_info as $k => $v) {
         $series_data[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data = Tools::arr2str($series_data);
     // 注入显示
     $this->assign(['legend_data' => $legend_data, 'series_data' => $series_data]);
     $this->display();
 }
 /**
  * 三个栏目下的文章类别比例图 (以顶级分类为单位进行区分) (三个饼形图)
  */
 public function classesInformation()
 {
     $this->getCateHash();
     // 查询资讯
     $Information = D('Information');
     $field = ['itemid', 'catid'];
     $sel_information_list = $Information->where()->field($field)->select();
     $cat_group = Tools::groupBy($sel_information_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x[$k]['catid'] = $v[0]['catid'];
         $x[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x[$k]['count'] = count($v);
     }
     sort($x);
     // 查询虫害资讯
     $Pests = D('Pests');
     $field = ['itemid', 'catid'];
     $map['catid'] = ['in', [6086, 6324, 6087, 6088, 6318, 6319, 6092, 6093, 6096, 14408]];
     $sel_pests_list = $Pests->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_pests_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x_pests[$k]['catid'] = $v[0]['catid'];
         $x_pests[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x_pests[$k]['count'] = count($v);
     }
     sort($x_pests);
     // 查询中毒资讯
     $Poisoning = D('Poisoning');
     $field = ['itemid', 'catid'];
     $map['catid'] = ['in', [12749, 12750, 12751, 12752, 12753, 12776]];
     $sel_poisoning_list = $Poisoning->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_poisoning_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x_poisoning[$k]['catid'] = $v[0]['catid'];
         $x_poisoning[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x_poisoning[$k]['count'] = count($v);
     }
     sort($x_poisoning);
     //重组资讯数据
     $legend_data_inforamtion = Tools::arr2str(Tools::getCols($x, 'catname', true));
     foreach ($x as $k => $v) {
         $series_data_inforamtion[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_inforamtion = Tools::arr2str($series_data_inforamtion);
     //重组病虫害数据
     $legend_data_pests = Tools::arr2str(Tools::getCols($x_pests, 'catname', true));
     foreach ($x_pests as $k => $v) {
         $series_data_pests[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_pests = Tools::arr2str($series_data_pests);
     //重组农药中毒资讯数据
     $legend_data_poisoning = Tools::arr2str(Tools::getCols($x_poisoning, 'catname', true));
     foreach ($x_poisoning as $k => $v) {
         $series_data_poisoning[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_poisoning = Tools::arr2str($series_data_poisoning);
     //注入显示
     $this->assign(['legend_data_information' => $legend_data_inforamtion, 'series_data_information' => $series_data_inforamtion, 'legend_data_pests' => $legend_data_pests, 'series_data_pests' => $series_data_pests, 'legend_data_poisoning' => $legend_data_poisoning, 'series_data_poisoning' => $series_data_poisoning]);
     $this->display();
 }
 /**
  * 终端注册饼形图
  */
 public function memberRegAppChart()
 {
     $Member = D('Member');
     $field = ['userid', 'comefrom'];
     /*
      * pc注册的数量
      */
     $map['comefrom'] = 'web';
     $sel_AppChart_list = $Member->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_AppChart_list, 'userid');
     foreach ($cat_group as $k => $v) {
         $x_pc[$k]['userid'] = $v[0]['userid'];
         $x_pc[$k]['count'] = count($v);
     }
     sort($x_pc);
     /*
      * 手机注册的数量
      */
     $map['comefrom'] = 'touch';
     $sel_AppChart_list = $Member->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_AppChart_list, 'userid');
     foreach ($cat_group as $k => $v) {
         $x_mobel[$k]['userid'] = $v[0]['userid'];
         $x_mobel[$k]['count'] = count($v);
     }
     sort($x_mobel);
     //重组数据
     $appChart_pc = get_arr_k_amount($x_pc, 'count');
     $appChart_mobel = get_arr_k_amount($x_mobel, 'count');
     //注入显示
     $this->assign(['appChart_pc' => $appChart_pc, 'appChart_mobel' => $appChart_mobel]);
     $this->display();
 }