From 15760bf7278e0bf6d9a705a0566b6de33c0d03d2 Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Fri, 4 Apr 2025 03:46:38 +0000 Subject: [PATCH] nonigr number --- app/Controllers/Expense.php | 28 ++-------------------------- app/Helpers/purchaseorder_helper.php | 21 +++++++++++++++++++++ app/Models/Expense_model.php | 2 +- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/app/Controllers/Expense.php b/app/Controllers/Expense.php index 4d4a61d6..1fe4b2da 100755 --- a/app/Controllers/Expense.php +++ b/app/Controllers/Expense.php @@ -48,13 +48,6 @@ class Expense extends BaseController $this->loadViews("expense_list", $this->global, $data, NULL); } - private function generateSerialNumber($financialYear, $lastSerial) - { - // If no last serial number exists, start with 00001 - $lastNumber = $lastSerial ? (int)explode('/', $lastSerial)[2] : 0; - $newNumber = str_pad($lastNumber + 1, 3, '0', STR_PAD_LEFT); - return "NonIGR/$financialYear/$newNumber"; - } public function addExpense() { @@ -66,28 +59,11 @@ class Expense extends BaseController $file->move(WRITEPATH . 'uploads', $fileName); } - - - // Fetch the current month - $currentMonth = date('n'); // 'n' gives the month without leading zeros (1-12) - - // Calculate the current financial year - if ($currentMonth >= 4) { // If it's April or later - $startYear = date('Y'); // Current year - $endYear = $startYear + 1; // Next year - } else { // If it's January, February, or March - $endYear = date('Y'); // Current year - $startYear = $endYear - 1; // Previous year - } - - // Format the financial year as "yy-yy" - $financialYear = substr($startYear, -2) . '-' . substr($endYear, -2); - // Fetch the last serial number for the financial year - $lastSerial = $this->expense_model->getLastSerialNumber($financialYear); + $lastSerial = $this->expense_model->getLastSerialNumber(); // Generate the next serial number - $newSerialNumber = $this->generateSerialNumber($financialYear, $lastSerial); + $newSerialNumber = generate_non_igr_number($lastSerial); $sesn_uid = $this->session->get('userId'); $data = [ diff --git a/app/Helpers/purchaseorder_helper.php b/app/Helpers/purchaseorder_helper.php index 7ed3e989..261b1763 100755 --- a/app/Helpers/purchaseorder_helper.php +++ b/app/Helpers/purchaseorder_helper.php @@ -69,6 +69,27 @@ if (!function_exists('generate_igr_number')) { } } +if (!function_exists('generate_non_igr_number')) { + function generate_non_igr_number($last_non_igr) + { + $shortenFinYear = get_shorten_financial_year();// Get it From + + $result = explode('/', $last_non_igr); + $requestedFinYear = $result[1]; + $leftPad = "NonIGR"; + $digit = 3; + + if($requestedFinYear == $shortenFinYear){ + $number = ((int)$result[2])+1; + $NonIgrNo = $leftPad . '/' . $shortenFinYear . '/' . str_pad($number, $digit, '0', STR_PAD_LEFT); + }else{ + $counter = 1; + $NonIgrNo = $leftPad . '/' . $shortenFinYear . '/' . str_pad($counter, $digit, '0', STR_PAD_LEFT); + } + return $NonIgrNo; + } +} + function generate_amendment_po_number($PoNo, $increment = 1) { if (strpos($PoNo, '.') !== false) { list($base, $decimal) = explode('.', $PoNo); diff --git a/app/Models/Expense_model.php b/app/Models/Expense_model.php index 0de2d711..f5a3c2ad 100755 --- a/app/Models/Expense_model.php +++ b/app/Models/Expense_model.php @@ -12,7 +12,7 @@ class Expense_model extends Model 'serial_number' , 'transporter_file', 'supplier_id', 'remarks', 'item_description', 'cost', 'cgst', 'sgst', 'igst', 'total', 'bill_no' ,'bill_date','status','created_by','updated_by' ]; - public function getLastSerialNumber($financialYear) + public function getLastSerialNumber() { return $this->db->table('t_expense') ->select('serial_number')