297 lines
9.0 KiB
PHP
297 lines
9.0 KiB
PHP
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
require APPPATH . '/libraries/BaseController.php';
|
|
|
|
/**
|
|
* Class : Cost Center (Cost Center Controller)
|
|
* User Class to control all user related operations.
|
|
* @author : VenbaMail Mali
|
|
* @version : 1.1
|
|
* @since : 15 Feb 2016
|
|
*/
|
|
class CostCenter extends BaseController
|
|
{
|
|
/**
|
|
* This is default constructor of the class
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('costcenter_model');
|
|
//$this->load->library('session');
|
|
$this->load->library('form_validation');
|
|
$this->load->library('pagination');
|
|
|
|
$this->isLoggedIn();
|
|
}
|
|
/**
|
|
* This function used to load the first screen of the user
|
|
*/
|
|
public function index()
|
|
{
|
|
$this->global['pageTitle'] = 'Siddharth : Cost';
|
|
|
|
$this->loadViews("costListing", $this->global, NULL , NULL);
|
|
}
|
|
|
|
/**
|
|
* This function is used to load the Cost list
|
|
*/
|
|
function CostListing()
|
|
{
|
|
|
|
//$this->load->model('costcenter_model');
|
|
|
|
$searchText = $this->input->post('searchText');
|
|
$data['searchText'] = $searchText;
|
|
|
|
|
|
$count = $this->costcenter_model->costListingCount($searchText);
|
|
|
|
$returns = $this->paginationCompress ( "costListing/", $count, 5 );
|
|
|
|
$data['userRecords'] = $this->costcenter_model->costListing($searchText, $returns["page"], $returns["segment"]);
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : Test List';
|
|
|
|
$this->loadViews("costListing", $this->global, $data, NULL);
|
|
|
|
}
|
|
|
|
/**
|
|
* This function is used to load the add new cost Center */
|
|
function addCostCenter()
|
|
{
|
|
|
|
$data['Department'] = $this->costcenter_model->getDepartment();
|
|
|
|
$data['BudgetType'] = $this->costcenter_model->getConfigValue('C004');
|
|
|
|
$data['Approver'] = $this->costcenter_model->getApproverName();
|
|
|
|
$this->global['pageTitle'] = 'siddharth : Add Cost Center';
|
|
|
|
$this->loadViews("addCostCenter", $this->global,$data, NULL);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* This function is used to add new Cost to the system
|
|
*/
|
|
function addNewcost()
|
|
{
|
|
|
|
|
|
$this->form_validation->set_rules('CostCode','CostCode','trim|required');
|
|
$this->form_validation->set_rules('CostName','CostName','trim|required');
|
|
|
|
$SelectedDepartment = $this->input->post('txtSelectedDepartment');
|
|
$ApproverName = $this->input->post('ApprovedBy');
|
|
//print_r($ApproverName);
|
|
$Deptlist = explode(':', $SelectedDepartment);
|
|
|
|
if(strlen($SelectedDepartment) <= 0 )
|
|
{
|
|
print_r('Please select Department');
|
|
return;
|
|
}
|
|
|
|
$RowCount = $this->input->post('txtRowCount');
|
|
|
|
if($RowCount <= 0 )
|
|
{
|
|
print_r('Please Add Budget');
|
|
return;
|
|
}
|
|
|
|
if($ApproverName == "-1" )
|
|
{
|
|
print_r('Please Select Approver');
|
|
return;
|
|
}
|
|
if($this->form_validation->run() == FALSE)
|
|
{
|
|
$this->addCostCenter();
|
|
}
|
|
else
|
|
{
|
|
$CostCode = strtoupper(trim($this->input->post('CostCode')));
|
|
$CostName = strtoupper(trim($this->input->post('CostName')));
|
|
$CreateBy = $this->session->userdata ( 'userId' );
|
|
$SelectedDepartment = $this->input->post('txtSelectedDepartment');
|
|
$ApproverName = $this->input->post('ApprovedBy');
|
|
$comma_separated = explode(':', $SelectedDepartment);
|
|
$dt = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
|
|
|
|
$createddt = $dt->format('Y-m-d H:i:s');
|
|
|
|
$CodeExists = $this->costcenter_model->checkCostDetailsExists( $CostCode);
|
|
|
|
if(count($CodeExists) == 0)
|
|
{
|
|
$Cost = array('CostCenterCode'=>$CostCode, 'CostCenterName'=>$CostName,'ApprovedBy'=>$ApproverName,'CreatedBy'=>$CreateBy,'createdDate'=>$createddt);
|
|
$this->costcenter_model->addNewcost($Cost);
|
|
}
|
|
|
|
for ($j = 0; $j < count($comma_separated); $j++)
|
|
{
|
|
$DeptCode = $comma_separated[$j];
|
|
|
|
$this->costcenter_model->DeleteDepartment( $DeptCode,$CostCode);
|
|
|
|
$Dept = array('CostCenterCode'=>$CostCode, 'DEPCode'=>$DeptCode,'CreatedBy'=>$CreateBy,'createdDate'=>$createddt);
|
|
$this->costcenter_model->addCostCenterDepartment($Dept);
|
|
|
|
}
|
|
$RowCount = $this->input->post('txtRowCount');
|
|
|
|
for ($i = 1; $i <= $RowCount; $i++)
|
|
{
|
|
$BudgetType = $this->input->post('BudgetType'.$i);
|
|
$BudgetYear = $this->input->post('BudgetYear'.$i);
|
|
$BudgetAmount = $this->input->post('BudgetAmount'.$i);
|
|
$Remarks = $this->input->post('Remarks'.$i);
|
|
$this->costcenter_model->DeleteBudget( $BudgetType,$BudgetYear,$CostCode);
|
|
|
|
$Budget = array('CostCenterCode'=>$CostCode, 'BudgetType'=>$BudgetType,'BudgetYear'=>$BudgetYear,'BudgetAmount'=>$BudgetAmount,'Remarks'=>$Remarks,'CreatedBy'=>$CreateBy,'createdDate'=>$createddt);
|
|
$this->costcenter_model->addBudget($Budget);
|
|
|
|
}
|
|
|
|
Print_r('Successfully Created Cost details');
|
|
|
|
}
|
|
|
|
}
|
|
/**
|
|
* This function is used load user edit information
|
|
* @param number $userId : Optional : This is user id
|
|
*/
|
|
function editOldcost($CostCenterID = NULL)
|
|
{
|
|
|
|
if($CostCenterID == null)
|
|
{
|
|
redirect('costListing');
|
|
}
|
|
|
|
$data['Cost'] = $this->costcenter_model->getuserinfo($CostCenterID);
|
|
//$data['users'] = $this->purchaseorder_model->getusers();
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : Edit Cost';
|
|
|
|
$this->loadViews("editOldcost", $this->global, $data,NULL);
|
|
|
|
}
|
|
|
|
function ech()
|
|
{
|
|
|
|
echo $this->input->post('CostCentreID');
|
|
echo $this->input->post('CostName');
|
|
echo $this->input->post('Description');
|
|
|
|
}
|
|
|
|
/**
|
|
* This function is used to edit the user information
|
|
*/
|
|
function editcost()
|
|
{
|
|
|
|
$this->load->library('form_validation');
|
|
|
|
$CostCenterID = $this->input->post('CostCentreID');
|
|
|
|
$this->form_validation->set_rules('CostName','Cost Name','trim|required|');
|
|
$this->form_validation->set_rules('Description','Description','trim|required|');
|
|
|
|
|
|
if($this->form_validation->run() == FALSE)
|
|
{
|
|
$this->editcost($CostCenterID);
|
|
}
|
|
else
|
|
{
|
|
$CostCenterID = $this->input->post('CostCentreID');
|
|
$CostName = ucwords(strtolower($this->input->post('CostName')));
|
|
$Description = $this->input->post('Description');
|
|
|
|
|
|
|
|
//$this->costcenter_model->editcost($Cost);
|
|
|
|
$cost = array();
|
|
|
|
|
|
|
|
$Cost = array('CostCentreID'=>$CostCenterID,'CostName'=>$CostName, 'Description'=>$Description,'createdDate'=>date('Y-m-d H:i:sa'));
|
|
|
|
|
|
|
|
|
|
$result = $this->costcenter_model->editcost($Cost, $CostCenterID);
|
|
|
|
if($result == true)
|
|
{
|
|
$this->session->set_flashdata('success', 'Cost updated successfully');
|
|
}
|
|
else
|
|
{
|
|
$this->session->set_flashdata('error', 'Cost updation failed');
|
|
}
|
|
|
|
redirect('costListing');
|
|
}
|
|
|
|
}
|
|
function viewcost($CostCenterID = NULL)
|
|
{
|
|
|
|
if($CostCenterID == null)
|
|
{
|
|
redirect('costListing');
|
|
}
|
|
|
|
$data['Cost'] = $this->costcenter_model->getuserinfo($CostCenterID);
|
|
//$data['users'] = $this->purchaseorder_model->getusers();
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : View Cost';
|
|
|
|
$this->loadViews("viewcost", $this->global, $data,NULL);
|
|
|
|
}
|
|
|
|
/**
|
|
* This function is used to delete the user using userId
|
|
* @return boolean $result : TRUE / FALSE
|
|
*/
|
|
function deletecost()
|
|
{
|
|
if($this->isAdmin() == TRUE)
|
|
{
|
|
echo(json_encode(array('status'=>'access')));
|
|
}
|
|
else
|
|
{
|
|
$CostCenterID = $this->input->Costst('CostCentreID');
|
|
$cost = array('CreateDate'=>date('Y-m-d H:i:sa'));
|
|
|
|
$result = $this->costcenter_model->deletecost($Cost, $CostCenterID);
|
|
|
|
if ($result > 0) { echo(json_encode(array('status'=>TRUE))); }
|
|
else { echo(json_encode(array('status'=>FALSE))); }
|
|
}
|
|
}
|
|
|
|
|
|
function pageNotFound()
|
|
{
|
|
$this->global['pageTitle'] = 'CodeInsect : 404 - Page Not Found';
|
|
|
|
$this->loadViews("404", $this->global, NULL, NULL);
|
|
}
|
|
}
|
|
|
|
?>
|