BBnepal-Accounts/account/application/controllers/accounts/Reports.php

280 lines
13 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Reports extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper("accounts");
checkLogin();
}
public function _remap($alias = "", $params = array())
{
$data['dataValue'] = $this->session;
$data['pageTitle'] = "Account Head";
switch ($alias) {
case 'accounts':
$data['pageTitle'] = "List of Accounts";
loadView("accounts/accounts/list", $data);
break;
case 'ledger':
$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();
}
$data['AccountGroups'] = $AccountGroups;
loadView("accounts/ledger", $data);
break;
case 'ledgerall':
$data['pageTitle'] = "Ledger";
$Accounts = $this->db->where("status", 1)->get("tbl_accounts")->result();
foreach ($Accounts as $Account) :
endforeach;
$AccountGroups = $this->db->where("status", 1)->get("tbl_acgroups")->result();
$data['Accounts'] = $Accounts;
$data['AccountGroups'] = $AccountGroups;
loadView("accounts/ledgerall", $data);
break;
case 'getledgersummary':
$account_id = $this->uri->segment(3);
$data['pageTitle'] = "Ledger";
$Transactions = $this->db->where("status", 1)->where("account_id", $account_id)->get("tbl_voucherdetails")->result();
$Account = $this->db->where("status", 1)->where("account_id", $account_id)->get("tbl_accounts")->row();
foreach ($Transactions as $T) {
// $T->AccountCategory=$this->db->where("status",1)->where("accategory_id",$AccountGroup->acgroup_id)->get("tbl_accategories")->result();
$T->Voucher = $this->db->where("status", 1)->where("voucher_id", $T->voucher_id)->get("tbl_vouchers")->row();
}
$data['Transactions'] = $Transactions;
$data['Account'] = $Account;
$data['account_id'] = $account_id;
$this->load->view("accounts/ledgersummary", $data);
break;
case 'trialbalance_old':
$data['pageTitle'] = "Trial Balance";
$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();
foreach ($AccountGroup->AccountCategories as $AccountCategory) {
$AccountCategory->Accounts = $this->db->where("status", 1)->where("accategory_id", $AccountCategory->accategory_id)->get("tbl_accounts")->result();
}
}
$data['AccountGroups'] = $AccountGroups;
loadView("accounts/trialbalance", $data);
break;
case 'trialbalance':
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 "<pre>"; print_r($data); die();
$data['pageTitle'] = "Trial Balance";
loadView("accounts/trialbalance_new", $data);
break;
case 'trialbalance_raw':
$data['pageTitle'] = "Trial Balance";
loadView("accounts/trialbalance_raw", $data);
break;
case 'trialbalance_table':
$data['pageTitle'] = "Trial Balance";
loadView("accounts/trialbalance_table", $data);
break;
case 'show_voucher':
$data['voucher_id'] = $this->uri->segment(4);
loadView("accounts/vouchers/show_voucher", $data);
break;
case 'balance_by_type':
$data['pageTitle'] = "Account Balances By Types";
loadView("accounts/balances/bytype", $data);
break;
case 'balance_by_category':
$acgroup_id = 0;
$data['pageTitle'] = "Account Balances By Category";
if (isset($_GET['group'])) {
$acgroup_id = ($_GET['group']) ? $_GET['group'] : 0;
}
if ($acgroup_id != 0) {
$group = getFieldfromValue("tbl_acgroups", "acgroup_name", "acgroup_id", $acgroup_id);
$data['pageTitle'] = "Account Balances By " . $group;
}
$data['acgroup_id'] = $acgroup_id;
loadView("accounts/balances/bycategory", $data);
break;
case 'balance_by_group':
$accategory_id = 0;
$data['pageTitle'] = "Account Balances By Group";
if (isset($_GET['category'])) {
$accategory_id = ($_GET['category']) ? $_GET['category'] : 0;
}
if ($accategory_id != 0) {
$group = getFieldfromValue("tbl_accategories", "accategory_name", "accategory_id", $accategory_id);
$data['pageTitle'] = "Account Balances By " . $group;
}
loadView("accounts/balances/bygroup", $data);
break;
case 'balance_by_ledger':
$accategory_id = 0;
$data['pageTitle'] = "Account Balances By Ledgers";
if (isset($_GET['group'])) {
$accategory_id = ($_GET['group']) ? $_GET['group'] : 0;
}
if ($accategory_id != 0) {
$group = getFieldfromValue("tbl_accategories", "accategory_name", "accategory_id", $accategory_id);
$data['pageTitle'] = "Account Balances By " . $group;
}
$data['accategory_id'] = $accategory_id;
loadView("accounts/balances/byledger", $data);
break;
case 'pl_old':
$data['pageTitle'] = "Profit & Loss Statement";
loadView("accounts/pl", $data);
break;
case 'pl':
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;
case 'pl_grouped':
$data['pageTitle'] = "Profit & Loss Statement";
loadView("accounts/bib_pl", $data);
break;
case 'balance_sheet_old':
$data['pageTitle'] = "Balance Sheet";
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);
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;
case 'balance_sheet_vertical':
$data['pageTitle'] = "Balance Sheet";
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);
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;
case 'receipts_payments':
$data['pageTitle'] = "Cash Flow";
loadView("accounts/receipts_payments", $data);
break;
case 'incomes_and_expenses':
$data['pageTitle'] = "Cash Flow";
loadView("accounts/incomes_expenses", $data);
break;
case 'receipt_and_payment':
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;
case 'ratio_analysis':
$data['pageTitle'] = "Cash Flow";
loadView("accounts/ratio_analysis", $data);
break;
case 'sales_register':
$data['pageTitle'] = "Sales Register";
loadView("accounts/sales_register", $data);
break;
case 'purchase_register':
$data['pageTitle'] = "Purchase Register";
loadView("accounts/purchase_register", $data);
break;
case 'ajax':
$ajaxCommand = $this->uri->segment(4);
$this->processAjax($ajaxCommand);
break;
default:
loadView("accounts/list", $data);
}
}
private function processAjax($command)
{
switch ($command) {
case 'accountsbycategory':
$accategory_id = $this->uri->segment(5);
$this->myaccounts->getAccountsTableByCategory($accategory_id);
break;
case 'getallaccounts':
$this->myaccounts->getAllAccountsTable();
break;
case 'getledgersummary':
$account_id = $this->uri->segment(5);
$this->myaccounts->showLedger($account_id);
break;
case 'default':
//show_404();
break;
}
}
}