فهرست منبع

大王椰出入库

cqpCow 1 سال پیش
والد
کامیت
cb2e7b8273
3فایلهای تغییر یافته به همراه98 افزوده شده و 0 حذف شده
  1. 60 0
      app/Http/Controllers/Api/InOutOptionController.php
  2. 34 0
      app/Service/InOutOptionService.php
  3. 4 0
      routes/api.php

+ 60 - 0
app/Http/Controllers/Api/InOutOptionController.php

@@ -0,0 +1,60 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use App\Service\InOutOptionService;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Redis;
+
+class InOutOptionController extends BaseController
+{
+    public function setOrderNumber(Request $request){
+        $service = new InOutOptionService();
+        list($status,$data) = $service->setOrderNumber($request->all());
+
+        echo 'ok';die;
+    }
+
+    public function getOrderNumber(Request $request){
+        $service = new InOutOptionService();
+        list($status,$data) = $service->getOrderNumber($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
+    public function inout(){
+        $i = 'inout_key_state';
+        $s = Redis::get($i);
+        if($s){
+            $key = 'inout_key';
+            $a = Redis::get($key);
+            if(empty($a)){
+                $a = 1;
+            } else{
+                if($a == 1) $a = 2;
+                else $a = 1;
+            }
+            Redis::set($key,$a);
+
+            if($a == 1) $type = '出库';
+            else $type = '入库';
+
+            $detail = [
+                'project'=>'南京福猴建材有限公司',
+                'type'=>$type,
+                'num'=>'2',
+                'order_no'=>'PG2023101900818',
+                '时间'=>date('Y-m-d H:i:s'),
+            ];
+            Redis::del($i);
+            return $this->json_return(200,'',$detail);
+        }
+
+        return $this->json_return(200,'',[]);
+
+    }
+}

+ 34 - 0
app/Service/InOutOptionService.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Service;
+
+use Illuminate\Support\Facades\Redis;
+
+class InOutOptionService extends Service
+{
+    const OrderKeyQueue = 'InOutOrderNumber';
+
+    public function setOrderNumber($data){
+        if(! empty($data['data']['tagList'])){
+            foreach ($data['data']['tagList'] as $value){
+                Redis::lpush(self::OrderKeyQueue, json_encode($value));
+            }
+        }
+    }
+
+    public function getOrderNumber($data){
+        $data = [];
+        $tmp = [];
+        while ($item = Redis::lpop(self::OrderKeyQueue)) {
+            $order = json_decode($item, true);
+            $order_it = $order['epc'] . $order['direction'];
+            if(! in_array($order_it, $tmp)){
+                $order['epc'] = hex2bin($order['epc']);
+                $data[] = $order;
+                $tmp[] = $order_it;
+            }
+        }unset($tmp);
+
+        return [true, $data];
+    }
+}

+ 4 - 0
routes/api.php

@@ -21,6 +21,10 @@ Route::any('login', 'Api\LoginController@login');
 Route::any('job', 'Api\JobController@processDataJobAdd');
 Route::any('job_device', 'Api\JobController@processDataJobAddDevice');
 Route::any('man_device', 'Api\JobController@processDataJobAddDeviceMan');
+//通道门传输的数据保存单号
+Route::any('setOrderNumber', 'Api\InOutOptionController@setOrderNumber');
+//获取单号
+Route::any('getOrderNumber', 'Api\InOutOptionController@getOrderNumber');
 Route::any('del', 'Api\JobController@delKey');
 Route::any('oee', 'Api\ScreenController@oee');
 Route::any('wyOee', 'Api\ScreenController@wyOee');