From bcd74f8b393dd6305d4d94725181009b6927b2a9 Mon Sep 17 00:00:00 2001 From: vadivel J Date: Mon, 18 Nov 2024 11:58:01 +0530 Subject: [PATCH] changes in stock module -vadivel J --- app/Controllers/StockController.php | 50 +++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/app/Controllers/StockController.php b/app/Controllers/StockController.php index 449ca547..a74ecba0 100644 --- a/app/Controllers/StockController.php +++ b/app/Controllers/StockController.php @@ -891,16 +891,37 @@ private function updateGasStockConsumption($date , $consumption){ ->first(); if($resultExists){ - + $resultExists['consumption'] = $resultExists['consumption']+($consumption); + $resultExists['balanceStock'] = $resultExists['opening'] - $resultExists['consumption']; $this->gasStockDetails_model->update($resultExists['id'],$resultExists); - } - else if(true){ - //previous month stock to be subtracted with consumption if stock is present . - + } else{ + + + $previousMonthDate = new DateTime($date); + $previousMonthDate = $previousMonthDate->modify('first day of this month') + ->modify('-1 day') + ->format('Y-m-d'); + + + + $previousMonthResultExists = $this->gasStockDetails_model + ->where('date',$previousMonthDate) + ->first(); + + + + $opening = 0; + + if(!empty($previousMonthResultExists) && isset($previousMonthResultExists['balanceStock']) ){ + $opening =$previousMonthResultExists['balanceStock']; + } + + + $startDate = DateTime::createFromFormat('Y-m-d', $date)->modify('first day of this month')->format('Y-m-d'); $endDate = DateTime::createFromFormat('Y-m-d', $date)->modify('last day of this month')->format('Y-m-d'); @@ -918,17 +939,28 @@ private function updateGasStockConsumption($date , $consumption){ } foreach ($datesInMonth as $datesInMonthIndex => $dateInMonth) { + + //update previousMonthResultExists + $balanceStock = $opening ; + $consumptionForDate = 0; + if($dateInMonth == $date){ + $consumptionForDate = $consumption; + $balanceStock = $opening - $consumption ; + } $inserts[] = [ 'date' => $dateInMonth, - 'opening' => 0, + 'opening' => $opening, 'purchaseBharath' => 0, - 'purchaseIndian' => 0, + 'purchaseIndian' => 0, 'total' => 0, - 'consumption' => $dateInMonth == $date ? $consumption : 0 , - 'balanceStock' => 0 + 'consumption' => $consumptionForDate, + 'balanceStock' => $balanceStock ]; + $opening = $balanceStock; + + } if(!empty($inserts)){