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 : 18.218.219.11
Current Path : /var/www/html/guk_old/ |
| Current File : /var/www/html/guk_old/report_attendance_summary.php |
<?php
function GenerateAttendanceSummaryReport($aobj_context)
{
session_start();
$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
$college_code = $_SESSION['collcode'];
$userid = $_SESSION['user_id'];
$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");
$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'];
if(strtoupper($_SESSION['usr']) =='ADMIN' || strtoupper($_SESSION['usr']) =='SUPER')
{
$ltable = '';
}
else
{
$ltable = "inner join usersub us on m.fdegree = us.fdegree and instr(left(us.fsubcode,500),left(m.fsubcode,4)) > 0 and m.fcollcode = us.fcollegecode and us.fuser = '{$userid}'";
}
$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,
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,
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 subject s on m.FSUBCODE=s.FCSUBCODE
{$ltable}
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);
//var_dump($get_subject_data);
$pdf->subject_name= $lobj_get_subject_data[0]['sub_name'];
$pdf->AddPage();
$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;
foreach($lobj_get_subject_data as $key => $value)
{
$FREGNO = $value['FREGNO'];
$Name1 = $value['Name1'];
$sub_name = $value['sub_name'];
if($prev_sub_name!=$sub_name)
{
$pdf->subject_name= $sub_name;
$pdf->AddPage();
$slno = 1;
$prev_sub_name=$sub_name;
writeHeaders($pdf,$loop_arr);
writeFooter($pdf);
}
$get_x1=$pdf->GetX();
$get_y1=$pdf->GetY();
$pdf->SetXY($get_x1+20+10,$get_y1);
$pdf->MultiCell(45,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(20,$height, $FREGNO,'1',0,'C');
$pdf->SetXY($get_x1+45+20,$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(13,$height,"{$cell_val}",'1',0,'C');
}
$perc=round($total_att/$total_cond*100,0);
$pdf->Cell(17,$height,"{$total_att}/{$total_cond}",'1',0,'C');
$pdf->Cell(13,$height,"{$perc}%",'1',1,'C');
$get_y1=$pdf->GetY();
++$slno;
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","D");
}
function writeHeaders($pdf,$loop_arr)
{
$pdf->Cell(10,3,"Sl. No.",'LRT',0,'C');
$pdf->Cell(20,3,"Reg. No.",'LRT',0,'C');
$pdf->Cell(45,3,"Name",'LRT',0,'C');
foreach($loop_arr as $lk)
{
$pdf->Cell(13,3,$lk,'LRT',0,'C');
}
$pdf->Cell(17,3,"Total",'LRT',0,'C');
$pdf->Cell(13,3,"Perc",'LRT',1,'C');
$pdf->Cell(10,3,"",'LRB',0,'C');
$pdf->Cell(20,3,"",'LRB',0,'C');
$pdf->Cell(45,3,"",'LRB',0,'C');
foreach($loop_arr as $lk)
{
$pdf->Cell(13,3,"A / C",'LRB',0,'C');
}
$pdf->Cell(17,3,"",'LRB',0,'C');
$pdf->Cell(13,3,"",'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();
$pdf->Cell(0,6,"Principal's Signature",'0',0,'R');
$pdf->SetXY($get_x1,$get_y1);
}
?>
|