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 : 18.223.238.150


Current Path : /var/www/html/rcub/Report_details/
Upload File :
Current File : /var/www/html/rcub/Report_details/report_reg_list.php

<?php

function generateRegListReport($aobj_context)
{
    session_start();
    $college_code = $_SESSION['collcode'];
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

    //echo $college_code; 
    $degree_code = $aobj_context->mobj_data["degree_code"];
    $search_field = $aobj_context->mobj_data["search_field"];
    $exam_code = $aobj_context->mobj_data["exam_code"];

    $RegNo_start = substr("00000000" . $aobj_context->mobj_data["streg"], -8);
    $RegNo_end = substr("ZZZZZZZZ" . $aobj_context->mobj_data["edreg"], -8);

    $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_candidate_list.pdf";

    include($pdf_writer_class);
    /*  if($active_field === 'T')
	{	 */
    $pdf = new FPDF('L'); //Landscape
    $pdf->WhichReport = 'ReportCandidateList';
    /* }
	else
	{
		$pdf= new FPDF(); //A4
		$pdf->WhichReport = 'ReportCandidateNonActList';
	} */
    $pdf->SetFont('Times', 'B', 16);
    $pdf->SetMargins(2, 12);
    $pdf->AliasNbPages();
    //$pdf->SetAutoPageBreak('on' , 10);
    //header	
    $page_header_university = "select FUNIVNAME,FTOWN, 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 now() as now_date,concat('[',FDEGREE,'] - ', FDESCPN) as Degree_name, FADYEAR  
							from degree where FDEGREE = '{$degree_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->date_time = 'ReportRegList';
    $pdf->WhichReport = 'ReportRegList';
    $pdf->FUNIVNAME = $lobj_page_header_university['FUNIVNAME'] . ', ' . $lobj_page_header_university['FTOWN'];
    $pdf->FTOWN = '';
    $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_code = $exam_code;
    $pdf->FADYEAR = $lobj_page_header_degree['FADYEAR'];
    $pdf->date_time = $lobj_page_header_degree['now_date'];
    $pdf->REGROLL = $lobj_page_header_REGROLL['FREGROLL'];
    $pdf->RFROM = $RegNo_start;
    $pdf->RTO = $RegNo_end;
    $pdf->head_cnt = 0;;
    //end header		

    $pdf->AddPage();
    PrintFooter($pdf);
    $pdf->SetFont('Times', 'B', 9);
    // body
    $get_fee_paid_REC_DATE = "select FREGNO,
	if(date_format(FRECPTDATEA,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEA,'%d/%m/%y')) as FdateA, FRECPTNOA,
	if(date_format(FRECPTDATEB,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEB,'%d/%m/%y')) as FdateB, FRECPTNOB,
	if(date_format(FRECPTDATEC,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEC,'%d/%m/%y')) as FdateC, FRECPTNOC,
	 if(date_format(FRECPTDATED,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATED,'%d/%m/%y'))as FdateD, FRECPTNOD,    
	if(date_format(FRECPTDATEE,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEE,'%d/%m/%y')) as FdateE, FRECPTNOE, 
	if(date_format(FRECPTDATEF,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEF,'%d/%m/%y')) as FdateF, FRECPTNOF, 
	if(date_format(FRECPTDATEG,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEG,'%d/%m/%y')) as FdateG, FRECPTNOG,
	if(date_format(FRECPTDATEH,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEH,'%d/%m/%y'))as FdateH, FRECPTNOH,
	if(date_format(FRECPTDATEI,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEI,'%d/%m/%y')) as FdateI, FRECPTNOI,
	if(date_format(FRECPTDATEJ,'%d/%m/%y')='00/00/00','',date_format(FRECPTDATEJ,'%d/%m/%y'))as FdateJ, FRECPTNOJ    
	from regcandsum
	WHERE  fdegree='{$degree_code}'
	and FREGNO>='{$RegNo_start}' and FREGNO<='{$RegNo_end}' 
    and fexamno = '{$exam_code}'
	and  FCOLLCODE='{$college_code}' and frecptdate is not null";
    $lobj_get_fee_paid_REC_DATE = $aobj_context->mobj_db->GetAll($get_fee_paid_REC_DATE);

    $rec_date_array = array();
    foreach ($lobj_get_fee_paid_REC_DATE as $key => $value) {
        $rec_date_array[$value['FREGNO']]['A']['Date'] = $value['FdateA'];
        $rec_date_array[$value['FREGNO']]['A']['Rec'] = $value['FRECPTNOA'];

        $rec_date_array[$value['FREGNO']]['B']['Date'] = $value['FdateB'];
        $rec_date_array[$value['FREGNO']]['B']['Rec'] = $value['FRECPTNOB'];

        $rec_date_array[$value['FREGNO']]['C']['Date'] = $value['FdateC'];
        $rec_date_array[$value['FREGNO']]['C']['Rec'] = $value['FRECPTNOC'];

        $rec_date_array[$value['FREGNO']]['D']['Date'] = $value['FdateD'];
        $rec_date_array[$value['FREGNO']]['D']['Rec'] = $value['FRECPTNOD'];

        $rec_date_array[$value['FREGNO']]['E']['Date'] = $value['FdateE'];
        $rec_date_array[$value['FREGNO']]['E']['Rec'] = $value['FRECPTNOE'];

        $rec_date_array[$value['FREGNO']]['F']['Date'] = $value['FdateF'];
        $rec_date_array[$value['FREGNO']]['F']['Rec'] = $value['FRECPTNOF'];

        $rec_date_array[$value['FREGNO']]['G']['Date'] = $value['FdateG'];
        $rec_date_array[$value['FREGNO']]['G']['Rec'] = $value['FRECPTNOG'];

        $rec_date_array[$value['FREGNO']]['H']['Date'] = $value['FdateH'];
        $rec_date_array[$value['FREGNO']]['H']['Rec'] = $value['FRECPTNOH'];

        $rec_date_array[$value['FREGNO']]['I']['Date'] = $value['FdateI'];
        $rec_date_array[$value['FREGNO']]['I']['Rec'] = $value['FRECPTNOI'];

        $rec_date_array[$value['FREGNO']]['J']['Date'] = $value['FdateJ'];
        $rec_date_array[$value['FREGNO']]['J']['Rec'] = $value['FRECPTNOJ'];
    }
    $fee_cond = " ifnull(cs.ftotalfee,0) > 0 ";
    if ($all_data == "Yes")
        $fee_cond = "";

    $get_candidate_data = "  select a.*,b.FEXAMNAME,b.Fee_ShortName,b.fee  ,format(b.total_fee,0) as total_fee 
		from (SELECT s.FSLNO,s.FNAME,s.FFATNAME,s.FMOTNAME,
		if(date_format(s.FDOB,'%d/%m/%y')='00/00/00','',date_format(s.FDOB,'%d/%m/%y'))
              as FDOB,date_format(ifnull(cs.fpaymentdate,''),'%d/%m/%y') as frecptdate,
              ifnull(cs.fappno,'') as fappno,
              s.FSEX,s.FCASTE as FCASTE,cd.FDEGREE, cd.FEXAMNO,cd.FCOLLCODE, cd.FREGNO, format(cs.FTOTALFEE,0) AS FTOTALFEE,
		GROUP_CONCAT(distinct sub.FSUBCODE order by cd.FSUBCODE separator '|') as subjects 
		from regcanddet cd inner join student s on s.FREGNO=cd.FREGNO 
		and s.FDEGREE=cd.FDEGREE 
		and s.FCOLLCODE=cd.FCOLLCODE 
		INNER JOIN subject sub on sub.FDEGREE=cd.FDEGREE and sub.FEXAMNO=cd.FEXAMNO and sub.FSUBCODE=cd.FSUBCODE
		inner join regcandsum cs on 
		cs.FDEGREE=cd.FDEGREE  and cs.FCOLLCODE=cd.FCOLLCODE and
		cs.FREGNO=cd.FREGNO and ifnull(cs.ftotalfee,0) > 0
		WHERE   cd.fregno>='{$RegNo_start}' and cd.fregno<='{$RegNo_end}' 
		and cd.fdegree='{$degree_code}' and  cd.FCOLLCODE='{$college_code}'
        and  cd.fexamno = '{$exam_code}'
        and ifnull(cs.fpaymentdate,'') <> ''
		and cd.fpresent = 'P' GROUP BY cd.FDEGREE,cd.FEXAMNO, 
		cd.FCOLLCODE,cd.FREGNO ORDER BY cd.FREGNO) a left join 
		(select sf.FDEGREE,sf.FEXAMNO,sf.FCOLLCODE,sf.FREGNO,deg.FEXAMNAME, 
		GROUP_CONCAT(mf.FSHORT order by mf.FFEECODE) as Fee_ShortName,
		GROUP_CONCAT(if(ROUND(sf.FAMOUNT,0)=0,'',ROUND(sf.FAMOUNT,0)) order by sf.FFEECODE separator '|') as fee,
		sum(FAMOUNT) as total_fee
		from masfee mf left join regstudfee sf on sf.FFEECODE=mf.FFEECODE inner join degree deg on 
		deg.FDEGREE=sf.FDEGREE and deg.FEXAMNO=sf.FEXAMNO
		where sf.fregno>='{$RegNo_start}' and sf.fregno<='{$RegNo_end}' and sf.fdegree='{$degree_code}' 
		and  sf.FCOLLCODE='{$college_code}'	
        and  sf.fexamno = '{$exam_code}'	
		group by FDEGREE,FEXAMNO,FCOLLCODE,FREGNO having sum(FAMOUNT) > 0) b on
		a.FDEGREE=b.FDEGREE and a.FEXAMNO=b.FEXAMNO and a.FCOLLCODE=b.FCOLLCODE and a.FREGNO=b.FREGNO 
		where b.fexamname is not null	 
        order by a.FREGNO,FEXAMNO"; //FPRESENT='P'
    //echo $get_candidate_data; die();
    //var_dump($get_candidate_data);
    $lobj_get_candidate_data = $aobj_context->mobj_db->GetAll($get_candidate_data);
    // echo "<pre>".$get_candidate_data;die();
    $final_arr = array();
    $for_page_break = array();
    $k = 0;
    $full_fee_arr = array();
    $unique_fee_arr = array();
    $grand_total = 0;

    //var_dump($pdf->Degree_name);die();

    //$pdf->Cell(20,5,"Degree".$pdf->Degree_name,'1',1,'C');
    foreach ($lobj_get_candidate_data as  $sk => $sv) {
        $reg_no = $sv['FREGNO'];
        $fslno = $sv['FSLNO'];
        $frecptdate = $sv['frecptdate'];
        $fappno = $sv['fappno'];
        $fname = $sv['FNAME'];
        $fatname = $sv['FFATNAME'];
        $mname = $sv['FMOTNAME'];
        $dob = $sv['FDOB'];
        $fsex = $sv['FSEX'];
        $fcaste = $sv['FCASTE'];
        $fdegree = $sv['FDEGREE'];
        $fexam = $sv['FEXAMNO'];
        $total_fee = $sv['FTOTALFEE'];
        $subjects = $sv['subjects'];
        $exam_name = $sv['FEXAMNAME'];
        $fee_shortname = $sv['Fee_ShortName'];
        $fee = $sv['fee'];
        $explode_fee_short_name_arr = explode(",", $fee_shortname);
        $explode_fee_arr = explode("|", $fee);

        foreach ($explode_fee_short_name_arr as $ffk => $ffv) {
            $full_fee_arr[$reg_no][$ffv] += $explode_fee_arr[$ffk];
            $grand_total += $explode_fee_arr[$ffk];
            if (!in_array($ffv, $unique_fee_arr))
                array_push($unique_fee_arr, $ffv);
        }

        //$total_fee=$sv[total_fee];
        $student_exams_arr[$reg_no][$k] = $fexam;
        $k++;
        $final_arr[$reg_no]['reg_no'] = $reg_no;
        $final_arr[$reg_no]['fslno'] = $fslno;
        $final_arr[$reg_no]['fname'] = $fname;
        $final_arr[$reg_no]['fatname'] = $fatname;
        $final_arr[$reg_no]['mname'] = $mname;
        $final_arr[$reg_no]['dob'] = $dob;
        $final_arr[$reg_no]['fsex'] = $fsex;
        $final_arr[$reg_no]['fcaste'] = $fcaste;
        $final_arr[$reg_no]['fee_shortname'] = $fee_shortname;
        $final_arr[$reg_no]['fee'] = $fee;
        $final_arr[$reg_no]['total_fee'] = $total_fee;
        $final_arr[$reg_no]['fexam'][$fexam]['exam_name'] = $exam_name;
        $final_arr[$reg_no]['fexam'][$fexam]['fee'] = $fee;
        $final_arr[$reg_no]['fexam'][$fexam]['subjects'] = $subjects;
        $final_arr[$reg_no]['exam_name'] = $exam_name;
    }


    foreach ($student_exams_arr as $skk => $svv) {
        $for_page_break[$skk] = count($svv) + 2;
    }

    $line_counter = 0;
    $arr_w = array(12, 25, 110, 35, 63, 10, 20, 45, 12, 18);
    $arr_h = array(5, 6);
    $sl_no = 1;
    $grand_tot_arr = array();
    $page_tot_arr = array();
    $footer_student_fee_arr = array();

    foreach ($final_arr as $stdk => $stdv) {
        $reg_no = $stdv['reg_no'];
        $fslno = $stdv['fslno'];
        $fname = $stdv['fname'];
        $fatname = $stdv['fatname'];
        $mname = $stdv['mname'];
        $dob = $stdv['dob'];
        $fsex = $stdv['fsex'];
        $fcaste = $stdv['fcaste'];
        $total_fee = $stdv['total_fee'];


        if (($line_counter + ($for_page_break[$reg_no])) >= 20) {
            //echo $line_counter+($for_page_break[$reg_no]); die();
            $pdf->ln(1);
            $sum_arr = array();
            foreach ($footer_student_fee_arr as $sk => $sv) {
                foreach ($unique_fee_arr as $ak => $av) {
                    $sum_arr[$av] += $full_fee_arr[$sv][$av];
                }
            }

            foreach ($sum_arr as $ak => $av) {
                $pdf->Cell(20, 5, $ak, '1', 0, 'C');
            }
            $pdf->Cell(20, 5, "Total", '1', 1, 'C');
            $tot = 0;
            foreach ($sum_arr as $ak => $av) {
                $pdf->Cell(20, 5, $av, '1', 0, 'C');
                $tot += $av;
            }
            $pdf->Cell(20, 5, $tot, '1', 1, 'C');
            $footer_student_fee_arr = array();

            $pdf->AddPage();
            PrintFooter($pdf);
            $line_counter = 0;
        }

        //$pdf->Ln(1);	
        $line_counter += 1;
        $pdf->SetFont('Times', 'B', 9);
        $pdf->Cell($arr_w[0], $arr_h[1], $sl_no, 'LRT', 0, 'C');
        $pdf->Cell($arr_w[1], $arr_h[1], $reg_no, 'LRT', 0, 'C');
        array_push($footer_student_fee_arr, $reg_no);
        $pdf->Cell($arr_w[2], $arr_h[1], $fname, '1', 0, 'L');
        $pdf->SetFont('Times', '', 9);
        $pdf->Cell($arr_w[4] - 3, $arr_h[1], 'Fat.:   ' . $fatname, '1', 0, 'L');
        $pdf->Cell($arr_w[4] + 12 + 5, $arr_h[1], 'Mot.:   ' . $mname, '1', 1, 'L');
        $pdf->Cell($arr_w[0], $arr_h[1], '', 'LR', 0, 'C');
        $pdf->Cell($arr_w[1], $arr_h[1], '', 'LR', 0, 'L');
        $pdf->Cell($arr_w[3], $arr_h[1], 'DOB.:   ' . $dob, '1', 0, 'L');
        $pdf->Cell($arr_w[6], $arr_h[1], 'Gen.:   ' . $fsex, '1', 0, 'L');
        $pdf->Cell($arr_w[6], $arr_h[1], 'Grp.:   ' . $fcaste, '1', 0, 'L');
        $pdf->SetFont('Times', 'B', 9);
        $pdf->Cell($arr_w[7] - $arr_w[5], $arr_h[1], 'Total Fee:  ' . $total_fee, '1', 0, 'C');
        $pdf->SetFont('Times', '', 9);
        //Fee Short Name Details

        $fee_shortname = $stdv['fee_shortname'];
        $free_name_array = explode(",", $fee_shortname);
        //echo "<pre>";print_r($free_name_array);die();
        /* if(empty($free_name_array))
			{
			$free_name_array[0]="";
			$free_name_array[1]="";
			$free_name_array[2]="";
			}
			 */

        for ($m = 0; $m < count($free_name_array); $m++) {
            if (($m) <= 7) {

                $pdf->Cell($arr_w[8], $arr_h[1], $free_name_array[$m], '1', 0, 'C');
            } else {
                //					$pdf->Cell($arr_w[8],$arr_h[1],'Others','1',0,'C');							
                break;
            }
        }
        $diff = 8 - count($free_name_array);
        if ($diff > 0) //writing empty if it comes less than 8
        {
            for ($d = 0; $d < $diff; $d++)
                $pdf->Cell($arr_w[8], $arr_h[1], "", '1', 0, 'C');
        }

        $pdf->Cell($arr_w[8], $arr_h[1], 'Total', '1', 0, 'C');
        $pdf->SetFont('Times', '', 9);
        $pdf->Cell($arr_w[8], $arr_h[1], 'Date', '1', 0, 'C');
        $pdf->Cell($arr_w[6], $arr_h[1], 'Rec. No.', '1', 1, 'C');
        $line_counter++;
        //Exam Fee Details
        //echo "<pre>";

        $fexam_arr = $stdv['fexam']; //print_r($fexam_arr);die();

        foreach ($fexam_arr as $ek => $ev) {
            $line_counter++;
            $exam_no = $ek;
            $exam_name = $ev['exam_name'];
            $pdf->Cell(($arr_w[0] + $arr_w[1]), $arr_h[1], $exam_name, '1', 0, 'L');

            $subjects = $ev['subjects'];
            $subject_array = explode("|", $subjects);
            $remeber_cell = 0;
            for ($m = 0; $m < count($subject_array); $m++) {
                $pdf->Cell($arr_w[5], $arr_h[1], $subject_array[$m], '1', 0, 'C');
                $remeber_cell++;
            }
            for ($j = $remeber_cell; $j < 11; $j++) {
                $pdf->Cell($arr_w[5], $arr_h[1], '', '1', 0, 'C');
            }

            $fee = $ev['fee'];
            $free_array = explode("|", $fee);
            $other_sum = 0;
            $other_flag = 0;
            $total_exam_fee = 0;
            for ($m = 0; $m < count($free_array); $m++) {
                if (($m) < 7) {
                    $pdf->Cell($arr_w[8], $arr_h[1], $free_array[$m], '1', 0, 'C');
                    $grand_tot_arr[$free_name_array[$m]] += $free_array[$m];
                    $page_tot_arr[$free_name_array[$m]] += $free_array[$m];
                    $total_exam_fee += $free_array[$m];
                    $other_flag = 0;
                    $other_sum = 0;
                } else {
                    $other_sum += $free_array[$m];
                    $total_exam_fee += $free_array[$m];
                    $other_flag = 1;
                }
            }
            if ($other_flag)
                $pdf->Cell($arr_w[8], $arr_h[1], $other_sum, '1', 0, 'C');
            $diff = 8 - count($free_name_array);

            if ($diff > 0) //writing empty if it comes less than 8
            {
                for ($d = 0; $d < $diff; $d++)
                    $pdf->Cell($arr_w[8], $arr_h[1], "", '1', 0, 'C');
            }

            $pdf->Cell($arr_w[8], $arr_h[1], $total_exam_fee, '1', 0, 'C');

            $pdf->Cell($arr_w[8], $arr_h[1], $frecptdate, '1', 0, 'C');
            $pdf->Cell($arr_w[6], $arr_h[1], $fappno, '1', 1, 'C');
            //$pdf->Cell($arr_w[8],$arr_h[1],$rec_date_array[$reg_no][$exam_no]['Date'],'1',0,'C');
            //$pdf->Cell($arr_w[6],$arr_h[1],$rec_date_array[$reg_no][$exam_no]['Rec'] ,'1',1,'C');
        }

        $sl_no++;
        $sum_arr = array();
        foreach ($footer_student_fee_arr as $sk => $sv) {
            foreach ($unique_fee_arr as $ak => $av) {
                $sum_arr[$av] += $full_fee_arr[$sv][$av];
            }
        }
    }
    $pdf->ln(2);;
    foreach ($sum_arr as $ak => $av) {
        $pdf->Cell(20, 5, $ak, '1', 0, 'C');
    }
    $pdf->Cell(20, 5, "Total", '1', 1, 'C');
    $tot = 0;
    foreach ($sum_arr as $ak => $av) {
        $pdf->Cell(20, 5, $av, '1', 0, 'C');
        $tot += $av;
    }
    $pdf->Cell(20, 5, $tot, '1', 1, 'C');

    /* 
		$pdf->Cell(35,5,"Page Wise Head Count",'0',1,'L');	 	
		foreach($page_tot_arr as $ak=>$av)
		{
		$pdf->Cell(15,5,$ak,'1',0,'C');	 	
		}
		$pdf->Cell(2,5,"",'0',1,'L');	 
		foreach($page_tot_arr as $ak=>$av)
		{
		$pdf->Cell(15,5,$av,'1',0,'C');	 	
		}
		$pdf->ln(2);;
		 $sum_arr=array();
			foreach($footer_student_fee_arr as $sk=>$sv)
			{
			foreach($unique_fee_arr as $ak=>$av)
					{
					 $sum_arr[$av]+=$full_fee_arr[$sv][$av];
					}
			} */
    $pdf->ln(5);
    $pdf->SetFont('Times', 'B', 9);
    $pdf->Cell(35, 5, "Grand Total", '0', 1, 'L');
    $s = 0;
    foreach ($grand_tot_arr as $ak => $av) {
        $pdf->Cell(15, 5, $ak, '1', 0, 'C');
    }
    $pdf->Cell(15, 5, "Total", '1', 1, 'C');
    foreach ($grand_tot_arr as $ak => $av) {
        $pdf->Cell(15, 5, $av, '1', 0, 'C');
        $s += $av;
    }
    $pdf->Cell(15, 5, $s, '1', 1, 'C');


    $pdf->ln(5);;
    $pdf->SetFont('Times', 'B', 12);
    $pdf->Cell(210, 5, "Grand Total Rs {$grand_total}/", '0', 1, 'L');







    /* 	$check_same_reg_no_for_pb = $lobj_get_candidate_data[0]['FREGNO'];
	$for_page_break = array();
	$page_break_counter=2;
	foreach($lobj_get_candidate_data as $key => $value)
	{
		if($check_same_reg_no_for_pb ==$value['FREGNO'])		
		{
			$page_break_counter++;
		}
		else 
		{
			$page_break_counter=3;
			$check_same_reg_no_for_pb=$value['FREGNO'];
		}
		$for_page_break[$value['FREGNO']]=$page_break_counter;
		
	}	

	$line_counter=0;
	$check_same_reg_no = $lobj_get_candidate_data[0]['FREGNO'];
	$check_same_sl_no = $lobj_get_candidate_data[0]['FSLNO'];
	$first_time_printing = 1;
	$arr_w = array(12,25,111,35,67,10,20,45,15,18);
	$arr_h = array(5,6);
	$page_temp_flag=0;

	foreach($lobj_get_candidate_data as $key => $value)
	{	
	 if(($line_counter+($for_page_break[$value['FREGNO']])) >= 23 && $check_same_reg_no !=$value['FREGNO'])
	  {
		$pdf->AddPage();		
		$line_counter=0;
		$page_temp_flag=1;
	  }	   	
	  else
	  {
		$page_temp_flag=1;
	  } */
    /* if($page_temp_flag)
	  {
		  if(($first_time_printing) || $check_same_reg_no !=$value['FREGNO'] && $check_same_sl_no != $value['FSLNO'])		
			{
				$pdf->Ln(2);
				$line_counter += 2;
				$pdf->SetFont('Times','B',9);	
					$pdf->Cell($arr_w[0],$arr_h[1],$value['FSLNO'],'LRT',0,'C');
					$pdf->Cell($arr_w[1],$arr_h[1],$value['FREGNO'],'LRT',0,'C');		
					$pdf->Cell($arr_w[2],$arr_h[1],$value['FNAME'],'1',0,'L');		
				$pdf->SetFont('Times','',9);		
					$pdf->Cell($arr_w[4],$arr_h[1],'Fat.:   '.$value['FFATNAME'],'1',0,'L');		
					$pdf->Cell($arr_w[4],$arr_h[1],'Mot.:   '.$value['FMOTNAME'],'1',1,'L');	
					
					$pdf->Cell($arr_w[0],$arr_h[1],'','LR',0,'C');
					$pdf->Cell($arr_w[1],$arr_h[1],'','LR',0,'L');		
					$pdf->Cell($arr_w[3],$arr_h[1],'DOB.:   '.$value['FDOB'],'1',0,'L');
					$pdf->Cell($arr_w[6],$arr_h[1],'Gen.:   '.$value['FSEX'],'1',0,'L');		
					$pdf->Cell($arr_w[6],$arr_h[1],'Grp.:   '.$value['FCASTE'],'1',0,'L');
				$pdf->SetFont('Times','B',9);
					$pdf->Cell($arr_w[7],$arr_h[1],'Total Fee:  '.$value['FTOTALFEE'],'1',0,'C');
				$pdf->SetFont('Times','',9);
// stars FEE NAMEs			
				$free_name_array = explode(",",$value['Fee_ShortName']);	
				for($m=0; $m<count($free_name_array); $m++)
				{				
					if(($m) <= 3)
					$pdf->Cell($arr_w[8],$arr_h[1],$free_name_array[$m],'1',0,'C');			
					else
					{
						$pdf->Cell($arr_w[8],$arr_h[1],'Others','1',0,'C');							
						break;
					}	
				}
				$pdf->Cell($arr_w[8],$arr_h[1],'Exam Fee','1',0,'C');	
$pdf->SetFont('Times','',9);			
				$pdf->Cell($arr_w[8],$arr_h[1],'Date','1',0,'C');
				$pdf->Cell($arr_w[6],$arr_h[1],'Rec. No.','1',1,'C');
// End FEE NAMEs			
				$first_time_printing=0;	
				$check_same_reg_no=$value['FREGNO'];
				$check_same_sl_no = $value['FSLNO'];	
			}
//subjects		
			$line_counter++;
				$pdf->Cell(($arr_w[0]+$arr_w[1]),$arr_h[1],$value['FEXAMNAME'],'1',0,'L');				
				$subject_array = explode("|",$value['subjects']);	
			
				$remeber_cell=0;
				for($m=0;$m<count($subject_array);$m++)
				{			
					$pdf->Cell($arr_w[5],$arr_h[1],$subject_array[$m],'1',0,'C');
			
					$remeber_cell++;
				}
				 
				for($j=$remeber_cell; $j<12; $j++)
				{
					 $pdf->Cell($arr_w[5],$arr_h[1],'','1',0,'C');
				}		
//end subjects
//fee stratrs here
				$free_array = explode("|",$value['fee']);
			
				$other_sum=0;
				$other_flag=0;	
				for($m=0; $m<count($free_array); $m++)
				{		
					if(($m) <= 3)
					{
						$pdf->Cell($arr_w[8],$arr_h[1],$free_array[$m],'1',0,'C');	
						$other_flag=0;	
						$other_sum=0;
					}	
					else
					{
						$other_sum += $free_array[$m];			
						$other_flag=1;
					}				
				}
			
				if($other_flag)
					$pdf->Cell($arr_w[8],$arr_h[1],$other_sum,'1',0,'C');
				
				$pdf->Cell($arr_w[8],$arr_h[1],$value['total_fee'],'1',0,'C');				
				
				$pdf->Cell($arr_w[8],$arr_h[1],$rec_date_array[$value['FREGNO']][$value['FEXAMNO']]['Date'],'1',0,'C');
				$pdf->Cell($arr_w[6],$arr_h[1],$rec_date_array[$value['FREGNO']][$value['FEXAMNO']]['Rec'] ,'1',1,'C');
				$page_temp_flag=0;
			} */
    $pdf->Ln(20);
    $pdf->Cell(20, 4, "Date :", '0', 0, 'L');
    $pdf->Cell(250, 4, "Signature of the principal(With seal)", '0', 1, 'R');
    PrintFooter($pdf);

    $pdf->WhichReport = 'ReportRegListSummary';
    $pdf->AddPage();
    $pdf->SetMargins(2, 12);



    $sql = "select fdegree, fcollcode, FCATEGORY, max(fcount) as fcount, fmale, ffemale,
			group_concat(heads order by heads) as headfee  from (select concat(masfee.ffeecode, '->',sum(famount)) as heads,
			regcandsum.fdegree,regcandsum.fcollcode, student.fcaste as FCATEGORY,count(distinct student.fregno) as fcount,
			sum(if(student.fsex='M',1,0)) as fmale,
			sum(if(student.fsex='F',1,0)) as ffemale
			from  regcandsum, regstudfee,student,masfee
			where student.fdegree=regcandsum.fdegree
			and student.fregno=regcandsum.fregno 
			and regstudfee.fdegree=regcandsum.fdegree
            and regstudfee.ffeecode = masfee.ffeecode
			and regstudfee.fregno=regcandsum.fregno and regcandsum.fdegree ='{$degree_code}' and regcandsum.fcollcode='{$college_code}'
			and regcandsum.fregno>='{$RegNo_start}' and regcandsum.fregno<='{$RegNo_end}' 
			and regstudfee.fcollcode=regcandsum.fcollcode
            and ifnull(regcandsum.fpaymentdate,'') <> ''
            and  regstudfee.fexamno = '{$exam_code}'
			group by regcandsum.fdegree,regcandsum.fcollcode,student.fcaste, masfee.ffeecode) x
			group by fdegree, fcollcode, FCATEGORY";
    //var_dump($sql);
    $rst = $aobj_context->mobj_db->GetAll($sql);
    //matching the feehead codes
    $sql = "SELECT DISTINCT fshortname, s.ffeecode as fheadcode FROM regstudfee s 
            inner join masfee m on s.ffeecode = m.ffeecode WHERE fdegree='{$degree_code}'
            and fcollcode = '{$college_code}'
            order by m.ffeecode";
    //var_dump($sql);
    $feeheads = $aobj_context->mobj_db->GetAll($sql);
    $slno = 1;
    $totmale = 0;
    $totfemale = 0;
    $totstud = 0;
    $totamount = 0;

    //$pdf->Cell(2, 6, '', '0', 0, 'C');
    $pdf->Cell(10, 6, 'Sl. No.', '1', 0, 'C');
    $pdf->Cell(20, 6, 'Category', '1', 0, 'C');
    $pdf->Cell(20, 6, 'Tot. Stud.', '1', 0, 'C');
    foreach ($feeheads as $value) {
        $pdf->Cell(20, 6, $value['fshortname'], '1', 0, 'C');
    }
    $pdf->Cell(20, 6, 'Total Fee', '1', 1, 'C');

    $pdf->SetFont('Times', '', 10);
    foreach ($rst as $key => $val) {
        $Toatlfee = 0;
       // $pdf->Cell(2, 6, '', '0', 0, 'C');
        $pdf->Cell(10, 6, $slno, '1', 0, 'C');
        $pdf->Cell(20, 6, $val['FCATEGORY'], '1', 0, 'C');
        $pdf->Cell(20, 6, $val['fcount'], '1', 0, 'R');
        $totmale += $val['fmale'];
        $totfemale += $val['ffemale'];
        $totstud += $val['fcount'];
        $headfeearr = explode(',', $val['headfee']);

        $fappfee = array();
        $rowtotfee = 0;
        $i = 0;
        foreach ($feeheads as $feekey => $feeval) {
            $feeheadcode[$i] = $feeval['fheadcode'];
            $i++;
        }
        //$i=0;
        foreach ($headfeearr as $hdkey => $hdval) {

            $feearr = explode('->', $hdval);
            $rowtotfee += $feearr[1];
            $i = 0;
            foreach ($feeheads as $feekey => $feeval) {
                $feeheadcode[$i] = $feeval['fheadcode'];
                if (strtoupper($feearr[0]) == strtoupper($feeheadcode[$i])) {
                    $fappfee[$i] += $feearr[1];
                    //$totappfee[$feeval['fheadcode']] += $feearr[1];
                } else {
                    $fappfee[$i] += 0;
                }
                $i++;
            }
        }

        for ($i = 0; $i < count($fappfee); $i++) {
            $pdf->Cell(20, 6, $fappfee[$i], '1', 0, 'R');
            $totfees[$i] += $fappfee[$i];
        }
        $pdf->Cell(20, 6, $rowtotfee, '1', 1, 'R');
        $totregfee += 0;
        $totothfee += 0;
        $totfine += 0;
        $totamount += $rowtotfee;
        ++$slno;
    }

    $pdf->SetFont('Times', 'B', 10);
   // $pdf->Cell(5, 6, '', '0', 0, 'C');
    $pdf->Cell(30, 6, 'Total', '1', 0, 'C');
    $pdf->Cell(20, 6, $totstud, '1', 0, 'R');
    for ($i = 0; $i < count($totfees); $i++)
        $pdf->Cell(20, 6, $totfees[$i], '1', 0, 'R');
    $pdf->Cell(20, 6, $totamount, '1', 1, 'R');
    $pdf->Output("report_student_list.pdf", "D");
}

function generatecollegeWiseStudentList($aobj_context)
{
    session_start();
    $college_code = $_SESSION['collcode'];
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

    //echo $college_code; 
    $degree_code = $aobj_context->mobj_data["degree_code"];
    $freshexam = $aobj_context->mobj_data["freshexam"];
    $RegNo_start = substr("00000000" . $aobj_context->mobj_data["streg"], -8);
    $RegNo_end = substr("ZZZZZZZZ" . $aobj_context->mobj_data["edreg"], -8);

    $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_candidate_list.pdf";

    include($pdf_writer_class);

    $pdf = new FPDF(); //A4
    $pdf->WhichReport = 'ReportCandidateNonActList';

    $pdf->SetFont('Times', 'B', 16);
    $pdf->SetMargins(5, 12);
    $pdf->AliasNbPages();
    //$pdf->SetAutoPageBreak('on' , 10);
    //header	
    $page_header_university = "select FUNIVNAME,FTOWN, 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 now() as now_date,concat('[',FDEGREE,'] - ', FDESCPN,space(2),'-',space(2),FEXAMDATE) as Degree_name, FADYEAR  
							from degree where FDEGREE = '{$degree_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->date_time = 'ReportCandidateList';
    $pdf->WhichReport = 'ReportCandidateList';
    $pdf->FUNIVNAME = $lobj_page_header_university['FUNIVNAME'] . ', ' . $lobj_page_header_university['FTOWN'];
    $pdf->FTOWN = '';
    $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->date_time = $lobj_page_header_degree['now_date'];
    $pdf->REGROLL = $lobj_page_header_REGROLL['FREGROLL'];
    $pdf->RFROM = $RegNo_start;
    $pdf->RTO = $RegNo_end;
    $pdf->head_cnt = 0;;
    //end header		

    $pdf->AddPage();
    PrintFooter($pdf);
    $pdf->SetFont('Times', '', 9);
    // body


    if ($freshexam == 'T') {
        $fresh = "and cs.FFRESHEXAM = cd.FEXAMNO";
    } else {
        $fresh = '';
    }



    $get_candidateNack_data = "select d.fdescpn, d.FEXAMNAME, s.FSLNO,LEFT(s.FNAME,40) as FNAME ,
		LEFT(s.FFATNAME,40) as FFATNAME,LEFT(s.FMOTNAME,40) as FMOTNAME,
		if(date_format(s.FDOB,'%d/%m/%y')='00/00/00','',date_format(s.FDOB,'%d/%m/%y')) as FDOB,
		s.FSEX,	s.FCASTE,cd.FDEGREE, cd.FEXAMNO,cd.FCOLLCODE, cd.FREGNO, 
		GROUP_CONCAT(distinct case when ifnull('','')='' then concat(' ',sub.fsubcode,' ') else concat('[',sub.fsubcode,']') end order by cd.FSUBCODE separator '') as subjects 
		from regcanddet cd inner join student s on s.FREGNO=cd.FREGNO 
		and s.FDEGREE=cd.FDEGREE and s.FCOLLCODE=cd.FCOLLCODE
		INNER JOIN subject sub on sub.FDEGREE=cd.FDEGREE and sub.FEXAMNO=cd.FEXAMNO and sub.FSUBCODE=cd.FSUBCODE
		inner join regcandsum cs on 
		cs.FDEGREE=cd.FDEGREE  and cs.FCOLLCODE=cd.FCOLLCODE and 
		cs.FREGNO=cd.FREGNO {$fresh}
		inner join degree d on cd.fdegree = d.fdegree and cd.fexamno = d.fexamno
		WHERE cd.fregno>='{$RegNo_start}' and cd.fregno<='{$RegNo_end}' 
		and cd.fdegree='{$degree_code}' and  cd.FCOLLCODE='{$college_code}'
		GROUP BY cd.FDEGREE,cd.FEXAMNO, 
		cd.FCOLLCODE,cd.FREGNO ORDER BY cd.FREGNO,cd.FEXAMNO";
//var_dump($get_candidateNack_data);
    $lobj_get_candidateNack_data = $aobj_context->mobj_db->GetAll($get_candidateNack_data);

    //$header=array('Sl No.','Reg No.' ,'Name','Subjects');

    //$pdf->SetFillColor(255);
    //$pdf->SetLineWidth(.2);
    //$pdf->SetFont('','B',10);

    $w = array(10, 35, 155);
    //for($i=0;$i<count($header);$i++)
    //	$pdf->Cell($w[$i],10,$header[$i],1,0,'C',true);
    $pdf->Ln();
    //$pdf->SetFillColor(224,235,255);
    //$pdf->SetTextColor(0);


    $adm_ln_counter = 0;
    $sln = 0000;
    $counter = 0;
    $count = count($lobj_get_candidateNack_data);
    foreach ($lobj_get_candidateNack_data as $key => $value) {

        $y  = $pdf->GetY();
        if ($y >= 260) {

            $pdf->Ln(3);

            $pdf->AddPage();
            PrintFooter($pdf);
            $adm_ln_counter = 0;
            $pdf->Ln(10);

            //$pdf->SetLineWidth(.4);
            $pdf->SetFont('', '', 10);
            //for($i=0;$i<count($header);$i++)
            //$pdf->Cell($w[$i],10,$header[$i],1,0,'C',true);
            $pdf->Ln();
        }

        $ltmpregno = "";
        $ltmpname = "";
        $ltmpslno = "";
        $ltmpfathname = "";
        $ltmpmothname = "";
        if ($lregno != $value['FREGNO']) {
            $sln++;
            $lregno = $value['FREGNO'];
            $y  = $pdf->GetY();
            if ($y >= 250) {
                $pdf->Ln(3);

                $pdf->AddPage();
                PrintFooter($pdf);
                $adm_ln_counter = 0;
                $pdf->Ln(10);

                //$pdf->SetLineWidth(.4);
                $pdf->SetFont('', '', 10);
                //for($i=0;$i<count($header);$i++)
                //$pdf->Cell($w[$i],10,$header[$i],1,0,'C',true);
                $pdf->Ln();
            }

            $pdf->SetFont('Courier', '', 11);
            $pdf->Cell($w[0], 6, $sln, 'LRT', 0, 'C');
            $pdf->Cell($w[1], 6, $value['FREGNO'], 'LRT', '', 'L');
            $pdf->Cell($w[2], 6, 'Student Name  : ' . $value['FNAME'], 'RT', '1', 'L');
            $pdf->Cell($w[0], 6, '', 'LR', 0, 'C');
            $pdf->Cell($w[1], 6, 'Cat.: ' . $value['FCASTE'], 'LR', '', 'L');
            $pdf->Cell($w[2], 6, "Father's Name : " . $value['FFATNAME'], 'R', '1', 'L');
            $pdf->Cell($w[0], 6, '', 'LR', 0, 'C');
            $pdf->Cell($w[1], 6, '', 'LRB', '', 'C');
            $pdf->Cell($w[2], 6, "Mother's Name : " . $value['FMOTNAME'], 'RB', '1', 'L');
        }

        $pdf->SetFont('Courier', '', 11);
        $pdf->Cell($w[0], 6, '', 'LR', 0, 'C');
        $pdf->Cell($w[1], 6, $value['FEXAMNAME'], 1, '', 'L');
        $pdf->Cell($w[2], 6, $value['subjects'], '1', 1, 'L');
        $adm_ln_counter++;


        //$fill=!$fill;
    }

    PrintFooter($pdf);
    $pdf->Output("Student_List_College.pdf", "D");
}

function PrintFooter($pdf)
{
    $new_x = $pdf->GetX();
    $new_y = $pdf->GetY();
    $ip = $_SERVER["REMOTE_ADDR"];
    $pdf->SetY(-17);
    $pdf->SetFont('Times', 'B', 8);

    $pdf->Cell(140, 6, 'Printed   : IP Address : ' . $ip . ", Date : " . $pdf->date_time, '0', 0, 'L');
    $pdf->SetXY($new_x, $new_y);
}