Explorar o código

添加网格化人员轨迹接口

qiuzijian hai 1 ano
pai
achega
197c17d25d

+ 35 - 0
Modules/Admin/Http/Controllers/Api/ApiController.php

@@ -0,0 +1,35 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: qiuzijian
+ * Date: 6/22/24
+ * Time: 12:32 PM
+ */
+
+namespace Modules\Admin\Http\Controllers\Api;
+
+use App\Enum\ApiEnum;
+use App\Http\Controllers\Api\BaseController;
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Input;
+use Modules\Admin\Entities\User;
+use Modules\Admin\Http\Requests\TokenRequest;
+use Modules\Admin\Services\ApiService;
+use Modules\Staff\Entities\Staff;
+use Symfony\Component\HttpFoundation\Response;
+
+class ApiController extends BaseController
+{
+    //网格化人员轨迹
+    public function getPersonTravel(Request $request)
+    {
+        $person_id = Input::get('person_id', '');
+        $date = Input::get('date', '');
+        if (!$person_id) {
+            return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
+        }
+        $result = ApiService::getPersonTravel($person_id, $date);
+        return self::successResponse($result);
+    }
+}

+ 3 - 0
Modules/Admin/Routes/api.php

@@ -21,4 +21,7 @@ Route::namespace('Api')->group(function () {
     //获取api认证token
     Route::post('oauth/token', 'TokenController@token');
     Route::post('check_token', 'TokenController@checkToken');
+
+    //网格化人员轨迹
+    Route::post('fanwei/downwell/now/month/info', 'ApiController@getPersonTravel');
 });

+ 64 - 0
Modules/Admin/Services/ApiService.php

@@ -0,0 +1,64 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: qiuzijian
+ * Date: 6/22/24
+ * Time: 12:34 PM
+ */
+
+namespace Modules\Admin\Services;
+
+use App\Enum\ApiEnum;
+use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Log;
+use Modules\Admin\Entities\Menu;
+
+class ApiService{
+
+    public function __construct()
+    {
+
+    }
+
+    public static function getPersonTravel($person_id, $date = '')
+    {
+        $result['status'] = true;
+        $result['msg']    = ApiEnum::RETURN_SUCCESS;
+        $result['data']   = [];
+
+        if (!$date) {
+            $date = date('Y-m-d', time());
+        }
+
+        $res = [];
+        $area_arr = [];
+
+        $query = DB::connection('mysql_fwview')->table('uf_wghgl_new')
+                   ->where('lrr', $person_id)->where('lrsj', 'like', '%' . $date . '%')
+                   ->orderBy('lrsj', 'asc')->get();
+        foreach ($query as $key => $val) {
+            $area_arr[] = $val->jcqy;
+            $res[] = [
+                'area'    => $val->jcqy,
+                'date'    => $val->lrsj,
+                'data_id' => $val->id,
+                'url'     => '/mobilemode/formbasebrowserview.jsp?billid=' . $val->id . '&modeId=580&formId=-976',
+            ];
+        }
+        $area_list = DB::connection('mysql_fwview')->table('formtable_main_974')
+                       ->whereNotIn('qymc', $area_arr)->orderBy('areaid', 'asc')->get();
+        foreach ($area_list as $area) {
+            $res[] = [
+                'area'    => $area,
+                'date'    => '',
+                'data_id' => '',
+                'url'     => '',
+            ];
+        }
+
+        $result['data'] = $res;
+
+        return $result;
+    }
+}

+ 19 - 0
config/database.php

@@ -222,6 +222,25 @@ return [
                 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
             ]) : [],
         ],
+
+        'mysql_fwview' => [
+            'driver'         => env('DB_JJQKUANGYA_CONNECTION', 'mysql'),
+            'host'           => env('DB_JJQKUANGYA_HOST', '10.186.134.143'),
+            'port'           => env('DB_JJQKUANGYA_PORT', '3306'),
+            'database'       => env('DB_JJQKUANGYA_DATABASE', 'ecology'),
+            'username'       => env('DB_JJQKUANGYA_USERNAME', 'ecology'),
+            'password'       => env('DB_JJQKUANGYA_PASSWORD', 'Weavere9_2021'),
+            'unix_socket'    => '',
+            'charset'        => 'utf8mb4',
+            'collation'      => 'utf8mb4_general_ci',
+            'prefix'         => '',
+            'prefix_indexes' => true,
+            'strict'         => true,
+            'engine'         => null,
+            'options'        => extension_loaded('pdo_mysql') ? array_filter([
+                                                                                 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+                                                                             ]) : [],
+        ],
     ],
 
     /*