From af9053ffe053e67838b50a3cd2ad910f779ca77e Mon Sep 17 00:00:00 2001
From: colly_wyx <wangyixiong_007@163.com>
Date: Thu, 26 Apr 2018 16:56:54 +0800
Subject: [PATCH] 修正BUG

---
 Yfs/Domain/Data.php |   89 +++++++++++++++++++++++++++-----------------
 1 files changed, 55 insertions(+), 34 deletions(-)

diff --git a/Yfs/Domain/Data.php b/Yfs/Domain/Data.php
index 8a447f1..f018173 100644
--- a/Yfs/Domain/Data.php
+++ b/Yfs/Domain/Data.php
@@ -7,6 +7,10 @@
     public function __construct(){
         //DI()->redis = new Redis_Lite(DI()->config->get('app.redis.servers'));
        $this->model = new Model_Data();
+       $this->hourly_model = new Model_DataHourly();
+       $this->warn_model = new Model_DataWarn();
+       $this->task_model = new Model_Task();
+       $this->data_original_model = new Model_DataOriginal();
     }
 
     /**
@@ -19,11 +23,40 @@
         $arr['lon'] = $data['lon'];
         $arr['lat'] = $data['lat'];
         $arr['address'] = $data['address'];
-        foreach ($data['data'] as $value) { 
+        foreach ($data['data'] as $value) {
+
             $arr['value'] = $value['value'];
             $arr['create_time'] = $value['time'];
-            $arr['date'] = date('Y-m-d', strtotime($value));
-            $this->model->add($arr);
+            $arr['date'] = date('Y-m-d', strtotime($value['time']));
+            if($value['type'] == 0){
+                $this->model->add($arr);
+                if($value['is_warn'] == 1){
+                    $this->warn_model->add($arr);
+                }
+            }
+            elseif($value['type'] == 1){
+
+                $arr['hour'] = date('H', strtotime($value['time']));
+                $hourly = $this->hourly_model->get(array('hour' => $arr['hour'], 'date' => $arr['date'], 'user_id' => $arr['user_id']));
+
+                if($hourly){
+                    $_id = $hourly['_id'];
+                    //������������������
+                    $hourly = $arr;
+                    $this->hourly_model->update($hourly, array('_id' => $_id));
+                }
+                else{
+                    $this->hourly_model->add($arr);
+                }
+                $task_arr = array();
+                $task_date = $this->task_model->get(array('date' => $arr['date']));
+                print_r($task_date);
+                if(!$task_date){
+                   $task_arr['date'] = $arr['date'];
+                   $this->task_model->add($task_arr); 
+                }
+                
+            }
             if(isset($arr['_id']))
                 unset($arr['_id']);
         }
@@ -33,43 +66,31 @@
 
     }
 
+    /**
+     * ������������������������
+     * @return [type] [description]
+     */
+    public function originalUpload(){
+        $arr = array();
+        $arr['data'] = $data['data'];
+        $arr['time'] = $data['time'];
+        $arr['create_time'] = date('Y-m-d H:i:s');   
+        $this->data_original_model->add($arr);
+        return true;
+    }
+
+
     public function getList(){
         return $this->model->getList();
     }
 
-    /**
-     * ���������������������������������������
-     * @param  [type] $user_id    [description]
-     * @param  [type] $start_time [description]
-     * @param  [type] $end_time   [description]
-     * @return [type]             [description]
-     */
-    public function getUserDataList($user_id, $start_time, $end_time){
-        $result = $this->model->aggregate(
-            array(
-                array(
-                   '$match' => array('create_time' => array('$gte' => $start_time.' 00:00:00', '$lte' => $end_time.' 23:59:59'), 'user_id' => $user_id)
-                ),
-                array(
-                    '$group' => array('_id' => '$date', 'day' => array('$avg' => '$value'))
-                ),
-                array(
-                    '$project' => array('_id' => 0, 'date'=> '$_id', 'day' => 1)
-                )
-            )
-        );
-        
-        print_r($result);
-        die();
-        return $this->model->getList(array('user_id' => $user_id, 'create_time' => array('$gte' => $start_time, '$lte' => $end_time)));
-    }
 
 
-    public function updateTime($data){
-        $id = $data['_id'];
-        unset($data['_id']);
-        return $this->model->update($data, array('_id' => $id));
-    }
+    //public function updateTime($data){
+    //    $id = $data['_id'];
+   //     unset($data['_id']);
+   //     return $this->model->update($data, array('_id' => $id));
+    //}
 
     
 

--
Gitblit v1.8.0