365 lines
12 KiB
PHP
365 lines
12 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()
|
|
{
|
|
if($this->isAdmin() == TRUE)
|
|
{
|
|
$this->loadThis();
|
|
}
|
|
else
|
|
{
|
|
$this->load->model('purchaseorder_model');
|
|
|
|
$searchText = $this->input->post('searchText');
|
|
$data['searchText'] = $searchText;
|
|
|
|
$this->load->library('pagination');
|
|
|
|
$count = $this->purchaseorder_model->purchaseorderListingCount($searchText);
|
|
|
|
$returns = $this->paginationCompress ( "purchaseorderListing/", $count, 5 );
|
|
|
|
$data['userRecords'] = $this->purchaseorder_model->purchaseorderListing($searchText, $returns["page"], $returns["segment"]);
|
|
|
|
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : PO Listing';
|
|
|
|
$this->loadViews("POlist", $this->global, $data, 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);
|
|
}
|
|
}
|
|
|
|
?>
|