Browse Source

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

 Conflicts:
	app/Http/Controllers/TestController.php
LD 5 years ago
parent
commit
68c4bbcd76

+ 11 - 29
app/Http/Controllers/TestController.php

@@ -1442,37 +1442,19 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
                  * @var DataHandlerService $dataService
                  */
                 $service = new OrderTrackingService();
-                $orderHeaderService = new OracleDOCOrderHeaderService();
-                $dataService = new DataHandlerService();
-                $order_nos = array_unique(data_get($orderTrackings,'*.commodities.package.order.code'));
-                $order_headers = $orderHeaderService->getQuery()->whereIn('orderno',$order_nos)->get();
-                $update[] = ['id','order_client_code','client',];
-                $order_header_map = $dataService->dataHeader(['orderno'],$order_headers);
+                $update = [];
+                $update[]  = ['id','order_client_code_wms'];
                 foreach ($orderTrackings as $orderTracking) {
-                    $params = ['id' => $orderTracking->id];
-                    $order_package_commodity = $orderTracking->commodities;
-                    if(!$order_package_commodity)continue;
-                    if(!$order_package_commodity->package)continue;
-                    if(!$order_package_commodity->package->order)continue;
-                    $order= $order_package_commodity->package->order;
-                    $order_header = $dataService->getKeyValue(['orderno'=>$order->code],$order_header_map);
-                    $order_remark = $order_header['notes'] ?? '';        // 订单备注
-                    $params['client'] = $order_header['issuepartyname'];
-                    if(mb_stristr($order_remark,'天猫') && mb_stristr($order_remark,'赠品')){ // client and order_remark 商铺 和 订单备注
-                        $params['client'] = '天猫(赠品)';
-                        $params['order_remark'] = $order_remark;
+                    if($orderTracking->commodities->order ?? false){
+                        $update = [
+                            'id' => $orderTracking->id,
+                            'order_client_code_wms' => $orderTracking->commodities->order->client_code
+                        ];
                     }
-                    if(mb_stristr($order_header['issuepartyname'],'天猫') && $params['client'] !== '天猫(赠品)') $params['client'] = '天猫';
-                    if($params['client'] == '天猫') // order_client_code 订单号  店铺包含天猫
-                        $params['order_client_code'] = $service->get_d_edit_03($order_header,$order_package_commodity);
-                    else
-                        $params['order_client_code'] = $order->client_code;
-                    if($params['client'] != '天猫' && $params['client'] != '天猫(赠品)')continue;
-                    if($params['client']!=$orderTracking->client ||  $params['order_client_code']!=$orderTracking->order_client_code) $update[] = $params;
-            }
-            if(count($update) > 1){
-                $service->batchUpdate($update);
-            }
+                }
+                if(count($update) > 1){
+                    $service->batchUpdate($update);
+                }
         });
     }
 

+ 22 - 19
app/Services/OracleDocWaveDetailService.php

@@ -17,19 +17,20 @@ class OracleDocWaveDetailService
     public function clearCancelledOrder($orderHeaders)
     {
         if (!$orderHeaders) return;
-        $array = array_chunk($orderHeaders,300);
-        foreach ($array as $item) {
-            $clearOrderNos = data_get($item, '*.orderno');
-            $ownerNos = data_get($item, '*.ownerno');
+        $orderHeader_arr = $orderHeaders->chunk(300);
+        $orderHeader_arr->each(function ($items){
+            $clearOrderNos = data_get($items, '*.orderno');
+            $ownerNos = array_diff(data_get($items, '*.waveno'),['*']) ;
             try {
                 OracleDOCWaveDetails::query()->whereIn('OrderNo', $clearOrderNos)->whereIn('OwnerNo', $ownerNos)->delete();
                 app('LogService')->log(__CLASS__, __METHOD__, 'Delete OracleDOCWaveDetails' . '  ' . json_encode($clearOrderNos) );
             } catch (\Exception $e) {
                 app('LogService')->log(__CLASS__, __METHOD__,'Error clearCancelledOrder'.json_encode($clearOrderNos).json_encode($ownerNos));
             }
-        }
+        });
     }
 
+
     private function getSyncAt()
     {
         return Cache::remember('clear_cancel_order_sync_at', config('sync.clear_wave_order.cache_prefix.sync_at'), function () {
@@ -88,7 +89,7 @@ class OracleDocWaveDetailService
         $restart = config('clear_wave_order.cache_prefix.restart');
         $start_time = Carbon::now();
 
-        if (isset($last_start_at) && empty($last_end_at) && $start_time->diffInMinutes(Carbon::parse($last_start_at)) < $this->restart) return;
+        if (isset($last_start_at) && empty($last_end_at) && $start_time->diffInMinutes(Carbon::parse($last_start_at)) < $restart) return;
         if (isset($last_start_at) && isset($last_end_at)
             && Carbon::parse($last_end_at)->lt(Carbon::parse($last_start_at))
             && $start_time->diffInMinutes(Carbon::parse($last_start_at)) < $restart)
@@ -96,23 +97,25 @@ class OracleDocWaveDetailService
 
         $orderHeaders = OracleDOCOrderHeader::query()
             ->selectRaw('orderno,waveno')
-            ->where('editTime', '>=', Carbon::parse($sync_at)->subSeconds(1))
+            ->where('EDITTIME', '>=', Carbon::parse($sync_at)->subSeconds(1))
             ->where('ERPCANCELFLAG', 'Y')
             ->orderByDesc('editTime')->get();
         $orderHeaderList = $orderHeaders->chunk(3000);
         $update_at = Carbon::now();
-        foreach ($orderHeaderList as $items) {
-            $this->clearCancelledOrder($items);
-            if ($orderHeaders->count() > 0) {
-                OracleDOCOrderHeader::query()
-                    ->whereIn('orderNo', data_get($items, '*.orderno'))
-                    ->whereIn('owerno', data_get($items, '*.owerno'))
-                    ->update(['waveno' => '*','editTime' =>$update_at]);
-                 $json = json_encode($items->map(function ($orderHeader) {
-                    return ['orderno' => $orderHeader->orderno, 'waveno' => $orderHeader->waveno];
-                }));
-                app('LogService')->log(__CLASS__, __METHOD__, 'update OrderHeader' . '  ' . $json);
-                $this->disposeOrderBatchId(data_get($items, '*.orderno'));
+        if(count($orderHeaders)>0){
+            foreach ($orderHeaderList as $items) {
+                $this->clearCancelledOrder($items);
+                if ($items->count() > 0) {
+                    OracleDOCOrderHeader::query()
+                        ->whereIn('orderNo', data_get($items, '*.orderno'))
+                        ->whereIn('waveno', data_get($items, '*.waveno'))
+                        ->update(['waveno' => '*','editTime' =>$update_at]);
+                    $json = json_encode($items->map(function ($orderHeader) {
+                        return ['orderno' => $orderHeader->orderno, 'waveno' => $orderHeader->waveno];
+                    }));
+                    app('LogService')->log(__CLASS__, __METHOD__, 'update OrderHeader' . '  ' . $json);
+                    $this->disposeOrderBatchId(data_get($items, '*.orderno'));
+                }
             }
         }
         $end_time = (string)Carbon::now();

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

@@ -88,13 +88,14 @@
                             <span v-if="trackOrder.web_order_number">
                                 <input class="form-control form-control-sm" :value="trackOrder.order_client_code === trackOrder.web_order_number ? '' : trackOrder.order_client_code " @change="warehouseUpdate($event,'order_client_code',trackOrder)" >
                             </span>
-                            <span v-else>
-                            @can('订单管理-跟踪-仓库编辑')
-                                <input class="form-control form-control-sm" :value="trackOrder.order_client_code" @change="warehouseUpdate($event,'order_client_code',trackOrder)" >
-                            @else
-                                <span> @{{ trackOrder.order_client_code }}</span>
-                            @endcan
-                            </span>
+                            <span v-else>@{{ trackOrder.order_client_code }}</span>
+{{--                            <span v-else>--}}
+{{--                            @can('订单管理-跟踪-仓库编辑')--}}
+{{--                                <input class="form-control form-control-sm" :value="trackOrder.order_client_code" @change="warehouseUpdate($event,'order_client_code',trackOrder)" >--}}
+{{--                            @else--}}
+{{--                                <span> @{{ trackOrder.order_client_code }}</span>--}}
+{{--                            @endcan--}}
+{{--                            </span>--}}
                         </td>
                         <td class="td-warm">
                             @{{ trackOrder.order_client_code_wms }}
@@ -116,6 +117,7 @@
                         </td>
                         <td class="td-warm">
                         </td>
+{{--                        <td class="td-warm">--}}
 {{--                            @can('订单管理-跟踪-仓库编辑')--}}
 {{--                                <input class="form-control form-control-sm" :value="trackOrder.sale" @change="warehouseUpdate($event,'sale',trackOrder)" >--}}
 {{--                            @else--}}