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


Current Path : /var/www/html/rcub/Report_details/
Upload File :
Current File : /var/www/html/rcub/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'];
    $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(12, 12);
    $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(FEXAMNAME,' ', FDESCPN) as Degree_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 = $lobj_page_header_degree['Exam'];

    $get_subject_data = " SELECT m.FREGNO, SUBSTRING(stu.FNAME,1,36) AS Name1,
							IFNULL(FJANC,'0') as FJANC,IFNULL(FFEBC,'0') as FFEBC ,IFNULL(FMARC,'0') as FMARC,IFNULL(FAPRC,'0') as FAPRC,IFNULL(FMAYC,'0') as FMAYC,IFNULL(FJUNC,'0') as FJUNC,IFNULL(FJULC,'0') as FJULC,IFNULL(FAUGC,'0') as FAUGC,IFNULL(FSEPC,'0') as FSEPC,IFNULL(FOCTC,'0') as FOCTC,IFNULL(FNOVC,'0') as FNOVC,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.FSUBNAME,',[',FSSUBNAME,']') AS sub_name 
							from attend 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')>='{$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);
    //echo "<pre>".$get_subject_data;die();
    $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;
    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();
            $prev_sub_name = $sub_name;
            writeHeaders($pdf, $loop_arr);
            writeFooter($pdf);
        }
        $get_x1 = $pdf->GetX();
        $get_y1 = $pdf->GetY();
        $pdf->SetXY($get_x1 + 20, $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(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();
        // if($adm_ln_counter > 36)
        if ($get_y1 >= 250) {
            //echo $get_y1;die();
            $pdf->AddPage();
            writeHeaders($pdf, $loop_arr);
            writeFooter($pdf);
            $adm_ln_counter = 0;
        }
        $adm_ln_counter++;
    }

    $pdf->Output("attendance_summary_report.pdf", "D");
}
function writeHeaders($pdf, $loop_arr)
{
    $new_y = $pdf->GetY();
    $pdf->SetDash(1, .3);
    $pdf->Line(10, $new_y, 200, $new_y);
    $pdf->Line(10, $new_y + .5, 200, $new_y + .5);
    $pdf->Cell(20, 6, "Reg No", '0', 0, 'C');
    $pdf->Cell(45, 6, "Name", '0', 0, 'C');
    foreach ($loop_arr as $lk) {
        $pdf->Cell(13, 6, $lk, '0', 0, 'C');
    }
    $pdf->Cell(17, 6, "Total", '0', 0, 'C');
    $pdf->Cell(13, 6, "Perc", '0', 1, 'C');
    $new_y = $pdf->GetY();
    $pdf->SetDash(1, .3);
    $pdf->Line(10, $new_y, 200, $new_y);
    $pdf->Line(10, $new_y + .5, 200, $new_y + .5);
}
function writeFooter($pdf)
{
    $get_x1 = $pdf->GetX();
    $get_y1 = $pdf->GetY();
    $pdf->SetY(-30);
    $new_y = $pdf->GetY();
    $pdf->SetDash(1, .3);
    $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);
}