Browse Source

修改货主二次分拣计件问题

loustwo 3 years ago
parent
commit
c6bf3d7bea

+ 6 - 1
app/Http/Controllers/api/thirdPart/haochuang/SortingController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\api\thirdPart\haochuang;
 
 use App\Batch;
 use App\CommodityBarcode;
+use App\Exceptions\Exception;
 use App\Http\Controllers\Controller;
 use App\OracleDOCWaveDetails;
 use App\Order;
@@ -192,7 +193,11 @@ SQL;
         (new WaveService())->sendPiece("HC-ST-".$messageId, UserToken::getUser($token)->id ?? '0', $ownerId,
                                             $warehouseId, date("Y-m-d H:i:s"), $number);
 
-        (new WaveService())->sendOwnerPiece($batch_id,$warehouseId,$ownerId,date("Y-m-d H:i:s"));
+        try{
+            (new WaveService())->sendOwnerPiece($batch_id,UserToken::getUser($token)->id ?? '0',$warehouseId,$ownerId,date("Y-m-d H:i:s"));
+        }catch (\Exception $e){
+            app('LogService')->log("二次分拣货主计件",  "上传失败", $batch_id.$warehouseId.$ownerId.date("Y-m-d H:i:s").$e->getMessage());
+        }
         return $data;
     }
 

+ 18 - 17
app/Services/WaveService.php

@@ -232,8 +232,9 @@ class WaveService
         return $count == 0;
     }
 
-    public function sendPiece($messageId, $userId, $ownerId, $warehouseId, $date, $number) {
-        $url = config('api.java.base').config('api.java.piece.log.record');
+    public function sendPiece($messageId, $userId, $ownerId, $warehouseId, $date, $number)
+    {
+        $url = config('api.java.base') . config('api.java.piece.log.record');
         $request = [
             "user_type" => 0,
             "job_type" => "二次分拣",
@@ -247,57 +248,57 @@ class WaveService
             "owner_id" => $ownerId,
             "item_number" => $number,
         ];
-        app('LogService')->log("二次分拣计件",  "通知服务端", json_encode($request));
+        app('LogService')->log("二次分拣计件", "通知服务端", json_encode($request));
         $http = Http::post($url, $request);
         if (!$http->successful()) {
-            app('LogService')->log("二次分拣计件",  "sendPiece", '发送失败:'.$http->body());
+            app('LogService')->log("二次分拣计件", "sendPiece", '发送失败:' . $http->body());
             return;
         }
         $result = $http->json();
         if ($result["code"] != 200) {
-            app('LogService')->log("二次分拣计件",  "sendPiece", '服务端错误:'.$http->body());
+            app('LogService')->log("二次分拣计件", "sendPiece", '服务端错误:' . $http->body());
         }
     }
 
 
-    public function sendOwnerPiece($batch_id,$warehouseId,$ownerId,$date)
+    public function sendOwnerPiece($batch_id,$userId, $warehouseId, $ownerId, $date)
     {
         $url = config('api.java.base') . config('api.java.piece.ownerLog.delivery');
         $waveQuery = OracleDOCWaveDetails::query()->select("orderNo")->where("waveNo", $batch_id);
         $items = OracleDOCOrderDetail::query()->whereIn("orderNo", $waveQuery)->get();
         if (count($items) == 0) {
-            app('LogService')->log("二次分拣货主计件",  "batch_id details is null", $batch_id);
+            app('LogService')->log("二次分拣货主计件", "batch_id details is null", $batch_id);
             return;
         }
         foreach ($items as $orderDetail) {
-            $basSku = OracleBasSKU::query()->where("CUSTOMERID",$orderDetail->customerid)->where("sku",$orderDetail->sku)->first();
-            if(null == $basSku){
-                app('LogService')->log("二次分拣货主计件",  "CUSTOMERID sku is null", $orderDetail->customerid.$orderDetail->sku);
+            $basSku = OracleBasSKU::query()->where("CUSTOMERID", $orderDetail->customerid)->where("sku", $orderDetail->sku)->first();
+            if (null == $basSku) {
+                app('LogService')->log("二次分拣货主计件", "CUSTOMERID sku is null", $orderDetail->customerid . $orderDetail->sku);
                 continue;
             }
             $request = [
-                "messageId" => $batch_id.$orderDetail->orderno.$orderDetail->sku.$orderDetail->orderlineno ,
+                "messageId" => $batch_id . $orderDetail->orderno . $orderDetail->sku . $orderDetail->orderlineno,
                 "deliveryOrderCode" => $orderDetail->orderno,
                 "warehouseId" => $warehouseId,
                 "ownerId" => $ownerId,
-                "userId" => Auth::user()['id'],
+                "userId" => $userId,
                 "userType" => 0,
                 "jobType" => "二次分拣",
                 "jobName" => "二次分拣",
                 "pieceTime" => $date,
-                "number" => $orderDetail->qtyordered_each,
-                "itemNumber" =>$orderDetail->qtyordered_each,
+                "number" => $orderDetail->qtyordered_each ?? 0,
+                "itemNumber" => $orderDetail->qtyordered_each,
                 "commodityName" => $basSku->descr_c
             ];
-            app('LogService')->log("二次分拣货主计件",  "通知服务端", json_encode($request));
+            app('LogService')->log("二次分拣货主计件", "通知服务端", json_encode($request));
             $http = Http::post($url, $request);
             if (!$http->successful()) {
-                app('LogService')->log("二次分拣货主计件",  "sendPiece", '发送失败:'.$http->body());
+                app('LogService')->log("二次分拣货主计件", "sendPiece", '发送失败:' . $http->body());
                 return;
             }
             $result = $http->json();
             if ($result["code"] != 200) {
-                app('LogService')->log("二次分拣货主计件",  "sendPiece", '服务端错误:'.$http->body());
+                app('LogService')->log("二次分拣货主计件", "sendPiece", '服务端错误:' . $http->body());
             }
         }
     }