فهرست منبع

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

任敬轩 1 سال پیش
والد
کامیت
d30f408f12
4فایلهای تغییر یافته به همراه183 افزوده شده و 0 حذف شده
  1. 47 0
      Modules/Admin/Http/Controllers/Api/ApiController.php
  2. 5 0
      Modules/Admin/Routes/api.php
  3. 112 0
      Modules/Admin/Services/ApiService.php
  4. 19 0
      config/database.php

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

@@ -0,0 +1,47 @@
+<?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 getQueryConition(Request $request)
+    {
+        $date = Input::get('date', '');
+        if (!$date) {
+            return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
+        }
+        $result = ApiService::getQueryConitions($date);
+        return self::successResponse($result);
+    }
+
+    //网格化人员轨迹
+    public function getPersonTravel(Request $request)
+    {
+        $person_id = Input::get('person_id', '');
+        $depart = Input::get('depart', '');
+        $date = Input::get('date', '');
+        if (!$person_id || !$depart) {
+            return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
+        }
+        $result = ApiService::getPersonTravel($person_id, $depart, $date);
+        return self::successResponse($result);
+    }
+}

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

@@ -21,4 +21,9 @@ Route::namespace('Api')->group(function () {
     //获取api认证token
     Route::post('oauth/token', 'TokenController@token');
     Route::post('check_token', 'TokenController@checkToken');
+
+    //网格化人员轨迹查询条件
+    Route::post('fanwei/get_query_conition', 'ApiController@getQueryConition');
+    //网格化人员轨迹
+    Route::post('fanwei/get_person_travel', 'ApiController@getPersonTravel');
 });

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

@@ -0,0 +1,112 @@
+<?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 getQueryConitions($date = '')
+    {
+        $result['status'] = true;
+        $result['msg']    = ApiEnum::RETURN_SUCCESS;
+        $result['data']   = [];
+
+        if (!$date) {
+            $date = date('Y-m-d', time());
+        }
+
+        $depart = DB::connection('mysql_fwview')->table('hrmdepartment')
+                   ->where('subcompanyid1', 49)
+                   ->where('departmentname', 'like', '%' . '洗煤厂')
+                   ->where('id', '!=', 1602)->get();
+
+        $depart_arr = [];
+        foreach ($depart as $key => $val) {
+            $depart_name = str_replace('洗选中心', '', $val->DEPARTMENTNAME);
+            $depart_arr[$key] = [
+                'name' => $depart_name,
+
+            ];
+            $query = DB::connection('mysql_fwview')->table('uf_wghgl_new')
+                       ->join('hrmresource', 'uf_wghgl_new.lrr', '=', 'hrmresource.id')
+                       ->where('xjdw1', $depart_name)
+                       ->where('lrsj', 'like', '%' . $date . '%')
+                       ->groupBy('lrr')->select(
+                            [
+                                'hrmresource.lastname as person_name',
+                                'uf_wghgl_new.lrr as person_id'
+                            ]
+                        )->get();
+            $query = json_decode($query);
+            $depart_arr[$key]['person_list'] = $query;
+        }
+
+        $result['data'] = $depart_arr;
+
+        return $result;
+    }
+
+    public static function getPersonTravel($person_id, $depart, $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 . '%')
+                   ->where('xjdw1', $depart)
+                   ->orderBy('lrsj', 'asc')->get();
+        $query = json_decode($query);
+        if ($query) {
+            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)
+                           ->where('szxmc', $depart)->orderBy('areaid', 'asc')->get();
+            foreach ($area_list as $area) {
+                $res[] = [
+                    'area'    => $area->qymc,
+                    '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'),
+                                                                             ]) : [],
+        ],
     ],
 
     /*