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


Current Path : /var/www/html/univadmin/Reports/
Upload File :
Current File : /var/www/html/univadmin/Reports/generateCollegeWiseStudListReport.php

<?php

$main_src = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 7);
$pdf_writer_class = $main_src . "tcpdf/tcpdf.php";
require_once $pdf_writer_class;
ini_set('max_execution_time', 600);
ini_set("memory_limit",'2048M');

class MYPDF extends TCPDF
{

    public function Header()
    {
        // get the current page break margin
        $bMargin = $this->getBreakMargin();
        // get current auto-page-break mode
        $auto_page_break = $this->AutoPageBreak;
        // disable auto-page-break
        $this->SetAutoPageBreak(false, 0);
        $this->SetTitle("Exam Registration - Degreewise, Subjectwise Student Count Report");

        // set bacground image
        $this->SetFillColor(248, 248, 255);
        $img_path = $this->aobj_context->main_src . "/img/".$this->aobj_context->FUNIVCODE."_logo.jpg";

        if (file_exists($img_path)) {
            $this->Image($img_path, 20, 6, 20, 20);
        }

        $this->SetFont('Times', 'B', 13);
        $this->SetY(5);
        $this->Cell(0, 4, $this->aobj_context->FUNIVNAME, 0, 1, 'C');
        //state
        $this->SetFont('Times', '', 11);
        $this->Cell(0, 4, $this->aobj_context->s_state, 0, 1, 'C');

        $this->SetFont('Times', 'BU', 12);
        $this->Ln(1);

        $cur_year = date("Y");
        $this->Cell(0, 5, 'Candidate List', '0', 1, 'C');
        $this->SetFont('Times', 'B', 10);

        // $this->reportType = $this->aobj_context->mobj_data["deggrp"];
        // var_dump($this->reportType);
        // die();
        $this->Cell(0, 5, 'Degree Group Range: ' . $this->aobj_context->mobj_data["fdeggrpfrom"]. ' - '.$this->aobj_context->mobj_data["fdeggrpfrom"], '0', 1, 'C');
        $this->Cell(0, 5, 'Degree Range : ' . $this->aobj_context->mobj_data['fdegfrom'].' - '.$this->aobj_context->mobj_data['fdegto'].
        '       College Range : ' . $this->aobj_context->mobj_data['fcollfrom'].' - ' . $this->aobj_context->mobj_data["fcollto"], '0', 1, 'C');
        // $this->Cell(0, 5, 'College Range : ' . $this->aobj_context->mobj_data['fcollfrom'].' - ' . $this->aobj_context->mobj_data["fcollto"], '0', 1, 'C');
        
        // restore auto-page-break status
        $this->SetAutoPageBreak($auto_page_break, $bMargin);
        // set the starting point for the page content
    }

    public function Footer()
    {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 8);
        // var_dump();
        if($this->CurOrientation == 'P')
        {
            $this->Cell(60, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(60, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(60, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
        else {
            $this->Cell(90, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(90, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(90, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
    }
}

class Report{

  public function DefaultConstructor($aobj_context)
  {
    $this->aobj_context = $aobj_context;
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

    $this->ip = $_SERVER["REMOTE_ADDR"];
    $get_date = "select DATE_FORMAT(now(), '%d/%m/%Y') as now_date";
    $obj = $this->aobj_context->mobj_db->GetRow($get_date);

    $get_coll_name = "select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
    FUNIVADD1 as 'state', pdf_logo_path,
    ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From control";
    $lobj_get_coll_name = $this->aobj_context->pobj_db->GetRow($get_coll_name);
    // var_dump($get_coll_name);
    $aobj_context->FUNIVNAME = $lobj_get_coll_name['FUNIVNAME'];
    $aobj_context->s_state = $lobj_get_coll_name['state'];
    $aobj_context->pdf_logo_path = $lobj_get_coll_name['pdf_logo_path'];
    $aobj_context->FUNIVCODE = $lobj_get_coll_name['FUNIVCODE'];

    $this->current_date = $obj['now_date'];
    $deggrp = $this->aobj_context->mobj_data["deggrp"];

    $get_coll_name = "select concat(fdeggrp, ' - ', fdescpn) as fdeggrp 
    from deggrp where fdeggrp = '{$deggrp}'";
    $lobj_get_degree = $this->aobj_context->pobj_db->GetRow($get_coll_name);
    
    $aobj_context->deggrp = $lobj_get_degree['fdeggrp'];
    $this->pdf = new MYPDF('L');
    $this->pdf->aobj_context = $aobj_context;    
  }

  public function TblHeader($pdf)
  {
    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");    
    $pdf->Cell(12, 6, "Col.", "LRT", 0, "C");
    $pdf->Cell(60, 6, "College Name", "LRT", 0, "C");
    $pdf->Cell(17, 6, "Subject", "LRT", 0, "C");
    $pdf->Cell(80, 6, "Subject Name", "LRT", 0, "C");    
    $pdf->Cell(15, 6, "Count", "LRT", 1, "C");
    

    $pdf->Cell(10, 6, "No.", "LRB", 0, "C");    
    $pdf->Cell(12, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(60, 6, "", "LRB", 0, "C");
    $pdf->Cell(17, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(80, 6, "", "LRB", 0, "C");    
    $pdf->Cell(15, 6, "", "LRB", 1, "C");    
    $pdf->SetFont('Times', '', 10);

  }

  public function TblHeaderCollWise($pdf)
  {
    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");
    $pdf->Cell(15, 6, "Deg.", "LRT", 0, "C");
    $pdf->Cell(60, 6, "Degree Name", "LRT", 0, "C");
    $pdf->Cell(17, 6, "Subject", "LRT", 0, "C");
    $pdf->Cell(80, 6, "Subject", "LRT", 0, "C");    
    $pdf->Cell(16, 6, "Count", "LRT", 1, "C");

    $pdf->Cell(10, 6, "No.", "LRB", 0, "C");
    $pdf->Cell(15, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(60, 6, "", "LRB", 0, "C");
    $pdf->Cell(17, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(80, 6, "Name", "LRB", 0, "C");     
    $pdf->Cell(16, 6, "", "LRB", 1, "C");    
    $pdf->SetFont('Times', '', 10);

  }



  public function writeReport($data){
    $pdf = $this->pdf;
    
    $pdf->SetMargins(5, 40);
    $pdf->startPageGroup();
    $pdf->AddPage("P");
    $sl_no = 1;
    $pdf->SetFont('Times', '', 10);
    // $this->TblHeader($pdf);
    $oldCode = "";
    $newCode = "";
    
    // foreach ($data as $key => $value) {


    //   $newCode = $value['fdegree'];

    //   if ($newCode != $oldCode) {
    //       $sl_no = 1;
    //       if ($pdf->getY() > 230) 
    //           $pdf->AddPage("P");
    //       // $first = false;
    //       $pdf->SetFont('Times', 'B', 12);
    //       // $pdf->Ln(4);
    //       $j++;
    //       $pdf->Cell(0, 6, $j. '. ' . $value['fdegree'] . ' - ' . $value['fdescpn'], 1, 1, "C");
          
    //       $this->TblHeader($pdf);
    //       $pdf->SetFont('Times', '', 10);
    //   }


    //   $x = $pdf->GetX();
    //   $y = $pdf->GetY();


    //   $pdf->SetX($x + 22);
    //   $pdf->MultiCell(60, 6, $value['fcollname'], "T", "L");
    //   $y1 = $pdf->GetY();
    //   $h = $y1 - $y;    
    //   $pdf->SetXY($x, $y);


    //   $pdf->SetX($x + 99);
    //   $pdf->MultiCell(80, $h, $value['fsubname'], 1, "L");
    //   $y1 = $pdf->GetY();
    //   $h = $y1 - $y;    
    //   $pdf->SetXY($x, $y);

    //   $pdf->Cell(10, $h,$sl_no, "1", 0, "C");
    //   $pdf->Cell(12, $h,$value['fcollcode'], "1", 0, "C");
    //   $pdf->SetXY($x+82, $y);
    //   $pdf->Cell(17, $h, $value['fsubcode'], "1", 0, "C");
 
    //   $pdf->SetXY($x+179, $y);
    //   $pdf->Cell(15, $h, $value['count'], "1", 1, "C");
    //         $oldCode = $newCode;
  
    //   $sl_no++;
    //   if ($pdf->getY() > 230) {
    //     $pdf->Cell(193,0,"","T",1);
    //     $pdf->AddPage("P");
    //     $pdf->SetFont('Times', 'B', 12);

    //     $pdf->Cell(0, 6, $j. '. ' . $value['fdegree'] . ' - ' . $value['fdescpn'], 1, 1, "C");

    //     $this->TblHeader($pdf);
    //   }
    // }
    $w=array(10,35,155);
    $adm_ln_counter=0;
		$sln = 0000;
		$counter = 0;
    $count = count($data);
    // var_dump($data);
		foreach($data as $key => $value)
		{		

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

				$pdf->Ln(3);
				
				$pdf->AddPage();	
				
				$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();	
						
						$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','','C');
					$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,'','LR','','C');
					$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,'','LRB',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;
		}	



    $pdf->Cell(193,0,"","T",1);
  }
  public function SendOutput()
  {
      // ob_end_clean();
      $this->pdf->Output("ExamRegistrationDegSubwiseStudountReport.pdf", "I");
  }
}

function generateCollegeWiseStudListReport($aobj_context)
{
  $univcode = $aobj_context->mobj_data["univcode"];  
  $fdegfrm = $aobj_context->mobj_data["fdegfrom"];   // 'MAEC1';//   
  $fdegto = $aobj_context->mobj_data["fdegto"];  //'MMS1';//  
  $fcollfrm = $aobj_context->mobj_data["fcollfrom"];  
  $fcollto = $aobj_context->mobj_data["fcollto"];  
  $fsubfrom = $aobj_context->mobj_data["fsubfrom"];  
  $fsubto = $aobj_context->mobj_data["fsubto"]; 
  $fexamRng = $aobj_context->mobj_data["fexamrange"];
  $fdeggrpfrom = $aobj_context->mobj_data["fdeggrpfrom"];
  $fdeggrpto = $aobj_context->mobj_data["fdeggrpto"];

  $reportWise = $aobj_context->mobj_data["reportWise"];
  $rtype = $aobj_context->mobj_data["rtype"];

  // if($rtype == 'Detailed'){
  //   include 'ExmRegstDetReport.php';
  //   ExmRegstDetailed($aobj_context);
  // }else{

    // $query = "select cd.fdegree,d.fdescpn,cd.fcollcode,concat(c.fcollname,', ',c.ftown) as fcollname,
    // cd.fsubcode,s.fsubname,count(cd.fregno) as count
    // from canddet cd
    // inner join degree d on cd.fdegree=d.fdegree and  cd.fexamno=d.fexamno
    // inner join subject s on s.fdegree=cd.fdegree and s.fexamno = cd.fexamno and s.fsubcode = cd.fsubcode 
    // inner join college c on cd.fcollcode = c.fcollcode
    // where cd.fdegree between '{$fdegfrm}' and '{$fdegto}'and cd.fexamno in ('{$fexamRng}') and
    // s.fsubcode between '{$fsubfrom}' and '{$fsubto}' and cd.fcollcode between '{$fcollfrm}' and '{$fcollto}'
    // and d.fdeggrp IN ('{$fdeggrpfrom}','{$fdeggrpto}') and s.ftheory = 'T' and s.fintass = 'F' 
    // and ifnull(cd.fpresent,'') = 'P'
    // group by cd.fdegree,cd.fcollcode,cd.fsubcode
    // order by cd.fdegree,cd.fcollcode,cd.fsubcode";
    $query = "SELECT d.fdescpn, d.FEXAMNAME, s.FSLNO,LEFT(s.FNAME,20) AS FNAME ,
    LEFT(s.FFATNAME,17) AS FFATNAME,LEFT(s.FMOTNAME,17) 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(cd.FPASSMTH,'')='' THEN CONCAT(' ',sub.fsubshort,' ') ELSE CONCAT('[',sub.fsubshort,']') END ORDER BY cd.FSUBCODE SEPARATOR '') AS subjects 
    FROM canddet 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 candsum cs ON 
    cs.FDEGREE=cd.FDEGREE  AND cs.FCOLLCODE=cd.FCOLLCODE AND 
    cs.FREGNO=cd.FREGNO
    INNER JOIN degree d ON cd.fdegree = d.fdegree AND cd.fexamno = d.fexamno
    WHERE cd.fregno>='0' AND cd.fregno<='ZZZZ' 
    AND cd.fdegree BETWEEN '{$fdegfrm}' AND '{$fdegto}' AND  cd.FCOLLCODE BETWEEN '{$fcollfrm}' AND '{$fcollto}'
    AND d.fexamno IN ('{$fexamRng}')
    GROUP BY cd.FDEGREE,cd.FEXAMNO, 
    cd.FCOLLCODE,cd.FREGNO ORDER BY cd.FREGNO,cd.FEXAMNO";
  
  //  var_dump($query);
    $result = $aobj_context->pobj_db->GetAll($query);
    
  //  var_dump($result);
    // die();
    
    $class_obj = new Report();
    $class_obj->univcode=$univcode;
    $class_obj->DefaultConstructor($aobj_context);
        
        $class_obj->writeReport($result);
      
    
    
    $class_obj->SendOutput();
  
  
  // }
}


function moneyFormatIndia($num)
{
    $explrestunits = "";
    if (strlen($num) > 3) {
        $lastthree = substr($num, strlen($num) - 3, strlen($num));
        $restunits = substr($num, 0, strlen($num) - 3); // extracts the last three digits
        $restunits = (strlen($restunits) % 2 == 1) ? "0" . $restunits : $restunits; // explodes the remaining digits in 2's formats, adds a zero in the beginning to maintain the 2's grouping.
        $expunit = str_split($restunits, 2);
        for ($i = 0; $i < sizeof($expunit); $i++) {
            // creates each of the 2's group and adds a comma to the end
            if ($i == 0) {
                $explrestunits .= (int)$expunit[$i] . ","; // if is first value , convert into integer
            } else {
                $explrestunits .= $expunit[$i] . ",";
            }
        }
        $thecash = $explrestunits . $lastthree;
    } else {
        $thecash = $num;
    }
    return $thecash; // writes the final format where $currency is the currency symbol.
}

?>