瀏覽代碼

orderTracking 页面

ajun 5 年之前
父節點
當前提交
1e7a93f28f

+ 36 - 0
app/Http/Controllers/TestController.php

@@ -1384,4 +1384,40 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
             if($bool)app('LogService')->log(__METHOD__, __FUNCTION__, '删除OrderIssue:' . json_encode($orderIssues));
         }
     }
+
+    public function testChangeOrderTracking()
+    {
+        /** @var OrderTrackingService $service */
+        $service = app(OrderTrackingService::class);
+        $maxId= \App\OrderTracking::query()->orderByDesc('id')->first();
+        $orderTracking_min = \App\OrderTracking::query()->where('logistic_id',0)->orderBy('id')->first();
+         if(!$maxId)return;
+        $maxId = $maxId->id;
+        $minId= $orderTracking_min->id;
+        $logistic = \App\Logistic::query()->where('name','新杰物流')->first();
+        $logistic_zt = \App\Logistic::query()->where('name','自提')->first();
+        for ($i=$minId;$i<= $maxId;$i+=100){
+            $orderTrackings = \App\OrderTracking::query()
+                ->where('id','>=',$i)
+                ->where('id','<=',$i+100)
+                ->where('logistic_id','=',0)
+                ->get();
+            if($orderTrackings->count() ==0) continue;
+            $update_params = [['id','logistic_id']];
+            $orderTrackings->each(function($orderTracking)use($logistic_zt,$logistic,&$update_params){
+                $order =$orderTracking->commodities->package->order;
+                $logistic_id = $order->logistic_id;
+                if($logistic_id!=null){
+                    if($order->logistic_id == $logistic_zt->id)$logistic_id = $logistic->id;
+                    if($logistic_id==0)dd($order,$logistic_id);
+                    $update_params[] = [
+                        'id' => $orderTracking->id,
+                        'logistic_id' => $logistic_id,
+                    ];
+                }
+            });
+//            dd($update_params);
+            $service->batchUpdate($update_params);
+        }
+    }
 }

+ 14 - 9
database/migrations/2020_12_23_174008_add_column_logistic_id_to_order_trackings.php

@@ -37,28 +37,33 @@ class AddColumnLogisticIdToOrderTrackings extends Migration
         /** @var OrderTrackingService $service */
         $service = app(OrderTrackingService::class);
         $maxId= \App\OrderTracking::query()->orderByDesc('id')->first();
+        $orderTracking_min = \App\OrderTracking::query()->where('logistic_id',0)->orderBy('id')->first();
         if(!$maxId)return;
         $maxId = $maxId->id;
+        $minId= $orderTracking_min->id;
         $logistic = \App\Logistic::query()->where('name','新杰物流')->first();
         $logistic_zt = \App\Logistic::query()->where('name','自提')->first();
-        for ($i=0;$i<= $maxId;$i+=100){
+        for ($i=$minId;$i<= $maxId;$i+=100){
             $orderTrackings = \App\OrderTracking::query()
                 ->where('id','>=',$i)
                 ->where('id','<=',$i+100)
+                ->where('logistic_id','=',0)
                 ->get();
-            if($orderTrackings->count() ==0) return;
+            if($orderTrackings->count() ==0) continue;
             $update_params = [['id','logistic_id']];
-            $orderTrackings->each(function($orderTracking,$logistic_zt,$logistic,&$update_params){
+            $orderTrackings->each(function($orderTracking)use($logistic_zt,$logistic,&$update_params){
                 $order =$orderTracking->commodities->package->order;
                 $logistic_id = $order->logistic_id;
-                if($order->logistic_id == $logistic_zt->id)$logistic_id = $logistic->id;
-                $update_params[] = [
-                    'id' => $orderTracking->id,
-                    'logistic_id' => $logistic_id,
-                ];
+                if($logistic_id!=null){
+                    if($order->logistic_id == $logistic_zt->id)$logistic_id = $logistic->id;
+                    if($logistic_id==0)dd($order,$logistic_id);
+                    $update_params[] = [
+                        'id' => $orderTracking->id,
+                        'logistic_id' => $logistic_id,
+                    ];
+                }
             });
             $service->batchUpdate($update_params);
-            unset($service);
         }
     }
 }

+ 10 - 7
resources/views/order/tracking/index.blade.php

@@ -143,14 +143,17 @@
                             @endcan
                         </td>
                         <td class="td-yellow">
-                            <span v-if="['新杰物流','新杰物流到付'].includes(trackOrder.logistic.name)">
-                                <button class="btn btn-md btn-outline-primary m-0 text-nowrap" @click="changeLogistic(trackOrder,$event)">
+                            <div v-if="trackOrder.logistic">
+                                <span v-if="['新杰物流','新杰物流到付'].includes(trackOrder.logistic.name)">
+                                    <button class="btn btn-md btn-outline-primary m-0 text-nowrap" @click="changeLogistic(trackOrder,$event)">
+                                        @{{ trackOrder.logistic.name }}
+                                    </button>
+                                </span>
+                                <span v-else>
                                     @{{ trackOrder.logistic.name }}
-                                </button>
-                            </span>
-                            <span v-else>
-                                @{{ trackOrder.logistic.name }}
-                            </span>
+                                </span>
+                            </div>
+
                         </td>
                         <td class="td-yellow">
                             <div v-if="!(trackOrder.packageLogisticNumber.includes('null_'))">