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


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

<?php
$main_src=substr($_SERVER['SCRIPT_FILENAME'],0,strlen($_SERVER['SCRIPT_FILENAME'])-7);
//$pdf_writer_class =$main_src."/tarka_pdf/fpdf.php";
$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 $aobj_context;
     
    public function setData($aobj_context){
    	$this->aobj_context = $aobj_context;
    }
    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->SetMargins(12,45,20,true);	
		$this->SetFillColor(248, 248 ,255);		
		$img_path = $this->aobj_context->main_src."/img/".$this->aobj_context->univcode."_logo.jpg";
		
		if(file_exists($img_path)) 
			$this->Image($img_path,8,3,20,20);
		
		$this->SetFont('Times','B',13);
		$this->SetY(5);
		$this->Cell(0,4,$this->aobj_context->FUNIVNAME,0,1,'C');
        
		$this->SetFont('Times','B',12);
		$this->Ln(1);
	
		$cur_year = date("Y");
		
		$this->Cell(0,5,"Degree : {$this->aobj_context->fdegree}",'0',1,'C');
        $this->Ln(1);
        $this->Cell(0,4,$this->aobj_context->ftype,0,1,'C');
		
		$this->Ln(10);
        if($this->aobj_context->ftype == 'Summary'){
            $table = '<style>
                    td, th {
                        border:  0.5px solid black;
                    }
                    </style>
                    <table cellpadding="2" cellspacing="0">
                    ';
            $table .= '<thead><tr nobr="true">';
            $table .= '<th width="25" align="center"><b>Sl. No.</b></th>';
            $table .= '<th width="60" align="center"><b>Date</b></th>';
            $table .= '<th width="100" align="center"><b>Gateway</b></th>';
            $table .= '<th width="100" align="center"><b>Type</b></th>';
            $table .= '<th width="100" align="center"><b>Student Count</b></th>';
            $table .= '<th width="70" align="center"><b>Total Fee</b></th>';
            $table .= '</tr></thead>';
            $table .='</table>';
        }else{
            $table = '<style>
            td, th {
                border: 0.5px solid black;
            }
            </style>
            <table cellpadding="2" cellspacing="0">
            ';
            $table .= '<thead><tr nobr="true">';
            $table .= '<th width="25" align="center"><b>Sl. No.</b></th>';
            $table .= '<th width="70" align="center"><b>Application No.</b></th>';
            $table .= '<th width="80" align="center"><b>Reg. No</b></th>';
            $table .= '<th width="100" align="center"><b>Name</b></th>';
            $table .= '<th width="80" align="center"><b>Degree</b></th>';
            $table .= '<th width="40" align="center"><b>Fee Type</b></th>';
            $table .= '<th width="50" align="center"><b>Gateway</b></th>';
            $table .= '<th width="60" align="center"><b>Date</b></th>';
            $table .= '<th width="40" align="center"><b>Total Fee</b></th>';
            $table .= '</tr></thead>';

            $table .='</table>';
        }
		$this->writeHTML($table, true, false, true, false, 'L');
        $this->SetAutoPageBreak($auto_page_break, $bMargin);
    }

    public function Footer() 
    {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 8);
        $this->Cell(50, 10,'IP : '.$_SERVER["REMOTE_ADDR"], 0, 0, 'L');
        $this->Cell(80, 10,'Date : ' .$this->aobj_context->current_date, 0, 0, 'C');

        $this->Cell(70, 10,'Page ' .$this->getPageNumGroupAlias().'/'.$this->getPageGroupAlias(), 0, 1, 'R');
    }
}

class AddmissionApplication
{	
	function DefaultConstructor($aobj_context)
	{
		$this->aobj_context=$aobj_context;
		//$this->pdf=  new FPDF();
		$aobj_context->univcode = $aobj_context->mobj_data["univcode"];
        $aobj_context->ftype = $aobj_context->mobj_data["ftype"];
		$aobj_context->degree = $aobj_context->mobj_data["fdegree"];
		$this->ip=$_SERVER["REMOTE_ADDR"];
		$get_date="select DATE_FORMAT(now(), '%d/%m/%Y') as now_date";
		$obj=$this->aobj_context->pobj_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);
		
		$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->FEXAMAPPREQ=$lobj_get_coll_name['FEXAMAPPREQ'];
		$aobj_context->FUNIVCODE=$lobj_get_coll_name['FUNIVCODE']; 

		$get_college_name="select concat(FCOLLNAME,', ',FTOWN) as col_name from college where FCOLLCODE='{$this->collcode}'";
		$lobj_get_college_name = $this->aobj_context->pobj_db->GetRow($get_college_name);
		$aobj_context->col_name = $lobj_get_college_name['col_name'];
		$this->aobj_context->current_date =  $obj['now_date'];
		$this->current_date = $obj['now_date'];
        $aobj_context->fdegree = $aobj_context->degree;
        
        if($aobj_context->degree != 'All'){
            $get_degree_name="select concat(fdegree,'-',fdescpn) as degree 
            from degree where fdegree='{$this->degree}' and fexamno = 'A'";
            $lobj_get_degree_name = $this->aobj_context->pobj_db->GetRow($get_degree_name);
		    $aobj_context->fdegree = $lobj_get_degree_name['degree'];
        }
		
		$this->pdf= new MYPDF('P');
		$this->pdf->setData($aobj_context);
	}

	
		
	function writeReport($admCollData,$ftype)
	{
		$pdf=$this->pdf;
		$pdf->SetMargins(12,45,20,false);
		$pdf->startPageGroup();
		$pdf->AddPage("P");
		$pdf->SetFont('Times','',10);

		$table5 = '<style>
			td, th {
			    border: 0.5px solid black;
			}
		 </style>
		 <table cellpadding="5" cellspacing="0">
			';
		$i = 0;

        if($ftype == 'Summary'){
            $i = 0;
            
            foreach($admCollData as $key => $value)
		    {
			    $table5 .= '<tr nobr="true">';
                $table5 .= '<td width="25" align="center">'.++$i.'</td>';
                $table5 .= '<td width="60" align="center">'.$value['fackdate'].'</td>';
                $table5 .= '<td width="100" align="left">'.$value['fpaymentype'].'</td>';
                $table5 .= '<td width="100" align="left">'.$value['ftype'].'</td>';
                $table5 .= '<td width="100" align="center">'.$value['appcnt'].'</td>';
                $table5 .= '<td width="70" align="center">'.$value['ftotalfee'].'</td>';
                $table5 .= '</tr>';
                // if($i % 50 == 0)
                // {
                   
                //     $pdf->writeHTML($table5, false, false, true, false, 'L');
                //     $table5 = '<style>
                //         td {
                //             border: 0.5px solid black;
                //         }
                //     </style>';
                   
                // }
               
		    }
            $table5 .='</table>';
            $pdf->writeHTML($table5, false, false, true, false, 'L');
        }else{

            foreach($admCollData as $key => $value)
		    {
			    $table5 .= '<tr nobr="true">';
                $table5 .= '<td width="25" align="center">'.++$i.'</td>';
                $table5 .= '<td width="70" align="center">'.$value['appno'].'</td>';
                $table5 .= '<td width="80" align="center">'.$value['fregno'].'</td>';
                $table5 .= '<td width="100" align="left">'.$value['fname'].'</td>';
                $table5 .= '<td width="80" align="left">'.$value['FDESCPN'].'</td>';
                $table5 .= '<td width="40" align="center">'.$value['ftype'].'</td>';
                $table5 .= '<td width="50" align="center">'.$value['fpaymentype'].'</td>';
                $table5 .= '<td width="60" align="center">'.$value['fackdate'].'</td>';
                $table5 .= '<td width="40" align="center">'.$value['ftotalfee'].'</td>';
                $table5 .= '</tr>';
                // $i++;
                // if($i % 50 == 0)
                // {
                //     $table5 .='</table>';
                //     $pdf->writeHTML($table5, false, false, true, false, 'L');
                //     $table5 = '<style>
                //             td, th {
                //                 border: 0.5px solid black;
                //             }
                //         </style>
                //         <table cellpadding="2" cellspacing="0">';
                // }
		    }
            $table5 .='</table>';
            $pdf->writeHTML($table5, false, false, true, false, 'L');
        }
	}
		
	function SendOutput()
	{
		ob_end_clean();
		$this->pdf->Output("FeeDetails.pdf","I");
	}	 
}

function getFeeReportDet($aobj_context)
{
	$aobj_context->pobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
    $univcode = $aobj_context->mobj_data["univcode"];
    $deggrp = $aobj_context->mobj_data["fdeggrp"];
    $fcollcode = $aobj_context->mobj_data["fcollcode"];
    $fdegree = $aobj_context->mobj_data["fdegree"];
    $fgateway = $aobj_context->mobj_data["fgateway"];
    $fmode = $aobj_context->mobj_data["fmode"];
    $ftype = $aobj_context->mobj_data["ftype"];
    $fdatefrom = $aobj_context->mobj_data["fdatefrom"];
    $fdateto = $aobj_context->mobj_data["fdateto"];
    
    $arr = [];
    $collegeArr = explode(",", $fcollcode);
    $data = "";
    foreach($collegeArr as $key => $val){
        if($val == 'All'){
            $data = "ALL";
        }else{
            $col .= "'".$val."',";
        }
    }
    $array = substr_replace($col ,"",-1);
    
    if($data === 'ALL'){
        $arr = 'ALL';
    }else{
        $arr = $array;
    }
    
    if($arr !== 'ALL'){
        $cond1 = "and fcollcode in ($arr)";
    }
    if($arr !== 'ALL'){
        $cond4 = "and a.fcollcode in ($arr)";
    }

    $fdegreearr = [];
    $fdegreeArr = explode(",", $fdegree);
    $degdata = "";
    foreach($fdegreeArr as $key => $val){
        if($val == 'All'){
            $degdata = "ALL";
        }else{
            $degcol .= "'".$val."',";
        }
    }
    $fdegreearray = substr_replace($degcol ,"",-1);
    
    if($degdata === 'ALL'){
        $fdegreearr = 'ALL';
    }else{
        $fdegreearr = $fdegreearray;
    }
    
    if($fdegreearr !== 'ALL'){
        $cond2 = "and fdegree in ($fdegreearr)";
    }
    if($fdegreearr !== 'ALL'){
        $cond5 = "and a.fdegree in ($fdegreearr)";
    }

    if($fgateway != "All")
        $cond3 = "and FPAYMENTYPE = '{$fgateway}'";

    $query = "select distinct date_format(fackdate,'%d/%m/%Y') as fackdate,
    'Exam' as ftype,ifnull(FACKUSER,'')as FACKUSER,
    ifnull(fpaymentype,'')as fpaymentype,count(appno) as appcnt,
    sum(ftotalfee) as ftotalfee
    from appcandsum where ifnull(fackdate,'') <>''
    AND date_format(fackdate,'%Y-%m-%d') BETWEEN '{$fdatefrom}' AND '{$fdateto}'
    $cond1 $cond2 $cond3
    group by date_format(fackdate,'%Y-%m-%d'),fpaymentype";

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

    $query1 = "select distinct date_format(fackdate,'%d/%m/%Y') as fackdate,
    'RV/RT' as ftype,
    FACKUSER as fpaymentype,count(appno) as appcnt,sum(FAMOUNT) as ftotalfee
    from res_stud where ifnull(fackdate,'') <> ''
    AND date_format(fackdate,'%Y-%m-%d') BETWEEN '{$fdatefrom}' AND '{$fdateto}'
    $cond1 $cond2 $cond3
    group by date_format(fackdate,'%Y-%m-%d'),FACKUSER";

    $result1 = $aobj_context->pobj_db->GetAll($query1);

    $query2 = "select distinct a.appno,'Exam' as ftype,st.fregno,st.fname,d.FDESCPN,
    ifnull(a.fpaymentype,'')as fpaymentype,
    a.fackdate,a.FPAYMENTREMARKS, a.ftotalfee,FACKUSER
    from appcandsum a inner join student st on a.fregno = st.fregno
    inner join degree d on d.fdegree = a.fdegree and d.fexamno = 'A'
    inner join appcanddet ac on ac.fregno = st.fregno and a.appno = ac.appno
    where ifnull(fackdate,'') <> ''
    AND date_format(fackdate,'%Y-%m-%d') BETWEEN '{$fdatefrom}' AND '{$fdateto}'
    $cond4 $cond5 $cond3
    order by ac.appno";

    $result2 = $aobj_context->pobj_db->GetAll($query2);

    $query3 = "select distinct a.appno,'RV/RT' as ftype,st.fregno,st.fname,d.FDESCPN,
    a.fackdate,FPAYMENTREMARKS,a.FTOTAL as ftotalfee,ifnull(FACKUSER,'')as fpaymentype,FACKUSER
    from res_stud a inner join student st on a.fregno = st.fregno
    inner join degree d on d.fdegree = a.fdegree and d.fexamno = 'A'
    where ifnull(fackdate,'') <> ''
    AND date_format(fackdate,'%Y-%m-%d') BETWEEN '{$fdatefrom}' AND '{$fdateto}'
    $cond4 $cond5 $cond3
    group by a.appno
    order by fackdate desc";

    $result3 = $aobj_context->pobj_db->GetAll($query3);
    
    $sumarr = [];
    
    if($ftype == 'Summary')
        $mergedArray = array_merge($result, $result1);
    else
        $mergedArray = array_merge($result2, $result3);

	$class_obj = new AddmissionApplication();
	
	$class_obj->DefaultConstructor($aobj_context);
    
	$class_obj->writeReport($mergedArray,$ftype);

	$class_obj->SendOutput();
}

?>