From 8992fdeec0af1e5fb928a08d8d4a0884c5c4e16c Mon Sep 17 00:00:00 2001 From: Ramon Gutierrez Date: Wed, 3 Jul 2024 13:56:27 +0800 Subject: [PATCH] Add hub rejection log file #800 --- src/Service/HubFilter/BaseHubFilter.php | 19 +++++++++++++++++-- .../HubFilter/Filters/InventoryHubFilter.php | 3 ++- .../Filters/RiderAvailabilityHubFilter.php | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Service/HubFilter/BaseHubFilter.php b/src/Service/HubFilter/BaseHubFilter.php index 36b72363..44ff4c2f 100644 --- a/src/Service/HubFilter/BaseHubFilter.php +++ b/src/Service/HubFilter/BaseHubFilter.php @@ -65,7 +65,7 @@ class BaseHubFilter $this->hub_filter_logger->logFilteredHub($hub, $this->getID(), $this->getJOID(), $this->getCustomerID()); } - protected function createRejectionEntry($jo_id, $hub, $remarks = ""): JORejection + protected function createRejectionEntry($jo_id, $hub, $reason, $remarks = ""): JORejection { $jo = $this->em->getRepository(JobOrder::class)->find($jo_id); @@ -73,12 +73,27 @@ class BaseHubFilter $robj->setDateCreate(new DateTime()) ->setHub($hub) ->setJobOrder($jo) - ->setReason(JORejectionReason::NO_STOCK_SALES) + ->setReason($reason) ->setRemarks(implode(" ", ["Automatically filtered by hub selector.", $remarks])); $this->em->persist($robj); $this->em->flush(); + // log to file + $filename = '/../../var/log/hub_rejection.log'; + $date = date("Y-m-d H:i:s"); + + // build log entry + $entry = implode("", [ + "[JO: " . $jo_id . "]", + "[HUB:" . $hub->getID() . "]", + "[" . $date . "]", + $reason, + $remarks ? " - " . $remarks : "", + ]); + + @file_put_contents(__DIR__ . $filename, $entry, FILE_APPEND); + return $robj; } diff --git a/src/Service/HubFilter/Filters/InventoryHubFilter.php b/src/Service/HubFilter/Filters/InventoryHubFilter.php index beef4199..2a23e346 100644 --- a/src/Service/HubFilter/Filters/InventoryHubFilter.php +++ b/src/Service/HubFilter/Filters/InventoryHubFilter.php @@ -126,7 +126,8 @@ class InventoryHubFilter extends BaseHubFilter implements HubFilterInterface $robj = $this->createRejectionEntry( $jo_id, $hub, - "SKU(s): " . $battery_string + JORejectionReason::NO_STOCK_SALES, + "SKU(s): " . $battery_string, ); // build SMS message diff --git a/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php b/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php index fadafa2a..e969dcb2 100644 --- a/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php +++ b/src/Service/HubFilter/Filters/RiderAvailabilityHubFilter.php @@ -47,7 +47,7 @@ class RiderAvailabilityHubFilter extends BaseHubFilter implements HubFilterInter // if we have a JO, create rejection record and notify if (!empty($jo_id)) { // create rejection report entry - $robj = $this->createRejectionEntry($jo_id, $hub); + $robj = $this->createRejectionEntry($jo_id, $hub, JORejectionReason::NO_RIDER_AVAILABLE); // build SMS message $this->sendSMSMessage(