Browse Source

分站信息列表

q 1 year ago
parent
commit
47611c6834

+ 78 - 0
Modules/OpcData/Http/Controllers/Api/CarDownCurrSiteInfoController.php

@@ -0,0 +1,78 @@
+<?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;
+use Illuminate\Support\Facades\DB;
+
+class CarDownCurrSiteInfoController extends BaseController
+{
+    public function getList(Request $request) {
+        $mineCode = isset($request->mine_code) ? $request->mine_code : null;     // 矿分类
+        $carList = $this->getCarInfoList($mineCode);
+
+        $dataTotal = $this->getCarCon($mineCode);
+
+        $data = [
+            "total"=>reset($dataTotal[0]),
+            "list"=>$carList
+        ];
+        return json_encode($data);
+    }
+
+    public function getCarCon($mineCode='zaoquan') {
+        $sqlStr = /** @lang text */
+            "SELECT count(1) con FROM down_site_status";
+
+        return $this->executeSql($sqlStr, 4, $mineCode);
+    }
+
+    // 当前信息详情
+    public function getCarInfoList($mineCode='zaoquan', $page=0, $perPage = 15) {
+
+        if ($mineCode == null) return null;
+
+        $sqlStr = /** @lang text */
+            "SELECT t.site_num,
+                    t.site_status
+               FROM down_site_status t";
+
+        $dbResult = $this->executeSql($sqlStr, 4, $mineCode);
+
+        for($i = 0; $i<count($dbResult); $i++) {
+            $val = $dbResult[$i];
+            $data[] = [
+                'site_num' => $val->site_num,
+                'site_status' => $val->site_status
+            ];
+        }
+        return $data ?? null;
+
+    }
+
+    public function executeSql($sqlStr, $modelname = -1, $mineCode='zaoquan') {
+
+        $conn   = 'etl_'.$mineCode;
+
+        try{
+            $opcDB =  DB::connection($conn);
+            $dbResult = $opcDB->select($sqlStr);
+            return $dbResult;
+        } catch (\Exception $e) {
+            switch ($modelname) {
+                case 1:
+                    return $this->error(-1, '统计超速数量出错!');
+                case 2:
+                    return $this->error(-1, '统计日超速出错!');
+                case 4:
+                    return $this->error(-1, '获取详细列表出错!');
+                default:
+                    return $this->error(-1, '未知错误!');
+            }
+
+        }
+    }
+}