392 lines
13 KiB
PHP
Executable File
392 lines
13 KiB
PHP
Executable File
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
require APPPATH . '/libraries/BaseController.php';
|
|
|
|
/**
|
|
* Class : Inward Gate Register Controller (security)
|
|
* User Class to control all user related operations.
|
|
* @author : Saravana kumar
|
|
* @version : 1.1
|
|
* @since : 10 Jun 2017
|
|
*/
|
|
class MRIRcontroller extends BaseController
|
|
{
|
|
/**
|
|
* This is default constructor of the class
|
|
*/
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('purchaseorder_model');
|
|
$this->load->model('mrir_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 : View material inspection report';
|
|
|
|
$this->loadViews("viewmaterialinspectionreport", $this->global,NULL , NULL);
|
|
}
|
|
/* For Entry MRIR Screen*/
|
|
function materialinspectionreport($mrir='',$IGRNO='')
|
|
{
|
|
$this->global['pageTitle'] = 'Siddharth : Material Inspection Report';
|
|
|
|
$this->load->model('mrir_model');
|
|
|
|
$data['IGRNOonly'] = $this->mrir_model->getIGRNOonly();
|
|
|
|
$this->loadViews("materialinspectionreport", $this->global,$data,NULL);
|
|
|
|
}
|
|
public function MrirDetailsPrintPdf()
|
|
{
|
|
$MrirNo = $_GET['MRIRNO'];
|
|
// echo $MrirNo;
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : MRIR Pdf ';
|
|
$data['CompanyDetails'] = $this->purchaseorder_model->getCompanyInformation();
|
|
//print_r($data['CompanyDetails']);
|
|
$data['MRIRDetails'] = $this->mrir_model->edit_mrir($MrirNo);
|
|
|
|
//$data['MRIRDetails'] = $this->mrir_model->edit_mrir($MrirNo);
|
|
//print_r($data['MRIRDetails']);
|
|
$this->load->View("Mrirprintpdf",$data, NULL);
|
|
|
|
|
|
|
|
// Get output html
|
|
$php = $this->output->get_output();
|
|
|
|
// Load library
|
|
$this->load->library('dompdf_gen');
|
|
|
|
// Convert to PDF
|
|
$this->dompdf->load_html($php);
|
|
$this->dompdf->render();
|
|
$data['Attachment'] = FALSE;
|
|
$this->dompdf->stream("MrirDetails.pdf",$data,$php);
|
|
|
|
}
|
|
|
|
public function viewmrirforbilling()
|
|
{
|
|
$this->global['pageTitle'] = 'Siddharth : Billing ';
|
|
$data['Billing'] = $this->mrir_model->view_mrir_Billing();
|
|
|
|
|
|
$this->loadViews("viewmrirforbilling", $this->global,$data , NULL);
|
|
}
|
|
public function viewmMaterialDistributionList()
|
|
{
|
|
$this->global['pageTitle'] = 'Siddharth : Distribution list ';
|
|
|
|
$data['Distribution'] = $this->mrir_model->ViewDistributionList();
|
|
$data['status'] = $this->mrir_model->getStatus();
|
|
|
|
$this->loadViews("MaterialIssueList", $this->global,$data , NULL);
|
|
}
|
|
|
|
|
|
/*FOR Displaying IGR Values (view folder- IGR view page (button link)) */
|
|
function igrdatavalues()
|
|
{
|
|
|
|
$IgrNo= $_GET['IGRNO'];
|
|
|
|
$data['IGRDetails'] = $this->mrir_model->get_IGR($IgrNo);
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : IGR Details ';
|
|
|
|
$this->loadViews("materialinspectionreport", $this->global, $data,NULL);
|
|
|
|
}
|
|
function viewinwardgateregister()
|
|
{
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : View Inward Gate Register';
|
|
|
|
$data['IGR']= $this->mrir_model->ViewigrListing();
|
|
|
|
$this->loadViews("viewinwardgateregister",$this->global,$data,NULL);
|
|
}
|
|
|
|
/* For View MRIR Screen (view folder - view page)*/
|
|
function viewmaterialinspectionreport()
|
|
|
|
{
|
|
|
|
$this->load->model('mrir_model');
|
|
|
|
$data['viewmrirdatas'] = $this->mrir_model-> view_mrir();
|
|
//old name:mrirdatas2
|
|
$this->global['pageTitle'] = 'Siddharth : View Material Inspection Report';
|
|
//print_r( $data);
|
|
$this->loadViews("viewmaterialinspectionreport", $this->global,$data,NULL);
|
|
|
|
}
|
|
|
|
/* FOR Edit MRIR Screen (View folder - edit page)*/
|
|
function editmaterialinspectionreport()
|
|
{
|
|
|
|
$this->load->model('mrir_model');
|
|
|
|
$MrirNo = $_GET['MRIRNO'];
|
|
|
|
$data['MRIRDetails'] = $this->mrir_model->edit_mrir($MrirNo);//get_MRIR_Values($MrirNo);
|
|
//print_r($data['MRIRDetails']);
|
|
|
|
$this->global['pageTitle'] = 'Siddharth : Edit Material Inspection Report';
|
|
|
|
$this->loadViews("Editmaterialinspectionreport", $this->global,$data,NULL);
|
|
|
|
}
|
|
|
|
|
|
/* NEW Values TO Stored in DB (for insert operation) */
|
|
function stored_db()//old name : displaying_values()
|
|
{
|
|
$this->load->model('mrir_model');
|
|
|
|
$RowCount = $this->input->post('RowCount');
|
|
$igrno = $this->input->post('IGRNO');
|
|
$PONO = $this->input->post('PONO');
|
|
|
|
$CreatedBy = $this->session->userdata('userId');
|
|
$dt = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
|
|
$createddt = $dt->format('Y-m-d H:i:s');
|
|
$Remark = $this->input->post('Remark');
|
|
|
|
|
|
//this array to store the value in master table..
|
|
$mrirmastervalues = array('MRIRStatus'=>MRIR_CREATED,'IGRNO'=>$igrno,'PONO'=>$PONO,'CreatedBy'=>$CreatedBy,'Createdon'=>$createddt);
|
|
|
|
$mrirmaster = $this->mrir_model->master_mrir($mrirmastervalues);
|
|
$IGRDetails = array('IGRStatus'=>MRIR_CREATED,'UpdateBY'=>$CreatedBy,'UpdatedOn'=>$createddt);
|
|
|
|
$this->mrir_model->UpdateIGRStatus($IGRDetails,$igrno);
|
|
|
|
|
|
$MRIRNO = '';
|
|
|
|
|
|
if(count($mrirmaster)>0)
|
|
|
|
{
|
|
foreach ($mrirmaster as $key ) {
|
|
|
|
$MRIRNO=$key->MRIRNo; }
|
|
}
|
|
|
|
|
|
for ($i = 1; $i <= $RowCount; $i++)
|
|
{
|
|
|
|
$MaterialCode = trim($this->input->post('MaterialCode'.$i));
|
|
$ActualQuantityReceived = trim($this->input->post('ActualQuantity'.$i));
|
|
$QuantityAsPerInvoice = trim($this->input->post('ReceivedQuantity'.$i));
|
|
$Remarked = trim($this->input->post('Remark'.$i));
|
|
$StoreIncharge = $this->session->userdata('userId');
|
|
|
|
//this array to store the value in child table..
|
|
$mrirdetailvalues = array('MRIRNO'=>$MRIRNO,'MaterialCode'=>$MaterialCode,'ActualQuantityReceived'=>$ActualQuantityReceived,'StoreInchargeID'=>$StoreIncharge,'Remarks'=>$Remarked);
|
|
|
|
//print_r($mrirdetailvalues);
|
|
//die();
|
|
|
|
$mrirdetails = $this->mrir_model->detail_mrir($mrirdetailvalues);
|
|
|
|
}
|
|
echo "successfully created : ".$MRIRNO;
|
|
|
|
|
|
|
|
}
|
|
|
|
/* Values To Stored in DB (for update operation) */
|
|
function updated_db()
|
|
{
|
|
|
|
$this->load->model('mrir_model');
|
|
|
|
$mrir_no = $this->input->post('MRIRNO');
|
|
$RowCount = $this->input->post('RowCount');
|
|
$Status = $this->input->post('status');
|
|
$UPdateby=$this->session->userdata('userId');
|
|
$date = new DateTime('now',new DateTimeZone('Asia/Kolkata'));
|
|
$UPdateon = $date->format('Y-m-d H:i:s');
|
|
$PONO = $this->input->post('PONO');
|
|
//this array to store the updated value in master table..
|
|
|
|
$strStatus = '';
|
|
|
|
$strStatus = '';
|
|
|
|
$ISRejected = 0;
|
|
for ($i = 1; $i <= $RowCount; $i++)
|
|
{
|
|
$ActualQty=trim($this->input->post('ActualQuantityReceived'.$i));
|
|
$acceptquantity=trim($this->input->post('QuantityAccepted'.$i));
|
|
$rejectquantity=trim($this->input->post('QuantityRejected'.$i));
|
|
$MaterialCode = trim($this->input->post('MaterialCode'.$i));
|
|
$Lineitm = trim($this->input->post('Lineitm'.$i));
|
|
|
|
|
|
if($acceptquantity != 0 )
|
|
{
|
|
|
|
$ISRejected = 1;
|
|
$strStatus = MRIR_APPROVED;
|
|
$avlQty = 0;
|
|
$getAvailableqty = $this->mrir_model->getItemQuantityFromStock(trim($MaterialCode));
|
|
|
|
if(count($getAvailableqty)>0)
|
|
{
|
|
$avlQty = $getAvailableqty[0]['Quantity'];
|
|
}
|
|
|
|
|
|
$updatStock = array('Quantity'=>($acceptquantity+$avlQty),'Status'=>'0','UpdatedOn'=>$UPdateon,'UpdatedBy'=>$UPdateby,'Remarks'=>'Stock added for '. $this->input->post('MRIRNO'));
|
|
|
|
$this->mrir_model->UpdateStock($updatStock,trim($MaterialCode));
|
|
|
|
}
|
|
elseif($rejectquantity !=0 && $acceptquantity == 0)
|
|
{
|
|
$strStatus = MRIR_REJECTED;
|
|
}
|
|
|
|
|
|
|
|
$remark=$this->input->post('Remark'.$i);
|
|
|
|
$updateby=$this->session->userdata('userId');
|
|
$date = new DateTime('now',new DateTimeZone('Asia/Kolkata'));
|
|
$updateon = $date->format('Y-m-d H:i:s');
|
|
|
|
if(strlen($acceptquantity)<=0 && $acceptquantity == 0)
|
|
{
|
|
$rejectquantity = $ActualQty;
|
|
|
|
}
|
|
//this array to store the update value in child table..
|
|
$updatedetailvalues = array('UpdateBy'=>$updateby,'UpdatedOn'=>$updateon,'QuantityAccepted'=>$acceptquantity,'QuantityRejected'=>$rejectquantity,'Remarks'=>$remark,'MRIRStatus'=>$strStatus);
|
|
|
|
|
|
|
|
$updatedetails = $this->mrir_model->update_mrirdetail($updatedetailvalues,$Lineitm);
|
|
|
|
$POLineItem = array('Status'=>$strStatus,'UpdateBY'=>$updateby,'UpdatedOn'=>$updateon );
|
|
|
|
$this->mrir_model->UpdatePOLineItem($POLineItem,$PONO,$MaterialCode);
|
|
|
|
}
|
|
$PoMrirStatus='';
|
|
|
|
if($ISRejected==1){
|
|
$PoMrirStatus = MRIR_APPROVED;
|
|
}
|
|
else{
|
|
$PoMrirStatus = MRIR_REJECTED;
|
|
}
|
|
$updatemastervalues = array('MRIRStatus'=>$PoMrirStatus,'UpdateBY'=>$UPdateby,'UpdatedOn'=>$UPdateon);
|
|
|
|
$updatemaster = $this->mrir_model->update_mrirmaster($updatemastervalues,$mrir_no);
|
|
|
|
$this->mrir_model->UpdatePOMaster($PONO,$PoMrirStatus,$UPdateby);
|
|
|
|
echo "successfully updated :".$mrir_no;
|
|
|
|
|
|
}
|
|
|
|
/*in view screen we display values for modal (viewmaterialinspectionreport.php)*/
|
|
function displaying_MRIRvalues()
|
|
{
|
|
$mrir = $this->input->post("mrirno");
|
|
$result=$this->mrir_model->get_MRIRs($mrir);
|
|
$obj=json_encode($result);
|
|
echo $obj;
|
|
|
|
}
|
|
|
|
|
|
function displaying_IGRvalues()
|
|
{
|
|
|
|
$igr= $this->input->post("igrno");
|
|
$result=$this->mrir_model->get_IGRs($igr);
|
|
$obj = json_encode($result);
|
|
echo $obj;
|
|
}
|
|
|
|
function UpdateReqItemStatus()
|
|
{
|
|
$this->load->model('requistion_model');
|
|
$Values = $this->input->post('id');
|
|
$StatusCode = trim($Values[0]);
|
|
$MaterialCode = trim($Values[1]);
|
|
$ReqNumber = trim($Values[2]);
|
|
$Remarks = trim($Values[3]);
|
|
$ReqQuantity=trim($Values[4]);
|
|
$AceptedQty=trim($Values[5]);
|
|
|
|
$UpdatedBy = $this->session->userdata ( 'userId' );
|
|
$dt = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
|
|
$updatedDt = $dt->format('Y-m-d H:i:s');
|
|
|
|
$getAvailableqty = $this->mrir_model->getItemQuantityFromStock($MaterialCode);
|
|
//print_r($getAvailableqty);
|
|
|
|
$avlQty = 0;
|
|
|
|
if(count($getAvailableqty)>0)
|
|
{
|
|
$avlQty = $getAvailableqty[0]['Quantity'];
|
|
}
|
|
|
|
|
|
$BalanceQty=0;
|
|
if($StatusCode=='ST050')
|
|
{
|
|
$BalanceQty=($avlQty+$AceptedQty)-$ReqQuantity;
|
|
}
|
|
|
|
|
|
|
|
//echo $avlQty;
|
|
//die();
|
|
|
|
$ReqDetails = array('Status'=>$StatusCode,'remarks'=>$Remarks,'UpdatedBy'=>$UpdatedBy,'UpdatedOn'=>$updatedDt,'DeliveredQuantity'=>$ReqQuantity);
|
|
//print_r($ReqDetails);
|
|
//die();
|
|
$this->requistion_model->UpdateRequistionLineItem($ReqDetails,$ReqNumber,$MaterialCode);
|
|
|
|
$Remark=array('Remarks'=>$Remarks);
|
|
$this->requistion_model->UpdateStoreRemark($Remark,$MaterialCode);
|
|
|
|
if($StatusCode=='ST050')
|
|
{
|
|
$BalanceQuantity=array('Quantity'=>$BalanceQty);
|
|
|
|
$this->requistion_model->UpdateAvlQty($BalanceQuantity,$MaterialCode);
|
|
}
|
|
|
|
echo "Successfully Updated the Requistion No: ".$ReqNumber;
|
|
}
|
|
|
|
function pageNotFound()
|
|
{
|
|
$this->global['pageTitle'] = 'Siddharth : 404 - Page Not Found';
|
|
$this->loadViews("404", $this->global, NULL, NULL);
|
|
}
|
|
}
|
|
|
|
?>
|