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.170.76
<?php
$main_src = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 7);
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('GMT+5:30');
// PHPExcel_Shared_Font::setAutoSizeMethod(PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Browser');
/** Include PHPExcel */
$pdf_writer_class = $main_src . '/PHPExcel/Classes/PHPExcel.php';
require_once($pdf_writer_class);
function getheaders($objPHPExcel, $fileName)
{
//To Fit To Page while printing
$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1);
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1);
$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0);
$objPHPExcel->getActiveSheet()->getPageSetup()->setHorizontalCentered(true);
$objPHPExcel->getActiveSheet()->getPageSetup()->setVerticalCentered(false);
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header('Pragma: public'); // HTTP/1.0
ob_clean();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
function generateDaliyReportQpNitteExcel($aobj_context)
{
session_start();
$ip=$_SERVER["REMOTE_ADDR"];
$collcode=$_SESSION['collcode'];
$college_code=$_SESSION['collcode'];
$univcode = $aobj_context->mobj_data["univcode"];
$qp_code_start = substr("0000000000".$aobj_context->mobj_data["qp_code_start"],-5);
$qp_code_end = substr("ZZZZZZZZZZ".$aobj_context->mobj_data["qp_code_end"],-5);
$datefrom = DateTime::createFromFormat('d/m/Y', $aobj_context->mobj_data["Date_start"]);
$date_start = $datefrom->format('Y-m-d');
$dateto = DateTime::createFromFormat('d/m/Y', $aobj_context->mobj_data["Date_end"]);
$date_end = $dateto->format('Y-m-d');
$session = $aobj_context->mobj_data["session"];
// var_dump($session);die();
if($session == "'AM'")
$FSESSION = "M%";
if($session == "'PM'")
$FSESSION = "N%";
if($session == "'PM','AM'"){
$sescond="";
}else{
$sescond="and sub.FSESSION like '{$FSESSION}'";
}
if($_SESSION['fexamseparate'] == 'T')
{
$candsum = "examcandsum";
$canddet = "examcanddet";
}else
{
$candsum = "candsum";
$canddet = "canddet";
}
$get_daliy_present_data= "select deg.fexamname, sub.FQPCODE, date_format(sub.FDOE, '%d/%m/%Y')
as doe_name,sub.FSESSION, 'QPP' as type, concat(sub.FSUBNAME, space(2),
'( ', sub.FSSUBNAME, ' )' ) as subject_desp, a.FREGNO as FREGNO,st.fname,
COUNT(DISTINCT a.FREGNO) AS reg_cnt from $canddet a inner join subject sub
on sub.FDEGREE = a.FDEGREE and sub.fexamno = a.fexamno and sub.fsubcode =
a.fsubcode and ifnull(sub.ftheory, '') = 'T' and ifnull(sub.fqpcode, '')
<> '' inner join degree deg on sub.fdegree = deg.fdegree and sub.fexamno =
deg.fexamno inner join student st on a.fdegree = st.fdegree and a.FREGNO =
st.fregno left outer join absent on a.fcollcode = absent.fcollcode and
a.fregno = absent.fregno and sub.fqpcode = absent.fqpcode where sub.FDOE
>= '{$date_start}' and sub.FDOE <= '{$date_end}' and sub.FQPCODE >=
'{$qp_code_start}' and sub.FQPCODE <= '{$qp_code_end}' $sescond and a.FCOLLCODE = '{$college_code}' and ifnull(a.FDELETED, '')
<> 'T' and a.fpresent = 'P' and ifnull(a.fpassmth,'') = ''and absent.fregno is
null group by sub.FDOE,sub.FQPCODE,sub.FSESSION,a.fregno order by sub.FDOE,
sub.FSESSION,sub.fqpcode";
// var_dump($get_daliy_present_data);
// die();
$result = $aobj_context->mobj_db->GetAll($get_daliy_present_data);
$objPHPExcel = new PHPExcel();
$fileName = 'Daily Report';
$objPHPExcel->getProperties()->setCreator("Uniclare")
->setLastModifiedBy("Me")->setTitle("My Excel Sheet")
->setSubject("My Excel Sheet")->setDescription("Excel Sheet")
->setKeywords("Excel Sheet")->setCategory("Me");
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Add column headers and make them bold
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('argb' => '000000'),
),
),
);
$count = "";
$alpha = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC',
'AD', 'AF', 'AE', 'AF', 'AG', 'AH'
];
$j=4;
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setSize(12);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Sl. No.')
->setCellValue('B1', 'USN No.')
->setCellValue('C1', 'Name')
->setCellValue('D1', 'Date')
->setCellValue('E1', 'QP Code');
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getColumnDimension('E1')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(29);
$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A1:E1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$count=rtrim($count,", ");
foreach ($result as $key => $value) {
$slNo = $key + 2;
$j=4;
$objPHPExcel->getActiveSheet()->setCellValue('A' . $slNo, $slNo - 1)->getColumnDimension('A')->setwidth(10);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $slNo, $value['FREGNO'])->getColumnDimension('B')->setwidth(25);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $slNo, $value['fname'])->getColumnDimension('C')->setwidth(40);
$objPHPExcel->getActiveSheet()->setCellValue('D' . $slNo, $value['doe_name'])->getColumnDimension('D')->setwidth(20);
$objPHPExcel->getActiveSheet()->setCellValue('E' . $slNo, $value['FQPCODE'])->getColumnDimension('E')->setwidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setwidth(12);
$objPHPExcel->getActiveSheet()->getStyle('A' . $slNo . ':E'. $slNo)->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle('A' . $slNo . ':B' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A' . $slNo . ':B' . $slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('C' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D' . $slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('C' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_JUSTIFY);
$objPHPExcel->getActiveSheet()->getStyle('D' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_JUSTIFY);
$objPHPExcel->getActiveSheet()->getStyle('D' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D' . $slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('E' . $slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('E' . $slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}
// $querytotal="select '9999' as fbatch, date_format(cd.FDOE,'%d/%m/%Y') as doe_name,
// cd.FQPCODE as FQPCODE,cd.FSESSION, concat(sub.FSUBNAME, space(2), '( ',sub.FSSUBNAME,' )')
// as subject_desp, FNOBUNDLE,FTOTSCRIPT as total from colldesp cd inner join subject sub
// on sub.FQPCODE=cd.FQPCODE where cd.FCOLLCODE='1001' and cd.FQPCODE>='{$qp_code_start}' and
// cd.FQPCODE<='{$qp_code_end}' and cd.FDOE>='{$date_start}' and cd.FDOE<='{$date_end}' and
// cd.FSESSION in('aM') and ifnull(cd.FDELETED,'') <> 'T' and cd.fcollcode = '{$college_code}'
// group by cd.FDOE,cd.FQPCODE,cd.FSESSION order by cd.FDOE, cd.FSESSION, cd.fqpcode;";
// $results = $aobj_context->mobj_db->GetAll($querytotal);
// // var_dump($querytotal);die();
// $query="select deg.fexamname, a.FQPCODE,date_format(a.FDOE,'%d/%m/%Y') as doe_name,
// sub.FSESSION,upper(a.FABSTYPE) as type, concat(sub.FSUBNAME, space(2), '( ',sub.FSSUBNAME,' )') as
// su
// bject_desp,
// COALESCE(SUM(CASE WHEN a.FABSTYPE = 'QPA' THEN 1 END), 'Nill') AS fqpa,
// COALESCE(SUM(CASE WHEN a.FABSTYPE = 'QPM' THEN 1 END), 'Nill') AS fqpm
// from absent a inner join subject sub on sub.FQPCODE=a.FQPCODE and sub.fdoe = a.fdoe
// inner join degree deg on sub.fdegree = deg.fdegree and sub.fexamno = deg.fexamno
// where a.FDOE between '{$date_start}' and '{$date_end}'
// and a.FQPCODE>='{$qp_code_start}' and a.FQPCODE<='{$qp_code_end}'
// and a.FSESSION in({$session}) and a.FCOLLCODE='{$college_code}' and ifnull(a.FDELETED,'') <> 'T'
// group by a.FDOE,a.FQPCODE,a.FSESSION order by a.FDOE, a.FSESSION, a.fqpcode, a.FABSTYPE";
// $results = $aobj_context->mobj_db->GetAll($query);
if($session == "'AM'")
$FSESSION = "M%";
if($session == "'PM'")
$FSESSION = "N%";
if($session == "'PM','AM'")
$FSESSION = "";
if($session == "'PM','AM'"){
$sescond2="";
}else{
$sescond2="AND s.fsession like '{$FSESSION}'";
}
$query="SELECT
s.fqpcode,
COUNT(DISTINCT cd.fregno) AS cnt,
SUM(IF(IFNULL(a.fregno, '') <> '', 1, 0)) AS abcnt,
SUM(IF(IFNULL(a1.fregno, '') <> '', 1, 0)) AS mpcnt
FROM
$canddet cd
INNER JOIN $candsum cs ON cd.fregno = cs.fregno
INNER JOIN subject s ON cd.fdegree = s.fdegree AND cd.fexamno = s.fexamno AND cd.fsubcode = s.fsubcode
LEFT JOIN absent a ON cd.fregno = a.fregno AND s.fqpcode = a.fqpcode
AND cs.fcntrcode = a.fcollcode AND a.FABSTYPE = 'QpA' AND a.FSESSION in ($session)
LEFT JOIN absent a1 ON cd.fregno = a1.fregno AND s.fqpcode = a1.fqpcode
AND cs.fcntrcode = a1.fcollcode AND a1.FABSTYPE = 'QpM' AND a1.FSESSION in ($session)
WHERE
cd.fpresent = 'P'
AND cs.fcntrcode = '{$college_code}'
AND IFNULL(cs.frecptdate, '') <> ''
AND IFNULL(fpassmth, '') = ''
AND s.FDOE >= '{$date_start}' and s.FDOE <= '{$date_end}'
$sescond2
GROUP BY
s.fqpcode;";
$results = $aobj_context->mobj_db->GetAll($query);
// var_dump($query);
// die();
$summaryRow = $slNo + 2; // Assuming $slNo is the last row index
$objPHPExcel->getActiveSheet()->setCellValue('A' . $summaryRow, 'Summary :');
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($summaryRow + 1), 'Present : ' );
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($summaryRow + 2), 'Absent : ' );
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($summaryRow + 3), 'MP Case : ' );
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($summaryRow + 4), 'Total Students : ' );
$summaryColumn = 'B'; // Start from column B
foreach ($results as $key => $value) {
// $qpcode=$value['FQPCODE'];
// $total="select s.fqpcode,c.fsubcode,COUNT(DISTINCT c.FREGNO) as total from subject s
// inner join canddet c on s.fdegree=c.fdegree and s.fexamno=c.fexamno and
// s.fsubcode=c.fsubcode
// where s.fqpcode='{$qpcode}' and c.fcollcode='{$college_code}';";
// $totalresult = $aobj_context->mobj_db->GetRow($total);
$present=$value['cnt']-$value['abcnt']- $value['mpcnt'];
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->setCellValue($summaryColumn . $summaryRow, $value['fqpcode']);
$objPHPExcel->getActiveSheet()->setCellValue($summaryColumn . ($summaryRow + 1), $present);
$objPHPExcel->getActiveSheet()->setCellValue($summaryColumn . ($summaryRow + 2), $value['abcnt']);
$objPHPExcel->getActiveSheet()->setCellValue($summaryColumn . ($summaryRow + 3), $value['mpcnt']);
$objPHPExcel->getActiveSheet()->setCellValue($summaryColumn . ($summaryRow + 4), $value['cnt']);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . $summaryRow)->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 1))->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 2))->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 3))->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 4))->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . $summaryRow)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 2))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 3))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle($summaryColumn . ($summaryRow + 4))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$summaryColumn++;
}
$objPHPExcel->getActiveSheet()->setTitle($fileName);
$objPHPExcel->getActiveSheet()->getPageSetup()
->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
$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'];
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&C&H&"-,Bold"&16' . $aobj_context->FUNIVNAME . "\n" . '&12' . $rtype);
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddHeader('&C&H'.$deggrp);
$objPHPExcel->getActiveSheet()->getHeaderFooter()->setOddFooter('&RPage &P of &N');
getheaders($objPHPExcel, $fileName);
}
?>
|