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.54.188
<?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;
//require_once("CollCateGenWiseReport_excel.php");
// 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->SetTitle("College, Category, Genderwise Student Count Report");
// set bacground image
$this->SetFillColor(248, 248, 255);
// $img_path = $this->aobj_context->main_src . "/img/logo.jpg";
$img_path = $this->aobj_context->main_src . "/img/".$this->aobj_context->FUNIVCODE."_logo.jpg";
if (file_exists($img_path)) {
$this->Image($img_path, 40, 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, 'College, Category, Genderwise Student Count Report', '0', 1, 'C');
$this->Cell(0, 6, " Degree Group : " . $this->aobj_context->mobj_data["deggrp"], "0", 1, "C");
$this->Cell(0, 6, " Degree Range: " . $this->aobj_context->mobj_data["fdegfrom"] . ' - ' . $this->aobj_context->mobj_data["fdegto"], "0", 1, "C");
$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(130, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
$this->Cell(130, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
$this->Cell(130, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
}
}
class ReprtObject
{
public $w = [8, 13, 60, 12, 36];
public $cat = ['CAT-I', 'GM', 'IIA', 'IIB', 'IIIA', 'IIIB', 'SC', 'ST'];
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'];
$this->pdf = new MYPDF('L', PDF_UNIT, 'A3');
$this->pdf->setData($aobj_context);
}
public function Header($pdf)
{
$pdf->SetFont('Times', 'B', 10);
$pdf->Cell($this->w[0], 6, "Sl.", "LRT", 0, "C");
$pdf->Cell($this->w[1], 6, "Deg", "LRT", 0, "C");
$pdf->Cell($this->w[2], 6, "Description", "LRT", 0, "C");
foreach($this->cat as $v)
{
$pdf->Cell($this->w[4], 6, $v, "1", 0, "C");
}
$pdf->Cell($this->w[4], 6, "Total", "1", 1, "C");
$pdf->Cell($this->w[0], 6, "No", "LRB", 0, "C");
$pdf->Cell($this->w[1], 6, "Code", "LRB", 0, "C"); //w h txt brd pos align
$pdf->Cell($this->w[2], 6, "", "LBR", 0, "C");
foreach($this->cat as $v)
{
$pdf->Cell($this->w[3], 6, 'Male', "1", 0, "C");
$pdf->Cell($this->w[3], 6, 'Female', "1", 0, "C");
$pdf->Cell($this->w[3], 6, 'Total', "1", 0, "C");
}
$pdf->Cell($this->w[3], 6, 'Male', "1", 0, "C");
$pdf->Cell($this->w[3], 6, 'Female', "1", 0, "C");
$pdf->Cell($this->w[3], 6, 'Total', "1", 1, "C");
// $pdf->Ln();
$pdf->SetFont('Times', '', 10);
}
public function Report($data)
{
$pdf = $this->pdf;
$pdf->SetMargins(10, 43);
$pdf->startPageGroup();
$pdf->AddPage("L");
$pdf->SetFont('Times', '', 10);
// $oldCode = "";
// $newCode = "";
$sl_no = 1;
$this->Header($pdf);
$w = $this->w;
$sum = array();
foreach ($data as $key => $value) {
if ($pdf->getY() > 260) {
$pdf->AddPage("L");
$this->Header($pdf);
}
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->SetX($x + $w[0]+$w[1]);
$pdf->MultiCell($w[2], 6, $value['fdescpn'], 1, "L");
$y1 = $pdf->GetY();
$h = $y1 - $y;
$pdf->SetXY($x, $y);
$pdf->Cell($w[0], $h, $sl_no, "1", 0, "C");
$pdf->cell($w[1], $h, $value['fdegree'], "1", 0, "C");
$pdf->SetXY($x + $w[0]+$w[1]+$w[2], $y);
$mc = 0;
$fc = 0;
$tc = 0;
foreach($this->cat as $v)
{
$pdf->Cell($this->w[3], $h, iFormat($value[$v.'_male']), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($value[$v.'_female']), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($value[$v.'_female']+ $value[$v.'_male']), "1", 0, "C");
$mc += $value[$v.'_male'];
$fc += $value[$v.'_female'];
$tc += $value[$v.'_female'] + $value[$v.'_male'];
$sum[$v.'_male'] += $value[$v.'_male'];
$sum[$v.'_female'] += $value[$v.'_female'];
$sum['totadm'.$v] += $value[$v.'_female'] + $value[$v.'_female'];
}
$pdf->SetFont('Times', 'B', 10);
$pdf->Cell($this->w[3], $h, iFormat($mc), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($fc), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($tc), "1", 1, "C");
$pdf->SetFont('Times', '', 10);
$sl_no++;
}
$pdf->SetFont('Times', 'B', 10);
$h = 8;
$pdf->cell($w[0]+$w[1]+$w[2], $h, "Total", "1", 0, "C");
$mc = 0;
$fc = 0;
$tc = 0;
// var_dump($sum);
foreach($this->cat as $v)
{
$pdf->Cell($this->w[3], $h, iFormat($sum[$v.'_male']), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($sum[$v.'_female']), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($sum[$v.'_female']+ $sum[$v.'_male']), "1", 0, "C");
$mc += $sum[$v.'_male'];
$fc += $sum[$v.'_male'];
$tc += $sum[$v.'_female'] + $sum[$v.'_male'];
}
$pdf->Cell($this->w[3], $h, iFormat($mc), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($fc), "1", 0, "C");
$pdf->Cell($this->w[3], $h, iFormat($tc), "1", 1, "C");
$pdf->SetFont('Times', '', 10);
}
public function SendOutput()
{
// ob_end_clean();
$this->pdf->Output("admsummmaryreport" . $this->reportType . ".pdf", "I");
}
}
function admsummmaryreport($aobj_context)
{
$univcode = $aobj_context->mobj_data["univcode"];
$fdeggrp = $aobj_context->mobj_data["deggrp"];
$fdegfrom = $aobj_context->mobj_data["fdegfrom"];
$fdegto = $aobj_context->mobj_data["fdegto"];
// $format = $aobj_context->mobj_data["format"];*/
$query = "select degree.fdegree,degree.fdescpn,
sum(case when fcaste='GM' and fgender='M' then 1 else 0 end) as GM_male,
sum(case when fcaste='GM' and fgender='F' then 1 else 0 end) as GM_female,
sum(case when fcaste='IIA' and fgender='M' then 1 else 0 end) as IIA_male,
sum(case when fcaste='IIA' and fgender='F' then 1 else 0 end) as IIA_female,
sum(case when fcaste='IIB' and fgender='M' then 1 else 0 end) as IIB_male,
sum(case when fcaste='IIB' and fgender='F' then 1 else 0 end) as IIB_female,
sum(case when fcaste='IIIA' and fgender='M' then 1 else 0 end) as IIIA_male,
sum(case when fcaste='IIIA' and fgender='F' then 1 else 0 end) as IIIA_female,
sum(case when fcaste='IIIB' and fgender='M' then 1 else 0 end) as IIIB_male,
sum(case when fcaste='IIIB' and fgender='F' then 1 else 0 end) as IIIB_female,
sum(case when fcaste='SC' and fgender='M' then 1 else 0 end) as SC_male,
sum(case when fcaste='SC' and fgender='F' then 1 else 0 end) as SC_female,
sum(case when fcaste='ST' and fgender='M' then 1 else 0 end) as ST_male,
sum(case when fcaste='ST' and fgender='F' then 1 else 0 end) as ST_female,
sum(case when fcaste='CAT-I' and fgender='M' then 1 else 0 end) as `CAT-I_male`,
sum(case when fcaste='CAT-I' and fgender='F' then 1 else 0 end) as `CAT-I_female`,
count(*) as totadm
from studadm, degree where studadm.fdegree = degree.fdegree and
ifnull(studadm.fdeleted,'')<>'T' and studadm.fexamno='a'
and degree.fdeggrp= '{$fdeggrp}'
and studadm.fdegree between '{$fdegfrom}' and '{$fdegto}'
group by studadm.fdegree";
$result = $aobj_context->pobj_db->GetAll($query);
/*var_dump($query);
var_dump($result);
die();*/
$class_obj = new ReprtObject();
$class_obj->univcode = $univcode;
$class_obj->DefaultConstructor($aobj_context);
$class_obj->Report($result);
$class_obj->SendOutput();
}
function iFormat($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.
}
?>
|