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


Current Path : /var/www/oasis/Report_details/
Upload File :
Current File : /var/www/oasis/Report_details/report_attendance_summary.php

<?php
function GenerateAttendanceSummaryReport($aobj_context)
{	
	session_start();
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);  
    $college_code = $_SESSION['collcode']; 
	$univcode = $_SESSION['FUNIVCODE'];
	if($univcode=='020'){
		if($_SESSION['usrtype'] == '17'){
			echo "please contact admin";
			return;
		}
	}
	$degree_code = $aobj_context->mobj_data["degree_code"]; 
	$from_month_name = $aobj_context->mobj_data["from_month_name"]; 
	$to_month_name = $aobj_context->mobj_data["to_month_name"]; 
	$exam_code = $aobj_context->mobj_data["exam_code"]; 
	$sublist_start = substr("0000".$aobj_context->mobj_data["subwise_start"],-5); 
	$sublist_end = substr("0000".$aobj_context->mobj_data["subwise_end"],-5); 
	$main_src_obj=(explode("/",$_SERVER["REQUEST_URI"]));
	$main_src=$main_src_obj[1];
	$pdf_writer_class=$aobj_context->main_src."/maya-pdf/fpdf.php";	
	$root_pdf_file_download=$aobj_context->main_src."/Report_details/output/report_general_list.pdf";
	$getnumword=$aobj_context->main_src."/src/getnumword.php";
	include($getnumword);
	$month_arr=array();
	$month_arr["JAN"]=array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
	$month_arr["FEB"]=array("FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN");
	$month_arr["MAR"]=array("MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN","FEB");
	$month_arr["APR"]=array("APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN","FEB","MAR");
	$month_arr["MAY"]=array("MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN","FEB","MAR","APR");
	$month_arr["JUN"]=array("JUN","JUL","AUG","SEP","OCT","NOV","DEC","JAN","FEB","MAR","APR","MAY");
	$month_arr["JUL"]=array("JUL","AUG","SEP","OCT","NOV","DEC","JAN","FEB","MAR","APR","MAY","JUN");
	$month_arr["AUG"]=array("AUG","SEP","OCT","NOV","DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL");
	$month_arr["SEP"]=array("SEP","OCT","NOV","DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG");
	$month_arr["OCT"]=array("OCT","NOV","DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP");
	$month_arr["NOV"]=array("NOV","DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT");
	$month_arr["DEC"]=array("DEC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV");
	$month_arr["OVERALL_SEM"]=array("OVERALL_SEM","OVERALL_SEM","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
	// $month_arr["FOVERALL_SEMA"]=array("FOVERALL_SEMA","FOVERALL_SEMC","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
	$arr_last_cnt=array_search($to_month_name,$month_arr[$from_month_name])+1;
	$loop_arr_arr=array_chunk($month_arr[$from_month_name],$arr_last_cnt);

	$loop_arr=$loop_arr_arr[0];


	// global varibales
	$p_count =1;
	// end global varibales	
	//echo getnumber_to_word("001"); die();
	include($pdf_writer_class);		
	$pdf= new FPDF();
	$pdf->SetFont('Times','',10);
	$pdf->SetMargins(15,8);			
	$pdf->AliasNbPages();	
	// query for the page header	
	$page_header_university = "select FUNIVNAME,FTOWN,FUNIVADD1, date_format(now(),'%d/%m/%Y') as date from control";
	$lobj_page_header_university = $aobj_context->mobj_db->GetRow($page_header_university);
	
	$page_header_college ="select concat(FCOLLCODE,' - ',FCOLLNAME,', ',FTOWN) as college_name
						from college where FCOLLCODE='{$college_code}'";
	$lobj_page_header_college = $aobj_context->mobj_db->GetRow($page_header_college); 

	$page_header_degree = "select concat(FDEGREE,' - ', FDESCPN) as degree_name, concat(FEXAMNO,' - ',FEXAMNAME) as exam_name,
						concat('(  Attendance Summary Report ',FEXAMDATE,')') as Exam ,FADYEAR from degree 
						where FDEGREE = '{$degree_code}' and FEXAMNO='{$exam_code}' ";
	$lobj_page_header_degree = $aobj_context->mobj_db->GetRow($page_header_degree);
	
	$page_header_REGROLL = "select FREGROLL from control";
	$lobj_page_header_REGROLL = $aobj_context->mobj_db->GetRow($page_header_REGROLL);
	$pdf->aobj_context =$aobj_context ;
	$pdf->WhichReport = 'Attendance Summary Report';
	$pdf->FUNIVNAME = $lobj_page_header_university['FUNIVNAME'];
	$pdf->FTOWN = $lobj_page_header_university['FTOWN'];
	$pdf->FUNIVADD1 = $lobj_page_header_university['FUNIVADD1'];
	$pdf->date_1 = $lobj_page_header_university['date'];
	$pdf->college_name = $lobj_page_header_college['college_name'];
	$pdf->degree_name = $lobj_page_header_degree['degree_name'];
	$pdf->exam_name = $lobj_page_header_degree['exam_name'];

	$canddettmp = "canddet";
	$candsumttmp = "candsum"; 
	$degreetmp = "degree";
	$subjecttmp = "subject";
 
	if($univcode == 'P005' || $univcode == 'P023' || $univcode == '096' || $univcode == '097')
	{
		$get_subject_data = "SELECT m.FREGNO, SUBSTRING(stu.FNAME,1,36) AS Name1 , 
		CONCAT(s.FSUBCODE,' - ',s.FSUBNAME,',[',FSSUBNAME,']') AS sub_name,
		sum(fnoclass) as FOVERALL_SEMC,
		sum(if(fpresent = 'P',fnoclass,0)) as FOVERALL_SEMA
		from attend_det m inner join student stu on m.fdegree = stu.fdegree and m.FREGNO=stu.FREGNO 
		inner join subject s on m.FSUBCODE=s.FCSUBCODE 
		where lpad(s.FCSUBCODE,5,'0')>='00000' and lpad(s.FCSUBCODE,5,'0')<='ZZZZZ' 
		and m.FDEGREE='{$degree_code}' and m.FEXAMNO='{$exam_code}' 
		and m.FCOLLCODE='{$college_code}' and s.FEXAMNO=m.FEXAMNO 
		and m.FDEGREE=s.FDEGREE 
		group by FCSUBCODE,m.FREGNO order by FCSUBCODE,m.FREGNO";

	}else
	{
		$get_subject_data = " SELECT m.FREGNO, SUBSTRING(stu.FNAME,1,36) AS Name1,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FJANC,'0'),concat(IFNULL(FJANC,'0'),'*')) as FJANC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FFEBC,'0'),concat(IFNULL(FFEBC,'0'),'*')) as FFEBC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FMARC,'0'),concat(IFNULL(FMARC,'0'),'*')) as FMARC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FAPRC,'0'),concat(IFNULL(FAPRC,'0'),'*')) as FAPRC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FMAYC,'0'),concat(IFNULL(FMAYC,'0'),'*')) as FMAYC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FJUNC,'0'),concat(IFNULL(FJUNC,'0'),'*')) as FJUNC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FJULC,'0'),concat(IFNULL(FJULC,'0'),'*')) as FJULC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FAUGC,'0'),concat(IFNULL(FAUGC,'0'),'*')) as FAUGC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FSEPC,'0'),concat(IFNULL(FSEPC,'0'),'*')) as FSEPC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FOCTC,'0'),concat(IFNULL(FOCTC,'0'),'*')) as FOCTC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FNOVC,'0'),concat(IFNULL(FNOVC,'0'),'*')) as FNOVC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FDECC,'0'),concat(IFNULL(FDECC,'0'),'*')) as FDECC,
						if(ifnull(ct.FFREEZED,'') = 'T',IFNULL(FOVERALL_SEMC,'0'),concat(IFNULL(FOVERALL_SEMC,'0'),'*')) as FOVERALL_SEMC, 
						IFNULL(FJANA,'0') as FJANA,
						IFNULL(FFEBA,'0') as FFEBA ,
						IFNULL(FMARA,'0') as FMARA,
						IFNULL(FAPRA,'0') as FAPRA,
						IFNULL(FMAYA,'0') as FMAYA,
						IFNULL(FJUNA,'0') as FJUNA,
						IFNULL(FJULA,'0') as FJULA,
						IFNULL(FAUGA,'0') as FAUGA,
						IFNULL(FSEPA,'0') as FSEPA,
						IFNULL(FOCTA,'0') as FOCTA,
						IFNULL(FNOVA,'0') as FNOVA,
						IFNULL(FDECA,'0') as FDECA,
						IFNULL(FOVERALL_SEMA,'0') as FOVERALL_SEMA,
						CONCAT(s.FSUBCODE,' - ',s.FSUBNAME,',[',FSSUBNAME,']') AS sub_name 
						from attend m 
						left join collatt ct on m.fdegree = ct.fdegree and ct.fcollcode = m.fcollcode and m.fsubcode = ct.fsubcode
						inner join student stu on m.fdegree = stu.fdegree and m.FREGNO=stu.FREGNO
						inner join {$subjecttmp} s on m.FSUBCODE=s.FCSUBCODE
						where  lpad(s.FCSUBCODE,5,'0')>='{$sublist_start}' and lpad(s.FCSUBCODE,5,'0')<='{$sublist_end}'
						and m.FDEGREE='{$degree_code}'
						and m.FEXAMNO='{$exam_code}'							 
						and m.FCOLLCODE='{$college_code}' and s.FEXAMNO=m.FEXAMNO and m.FDEGREE=s.FDEGREE
						group by FCSUBCODE,m.FREGNO order by FCSUBCODE,m.FREGNO"; 
	}
   		  
	$lobj_get_subject_data = $aobj_context->mobj_db->GetAll($get_subject_data);		

	$pdf->subject_name= $lobj_get_subject_data[0]['sub_name'];
	if($univcode=='045'){
		$pdf->AddPage("P");
	}
	elseif($univcode=='051'){
		$pdf->AddPage("P");
	}
	else{
		$pdf->AddPage("L");
	}
	// $pdf->AddPage("L");

	$pdf->SetFont('Times','',9);	
	$prev_sub_name= $lobj_get_subject_data[0]['sub_name'];
	writeHeaders($pdf,$loop_arr);
	writeFooter($pdf);
	$adm_ln_counter=0;
	$slno = 1;
$z=0;
	
	foreach($lobj_get_subject_data as $key => $value)
	{	  		
		 $FREGNO   =	$value['FREGNO'];
		 $Name1    =	$value['Name1'];
		 $sub_name =	$value['sub_name'];
		//  var_dump($sub_name);
	
		if($prev_sub_name!=$sub_name)
		{
			$pdf->subject_name= $sub_name;
			if($univcode=='045'){
				$pdf->AddPage("P");
			}
			elseif($univcode=='051'){
				$pdf->AddPage("P");
			}
			else{
				$pdf->AddPage("L");

			}
			// $pdf->AddPage("L");
			$slno = 1;
			$prev_sub_name=$sub_name;
			writeHeaders($pdf,$loop_arr);
			writeFooter($pdf);
			$z=0;
		}

		
			if($univcode=='045'){
				$c=33;
			}
			elseif($univcode=='051'){
				$c=30;
			}
			else{
				$c=18;
			}
		
	
	if($z===$c){
		// $pdf->AddPage("L");
		if($univcode=='045'){
			$pdf->AddPage("P");
		}
		elseif($univcode=='051'){
			$pdf->AddPage("P");
		}
		else{
			$pdf->AddPage("L");
		}
		writeHeaders($pdf,$loop_arr);
		writeFooter($pdf);
		$z=0;
	}
		$get_x1=$pdf->GetX();
		$get_y1=$pdf->GetY();
		$pdf->SetXY($get_x1+35+10,$get_y1);	
		$pdf->MultiCell(75,6, $Name1,'1','L');
		$get_y2=$pdf->GetY();
		$height=$get_y2-$get_y1;	
		$pdf->SetXY($get_x1,$get_y1);
	
		
		$pdf->Cell(10,$height, $slno,'1',0,'C');
		$get_x1=$pdf->GetX();
		$pdf->SetXY($get_x1,$get_y1);	
		$pdf->Cell(35,$height, $FREGNO,'1',0,'C');
		$pdf->SetXY($get_x1+75+35,$get_y1);	
		$total_cond=0;
		$total_att=0;
		foreach($loop_arr as $lk)
		{
			$cond="F{$lk}C";
			$att="F{$lk}A";
			$cond_v=$value[$cond];			
			$att_v=$value[$att];
			$total_cond+=$cond_v;
			$total_att+=$att_v;
			$cell_val="{$att_v}/{$cond_v}";
			if($cell_val=="/")
			$cell_val="-";
			$pdf->Cell(25,$height,"{$cell_val}",'1',0,'C');	
		}
		$perc=round($total_att/$total_cond*100,0);
		$pdf->Cell(20,$height,"{$total_att}/{$total_cond}",'1',0,'C');	
		$pdf->Cell(20,$height,"{$perc}%",'1',1,'C');	
	
		$get_y1=$pdf->GetY();
		++$slno;
		$z++;
		if($get_y1>=250)
		{
			$pdf->Ln(2);
			$pdf->Cell(0,4,"Note : * Indicates Freezing Pending, A : No. of Class Attended, C :No. of Class Conducted ",'0',1,'L');
			$pdf->Cell(0,4,"    ",'0',1,'L');
			$pdf->AddPage();	
			writeHeaders($pdf,$loop_arr);
			writeFooter($pdf);
			
		}
		$adm_ln_counter++;
	}
	 
	$pdf->Output("attendance_summary_report.pdf","I");
}

function writeHeaders($pdf,$loop_arr)
{		
	$univcode = $_SESSION['FUNIVCODE'];

	$pdf->Cell(10,5,"Sl.",'LRT',0,'C');
	if($univcode == '051')
		$pdf->Cell(35,5,"USN",'LRT',0,'C');	
	elseif($univcode == '052')
		$pdf->Cell(35,5,"USN",'LRT',0,'C');	
	else
		$pdf->Cell(35,5,"Reg. No.",'LRT',0,'C');	
	$pdf->Cell(75,5,"Student Name",'LRT',0,'C');
		
	foreach($loop_arr as $lk)
	{
		$pdf->Cell(25,5,$lk,'LRT',0,'C');			
	}

	$pdf->Cell(20,5,"Total",'LRT',0,'C');	
	$pdf->Cell(20,5,"Percentage",'LRT',1,'C');

	$pdf->Cell(10,5,"No.",'LRB',0,'C');
	$pdf->Cell(35,5,"",'LRB',0,'C');	
	$pdf->Cell(75,5,"",'LRB',0,'C');
	foreach($loop_arr as $lk)
	{
		$pdf->Cell(25,5,"A / C",'LRB',0,'C');
	}
	$pdf->Cell(20,5,"",'LRB',0,'C');	
	$pdf->Cell(20,5,"",'LRB',1,'C');
}

function writeFooter($pdf)
{		
	$get_x1=$pdf->GetX();
	$get_y1=$pdf->GetY();
	$pdf->SetY(-30);
	
	//$pdf->Cell(0,4,"Note : Attended / Conducted",'0',1,'L');
	$new_y=$pdf->GetY();
	// $pdf->Line(10,$new_y, 200,$new_y);
	// $pdf->Line(10,$new_y+.5, 200,$new_y+.5);
	$pdf->Ln();

	if($_SESSION['FUNIVCODE']!='045'){
		$pdf->Cell(0,6,"Principal's Signature",'0',0,'R');
	}
	
	// $pdf->Cell(0,6,"Principal's Signature",'0',0,'R');	
	$pdf->SetXY($get_x1,$get_y1);	
}
?>