load->helper("accounts"); checkLogin(); } public function _remap($alias = "", $params = array()) { $data['dataValue'] = $this->session; $data['pageTitle'] = "Account Head"; switch ($alias) { case 'add': if (isset($_POST['submit'])) { $TableData = array( 'accategory_id' => filter_var($_POST['accategory_id']), 'account_code' => generateAccountCode(filter_var($_POST['account_code'])), 'account_name' => filter_var($_POST['account_name']), 'account_type' => filter_var($_POST['account_type']), 'account_plcategory' => filter_var($_POST['account_plcategory']), 'account_currency' => filter_var($_POST['account_currency']), 'account_partyname' => filter_var($_POST['account_partyname']), 'account_partyaddress' => filter_var($_POST['account_partyaddress']), 'account_partypan' => filter_var($_POST['account_partypan']), 'account_partycontact' => filter_var($_POST['account_partycontact']), 'account_partyemail' => filter_var($_POST['account_partyemail']), 'account_partycontactperson' => filter_var($_POST['account_partycontactperson']), 'account_partycontactpersoncontact' => filter_var($_POST['account_partycontactpersoncontact']), 'created_on' => date('Y-m-d H:i:s'), 'created_by' => 'admin', 'remarks' => filter_var($_POST['remarks']), 'status' => 1, ); $this->db->insert('tbl_accounts', $TableData); redirect("accounts"); } loadView("accounts/add", $data); break; case 'edit': if (isset($_POST['submit'])) { $id = $this->uri->segment(3); $TableData = array( 'accategory_id' => filter_var($_POST['accategory_id']), //'account_code' => filter_var($_POST['account_code']), 'account_name' => filter_var($_POST['account_name']), 'account_type' => filter_var($_POST['account_type']), 'account_plcategory' => filter_var($_POST['account_plcategory']), 'account_currency' => filter_var($_POST['account_currency']), 'account_partyname' => filter_var($_POST['account_partyname']), 'account_partyaddress' => filter_var($_POST['account_partyaddress']), 'account_partypan' => filter_var($_POST['account_partypan']), 'account_partycontact' => filter_var($_POST['account_partycontact']), 'account_partyemail' => filter_var($_POST['account_partyemail']), 'account_partycontactperson' => filter_var($_POST['account_partycontactperson']), 'account_partycontactpersoncontact' => filter_var($_POST['account_partycontactpersoncontact']), 'created_on' => date('Y-m-d H:i:s'), 'created_by' => 'admin', 'remarks' => filter_var($_POST['remarks']), 'status' => 1, ); $this->db->where('account_id', $id); $this->db->update('tbl_accounts', $TableData); redirect("accounts"); } loadView("accounts/edit", $data); break; case 'delete': $id = $this->uri->segment(3); $this->db->set('status', "-1"); $this->db->set('remarks', "Deleted on" . date("Y-m-d H:i:s") . " by " . $this->session->userdata("loggedUser")); $this->db->where('account_id', $id); $this->db->update('tbl_accounts'); redirect("accounts"); break; case 'getdetails': $id = $this->uri->segment(3); $this->db->where("account_id", $id); $data['Account'] = $this->db->get("tbl_accounts")->row(); $this->load->view("accounts/details", $data); break; case 'renumerate': $Accounts = $this->db->where("status=1")->get("tbl_accounts")->result(); foreach ($Accounts as $Account) : $AccountCode = generateAccountCode($Account->accategory_id); $this->db->where("account_id", $Account->account_id)->set("account_code", $AccountCode)->update("tbl_accounts"); endforeach; redirect("accounts"); break; case 'listvouchers': $data['pageTitle'] = "Journal Voucher"; loadView("accounts/listvouchers", $data); break; case 'addvoucher': $data['pageTitle'] = "Journal Voucher"; if (isset($_POST['submit']) && !isVoucherExists($_POST['voucher_no'])) { $TableData = array( 'voucher_no' => filter_var($_POST['voucher_no']), //'voucher_ref' => filter_var($_POST['voucher_ref']), // If the voucher is raised against other transactions 'voucher_date' => NepaliToEnglishDate(filter_var($_POST['voucher_date'])), 'voucher_state' => 'Entered', // Different stages of voucher Entered/Reversed/Cancel/Deleted/Locked/Draft etc. 'voucher_type' => 'Journal', //Different types of Vouchers like Cash/Bank/Payment/Receipt/advance etc. 'fiscalyear_id' => $this->session->userdata("FiscalYearID"), 'branch_id' => $this->session->userdata("BranchID"), 'created_by' => $this->session->userdata("loggedUser"), 'created_on' => date('Y-m-d H:i:s'), 'remarks' => filter_var($_POST['remarks']), 'status' => 1 ); $this->db->insert('tbl_vouchers', $TableData); $voucher_id = $this->db->insert_id(); $account_ids = $_POST['account_ids']; $narrations = $_POST['narration']; $debits = $_POST['debit']; $credits = $_POST['credit']; $entry_no = 0; for ($entry_no = 0; $entry_no < sizeof($account_ids); $entry_no++) { $TableData = array(); $TableData = array( 'voucher_id' => $voucher_id, 'entry_no' => $entry_no, 'transaction_date' => NepaliToEnglishDate(filter_var($_POST['voucher_date'])), 'account_id' => $account_ids[$entry_no], 'narration' => $narrations[$entry_no], 'dr' => $debits[$entry_no], 'cr' => $credits[$entry_no], // 'cheque' => filter_var($_POST['cheque']), // 'cheque_details' => filter_var($_POST['cheque_details']), 'currency' => 'NPR', // 'exrate' => filter_var($_POST['exrate']), // 'fcdr' => filter_var($_POST['fcdr']), // 'fccr' => filter_var($_POST['fccr']), 'branch_id' => $this->session->userdata("BranchID"), 'fiscalyear_id' => $this->session->userdata("FiscalYearID"), 'created_on' => date('Y-m-d H:i:s'), 'created_by' => $this->session->userdata("loggedUser"), // 'remarks' => filter_var($_POST['remarks']), 'status' => 1 ); $this->db->insert('tbl_voucherdetails', $TableData); } redirect("accounts/listvouchers"); break; } loadView("accounts/addvoucher", $data); break; case 'voucherdetails': $voucher_id = $this->uri->segment(3); $Voucher = $this->db->where("voucher_id", $voucher_id)->get("tbl_vouchers")->row(); $Voucher->Details = $this->db->where("voucher_id", $voucher_id)->get("tbl_voucherdetails")->result(); $data['Voucher'] = $Voucher; $this->load->view("accounts/voucherdetails", $data); break; case 'show_voucher': $data['pageTitle']="Voucher Entries"; $voucher_id = $this->uri->segment(3); $Voucher = $this->db->where("voucher_id", $voucher_id)->get("tbl_vouchers")->row(); $Voucher->Details = $this->db->where("voucher_id", $voucher_id)->get("tbl_voucherdetails")->result(); $data['Voucher'] = $Voucher; loadview("accounts/show_voucher", $data); break; case 'reversal': $voucher_id = $this->uri->segment(3); if (isVoucherReverseable($voucher_id)) : $VoucherDetails = $this->db->where("voucher_id", $voucher_id)->get("tbl_voucherdetails")->result(); $entry_no = 0; foreach ($VoucherDetails as $VoucherDetail) : $TableData = array( 'voucher_id' => $voucher_id, 'entry_no' => $entry_no, 'transaction_date' => $VoucherDetail->transaction_date, 'account_id' => $VoucherDetail->account_id, 'narration' => "Reversal of Voucher #" . getFieldfromValue("tbl_vouchers", "voucher_no", "voucher_id", $VoucherDetail->voucher_id), 'dr' => $VoucherDetail->cr, 'cr' => $VoucherDetail->dr, // 'cheque' => filter_var($_POST['cheque']), // 'cheque_details' => filter_var($_POST['cheque_details']), 'currency' => 'NPR', // 'exrate' => filter_var($_POST['exrate']), // 'fcdr' => filter_var($_POST['fcdr']), // 'fccr' => filter_var($_POST['fccr']), 'branch_id' => $this->session->userdata("BranchID"), 'fiscalyear_id' => $this->session->userdata("FiscalYearID"), 'created_on' => date('Y-m-d H:i:s'), 'created_by' => $this->session->userdata("loggedUser"), // 'remarks' => filter_var($_POST['remarks']), 'status' => 1 ); $this->db->insert('tbl_voucherdetails', $TableData); $entry_no++; endforeach; $this->db->where("voucher_id", $voucher_id)->set("voucher_state", 'Reversed')->update("tbl_vouchers"); endif; redirect("accounts/listvouchers"); 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': $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; default: loadView("accounts/list", $data); } } }