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


Current Path : /var/www/html/univadmin/Reports/
Upload File :
Current File : /var/www/html/univadmin/Reports/RvPcListSummReport.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('memory_limit','900M');
// ini_set('max_execution_time',0);

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);

        // 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, 15, 6, 20, 20);
        }

        $this->SetFont('Times', 'B', 13);
        $this->SetY(5);
        $this->Cell(0, 7, $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");
        
        if($this->aobj_context->rType == 'CheckList')  {
            $this->SetTitle("RV/ RT Code List Report");          

            $this->Cell(0, 7, ' RV/ RT Code List Report', '0', 1, 'C');
            $this->SetFont('Times', 'B', 10);
            $this->Ln(1);
    
            $this->Cell(0, 5, $this->aobj_context->deggrp.' - '.$this->aobj_context->fdescpn.' - '.
            $this->aobj_context->fexamdate. ' Examination', '0', 1, 'C');
            $this->Cell(0, 5,'Date Range - '.$this->aobj_context->dateFrom.' - '.
            $this->aobj_context->dateTo, '0', 1, 'C');
            $this->Ln(1);

        }      
        else{
            $this->SetTitle("RV/ RT Applicatoin Summary Report");          
            
            $this->Cell(0, 7, ' RV/ RT Applicatoin Summary', '0', 1, 'C');
            $this->SetFont('Times', 'B', 10);
            $this->Ln(1);
    
            $this->Cell(0, 5, $this->aobj_context->deggrp.' - '.$this->aobj_context->fdescpn.' - '.
            $this->aobj_context->fexamdate. ' Examination', '0', 1, 'C');
            $this->Cell(0, 5,'Date Range - '.$this->aobj_context->dateFrom.' - '.
            $this->aobj_context->dateTo, '0', 1, 'C');
            $this->Cell(0, 5,'QP Code Range - '.$this->aobj_context->qpcodeFrom.' - '.
            $this->aobj_context->qpcodeTo, '0', 1, 'C');
            $this->Ln(4);

        }

        // $this->Cell(0, 5,'Date Range - '.$this->aobj_context->dateFrom.' - '.
        // $this->aobj_context->dateTo, '0', 1, 'C');
        // var_dump($this->doe);
        
        // 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();
        $this->SetX(15);

        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 ReportObj
{

    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);
        $this->reportType = $aobj_context->mobj_data["rtype"];

        $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["fdeggrp"];
        $reportType = $this->aobj_context->mobj_data["reportType"];
        $aobj_context->dateFrom = $aobj_context->mobj_data['dateFrom'];
        $aobj_context->dateTo   = $aobj_context->mobj_data['dateTo'];
        $aobj_context->qpcodeFrom   = $aobj_context->mobj_data['qpcodeFrom'];
        $aobj_context->qpcodeTo =  $aobj_context->mobj_data['qpcodeTo'];
        $aobj_context->regnoFrom = $aobj_context->mobj_data['regnoFrom'];
        $aobj_context->regnoTo = $aobj_context->mobj_data['regnoTo'];
        $aobj_context->correctionType = $aobj_context->mobj_data['correctionType'];

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

        $this->pdf = new MYPDF('L');
        $this->pdf->aobj_context = $aobj_context;
    }

    public function Header($pdf)
    {
        // $pdf->SetFont('Times', 'B', 10);
        // $pdf->Cell(10, 4, "Sl.", "LRT", 0, "C");
        // $pdf->Cell(20, 4, "Date", "LRT", 0, "C");
        // $pdf->Cell(20, 4, "QP Code", "LRT", 0, "C");
        // $pdf->Cell(70, 4, "Subject Name", "LRT", 0, "C");
        // $pdf->Cell(20, 4, "Correction", "LRT", 0, "C");
        // $pdf->Cell(20, 4, "Count", "LRT", 1, "C");
        
        // $pdf->Cell(10, 4, "No.", "LRB", 0, "C");
        // $pdf->Cell(20, 4, "", "LRB", 0, "C");
        // $pdf->Cell(20, 4, "", "LRB", 0, "C");
        // $pdf->Cell(70, 4, "", "LRB", 0, "C");
        // $pdf->Cell(20, 4, "Type", "LRB", 0, "C");
        // $pdf->Cell(20, 4, "", "LRB", 1, "C");
        
    }

    public function Report($data)
    {
        $pdf = $this->pdf;

        $pdf->SetMargins(15, 43);
        $pdf->startPageGroup();
        $pdf->AddPage("P");


        $oldCode = "";
        $newCode = "";
        $sl_no = 1;
        $first = true;
        $j = 0;
        $this->Header($pdf);
        $pdf->SetFont('Times', '', 10);

        $table1 = '<style>
			td {
			    border: 0.5px solid black;
			}
			.lable {
				font-weight: bold;
			}
		 </style>
		<table cellpadding="3" cellspacing="0">
			<tr nobr="true">
				<td width="30" class="lable">SL NO.</td>				
                <td width="70" style="text-align:center" class="lable">Date</td>
                <td width="50" style="text-align:center" class="lable">QP Code.</td>
                <td width="200" style="text-align:center"  class="lable">Subject Name</td>
                <td width="100" style="text-align:center" class="lable">Correction Type</td>
                <td width="40" style="text-align:center" class="lable">Count</td>                
        </tr>';
        
        $pdf->SetFont('Times', '', 10);
							
		 			
	
        $slno = 1;
        foreach ($data as $key => $value) {

            if($value['fcorrtype']=='XR')
                $corrType='Photocopy';
            else if($value['fcorrtype']=='RV')
                $corrType = 'Revaluation';
            else if($value['fcorrtype']=='RT')
                $corrType = 'Re-Totalling';
            else if(($value['fcorrtype']=='CV'))
                $corrType = 'Challenge Valuation';
            else 
                $corrType = 'Result Improvement';
            
            $table1 .= '<tr nobr="true">
                    <td width="30" style="text-align:center">'.$slno.'</td>				
                    <td width="70" style="text-align:center">'.$value['fappdate'].'</td>
                    <td width="50" style="text-align:center">'.$value['fqpcode'].'</td>
                    <td width="200">'.$value['fsubname'].'</td>
                    <td width="100">'.$corrType.'</td>
                    <td width="40" style="text-align:center">'.$value['fappcount'].'</td>
                </tr>';
                $slno ++;
            
        }
    
        $table1 .= '</table>';
            // echo $table1;
            // var_dump($table1);die();

            $pdf->SetX(11);
            // $pdf->SetY(42);
            
            $pdf->writeHTML($table1, false, true, false, false, 'L');            
    }

    public function SendOutput()
    {
        // ob_end_clean();
        $this->pdf->Output("RVPCSummaryReport.pdf", "I");
    }
}

function getRvPcSummaryList($aobj_context)
{
    //$valuationType = $aobj_context->mobj_data['valuationType'];
    $univcode = $aobj_context->mobj_data['univcode'];
    $dateFrom = $aobj_context->mobj_data['dateFrom'];
    $dateTo   = $aobj_context->mobj_data['dateTo'];
    $qpcodeFrom   = $aobj_context->mobj_data['qpcodeFrom'];
    $qpcodeTo =  $aobj_context->mobj_data['qpcodeTo'];
    $regnoFrom = $aobj_context->mobj_data['regnoFrom'];
    $regnoTo = $aobj_context->mobj_data['regnoTo'];
    $correctionType = $aobj_context->mobj_data['correctionType'];
    $status = $aobj_context->mobj_data['status'];
    $reportType = $aobj_context->mobj_data['reportType'];
    $fexamrange   = $aobj_context->mobj_data['fexamrange'];

    $fyear = $aobj_context->mobj_data['fyear'];
    $fexamtype   = $aobj_context->mobj_data['fexamtype'];

    // var_dump($reportType);
    // die();


    if($correctionType == 'ALL'){
        $cnd = "";
    }else{
        $cnd = "and ifnull(r.fcorrtype,'') = '{$correctionType}'";
    }

    if($reportType == "CheckList")
    {
        include 'RvPcCheckList.php';
        getRvPcCheckList($aobj_context);
        return;
    }else{
        $query = "select date_format(r.fappdate,'%d/%m/%Y') as fappdate, s.fqpcode, s.fsubname, r.fcorrtype, count(appno) as fappcount 
        from res_stud r inner join subject s on r.fdegree = s.fdegree and 
        r.fexamno = s.fexamno and r.fsubcode = s.fcsubcode
        inner join student t on r.fdegree = t.fdegree and r.fregno = t.fregno
        where ifnull(fpaymentstatus,'') = 'success' and ifnull(fackdate,'') <> '' 
        and ifnull(r.fappdate,'') between date_format(str_to_date('{$dateFrom}','%d/%m/%Y'),'%Y-%m-%d') 
        and date_format(str_to_date('{$dateTo}','%d/%m/%Y'),'%Y-%m-%d')
        and ifnull(s.fqpcode,'') between '{$qpcodeFrom}' and '{$qpcodeTo}'
        and ifnull(r.fregno,'') between '{$regnoFrom}' and '{$regnoTo}'
        and r.fyear = '{$fyear}' and r.fexamtype = '{$fexamtype}'
        $cnd
        group by r.fappdate, s.fqpcode,r.fcorrtype 
        order by r.fappdate, s.fqpcode,r.fcorrtype";

        // var_dump($query);
        // die();
        $result = $aobj_context->pobj_db->GetAll($query);


    // var_dump($result);
    // die();
            // var_dump($query);
            // die();
        // var_dump($result);
        // die();
        $class_obj = new ReportObj();
        $class_obj->univcode = $univcode;
        $class_obj->DefaultConstructor($aobj_context);
    
        // If No data found Generate Blank Report
        if (count($result) > 0) {
            $class_obj->Report($result);
        }
        $class_obj->SendOutput();

        // else
        //  {
        //      $arr['msg'] = "No data found!";
        //     echo $aobj_context->mobj_output->ToJSONEnvelope($arr,-1,"failure");
        //     return;
        //  }
    }


}

?>