364 lines
11 KiB
PHP
Executable File
364 lines
11 KiB
PHP
Executable File
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
require APPPATH . '/libraries/BaseController.php';
|
|
require APPPATH . '/third_party/mpdf/mpdf.php';
|
|
/**
|
|
* Class : cash Book Controller (cash Book)
|
|
* User Class to control all user related operations.
|
|
* @author : Gandhimathi
|
|
* @version : 1.1
|
|
* @since : 27 Nov 2017
|
|
*/
|
|
class cashbook extends BaseController
|
|
{
|
|
/**
|
|
* This is default constructor of the class
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('cashbook_model');
|
|
$this->isLoggedIn();
|
|
$this->load->helper(array('form','url'));
|
|
$this->load->library('upload');
|
|
|
|
}
|
|
|
|
function incomeExpenseList()
|
|
{
|
|
|
|
$aid = $this->uri->segment(3);
|
|
$str = $this->uri->segment(4);
|
|
if(!empty($aid)){
|
|
|
|
if(!empty($str))
|
|
{
|
|
//echo "PDF";
|
|
$data['company'] = $this->cashbook_model->getCompany();
|
|
|
|
$data['data'] = $this->cashbook_model->getIncomeExpenseList($aid);
|
|
//$pic1 = $data['company'][0]->ProfilePic;
|
|
//echo $pic1;
|
|
//$pic = base_url().'uploads/images'.$pic1;
|
|
//echo $pic;
|
|
//die();
|
|
$totalamt = $data['data'][0]->total;
|
|
$data['amtinwords'] = $this->convertNumber($totalamt);
|
|
$mpdf=new mPDF('utf-8','A4-P',7, 10,10, 10, 3, 0, 0, 0);
|
|
$mpdf->SetHTMLHeader($HtmlHeading);
|
|
$html = $this->load->view('cashbookpdf',$data,true);
|
|
$mpdf->SetDisplayMode('fullpage');
|
|
$mpdf->setFooter($HTMLFooter . "Page {PAGENO} of {nb}");
|
|
$mpdf->list_indent_first_level = 1;
|
|
$mpdf->setAutoTopMargin = 'stretch';
|
|
$mpdf->setAutoBottomMargin = 'stretch';
|
|
$mpdf->WriteHTML($html);
|
|
$filename = "cashbook.pdf";
|
|
$mpdf->Output($filename,I);
|
|
}
|
|
else
|
|
{
|
|
|
|
$data['data'] = $this->cashbook_model->getIncomeExpenseList($aid);
|
|
//print_r($data['dropdownvalues']);die();
|
|
$this->global['pageTitle'] = 'Resico : Cash Book: View Income Expense ';
|
|
$this->loadViews("viewIndIncomeExpense", $this->global, $data , NULL);
|
|
|
|
}
|
|
|
|
}else{
|
|
$data['list'] = $this->cashbook_model->getIncomeExpenseList();
|
|
$this->global['pageTitle'] = 'Resico : Cash Book: Listing';
|
|
|
|
$this->loadViews("income_expense_list", $this->global, $data , NULL);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function addNewIncomeExpenseLoad()
|
|
{
|
|
|
|
$data['dropdownvalues'] = $this->cashbook_model->getAccounTypes();
|
|
//print_r($data['dropdownvalues']);die();
|
|
$this->global['pageTitle'] = 'Resico : Cash Book: Add New Income Expense ';
|
|
$this->loadViews("addnewIncomeExpense", $this->global, $data , NULL);
|
|
}
|
|
|
|
|
|
function addIncomeExpense()
|
|
{
|
|
//echo "welcome";
|
|
//die();
|
|
$accounttype = $this->input->post('myradio');
|
|
if($accounttype == 1)
|
|
{
|
|
$accounttype = 'INCOME';
|
|
}
|
|
else
|
|
{
|
|
$accounttype = 'EXPENSE';
|
|
}
|
|
$accountcode = $this->input->post('accode');
|
|
$date = $this->input->post('Date');
|
|
$date = date_create($date);//,'Y-m-d');
|
|
$date = date_format($date,'Y-m-d');
|
|
$towhome = $this->input->post('towhome');
|
|
|
|
$gsttoggle = $this->input->post('gsttoggle');
|
|
$invoiceno = null;
|
|
$merchantname = null;
|
|
$mergstno = null;
|
|
$hsn = null;
|
|
$beforegst = null;
|
|
$sgst = null;
|
|
$cgst = null;
|
|
$igst = null;
|
|
if(!empty($gsttoggle))
|
|
{
|
|
$invoiceno = $this->input->post('Invoiceno');
|
|
$merchantname = $this->input->post('merchant');
|
|
$mergstno = $this->input->post('Merchantgst');
|
|
$hsn = $this->input->post('hsn');
|
|
$beforegst = $this->input->post('valuebeforegST');
|
|
$sgst = $this->input->post('SGST');
|
|
$cgst = $this->input->post('CGST');
|
|
$igst = $this->input->post('IGST');
|
|
}
|
|
|
|
$totalamount = $this->input->post('totalamount');
|
|
|
|
$description = $this->input->post('description');
|
|
if(empty($description)){$description = 'NA';}
|
|
$document = null;
|
|
|
|
$fs = 0;
|
|
if(!empty($_FILES['myfile']['name']))
|
|
{
|
|
//echo "FILE AVAILABLE";
|
|
$config['file_name'] = $_FILES['myfile']['name'];
|
|
$config['upload_path'] = 'uploads/cashbook/';
|
|
$path = $config['upload_path'];
|
|
//$filename = $config['file_name'];
|
|
$document = $path.$filename;
|
|
//echo $document;
|
|
$fs = $this->uploadFile();
|
|
$document = $path.$fs;
|
|
|
|
}
|
|
$created_by = $this->session->userdata('userId');
|
|
$addincomexpense = array('type'=>$accounttype,'account_code'=>$accountcode,'date'=>$date,'towhom'=>$towhome,'invoice_no'=>$invoiceno,'merchant'=>$merchantname,'merchant_gst'=>$mergstno,'HSN'=>$hsn ,'value_before_gst'=>$beforegst,'sgst'=>$sgst,'cgst'=>$cgst,'igst'=>$igst,'total'=>$totalamount,'description'=>$description,'document'=>$document,'Created_By'=>$created_by);
|
|
$res = $this->cashbook_model->saveIncomeExpense($addincomexpense);
|
|
if( $res == 1 ){
|
|
echo "<script>alert('Saved Successfully!');window.location.href='ViewIncomeExpense';</script>";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
function uploadFile()
|
|
{
|
|
|
|
//echo "INSIDE UPLOAFD";
|
|
|
|
//$this->load->library('upload')
|
|
$pathinfo = pathinfo($_FILES['myfile']['name']);
|
|
$config['upload_path'] = 'uploads/cashbook/';
|
|
$config['allowed_types'] = 'png|jpg|jpeg';
|
|
$config['file_name'] = $_FILES['myfile']['name'];
|
|
// $config['overwrite'] = true;
|
|
|
|
//Load upload library and initialize configuration
|
|
$this->load->library('upload',$config);
|
|
$this->upload->initialize($config);
|
|
|
|
|
|
if($this->upload->do_upload('myfile'))
|
|
{
|
|
$uploadData = $this->upload->data();
|
|
$uploadfilename = $uploadData['file_name'];
|
|
return $uploadfilename;
|
|
|
|
}
|
|
else
|
|
{
|
|
$error = array('error' => $this->upload->display_errors());
|
|
$uploadfilename = '';
|
|
print_r($error);
|
|
return 0;
|
|
}
|
|
|
|
}
|
|
|
|
function viewIE()
|
|
{
|
|
|
|
$aid = $this->uri->segment(3);
|
|
|
|
$data['data'] = $this->cashbook_model->getAccounutInfo();
|
|
//print_r($data['dropdownvalues']);die();
|
|
$this->global['pageTitle'] = 'Resico : Cash Book: View Income Expense ';
|
|
$this->loadViews("viewIndIncomeExpense", $this->global, $data , NULL);
|
|
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$this->global['pageTitle'] = 'Resico : Cashbook Details';
|
|
$this->loadViews("cashbooklisting", $this->global, NULL , NULL);
|
|
|
|
}
|
|
|
|
public function cashbookList()
|
|
{
|
|
|
|
|
|
$this->load->model('cashbook_model');
|
|
|
|
$data['cashbook'] = $this->cashbook_model->Selectcash();
|
|
|
|
$this->global['pageTitle'] = 'Resico : Cashbook Listing';
|
|
|
|
$this->loadViews("cashbooklisting", $this->global, $data, NULL);
|
|
|
|
}
|
|
|
|
public function cashbookdtl()
|
|
{
|
|
|
|
|
|
$id = $this->input->post('id');
|
|
$tablevalue = json_decode($id,true);
|
|
//print_r($tablevalue);
|
|
foreach($tablevalue as $tv)
|
|
{
|
|
if(!empty($tv['AccountCodeType'])){
|
|
$acc_type = $tv['AccountCodeType'];
|
|
$acc_code = $tv['AccountCode'];
|
|
$acc_name = $tv['AccountName'];
|
|
$acc_desc = $tv['Description'];
|
|
$acc_state = $tv['Status'];
|
|
if(strtoupper($acc_state) == 'YES')
|
|
{
|
|
$acc_status = 1;
|
|
}
|
|
else{
|
|
$acc_status = 0;
|
|
}
|
|
|
|
|
|
$dt = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
|
|
$acc_createddt = $dt->format('Y-m-d H:i:s');
|
|
|
|
$cashbookdatas = array('type'=>$acc_type,'code'=>$acc_code,'name'=>$acc_name,'description'=>$acc_desc,'status'=>$acc_status,'created_on'=>$acc_createddt);
|
|
//print_r($cashbookdatas);
|
|
$result = $this->cashbook_model->Cashbook($cashbookdatas);
|
|
}
|
|
}
|
|
|
|
|
|
//redirect('cashbook/cashbookList','refresh');
|
|
echo "Successfully Saved!";
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
public function convertNumber($amt){
|
|
//echo $amt;die();
|
|
$ShowPaise='0';
|
|
$totalAmt=explode(".",$amt);
|
|
|
|
$number = $totalAmt[0];
|
|
$no = $number;
|
|
|
|
if(!empty($totalAmt[1]) && $totalAmt[1]!=0){
|
|
$point = $totalAmt[1];
|
|
$ShowPaise='1';
|
|
}
|
|
else{
|
|
$point=0;
|
|
$ShowPaise='0';
|
|
}
|
|
|
|
|
|
$hundred = null;
|
|
$digits_1 = strlen($no);
|
|
|
|
$i = 0;
|
|
$str = array();
|
|
$words = array('0' => '', '1' => 'One', '2' => 'Two',
|
|
'3' => 'three', '4' => 'Four', '5' => 'Five', '6' => 'Six',
|
|
'7' => 'seven', '8' => 'eight', '9' => 'nine',
|
|
'10' => 'ten', '11' => 'eleven', '12' => 'twelve',
|
|
'13' => 'thirteen', '14' => 'fourteen',
|
|
'15' => 'fifteen', '16' => 'sixteen', '17' => 'seventeen',
|
|
'18' => 'eighteen', '19' =>'nineteen', '20' => 'twenty',
|
|
'30' => 'thirty', '40' => 'forty', '50' => 'fifty',
|
|
'60' => 'sixty', '70' => 'seventy',
|
|
'80' => 'eighty', '90' => 'ninety','06'=>'Zero Six','01'=>'Zero One','02'=>'Zero Two'
|
|
,'03'=>'Zero Three','04'=>'Zero Four','05'=>'Zero Five','07'=>'Zero Seven','08'=>'Zero Eight','09'=>'Zero Nine');
|
|
$words1 = array('2' => 'twenty',
|
|
'3' => 'thirty', '4' => 'fourty',
|
|
'5' => 'fifty', '6' => 'sixty', '7' => 'seventy',
|
|
'8' => 'eighty', '9' =>'ninty');
|
|
$words12 = array('11' => 'eleven',
|
|
'12' => 'twelve', '13' => 'thirteen', '14' => 'fourteen',
|
|
'15' => 'fifteen', '16' => 'sixteen', '17' => 'seventeen',
|
|
'18' => 'eighteen', '19' =>'nineteen', '20' => 'twenty',);
|
|
$digits = array('', 'hundred', 'thousand', 'lakh', 'crore');
|
|
while ($i < $digits_1) {
|
|
$divider = ($i == 2) ? 10 : 100;
|
|
$number = floor($no % $divider);
|
|
$no = floor($no / $divider);
|
|
$i += ($divider == 10) ? 1 : 2;
|
|
if ($number) {
|
|
$plural = (($counter = count($str)) && $number > 1) ? 's' : null;
|
|
//print_r($plural);
|
|
$hundred = ($counter == 1 && $str[0]) ? ' and ' : null;
|
|
//print_r($hundred);
|
|
$str [] = ($number < 21) ? $words[$number] .
|
|
" " . $digits[$counter] . $plural . " " . $hundred
|
|
:
|
|
$words[floor($number / 10) * 10]
|
|
. " " . $words[$number % 10] . " "
|
|
. $digits[$counter] . $plural . " " . $hundred;
|
|
} else $str[] = null;
|
|
}
|
|
$str = array_reverse($str);
|
|
$result = implode('', $str);
|
|
if($point>=1 && $point<=10)
|
|
{
|
|
$points = ($point) ?
|
|
" " . $words[$point] : " ";
|
|
}
|
|
else if($point>=11 && $point<=20)
|
|
{
|
|
$points = ($point) ?
|
|
" " . $words12[$point] : " ";
|
|
}
|
|
else
|
|
{
|
|
$points = ($point) ?
|
|
" " . $words1[$point / 10] . " " .
|
|
$words[$point = $point % 10] : '';
|
|
}
|
|
|
|
if($ShowPaise=='0'){
|
|
|
|
$amountInWords = "Rupees " . $result." Only";
|
|
}
|
|
else{
|
|
|
|
$amountInWords = "Rupees " . $result ." Paise ". $points." Only";
|
|
}
|
|
|
|
|
|
return $amountInWords;
|
|
}
|
|
|
|
}
|
|
?>
|