Просмотр исходного кода

问题件重复脚本
追踪件修改

ajun 5 лет назад
Родитель
Сommit
d22b89d3c6

+ 2 - 2
app/Http/Controllers/OrderTrackingController.php

@@ -193,7 +193,7 @@ class OrderTrackingController extends Controller
             $planning_sent_at=str_split($orderTracking->planning_sent_at,10)[0];
             $signed_at=str_split($orderTracking->signed_at,10)[0];
             $logistic_number =$orderTracking->commodities->package->logistic_number;
-            if($logistic=='新杰物流'||$logistic=='新杰物流到付'){
+            if($logistic=='新杰物流'||$logistic->name=='新杰物流到付'){
                 $logistic_number = $orderTracking->order_client_code;
             }
             if(str_starts_with('null',$logistic_number)){
@@ -213,7 +213,7 @@ class OrderTrackingController extends Controller
                 $orderTracking->gross_weight,
                 $orderTracking->bulk,
                 $orderTracking->pallet_total,
-                $orderTracking->commodities->package->order->logistic->name ??'',
+                $logistic,
                 $logistic_number,
                 $orderTracking->commodities->package->order->city ?? '',
                 $planning_sent_at=='0000-00-00'?'':$planning_sent_at,

+ 58 - 52
app/Http/Controllers/TestController.php

@@ -1090,14 +1090,8 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
         $orderTrackingService = app('OrderTrackingService');
         /** @var OrderService $orderService */
         $orderService = app(OrderService::class);
-        /*$owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();*/
-        /*$startDate = \Illuminate\Support\Carbon::parse('2020-10-28 00:00:00')->toDateTimeString();*/
-        $orderNos = ['SO201205001735', 'SO201204003891', 'SO201204003706', 'SO201204002877', 'SO201203003771'];
-        $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails', 'oracleBASCode'])
-            ->whereIn('orderno', $orderNos)
-            ->get();
-        $orderService->updateByWmsOrders($orderHeaders);
-        $orderTrackingService->createByWmsOrderHeader($orderHeaders);
+        $date = Carbon::parse('2020-12-15 00:00:00');
+        $orderTrackingService->trackingWmsOrderOnCreate($date);
     }
 
     public function testSyncOrderTask()
@@ -1329,53 +1323,65 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
             unset($orderHeaders);
         }
     }
-    public function cleanOrderIssueRepeat()
+
+    public function editOrderTrackingClientNo()
     {
-        ini_set('max_execution_time', 6500);
-        ini_set('memory_limit', '1526M');
-        for ($i = 0; true; $i++) {
-            $orderIssue_unique = \App\OrderIssue::withTrashed()
-                ->selectRaw('count(1) as count,id,order_id')
-                ->whereNotNull('order_id')
-                ->orderByDesc('created_at')
-                ->groupBy('order_id')
-                ->having('count', '>', 1)
-                ->limit(100)
+        $maxId = OrderTracking::query()->orderByDesc('id')->first()->id;
+        for ($i = 0;$i<=$maxId;$i+=100){
+            $orderTrackings = OrderTracking::query()->with('commodities.package.order')
+                ->where('id','>=',$i)
+                ->where('id','<',$i)
                 ->get();
-            if ($orderIssue_unique->count() == 0) return;
-            foreach ($orderIssue_unique as $item) {
-                $orderIssue_delete = OrderIssue::withTrashed()->where('order_id', $item->order_id)->get();
-                /** @var OrderIssue $order_issue_unique */
-                $order_issue_unique = $orderIssue_delete->whereNull('deleted_at')->first();
-                if(!$order_issue_unique) $order_issue_unique = $orderIssue_delete->first();
-                $ids = [];
-                foreach ($orderIssue_delete as $key => $order_issue) {
-                    if ($order_issue->id == $order_issue_unique->id) continue;
-                    $ids[] = $order_issue->id;
-                    if ($order_issue['rejecting_status'] != '未退回') $order_issue_unique['rejecting_status'] = $order_issue['rejecting_status'];
-                    if ($order_issue['situation_explain']) $order_issue_unique['situation_explain'] = $order_issue['situation_explain'];
-                    if ($order_issue['order_issue_type_id']) $order_issue_unique['order_issue_type_id'] = $order_issue['order_issue_type_id'];
-                    if ($order_issue['second_order_id']) $order_issue_unique['second_order_id'] = $order_issue['second_order_id'];
-                    if ($order_issue['is_new_rejecting'] != '无') $order_issue_unique['is_new_rejecting'] = $order_issue['is_new_rejecting'];
-                    if ($order_issue['second_client_no']) $order_issue_unique['second_client_no'] = $order_issue['second_client_no'];
-                    if ($order_issue['final_status']) $order_issue_unique['final_status'] = $order_issue['final_status'];
-                    if ($order_issue['logistic_indemnity_money']) $order_issue_unique['logistic_indemnity_money'] = $order_issue['logistic_indemnity_money'];
-                    if ($order_issue['logistic_express_remission']) $order_issue_unique['logistic_express_remission'] = $order_issue['logistic_express_remission'];
-                    if ($order_issue['baoshi_indemnity_money']) $order_issue_unique['baoshi_indemnity_money'] = $order_issue['baoshi_indemnity_money'];
-                    if ($order_issue['baoshi_express_remission']) $order_issue_unique['baoshi_express_remission'] = $order_issue['baoshi_express_remission'];
-                    if ($order_issue['user_workgroup_id']) $order_issue_unique['user_workgroup_id'] = $order_issue['user_workgroup_id'];
-                    if ($order_issue['custom_code']) $order_issue_unique['custom_code'] = $order_issue['custom_code'];
-                    if ($order_issue['imported_status']) $order_issue_unique['imported_status'] = $order_issue['imported_status'];
-                }
-                if ($order_issue_unique['deleted_at']) $order_issue_unique['deleted_at'] = null;
-                $order_issue_unique->save();
-                $order_issue_unique->同步退单状态();
-                OrderIssue:: withTrashed()->whereIn('id', $ids)->forceDelete();
-                app('LogService')->log(__METHOD__, __FUNCTION__, 'orders_toCombine:' . json_encode($order_issue_unique) . '|toBe OrderId: ' . json_encode($order_issue_unique->id));
-                $orderIssueProcessLogs = \App\OrderIssueProcessLog::query()->whereIn('order_issue_id', $ids)->get();
-                app('LogService')->log(__METHOD__, __FUNCTION__, 'delete order_issue processLogs:' . json_encode($orderIssueProcessLogs));
-                \App\OrderIssueProcessLog::query()->whereIn('order_issue_id', $ids)->forceDelete();
+            $orderTrackings->each(function($orderTracking){
+                if((bool)mb_stristr($orderTracking->clinet,'天猫'))$orderTracking->client = '天猫';
+
+            });
+        }
+    }
+
+    public function testMbStrPos()
+    {
+        $string = '天猫旗舰店';
+        dd((bool)mb_stristr('天猫旗舰店','天猫'));
+    }
+
+    public function orderByDesc()
+    {
+        dd(Owner::query()->orderByDesc('id')->first()->id);
+    }
+
+    public function testOrderissue()
+    {
+        $orderIssue_unique = \App\OrderIssue::withTrashed()
+            ->selectRaw('count(1) as count,id,order_id')
+            ->whereNotNull('order_id')
+            ->orderByDesc('created_at')
+            ->groupBy('order_id')
+            ->having('count', '>', 1)
+            ->limit(100)
+            ->get();
+        if ($orderIssue_unique->count() == 0) return;
+        foreach ($orderIssue_unique as $item) {
+            $orderIssue_delete = OrderIssue::withTrashed()->where('order_id', $item->order_id)->get();
+            /** @var OrderIssue $order_issue_unique */
+            $order_issue_unique = $orderIssue_delete->whereNull('deleted_at')->first();
+            if (!$order_issue_unique) $order_issue_unique = $orderIssue_delete->first();
+            $ids = [];
+            foreach ($orderIssue_delete as $key => $order_issue) {
+                if ($order_issue->id == $order_issue_unique->id) continue;
+                $ids[] = $order_issue->id;
+                if($order_issue['logistic_number_return'])$order_issue_unique['logistic_number_return'] =$order_issue['logistic_number_return'];
+                if($order_issue['rejecting_status']!='未退回')$order_issue_unique['rejecting_status'] =$order_issue['rejecting_status'];
+                if($order_issue['is_new_rejecting']!='无')$order_issue_unique['is_new_rejecting'] =$order_issue['is_new_rejecting'];
+                if($order_issue['user_workgroup_id'])$order_issue_unique['user_workgroup_id'] =$order_issue['user_workgroup_id'];
+                if($order_issue['imported_status']!='正常')$order_issue_unique['imported_status'] =$order_issue['imported_status'];
+                if($order_issue['custom_code'])$order_issue_unique['custom_code'] =$order_issue['custom_code'];
             }
+            $order_issue_unique->save();
+            app('LogService')->log(__METHOD__, __FUNCTION__, '修改OrderIssue:' . json_encode($order_issue_unique));
+            $orderIssues = OrderIssue::query()->whereIn('id',$ids)->get();
+            $bool = OrderIssue::query()->whereIn('id',$ids)->forceDelete();
+            if($bool)app('LogService')->log(__METHOD__, __FUNCTION__, '删除OrderIssue:' . json_encode($orderIssues));
         }
     }
 }

+ 2 - 1
app/Services/OrderTrackingService.php

@@ -278,6 +278,7 @@ class OrderTrackingService
             $params[] =[
                 'order_package_commodity_id' => $item->id,
                 'owner_id' => $order->owner_id,
+                'logistic_id' => $param['logistic_id'],
                 'order_client_code' =>$order_client_code,
                 'sale' => $param['sale'],
                 'client' => $param['client'],
@@ -448,7 +449,7 @@ class OrderTrackingService
 
         // 快递方式
         $logistic = $logisticService->getLogisticByCode($orderHeader['userdefine1']);
-        if($orderHeader['userdefine1'] =='自提') $logistic = $logisticService->getLogisticByCode('XJWL'); // 自提转新杰物流
+        if($orderHeader['userdefine1'] =='ZT') $logistic = $logisticService->getLogisticByCode('XJWL'); // 自提转新杰物流
         if(isset($pick_up_at)){
              $logisticTiming = app(LogisticTimingService::class)->findByParams($orderHeader['c_city']??'',$orderHeader['c_province']??'',$logistic['id']);
              if($logisticTiming)$planning_sent_at = Carbon::parse((string)$pick_up_at)->addDays($logisticTiming->days_at_working); // 预期到货时间

+ 29 - 44
database/migrations/2020_12_22_143202_change_column_order_id_to_order_issues.php

@@ -34,51 +34,36 @@ class ChangeColumnOrderIdToOrderIssues extends Migration
 
     public function cleanOrderIssueRepeat()
     {
-        ini_set('max_execution_time', 6500);
-        ini_set('memory_limit', '1526M');
-        for ($i = 0; true; $i++) {
-            $orderIssue_unique = \App\OrderIssue::withTrashed()
-                ->selectRaw('count(1) as count,id,order_id')
-                ->whereNotNull('order_id')
-                ->orderByDesc('created_at')
-                ->groupBy('order_id')
-                ->having('count', '>', 1)
-                ->limit(100)
-                ->get();
-            if ($orderIssue_unique->count() == 0) return;
-            foreach ($orderIssue_unique as $item) {
-                $orderIssue_delete = OrderIssue::withTrashed()->where('order_id', $item->order_id)->get();
-                /** @var OrderIssue $order_issue_unique */
-                $order_issue_unique = $orderIssue_delete->whereNull('deleted_at')->first();
-                if(!$order_issue_unique) $order_issue_unique = $orderIssue_delete->first();
-                $ids = [];
-                foreach ($orderIssue_delete as $key => $order_issue) {
-                    if ($order_issue->id == $order_issue_unique->id) continue;
-                    $ids[] = $order_issue->id;
-                    if ($order_issue['rejecting_status'] != '未退回') $order_issue_unique['rejecting_status'] = $order_issue['rejecting_status'];
-                    if ($order_issue['situation_explain']) $order_issue_unique['situation_explain'] = $order_issue['situation_explain'];
-                    if ($order_issue['order_issue_type_id']) $order_issue_unique['order_issue_type_id'] = $order_issue['order_issue_type_id'];
-                    if ($order_issue['second_order_id']) $order_issue_unique['second_order_id'] = $order_issue['second_order_id'];
-                    if ($order_issue['is_new_rejecting'] != '无') $order_issue_unique['is_new_rejecting'] = $order_issue['is_new_rejecting'];
-                    if ($order_issue['second_client_no']) $order_issue_unique['second_client_no'] = $order_issue['second_client_no'];
-                    if ($order_issue['final_status']) $order_issue_unique['final_status'] = $order_issue['final_status'];
-                    if ($order_issue['logistic_indemnity_money']) $order_issue_unique['logistic_indemnity_money'] = $order_issue['logistic_indemnity_money'];
-                    if ($order_issue['logistic_express_remission']) $order_issue_unique['logistic_express_remission'] = $order_issue['logistic_express_remission'];
-                    if ($order_issue['baoshi_indemnity_money']) $order_issue_unique['baoshi_indemnity_money'] = $order_issue['baoshi_indemnity_money'];
-                    if ($order_issue['baoshi_express_remission']) $order_issue_unique['baoshi_express_remission'] = $order_issue['baoshi_express_remission'];
-                    if ($order_issue['user_workgroup_id']) $order_issue_unique['user_workgroup_id'] = $order_issue['user_workgroup_id'];
-                    if ($order_issue['custom_code']) $order_issue_unique['custom_code'] = $order_issue['custom_code'];
-                    if ($order_issue['imported_status']) $order_issue_unique['imported_status'] = $order_issue['imported_status'];
-                }
-                if ($order_issue_unique['deleted_at']) $order_issue_unique['deleted_at'] = null;
-                $order_issue_unique->save();
-                $order_issue_unique->同步退单状态();
-                OrderIssue:: withTrashed()->whereIn('id', $ids)->forceDelete();
-                app('LogService')->log(__METHOD__, __FUNCTION__, 'orders_toCombine:' . json_encode($order_issue_unique) . '|toBe OrderId: ' . json_encode($order_issue_unique->id));
-                $orderIssueProcessLogs = \App\OrderIssueProcessLog::query()->whereIn('order_issue_id', $ids)->get();
-                app('LogService')->log(__METHOD__, __FUNCTION__, 'delete order_issue processLogs:' . json_encode($orderIssueProcessLogs));
-                \App\OrderIssueProcessLog::query()->whereIn('order_issue_id', $ids)->forceDelete();
+        $orderIssue_unique = \App\OrderIssue::withTrashed()
+            ->selectRaw('count(1) as count,id,order_id')
+            ->whereNotNull('order_id')
+            ->orderByDesc('created_at')
+            ->groupBy('order_id')
+            ->having('count', '>', 1)
+            ->limit(100)
+            ->get();
+        if ($orderIssue_unique->count() == 0) return;
+        foreach ($orderIssue_unique as $item) {
+            $orderIssue_delete = OrderIssue::withTrashed()->where('order_id', $item->order_id)->get();
+            /** @var OrderIssue $order_issue_unique */
+            $order_issue_unique = $orderIssue_delete->whereNull('deleted_at')->first();
+            if (!$order_issue_unique) $order_issue_unique = $orderIssue_delete->first();
+            $ids = [];
+            foreach ($orderIssue_delete as $key => $order_issue) {
+                if ($order_issue->id == $order_issue_unique->id) continue;
+                $ids[] = $order_issue->id;
+                if($order_issue['logistic_number_return'])$order_issue_unique['logistic_number_return'] =$order_issue['logistic_number_return'];
+                if($order_issue['rejecting_status']!='未退回')$order_issue_unique['rejecting_status'] =$order_issue['rejecting_status'];
+                if($order_issue['is_new_rejecting']!='无')$order_issue_unique['is_new_rejecting'] =$order_issue['is_new_rejecting'];
+                if($order_issue['user_workgroup_id'])$order_issue_unique['user_workgroup_id'] =$order_issue['user_workgroup_id'];
+                if($order_issue['imported_status']!='正常')$order_issue_unique['imported_status'] =$order_issue['imported_status'];
+                if($order_issue['custom_code'])$order_issue_unique['custom_code'] =$order_issue['custom_code'];
             }
+            $order_issue_unique->save();
+            app('LogService')->log(__METHOD__, __FUNCTION__, '修改OrderIssue:' . json_encode($order_issue_unique));
+            $orderIssues = OrderIssue::query()->whereIn('id',$ids)->get();
+            $bool = OrderIssue::query()->whereIn('id',$ids)->forceDelete();
+            if($bool)app('LogService')->log(__METHOD__, __FUNCTION__, '删除OrderIssue:' . json_encode($orderIssues));
         }
     }
 }

+ 7 - 6
database/migrations/2020_12_23_174008_add_column_owner_id_to_order_trackings.php → database/migrations/2020_12_23_174008_add_column_logistic_id_to_order_trackings.php

@@ -1,10 +1,11 @@
 <?php
 
+use App\Services\OrderTrackingService;
 use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 
-class AddColumnOwnerIdToOrderTrackings extends Migration
+class AddColumnLogisticIdToOrderTrackings extends Migration
 {
     /**
      * Run the migrations.
@@ -33,19 +34,19 @@ class AddColumnOwnerIdToOrderTrackings extends Migration
 
     public function migrationLogistic()
     {
-        /** @var \App\Services\OrderTrackingService $service */
-        $service = app(\App\Services\OrderTrackingService::class);
-        $count= \App\OrderTracking::query()->count();
+        /** @var OrderTrackingService $service */
+        $service = app(OrderTrackingService::class);
+        $maxId= \App\OrderTracking::query()->orderByDesc('id')->first()->id;
         $logistic = \App\Logistic::query()->where('name','新杰物流')->first();
         $logistic_zt = \App\Logistic::query()->where('name','自提')->first();
-        for ($i=0;$i<= $count;$i+=100){
+        for ($i=0;$i<= $maxId;$i+=100){
             $orderTrackings = \App\OrderTracking::query()
                 ->where('id','>=',$i)
                 ->where('id','<=',$i+100)
                 ->get();
             if($orderTrackings->count() ==0) return;
             $update_params = [['id','logistic_id']];
-            $orderTrackings->each(function($orderTracking,$logistic_zt,$logistic){
+            $orderTrackings->each(function($orderTracking,$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;

+ 6 - 6
resources/views/order/tracking/index.blade.php

@@ -515,16 +515,16 @@
                     let data = {id:tackOrder.id,param:'logistic_id',value:value}
                     let _this = this
                     axios.post('{{url('apiLocal/order/tracking/updateLogisticId')}}',data).then(function (response) {
-                        tempTip.setDuration(2000)
+                        tempTip.setDuration(2000);
                         if(response.data.success){
-                            tempTip.showSuccess('需改成功')
-                            _this.modifyOrderTracking('packageLogistic',value,tackOrder);
+                            tempTip.showSuccess('修改成功');
+                            tackOrder.logistic.name = value;
                         }else{
-                            tempTip.show(response.data.fail_info)
+                            tempTip.show(response.data.fail_info);
                         }
                     }).catch(function (error) {
-                        tempTip.setDuration(200)
-                        tempTip.show(error)
+                        tempTip.setDuration(200);
+                        tempTip.show(error);
                     })
                 },
                 certiimg(id){