Преглед на файлове

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

LD преди 5 години
родител
ревизия
ec544ac309

+ 2 - 2
app/Services/OracleDOCOrderHeaderService.php

@@ -36,7 +36,7 @@ class OracleDOCOrderHeaderService
             },'oracleDOCOrderDetails'=>function($query){
                 $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered,doc_order_details.Location,doc_order_details.OrderLineNo,doc_order_details.d_edi_03');
             }, 'actAllocationDetails'=>function($query){
-                $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location,ACT_Allocation_Details.SkuLineNo,ACT_Allocation_Details.OrderLineno');
+                $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location,ACT_Allocation_Details.SkuLineNo,ACT_Allocation_Details.OrderLineno,ACT_Allocation_Details.CheckTime');
             },'oracleBASCode'=>function($query){
                 $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
             },'orderType'=>function($query){
@@ -115,7 +115,7 @@ class OracleDOCOrderHeaderService
         },'oracleDOCOrderDetails'=>function($query){
             $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered,doc_order_details.Location,doc_order_details.OrderLineNo,doc_order_details.d_edi_03');
         }, 'actAllocationDetails'=>function($query){
-            $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location,ACT_Allocation_Details.SkuLineNo,ACT_Allocation_Details.OrderLineno');
+            $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku,ACT_Allocation_Details.Location,ACT_Allocation_Details.SkuLineNo,ACT_Allocation_Details.OrderLineno,ACT_Allocation_Details.CheckTime');
         },'oracleBASCode'=>function($query){
             $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
         },'orderType'=>function($query){

+ 11 - 6
app/Services/OrderPackageService.php

@@ -233,14 +233,19 @@ class OrderPackageService
         foreach ($packages as $package) {
             if ($package->sent_at) continue;
             try {
-                $data = $map[$package->logistic_number];
+                $checktime = $map[$package->logistic_number];
             } catch (\Exception $e) {
                 continue;
             }
-            $update_params[] = [
-                'id'=>$package->id,
-                'sent_at' => $data->checktime,
-            ];
+            if ($checktime) {
+                $update_params[] = [
+                    'id' => $package->id,
+                    'sent_at' => $checktime,
+                ];
+            }else {
+                continue;
+            }
+
         }
         $this->batchUpdate($update_params);
     }
@@ -256,7 +261,7 @@ class OrderPackageService
             $actAllocationDetails = $orderHeader->actAllocationDetails;
             foreach ($actAllocationDetails as $actAllocationDetail) {
                 $logistic_number = $actAllocationDetail->picktotraceid;
-                $map[$logistic_number] = $actAllocationDetail;
+                $map[$logistic_number] = $actAllocationDetail->checktime;
             }
         }
         return $map;

+ 16 - 1
tests/Services/OrderPackageService/SyncOrderPackageTest.php

@@ -100,7 +100,22 @@ class SyncOrderPackageTest extends TestCase
         $this->service->syncOrderPackage($orderHeaders);
         $actAllocationDetails = $this->data['orderHeader']->actAllocationDetails;
         foreach ($actAllocationDetails as $actAllocationDetail) {
-            $actAllocationDetail->checktime = '2020-11-01';
+            $actAllocationDetail->checktime = '2020-11-01 00:00:00';
+        }
+        $this->service->syncOrderPackage($orderHeaders);
+        $orderPackages = OrderPackage::query()->where('order_id',$this->data['order']['id'])->get();
+        $this->assertEquals('2020-11-01 00:00:00', $orderPackages->first()->sent_at);
+    }
+
+    /**
+     * @test
+     */
+    public function actAllocationDetail_has_send_at_at_first_time()
+    {
+        $orderHeaders = collect([$this->data['orderHeader']]);
+        $actAllocationDetails = $this->data['orderHeader']->actAllocationDetails;
+        foreach ($actAllocationDetails as $actAllocationDetail) {
+            $actAllocationDetail->checktime = '2020-11-01 00:00:00';
         }
         $this->service->syncOrderPackage($orderHeaders);
         $orderPackages = OrderPackage::query()->where('order_id',$this->data['order']['id'])->get();