north 8 år sedan
förälder
incheckning
2d03ed171b
1 ändrade filer med 94 tillägg och 33 borttagningar
  1. 94 33
      www/protected/controllers/ROrderController.php

+ 94 - 33
www/protected/controllers/ROrderController.php

@@ -1257,10 +1257,11 @@ class ROrderController extends AdminController{
         if($week){
             $days = 7;
             foreach ($product as $key => $value) {
-                $data[0][$key + 1] = $value['name'];
+                $data[$key + 1][0] = $value['name'];
                 /**
                  * 根据获取的产品类型,进行分类,将每一周相同服务类型的总订单存储到数组中,
                  */
+
                 for ($i=0;$i<=2;$i++){
                     $order_criteria = new EMongoCriteria();
                     $order_criteria->type('==', $value['type']);
@@ -1272,9 +1273,9 @@ class ROrderController extends AdminController{
                     $order_criteria->booking_time('<=', $start_time);
                     $order_criteria->booking_time('>=', $end_time);
                     $orders = ROrder::model()->findAll($order_criteria);
-                    $data[$i+1][0] = date('m-d', $start_time);
-                    $data[$i+1][$key+1] = count($orders) == 0?1:count($orders)+1;
-                    $data[$i+1][$key + 1] = count($orders) == 0 ? '0' : count($orders);
+                    $data[0][$i+1] = date('m-d', $start_time);
+                    $data[$key+1][$i+1] = count($orders) == 0?1:count($orders)+1;
+                    $data[$key+1][$i + 1] = count($orders) == 0 ? '0' : count($orders);
                 }
              /*   for ($i = 1; $i <= $days; $i++) {
                     $order_criteria = new EMongoCriteria();
@@ -1319,39 +1320,29 @@ class ROrderController extends AdminController{
 
         //图表
         $labels = array(
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2',null,1),//1
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$3',null,1),//2
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$4',null,1),//3
-            /*new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$E$1',null,1),//4
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$F$1',null,1),//5
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$G$1',null,1),//6
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$H$1',null,1),//7
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$I$1',null,1),//8
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$J$1',null,1),//9
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$K$1',null,1),//10
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$L$1',null,1),//11
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$M$1',null,1),//12
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$N$1',null,1),//13
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$O$1',null,1),//14*/
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1',null,1),//1
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$C$1',null,1),//2
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$D$1',null,1),//3
+
         );
         $xLabels = array(
-            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1:$O$1',null,14),//取x轴刻度
+            new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2:$A$10',null,14),//取x轴刻度
         );
         $datas = array(
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$15',null,14),//1
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$15',null,14),//2
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$15',null,14),//3
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$E$2:$E$15',null,14),//4
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$F$2:$F$15',null,14),//5
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$G$2:$G$15',null,14),//6
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$H$2:$H$15',null,14),//7
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$I$2:$I$15',null,14),//8
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$J$2:$J$15',null,14),//9
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$K$2:$K$15',null,14),//10
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$L$2:$L$15',null,14),//11
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$M$2:$M$15',null,14),//12
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$N$2:$N$15',null,14),//13
-            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$O$2:$O$15',null,14),//14
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$10',null,10),//1
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$10',null,10),//2
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$10',null,10),//3
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$E$2:$E$10',null,10),//4
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$F$2:$F$10',null,10),//5
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$G$2:$G$10',null,10),//6
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$H$2:$H$10',null,10),//7
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$I$2:$I$10',null,10),//8
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$J$2:$J$10',null,10),//9
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$K$2:$K$10',null,10),//10
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$L$2:$L$10',null,10),//11
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$M$2:$M$10',null,10),//12
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$N$2:$N$10',null,10),//13
+            new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$O$2:$O$10',null,10),//14
         );
 
         /*if($week){
@@ -1646,6 +1637,76 @@ class ROrderController extends AdminController{
         CommonFn::SaveViaTempFile($objWriter);
 
     }
+    public function actionTest(){
+        $arr = array(
+            array('', '一班', '二班', '三班','四班'),
+            array('不及格', 20, 30, 40,67),
+            array('良好', 30, 50, 55,67),
+            array('优秀', 15, 17, 20,67)
+        );
+        Yii::$enableIncludePath = false;
+        Yii::import('ext.phpexcel.PHPExcel', 1);
+
+        $objPHPExcel = new PHPExcel();
+        $objSheet = $objPHPExcel->getActiveSheet();
+        $criteria = new EMongoCriteria();
+        $criteria->status('==',1);
+
+        $name = '同比数据分析(月)柱形图.xlsx';
+
+        $objSheet->fromArray($arr);
+
+        //图表
+        $labels = array(
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$B$1', null, 1),//一班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', null, 1),//二班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$D$1', null, 1),//三班
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$E$1', null, 1),//三班
+            );
+        $xLabels = array(
+            new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$4', null, 3),
+        );
+        $datas = array(
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$B$2:$B$4', null, 4),//取一班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$4', null, 4),//取二班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$D$2:$D$4', null, 4),//取三班的数据
+            new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$E$2:$E$4', null, 4),//取三班的数据
+
+        );
+
+
+        $series = array(
+            new PHPExcel_Chart_DataSeries(
+                PHPExcel_Chart_DataSeries::TYPE_BARCHART,
+                PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
+                range(0, count($labels)-1),
+                $labels,
+                $xLabels,
+                $datas
+            )
+        ); //图表框架
+
+        $layout=new PHPExcel_Chart_Layout();
+        $layout->setShowVal(true);
+        $areas = new PHPExcel_Chart_PlotArea(null,$series);
+        $legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT,$layout,false);
+        $title = new PHPExcel_Chart_Title("同比数据分析");
+        $ytitle = new PHPExcel_Chart_Title("订单数");
+        $chart = new PHPExcel_Chart('line_chart',$title,$legend,$areas,true,false,null,$ytitle);
+        $chart->setTopLeftPosition("A1")->setBottomRightPosition("P31"); //图表位置
+
+        $objSheet->addChart($chart);
+
+
+        $excel = 'Excel2007';
+        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$excel);
+        $objWriter->setIncludeCharts(true); //图表必须
+        // $objWriter->save($dir.'/export.xls'); //生成excel文件
+        CommonFn::browser_export($excel,date('m').$name); //浏览器输出
+
+        CommonFn::SaveViaTempFile($objWriter);
+
+    }