Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/ecampus.ncriptech.com/application/controllers/admin/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * */ class Purchase extends BaseAdminController { protected $inst_id=''; protected $inst_type=''; protected $ctms_access=''; protected $canteen_add_vendor=''; function __construct(){ parent::__construct(); $institute_data=check_institute($this->data['userdata']); $this->inst_id=$institute_data['institute_id']; $this->inst_type=$institute_data['inst_type']; $this->config->load('cms_config', FALSE, TRUE); $this->load->model(array('po_model'=>'pom','vendor_model'=>'vm')); } function index(){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Vendors'; //echo $this->canteen_add_vendor;die; $view='accounting/vw_purchase_list'; //echo $view;die; $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } function indexPurchaseAddEdit($po_id=null){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Purchase'; if($po_id!=null){ $po_id=decode_data($po_id); $po_data=$this->pom->get_po_order(array('po_id'=>$po_id)); $po_orders=$this->pom->get_po_order_data(array('po_pk_id'=>$po_id),FALSE); if(!empty($po_orders)){ foreach ($po_orders as $key => $value) { $vendors[$value->po_data_id]=$this->vm->get_vendor_data(array('vendor_id'=>$value->po_vendor_cate_id),FALSE); } } $this->data['po_data']=$po_data; $this->data['po_order_data']=$po_orders; $this->data['vendors']=$vendors; } $vendor_category=$this->vm->get_vendor_category_data(array('category_inst_id'=>$this->inst_id,'category_inst_type'=>$this->inst_type),FALSE); $this->data['vendor_category']=$vendor_category; $view='accounting/vw_purchase_add_edit'; //echo $view;die; $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } public function onCreatePOdataTable(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $po_id=post_data('po_id'); $po_row=post_data('po_row'); $po_row=$po_row+1; $vendor_category=$this->vm->get_vendor_category_data(array('category_inst_id'=>$this->inst_id,'category_inst_type'=>$this->inst_type),FALSE); $this->data['vendor_category']=$vendor_category; $this->data['po_row']=$po_row; $return['html']=$this->theme->view('_pages/accounting/vw_purchase_data_table',$this->data,true); json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onCreatePOOrder(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $user_id=$this->data['userdata']->user_id; $po_inst_id=$this->inst_id; $po_inst_type=$this->inst_type; $po_id=post_data('po_id'); $po_details=$this->input->post('po_details'); $po_total=0; if(!empty($po_id)){ $po_id=decode_data($po_id); $_po_data=$this->pom->get_po_order(array('po_id'=>$po_id)); $this->pom->delete_po_order(array('po_id'=>$po_id)); $this->pom->delete_po_order_data(array('po_pk_id'=>$po_id)); } if(!empty($po_details)){ $po_created_by=$user_id; $po_created_at=date('Y-m-d'); $po_notes=post_data('po_notes'); if(isset($_po_data)){ $po_updated_by=$user_id; $po_status=$_po_data->po_status; $po_created_by=$_po_data->po_created_by; $po_created_at=$_po_data->po_created_at; $po_data=compact('po_inst_id','po_inst_type','po_notes', 'po_total', 'po_status', 'po_status_reason', 'po_created_at', 'po_created_by'); $po_id=store_po_order($po_data); $po_udata=compact('po_id','po_inst_id','po_inst_type','po_notes', 'po_total', 'po_status', 'po_status_reason', 'po_updated_by'); update_po_order($po_udata); $return['redirect']=$this->data['base_url'].'/purchases/add/'.encode_data($po_id); }else{ $po_status='generated'; $po_data=compact('po_inst_id','po_inst_type','po_notes', 'po_total', 'po_status', 'po_status_reason', 'po_created_at', 'po_created_by'); $po_id=store_po_order($po_data); $return['redirect']=$this->data['base_url'].'/purchases'; } if($po_id){ foreach ($po_details as $key => $value) { $price_total=$value['item_qty']*$value['item_rate']; $d[]=array( 'po_pk_id'=>$po_id, 'po_vendor_cate_id'=>$value['vendor_type'], 'po_vendor_id'=>$value['vendor_id'], 'po_data_name'=>$value['item_detail'], 'po_data_qty'=>$value['item_qty'], 'po_data_price'=>$value['item_rate'], 'po_data_price_total'=>$price_total, 'po_data_created_at'=>date('Y-m-d'), 'po_data_created_by'=>$user_id ); } if(!empty($d)){ $order_created=$this->pom->store_po_order_data($d,TRUE); if($order_created){ $sub_total=$this->pom->get_po_order_total('po_data_price_total','total',array('po_pk_id'=>$po_id)); $po_tax_slab=post_data('po_tax'); $discount=post_data('po_discount'); $total=$sub_total[0]->total-$discount; $tax=($total*$po_tax_slab)/100; $main_total=$total+$tax; $this->pom->update_po_order(array('po_sub_total'=>$sub_total[0]->total,'po_total'=>$main_total,'po_discount'=>$discount,'po_tax'=>$tax,'po_tax_slab'=>$po_tax_slab),array('po_id'=>$po_id)); } $return['success']='PO has been generated.'; }else{ $return['error']='There was an error on creating PO'; } }else{ $return['error']='PO not created.'; } }else{ $return['error']='Blank PO can not be generated'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchPO(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $param['column_order'] = array( null, 'po_code' ); $param['column_search'] = array('po_code'); $param['order'] = array('po_id ' => 'DESC'); $posts=$this->input->post(); $list = $this->pom->_get_po_order($posts,$param,FALSE,FALSE); $data = array(); $no = 0; $action=''; foreach ($list as $po){ $no++; $row = array(); $row[] = $no; $row[] = $po->po_code; $row[] = number_format($po->po_sub_total,2); $row[] = number_format($po->po_discount,2); $row[] = number_format($po->po_total,2); $row[] = number_format($po->po_tax,2); $row[] = $po->po_notes; $row[] = date('d-m-Y',strtotime($po->po_created_at)); $row[] = $this->config->item($po->po_status); $row[] = '<button type="button" class="btn btn-xs btn-info btn_view_po" data-book_po_id="'.encode_data($po->po_id ).'" ><i class="fa fa-eye"></i></button> <a type="button" class="btn btn-xs btn-info btn_edit_po" href="'.$this->data['base_url'].'/purchases/add/'.encode_data($po->po_id ).'" ><i class="fa fa-edit"></i></a> <button type="button" class="btn btn-xs btn-danger" data-book_po_id="'.encode_data($po->po_id ).'"><i class="fa fa-trash"></i></button>'; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->pom->_get_po_order($posts,$param,TRUE), "recordsFiltered" => $this->pom->_get_po_order($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } }