Explorar o código

海柔接口,库存体积监听记录区分加库位

Zhouzhendong %!s(int64=5) %!d(string=hai) anos
pai
achega
eaebb0cda7

+ 3 - 3
app/Console/Commands/InventoryDailyLoggingOwner.php

@@ -71,11 +71,11 @@ class InventoryDailyLoggingOwner extends Command
         $inventoryDailyLogs = [];
         foreach ($invLots as $invLot){
             //以MAP形式记录进数组,货主code与商品sku作为联合主键唯一标识,如重复叠加其数量
-            if ($inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku] ?? false){
-                $inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku]['amount'] += $invLot->qty;
+            if ($inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku.'-'.$invLot->lotatt05] ?? false){
+                $inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku.'-'.$invLot->lotatt05]['amount'] += $invLot->qty;
             }else{
                 //符合的结果取此对象的关键信息存进第一个数组
-                $inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku] = [
+                $inventoryDailyLogs[$owners[$invLot->customerid].'-'.$invLot->sku.'-'.$invLot->lotatt05] = [
                     'commodity' => [
                         'owner_id'=>$owners[$invLot->customerid],
                         'sku'=>$invLot->sku,

+ 39 - 37
app/Http/Controllers/api/thirdPart/haiq/StorageController.php

@@ -11,52 +11,54 @@ use Illuminate\Support\Facades\Request;
 class StorageController
 {
     public function out(Request $request){
-        $bin = json_encode([
-            "taskCode" => "",
-            "binCode" => "",
-            "sequence" => 0,
-            "fromLocCode" => "",
-            "toLocCode" => "",
-        ],JSON_UNESCAPED_UNICODE);
-        $req = [
-            "groupCode" => 0,
-            "priority" => 0,
-            "taskMode" => 0,
-            "emptyBinQty" => 0,
-            "toWorkStations" => [""],
-            "bins" => [$bin],
+        $bin = [
+            "taskCode" => "TEST-BS2010100001",//任务编号
+            "binCode" => "TEST-BIN01",//料箱编码
+            "sequence" => -1,//出库顺序 -1表示没有顺序,只有移库出库时需要指定顺序,其他可为-1
+            "fromLocCode" => "TEST-J04-058-3",//源库位编码
+            "toLocCode" => "TEST-J24-128-7",//目标库位编码 出库填多个,表示这些库位都可以支持
         ];
+        $req = [[
+            "groupCode" => 1,//组号/波次号 决定了出库的顺序,越大优先级越高
+            "priority" => 99,//优先级 1-100 1最低
+            "taskMode" => 1,//任务模式 1(拣货出库) 2(入库指定料箱出库) 3(盘点出库) 4(移库出库) 5(入库不指定料箱出库)
+            "emptyBinQty" => -1,//需求空料箱数量 taskMode 为 3 时必填, 其他时候可以传-1
+            "toWorkStations" => ["TEST-HQ01","TEST-HQ02",],//出库工作站 不指定具体一个,指定多个
+            "bins" => [$bin],//可执行货箱任务
+        ]];
 
-        $req = json_encode($req, JSON_UNESCAPED_UNICODE);
-        $response = Http::post(config('api.haiq.storage.out'));
-        $msg = "haiq-料箱出库成功";
+        $response = Http::post(config('api.haiq.storage.out'),$req);
+        return $response;
         if ($response["code"] != 200){
-            $msg = "haiq-料箱出库失败";
+            LogService::log(__METHOD__,"haiq-料箱出库失败","REQUEST:".json_encode($req)." | RESPONSE:".$response);
+            return ['success'=>false,"data"=>$response["errMsg"]];
         }
-        LogService::log(__METHOD__,$msg,"REQUEST:".$req." | RESPONSE:".json_encode($response,JSON_UNESCAPED_UNICODE));
+        LogService::log(__METHOD__,"haiq-料箱出库成功","REQUEST:".json_encode($req)." | RESPONSE:".$response);
+        return ["success"=>true];
     }
     public function in(Request $request){
-        $stockInfo = json_encode([
-            "skuCode" => "",
-            "qty" => 0,
-        ]);
-        $req = [
-            "taskCode" => "",
-            "taskMode" => 0,
-            "binCode" => "",
-            "fromWorkStation" => "",
-            "fromLocCode" => "",
-            "toLocCode" => "",
-            "isEmpty" => 0,
-            "stockInfo" => [$stockInfo],
+        $stockInfo = [
+            "skuCode" => "TEST-BSSKU",//商品编码 sku
+            "qty" => 9,//数量
         ];
+        $req = [[
+            "taskCode" => "TEST-BSSTIN2010100001",//任务编号
+            "taskMode" => 1,//任务类型 1(出库回库) 2(入库回库) 3(盘点回库) 4(移库回库)
+            "binCode" => "TEST-BIN01",//料箱编号
+            "fromWorkStation" => "TEST-HQ01",//回库工作站
+            "fromLocCode" => "TEST-JH-0025",//源库位编码
+            "toLocCode" => "TEST-JH-001",//目标库位编码
+            "isEmpty" => 1,//料箱是否为空 0(为空) 1(不为空)
+            "stockInfo" => [$stockInfo],//商品信息
+        ]];
 
-        $req = json_encode($req, JSON_UNESCAPED_UNICODE);
-        $response = Http::post(config('api.haiq.storage.in'));
-        $msg = "haiq-料箱回库成功";
+        $response = Http::post(config('api.haiq.storage.in'),$req);
+        return $response;
         if ($response["code"] != 200){
-            $msg = "haiq-料箱回库失败";
+            LogService::log(__METHOD__,"haiq-料箱回库失败","REQUEST:".json_encode($req)." | RESPONSE:".$response);
+            return ['success'=>false,'data'=>$response["errMsg"]];
         }
-        LogService::log(__METHOD__,$msg,"REQUEST:".$req." | RESPONSE:".json_encode($response,JSON_UNESCAPED_UNICODE));
+        LogService::log(__METHOD__,"haiq-料箱回库成功","REQUEST:".json_encode($req)." | RESPONSE:".$response);
+        return ["success"=>true];
     }
 }

+ 3 - 0
app/Providers/RouteServiceProvider.php

@@ -87,5 +87,8 @@ class RouteServiceProvider extends ServiceProvider
         Route::prefix('api/thirdPart/weixin')
             ->namespace('App\Http\Controllers\Api\thirdPart\weixin')
             ->group(base_path('routes/api/thirdPart/weixin.php'));
+        Route::prefix('api/thirdPart/haiq')
+            ->namespace('App\Http\Controllers\api\thirdPart\haiq')
+            ->group(base_path('routes/api/thirdPart/haiq.php'));
     }
 }

+ 2 - 2
config/api.php

@@ -31,8 +31,8 @@ return [
 
     'haiq'=>[
         'storage'=>[
-            'out' => "",
-            'in' => "",
+            'out' => "http://59.37.126.227:65448/api/haiqEss/gr/HAIQ_ESS_BIN_OUTBOUND_MSG",
+            'in' => "http://59.37.126.227:65448/api/haiqEss/gr/HAIQ_ESS_BIN_INBOUND_MSG",
         ],
     ],
 

+ 13 - 0
routes/api/thirdPart/haiq.php

@@ -0,0 +1,13 @@
+<?php
+
+use Illuminate\Support\Facades\Route;
+
+/*
+文件地址前缀:/api/thirdPart/haiq
+*/
+
+
+Route::group(['prefix'=>'storage'],function(){
+    Route::post('out', "StorageController@out");//出库
+    Route::post('in', "StorageController@in");//入库
+});

+ 13 - 0
tests/webApi/thirdPart/haiq/storage.http

@@ -0,0 +1,13 @@
+# For a quick start check out our HTTP Requests collection (Tools|HTTP Client|Open HTTP Requests Collection).
+##
+## Following HTTP Request Live Templates are available:
+## * 'gtrp' and 'gtr' create a GET request with or without query parameters;
+## * 'ptr' and 'ptrp' create a POST request with a simple or parameter-like body;
+## * 'mptr' and 'fptr' create a POST request to submit a form with a text or file field (multipart/form-data);
+
+POST http://bswas/api/thirdPart/haiq/storage/in
+
+###
+
+
+