فهرست منبع

Merge branch 'master' of http://git.jieweizhineng.com/ushio/video_system into master

任敬轩 2 سال پیش
والد
کامیت
84003a2641

+ 141 - 0
Modules/OpcData/Http/Controllers/Api/OPCDataTurboController.php

@@ -0,0 +1,141 @@
+<?php
+
+namespace Modules\OpcData\Http\Controllers\Api;
+
+use App\Http\Controllers\Api\BaseController;
+use Illuminate\Contracts\Support\Renderable;
+use Illuminate\Http\Request;
+use Illuminate\Routing\Controller;
+
+class OPCDataTurboController extends BaseController
+{
+    public function getData(Request $request) {
+        $sys_key = $request->sys_key;
+        $sys_name = $request->sys_name;
+        if (!isset($sys_key) || !isset($sys_name)) {
+            return $this->error(-1, '参数错误');
+        }
+
+        $db_conf = config('database');
+        $api_url = 'http://'.$db_conf['python_api'][$sys_key]['url'].'/get/?sys_key='.$sys_key.'&sys_name='.$sys_name;
+
+        $response = $this->request_post($api_url);
+
+        if (gettype($response) == 'integer') {
+
+            switch ($response) {
+                case 3:
+                    $error_info = 'CURLE_URL_MALFORMAT';
+                    break;
+                case 7:
+                    $error_info = 'CURLE_COULDNT_CONNECT';
+                    break;
+                default:
+                    $error_info = '未知错误:'.$response;
+            }
+            return $this->error($response, $error_info);
+        } else {
+            $data = json_decode($response);
+            if ($data == null) {
+                return $this->error(500, preg_replace('/<[^>]*>/','',$response));
+            } else {
+                return $this->success($data);
+            }
+        }
+    }
+
+
+    private function request_post($url = '', $param = '') {
+        if (empty($url)) {
+            return false;
+        }
+        $postUrl = $url;
+        $curlPost = $param;
+        $curl = curl_init();//初始化curl
+        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
+        curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
+        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
+        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
+        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);//提交的参数
+        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
+        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
+
+//        curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
+        $data = curl_exec($curl);//运行curl
+        $errno = curl_errno($curl);
+        curl_close($curl);
+        if ($errno > 0) return $errno;
+
+        return $data;
+    }
+
+
+    /**
+     * Display a listing of the resource.
+     * @return Renderable
+     */
+    public function index()
+    {
+        return view('opcdata::index');
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     * @return Renderable
+     */
+    public function create()
+    {
+        return view('opcdata::create');
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     * @param Request $request
+     * @return Renderable
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Show the specified resource.
+     * @param int $id
+     * @return Renderable
+     */
+    public function show($id)
+    {
+        return view('opcdata::show');
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     * @param int $id
+     * @return Renderable
+     */
+    public function edit($id)
+    {
+        return view('opcdata::edit');
+    }
+
+    /**
+     * Update the specified resource in storage.
+     * @param Request $request
+     * @param int $id
+     * @return Renderable
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     * @param int $id
+     * @return Renderable
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}

+ 27 - 27
Modules/OpcData/Http/Controllers/Api/OpcDataController.php

@@ -77,7 +77,7 @@ class OpcDataController extends BaseController
             'life_water_3'      => 10,  // 消防水
         ],
     ];
-    
+
     public function getData(Request $request)
     {
         $getDataType = isset($request->system_type) ? $request->system_type : null;   // 获取需要的数据
@@ -87,7 +87,7 @@ class OpcDataController extends BaseController
         if (isset($this->localConf[$getMineCode][$getDataType])) {
 
             $opcConnectName   = 'mysql_opc_'.$getMineCode;
-            
+
             $groupId = $this->localConf[$getMineCode][$getDataType];
 
             $sqlStr = "
@@ -144,7 +144,7 @@ class OpcDataController extends BaseController
                     // 提升机
                     $result = $this->getHoistData($dbResult);
                     break;
-                
+
                 // 金家渠风机
                 case 'ventilation_zb':
                 case 'ventilation_bb':
@@ -184,7 +184,7 @@ class OpcDataController extends BaseController
                 return response()->json($result);
             }
         }
-        return $this->error(-1, '未找到数据');;
+        return $this->error(-1, '未找到数据');
     }
 
     // 风机
@@ -216,7 +216,7 @@ class OpcDataController extends BaseController
                 }
             }
             $dataArr[$fanNum][$jsonKey][] = $valArr;
-            
+
         }
         return $dataArr;
     }
@@ -275,7 +275,7 @@ class OpcDataController extends BaseController
                 $dataArr['water_pump'][$devNum][$jsonKey][] = $valArr;
 
             }
-            
+
         }
 
         foreach ($timeArr as $key => $value) {
@@ -303,7 +303,7 @@ class OpcDataController extends BaseController
 
     // 压风
     public function getCompressedAirData($dbResult, $getMineCode) {
-        
+
         $dataArr = array();
         $timeArr = array();     // 用于拼接时分秒
         $timeJsonKey;           // 记录time字段key名
@@ -330,7 +330,7 @@ class OpcDataController extends BaseController
                     // ,'json' => $jsonKey
                 ];
                 $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
-                
+
             } else if ($jsonKey == 'common') {
                 $valArr = [
                     'label' => $label,      // 标题
@@ -355,7 +355,7 @@ class OpcDataController extends BaseController
                 ];
                 $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
             } else if ($jsonKey == 'warn_state') {
-                
+
                 if ($getMineCode == 'qingshuiying' && mb_substr($label, -1) == '阀') {
                     $valArr = [
                         'label' => $label,      // 标题
@@ -372,7 +372,7 @@ class OpcDataController extends BaseController
                     $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
                 }
             }
-            
+
         }
         if (isset($dataArr)) {
             return $dataArr;
@@ -424,7 +424,7 @@ class OpcDataController extends BaseController
                 ];
                 $dataArr[$jsonKey][] = $valArr;
             }
-            
+
         }
         foreach ($valDict as $key => $val) {
             $i = 0;
@@ -469,7 +469,7 @@ class OpcDataController extends BaseController
                 ];
                 $dataArr['common'][$jsonKey][] = $valArr;
             } else if ($jsonKey == 'direction') {
-                
+
                 $valArr = [
                     'label' => $label,      // 标题
                     'state' => $devVal,     // 值
@@ -495,14 +495,14 @@ class OpcDataController extends BaseController
                 ];
                 $dataArr['hoist'][$devTypeNum][$jsonKey][] = $valArr;
             }
-            
+
         }
         return $dataArr;
     }
 
     // 制氮
     public function getNitrogenData($dbResult, $getMineCode) {
-        
+
         $dataArr = array();
         $valDict = array();
         $state = 2;
@@ -516,7 +516,7 @@ class OpcDataController extends BaseController
             $devNum     = $val->device_num - 1;         // 设备号
             $unit       = $val->unit;                   // 单位
             $devVal     = $val->val;                    // 数值
-            
+
             if ($jsonKey == 'state') {
                 if($getMineCode == 'qingshuiying') {
                     if(isset($dataArr[$devTypeNum]['state'])) {
@@ -548,13 +548,13 @@ class OpcDataController extends BaseController
         }
         return $dataArr;
     }
-    
+
     // 人车
     public function getMancarData($dbResult) {
         $dataArr = array();
         $valDict = array();
         $state = 2;
-        
+
         foreach ($dbResult as $key => $val) {
             $devName    = $val->dev_type_name;          // 泵名
             $rowNumber  = $val->row_number;             // 排序
@@ -597,7 +597,7 @@ class OpcDataController extends BaseController
         $dataArr = array();
         $valDict = array();
         $state = 2;
-        
+
         foreach ($dbResult as $key => $val) {
             $devName    = $val->dev_type_name;          // 泵名
             $rowNumber  = $val->row_number;             // 排序
@@ -611,7 +611,7 @@ class OpcDataController extends BaseController
 
             $dataArr['name'] = $group_name;
             $dataArr['state'] = 1;
-            
+
             if ($jsonKey == 'parameter') {
                 $valArr = [
                     'label' => $label,      // 标题
@@ -624,7 +624,7 @@ class OpcDataController extends BaseController
         }
         return $dataArr;
     }
-    
+
     // 矿区生活水
     public function getLieWaterData($dbResult) {
         $dataArr = array();
@@ -643,7 +643,7 @@ class OpcDataController extends BaseController
             $unit       = $val->unit;                   // 单位
             $devVal     = $val->val;                    // 数值
             $group_name = $val->group_name;             // 设备名
-            
+
             $valArr = array();
             if ($jsonKey == 'trans_box' ) {
 
@@ -656,9 +656,9 @@ class OpcDataController extends BaseController
                         'name' => $label,      // 标题
                         'state' => $devVal,     // 值
                     ];
-    
+
                     $dataArr['cabinet'][$devTypeNum]['data'][$devNum]['state_list'][] = $valArr;
-                
+
             } else if ($jsonKey == 'trans_box_state') {
                 $dataArr['cabinet'][$devTypeNum]['state'] = $devVal;
             } else if ($jsonKey == 'state_list') {
@@ -700,10 +700,10 @@ class OpcDataController extends BaseController
             $unit       = $val->unit;                   // 单位
             $devVal     = $val->val;                    // 数值
             $group_name = $val->group_name;             // 设备名
-            
+
             $valArr = array();
             if ($jsonKey == 'common') {
-                
+
                 $valArr = [
                     'name' => $label,      // 标题
                     'value' => $devVal,    // 值
@@ -712,14 +712,14 @@ class OpcDataController extends BaseController
 
                 $dataArr['common'][$devNum]['name'] = $devName;
                 $dataArr['common'][$devNum]['data'][] = $valArr;
-                
+
             } else if ($jsonKey == 'cabinet') {
 
                 $valArr = [
                     'name' => $label,     // 标题
                     'state' => $devVal,     // 值
                 ];
-                
+
                 $dataArr['cabinet']['title'] = '供水站变频柜参数';
                 $dataArr['cabinet']['data'][$devNum]['name'] = $devName; // 供水泵名
                 $dataArr['cabinet']['data'][$devNum]['state_list'][] = $valArr;

+ 1 - 0
Modules/OpcData/Routes/api.php

@@ -16,4 +16,5 @@ use Illuminate\Http\Request;
 Route::namespace('Api')->group(function () {
 // Route::middleware('auth:api')->get('/opcdata', function (Request $request) {
     Route::any('opcdata/getData', 'OpcDataController@getData');
+    Route::any('opcdata/getTurboData', 'OPCDataTurboController@getData');
 });

+ 6 - 0
config/database.php

@@ -219,4 +219,10 @@ return [
 
     ],
 
+    'python_api' => [
+        'jinjiaqu' => [
+            'url' => env("OPC_JINJIAQU_PYTHON_API", '127.0.0.1:5000')
+        ]
+    ],
+
 ];