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

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

 Conflicts:
	app/Http/Controllers/TestController.php
LD 5 лет назад
Родитель
Сommit
7cd4334bae

+ 1 - 1
app/Console/Kernel.php

@@ -75,7 +75,7 @@ class  Kernel extends ConsoleKernel
         $schedule->command('syncOrderPackageLogisticRouteTask')->dailyAt('12:01');//同步快递信息到orderPackage
         $schedule->command('updateOrderPackageExceptionTypeCountingRecordTask')->dailyAt('2:20');//更新OrderPackageExceptionTypeCountingRecord
         $schedule->command('SyncWmsCommoditiesInformation')->everyMinute();
-        $schedule->command('clear:cancelledOrder')->everyTenMinutes();
+        $schedule->command('clear:cancelledOrder')->everyMinute();
         $schedule->command('WasSyncWmsAsnInformation')->everyMinute();
         $schedule->command('create:weightStatistic')->dailyAt("00:30");
         $schedule->command('sync:carrier')->hourlyAt(1);

+ 31 - 1
app/Http/Controllers/TestController.php

@@ -1534,6 +1534,37 @@ TEXT;
 //        Station::query()->where('name' ,'HAI缓存架01-03-03')->update(['name' => 'HAIB1-03-03']);
     }
 
+    public function orderPackageUnique()
+    {
+        $orderPackages = OrderPackage::query()->whereIn('id','>=','15900000')->groupBy('logistic_number')->get();
+        foreach ($orderPackages as $orderPackage) {
+            $items = OrderPackage::query()->where('logistic_number',$orderPackage['logistic_number'])->get();
+            $orderPackage = $items->first();
+            foreach ($items as $item) {
+                $orderPackage['batch_number'] = $item['batch_number'] ?? $orderPackage['batch_number'];
+                $orderPackage['batch_rule'] = $item['batch_rule'] ?? $orderPackage['batch_rule'];
+                $orderPackage['bulk'] = $item['bulk'] ?? $orderPackage['bulk'];
+                $orderPackage['weight'] = $item['weight'] ?? $orderPackage['weight'];
+                $orderPackage['length'] = $item['length'] ?? $orderPackage['length'];
+                $orderPackage['width'] = $item['width'] ?? $orderPackage['width'];
+                $orderPackage['height'] = $item['height'] ?? $orderPackage['height'];
+                $orderPackage['measuring_machine_id'] = $item['measuring_machine_id'] ?? $orderPackage['measuring_machine_id'];
+                $orderPackage['weighed_at'] = $item['weighed_at'] ?? $orderPackage['weighed_at'];
+                $orderPackage['owner_id'] = $item['owner_id'] ?? $orderPackage['owner_id'];
+            }
+            $orderPackages_filter = $items->filter(function($item)use($orderPackage){
+                if($orderPackage['id'] === $item['id'])return false;
+                return true;
+            });
+            $ids = $orderPackages_filter->map(function($item){
+                return $item['id'];
+            });
+            LogService::log('order_packages','order_packages_logistic_number_unique_delete',json_encode($orderPackages_filter));
+            OrderPackage::query()->whereIn('id',$ids)->delete();
+            $orderPackage->save();
+        }
+    }
+
     public function order_package_exception_type_counting_record_init()
     {
         /**
@@ -1543,4 +1574,3 @@ TEXT;
         $service->updateOrCreate(30);
     }
 }
-

+ 5 - 0
app/OracleDOCOrderHeader.php

@@ -9,6 +9,7 @@ use App\Traits\ModelTimeFormat;
 use Illuminate\Database\Eloquent\Model;
 
 use App\Traits\ModelLogChanging;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
 
 class OracleDOCOrderHeader extends Model
 {
@@ -66,6 +67,10 @@ class OracleDOCOrderHeader extends Model
         return $this->hasOne('App\OracleBasCode','code','ordertype')->where('codeid','SO_TYP');
     }
 
+    public function oracleDOCWaveDetail(): BelongsTo
+    {
+        return $this->belongsTo(OracleDOCWaveDetails::class,'orderno','orderno');
+    }
     public function getLogistic()
     {
         /** @var LogisticService $logistic_service */

+ 2 - 0
app/Services/OracleDocWaveDetailService.php

@@ -92,6 +92,7 @@ class OracleDocWaveDetailService
         $start_time = Carbon::now();
 
         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)
@@ -102,6 +103,7 @@ class OracleDocWaveDetailService
             ->where('EDITTIME', '>', Carbon::parse($sync_at))
             ->where('ERPCANCELFLAG', 'Y')
             ->orderByDesc('editTime')->get();
+
         $orderHeaderList = $orderHeaders->chunk(3000);
         $update_at = Carbon::now();
         if(count($orderHeaders)>0){