diff --git a/.env b/.env index 6e41482..13d4145 100644 --- a/.env +++ b/.env @@ -3,7 +3,7 @@ APP_URL=http://localhost/bbnepal/School-With-Accounts/account/ DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3309 -DATABASE_OPTIONS=bbnepal_accounting,myurlsco_accounts1,myurlsco_accounts2,myurlsco_accounts3 -DB_DATABASE=bbnepal_accounting +DATABASE_OPTIONS=bbnepal_accounting,myurlsco_accounts1,myurlsco_accounts2,myurlsco_accounts3,myurlsco_bbnepal_acc #given +DB_DATABASE=bbnepal_accounting # given DB_USERNAME=root DB_PASSWORD= \ No newline at end of file diff --git a/account/application/controllers/accounts/Ledger.php b/account/application/controllers/accounts/Ledger.php index 45c7a2e..7780f7e 100644 --- a/account/application/controllers/accounts/Ledger.php +++ b/account/application/controllers/accounts/Ledger.php @@ -10,8 +10,8 @@ class Ledger extends CI_Controller } public function _remap($alias = "", $params = array()) { - $data['dataValue'] = $this->session; + // echo "
"; print_r($_GET['accategory_id']);die();
 
         $data['pageTitle'] = "Account Head";
         switch ($alias) {
@@ -19,9 +19,13 @@ class Ledger extends CI_Controller
                 $data['pageTitle'] = "Ledger";
                 $AccountGroups = $this->db->where("status", 1)->get("tbl_acgroups")->result();
                 foreach ($AccountGroups as $AccountGroup) {
-                    $AccountGroup->AccountCategories = $this->db->where("status", 1)->where("acgroup_id", $AccountGroup->acgroup_id)->get("tbl_accategories")->result();
+                    // $AccountGroup->AccountCategories = $this->db->where("status", 1)->where("acgroup_id", $AccountGroup->acgroup_id)->get("tbl_accategories")->result();
+                                    $AccountGroup->AccountCategories = $this->db->where("status", 1)->where("accategory_id ", ($_GET['accategory_id'] ?? ""))->get("tbl_accategories")->result();
+
                 }
                 $data['AccountGroups'] = $AccountGroups;
+                // echo "
"; print_r($data['AccountGroups']);die();
+
                 loadView("accounts/ledger/navigate", $data);
                 break;
             case 'getledgersummary':
@@ -39,13 +43,27 @@ class Ledger extends CI_Controller
                 $this->load->view("accounts/ledgersummary", $data);
                 break;
             case 'partyledger':
-                $data['pageTitle'] = "View Party Ledger";
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
                 // $_GET['show_ledger'];
+                
+                if (!isset($_GET['from_date'])) {
+                    $data['from_date'] = null;
+                }
+                if (!isset($_GET['to_date'])) {
+                    $data['to_date'] = null;
+                }
+                if (isset($_GET)) {
+                    $data = $_GET;
+                }
+                $data['pageTitle'] = "View Party Ledger";
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+                  
+
                 if (isset($_GET['show_ledger'])) {
-                    $fromDate_Nepali = $_GET['from_date'];
-                    $toDate_Nepali = $_GET['to_date'];
+                    $fromDate_Nepali=$data['from_date'];
+                    $toDate_Nepali =$data['to_date'];
                     $data['fromDate'] = NepaliToEnglishDate($fromDate_Nepali);
                     $data['toDate'] = NepaliToEnglishDate($toDate_Nepali);
                     $data['fromDate_Nepali'] = $fromDate_Nepali;
@@ -54,7 +72,7 @@ class Ledger extends CI_Controller
                 }
                 loadView("accounts/ledger/partywise", $data);
                 break;
-            case 'print':
+            case 'print': 
                 $account_id = $this->uri->segment(4);
                 $fromDate=(isset($_GET['from_date'])?$_GET['from_date']:NepaliDate(($this->session->userdata('FiscalYear'))->fiscalyear_from));
                 $toDate=(isset($_GET['to_date'])?$_GET['to_date']:NepaliDate(($this->session->userdata('FiscalYear'))->fiscalyear_to));
@@ -77,14 +95,39 @@ class Ledger extends CI_Controller
                 loadView("accounts/daybook", $data);
                 break;
             case 'bank_book':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+               
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
                 $data['pageTitle'] = "Bank Book";               
                 loadView("accounts/ledger_bankbook", $data);
                 break;
             case 'cash_book':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+               
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
                 $data['pageTitle'] = "Cash Book";               
                 loadView("accounts/ledger_cashbook", $data);
                 break;
diff --git a/account/application/controllers/accounts/Reports.php b/account/application/controllers/accounts/Reports.php
index 41df1a9..5e7136d 100644
--- a/account/application/controllers/accounts/Reports.php
+++ b/account/application/controllers/accounts/Reports.php
@@ -65,8 +65,20 @@ class Reports extends CI_Controller
                 loadView("accounts/trialbalance", $data);
                 break;
             case 'trialbalance':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+                // echo "
"; print_r($data); die(); 
+
                 $data['pageTitle'] = "Trial Balance";
                 loadView("accounts/trialbalance_new", $data);
                 break;
@@ -132,8 +144,17 @@ class Reports extends CI_Controller
                 loadView("accounts/pl", $data);
                 break;
             case 'pl':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
                 $data['pageTitle'] = "Profit & Loss Statement";
                 loadView("accounts/pl_new", $data);
                 break;
@@ -147,8 +168,20 @@ class Reports extends CI_Controller
                 loadView("accounts/balancesheet", $data);
                 break;
             case 'balance_sheet':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+               
                 $data['pageTitle'] = "Balance Sheet";
                 loadView("accounts/balancesheet_new", $data);
                 break;
@@ -157,8 +190,20 @@ class Reports extends CI_Controller
                 loadView("accounts/balance_sheet_vertical", $data);
                 break;
             case 'cash_flow':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+               
                 $data['pageTitle'] = "Cash Flow";
                 loadView("accounts/cash_flow", $data);
                 break;
@@ -171,8 +216,22 @@ class Reports extends CI_Controller
                 loadView("accounts/incomes_expenses", $data);
                 break;
             case 'receipt_and_payment':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+               
+               
+
+                // $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
+                // $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
                 $data['pageTitle'] = "Cash Flow";
                 loadView("accounts/receipt_and_payment", $data);
                 break;
diff --git a/account/application/controllers/inventory/Stocks.php b/account/application/controllers/inventory/Stocks.php
index 2bbf4fc..e2ad68a 100644
--- a/account/application/controllers/inventory/Stocks.php
+++ b/account/application/controllers/inventory/Stocks.php
@@ -6,10 +6,18 @@ class Stocks extends CI_Controller
     {
         parent::__construct();
         $this->load->model('MStocks');
-        checkLogin();
+        $this->load->helper('form');
+        // checkLogin();
     }
+
+
     public function _remap($alias = "", $params = array())
     {
+        // echo "
"; var_dump($alias = "", $params = array()); die();
+        // echo "
"; var_dump($alias,$this->input->post('fromDate'),$this->input->post('stocklocations_id'),$this->input->post('toDate')); die();
+
+
+        // var_dump(($_POST['stocklocations_id']));die();
         $data['dataValue'] = $this->session;
         $data['pageTitle'] = "Inventory Stock";
         switch ($alias) {
@@ -57,10 +65,28 @@ class Stocks extends CI_Controller
                 loadView("inventory/stocks/add", $data);
                 break;
             case 'summary':
-                $data['fiscalStart'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_from);
-                $data['fiscalEnd'] = NepaliDate($this->session->userdata['FiscalYear']->fiscalyear_to);
-                $data['StockRecords'] = $this->MStocks->getStockSummary();
-                // pre($data['StockRecords']);
+                
+                if (!isset($_POST['stocklocations_id'])) {
+                    $data['stocklocations_id'] = null;
+                }
+                if (!isset($_POST['fromDate'])) {
+                    $data['fromDate'] = null;
+                }
+                if (!isset($_POST['toDate'])) {
+                    $data['toDate'] = null;
+                }
+                if (isset($_POST)) {
+                    $data = $_POST;
+                }
+            
+                $data['pageTitle'] = "Inventory Stock";
+                $data['fiscalStart'] =  NepaliToEnglishDate($data['fromDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_from);
+                $data['fiscalEnd'] = NepaliToEnglishDate($data['toDate'] ?? $this->session->userdata['FiscalYear']->fiscalyear_to);
+
+
+                $data['StockRecords'] = $this->MStocks->getStockSummary($data);
+                
+
                 loadView("inventory/stocks/summary", $data);
                 break;
             case 'delete':
@@ -70,8 +96,24 @@ class Stocks extends CI_Controller
                 redirect("inventory/stocks/list");
                 break;
             default:
+                // var_dump("hello");
+                // die();
+                // echo '
';
+                // var_dump($_POST['fromDate'], $_POST['toDate']);
+                // die();
                 $data['StockRecords'] = $this->MStocks->getStockRecords();
                 loadView("inventory/stocks/list", $data);
         }
     }
+    // public function summary()
+    // {
+    //     var_dump("hello");
+    //     die();
+    //     echo '
';
+    //     var_dump($_POST['stocklocations_id'], $_POST['fromDate'], $_POST['toDate']);
+    //     die();
+    //     $data['StockRecords'] = $this->MStocks->getStockSummary($_POST['stocklocations_id'] = 0, $_POST['fromDate'], $_POST['toDate']);
+    //     // echo "
", var_dump($data['StockRecords']); die();
+    //     loadView("inventory/stocks/summary", $data);
+    // }
 }
diff --git a/account/application/libraries/BIBAccounts.php b/account/application/libraries/BIBAccounts.php
index 5930957..2bfce27 100644
--- a/account/application/libraries/BIBAccounts.php
+++ b/account/application/libraries/BIBAccounts.php
@@ -76,7 +76,7 @@ class bibaccounts
                 $group->cr_total += $accountBalances['cr_total'];
                 $group->regular_balance_dr += $accountBalances['regular_balance_dr'];
                 $group->regular_balance_cr += $accountBalances['regular_balance_cr'];
-                $account->balances=$accountBalances;
+                $account->balances = $accountBalances;
             }
             if (
                 $group->dr_total > 0 &&
@@ -90,7 +90,67 @@ class bibaccounts
             $group->opening_balance = ($group->posting_side == "DR") ? $group->opening_balance_dr - $group->opening_balance_cr : $group->opening_balance_cr - $group->opening_balance_dr;
             $group->closing_balance = ($group->posting_side == "DR") ? $group->dr_total - $group->cr_total : $group->cr_total - $group->dr_total;
             $group->regular_balance = ($group->posting_side == "DR") ? $group->regular_balance_dr - $group->regular_balance_cr : $group->regular_balance_cr - $group->regular_balance_dr;
-           
+
+            $group->accounts = $accounts;
+            $result[] = $group;
+        }
+        // pre($result);die;
+        return $result;
+    }
+
+    // new function
+    function getAccountGroupsWithBalancesNew($acgroup_id = null, $fiscalStart = null, $fiscalEnd = null)
+    {
+
+        $CI = &get_instance();
+        $result = [];
+
+        $whereClause = "";
+        if ($acgroup_id !== null) {
+            $whereClause = "WHERE acgroup_id = '$acgroup_id' AND status=1 AND created_on >= '$fiscalStart' AND created_on >= '$fiscalEnd'  ";
+        }
+
+        $t = "SELECT * FROM `tbl_acgroups` $whereClause";
+        $accountGroups = $CI->db->query($t)->result();
+        foreach ($accountGroups as $group) {
+            $t = "SELECT * FROM tbl_accounts 
+              WHERE (accategory_id IN (SELECT accategory_id FROM tbl_accategories WHERE acgroup_id = '{$group->acgroup_id}') 
+                     OR accategory_id IN (SELECT parent_category_id FROM tbl_accategories WHERE accategory_id IN (SELECT accategory_id FROM tbl_accategories WHERE acgroup_id = '{$group->acgroup_id}')))
+                    AND status <> -1";
+
+            $accounts = $CI->db->query($t)->result();
+
+            $group->dr_total = 0;
+            $group->cr_total = 0;
+            $group->regular_balance_dr = 0;
+            $group->regular_balance_cr = 0;
+            $group->opening_balance_dr = 0;
+            $group->opening_balance_cr = 0;
+
+            foreach ($accounts as $account) {
+                $accountBalances = $this->getAccountBalances($account->account_id);
+                //    pre($accountBalances);die;
+                $group->opening_balance_dr += $accountBalances['opening_balance_dr'];
+                $group->opening_balance_cr += $accountBalances['opening_balance_cr'];
+                $group->dr_total += $accountBalances['dr_total'];
+                $group->cr_total += $accountBalances['cr_total'];
+                $group->regular_balance_dr += $accountBalances['regular_balance_dr'];
+                $group->regular_balance_cr += $accountBalances['regular_balance_cr'];
+                $account->balances = $accountBalances;
+            }
+            if (
+                $group->dr_total > 0 &&
+                $group->cr_total > 0 &&
+                $group->regular_balance_dr > 0 &&
+                $group->regular_balance_cr > 0 &&
+                $group->opening_balance_dr > 0 &&
+                $group->opening_balance_cr > 0
+            ) $group->isZero = 1;
+            else $group->isZero = 0;
+            $group->opening_balance = ($group->posting_side == "DR") ? $group->opening_balance_dr - $group->opening_balance_cr : $group->opening_balance_cr - $group->opening_balance_dr;
+            $group->closing_balance = ($group->posting_side == "DR") ? $group->dr_total - $group->cr_total : $group->cr_total - $group->dr_total;
+            $group->regular_balance = ($group->posting_side == "DR") ? $group->regular_balance_dr - $group->regular_balance_cr : $group->regular_balance_cr - $group->regular_balance_dr;
+
             $group->accounts = $accounts;
             $result[] = $group;
         }
@@ -99,7 +159,9 @@ class bibaccounts
     }
 
 
-    function getAccountCategoriesWithBalances($acgroup_id = null, $accategory_id=null)
+    // new function ends
+
+    function getAccountCategoriesWithBalances($acgroup_id = null, $accategory_id = null)
     {
         $CI = &get_instance();
         $result = [];
@@ -138,7 +200,7 @@ class bibaccounts
                 $category->cr_total += $accountBalances['cr_total'];
                 $category->regular_balance_dr += $accountBalances['regular_balance_dr'];
                 $category->regular_balance_cr += $accountBalances['regular_balance_cr'];
-                $account->balances=$accountBalances;
+                $account->balances = $accountBalances;
             }
             $category->posting_side = $CI->db->query("SELECT posting_side FROM tbl_acgroups WHERE acgroup_id=(SELECT acgroup_id FROM tbl_accategories WHERE accategory_id='" . $category->accategory_id . "')")->row()->posting_side;
 
@@ -149,8 +211,8 @@ class bibaccounts
             $category->accounts = $accounts;
             $result[] = $category;
         }
-      //  pre($category);
-        if($accategory_id!=null)return isset($category)?$category:'';
+        //  pre($category);
+        if ($accategory_id != null) return isset($category) ? $category : '';
         return $result;
     }
 
@@ -538,7 +600,7 @@ class bibaccounts
         $fiscal_year_id = ($fiscal_year_id == "") ? $this->FY : $fiscal_year_id;
         $branch_id = ($branch_id == "") ? $this->Branch : $branch_id;
         $CI = &get_instance();
-        $query = $CI->db->query("SELECT SUM(dr) AS dr_total, SUM(cr) AS cr_total FROM tbl_voucherdetails WHERE account_id='$account_id' AND status=1 AND fiscalyear_id='$fiscal_year_id' AND branch_id='$branch_id'");
+        $query = $CI->db->query("SELECT SUM(dr) AS dr_total, SUM(cr) AS cr_total FROM tbl_voucherdetails WHERE account_id='$account_id' AND status=1 AND fiscalyear_id='$fiscal_year_id' AND branch_id='$branch_id' ");
         $result = $query->row();
 
         $drTotal = $result->dr_total;
@@ -578,7 +640,51 @@ class bibaccounts
             'regular_balance_cr' => $regularBalanceCr,
         );
     }
+    function getAccountBalancesNew($account_id, $fiscal_year_id = "", $branch_id = "",$fiscalStart = null, $fiscalEnd = null)
+    {
+        $fiscal_year_id = ($fiscal_year_id == "") ? $this->FY : $fiscal_year_id;
+        $branch_id = ($branch_id == "") ? $this->Branch : $branch_id;
+        $CI = &get_instance();
+        $query = $CI->db->query("SELECT SUM(dr) AS dr_total, SUM(cr) AS cr_total FROM tbl_voucherdetails WHERE account_id='$account_id' AND status=1 AND fiscalyear_id='$fiscal_year_id' AND branch_id='$branch_id' AND created_on >= '$fiscalStart' AND created_on >= '$fiscalEnd' ");
+        $result = $query->row();
+        echo "
";print_r($result);die();
+        $drTotal = $result->dr_total;
+        $crTotal = $result->cr_total;
 
+        $posting_side = $CI->db->query("SELECT posting_side FROM tbl_acgroups WHERE acgroup_id=(SELECT acgroup_id FROM tbl_accategories WHERE accategory_id=(SELECT accategory_id FROM tbl_accounts WHERE account_id='$account_id'))")->row()->posting_side;
+
+        $drBalance = 0;
+        $crBalance = 0;
+
+        if ($posting_side == "DR") {
+            $drBalance = $drTotal - $crTotal;
+        } else {
+            $crBalance = $crTotal - $drTotal;
+        }
+
+        $openingBalanceQuery = $CI->db->query("SELECT SUM(dr) AS opening_balance_dr, SUM(cr) AS opening_balance_cr FROM tbl_voucherdetails WHERE account_id='$account_id' AND voucher_id=0 AND status=1 AND fiscalyear_id='$fiscal_year_id' AND branch_id='$branch_id'");
+        $openingBalanceResult = $openingBalanceQuery->row();
+
+        $openingBalanceDr = $openingBalanceResult->opening_balance_dr;
+        $openingBalanceCr = $openingBalanceResult->opening_balance_cr;
+
+        $regularBalanceQuery = $CI->db->query("SELECT SUM(dr) AS regular_balance_dr, SUM(cr) AS regular_balance_cr FROM tbl_voucherdetails WHERE account_id='$account_id' AND voucher_id<>0 AND status=1 AND fiscalyear_id='$fiscal_year_id' AND branch_id='$branch_id'");
+        $regularBalanceResult = $regularBalanceQuery->row();
+
+        $regularBalanceDr = $regularBalanceResult->regular_balance_dr;
+        $regularBalanceCr = $regularBalanceResult->regular_balance_cr;
+
+        return array(
+            'dr_total' => $drTotal,
+            'cr_total' => $crTotal,
+            'dr_balance' => $drBalance,
+            'cr_balance' => $crBalance,
+            'opening_balance_dr' => $openingBalanceDr,
+            'opening_balance_cr' => $openingBalanceCr,
+            'regular_balance_dr' => $regularBalanceDr,
+            'regular_balance_cr' => $regularBalanceCr,
+        );
+    }
 
 
     //////
@@ -608,12 +714,13 @@ class bibaccounts
             
             
                 
-                    
+                    
                     isZero == true) continue; ?>
                     
                         
-                            parent_category_id): ?>
-                                accategory_name; ?>
+                            parent_category_id): ?>
+                                accategory_name; ?>
                             
                                 accategory_name; ?>
                             
@@ -817,14 +924,14 @@ class bibaccounts
     /*
      * Retrieves the account groups and accounts with balances that has cash/bank in debit side
      */
-    function getIncomeAndExpenditure()
+    function getIncomeAndExpenditure($fiscalStart,$fiscalEnd)
     {
         $CI = &get_instance();
         #2 >> Bank Accounts
         #3 >> Cash Accounts
         $Incomes = array();
         $Expenses = array();
-        $t = "select * from tbl_voucherdetails where voucher_id in (select voucher_id from tbl_voucherdetails where voucher_id<>0 and account_id in (select account_id from tbl_accounts where accategory_id=2 or accategory_id=3)) and account_id not in (select account_id from tbl_accounts where accategory_id=2 or accategory_id=3)";
+        $t = "select * from tbl_voucherdetails where voucher_id in (select voucher_id from tbl_voucherdetails where voucher_id<>0 and account_id in (select account_id from tbl_accounts where accategory_id=2 or accategory_id=3)) AND created_on >= '$fiscalStart' AND created_on >= '$fiscalEnd' and account_id not in (select account_id from tbl_accounts where accategory_id=2 or accategory_id=3)";
         $accounts = $CI->db->query($t)->result();
         foreach ($accounts as $account) {
             $account->details = $CI->db->query("select * from tbl_accounts where account_id=" . $account->account_id)->row();
@@ -954,14 +1061,14 @@ class bibaccounts
                 $sides["Incomes"] = $newArray;
             else
                 $sides["Expenses"] = $newArray;
-           
+
         endforeach;
 
         return $sides;
     }
-    function prepareIncomeExpenses()
+    function prepareIncomeExpenses($fiscalStart,$fiscalEnd)
     {
-        $cashFlow = $this->getIncomeAndExpenditure();
+        $cashFlow = $this->getIncomeAndExpenditure($fiscalStart,$fiscalEnd);
         $a = 0;
         foreach ($cashFlow as $side) :
             $Groups = array();
@@ -1003,7 +1110,7 @@ class bibaccounts
                 $sides["Incomes"] = $newArray;
             else
                 $sides["Expenses"] = $newArray;
-           
+
         endforeach;
 
         return $sides;
diff --git a/account/application/libraries/Myaccounts.php b/account/application/libraries/Myaccounts.php
index 06dfebb..4115bc9 100644
--- a/account/application/libraries/Myaccounts.php
+++ b/account/application/libraries/Myaccounts.php
@@ -800,7 +800,8 @@ class myaccounts
         $CI = &get_instance();
         $CI->load->library("numbertoword");
         $ledgerData = $this->getLedgerData($account_id, $fromDate, $toDate);
-        $file = APPPATH . "/../pdf/e_ledger1.pdf";
+        $file = APPPATH . "/../pdf/
+        .pdf";
         $pdf = new FPDM($file);
         $i = 0;
         $crTotal = 0;
@@ -844,7 +845,7 @@ class myaccounts
         $OutputFile = "Ledger_" . $ledgerData['Account']->account_id . ".pdf";
         $pdf->Output("F", $OutputFileLocation . $OutputFile);
         return $OutputFile;
-    }
+    } 
     function ledgerPDF($account_id, $fromDate, $toDate)
     {
         $CI = &get_instance();
diff --git a/account/application/models/MStocks.php b/account/application/models/MStocks.php
index 7cfb1a8..fa99b9c 100644
--- a/account/application/models/MStocks.php
+++ b/account/application/models/MStocks.php
@@ -71,8 +71,8 @@ class MStocks extends CI_Model
             $nos++;
             $rate += $Item->rate;
         }
-        if($nos!=0)        $rate = $rate / $nos;
-        
+        if ($nos != 0)        $rate = $rate / $nos;
+
         $SalesStock = new stdClass;
         $SalesStock->qty = $qty;
         $SalesStock->rate = $rate;
@@ -94,14 +94,14 @@ class MStocks extends CI_Model
             $nos++;
             $rate += $Item->rate;
         }
-        if($nos!=0)        $rate = $rate / $nos;
+        if ($nos != 0)        $rate = $rate / $nos;
         $PurchaseStock = new stdClass;
         $PurchaseStock->qty = $qty;
         $PurchaseStock->rate = $rate;
         $PurchaseStock->amount = $qty * $rate;
         return $PurchaseStock;
     }
-   
+
     public function getOpeningStock($item_id)
     {
         $this->db->where("status", 1);
@@ -116,7 +116,7 @@ class MStocks extends CI_Model
             $nos++;
             $rate += $Item->price;
         }
-        if($nos!=0)        $rate = $rate / $nos;
+        if ($nos != 0)        $rate = $rate / $nos;
         $OpeningStock = new stdClass;
         $OpeningStock->qty = $qty;
         $OpeningStock->rate = $rate;
@@ -125,12 +125,12 @@ class MStocks extends CI_Model
     }
     public function getClosingStock($item_id)
     {
-        $OpeningStock=$this->getOpeningStock($item_id);
-        $PurchaseStock=$this->getItemPurchaseStock($item_id);
-        $SalesStock=$this->getItemSalesStock($item_id);
+        $OpeningStock = $this->getOpeningStock($item_id);
+        $PurchaseStock = $this->getItemPurchaseStock($item_id);
+        $SalesStock = $this->getItemSalesStock($item_id);
         $ClosingStock = new stdClass;
-        $ClosingStock->qty =$PurchaseStock->qty+$OpeningStock->qty-$SalesStock->qty;
-        $ClosingStock->rate = $PurchaseStock->rate+$OpeningStock->rate-$SalesStock->rate;
+        $ClosingStock->qty = $PurchaseStock->qty + $OpeningStock->qty - $SalesStock->qty;
+        $ClosingStock->rate = $PurchaseStock->rate + $OpeningStock->rate - $SalesStock->rate;
         $ClosingStock->amount = $ClosingStock->qty * $ClosingStock->rate;
         return $ClosingStock;
     }
@@ -151,8 +151,10 @@ class MStocks extends CI_Model
         $Item->Closing = $this->getClosingStock($item_id);
         return $Item;
     }
-    public function getStockSummary($stocklocation_id = 0)
+    public function getStockSummary($data)
     {
+     
+        $stocklocation_id = $data['stocklocation_id'] ?? null;
         $this->db->where("status", 1);
         if ($stocklocation_id != 0) {
             $this->db->where("stocklocations_id", $stocklocation_id);
@@ -160,9 +162,19 @@ class MStocks extends CI_Model
         $StockRecords = $this->db->select("distinct(items_id) as items_id")->get("tbl_stocks")->result();
         foreach ($StockRecords as $StockRecord) {
             $StockRecord->Summary = $this->getStockItemSummary($StockRecord->items_id);
-            // $StockRecord->StockLocation = $this->db->where("stocklocation_id", $StockRecord->stocklocations_id)->get("tbl_stocklocations")->row();
-            $StockRecord->Item = $this->db->where("item_id", $StockRecord->items_id)->get("tbl_items")->row();
-        }
+            $this->db->where("stocklocation_id ", $StockRecord->Summary->stocklocations_id);
+            $query1 = $this->db->get("tbl_stocklocations");
+            $result2 = $query1->result();
+            $StockRecord->StockLocation = $result2;
+            //tbl_items
+            $this->db->where('created_on >=', date('Y-m-d', (strtotime($data['fiscalStart']))));
+            $this->db->where('created_on <=', date('Y-m-d', (strtotime($data['fiscalEnd']))));
+            $this->db->where('item_id', $StockRecord->items_id);
+            $query3 = $this->db->get('tbl_items');
+            $result3 = $query3->result(); 
+            $StockRecord->Item = $result3;
+ }
+       
         return $StockRecords;
     }
     public function getStockRecords($stocklocation_id = 0)
@@ -215,6 +227,5 @@ class MStocks extends CI_Model
         $Item = $this->db->where("item_id", $id)->get("tbl_items")->row();
         $Unit = $this->db->where("unit_id", $Item->units_id)->get("tbl_units")->row();
         return $Unit;
-
     }
 }
diff --git a/account/application/views/accounts/balancesheet_new.php b/account/application/views/accounts/balancesheet_new.php
index 0a0bb7b..2df5674 100644
--- a/account/application/views/accounts/balancesheet_new.php
+++ b/account/application/views/accounts/balancesheet_new.php
@@ -115,7 +115,7 @@ $BIBAccounts = new BIBAccounts();
                 

-
+ id="FilterForm">
-->
- prepareIncomeExpenses() ?> + prepareIncomeExpenses($fiscalStart,$fiscalEnd); + // echo "
";print_r($IncomesExpenses); die();
+                     ?>
                  
           
 
diff --git a/account/application/views/accounts/ledger_bankbook.php b/account/application/views/accounts/ledger_bankbook.php
index 39fd4d5..6a17e96 100644
--- a/account/application/views/accounts/ledger_bankbook.php
+++ b/account/application/views/accounts/ledger_bankbook.php
@@ -7,8 +7,8 @@
                         

- - + +
- + + + + + \ No newline at end of file diff --git a/account/application/views/accounts/ledger_cashbook.php b/account/application/views/accounts/ledger_cashbook.php index bfd6648..f942c50 100644 --- a/account/application/views/accounts/ledger_cashbook.php +++ b/account/application/views/accounts/ledger_cashbook.php @@ -91,7 +91,7 @@ $CI = &get_instance(); // $CI->db->where("status", 1)->where("(accategory_id = 2 OR accategory_id = 3)"); - $CI->db->where("status", 1)->where("accategory_id = 3"); + $CI->db->where("status", 1)->where("accategory_id = 3")->where("created_on >= '$fiscalStart'")->where("created_on >= '$fiscalEnd'"); $CI->db->order_by("account_name ASC"); $Accounts = $CI->db->get("tbl_accounts")->result(); diff --git a/account/application/views/accounts/pl_new.php b/account/application/views/accounts/pl_new.php index eafc3a8..753e7c5 100644 --- a/account/application/views/accounts/pl_new.php +++ b/account/application/views/accounts/pl_new.php @@ -124,7 +124,7 @@ $BIBAccounts = new BIBAccounts();

- +
@@ -228,7 +230,7 @@ $BIBAccounts = new BIBAccounts(); - getAccountGroupsWithBalances(3); ?> + getAccountGroupsWithBalancesNew(3,$fiscalStart,$fiscalEnd); ?> - getAccountGroupsWithBalances(4); ?> + getAccountGroupsWithBalancesNew(4,$fiscalStart,$fiscalEnd); ?> Receipts And Payments
- + id="FilterForm">