0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 3.145.61.142


Current Path : /proc/thread-self/root/var/www/oasis/src/
Upload File :
Current File : //proc/thread-self/root/var/www/oasis/src/mrn_approval.php

<?php
  /*
            Author :  M.Srikanth
	 Date : 2009-10-25
	 Module : Mrn Approval

    */  
  
  
  class mrnapproval
	{
    
       //Start :  Constructor
	           function __construct($aobj_context)
	              {
		              session_start();
		              $this->aobj_context=$aobj_context;
		              $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
					  require_once($aobj_context->main_src."\custom_src\inventory_master.php");
		              $this->obj_master=new inventoryMaster($aobj_context);
		              $this->obj_master->getMaterialReturnDetails();
		              $this->user_id = $_SESSION['user_id'];
					  $this->login_ctr = 	$aobj_context->mobj_data["login_ctr"];
		              					  
		           }
		//End : Constructor 
			         
       function getMrnApprovalDetails() 
	    {
		   
		   $delete_qc_approval = "delete from mrn_approval_status where login_cnt = {$this->login_ctr} ";
			
		   $lobj_delete_qc_approval =  $this->aobj_context->mobj_db->Execute($delete_qc_approval); 
		   
		   
		   $insert_qry="insert into mrn_approval_status
		                      (select 0,{$this->login_ctr},
							           mr.mr_deviation_ref_no,
								       mr.mr_date,
								       mr.internal_code,
								       mr.mr_mrn_no,
								       mr.mr_work_order,
								       mri.internal_code,
								       mri.mr_items,
									   mri.mr_stage,
								       mri.mr_quantity,
								       mri.mr_notes,
									   mr.ref_mr_work_order_code,
									   mri.ref_mr_items_code,
									   mri.ref_mr_stage_code,
								       mri.it_qa_approved_by,
								       mri.it_qa_approved_date,
								       mri.qa_approved_notes,
								       mri.mr_status
									from material_return mr
									inner join material_return_items mri on mri.ref_s_ref_data_code = mr.internal_code
                                      where mri.mr_status is null or mri.mr_status = 'New' or mri.mr_status = '' or mri.mr_status = '0'			
						       )";
							   
		          					
		  $lobj_insert_qry =  $this->aobj_context->mobj_db->Execute($insert_qry); 

				  
				
		  $get_material_approval_qry = "select internal_code as id ,
		                                  deviation,
										  date,mrn_no as mrn_no,bmr_no,item,stage,quantity,item_notes,ref_mrn_code,ref_mrn_item_code,ref_bmr_code,
										   ref_item_code,ref_stage_code,approved_by,approved_date,notes as approved_notes,status
                                       from mrn_approval_status 
								       where login_cnt = {$this->login_ctr}";
		  return $get_material_approval_qry;					
                             
        }
		
	 function saveMRNApproval()
      {
        		
		 $update_approval = "update {$this->obj_master->material_return_item_group_table} a , {$this->table_id} b 
						       set {$this->obj_master->material_return_it_qa_approved_by} = b.approved_by,
                                   {$this->obj_master->material_return_it_qa_approved_date} = b.approved_date , 
                                   {$this->obj_master->material_return_qa_approved_notes} = b.approved_notes , 
                                   {$this->obj_master->material_return_mr_status} = b.status 
                              where a.internal_code = b.ref_mrn_item_code and a.ref_s_ref_data_code = b.ref_mrn_code 
								   and (b.status = 'Approved' or b.status = 'Rejected')
		                     ;";
			  	 
		 $lobj_update_approval = $this->aobj_context->mobj_db->Execute($update_approval); 
		 	  	
		
		 /* $select_ex_approved = "select ref_bmr_code,ref_item_code,ref_stage_code,quantity 
		                       from {$this->table_id} where status = 'Approved' ";
		
		$lobj_select_ex_approved = $this->aobj_context->mobj_db->GetAll($select_ex_approved); 
		
		for($up = 0 ; $up < count($lobj_select_ex_approved); $up++)
		 {
		      $ref_bmr_code = $lobj_select_ex_approved[$up]['ref_bmr_code'];
		      $ref_item_code = $lobj_select_ex_approved[$up]['ref_item_code'];
		      $ref_stage_code = $lobj_select_ex_approved[$up]['ref_stage_code'];
		      $quantity = $lobj_select_ex_approved[$up]['quantity'];
			  
			  $update_bmr_req = "update bmr_requirement
			                      set excess_qty = ifnull(excess_qty,0)+{$quantity}
								  where ref_bmr_code = {$ref_bmr_code} and stage = {$ref_stage_code} and item = {$ref_item_code} ";
			 		  
			  $lobj_update_bmr_req = $this->aobj_context->mobj_db->Execute($update_bmr_req); 
		 	 
		 }  */
		 						
		if($lobj_update_approval)
				{
					$data="Successfully Approved";
					echo  $this->aobj_context->mobj_output->ToJSONEnvelope($data,0,"success");
				}
				else
				{
					$data="Updation Failed  ->".mysql_error();
					echo $this->aobj_context->mobj_output->ToJSONEnvelope($data,0,"success");
				}  

      }	

   	function cancelMRNApproval()
     {
        $drop_tem_table = "drop table {$this->table_id}";  
		 
		$lobj_drop_tem_table = $this->aobj_context->mobj_db->execute($drop_tem_table);  
     }

   function getMRNFilterData()
    {
   
       if($this->mrn_from == 'undefined' and $this->mrn_to == 'undefined')
			  {
			    $date_filter = "";
			  }
			else
			 {
			    $date_filter = "and (mr.mr_date >= '{$this->mrn_from}' and  mr.mr_date <= '{$this->mrn_to}')";		  
			 }
			 
					
			$delete_mrn_entry = "delete from mrn_approval_status where login_cnt = {$this->login_ctr} ";
			
			$lobj_delete_mrn_entry =  $this->aobj_context->mobj_db->Execute($delete_mrn_entry); 
			
			
				if(strtolower($this->fetch_status)=='new')
				{
				   $accp_type_cond=" where (mri.mr_status = ''  or mri.mr_status ='New' or mri.mr_status is null)";
				}
				else
				   $accp_type_cond=" where (mri.mr_status = '{$this->fetch_status}' )";
					
					$insert_qry="insert into mrn_approval_status
		                      (select 0,{$this->login_ctr},
							           mr.mr_deviation_ref_no,
								       mr.mr_date,
								       mr.internal_code,
								       mr.mr_mrn_no,
								       mr.mr_work_order,
								       mri.internal_code,
								       mri.mr_items,
									   mri.mr_stage,
								       mri.mr_quantity,
								       mri.mr_notes,
									   mr.ref_mr_work_order_code,
									   mri.ref_mr_items_code,
									   mri.ref_mr_stage_code,
								       mri.it_qa_approved_by,
								       mri.it_qa_approved_date,
								       mri.qa_approved_notes,
								       mri.mr_status
									from material_return mr
									inner join material_return_items mri on mri.ref_s_ref_data_code = mr.internal_code
                                                                     				       				 
                                {$accp_type_cond} {$date_filter}								
						       )";
							   
		          					
		    // echo $insert_qry;
		   //  die();
		  
		  $lobj_insert_qry =  $this->aobj_context->mobj_db->Execute($insert_qry); 				   
						
          $truncate_mrn_app = "truncate {$this->table_id} ";
			
		  $lobj_truncate_mrn_app =  $this->aobj_context->mobj_db->Execute($truncate_mrn_app); 


			$select_mrn_query = "insert into {$this->table_id}
			                               (select internal_code as id ,
				                                  deviation,
												  date,mrn_no as mrn_no,bmr_no,item,stage,quantity,item_notes,ref_mrn_code,ref_mrn_item_code,ref_bmr_code,
												   ref_item_code,ref_stage_code,approved_by,approved_date,notes as approved_notes,status
		                                          from mrn_approval_status 
												  where login_cnt = {$this->login_ctr}
										    )
									      ";
			 
			$lobj_select_mrn_query =  $this->aobj_context->mobj_db->Execute($select_mrn_query);  	 
	  }
		
 }
	
function saveMRNApproval($aobj_context)
 {
    $class_obj=new mrnapproval($aobj_context);
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$class_obj->schema_id=$aobj_context->mobj_data["schema_id"];
	$class_obj->table_id=$aobj_context->mobj_data["table_id"];
	$lobj_insert_qry = $class_obj->saveMRNApproval();
	//echo $aobj_context->mobj_output->ToJSONEnvelope($lobj_insert_qry,0,"success"); 

 }
 
 function cancelMRNApproval($aobj_context)
 {
    $class_obj=new mrnapproval($aobj_context);
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$class_obj->schema_id=$aobj_context->mobj_data["schema_id"];
	$class_obj->table_id=$aobj_context->mobj_data["table_id"];
	$lobj_insert_qry = $class_obj->cancelMRNApproval();
	//echo $aobj_context->mobj_output->ToJSONEnvelope($lobj_insert_qry,0,"success"); 

 } 
 
 
 function getMRNFilterData($aobj_context)
  {
    $class_obj=new mrnapproval($aobj_context);
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$class_obj->module_id=$aobj_context->mobj_data["module_id"];
	$class_obj->log_ctr=$aobj_context->mobj_data["login_ctr"];
	$class_obj->fetch_status=$aobj_context->mobj_data["fetch_status"];
	$class_obj->mrn_from=$aobj_context->mobj_data["mrn_from"];
	$class_obj->mrn_to=$aobj_context->mobj_data["mrn_to"];
	$class_obj->table_id=$aobj_context->mobj_data["table_id"];
	$lobj_insert_qry = $class_obj->getMRNFilterData();
	echo $aobj_context->mobj_output->ToJSONEnvelope($lobj_insert_qry,0,"success");  
   
  
  }	
	
	
	
	
    
?>