|
@@ -1239,14 +1239,14 @@ class ROrderController extends AdminController{
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据服务类型导出一个周/月的订单柱形图 同比
|
|
|
+ * 根据服务类型导出一个周/月的订单柱形图 同比 三周的数据 横轴为服务项目
|
|
|
*
|
|
|
*/
|
|
|
public function actionExportColumChartForOneMonth()
|
|
|
{
|
|
|
Yii::$enableIncludePath = false;
|
|
|
Yii::import('ext.phpexcel.PHPExcel', 1);
|
|
|
- $week = Yii::app()->request->getParam('week','');
|
|
|
+ $week = Yii::app()->request->getParam('week','1');
|
|
|
$objPHPExcel = new PHPExcel();
|
|
|
$objSheet = $objPHPExcel->getActiveSheet();
|
|
|
$criteria = new EMongoCriteria();
|
|
@@ -1257,11 +1257,24 @@ class ROrderController extends AdminController{
|
|
|
if($week){
|
|
|
$days = 7;
|
|
|
foreach ($product as $key => $value) {
|
|
|
- $data[0][$key + 1] = $value['type_str'];
|
|
|
+ $data[0][$key + 1] = $value['name'];
|
|
|
/**
|
|
|
- * 根据获取的产品类型,进行分类,将每一天相同服务类型的总订单存储到数组中,
|
|
|
+ * 根据获取的产品类型,进行分类,将每一周相同服务类型的总订单存储到数组中,
|
|
|
*/
|
|
|
- for ($i = 1; $i <= $days; $i++) {
|
|
|
+ for ($i=0;$i<=2;$i++){
|
|
|
+ $order_criteria = new EMongoCriteria();
|
|
|
+ $order_criteria->type('==', $value['type']);
|
|
|
+ //1 7 8 14 15 21
|
|
|
+ $start_time = mktime(0, 0, 0, date('m'), date('d')-(7*$i+1), date('Y'));
|
|
|
+ $end_time = mktime(23, 59, 59, date('m'), date('d')-(($i+1)*7), date('Y'));
|
|
|
+ $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);
|
|
|
+ }
|
|
|
+ /* for ($i = 1; $i <= $days; $i++) {
|
|
|
$order_criteria = new EMongoCriteria();
|
|
|
$order_criteria->type('==', $value['type']);
|
|
|
$start_time = mktime(0, 0, 0, date('m'), date('d')-$i, date('Y'));
|
|
@@ -1270,11 +1283,12 @@ class ROrderController extends AdminController{
|
|
|
$order_criteria->booking_time('<=', $end_time);
|
|
|
$orders = ROrder::model()->findAll($order_criteria);
|
|
|
$data[$i][0] = date('m-d', $start_time);
|
|
|
- //$data[$i][$key+1] = count($orders) == 0?1:count($orders)+1;
|
|
|
+ $data[$i][$key+1] = count($orders) == 0?1:count($orders)+1;
|
|
|
$data[$i][$key + 1] = count($orders) == 0 ? '0' : count($orders);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
- $name = '"同比数据分析(周)柱形图.xlsx"';
|
|
|
+
|
|
|
+ $name = '同比数据分析(周)柱形图.xlsx';
|
|
|
} else {
|
|
|
$days = date("t",mktime(0,0,0,date('m')-1,1,date('Y')));//获取上一个月总天数
|
|
|
foreach ($product as $key => $value){
|
|
@@ -1296,18 +1310,17 @@ class ROrderController extends AdminController{
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- $name = '"同比数据分析(月)柱形图.xlsx"';
|
|
|
+ $name = '同比数据分析(月)柱形图.xlsx';
|
|
|
}
|
|
|
|
|
|
-
|
|
|
$objSheet->fromArray($data);
|
|
|
|
|
|
//图表
|
|
|
$labels = array(
|
|
|
- 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
|
|
|
- new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$E$1',null,1),//4
|
|
|
+ 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
|
|
@@ -1317,26 +1330,26 @@ class ROrderController extends AdminController{
|
|
|
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!$O$1',null,1),//14*/
|
|
|
);
|
|
|
$xLabels = array(
|
|
|
- new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2:$A$'.($days+1),null,14),//取x轴刻度
|
|
|
+ new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1:$O$1',null,14),//取x轴刻度
|
|
|
);
|
|
|
$datas = array(
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$'.($days+1),null,14),//1
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$'.($days+1),null,14),//2
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$'.($days+1),null,14),//3
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$E$2:$E$'.($days+1),null,14),//4
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$F$2:$F$'.($days+1),null,14),//5
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$G$2:$G$'.($days+1),null,14),//6
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$H$2:$H$'.($days+1),null,14),//7
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$I$2:$I$'.($days+1),null,14),//8
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$J$2:$J$'.($days+1),null,14),//9
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$K$2:$K$'.($days+1),null,14),//10
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$L$2:$L$'.($days+1),null,14),//11
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$M$2:$M$'.($days+1),null,14),//12
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$N$2:$N$'.($days+1),null,14),//13
|
|
|
- new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$O$2:$O$'.($days+1),null,14),//14
|
|
|
+ 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
|
|
|
);
|
|
|
|
|
|
/*if($week){
|
|
@@ -1420,7 +1433,7 @@ class ROrderController extends AdminController{
|
|
|
new PHPExcel_Chart_DataSeries(
|
|
|
PHPExcel_Chart_DataSeries::TYPE_BARCHART,
|
|
|
PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
|
|
|
- range(0, count($datas)-1),
|
|
|
+ range(0, count($labels)-1),
|
|
|
$labels,
|
|
|
$xLabels,
|
|
|
$datas
|