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


Current Path : /var/www/oasis/Report_details/
Upload File :
Current File : /var/www/oasis/Report_details/shortageReport.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;
    protected $last_page_flag = false;
    public function setData($aobj_context){
    	$this->aobj_context = $aobj_context;
    }

    public function Close() {
	    $this->last_page_flag = true;
	    parent::Close();
  	}
    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->SetMargins(5,36,20,true);	
		$this->SetFillColor(248, 248 ,255);		
		$img_path = $this->aobj_context->main_src."/img/logo.jpg";

		$exam_no = $this->aobj_context->mobj_data["exam_no"];

		
		if(file_exists($img_path)) 
			$this->Image($img_path,6,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','B',12);
		$this->Cell(0,4,'College: '.$this->aobj_context->col_name,0,1,'C');
		// $this->pdf->Cell(180,4,$this->fcollas.": [".$this->collcode."] ".$this->col_name,0,1,'C');
				 
		$this->SetFont('Times','B',12);
		$this->Ln(1);
	
		$cur_year = date("Y");
		$nextyear = ($cur_year+1)-2000;

	
		$this->Cell(0,5,"Degree: {$this->aobj_context->degree}",'0',1,'C');
		$this->Cell(0,5,"{$this->aobj_context->examdate}",'0',1,'C');
		//$this->Ln(1);
		$this->Cell(0,5,"Subject: {$this->aobj_context->fsubname}",'0',1,'C');

		$this->Ln(1);
			//$this->Ln(3);
		$this->SetFont('Times','B',10);

	
		
        $this->SetAutoPageBreak($auto_page_break, $bMargin);
        // set the starting point for the page content    
    }

    public function Footer() 
    {
        $this->SetY(-20);
        $this->SetFont('helvetica', 'I', 8);
        $this->Ln(1);
        $this->Cell(100, 10,'IP: '.$_SERVER["REMOTE_ADDR"], 0, 0, 'L');
        $this->Cell(110, 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();
		$this->collcode=$_SESSION['collcode'];
		$this->degree = $aobj_context->mobj_data["fdegree"];
		$this->fsubcode = $aobj_context->mobj_data["fsubcode"];
		$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->mobj_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(fcollcode,' - ',FCOLLNAME,', ',FTOWN) as col_name from college 
		where FCOLLCODE='{$this->collcode}'";
		$lobj_get_college_name = $this->aobj_context->mobj_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'];

		$get_degree_name="select distinct concat(d.fdegree,' - ',d.fdescpn) as degree,upper(concat(d.fexamname,' ',d.fexamdate,' Examination')) as examdate,
		concat(s.fsubcode,' - ',s.fsubname) as fsubname from degree d inner join subject s on
		d.fdegree = s.fdegree and d.fexamno = s.fexamno
		where d.fdegree='{$this->degree}' 
		and s.fcsubcode = '{$this->fsubcode}'";
		
		$lobj_get_degree_name = $this->aobj_context->mobj_db->GetRow($get_degree_name);
		$aobj_context->degree = $lobj_get_degree_name['degree'];
		$aobj_context->fsubname = $lobj_get_degree_name['fsubname'];
		$aobj_context->examdate = $lobj_get_degree_name['examdate'];		
		
		$this->pdf= new MYPDF('P');
		
		$this->pdf->setData($aobj_context);
	}

	function writeReport($resattshort,$resisshort)
	{
		$pdf=$this->pdf;
		$oldcombcode = '';
		$newcombcode = '';
		$i = 1;
		$Total = 0;
		$this->pdf->AddPage();

		$this->pdf->SetFont('Times','B',12);
		$this->pdf->Ln(1);
		$this->pdf->Cell(0,6,'Attendance List',"0",1,"C");
		$this->pdf->Cell(0,6,'Note: Attendance Shortage Percentage 75',"0",1,"L");
		if(count($resattshort) > 0)
		{
			$this->pdf->Cell(8,6,'#',"LRT",0,"C");
			$this->pdf->Cell(45,6,'Reg. No.',"LRT",0,"C");
			$this->pdf->Cell(70,6,"Name","LRT",0,"C");
			$this->pdf->Cell(15,6,'Conduct',"LRT",0,"C");
			$this->pdf->Cell(15,6,'Attend.',"LRT",0,"C");
			$this->pdf->Cell(15,6,'%',"LRT",0,"C");
			$this->pdf->Cell(25,6,'Remarks',"LRT",1,"C");

		}

		foreach($resattshort as $key => $value)
		{
			if($this->pdf->getY() > 260)
			{
				$this->pdf->AddPage();
				$this->pdf->SetFont('Times','B',12);
				$this->pdf->Cell(0,6,'Attendance List',"0",1,"C");
				$this->pdf->Cell(0,6,'Note: Attendance Shortage Percentage 75',"0",1,"L");
				
				$this->pdf->Cell(8,6,'#',"LRT",0,"C");
				$this->pdf->Cell(45,6,'Reg. No.',"LRT",0,"C");
				$this->pdf->Cell(70,6,"Name","LRT",0,"C");
				$this->pdf->Cell(15,6,'Conduct',"LRT",0,"C");
				$this->pdf->Cell(15,6,'Attend',"LRT",0,"C");
				$this->pdf->Cell(15,6,'%',"LRT",0,"C");
				$this->pdf->Cell(25,6,'Remarks',"LRT",1,"C");
			}
			$this->pdf->SetFont('Times','',12);
			$this->pdf->Cell(8,6,$i,"1",0,"C");
			$this->pdf->Cell(45,6,$value['fregno'],"1",0,"C");
			$this->pdf->Cell(70,6,$value['fname'],"1",0,"L");
			$this->pdf->Cell(15,6,$value['conducted'],"1",0,"C");
			$this->pdf->Cell(15,6,$value['attended'],"1",0,"C");
			$this->pdf->Cell(15,6,$value['percent'],"1",0,"C");
			$this->pdf->Cell(25,6,$value['remarks'],"1",1,"L");
			$i++;
		}
		$i=1;
		$this->pdf->AddPage();
		$this->pdf->SetFont('Times','B',12);
		$this->pdf->Cell(0,6,'IA Marks List',"0",1,"C");
		$this->pdf->Cell(0,6,'Note: IA Shortage Percentage 35',"0",1,"L");
		if(count($resisshort) > 0)
		{
			$this->pdf->Cell(8,6,'#',"LRT",0,"C");
			$this->pdf->Cell(45,6,'Reg. No.',"LRT",0,"C");
			$this->pdf->Cell(70,6,"Name","LRT",0,"C");
			$this->pdf->Cell(15,6,'Max.',"LRT",0,"C");
			$this->pdf->Cell(15,6,'Sec.',"LRT",0,"C");
			$this->pdf->Cell(15,6,'%',"LRT",0,"C");
			$this->pdf->Cell(25,6,'Remarks',"LRT",1,"C");

		}
		foreach($resisshort as $key => $value)
		{
			if($this->pdf->getY() > 260)
			{
				$this->pdf->AddPage();
				$this->pdf->SetFont('Times','B',12);
				$this->pdf->Cell(0,6,'IA Marks List',"0",1,"C");
				$this->pdf->Cell(0,6,'Note: IA Shortage Percentage 35',"0",1,"L");		
				$this->pdf->Cell(8,6,'#',"LRT",0,"C");
				$this->pdf->Cell(45,6,'Reg. No.',"LRT",0,"C");
				$this->pdf->Cell(70,6,"Name","LRT",0,"C");
				$this->pdf->Cell(15,6,'Max.',"LRT",0,"C");
				$this->pdf->Cell(15,6,'Sec.',"LRT",0,"C");
				$this->pdf->Cell(15,6,'%',"LRT",0,"C");
				$this->pdf->Cell(25,6,'Remarks',"LRT",1,"C");
			}
			$this->pdf->SetFont('Times','',12);
			$this->pdf->Cell(8,6,$i,"1",0,"C");
			$this->pdf->Cell(45,6,$value['fregno'],"1",0,"C");
			$this->pdf->Cell(70,6,$value['fname'],"1",0,"L");
			$this->pdf->Cell(15,6,$value['maxmarks'],"1",0,"C");
			$this->pdf->Cell(15,6,$value['secmarks'],"1",0,"C");
			$this->pdf->Cell(15,6,$value['percent'],"1",0,"C");
			$this->pdf->Cell(25,6,$value['remarks'],"1",1,"L");
			$i++;
		}

		
		
		
	}
		
	function SendOutput()
	{
		ob_end_clean();
		$this->pdf->Output("Shortage_List_{$_SESSION['collcode']}.pdf","I");
	}	 
}

function shortageReport($aobj_context)
{
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

	$fdegree = $aobj_context->mobj_data["fdegree"];
    $fexamno = $aobj_context->mobj_data["fexamno"];
    $fsubcode = $aobj_context->mobj_data["fsubcode"];
    $fcollcode = $_SESSION['collcode'];


    $query = "select a.fdegree,a.fexamno,a.fregno,left(st.fname,25) as fname,left(a.fsubcode,4),s.fsubname,sum(a.ftotc) as conducted ,
	sum(a.ftota) as attended,round(((sum(a.ftota) / sum(a.ftotc))*100)) as percent,
	if(round(((sum(a.ftota) / sum(a.ftotc))*100)) < 75,'Not Eligible','') as remarks 
	from attend a,subject s, student st
    where a.fdegree ='{$fdegree}' and ifnull(a.fentdate,'')<>'' 
	and a.fsubcode=s.fcsubcode and a.fdegree=s.fdegree
	and st.fdegree = a.fdegree and st.fcollcode = a.fcollcode and st.fregno = a.fregno
    and s.fsubcode = left('{$fsubcode}',4)
    and a.fcollcode = '{$fcollcode}'
    group by a.fdegree,a.fexamno,a.fregno,left(a.fsubcode,4),s.fsubname
    order by percent";
	//var_dump($query);
    $resattshort = $aobj_context->mobj_db->GetAll($query);

    $query = "select m.fdegree,m.fexamno,m.fregno,left(st.fname,25) as fname,left(m.fsubcode,4),s.fsubname,
	sum(s.fsmaxmarks) as maxmarks, sum(if(m.fmarks=-1,0,m.fmarks)) secmarks, 
	round(((sum(if(m.fmarks=-1,0,m.fmarks)) / sum(s.fsmaxmarks))*100)) as percent,
	if(round(((sum(if(m.fmarks=-1,0,m.fmarks)) / sum(s.fsmaxmarks))*100)) < 35,'Not Eligible','') as remarks
    from marks m,subject s, student st
    where m.fdegree like '{$fdegree}' and m.fexamno = '{$fexamno}'
	and m.fdegree=s.fdegree and m.fsubcode=s.fcsubcode and s.fintass='T' and s.fretain='T'
	and st.fdegree = m.fdegree and st.fcollcode = m.fcollcode and st.fregno = m.fregno
    and s.fsubcode = left('{$fsubcode}',4)
    and m.fcollcode = '{$fcollcode}'
    group by m.fdegree,m.fexamno,m.fregno,left(m.fsubcode,4),s.fsubname
    order by percent";
	//var_dump($query);
	//die();
    $resisshort = $aobj_context->mobj_db->GetAll($query);

	$class_obj = new AddmissionApplication();
	
	$class_obj->DefaultConstructor($aobj_context);

	$class_obj->writeReport($resattshort,$resisshort);

	$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.
}

?>