cqpCow 2 سال پیش
والد
کامیت
809478d2bd

+ 19 - 0
app/Http/Controllers/Api/ErrorOperationController.php

@@ -0,0 +1,19 @@
+<?php
+namespace App\Http\Controllers\Api;
+
+use App\Service\ErrorOperationService;
+use Illuminate\Http\Request;
+
+class ErrorOperationController extends BaseController
+{
+    public function errorList(Request $request){
+        $service = new ErrorOperationService();
+        list($status,$data) = $service->errorList($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+}

+ 3 - 1
app/Jobs/ProcessDataJob.php

@@ -174,7 +174,9 @@ class ProcessDataJob implements ShouldQueue
         $model = new ErrorTable();
         $model->msg = $msg;
         $model->data = json_encode($this->data);
-        $model->user_data = json_encode($this->user);
+        $model->user_id = $this->user['id'];
+        $model->user_operation_time = $this->user['operate_time'];
+        $model->type = $this->type;
         $model->save();
     }
 

+ 5 - 0
app/Model/ErrorTable.php

@@ -12,4 +12,9 @@ class ErrorTable extends Model
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
 
+    public static $type = [
+        1 => '完工操作:PC',
+        2 => '包装单扫描出库操作:MOBILE',
+        3 => '完工操作:MOBILE',
+    ];
 }

+ 43 - 0
app/Service/ErrorOperationService.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace App\Service;
+
+
+use App\Model\Employee;
+use App\Model\ErrorTable;
+
+class ErrorOperationService extends Service
+{
+    public function errorList($data){
+        $model = ErrorTable::where('del_time',0)
+            ->select('msg','data','user_id','user_operation_time','type')
+            ->orderBy('id','desc');
+
+        if(! empty($data['user_id'])) $model->where('user_id', $data['user_id']);
+        if(! empty($data['user_operation_time'][0]) && ! empty($data['user_operation_time'][1])) $model->whereBetween('user_operation_time',[$data['user_operation_time'][0],$data['user_operation_time'][1]]);
+        if(! empty($data['type'])) $model->where('type',$data['type']);
+
+        $list = $this->limit($model,'',$data);
+        $list = $this->fillData($list);
+
+        return [true,$list];
+    }
+
+    public function fillData($data){
+        if(empty($data['data'])) return $data;
+
+        date_default_timezone_set("PRC");
+
+        $emp_map = Employee::whereIn('id',array_column($data['data'],'user_id'))
+            ->pluck('emp_name','id')
+            ->toArray();
+
+        foreach ($data['data'] as $key => $value){
+            $data['data'][$key]['user_name'] = $emp_map[$value['user_id']] ?? '';
+            $data['data'][$key]['user_operation_time'] = $value['user_operation_time'] ? date('Y-m-d H:i:s',$value['user_operation_time']) : '';
+            $data['data'][$key]['type_name'] = ErrorTable::$type[$value['type']] ?? '';
+        }
+
+        return $data;
+    }
+}

+ 3 - 0
routes/api.php

@@ -161,6 +161,9 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     //删除单据统一入口
     $route->any('delOrders','Api\DeleteOrderController@del');
 
+    //队列任务错误列表
+    $route->any('errorList','Api\ErrorOpeartionController@errorList');
+
     $route->any('productList', 'Api\MaterialController@productList');
     $route->any('productEdit', 'Api\MaterialController@edit');
     $route->any('productAdd', 'Api\MaterialController@edd');