north il y a 7 ans
Parent
commit
81e7b1ccba

BIN
www/protected/modules/moonclub/controllers/1515399195.xlsx


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

@@ -303,62 +303,7 @@ class POrderController extends AdminController
         Yii::import('application.extensions.PHPExcel.PHPExcel', 1);
         $back = Yii::app()->request->urlReferrer;
         $url = Yii::app()->request->getParam('url','');
-        $file = file_get_contents($url);
-        $tmp = __DIR__.'/'.time().'.xlsx';
-        $examp = fopen($tmp,'w+');
-        @fwrite($examp,$file);
-        @fclose($examp);
-        $excelFile  = $tmp;
-        date_default_timezone_set('Asia/Shanghai');
-
-
-
-        $phpexcel = new PHPExcel;
-        $excelReader = PHPExcel_IOFactory::createReader('Excel2007');
-        $phpexcel = $excelReader->load($excelFile)->getSheet(0);//载入文件并获取第一个sheet
-
-        $total_line = $phpexcel->getHighestRow();
-        $total_column = $phpexcel->getHighestColumn();
-
-        for ($row = 2; $row <= $total_line; $row++) {
-            $data = array();
-            for ($column = 'A'; $column <= $total_column; $column++) {
-                if ($column == 'A') {
-                    $tmp = trim($phpexcel->getCell($column . $row)->getValue());
-                    $tmp = explode(":",$tmp);
-                    $tmp = strtotime($tmp[0].'-'.$tmp[1].'-'.$tmp[2].' '.$tmp[3].':'.$tmp[4]);
-                    $data[] = $tmp;
-                } else {
-                    $data[] = trim($phpexcel->getCell($column . $row)->getValue());
-                }
-
-
-            }
-
-            $order = new POrder();
-
-            $criteria = new EMongoCriteria();
-
-            $criteria->user_name('==',$data[4]);
-            $userInfo = Employe::model()->find($criteria);
-            //获取服务人员信息
-            if ($userInfo) {
-                $order->service_employer = $userInfo->_id;//服务人员Id
-            } else {
-                CommonFn::requestAjax(false, '服务人员信息不存在');exit;
-            }
-
-            $order->order_time = intval($data[0]);//服务日期
-            $order->address['floor'] = $data[1];//楼号
-            $order->address['room'] = $data[2];//房号
-            $order->service_standards = $data[3];//服务标准
-            $order->status = 0;//已派单
-            $order->in_room_time = 0;
-            $order->out_room_time = 0;
-
-            $result = $order->save();
-        }
-        unlink($excelFile);
+        $res=Service::factory('ImportExcelService')->push($url);
         $this->redirect($back);
     }
 

BIN
www/protected/services/1515399455.xlsx


+ 79 - 0
www/protected/services/ImportExcelService.php

@@ -0,0 +1,79 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: PHP
+ * Date: 2016/11/28
+ * Time: 16:20
+ */
+class ImportExcelService extends Service
+{
+
+
+    /**
+     * @param $data 数据
+     * @param string $name 导出的excel名称
+     * @param $export 导出的类型  execute_export 执行订单汇总 order订单明细 tech保洁师明细
+     */
+    public function push($url) {
+        error_reporting(E_ALL);
+        date_default_timezone_set('Asia/Shanghai');
+        $file = file_get_contents($url);
+        $tmp = __DIR__.'/'.time().'.xlsx';
+        $examp = fopen($tmp,'w+');
+        @fwrite($examp,$file);
+        @fclose($examp);
+        $excelFile  = $tmp;
+        date_default_timezone_set('Asia/Shanghai');
+
+
+
+        $phpexcel = new PHPExcel;
+        $excelReader = PHPExcel_IOFactory::createReader('Excel2007');
+        $phpexcel = $excelReader->load($excelFile)->getSheet(0);//载入文件并获取第一个sheet
+
+        $total_line = $phpexcel->getHighestRow();
+        $total_column = $phpexcel->getHighestColumn();
+
+        for ($row = 2; $row <= $total_line; $row++) {
+            $data = array();
+            for ($column = 'A'; $column <= $total_column; $column++) {
+                if ($column == 'A') {
+                    $tmp = trim($phpexcel->getCell($column . $row)->getValue());
+                    $tmp = explode(":",$tmp);
+                    $tmp = strtotime($tmp[0].'-'.$tmp[1].'-'.$tmp[2].' '.$tmp[3].':'.$tmp[4]);
+                    $data[] = $tmp;
+                } else {
+                    $data[] = trim($phpexcel->getCell($column . $row)->getValue());
+                }
+
+
+            }
+
+            $order = new POrder();
+
+            $criteria = new EMongoCriteria();
+
+            $criteria->user_name('==',$data[4]);
+            $userInfo = Employe::model()->find($criteria);
+            //获取服务人员信息
+            if ($userInfo) {
+                $order->service_employer = $userInfo->_id;//服务人员Id
+            } else {
+                CommonFn::requestAjax(false, '服务人员信息不存在');exit;
+            }
+
+            $order->order_time = intval($data[0]);//服务日期
+            $order->address['floor'] = $data[1];//楼号
+            $order->address['room'] = $data[2];//房号
+            $order->service_standards = $data[3];//服务标准
+            $order->status = 0;//已派单
+            $order->in_room_time = 0;
+            $order->out_room_time = 0;
+
+            $result = $order->save();
+        }
+        unlink($excelFile);
+        exit;
+    }
+
+}