?
Current Path : /home1/savoy/public_html/savoyglobal.net/sgms/draft/application/models/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : /home1/savoy/public_html/savoyglobal.net/sgms/draft/application/models/accountingmodel.php |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Accountingmodel extends CI_Model { function __construct() { // Call the Model constructor parent::__construct(); } function add($postdata) { $data=array(); $data['resfunction']=$postdata['resfunction']; $table = $postdata['tab_name']; unset ($postdata['tab_name']); unset ($postdata['resfunction']); $res=$this->db->insert($table,$postdata); $cnt=$this->db->insert_id(); if($res>0) { $data['res']=1; $data['msg']='Record Added Successfully'; } else { $data['res']=0; $data['msg']='Error On Adding Record'; } return $data; } function update($postdata) { $data=array(); $data['resfunction']=$postdata['resfunction']; $table = $postdata['tab_name']; $field = $postdata['tab_field']; $id= $postdata['tab_id']; unset ($postdata['resfunction']); unset ($postdata['tab_name']); unset ($postdata['tab_field']); unset ($postdata['tab_id']); $this->db->where($field, $id); $res=$this->db->update($table,$postdata); if($res>0) { $data['res']=1; $data['msg']='Record Updated Successfully'; } else { $data['res']=0; $data['msg']='Error On updating Record'; } return $data; } /*Search function starts here*/ function search_debit_note($pagenum) { $data=array(); $postdata=$_SESSION['searchdata']; $sql="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`refs_records`.`record_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $sql.=" UNION "; $sql.="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `consulting_confirmation` ON `consulting_confirmation`.`confirmation_id`=`refs_records`.`record_id` JOIN `consulting_proposal` ON `consulting_proposal`.`consulting_proposal_id`=`consulting_confirmation`.`consulting_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`consulting_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`consulting_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $sql.=" UNION "; $sql.="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `software_placement` ON `software_placement`.`placement_id`=`refs_records`.`record_id` JOIN `software_proposal` ON `software_proposal`.`software_proposal_id`=`software_placement`.`software_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`software_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`software_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $sql.=" UNION "; $sql.="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_cancellation` ON `training_cancellation`.`training_cancellation_id`=`refs_records`.`record_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`training_cancellation`.`training_registration_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc)"; $count= mysql_num_rows(mysql_query($sql)); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $sql="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,training_quotation.quotation_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`refs_records`.`record_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $sql.=" UNION "; $sql.="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,software_proposal.proposal_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `software_placement` ON `software_placement`.`placement_id`=`refs_records`.`record_id` JOIN `software_proposal` ON `software_proposal`.`software_proposal_id`=`software_placement`.`software_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`software_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`software_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $sql.=" UNION "; $sql.="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,consulting_proposal.proposal_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `consulting_confirmation` ON `consulting_confirmation`.`confirmation_id`=`refs_records`.`record_id` JOIN `consulting_proposal` ON `consulting_proposal`.`consulting_proposal_id`=`consulting_confirmation`.`consulting_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`consulting_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`consulting_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $sql.=" UNION "; $sql.="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,training_cancellation.training_cancellation_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_cancellation` ON `training_cancellation`.`training_cancellation_id`=`refs_records`.`record_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`training_cancellation`.`training_registration_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '6'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $data['results']=$this->db->query($sql); return $data; } function search_credit_note($pagenum) { $data=array(); $postdata=$_SESSION['searchdata']; $sql="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`refs_records`.`record_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $sql.=" UNION "; $sql.="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `software_placement` ON `software_placement`.`placement_id`=`refs_records`.`record_id` JOIN `software_proposal` ON `software_proposal`.`software_proposal_id`=`software_placement`.`software_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`software_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`software_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $sql.=" UNION "; $sql.="(SELECT refs.ref_id FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_cancellation` ON `training_cancellation`.`training_cancellation_id`=`refs_records`.`record_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`training_cancellation`.`training_registration_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id`)"; $count= mysql_num_rows(mysql_query($sql)); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $sql="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,training_quotation.quotation_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`refs_records`.`record_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $sql.=" UNION "; $sql.="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,software_proposal.proposal_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `software_placement` ON `software_placement`.`placement_id`=`refs_records`.`record_id` JOIN `software_proposal` ON `software_proposal`.`software_proposal_id`=`software_placement`.`software_proposal_id` JOIN `customer` ON `customer`.`customer_id`=`software_proposal`.`customer_id` JOIN `activity` ON `activity`.`activity_id`=`software_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $sql.=" UNION "; $sql.="(SELECT ref_code,refs.ref_id,customer_name,transaction_date,activity_name,training_cancellation.training_cancellation_code as code FROM `refs` JOIN `refs_records` ON `refs_records`.`ref_id`=`refs`.`ref_id` JOIN `gl_trans` ON `gl_trans`.`ref_id`=`refs`.`ref_id` JOIN `training_cancellation` ON `training_cancellation`.`training_cancellation_id`=`refs_records`.`record_id` JOIN `training_registration` ON `training_registration`.`training_registration_id`=`training_cancellation`.`training_registration_id` JOIN `training_quotation` ON `training_quotation`.`training_quotation_id`=`training_registration`.`training_quotation_id` JOIN `training_proposal_details` ON `training_proposal_details`.`id`=`training_quotation`.`customer_training_id` JOIN `customer` ON `customer`.`customer_id`=`training_proposal_details`.`customer_id` JOIN `training_proposal` ON `training_proposal`.`training_id`=`training_proposal_details`.`training_id` JOIN `activity` ON `activity`.`activity_id`=`training_proposal`.`activity_id` WHERE `ref_transaction_type_id` = '5'"; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'transaction_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $sql.=" and $searchfield like '%$searchtext%'"; } $sql.=" GROUP BY `refs`.`ref_id` ORDER BY `refs`.`ref_id` desc limit $start,$perpage)"; $data['results']=$this->db->query($sql); return $data; } function search_customer_payment_unposted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->like('other_account_code','CRP','after'); $this->db->or_like('other_account_code','IND','after'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->like('other_account_code','CRP','after'); $this->db->or_like('other_account_code','IND','after'); $this->db->limit($perpage, $start); $this->db->order_by('refs.ref_id'); $this->db->order_by('unposted_payment_id','desc'); $data['results']=$this->db->get(); return $data; } function search_customer_payment_posted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->like('other_account_code','CRP','after'); $this->db->or_like('other_account_code','IND','after'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->like('other_account_code','CRP','after'); $this->db->or_like('other_account_code','IND','after'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function insert_journal_voucher_posted($ref_id) { $this->db->trans_begin(); $fiscal_year_id=$this->mastermodel->getSingleFieldValue('company','fiscal_year_id','company_id','1'); $audittraildata=array('ref_id'=>$ref_id, 'transaction_date'=>date("Y-m-d"), 'fiscal_year'=>$fiscal_year_id, ); $this->db->insert('audit_trail', $audittraildata); $this->db->query("insert into gl_trans select ''as id, '$ref_id' as ref_id,payment_date ,account_code,memo,amount from unposted_journal where ref_id='$ref_id' and unpost=0"); $this->db->query("insert into bank_transaction select '' as id, '$ref_id' as ref_id,bank_account.account_code,payment_date ,amount,'' as reconciled from unposted_journal join bank_account on bank_account.account_code=unposted_journal.account_code where ref_id='$ref_id' and unpost=0 "); $this->db->query("insert into customer_transaction select '' as id, '$ref_id' as ref_id,payment_date,account_code,'' as memo,amount,0 as allocated from unposted_journal where ref_id='$ref_id' and unpost=0 and (account_code like 'CRP%' OR account_code like 'IND%')"); $refdata=array('unpost'=>1); $this->db->where('ref_id', $ref_id); $this->db->update('unposted_journal', $refdata); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function insert_bank_journal_posted($ref_id) { $this->db->trans_begin(); $fiscal_year_id=$this->mastermodel->getSingleFieldValue('company','fiscal_year_id','company_id','1'); $audittraildata=array('ref_id'=>$ref_id, 'transaction_date'=>date("Y-m-d"), 'fiscal_year'=>$fiscal_year_id, ); $this->db->insert('audit_trail', $audittraildata); $this->db->query("insert into gl_trans select ''as id, '$ref_id' as ref_id,payment_date ,other_account_code,memo,amount from unposted_payment where ref_id='$ref_id' and unpost=0"); $this->db->query("insert into gl_trans select '' as id, '$ref_id' as ref_id,payment_date ,bank_account_code,'' as memo,0-sum(`amount`) as amount from unposted_payment where ref_id='$ref_id' and unpost=0 group by ref_id"); $this->db->query("insert into bank_transaction select '' as id, '$ref_id' as ref_id,bank_account_code,payment_date ,0-sum(`amount`) as amount,'' as reconciled from unposted_payment where ref_id='$ref_id' and unpost=0 group by ref_id"); $this->db->query("insert into bank_transaction select '' as id, '$ref_id' as ref_id,other_account_code,payment_date ,amount,'' as reconciled from unposted_payment where ref_id='$ref_id' and unpost=0"); $this->db->query("insert into customer_transaction select '' as id, '$ref_id' as ref_id,payment_date,other_account_code,'' as memo,amount,0 as allocated from unposted_payment where ref_id='$ref_id' and unpost=0 and (other_account_code like 'CRP%' OR other_account_code like 'IND%')"); $refdata=array('unpost'=>1); $this->db->where('ref_id', $ref_id); $this->db->update('unposted_payment', $refdata); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function insert_payment_receipt_voucher_posted($ref_id) { $this->db->trans_begin(); $fiscal_year_id=$this->mastermodel->getSingleFieldValue('company','fiscal_year_id','company_id','1'); $audittraildata=array('ref_id'=>$ref_id, 'transaction_date'=>date("Y-m-d"), 'fiscal_year'=>$fiscal_year_id, ); $this->db->insert('audit_trail', $audittraildata); $this->db->query("insert into gl_trans select ''as id, '$ref_id' as ref_id,payment_date ,other_account_code,memo,amount from unposted_payment where ref_id='$ref_id' and unpost=0"); $this->db->query("insert into gl_trans select '' as id, '$ref_id' as ref_id,payment_date ,bank_account_code,'' as memo,0-sum(`amount`) as amount from unposted_payment where ref_id='$ref_id' and unpost=0 group by ref_id"); $this->db->query("insert into bank_transaction select '' as id, '$ref_id' as ref_id,bank_account_code,payment_date ,0-sum(`amount`) as amount,'' as reconciled from unposted_payment where ref_id='$ref_id' and unpost=0 group by ref_id"); $this->db->query("insert into customer_transaction select '' as id, '$ref_id' as ref_id,payment_date,other_account_code,'' as memo,amount,0 as allocated from unposted_payment where ref_id='$ref_id' and unpost=0 and (other_account_code like 'CRP%' OR other_account_code like 'IND%')"); $refdata=array('unpost'=>1); $this->db->where('ref_id', $ref_id); $this->db->update('unposted_payment', $refdata); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function search_payment_voucher_unposted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','1'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','1'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_receipt_voucher_unposted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','2'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_payment_voucher_posted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','1'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','1'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_receipt_voucher_posted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','2'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','2'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_bank_journal_unposted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','4'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','4'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_bank_journal_posted($pagenum) { $data=array(); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','4'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','4'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_payment_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_journal_voucher_unposted($pagenum) { $data=array(); $this->db->from('unposted_journal'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_journal.account_code'); $this->db->join('refs','refs.ref_id=unposted_journal.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','3'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_journal'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_journal.account_code'); $this->db->join('refs','refs.ref_id=unposted_journal.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id','3'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_journal_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_journal_voucher_posted($pagenum) { $data=array(); $this->db->from('unposted_journal'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_journal.account_code'); $this->db->join('refs','refs.ref_id=unposted_journal.ref_id'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','3'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('unposted_journal'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_journal.account_code'); $this->db->join('refs','refs.ref_id=unposted_journal.ref_id'); $this->db->where('unpost','1'); $this->db->where('refs.ref_transaction_type_id','3'); $this->db->limit($perpage, $start); $this->db->order_by('unposted_journal_id','desc'); $this->db->order_by('refs.ref_id'); $data['results']=$this->db->get(); return $data; } function search_fixed_autojournal($pagenum) { $data=array(); $this->db->from('auto_journal'); $this->db->join('chart_master','chart_master.chart_account_code=auto_journal.account_code'); $this->db->join('auto_journal_main','auto_journal_main.auto_journal_main_id=auto_journal.auto_journal_ref_id'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'payment_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('auto_journal'); $this->db->join('chart_master','chart_master.chart_account_code=auto_journal.account_code'); $this->db->join('auto_journal_main','auto_journal_main.auto_journal_main_id=auto_journal.auto_journal_ref_id'); $this->db->limit($perpage, $start); $this->db->order_by('auto_journal_ref_id'); $data['results']=$this->db->get(); return $data; } function search_sub_account($pagenum) { $data=array(); $this->db->from('chart_master c1'); $this->db->join('account_type','account_type.account_type_id=c1.chart_account_type'); $this->db->join('chart_master c2','c2.chart_master_id=c1.parent'); $this->db->where('c1.parent !=','0'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $this->db->select('c1.chart_master_id as chart_master_id, c1.chart_account_code as chart_account_code, c1.chart_account_name as chart_account_name, type, c2.chart_account_code as main_account_code, c2.chart_account_name as main_account_name'); $this->db->from('chart_master c1'); $this->db->join('account_type','account_type.account_type_id=c1.chart_account_type'); $this->db->join('chart_master c2','c2.chart_master_id=c1.parent'); $this->db->where('c1.parent !=','0'); $this->db->limit($perpage, $start); $this->db->order_by('c1.chart_account_code','asc'); $data['results']=$this->db->get(); return $data; } function search_main_account($pagenum) { $data=array(); $this->db->from('chart_master'); $this->db->join('account_type','account_type.account_type_id=chart_master.chart_account_type'); $this->db->where('parent','0'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('chart_master'); $this->db->join('account_type','account_type.account_type_id=chart_master.chart_account_type'); $this->db->where('parent','0'); $this->db->limit($perpage, $start); $this->db->order_by('chart_account_code','asc'); $data['results']=$this->db->get(); return $data; } function search_transaction_code($pagenum) { $data=array(); $this->db->from('transaction_code'); $this->db->join('transaction_type','transaction_type.transaction_type_id=transaction_code.trans'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('transaction_code'); $this->db->join('transaction_type','transaction_type.transaction_type_id=transaction_code.trans'); $this->db->limit($perpage, $start); $this->db->order_by('code','asc'); $data['results']=$this->db->get(); return $data; } function insert_transaction_code($postdata) { $data=array(); $this->db->trans_begin(); $tblValues=array( 'code'=>$postdata['code'], 'type'=>$postdata['type'], 'trans'=>$postdata['trans']); $this->db->insert('transaction_code', $tblValues); $data['resfunction']='search_transaction_code'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function update_transaction_code($postdata) { $data=array(); $this->db->trans_begin(); $tblValues=array( 'code'=>$postdata['code'], 'type'=>$postdata['type'], 'trans'=>$postdata['trans']); $this->db->where('transaction_code_id',$postdata['transaction_code_id']); $this->db->update('transaction_code', $tblValues); $data['resfunction']='search_transaction_code'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function search_bank_account($pagenum) { $data=array(); $this->db->from('bank_account'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'last_reconciled_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; if($searchfield == 'last_reconciled_date') { $searchtext=$this->mastermodel->convdatformat($searchtext); } $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('bank_account'); $this->db->limit($perpage, $start); $this->db->order_by('last_reconciled_date','asc'); $data['results']=$this->db->get(); return $data; } function insert_bank_account($postdata) { $data=array(); $reconciledate = $this->mastermodel->convertdateformat($postdata['last_reconciled_date']); $this->db->trans_begin(); $tblValues=array( 'account_code'=>$postdata['account_code'], 'bank_account_name'=>$postdata['bank_account_name'], 'account_type_id'=>$postdata['account_type_id'], 'bank_account_number'=>$postdata['bank_account_number'], 'bank_name'=>$postdata['bank_name'], 'bank_address'=>$postdata['bank_address'], 'currency_id'=>$postdata['currency_id'], 'last_reconciled_date'=>$reconciledate, 'ending_reconcile_balance'=>$postdata['ending_reconcile_balance']); $this->db->insert('bank_account', $tblValues); $tblValues=array( 'chart_account_code'=>$postdata['account_code'], 'chart_account_name'=>$postdata['bank_account_name'], 'chart_account_type'=>$postdata['account_type_id'], ); $this->db->insert('chart_master', $tblValues); $data['resfunction']='search_bank_account'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function update_bank_account($postdata) { $data=array(); $reconciledate = $this->mastermodel->convertdateformat($postdata['last_reconciled_date']); $this->db->trans_begin(); $tblValues=array( 'account_code'=>$postdata['account_code'], 'bank_account_name'=>$postdata['bank_account_name'], 'account_type_id'=>$postdata['account_type_id'], 'bank_account_number'=>$postdata['bank_account_number'], 'bank_name'=>$postdata['bank_name'], 'bank_address'=>$postdata['bank_address'], 'currency_id'=>$postdata['currency_id'], 'last_reconciled_date'=>$reconciledate, 'ending_reconcile_balance'=>$postdata['ending_reconcile_balance']); $this->db->where('bank_account_id',$postdata['bank_account_id']); $this->db->update('bank_account', $tblValues); $tblValues=array( 'chart_account_name'=>$postdata['bank_account_name'], 'chart_account_type'=>$postdata['account_type_id'], ); $this->db->where('chart_account_code',$postdata['account_code']); $this->db->update('chart_master', $tblValues); $data['resfunction']='search_bank_account'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function search_currency($pagenum) { $data=array(); $this->db->from('currency'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('currency'); $this->db->limit($perpage, $start); $this->db->order_by('currency_id','asc'); $data['results']=$this->db->get(); return $data; } function insert_sub_account($postdata) { $data=array(); $this->db->trans_begin(); $data['resfunction']='search_sub_account'; $account_name=$postdata['chart_account_name']; $acc_subexp=$postdata['parent']; $explode=explode("~",$acc_subexp); $acc_sub=$explode[0]; $acc_group=$explode[1]; $start=$this->mastermodel->getSingleFieldValue('chart_master','chart_account_code','chart_master_id',$acc_sub); $start_ex=str_split($start); $code=$this->account_code_increment($acc_sub,$start_ex[0]); $max_code=$this->account_code_max_limit($start); if($max_code>($code+1)) { if($code==0) { $acc_code=$start+1; } else { $acc_code=$code+1; } $count=$this->mastermodel->get_num_rows('chart_master','chart_account_code',$acc_code); if($count==0) { $tblValues=array('chart_account_code'=>$acc_code, 'chart_account_name'=>$account_name, 'chart_account_type'=>$acc_group, 'parent'=>$acc_sub); $this->db->insert('chart_master', $tblValues); $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } else { $this->db->trans_rollback(); $data['res']=1; $data['msg']='Error On Adding Record'; return $data; } } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Account Beyond the Limit'; return $data; } } function search_fiscal_year($pagenum) { $data=array(); $this->db->from('fiscal_year'); $postdata=$_SESSION['searchdata']; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $count= $this->db->count_all_results(); $arr=$this->fpaginate->paginate($pagenum,$count); $data['startpage']=$arr[0]; $data['endpage']=$arr[1]; $start=$arr[2]; $perpage=$arr[3]; $data['count']=$count; if(!empty($postdata)) { $searchtext=$postdata['searchtext']; $searchfield=$postdata['searchopt']; $this->db->like($searchfield, $searchtext); } $this->db->select('*'); $this->db->from('fiscal_year'); $this->db->limit($perpage, $start); $this->db->order_by('fiscal_year_id','desc'); $data['results']=$this->db->get(); return $data; } function insert_fiscal_year($postdata) { $data=array(); $this->db->trans_begin(); $tblValues=array( 'fiscal_year_start'=>$this->mastermodel->convertdateformat($postdata['fiscal_year_start']), 'fiscal_year_end'=>$this->mastermodel->convertdateformat($postdata['fiscal_year_end'])); $this->db->insert('fiscal_year', $tblValues); $data['resfunction']='search_fiscal_year'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function update_fiscal_year($postdata) { $data=array(); $this->db->trans_begin(); $tblValues=array( 'fiscal_year_start'=>$this->mastermodel->convertdateformat($postdata['fiscal_year_start']), 'fiscal_year_end'=>$this->mastermodel->convertdateformat($postdata['fiscal_year_end']), 'closed'=>$postdata['closed']); $this->db->where('fiscal_year_id',$postdata['fiscal_year_id']); $this->db->update('fiscal_year', $tblValues); $data['resfunction']='search_fiscal_year'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function search_sub_account_settings($pagenum) { $data=array(); $data['startpage']=''; $data['endpage']=''; $data['count']=''; $data['results']=$this->mastermodel->get_data_srow('sub_account_settings','1','sub_account_settings_id'); return $data; } function search_main_account_settings($pagenum) { $data=array(); $data['startpage']=''; $data['endpage']=''; $data['count']=''; $data['results']=$this->mastermodel->get_data_srow('main_account_settings','1','main_account_settings_id'); return $data; } function search_empty($pagenum) { $data=array(); $data['startpage']=''; $data['endpage']=''; $data['count']=''; $data['results']=''; return $data; } function setdefaultcurrency($currency_id) { $tblValues=array('default_currency'=>'1'); $this->db->where('currency_id', $currency_id); $this->db->update('currency', $tblValues); $tblValues=array('default_currency'=>'0'); $this->db->where('currency_id !=', $currency_id); $this->db->update('currency', $tblValues); } function account_code_increment($where,$like) { $data="SELECT IFNULL(max(chart_account_code),0) as code FROM chart_master where parent=$where and chart_account_code like '".$like."%'"; $res=$this->db->query($data); return $res->row()->code; } function account_code_max_limit($value) { $data="SELECT chart_account_code FROM chart_master where chart_account_code>$value and parent=0 order by chart_account_code ASC limit 0,1"; $res=$this->db->query($data); if ($res->num_rows() > 0) { return $res->row()->chart_account_code; } else { return 99999999999999999999; } } function checkaccountsettings() { $query=$this->db->query('select * from sub_account_settings'); $res=$query->num_rows(); return $res; } function get_account_settings($field,$table) { $query=$this->db->query("select $field from $table "); $res=$query->row()->$field; return $res; } function getreferencecode($trans) { $code=$this->mastermodel->getSingleFieldValue('transaction_code','code','trans',$trans); if($code=='') return 0; else { $num=$this->mastermodel->get_num_rows('refs','ref_transaction_type_id',$trans); $num++; return $code.'/'.date("Y").'/'.$num; } } function get_transaction_details($ref_id) { $this->db->join('transaction_type',"transaction_type.transaction_type_id=refs.ref_transaction_type_id"); $this->db->join('refs_records',"refs_records.ref_id=refs.ref_id"); $this->db->join('audit_trail',"audit_trail.ref_id=refs.ref_id"); $this->db->where('refs.ref_id',$ref_id); $Q= $this->db->get('refs'); $row=$Q->row(); return $row; } function get_quotation_code($ref_id) { $ref_record=$this->mastermodel->get_data_srow('refs_records',$ref_id,'ref_id'); if($ref_record->type=='registration') { return $this->mastermodel->getsinglejoinedvalue('quotation_code','training_quotation','training_registration','training_quotation_id','training_quotation_id','training_registration_id',$ref_record->record_id); } if($ref_record->type=='placement') { return $this->mastermodel->getsinglejoinedvalue('proposal_code','software_proposal','software_placement','software_proposal_id','software_proposal_id','placement_id',$ref_record->record_id); } if($ref_record->type=='confirmation') { return $this->mastermodel->getsinglejoinedvalue('proposal_code','consulting_proposal','consulting_confirmation','consulting_proposal_id','consulting_proposal_id','confirmation_id',$ref_record->record_id); } if($ref_record->type=='cancellation') { $registration_id=$this->mastermodel->getSingleFieldValue('training_cancellation','training_registration_id','training_cancellation_id',$ref_record->record_id); return $this->mastermodel->getsinglejoinedvalue('quotation_code','training_quotation','training_registration','training_quotation_id','training_quotation_id','training_registration_id',$registration_id); } } function get_project_title($ref_id) { $ref_record=$this->mastermodel->get_data_srow('refs_records',$ref_id,'ref_id'); if($ref_record->type=='registration') { $training_quotation_id = $this->mastermodel->getsinglejoinedvalue('training_quotation_id','training_quotation','training_registration','training_quotation_id','training_quotation_id','training_registration_id',$ref_record->record_id); $training_id = $this->mastermodel->getsinglejoinedvalue('training_id','training_proposal_details','training_quotation','id','customer_training_id','training_quotation_id',$training_quotation_id); return $this->mastermodel->getSingleFieldValue('training_proposal','training_title','training_id',$training_id); } if($ref_record->type=='placement') { return $this->mastermodel->getsinglejoinedvalue('software_proposal_title','software_proposal','software_placement','software_proposal_id','software_proposal_id','placement_id',$ref_record->record_id); } if($ref_record->type=='confirmation') { return $this->mastermodel->getsinglejoinedvalue('consulting_proposal_title','consulting_proposal','consulting_confirmation','consulting_proposal_id','consulting_proposal_id','confirmation_id',$ref_record->record_id); } if($ref_record->type=='cancellation') { $registration_id=$this->mastermodel->getSingleFieldValue('training_cancellation','training_registration_id','training_cancellation_id',$ref_record->record_id); $training_quotation_id = $this->mastermodel->getsinglejoinedvalue('training_quotation_id','training_quotation','training_registration','training_quotation_id','training_quotation_id','training_registration_id',$registration_id); $training_id = $this->mastermodel->getsinglejoinedvalue('training_id','training_proposal_details','training_quotation','id','customer_training_id','training_quotation_id',$training_quotation_id); return $this->mastermodel->getSingleFieldValue('training_proposal','training_title','training_id',$training_id); } } function get_payment_details($ref_id) { $this->db->join('transaction_type',"transaction_type.transaction_type_id=refs.ref_transaction_type_id"); $this->db->join('audit_trail',"audit_trail.ref_id=refs.ref_id"); $this->db->where('refs.ref_id',$ref_id); $Q= $this->db->get('refs'); $row=$Q->row(); return $row; } function bankaccount_unpostpayment($postdata) { $this->db->trans_begin(); $str=0; $counter=$postdata['counter_check']; $refid=$postdata['refid']; if($refid!=0) { $this->db->delete('unposted_payment',array('ref_id'=> $refid)); $this->db->delete('cheque_info_transaction',array('ref_id'=> $refid)); $ref_id=$refid; } else { $ref_id = $this->mastermodel->insertmasterdata(); $tblval=array('ref_id'=>$ref_id,'ref_transaction_type_id'=>$postdata['trans_type'],'ref_code'=>$postdata['ref_code']); // inserting values to refs table $this->db->insert('refs',$tblval); } /*****************************************************************************************/ for ($i=0;$i<=$counter;$i++) { if(isset($postdata['amount_'.$i])) { $code=$postdata['code_'.$i]; if($postdata['trans_type']==1) // For all PV's and Bank Journals { $credit_amount=$postdata['amount_'.$i]; $function='search_payment_voucher_unposted'; } else if($postdata['trans_type']==2) // For all Rv's { $credit_amount=0-$_POST['amount_'.$i]; if(isset($postdata['customertransaction'])) $function='search_customer_payment_unposted'; else $function='search_receipt_voucher_unposted'; } else if($postdata['trans_type']==4) { $credit_amount=$postdata['amount_'.$i]; $function='search_bank_journal_unposted'; } $tblValues=array('ref_id'=>$ref_id,'bank_account_code'=>$postdata['bankacc'],'payment_date'=>$this->mastermodel->convdatformat($postdata['payment_date']), 'memo'=>$postdata['memo_'.$i],'amount'=>$credit_amount,'other_account_code'=>$postdata['code_'.$i],'unpost'=>0,'payment_method'=>$postdata['payment_method']); $this->db->insert('unposted_payment', $tblValues); } } if($postdata['payment_method']=='Cheque') { $chequedetails=array('ref_id'=>$ref_id,'cheque_date'=>$this->mastermodel->convdatformat($postdata['cheque_date']), 'cheque_drawn'=>$postdata['cheque_drawn'],'cheque_no'=>$postdata['cheque_no']); $str= $this->db->insert('cheque_info_transaction', $chequedetails); } $data['resfunction']=$function; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function journal_unpost($postdata) { $this->db->trans_begin(); $str=0; $counter=$postdata['counter_check']; $refid=$postdata['refid']; if($refid!=0) { $this->db->delete('unposted_journal',array('ref_id'=> $refid)); $ref_id=$refid; } else { $ref_id = $this->mastermodel->insertmasterdata(); $tblval=array('ref_id'=>$ref_id,'ref_transaction_type_id'=>$postdata['trans_type'],'ref_code'=>$postdata['ref_code']); // inserting values to refs table $this->db->insert('refs',$tblval); } /*****************************************************************************************/ for ($i=0;$i<=$counter;$i++) { if(isset($_POST['code_'.$i])) { $debit=$_POST['debit_'.$i]; $credit=$_POST['credit_'.$i]; if($debit>=1) { $amount=$debit+$credit; } else if($credit>=1) { $amount=-($debit+$credit); } else { $amount=0; } $tblValues=array('ref_id'=>$ref_id,'payment_date'=>$this->mastermodel->convdatformat($postdata['payment_date']), 'account_code'=>$postdata['code_'.$i],'amount'=>$amount,'memo'=>$postdata['memo_'.$i],'unpost'=>0); $str= $this->db->insert('unposted_journal', $tblValues); } } if(isset($postdata['auto_journal'])) $function='search_fixed_autojournal'; else $function= 'search_journal_voucher_unposted'; $data['resfunction']=$function; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function insert_autojournal($postdata) { $this->db->trans_begin(); $str=0; $counter=$postdata['counter_check']; $aid=$postdata['auto_journal_main_id']; if($aid!=0) { $this->db->delete('auto_journal',array('auto_journal_ref_id'=> $aid)); $tblval=array('auto_journal_title'=>$postdata['title']); // inserting values to refs table $this->db->where('auto_journal_main_id',$aid); $this->db->update('auto_journal_main',$tblval); $aref_id=$aid; } else { $aref_id = $this->mastermodel->insertmasterdata(); $tblval=array('auto_journal_main_id'=>$aref_id,'auto_journal_title'=>$postdata['title']); // inserting values to refs table $this->db->insert('auto_journal_main',$tblval); } /*****************************************************************************************/ for ($i=0;$i<=$counter;$i++) { if(isset($_POST['code_'.$i])) { $debit=$_POST['debit_'.$i]; $credit=$_POST['credit_'.$i]; if($debit>=1) { $amount=$debit+$credit; } else if($credit>=1) { $amount=-($debit+$credit); } else { $amount=0; } $tblValues=array('auto_journal_ref_id'=>$aref_id, 'account_code'=>$postdata['code_'.$i], 'amount'=>$amount, 'memo'=>$postdata['memo_'.$i]); $str= $this->db->insert('auto_journal', $tblValues); } } $data['resfunction']='search_fixed_autojournal'; if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); $data['res']=0; $data['msg']='Error On Adding Record'; return $data; } else { $this->db->trans_commit(); $data['res']=1; $data['msg']='Record Added Successfully'; return $data; } } function getunpostedpayment($type,$ref_id) { $this->db->select('*'); $this->db->from('unposted_payment'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_payment.other_account_code'); $this->db->join('refs','refs.ref_id=unposted_payment.ref_id'); $this->db->join('bank_account','bank_account.account_code=unposted_payment.bank_account_code'); $this->db->join('cheque_info_transaction','cheque_info_transaction.ref_id=refs.ref_id','left'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id',$type); $this->db->where('refs.ref_id',$ref_id); return $this->db->get(); } function getunpostedjournal($ref_id) { $this->db->select('*'); $this->db->from('unposted_journal'); $this->db->join('chart_master','chart_master.chart_account_code=unposted_journal.account_code'); $this->db->join('refs','refs.ref_id=unposted_journal.ref_id'); $this->db->where('unpost','0'); $this->db->where('refs.ref_transaction_type_id',3); $this->db->where('refs.ref_id',$ref_id); return $this->db->get(); } function getfixed_autojournal($rid) { $this->db->select('*'); $this->db->from('auto_journal'); $this->db->join('chart_master','chart_master.chart_account_code=auto_journal.account_code'); $this->db->join('auto_journal_main','auto_journal_main.auto_journal_main_id=auto_journal.auto_journal_ref_id'); $this->db->where('auto_journal.auto_journal_ref_id',$rid); return $this->db->get(); } function bank_bal($code) { $query=$this->db->query("select sum( amount ) as amount from bank_transaction where bank_account_code='$code'"); if ($query->num_rows() > 0) { $row = $query->row(); $amount= number_format($row->amount,2); } if($amount=="") { $amount="0.00"; } echo $amount; } function search_transaction($postdata) { $data=array(); $this->db->select('sum(gt.amount) as amount,gt.transaction_date,refs.ref_id,refs.ref_code'); $this->db->from('gl_trans gt'); $this->db->join('refs','refs.ref_id=gt.ref_id'); if(!empty($postdata['ref_code'])) $this->db->where('refs.ref_code',$postdata['ref_code']); if(!empty($postdata['account_type_id'])) $this->db->where('refs.ref_transaction_type_id',$postdata['account_type_id']); $this->db->where('gt.transaction_date >=',$this->mastermodel->convertdateformat($postdata['from_date'])); $this->db->where('gt.transaction_date <=',$this->mastermodel->convertdateformat($postdata['to_date'])); $this->db->where('gt.amount >',0); $this->db->order_by('refs.ref_id'); $this->db->group_by('gt.ref_id'); $data['results']=$this->db->get(); return $data; } function reverse_transaction($refid) { $this->db->trans_begin(); $ref_id = $this->mastermodel->insertmasterdata(); $refcode= $this->returntransaction_code(3); $tblval=array('ref_id'=>$ref_id,'ref_transaction_type_id'=>3,'ref_code'=>$refcode); // inserting values to refs table $this->db->insert('refs',$tblval); /*****************************************************************************************/ $this->db->query("insert into unposted_journal select '' as id, $ref_id as ref_id,transaction_date,account_code,0-(`amount`) as amount,memo,'0'as unpost from gl_trans where gl_trans.ref_id='$refid'"); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function returntransaction_code($transaction_type_id) //same as check_transaction_codeisset function in controller,this returns the value { $num=$this->mastermodel->get_num_rows('transaction_code','trans',$transaction_type_id); if($num==0) echo $num; else { $code=$this->mastermodel->getSingleFieldValue('transaction_code', 'code', 'trans', $transaction_type_id); $num=$this->mastermodel->get_num_rows('refs','ref_transaction_type_id',$transaction_type_id); $num++; do { $transaction_code = $code.'/'.date("Y").'/'.$num; $num_rows=$this->mastermodel->mastermodel->get_num_rows('refs','ref_code',$transaction_code); $num++; }while($num_rows!=0); return $transaction_code; } } function get_main_trail_balance($from,$to) { $data=array(); $date1=$this->mastermodel->convdatformat($from); $date2=$this->mastermodel->convdatformat($to); $qry="SELECT sum(if(gt.amount<0,gt.amount,if(glt.amount<0,glt.amount,0)))as credit, sum(if(gt.amount>0,gt.amount,if(glt.amount>0,glt.amount,0)))as debit, sum(if(gt.transaction_date< '$date1',if(gt.amount<0,gt.amount,0),if(glt.transaction_date< '$date1',if(glt.amount<0,glt.amount,0),0))) as opencredit, sum(if(gt.transaction_date< '$date1',if(gt.amount>0,gt.amount,0),if(glt.transaction_date< '$date1',if(glt.amount>0,glt.amount,0),0))) as opendebit, cm.chart_account_name ,cm.chart_account_code as account,cm.chart_master_id as cgid FROM chart_master cm left join chart_master cp on cp.parent=cm.chart_master_id left join gl_trans gt ON gt.account_code=cp.chart_account_code left join gl_trans glt ON glt.account_code=cm.chart_account_code join chart_type ct on ct.id=cm.chart_account_type where cm.parent=0 and (gt.transaction_date between '$date1' and '$date2' or glt.transaction_date between '$date1' and '$date2') group by cgid order by ct.sort,cm.chart_account_code asc"; $res=$this->db->query($qry); if ($res->num_rows() > 0) { foreach ($res->result_array() as $row) { $data[] = $row; } } $res->free_result(); return $data; } function monthdays($someMonth, $someYear) { return date("t", strtotime($someYear . "-" . $someMonth . "-01")); } function get_trail_balance($date1,$date2,$mainacc="",$rangefrom="",$rangeto="") { $data=array(); $date1=$this->mastermodel->convdatformat($date1); $date2=$this->mastermodel->convdatformat($date2); $cust=""; if(!empty($mainacc) && !empty($rangefrom) && !empty($rangeto)) { $cust="where cm.parent='$mainacc' and cm.chart_account_code between '$rangefrom' and '$rangeto'"; } if(!empty($mainacc) && empty($rangefrom) && empty($rangeto)) { $cust="where cm.parent='$mainacc'"; } if(!empty($rangefrom) && !empty($rangeto)) { $cust="where cm.chart_account_code between '$rangefrom' and '$rangeto'"; } $qry="SELECT sum(if(gt.transaction_date>='$date1' and gt.transaction_date <='$date2',if(gt.amount<0,amount,0),0))as credit, sum(if(gt.transaction_date>='$date1' and gt.transaction_date <='$date2',if(gt.amount>0,amount,0),0))as debit, sum(if(gt.transaction_date< '$date1',if(gt.amount<0,gt.amount,0),0)) as opencredit, sum(if(gt.transaction_date< '$date1',if(gt.amount>0,gt.amount,0),0)) as opendebit, cm.chart_account_code as account,cm.chart_account_name FROM chart_master cm left join gl_trans gt ON gt.account_code=cm.chart_account_code $cust group by cm.chart_account_code"; $res=$this->db->query($qry); if ($res->num_rows() > 0) { foreach ($res->result_array() as $row) { $data[] = $row; } } $res->free_result(); return $data; } function get_sub_gl($from,$to,$mainacc="",$rangefrom="",$rangeto="") { $data=array(); $date1=$this->mastermodel->convdatformat($from); $date2=$this->mastermodel->convdatformat($to); $cust=""; if(!empty($mainacc) && !empty($rangefrom) && !empty($rangeto)) { $cust="where cm.parent='$mainacc' and cm.chart_account_code between '$rangefrom' and '$rangeto'"; } if(!empty($mainacc) && empty($rangefrom) && empty($rangeto)) { $cust="where cm.parent='$mainacc'"; } if(!empty($rangefrom) && !empty($rangeto)) { $cust="where cm.chart_account_code between '$rangefrom' and '$rangeto'"; } $qry1="SELECT if(gt.transaction_date>='$date1' and gt.transaction_date <='$date2',if(gt.amount<0,gt.amount,0),if(glt.transaction_date>='$date1' and glt.transaction_date <='$date2',if(glt.amount<0,glt.amount,0),0))as credit, if(gt.transaction_date>='$date1' and gt.transaction_date <='$date2',if(gt.amount>0,gt.amount,0),if(glt.transaction_date>='$date1' and glt.transaction_date <='$date2',if(glt.amount>0,glt.amount,0),0))as debit, ifnull(gt.transaction_date,glt.transaction_date) as tran_date, ifnull(gt.memo,glt.memo) as memo, ifnull(r1.ref_code,r2.ref_code) as reference, cm.chart_account_name ,cm.chart_account_code as account,cm.chart_master_id as cgid FROM chart_master cm left join chart_master cp on cp.parent=cm.chart_master_id left join gl_trans gt ON gt.account_code=cp.chart_account_code left join gl_trans glt ON glt.account_code=cm.chart_account_code left join refs r1 on r1.ref_id= gt.ref_id left join refs r2 on r2.ref_id= glt.ref_id join chart_type ct on ct.id=cm.chart_account_type $cust having reference!='' order by ct.sort,cm.chart_account_code,tran_date,LEFT(r1.ref_code,2),LEFT(r2.ref_code,2),RIGHT(r1.ref_code ,2),RIGHT(r2.ref_code,2),reference asc"; $res=$this->db->query($qry1); $data['transdet']=$res->result_array(); return $data; } function opening_maintrail_balance($code,$date1) { $data=array(); $date1=$this->mastermodel->convdatformat($date1); $qry="select sum(if(gt.transaction_date< '$date1',if(gt.amount<0,gt.amount,0),if(glt.transaction_date< '$date1',if(glt.amount<0,glt.amount,0),0))) as opencredit, sum(if(gt.transaction_date< '$date1',if(gt.amount>0,gt.amount,0),if(glt.transaction_date< '$date1',if(glt.amount>0,glt.amount,0),0))) as opendebit FROM chart_master cm left join chart_master cp on cp.parent=cm.chart_master_id left join gl_trans gt ON gt.account_code=cp.chart_account_code left join gl_trans glt ON glt.account_code=cm.chart_account_code where cm.chart_account_code='$code'"; $res=$this->db->query($qry); $data=$res->row() ; return $data; } function opening_trail_balance($code,$date1) { $data=array(); $date1=$this->mastermodel->convdatformat($date1); $qry="SELECT IFNULL(SUM(if(gt.amount<0,gt.amount,0)),0) as opencredit, IFNULL(SUM(if(gt.amount>0,gt.amount,0)),0) as opendebit FROM gl_trans gt where gt.account_code='$code' and gt.transaction_date < '$date1' "; $res=$this->db->query($qry); $data=$res->row() ; return $data; } function get_ageingsummary_report($date,$account_code) { $data=array(); $date=$this->mastermodel->convdatformat($date); $curdate=date('Y-m-d'); $newdate = strtotime ( '-30 day' , strtotime ( $date ) ) ; $t3date = date ( 'Y-m-j' , $newdate ); $newdate = strtotime ( '-90 day' , strtotime ( $date ) ) ; $t9date = date ( 'Y-m-j' , $newdate ); $newdate = strtotime ( '-180 day' , strtotime ( $date ) ) ; $t180date = date ( 'Y-m-j' , $newdate ); $newdate = strtotime ( '-270 day' , strtotime ( $date ) ) ; $t270date = date ( 'Y-m-j' , $newdate ); $newdate = strtotime ( '-365 day' , strtotime ( $date ) ) ; $t365date = date ( 'Y-m-j' , $newdate ); $mixedqry="sum(if(ct.transaction_date <= '$date',ct.amount,0)) as amount1, sum(if(ct.transaction_date <= '$curdate',ct.amount,0)) as amount2, sum(if(ct.transaction_date <= '$t3date',ct.amount,0)) as amount3, sum(if(ct.transaction_date <= '$t9date',ct.amount,0)) as amount4, sum(if(ct.transaction_date <= '$t180date',ct.amount,0)) as amount5, sum(if(ct.transaction_date <= '$t270date',ct.amount,0)) as amount6, sum(if(ct.transaction_date <= '$t365date',ct.amount,0)) as amount7"; if($account_code=='employee') { $qry="Select employee_no as code ,ct.account_code account,employee_name as name, $mixedqry from employee inner JOIN gl_trans ct ON (employee.employee_no = ct.account_code) inner join refs on refs.ref_id=ct.ref_id group by code "; } else if($account_code=='customer') { $qry="Select customer_no as code, ct.account_code as account,customer_name as name, $mixedqry FROM customer inner JOIN gl_trans ct ON (customer.customer_no = ct.account_code) inner join refs on refs.ref_id=ct.ref_id group by code "; } $res=$this->db->query($qry); $data['transdet']=$res->result_array(); return $data; } function get_statement_account($account,$date1,$date2) { $data=array(); $date1=$this->mastermodel->convdatformat($date1); $date2=$this->mastermodel->convdatformat($date2); $qry="select chart_account_code,chart_account_name,ifnull(customer_address,employee_permanent_address) as address, ifnull(customer_contact_no,employee_contact_no)as contact_no from chart_master left join customer on customer_no=chart_account_code left join employee on employee_no=chart_account_code where chart_account_code='$account'"; $cdet= $this->db->query($qry); $data['accdet']=$cdet->row(); $qry="SELECT gl_trans.account_code , gl_trans.transaction_date , gl_trans.gl_trans_id as lsid , gl_trans.amount , gl_trans.memo , refs.ref_code, record_id,type,rsr.record_id FROM refs INNER JOIN gl_trans ON (refs.ref_id = gl_trans.ref_id) left join refs_records rsr on rsr.ref_id=refs.ref_id where gl_trans.transaction_date between '$date1' and '$date2' and gl_trans.account_code='$account' order by gl_trans.transaction_date,lsid"; $res=$this->db->query($qry); $data['transdet']=$res->result_array(); return $data; } function opening_bal_statementacc($date,$code,$table) { $qry="SELECT SUM(IF(ct.amount<0,ct.amount,0)) as credit, SUM(IF(ct.amount>0,ct.amount,0)) as debit, cm.chart_account_name FROM $table ct join chart_master cm ON ct.account_code=cm.chart_account_code where ct.account_code='$code' and transaction_date <'$date' group by ct.account_code "; $res=$this->db->query($qry); return $res; } function mintransdate($acccode) { $qery="Select min(transaction_date) as trans_date from gl_trans where account_code='$acccode' "; $query=$this->db->query($qery); $querydate=$query->row(); $mindate=$querydate->trans_date; return $mindate; } function get_ageing_report($date,$account) { $data=array(); $date=$this->mastermodel->convdatformat($date); $mindate=$this->mintransdate($account); $qry="select chart_account_code,chart_account_name,ifnull(customer_address,employee_permanent_address) as address, ifnull(customer_contact_no,employee_contact_no)as contact_no from chart_master left join customer on customer_no=chart_account_code left join employee on employee_no=chart_account_code where chart_account_code='$account'"; $cdet= $this->db->query($qry); $data['accdet']=$cdet->row(); $qry="SELECT gl_trans.account_code , gl_trans.transaction_date , gl_trans.gl_trans_id as lsid , gl_trans.amount , gl_trans.memo , refs.ref_code, record_id,type FROM refs INNER JOIN gl_trans ON (refs.ref_id = gl_trans.ref_id) left join refs_records rsr on rsr.ref_id=refs.ref_id where gl_trans.transaction_date between '$mindate' and '$date' and gl_trans.account_code='$account' order by gl_trans.transaction_date"; $res=$this->db->query($qry); $data['transdet']=$res->result_array(); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$date' and account_code='$account'"); $bal=$query->row(); $data['balance']=$bal->amount; $curdate=date('Y-m-d'); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$curdate' and account_code='$account'"); $bal=$query->row(); $data['current']=$bal->amount; $newdate = strtotime ( '-30 day' , strtotime ( $date ) ) ; $newdate = date ( 'Y-m-j' , $newdate ); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$newdate' and account_code='$account'"); $bal=$query->row(); $data['lthirty']=$bal->amount; $newdate = strtotime ( '-90 day' , strtotime ( $date ) ) ; $newdate = date ( 'Y-m-j' , $newdate ); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$newdate' and account_code='$account'"); $bal=$query->row(); $data['lninty']=$bal->amount; $newdate = strtotime ( '-180 day' , strtotime ( $date ) ) ; $newdate = date ( 'Y-m-j' , $newdate ); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$newdate' and account_code='$account'"); $bal=$query->row(); $data['loneeighty']=$bal->amount; $newdate = strtotime ( '-270 day' , strtotime ( $date ) ) ; $newdate = date ( 'Y-m-j' , $newdate ); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$newdate' and account_code='$account'"); $bal=$query->row(); $data['ltseventy']=$bal->amount; $newdate = strtotime ( '-365 day' , strtotime ( $date ) ) ; $newdate = date ( 'Y-m-j' , $newdate ); $query=$this->db->query("select if(SUM(amount)<0,concat(format(abs(sum(amount)),2),' Cr'),concat(format(abs(sum(amount)),2),' Dr')) as amount from gl_trans cr join refs on refs.ref_id=cr.ref_id where transaction_date <='$newdate' and account_code='$account'"); $bal=$query->row(); $data['ltsixty']=$bal->amount; return $data; } function getregistrationrefno($id) { $query=$this->db->query("select quotation_code ,training_title from training_registration tr join training_quotation tq on tr.training_quotation_id=tq.training_quotation_id join training_proposal_details tpd on tpd.id=tq.customer_training_id join training_proposal tp on tp.training_id=tpd.training_id where training_registration_id='$id'"); $res=$query->row(); return $res; } function getplacementrefno($id) { $query=$this->db->query("select proposal_code ,software_proposal_title from software_placement sp join software_proposal spo on spo.software_proposal_id=sp.software_proposal_id where placement_id='$id'"); $res=$query->row(); return $res; } function getconfirmationrefno($id) { $query=$this->db->query("select proposal_code ,consulting_proposal_title from consulting_confirmation sp join consulting_proposal spo on spo.consulting_proposal_id=sp.consulting_proposal_id where confirmation_id='$id'"); $res=$query->row(); return $res; } function getcancellationrefno($id) { $query=$this->db->query("select training_cancellation_code ,training_title from training_cancellation tc join training_registration tr on tr.training_registration_id=tc.training_registration_id join training_quotation tq on tr.training_quotation_id=tq.training_quotation_id join training_proposal_details tpd on tpd.id=tq.customer_training_id join training_proposal tp on tp.training_id=tpd.training_id where training_cancellation_id='$id'"); echo "select training_cancellation_code ,training_title from training_cancellation tc join training_registration tr on tr.training_registration_id=tc.training_registration_id join training_quotation tq on tr.training_quotation_id=tq.training_quotation_id join training_proposal_details tpd on tpd.id=tq.customer_training_id join training_proposal tp on tp.training_id=tpd.training_id where training_cancellation_id='$id'"; $res=$query->row(); return $res; } }