diff --git a/app/Classes/Modules/Bookings/ControllersLogic/AutoPurchaseOrderFillLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/AutoPurchaseOrderFillLogic.php index 6ed08994..8ad176d7 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/AutoPurchaseOrderFillLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/AutoPurchaseOrderFillLogic.php @@ -64,7 +64,7 @@ class AutoPurchaseOrderFillLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - $bookings = Booking::whereMonth('created_at', 9) + $bookings = Booking::whereMonth('created_at', 10) ->whereYear('created_at', 2021) ->whereDoesntHave('transactions', function($q){ $q->where('type', TransactionType::PURCHASE_ORDER); diff --git a/app/Classes/Modules/Transactions/Services/GeneratesPurchaseOrderProducts.php b/app/Classes/Modules/Transactions/Services/GeneratesPurchaseOrderProducts.php index 16d162eb..647fac1e 100644 --- a/app/Classes/Modules/Transactions/Services/GeneratesPurchaseOrderProducts.php +++ b/app/Classes/Modules/Transactions/Services/GeneratesPurchaseOrderProducts.php @@ -30,14 +30,15 @@ class GeneratesPurchaseOrderProducts $amountDifference = $amount - $transaction->amount; $transactionDetails = $transaction->transactionDetails()->select('*', DB::raw('abs(price - '.abs($amountDifference).') as nearest_price'))->orderBy('nearest_price')->get(); foreach ($transactionDetails as $product) { - $units = floor(abs($amountDifference) / $product->price); - $quantity = $product->quantity; if($product->price <= 0){ $amountDifference = $amountDifference + ($product->price * $product->quantity); continue; } + $units = floor(abs($amountDifference) / $product->price); + $quantity = $product->quantity; + if($amountDifference > 0){ $quantity = $product->quantity + $units; $amountDifference = $amountDifference - ($product->price * $units);