Преглед изворни кода

Merge branch 'zengjun' of ssh://was.baoshi56.com:10022/var/git/bswas

LD пре 4 година
родитељ
комит
bbe78b343d
2 измењених фајлова са 18 додато и 17 уклоњено
  1. 6 6
      app/RejectedBill.php
  2. 12 11
      app/Services/OrderPackageService.php

+ 6 - 6
app/RejectedBill.php

@@ -181,12 +181,12 @@ class RejectedBill extends Model
             $orderIssue->joinRejectedBill($this->logistic_number_return);
             return;
         }
-        // 原单退回
-        if($this->logistic_number === '原单退回'){
-            $orderIssue = OrderIssue::query()->where('order_id',function ($query){
-                $query->from('order_packages')->selectRaw('order_id')->where('logistic_number',$this->logistic_number_return);
-            })->first();
-        }
+
+        // 获取是否有快递单号对应问题件订单存在
+        $orderIssue = OrderIssue::query()->where('order_id',function ($query){
+            $query->from('order_packages')->selectRaw('order_id')->where('logistic_number',$this->logistic_number_return);
+        })->first();
+
         if(!$orderIssue){
             $orderHeader = OracleDOCOrderHeader::query()->selectRaw('OrderNO')->where('SoReference1', function ($query) {
                 $query->select('AsnReference2')->from('DOC_ASN_HEADER')->where('AsnReference3', $this->logistic_number_return)->first();

+ 12 - 11
app/Services/OrderPackageService.php

@@ -223,17 +223,17 @@ class OrderPackageService
         $dataHandlerService = app(DataHandlerService::class);
         $orderPackageCommoditiesService = app('OrderPackageCommoditiesService');
 
-        /** 获取所有的 picktotraceid WMS快递单号*/
-        $logistic_numbers = data_get($orderHeaders,'*.actAllocationDetails.*.picktotraceid');
-
-         /** WMS定制化操作 订单取消 和 京东快递*/
+        $logistic_numbers = array();
         foreach ($orderHeaders as $orderHeader) {
-            if($orderHeader['sostatus'] == '90'){
-                if($orderHeader['soreference5']=='')$logistic_numbers[] =$orderHeader['orderno'];
-                else $logistic_numbers[] = $orderHeader['soreference5'];
-            }
-            if($orderHeader['userdefine1'] == 'JDKD'){
-                $logistic_numbers[] = $orderHeader['soreference5'];
+            if($orderHeader['sostatus'] == '90') {
+                if($orderHeader['soreference5'] == '') $logistic_numbers[$orderHeader['orderno']] = $orderHeader['orderno'];
+                else $logistic_numbers[$orderHeader['soreference5']] = $orderHeader['soreference5'];
+            } elseif ($orderHeader['userdefine1'] == 'JDKD' ){
+                $logistic_numbers[$orderHeader['soreference5']] = $orderHeader['soreference5'];
+            } else {
+                foreach ($orderHeader->actAllocationDetails as $actAllocationDetail) {
+                    $logistic_numbers[$actAllocationDetail['picktotraceid']] =  $actAllocationDetail['picktotraceid'];
+                }
             }
         }
 
@@ -246,8 +246,9 @@ class OrderPackageService
         $exits_number = data_get($packages,'*.logistic_number');
 
         /** WMS快递单号 和 WAS的快递单号 的差集*/
-        $packages = [];
+        $packages = array();
         $diff_number = array_diff($exits_number,$logistic_numbers);
+
         /** 记录差集对应的OrderPackage的id*/
         foreach ($diff_number as $number) {
             $package = $dataHandlerService->getKeyValue(['logistic_number'=>$number],$packages_maps);