소스 검색

Delivery修改

ajun 4 년 전
부모
커밋
f016402164
2개의 변경된 파일16개의 추가작업 그리고 10개의 파일을 삭제
  1. 13 8
      app/Services/DeliveryService.php
  2. 3 2
      app/Services/Interfaces/DeliveryInterface.php

+ 13 - 8
app/Services/DeliveryService.php

@@ -2,6 +2,7 @@
 
 namespace App\Services;
 
+use App\OracleDocOrderDeliveryInfo;
 use App\OracleDOCOrderHeader;
 
 class DeliveryService
@@ -14,15 +15,20 @@ class DeliveryService
             $orderHeaders = OracleDOCOrderHeader::query()->selectRaw('orderno')->whereIn('WaveNo',$batchCodes)->get()->toArray();
             $orderCodes = array_unique(array_merge($orderCodes,array_column($orderHeaders,'orderno')));
         }
+        if ($orderCodes) {
+            $deliveryInfo = OracleDocOrderDeliveryInfo::query()->selectRaw('trackingNo')->whereIn('orderno',$orderCodes)->get()->toArray();
+            $logisticNumbers = array_unique(array_merge($logisticNumbers,array_column($deliveryInfo,'trackingno')));
+        }
+
+        $OracleDocOrderDeliveryInfos = OracleDocOrderDeliveryInfo::query()->with('docOrderHeader')->whereIn('trackingNo',$logisticNumbers)->get();
 
-        $tbParams = app(TBDeliveryService::class)->getDeliveryInfo($orderCodes,$logisticNumbers);
-        $pddParams = app(PDDDeliveryService::class)->getDeliveryInfo($orderCodes,$logisticNumbers);
-        $sfParams = app(SFDeliveryService::class)->getDeliveryInfo($orderCodes,$logisticNumbers);
-        $jdParams = app(JDDeliveryService::class)->getDeliveryInfo($orderCodes,$logisticNumbers);
-        $sfQhdParams = app(SFQHDDeliveryService::class)->getDeliveryInfo($orderCodes,$logisticNumbers);
+        $tbParams = app(TBDeliveryService::class)->getDeliveryInfo($OracleDocOrderDeliveryInfos);
+        $pddParams = app(PDDDeliveryService::class)->getDeliveryInfo($OracleDocOrderDeliveryInfos);
+        $sfParams = app(SFDeliveryService::class)->getDeliveryInfo($OracleDocOrderDeliveryInfos);
+        $jdParams = app(JDDeliveryService::class)->getDeliveryInfo($logisticNumbers);
+        $sfQhdParams = app(SFQHDDeliveryService::class)->getDeliveryInfo($logisticNumbers);
 
-        $params = array_merge($tbParams,$pddParams,$sfParams,$jdParams,$sfQhdParams);
-        return $params;
+        return array_merge($tbParams,$pddParams,$sfParams,$jdParams,$sfQhdParams);
     }
 
     public function conversionPrintData($printStr): array
@@ -34,7 +40,6 @@ class DeliveryService
             elseif (strstr($no, 'W')) $batchesCodes[] = $no;
             else $logisticNumbers[] = $no;
         }
-
         return [$batchesCodes ?? [], $orderCodes ?? [], $logisticNumbers ?? []];
     }
 

+ 3 - 2
app/Services/Interfaces/DeliveryInterface.php

@@ -2,10 +2,11 @@
 
 namespace App\Services\Interfaces;
 
+
 interface DeliveryInterface
 {
-    function getDeliveryInfo($orderCodes, $logisticNumbers);
+    function getDeliveryInfo($oracleDocOrderDeliveryInfos);
     function getDelivery($item);
     function getBase64($item);
-    function processing($params);
+    function processing(& $params);
 }