siddharth_application/application/controllers/purchaseorder.php
2017-05-15 18:28:03 +05:30

343 lines
11 KiB
PHP

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
require APPPATH . '/libraries/BaseController.php';
/**
* Class : purchaseorder (PurchaseorderController)
* User Class to control all user related operations.
* @author : VenbaMail Mali
* @version : 1.1
* @since : 15 Feb 2016
*/
class purchaseorder extends BaseController
{
/**
* This is default constructor of the class
*/
public function __construct()
{
parent::__construct();
$this->load->model('purchaseorder_model');
$this->load->library('session');
$this->load->library('form_validation');
$this->isLoggedIn();
}
/**
* This function used to load the first screen of the user
*/
public function index()
{
$this->global['pageTitle'] = 'Siddharth : AddPO';
$this->loadViews("addPO", $this->global, NULL , NULL);
}
/**
* This function is used to load the purchaseorder list
*/
function purchaseorderListing()
{
$this->global['pageTitle'] = 'Siddharth : PO Listing';
$this->loadViews("POlist", $this->global,NULL);
}
function ViewPurchaseOrder()
{
if($this->isAdmin() == TRUE)
{
$this->loadThis();
}
else
{
$data = $_GET['PONO'];
$this->load->model('purchaseorder_model');
$result['PODetail'] = $this->purchaseorder_model->getPurchaseOrder($data);
$result['POLineItem'] = $this->purchaseorder_model->getPOLineItem($data);
$this->loadViews("EditPurchaseOrder", $this->global, $result, NULL);
}
}
/**
* This function is used to load the add new PO */
function addPO()
{
if($this->isAdmin() == TRUE)
{
$this->loadThis();
}
else
{
$this->load->helper('form');
$this->load->model('purchaseorder_model');
$data['users'] = $this->purchaseorder_model->getusers();
$data['SupplierName'] = $this->purchaseorder_model->getSupplierName();
$data['RawMaterials'] = $this->purchaseorder_model->getRawMaterialList();
$data['UOM'] = $this->purchaseorder_model->getUOM();
$data['POType'] = $this->purchaseorder_model->getPOType();
$data['PurchasingCategory'] = $this->purchaseorder_model->getPurchasingCategory();
$data['EmpList'] = $this->purchaseorder_model->getEmployeeList();
$this->global['pageTitle'] = 'siddharth : AddNew PO';
$this->loadViews("addPO", $this->global, $data, NULL);
}
}
function UpdatePO()
{
$PONO = $this->session->userdata('PONO');
$DiscountType = $this->input->post('DiscountType');
$DiscountValue = $this->input->post('txtDiscount');
$PackagingType = $this->input->post('PackagingType');
$PackagingValue = $this->input->post('txtPackaging');
$Exciseduty = $this->input->post('Exciseduty');
$Vat = $this->input->post('txtVat');
$Freight = $this->input->post('txtFreight');
$TotalOrderValue = $this->input->post('txtOrderValue');
echo $PONO ;
echo $DiscountType;
echo $PackagingType;
$this->load->model('purchaseorder_model');
}
/**
* This function is used to add new user to the system
*/
function addNewPO()
{
if($this->isAdmin() == TRUE)
{
$this->loadThis();
}
else
{
$POType = $this->input->post('PO_Type');
$PODate = $this->input->post('PO_Date');
$SupplierID = $this->input->post('SupplierID');
$SpecialOrder = $this->input->post('SpecialOrder');
$role = $this->input->post('role');
$re_email = $this->input->post('re_email');
$re_phone = $this->input->post('re_phone');
$re_Date = $this->input->post('re_Date');
$bud_manager =$this->input->post('bud_manager');
$bud_manager_de = $this->input->post('BudgetManagerDepartment');
$Pur_category = $this->input->post('Pur_category');
$Justification = $this->input->post('Justification');
$SupplierAddress = $this->input->post('SupplierAddress');
$CreatedBy= $this->session->userdata('role');
$DiscountType = $this->input->post('DiscountType');
$txtDiscount = $this->input->post('txtDiscount');
$PackagingType = $this->input->post('PackagingType');
$txtPackaging = $this->input->post('txtPackaging');
$Exciseduty = $this->input->post('Exciseduty');
$txtVat = $this->input->post('txtVat');
$txtFreight = $this->input->post('txtFreight');
$txtOrderValue = $this->input->post('txtOrderValue');
$BasicValue = $this->input->post('BasicValue');
$AfterDiscount = $this->input->post('AfterDiscount');
$AfterPackaging = $this->input->post('AfterPackaging');
$AferExciseduty = $this->input->post('AferExciseduty');
$txtAfterVat = $this->input->post('txtAfterVat');
$PODate = date('m-d-Y H:i:s', strtotime(str_replace('/', '-', $PODate)));
$re_Date = date('m-d-Y H:i:s', strtotime(str_replace('/', '-', $re_Date)));
$this->load->model('purchaseorder_model');
$data['PONO'] = $this->purchaseorder_model->addNewPO($POType,$PODate, $SupplierID,$SpecialOrder,$role,$re_email,$re_phone,
$re_Date,$bud_manager,$bud_manager_de,$Pur_category, $Justification,$CreatedBy,$BasicValue,$DiscountType,$txtDiscount,$PackagingType,$txtPackaging,$Exciseduty,$txtVat,$txtFreight,$AfterDiscount,$AfterPackaging,$AferExciseduty,$txtAfterVat,$txtOrderValue);
$data = array_shift($data);
$PO = $data[0]['PONO'];
$RowCount = $this->input->post('txtRowCount');
// Inserting PO Line item
for ($i = 1; $i <= $RowCount; $i++)
{
$Material_ID = $this->input->post('ProductDescription'.$i);
$UOM = $this->input->post('UOM'.$i);
$Quantity = $this->input->post('Quantity'.$i);
$UnitPrice = $this->input->post('UnitPrice'.$i);
$data['POLineItem']= $this->purchaseorder_model-> addNewPOLineItem($PO,$Material_ID,$UOM,$Quantity,$UnitPrice);
}
Print_r($PO);
return $PO;
}
}
/**
* This function is used load user edit information
* @param number $userId : Optional : This is user id
*/
function editOldPO($PO = NULL)
{
if($this->isAdmin() == TRUE || $PO == 1)
{
$this->loadThis();
}
else
{
if($PO == null)
{
redirect('purchaseorderListing');
}
$data['SupplierName'] = $this->purchaseorder_model->getSupplierName();
$data['users'] = $this->purchaseorder_model->getusers();
$this->global['pageTitle'] = 'Siddharth : Edit User';
$this->loadViews("editOldPO", $this->global, $data, NULL);
}
}
/**
* This function is used to edit the user information
*/
function editPO()
{
if($this->isAdmin() == TRUE)
{
$this->loadThis();
}
else
{
$this->load->library('form_validation');
$PO = $this->input->post('PO');
$this->form_validation->set_rules('POType','PO Type','trim|required|');
$this->form_validation->set_rules('PODate','PO Date','trim|required|');
$this->form_validation->set_rules('SupplierID','SupplierID','trim|required|');
$this->form_validation->set_rules('SpecialOrder','Special Requirement of order','|max_length[20]');
$this->form_validation->set_rules('role','UserID','trim||numeric');
$this->form_validation->set_rules('reemail','Requester email','trim|valid_email|xss_clean|max_length[128]');
$this->form_validation->set_rules('rephone','Requester ph','required|min_length[10]|xss_clean');
$this->form_validation->set_rules('reDate','Requested Date','required');
$this->form_validation->set_rules('budmanager','Budget Manager');
$this->form_validation->set_rules('budmanagerde','Budget Manager Department','trim');
$this->form_validation->set_rules('PurchasingCategory','Purchasing Category','trim');
if($this->form_validation->run() == FALSE)
{
$this->editPO();
}
else
{
$POType = ucwords(strtolower($this->input->post('POType')));
$PODate = $this->input->post('PODate');
$SupplierID = $this->input->post('SupplierID');
$SpecialOrder = $this->input->post('SpecialOrder');
$role = $this->input->post('role');
$reemail = $this->input->post('reemail');
$rephone = $this->input->post('rephone');
$reDate = $this->input->post('reDate');
$budmanager = $this->input->post('budmanager');
$budmanagerde = $this->input->post('budmanagerde');
$Purcategory = $this->input->post('PurchasingCategory');
$POInfo = array('POType'=>$POType, 'PODate'=>$PODate, 'SupplierID'=>$SupplierID, 'SpecialOrder'=> $SpecialOrder,'UserID'=>$role,'RequestedDate'=>$reDate,'RequesterEmail'=>$reemail,'RequesterPh'=>$rephone, 'PurchasingCategory'=>$Purcategory,'BudgetManager'=>$budmanager,'BudgetManagerDepartment'=>$budmanagerde,'createdBy'=>$this->vendorId, 'createdDtm'=>date('Y-m-d H:i:sa'));
$POInfo = array();
$result = $this->purchaseorder_model->editPO($POInfo, $PO);
if($result == true)
{
$this->session->set_flashdata('success', 'PO updated successfully');
}
else
{
$this->session->set_flashdata('error', 'PO updation failed');
}
redirect('purchaseorderListing');
}
}
}
function GetSupplier()
{
$id = $this->input->post('id');
$this->load->model('supplier_model');
$result['Address'] = $this->supplier_model->GetSupplierAddress($id );
$result = array_shift($result);
$Address = $result[0]['Address'];
print $Address;
return $Address;
}
function GetBudgetManagerDepartment()
{
$id = $this->input->post('id');
$this->load->model('Employeedetails_model');
$result['DepartmentName'] = $this->Employeedetails_model->GetEmployeeDepartment($id );
$result = array_shift($result);
$DepartmentName = $result[0]['DepartmentName'];
print $DepartmentName;
return $DepartmentName;
}
function pageNotFound()
{
$this->global['pageTitle'] = 'CodeInsect : 404 - Page Not Found';
$this->loadViews("404", $this->global, NULL, NULL);
}
}
?>