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.116.118.214
<?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,$sessionfull){
$this->aobj_context = $aobj_context;
$this->doe = $aobj_context->mobj_data["doe"];
$this->sessionfull = $sessionfull;
$this->reportType = $aobj_context->mobj_data["reportType"];
$this->qprngfrom = $aobj_context->mobj_data["qprngfrom"];
$this->qprngto = $aobj_context->mobj_data["qprngto"];
$fdeggrp = $aobj_context->mobj_data["dgp"];
}
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
// $Degree = $aobj_context->mobj_data["deggrp"];
// $this->SetMargins(6,30,5,true);
$this->SetFillColor(248, 248 ,255);
$img_path = $this->aobj_context->main_src."/img/logo.jpg";
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','BU',12);
$this->Ln(1);
$cur_year = date("Y");
$this->Cell(0,5,' Exam Attendance List - '.$this->reportType,'0',1,'C');
$this->SetFont('Times','',12);
$this->Cell(0,6," Date Of Exam : ".$this->doe,"0",1,"C");
$this->Cell(0,6,"Exam Session : ".$this->sessionfull, "0",1,"C");
$this->Cell(0,6," QPcode Range : ".$this->qprngfrom." - ".$this->qprngto,"0",0,"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);
$this->Cell(90, 10,'IP : '.$_SERVER["REMOTE_ADDR"], 0, 0, 'L');
$this->Cell(100, 10,'Date : '.date("d-m-Y "), 0, 0, 'C');
$this->Cell(90, 10,'Page ' .$this->getPageNumGroupAlias().'/'.$this->getPageGroupAlias(), 0, 1, 'R');
}
}
class ExamAttendance {
function DefaultConstructor($aobj_context,$qprngfrom,$qprngto,$doe,$sessionfull,$reportType)
{
$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);
$db = $this->db;
$this->reportType = $reportType;
$get_coll_name="select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
FUNIVADD1 as 'state', pdf_logo_path,
ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From {$db}.control";
$lobj_get_coll_name=$this->aobj_context->mobj_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'];
$this->pdf= new MYPDF('L');
$this->pdf->setData($aobj_context,$sessionfull);
}
function tableHeader($pdf)
{
$pdf->SetFont('Times','B',10);
if($this->reportType == 'Center Wise'){
$pdf->Cell(8,6,"Sl.","LRT",0,"C");
$pdf->Cell(11,6,"Center","LRT",0,"C");
$pdf->Cell(79,6,"Center","LRT",0,"C");
$pdf->Cell(31,6,"Town","LRT",0,"C");
$pdf->Cell(13,6,"QP","LRT",0,"C");
$pdf->Cell(79,6,"Subject","LRT",0,"C");
$pdf->Cell(12,6,"Total","LRT",0,"C");
$pdf->Cell(12,6,"Absent","LRT",0,"C");
$pdf->Cell(15,6,"Malpract.","LRT",0,"C");
$pdf->Cell(12,6,"Present","LRT",1,"C");
$pdf->Cell(8,6,"No","LRB",0,"C");
$pdf->Cell(11,6,"Code","LRB",0,"C"); //w h txt brd pos align
$pdf->Cell(79,6,"Name","LBR",0,"C");
$pdf->Cell(31,6,"","LBR",0,"C");
$pdf->Cell(13,6,"Code","LBR",0,"C");
$pdf->Cell(79,6,"","LBR",0,"L");
$pdf->Cell(12,6,"Count","LBR",0,"C");
$pdf->Cell(12,6,"Count","LBR",0,"C");
$pdf->Cell(15,6,"Count","LBR",0,"C");
$pdf->Cell(12,6,"Count","LBR",1,"C");
$pdf->SetFont('Times','',10);
}
if($this->reportType == 'QPCode wise'){
$pdf->Cell(8,6,"Sl.","LRT",0,"C");
$pdf->Cell(13,6,"QP","LRT",0,"C");
$pdf->Cell(79,6,"Subject","LRT",0,"C");
$pdf->Cell(11,6,"Center","LRT",0,"C");
$pdf->Cell(79,6,"Center","LRT",0,"C");
$pdf->Cell(31,6,"Town","LRT",0,"C");
$pdf->Cell(12,6,"Total","LRT",0,"C");
$pdf->Cell(12,6,"Absent","LRT",0,"C");
$pdf->Cell(15,6,"Malpract.","LRT",0,"C");
$pdf->Cell(12,6,"Present","LRT",1,"C");
$pdf->Cell(8,6,"No","LRB",0,"C");
$pdf->Cell(13,6,"Code","LBR",0,"C");
$pdf->Cell(79,6,"","LBR",0,"L");
$pdf->Cell(11,6,"Code","LRB",0,"C"); //w h txt brd pos align
$pdf->Cell(79,6,"Name","LBR",0,"C");
$pdf->Cell(31,6,"","LBR",0,"C");
$pdf->Cell(12,6,"Count","LBR",0,"C");
$pdf->Cell(12,6,"Count","LBR",0,"C");
$pdf->Cell(15,6,"Count","LBR",0,"C");
$pdf->Cell(12,6,"Count","LBR",1,"C");
$pdf->SetFont('Times','',10);
}
}
function writeReport($exattendancelist)
{
$pdf=$this->pdf;
$pdf->SetMargins(6,42);
$pdf->startPageGroup();
$pdf->AddPage("L");
$pdf->SetFont('Times','',10);
$this->tableHeader($pdf);
$oldCode= "";
$newCode = "";
foreach ($exattendancelist as $key => $value) {
// $sl_no++;
// var_dump($this->reportType);
$landline = 0;
$colname1 = strtolower(substr($value['fcollname'],0,42));
$colname2 = strtolower(substr($value['fcollname'],42));
$town1 = substr($value['ftown'],0,17);
$town2 = substr($value['ftown'],17);
$sub1 = substr($value['fsubname'],0,50);
$sub2 = substr($value['fsubname'],50);
if($this->reportType == 'Center Wise'){
$newCode = $value['fcntrcode'];
if($newCode != $oldCode)
{
$sl_no++;
$pdf->Cell(8,6,$sl_no,"LRT",0);
$pdf->cell(11,6,$value['fcntrcode'],"LRT",0,"C");
$pdf->cell(79,6,ucwords($colname1),"LRT",0,"L");
$pdf->cell(31,6,$town1,"LRT",0,"L");
}else
{
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,"","LR",0,"L");
}
if($colname2 || $town2 || $sub2){
$pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
$pdf->cell(79,6,$sub1,"LRT",0,"L");
$pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
$pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
if($pdf->getY() > 182){
$this->tableHeader($pdf);
}
if($colname2){
if($newCode != $oldCode){
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,$colname2,"LR",0,"L");
$pdf->cell(31,6,"","LR",0,"L");
}else{
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,"","LR",0,"C");
}
$pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
$pdf->cell(79,6,$sub1,"LRT",0,"L");
$pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
$pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
}
else if($town2){
if($newCode != $oldCode){
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,$town2,"LR",0,"L");
}else{
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,"","LR",0,"C");
}
$pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
$pdf->cell(79,6,$sub1,"LRT",0,"L");
$pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
$pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
}
else if($sub2){
if($newCode != $oldCode){
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,"","LR",0,"L");
}else{
$pdf->Cell(8,6,"","LR",0);
$pdf->cell(11,6,"","LR",0,"C");
$pdf->cell(79,6,"","LR",0,"L");
$pdf->cell(31,6,"","LR",0,"L");
$pdf->cell(13,6,"","LR",0,"C");
$pdf->cell(79,6,$sub2,"LBR",0,"L");
$pdf->cell(12,6,"","LBR",0,"R");
$pdf->cell(12,6,"","LBR",0,"R");
$pdf->cell(15,6,"","LBR",0,"R");
$pdf->cell(12,6,"","LBR",1,"R");
}
}
if($pdf->getY() > 181){
// $pdf->cell(268,"","","T",1);
$this->tableHeader($pdf);
}
}else{
$pdf->cell(13,6,$value['fqpcode'],"1",0,"L");
$pdf->cell(79,6,$sub1,"1",0,"L");
$pdf->cell(12,6,$value['tcount'],"1",0,"R");
$pdf->cell(12,6,$value['abcount'],"1",0,"R");
$pdf->cell(15,6,$value['mpcount'],"1",0,"R");
$pdf->cell(12,6,$value['prcount'],"1",1,"R");
if($pdf->getY() > 182){
$this->tableHeader($pdf);
}
}
$oldCode = $newCode;
}
if($this->reportType == 'QPCode wise'){
$sl_no++;
$pdf->Cell(8,6,$sl_no,"LRT",0);
$pdf->cell(13,6,$value['fqpcode'],"LRT",0,"C");
$pdf->cell(79,6,$sub1,"LRT",0,"L");
$pdf->cell(11,6,$value['fcntrcode'],"LRT",0,"C");
$pdf->cell(79,6,ucwords($colname1),"LRT",0,"L");
$pdf->cell(31,6,$town1,"LRT",0,"L");
$pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
$pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
$pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
if($pdf->getY() > 182){
$this->tableHeader($pdf);
}
if($colname2 || $town2 || $sub2){
if($sub2){
$pdf->Cell(8,6,"","LBR",0);
$pdf->cell(13,6,"","LBR",0,"C");
$pdf->cell(79,6,$sub2,"LBR",0,"L");
$pdf->cell(11,6,"","LRT",0,"C");
$pdf->cell(79,6,"","LRT",0,"L");
$pdf->cell(31,6,"","LRT",0,"L");
$pdf->cell(12,6,"","LRT",0,"R");
$pdf->cell(12,6,"","LRT",0,"R");
$pdf->cell(15,6,"","LRT",0,"R");
$pdf->cell(12,6,"","LRT",1,"R");
}
if($colname2){
$pdf->Cell(8,6,"","LBR",0);
$pdf->cell(13,6,"","LBR",0,"C");
$pdf->cell(79,6,"","LBR",0,"L");
$pdf->cell(11,6,"","LBR",0,"C");
$pdf->cell(79,6,$colname2,"LBR",0,"L");
$pdf->cell(31,6,$town2,"LBR",0,"L");
$pdf->cell(12,6,"","LBR",0,"R");
$pdf->cell(12,6,"","LBR",0,"R");
$pdf->cell(15,6,"","LBR",0,"R");
$pdf->cell(12,6,"","LBR",1,"R");
}
// if($town2){
// $pdf->Cell(8,6,"","LBR",0);
// $pdf->cell(13,6,"","LBR",0,"C");
// $pdf->cell(79,6,"","LBR",0,"L");
// $pdf->cell(11,6,"","LBR",0,"C");
// $pdf->cell(79,6,"","LBR",0,"L");
// $pdf->cell(31,6,$town2,"LBR",0,"L");
// $pdf->cell(12,6,"","LBR",0,"R");
// $pdf->cell(12,6,"","LBR",0,"R");
// $pdf->cell(15,6,"","LBR",0,"R");
// $pdf->cell(12,6,"","LBR",1,"R");
// }
if($pdf->getY() > 182){
// $pdf->cell(268,"","","T",1);
$this->tableHeader($pdf);
}
}
}
}
$pdf->cell(272,"","","T",1);
}
function SendOutput()
{
// ob_end_clean();
$this->pdf->Output("ExamAttendanceList".$this->reportType.".pdf","D");
}
}
function getExamAttendance($aobj_context){
// $univcode = $aobj_context->mobj_data["univcode"];
// $doe = $aobj_context->mobj_data["doe"];
// $sessionType = $aobj_context->mobj_data["sessionType"];
// $reportType = $aobj_context->mobj_data["reportType"];
// $qprngfrom = $aobj_context->mobj_data["qprngfrom"];
// $qprngto = $aobj_context->mobj_data["qprngto"];
$univcode = $aobj_context->mobj_data["univcode"];
$doe = $aobj_context->mobj_data["doe"];
$sessionType = $aobj_context->mobj_data["sessionType"];
$reportType = $aobj_context->mobj_data["reportType"];
$qprngfrom = $aobj_context->mobj_data["qprngfrom"];
$qprngto = $aobj_context->mobj_data["qprngto"];
$fdeggrp = $aobj_context->mobj_data["dgp"];
$date = date("Y-m-d",strtotime(str_replace('/', '-', $doe)));
$query = "SELECT fdbname FROM dbname WHERE funivcode = $univcode";
$result = $aobj_context->mobj_db->GetRow($query);
$db = $result['fdbname'];
$session = "";
$sessionfull ="";
if($sessionType == 'm'){
$session = 'AM';
$sessionfull = 'Morning';
}else{
$session = 'PM';
$sessionfull = 'Afternoon';
}
if($reportType == 'Center Wise'){
$query = "SELECT s.fcntrcode, cl.fcollname, cl.ftown, s.fqpcode, fsubname,s.fdoe,
pcount AS tcount, IFNULL(abcount,0) AS abcount,
IFNULL(mpcount,0) AS mpcount, (pcount-IFNULL(abcount,0)-IFNULL(mpcount,0)) AS prcount FROM
(SELECT a.fcntrcode, a.fqpcode,a.fdoe, a.fsubname, COUNT(a.fregno) AS pcount FROM
(SELECT cs.fcntrcode, s.fqpcode, s.fsubname,date_format(s.fdoe, '%d/%m/%Y') as fdoe, cd.fregno
FROM {$db}.canddet cd INNER JOIN {$db}.candsum cs ON cd.fregno = cs.fregno
AND cd.fdegree = cs.fdegree AND cd.fcollcode = cs.fcollcode
INNER JOIN {$db}.subject s ON s.fdegree = cd.fdegree AND s.fexamno = cd.fexamno
AND s.fsubcode = cd.fsubcode AND IFNULL(s.ftheory, '') = 'T' AND IFNULL(s.fintass,'') = 'F'
WHERE IFNULL(fpresent,'') = 'P' AND IFNULL(fpassmth,'') = ''
AND IFNULL(s.fdoe, '0000-00-00') = '$date' AND s.fsession LIKE '{$sessionType}%'
AND s.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}') a
GROUP BY a.fcntrcode, a.fqpcode) s INNER JOIN {$db}.college cl ON s.fcntrcode = cl.fcollcode
LEFT JOIN
(SELECT a.fcollcode, a.fqpcode, SUM(IF(fabstype = 'QpA', 1, 0))AS abcount, SUM(IF(fabstype = 'QpM', 1, 0))AS mpcount
FROM {$db}.absent a
WHERE a.fregno <> 'nil' AND a.fregno <> '0'
AND '$date' = DATE_FORMAT(a.fdoe,'%Y-%m-%d') AND fsession like '{$sessionType}%' AND fcollcode <> ''
AND a.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}'
GROUP BY fcollcode, fqpcode) t
ON s.fcntrcode = t.fcollcode AND s.fqpcode = t.fqpcode
ORDER BY s.fcntrcode, s.fqpcode";
}else if($reportType == 'QPCode wise'){
$query = "SELECT s.fcntrcode, cl.fcollname, cl.ftown, s.fqpcode, fsubname, s.fdoe,
pcount AS tcount, IFNULL(abcount,0) AS abcount,
IFNULL(mpcount,0) AS mpcount, (pcount-IFNULL(abcount,0)-IFNULL(mpcount,0)) AS prcount FROM
(SELECT a.fcntrcode, a.fqpcode,a.fdoe, a.fsubname, COUNT(a.fregno) AS pcount FROM
(SELECT cs.fcntrcode, s.fqpcode, s.fsubname, cd.fregno, date_format(s.fdoe, '%d/%m/%Y') as fdoe
FROM {$db}.canddet cd INNER JOIN {$db}.candsum cs ON cd.fregno = cs.fregno
AND cd.fdegree = cs.fdegree AND cd.fcollcode = cs.fcollcode
INNER JOIN {$db}.subject s ON s.fdegree = cd.fdegree AND s.fexamno = cd.fexamno
AND s.fsubcode = cd.fsubcode AND IFNULL(s.ftheory, '') = 'T' AND IFNULL(s.fintass,'') = 'F'
WHERE IFNULL(fpresent,'') = 'P' AND IFNULL(fpassmth,'') = ''
AND IFNULL(s.fdoe, '0000-00-00') = '$date' AND s.fsession LIKE '{$sessionType}%'
AND s.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}') a
GROUP BY a.fcntrcode, a.fqpcode) s INNER JOIN {$db}.college cl ON s.fcntrcode = cl.fcollcode
LEFT JOIN
(SELECT a.fcollcode, a.fqpcode, SUM(IF(fabstype = 'QpA', 1, 0))AS abcount, SUM(IF(fabstype = 'QpM', 1, 0))AS mpcount
FROM {$db}.absent a
WHERE a.fregno <> 'nil' AND a.fregno <> '0'
AND '$date' = DATE_FORMAT(a.fdoe,'%Y-%m-%d') AND fsession like '{$sessionType}%' AND fcollcode <> ''
AND a.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}'
GROUP BY fcollcode, fqpcode) t
ON s.fcntrcode = t.fcollcode AND s.fqpcode = t.fqpcode
ORDER BY s.fqpcode,s.fcntrcode";
//var_dump($query);
}
$result = $aobj_context->mobj_db->GetAll($query);
$class_obj = new ExamAttendance();
$class_obj->univcode = $univcode;
$class_obj->db = $db;
$class_obj->DefaultConstructor($aobj_context,$qprngfrom,$qprngto,$doe,$sessionfull,$reportType);
// If No data found Generate Blank Report
if(count($result) > 0)
$class_obj->writeReport($result);
$class_obj->SendOutput();
}
?>
|