|
|
@@ -57,6 +57,7 @@ use App\Services\BatchService;
|
|
|
use App\Services\CacheShelfService;
|
|
|
use App\Services\ForeignHaiRoboticsService;
|
|
|
use App\Services\NotificationService;
|
|
|
+use App\Services\OracleDOCOrderHeaderService;
|
|
|
use App\Services\OrderPackageReceivedSyncService;
|
|
|
use App\Services\OrderPackageService;
|
|
|
use App\Services\OrderService;
|
|
|
@@ -569,4 +570,69 @@ sql;
|
|
|
|
|
|
\App\LaborCompanyDispatchDetail::query()->truncate();
|
|
|
}
|
|
|
+
|
|
|
+ public function testChange()
|
|
|
+ {
|
|
|
+ $last_start_key = config('sync.order_sync.cache_prefix.last_start_at');
|
|
|
+ $last_end_key = config('sync.order_sync.cache_prefix.last_end_at');
|
|
|
+ Cache::put($last_start_key,Carbon::make('2021-10-12 06:23:37'));
|
|
|
+ Cache::put($last_end_key,Carbon::make('2021-10-12 06:23:38'));
|
|
|
+ ValueStore::query()->where('name','order_last_created_sync_at')->update(['value' => '2021-10-12 06:23:37']);
|
|
|
+ ValueStore::query()->where('name','order_last_updated_sync_at')->update(['value' => '2021-10-12 06:23:37']);
|
|
|
+ ValueStore::query()->where('name','last_order_sync_task_start_at')->update(['value' => '2021-10-12 06:23:37']);
|
|
|
+ ValueStore::query()->where('name','last_order_sync_task_end_at')->update(['value' => '2021-10-12 06:23:38']);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function syncOrders()
|
|
|
+ {
|
|
|
+ $last_start_key = config('sync.order_sync.cache_prefix.last_start_at');
|
|
|
+ $last_end_key = config('sync.order_sync.cache_prefix.last_end_at');
|
|
|
+ ini_set('max_execution_time',2500);
|
|
|
+ ini_set('memory_limit','1526M');
|
|
|
+ $service = new OracleDOCOrderHeaderService();
|
|
|
+ $orderService = new OrderService();
|
|
|
+ $start_data = Carbon::make('2021-10-12 06:23:37');
|
|
|
+ for ($i = 0;$i < 7;$i++){
|
|
|
+ $last_start_data= Carbon::now();
|
|
|
+ $end_data = Carbon::parse($start_data)->addHours(1);
|
|
|
+ $editHeaders = $service->getQuery()->where('DOC_Order_Header.EditTime','>=',$start_data)
|
|
|
+ ->where('DOC_Order_Header.EditTime',"<=",$end_data)
|
|
|
+ ->orderByDesc('DOC_Order_Header.EditTime')
|
|
|
+ ->get();
|
|
|
+ $editHeaderArray = $editHeaders->chunk(200);
|
|
|
+ foreach ($editHeaderArray as &$array){
|
|
|
+ $orderService->syncOrder($array);
|
|
|
+ }
|
|
|
+ $addHeaders = $service->getQuery()->where('DOC_Order_Header.addTime','>=',$start_data)
|
|
|
+ ->where('DOC_Order_Header.addTime',"<=",$end_data)
|
|
|
+ ->orderByDesc('DOC_Order_Header.addTime')
|
|
|
+ ->get();
|
|
|
+
|
|
|
+ $addHeadersArray = $addHeaders->chunk(200);
|
|
|
+ foreach ($addHeadersArray as &$array){
|
|
|
+ $orderService->syncOrder($array);
|
|
|
+ }
|
|
|
+
|
|
|
+ $start_data = $end_data;
|
|
|
+ $last_end_data = Carbon::now();
|
|
|
+
|
|
|
+ Cache::put($last_start_key,$last_start_data);
|
|
|
+ ValueStore::query()->where('name','order_last_created_sync_at')->update(['value' => $addHeaders->first()->addtime]);
|
|
|
+ ValueStore::query()->where('name','last_order_sync_task_start_at')->update(['value' => $last_start_data]);
|
|
|
+ Cache::put($last_end_key,$last_end_data);
|
|
|
+ ValueStore::query()->where('name','order_last_updated_sync_at')->update(['value' => $editHeaders->first()->edittime]);
|
|
|
+ ValueStore::query()->where('name','last_order_sync_task_end_at')->update(['value' => $last_end_data]);
|
|
|
+ unset($editHeaderArray,$editHeaders);
|
|
|
+ unset($addHeadersArray,$addHeaders);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function syncOrder()
|
|
|
+ {
|
|
|
+ $code = \request("code");
|
|
|
+ $service = new OracleDOCOrderHeaderService();
|
|
|
+ $orderService = new OrderService();
|
|
|
+ $orderHeaders = $service->getQuery()->where('DOC_Order_Header.WaveNo',$code)->get();
|
|
|
+ $orderService->syncOrder($orderHeaders);
|
|
|
+ }
|
|
|
}
|