north 8 年之前
父節點
當前提交
12a7c8eede

+ 48 - 1
www/protected/modules/moonclub/controllers/POrderController.php

@@ -23,11 +23,15 @@ class POrderController extends AdminController
     public function actionList(){
         $floor = Yii::app()->request->getParam('floor','');
         $room = Yii::app()->request->getParam('room','');
+        $status = Yii::app()->request->getParam('status',100);
+
         $date_start_book = strtotime(Yii::app()->request->getParam('date_start_book',''));
         $date_end_book = strtotime(Yii::app()->request->getParam('date_end_book',''));
-
         $params = CommonFn::getPageParams();
         $criteria = new EMongoCriteria($params);
+        if ($status != 100) {
+            $criteria->status('==',intval($status));
+        }
         if ($floor) {
             $criteria->addCond('address.floor','==',$floor);
         }
@@ -146,4 +150,47 @@ class POrderController extends AdminController
 
 
     }
+
+    public function actionOutputExcel()
+    {
+        $beginYesterday=mktime(0,0,0,date('m')-1,1,date('Y'));
+        $endYesterday=mktime(0,0,0,date('m'),1,date('Y'))-1;
+        $name=date("Y-m",strtotime("-1 months",time())).'月考勤明细汇总';
+        $criteria = new EMongoCriteria();
+        //$criteria->booking_time('>=',$beginYesterday);//开始时间
+        //$criteria->booking_time('<=',$endYesterday);//结束时间
+        $criteria->auth('==',6);
+        $employes = Employe::model()->findAll($criteria);
+        $data = array();
+        $i = 0;
+        foreach ($employes as $k => $v) {
+            $criteria = new EMongoCriteria();
+            $criteria->order_time('>=',$beginYesterday);//开始时间
+            $criteria->order_time('<=',$endYesterday);//结束时间
+            $criteria->service_employer('==',new MOngoId($v->_id));//结束时间
+            $p_orders = POrder::model()->findAll($criteria);
+
+
+            foreach ($p_orders as $order ) {
+                $times = 0;
+                if ($order->out_room_time != 0 && $order->in_room_time != 0)
+                    $times = ($order->out_room_time - $order->in_room_time)/3600;//小时
+                $data[$i]['out_room_time'] = $order->out_room_time?date('Y-m-d H:i:s',$order->out_room_time):'暂未完成';
+                $data[$i]['in_room_time'] = date('Y-m-d H:i:s',$order->in_room_time);
+                $data[$i]['time'] = $times;//工作时长
+                $data[$i]['order_time'] = date('Y-m-d H:i:s',$order->order_time);
+                $data[$i]['user_name'] = $v->user_name;//人员
+                $data[$i]['service_standards'] = POrder::$standards_options[intval($order->service_standards)]['name'];//服务内容
+                $data[$i]['status'] = POrder::$status_options[intval($order->status)]['name'];//订单状态 防止有人不点 sb
+                $data[$i]['floor'] = $order->address['floor'];
+                $data[$i++]['room'] = $order->address['room'];
+
+
+            }
+
+        }
+
+        $res=Service::factory('ExcelToArrayService')->push($data,$name,'porder');
+        echo "导出成功";
+    }
 }

+ 9 - 1
www/protected/modules/moonclub/views/pOrder/index.php

@@ -19,6 +19,10 @@
         <span class="tb_label">状态: </span>
         <input id="filter_status" />
       </div>
+      <div class="tb_line">
+        <a href="#" class='easyui-linkbutton' iconCls="icon-add" plain="true" onclick="export_order();return false;">导出日订单</a>
+      </div>
+
       <div class="tb_line">
         <span class="tb_label">楼号: </span>
         <input id="floor" name="floor"/>
@@ -637,7 +641,7 @@
   function search_content(){
     var floor = $('#floor').val();
     var room =  $('#room').val();
-
+    var status =  jq_filter_status.combobox('getValue');
     var date_start_book = jq_date_start_book.datebox('getValue');
     var date_end_book = jq_date_end_book.datebox('getValue');
 
@@ -649,6 +653,7 @@
     jq_dg_content.datagrid({
       pageNum: 1,
       queryParams: {
+        status: status,
         floor : floor,
         room : room,
         date_start_book : date_start_book,
@@ -657,5 +662,8 @@
       }
     });
   };
+  function export_order(exp,export_type) {
+    window.location.href = module_router+'/OutputExcel';
+  }
 
 </script>

+ 38 - 3
www/protected/services/ExcelToArrayService.php

@@ -94,7 +94,8 @@ class ExcelToArrayService extends Service
                 ;
                 $num += 1;
             }
-        } else if($export == 'tech'){
+        }
+        else if($export == 'tech'){
             $objPHPExcel->setActiveSheetIndex(0)
                 //Excel的第A列,uid是你查出数组的键值,下面以此类推
                 ->setCellValue('A' . $num, '服务日期')
@@ -131,7 +132,8 @@ class ExcelToArrayService extends Service
                 ;
                 $num += 1;
             }
-        }else if($export == 'order'){
+        }
+        else if($export == 'order'){
             $objPHPExcel->setActiveSheetIndex(0)
                 //Excel的第A列,uid是你查出数组的键值,下面以此类推
                 ->setCellValue('A' . $num, 'id')
@@ -174,7 +176,8 @@ class ExcelToArrayService extends Service
                 ;
                 $num += 1;
             }
-        } else if ($export == 'reserve') {
+        }
+        else if ($export == 'reserve') {
             $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $num, '用户名');
                 //Excel的第A列,uid是你查出数组的键值,下面以此类推
 
@@ -194,6 +197,38 @@ class ExcelToArrayService extends Service
                 $num += 1;
             }
         }
+        else if ($export == 'porder') {
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $num, '工作人员');
+            //Excel的第A列,uid是你查出数组的键值,下面以此类推
+
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B' . $num, '进房时间');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C' . $num, '出房时间');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D' . $num, '工作时长(小时)');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('E' . $num, '派单时间');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('F' . $num, '服务类型');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('G' . $num, '工单状态');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('H' . $num, '楼号');
+            $objPHPExcel->setActiveSheetIndex(0)->setCellValue('I' . $num, '房号');
+            ;
+
+            $num += 1;
+            foreach($data as $key => $value){
+
+                $objPHPExcel->setActiveSheetIndex(0)
+                    //Excel的第A列,uid是你查出数组的键值,下面以此类推
+                    ->setCellValue('A' . $num, $value['user_name'])
+                    ->setCellValue('B' . $num, $value['in_room_time'])
+                    ->setCellValue('C' . $num, $value['out_room_time'])
+                    ->setCellValue('D' . $num, $value['time'])
+                    ->setCellValue('E' . $num, $value['order_time'])
+                    ->setCellValue('F' . $num, $value['service_standards'])
+                    ->setCellValue('G' . $num, $value['status'])
+                    ->setCellValue('H' . $num, $value['floor'])
+                    ->setCellValue('I' . $num, $value['room'])
+                ;
+                $num += 1;
+            }
+        }
 
         $objPHPExcel->getActiveSheet()->setTitle('User');
         $objPHPExcel->setActiveSheetIndex(0);