diff --git a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php index 6ca6d6ef..bbc541e2 100644 --- a/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php +++ b/app/Classes/Modules/PackingLists/Processors/FetchOrderListsFromYdPortalProcessor.php @@ -197,12 +197,16 @@ class FetchOrderListsFromYdPortalProcessor } - /** @var Carbon $delayDate */ - $delayDate = $dates->sortDesc()->first(); + $rescheduleDate = $dates->sortDesc()->first(); + if(!$delayDate || $rescheduleDate > $delayDate){ + /** @var Carbon $delayDate */ + $delayDate = $rescheduleDate; - if($rescheduleETA === false && $delayDate) { - $delayDate = $delayDate->addDays('5'); + if($rescheduleETA === false && $delayDate) { + $delayDate = $delayDate->addDays('5'); + } } + } if ($trackingRow->tracking === '货物已进目的港仓库') { @@ -213,7 +217,7 @@ class FetchOrderListsFromYdPortalProcessor $deliveryDate = Carbon::parse($trackingRow->trackingtime); } } - + continue; $customerno = preg_split('(-|\(|\)|\/)', $row->customerno); $orderNumber = $customerno[array_key_last($customerno)]; @@ -358,7 +362,7 @@ class FetchOrderListsFromYdPortalProcessor $transport = $container->transports()->first(); - if(!$transport->schedules()->where('eta', '=', $delayDate)->first()) { + if(!$transport->schedules()->where('eta', '>', $delayDate)->first()) { $etd = $transport->schedules()->where('status', '=', ApprovalStatus::APPROVED)->first()->etd; $transport->schedules()->update(['status' => ApprovalStatus::EXPIRED]); $this->createsSchedule->execute($transport, new ScheduleObject($etd, $delayDate, ApprovalStatus::APPROVED));