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


Current Path : /proc/thread-self/root/var/www/oasis/Report_details/
Upload File :
Current File : //proc/thread-self/root/var/www/oasis/Report_details/printMarkListDetailsWisenewExcel.php

<?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 printMarkListDetailsWisenewExcel($aobj_context)
{
    session_start();
    $collcode=$_SESSION['collcode'];
    $teachcode = $aobj_context->mobj_data["teachcode"];
    $classid = $aobj_context->mobj_data["classid"];
    $classidarry = explode("- ", $classid);
    $classid = trim($classidarry[0]);

    $page_header_college ="select concat('[ ',FCOLLCODE,' ]  ',FCOLLNAME) as college_name
							from college where FCOLLCODE='{$collcode}'";
	$lobj_page_header_college = $aobj_context->mobj_db->GetRow($page_header_college); 

    $qpurey = "select ifnull(fiateachfreez,'') as fiateachfreez
    from classfreez
    where fclassid='{$classid}'";

	$res9 = $aobj_context->mobj_db->GetRow($qpurey);

    $str = "(FREEZE PENDING)";
    if($res9['fiateachfreez'] == 'T'){
        $str = "(FINAL MARKS)";
    }

    $headerQry = "select a.fclassname, s.fsubname,s.fsubcode,m.fexamno,
                m.fdegree, sum.fteachcode, m.fdegree,m.fsubcode as fcsubcode
                from marksint m
                inner join subject s on left(s.fcsubcode, 4) = left(m.fsubcode, 4) 
                and m.fdegree = s.fdegree and m.fexamno = s.fexamno
                inner join attendsum sum on sum.fdegree = m.fdegree and 
                left(sum.fsubcode, 4) = left(m.fsubcode, 4)
                inner join attclass a on a.fclassid = sum.fclassid 
                where sum.fclassid='{$classid}'
                and m.fcollcode = '{$collcode}' 
                group by m.fsubcode, a.fclassid";

    $lobj_page_header = $aobj_context->mobj_db->GetRow($headerQry);
    
    
	// $pdf->SetFont('Times','B',15);	
	// $pdf->aobj_context =$aobj_context ;
	// $pdf->WhichReport = 'IA QUESTIONWISE REPORT Summary';
	// $pdf->FUNIVNAME = $lobj_page_header_university['FUNIVNAME'];
	// $pdf->FTOWN = $lobj_page_header_university['FTOWN'];
    // $pdf->college_name = $lobj_page_header_college['college_name'];
    // $pdf->orientation ='L';
    // $pdf->Subject_name = $subelement. ' - '.$lobj_page_header['fsubname'];
    // $pdf->class_name = $classid. ' - '.$lobj_page_header['fclassname'];
    // $pdf->str = $str;
    $fteachcode = $lobj_page_header['fteachcode'];
    
    $fsubcode = $lobj_page_header['fsubcode'];
    $degcode = $lobj_page_header['fdegree'];
    $sem = $lobj_page_header['fexamno'];
    $fcsubcode = $lobj_page_header['fcsubcode'];

    $page_header_REGROLL = "select fteachname,
    date_format(now(),'%d/%m/%Y') as fdate
    from masteach where fteachcode = '{$fteachcode}'";
	$res1 = $aobj_context->mobj_db->GetRow($page_header_REGROLL);

    // $pdf->fteachname = $res1['fteachname'];
    // $pdf->date_1 = $res1['fdate'];

    $query = "delete from bteach_ia1 where fclassid = '{$classid}'";
    $res1 =$aobj_context->mobj_db->Execute($query);


    $query = "select if(ifnull(fdelement,'') = '',count(fsubcode),fdelement) as cnt
    from subdet where fdegree = '{$degcode}' and fexamno = '{$sem}'
    and concat(fcsubcode,fsubcode) like '{$fsubcode}%'";
    $re1 =$aobj_context->mobj_db->getrow($query);
    $cnt = $re1['cnt'];

    $query = "select fdegree,fexamno,fcsubcode,concat(fcsubcode,fsubcode) as fsubcode,fformula
    from subdet where fdegree = '{$degcode}' and fexamno = '{$sem}'
    and concat(fcsubcode,fsubcode) like '{$fsubcode}%'";

    $results =$aobj_context->mobj_db->getAll($query);

        foreach($results as $val)
        {
            $fxsubcode = $val['fsubcode'];
            $fcsubcode = $val['fcsubcode'];
            $fformula = $val['fformula'];

            $query = "insert into bteach_ia1 (fdegree,fexamno,fregno,fsubcode,fcsubcode,fmarks,fupddate,fclassid,fsubtype,ftheory,fnotest)
                select m.fdegree,m.fexamno,m.fregno,'{$fcsubcode}' as subcodem,m.fsubcode,
                $fformula as fmarks,
                now(),'{$classid}',sd.fmtype,sd.ftheory,'{$cnt}'
                from marksint m inner join subdet sd on m.fdegree = sd.fdegree
                and m.fexamno = sd.fexamno and m.fsubcode = concat(sd.fcsubcode,sd.fsubcode)
                where m.fsubcode = '{$fxsubcode}'
                and m.fdegree = '{$degcode}'
                and m.fexamno = '{$sem}'
                and ifnull(m.FTEST,'') <> ''
                group by m.fdegree,m.fsubcode,m.fregno";
            $results =$aobj_context->mobj_db->Execute($query);

        }  
        

    $query = "update marks m, (select fdegree,fexamno,fregno,fsubcode,if(fsubtype = 'P',CEILING(
        ((sum(if(fsubtype = 'P' && ftheory = 'F',if(ifnull(fmarks,'0')<0,0,fmarks),0))/sum(if(ftheory = 'F',1,0)))+sum(if(fsubtype = 'P' && ftheory = 'T',if(ifnull(fmarks,'0')<0,0,fmarks),0))
        )/fnotest),CEILING(sum(if(ifnull(fmarks,'0')<0,0,fmarks))/if(fsubtype = 'D','1',fnotest))) as fmarks,

        (sum(if(fsubtype = 'P' && ftheory = 'F',if(ifnull(fmarks,'0')<0,0,fmarks),0))/sum(if(ftheory = 'F',1,0))) as prmarks,

        sum(if(fsubtype = 'P' && ftheory = 'T',if(ifnull(fmarks,'0')<0,0,fmarks),0)) as thmarks
    from bteach_ia1
    where fdegree like '{$degcode}'
    and fexamno = '{$sem}'
    and fclassid = '{$classid}'
    group by fdegree,fexamno,fregno,fsubcode) i set m.fmarks = i.fmarks,
    m.flogdate = now(),m.fthia = i.thmarks, m.factia = i.prmarks
    where m.fregno = i.fregno 
    and m.fexamno = i.fexamno
    and m.fsubcode = i.fsubcode";
    
    $results =$aobj_context->mobj_db->Execute($query);
      
    $query1 = "select m.fdegree,m.fregno,st.fname,m.fsubcode,s.fmtype,
    md.fmarks as finalmarks,
    s.fmtype,
    md.fthia,
    md.factia,
    group_concat(distinct if( ifnull(s.fnotest,'')  <> '1',
    concat(s.fsubname,' - ',m.FTEST ), concat(s.fsubname)) order by s.fsubcode,m.ftest) as sublist,
    group_concat(m.FACTTOTAL order by m.fsubcode,m.ftest) as fmarks
    from marksint m
    inner join subdet s on m.fdegree = s.fdegree 
    and m.fexamno = s.fexamno
    and m.fsubcode = concat(s.fcsubcode,s.fsubcode)
    inner join student st on m.fregno = st.fregno
    inner join attendsum a on st.fregno = a.fregno 
    and left(a.fsubcode,4) = left(m.fsubcode,4)
    and a.fdegree = m.fdegree
    and a.fexamno = m.fexamno
    left join marks md on m.fregno = md.fregno
    and md.fcollcode = m.fcollcode and m.fexamno = md.fexamno
    and left(m.fsubcode,5) = md.fsubcode
    where a.fteachcode = '{$teachcode}' 
    and a.fclassid = '{$classid}'
    and a.fcollcode = '{$collcode}'
    and m.fsubcode like '$fsubcode%'
    and ifnull(m.ftest,'') <> ''
    group by m.fdegree,m.fregno
    order by st.fname,m.fregno";
	$res2 = $aobj_context->mobj_db->GetAll($query1);    
    $newSub = $res2[0]['sublist'];
    $fmtype = $res2[0]['fmtype'];

    $subList = explode(",", $newSub);

    $objPHPExcel = new PHPExcel();
    $fileName = 'Marks_List';
    $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 = ['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:5')->getFont()->setBold(true);
  $objPHPExcel->getActiveSheet()->getStyle('1:5')->getFont()->setSize(12);

  for ($i=1; $i <= 5; $i++) { 
    $objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(25);

  }

  $objPHPExcel->getActiveSheet()->setCellValue('A1', 'Department: '.$lobj_page_header_college['college_name']);
  $objPHPExcel->getActiveSheet()->mergeCells('A1:'.$alpha[count($subList)].'1');

  $objPHPExcel->getActiveSheet()->setCellValue('A2', 'CIE MARKS LIST (FINAL MARKS)');
  $objPHPExcel->getActiveSheet()->mergeCells('A2:'.$alpha[count($subList)].'2');

  $objPHPExcel->getActiveSheet()->setCellValue('A3', 'COURSE TITLE: '.$subelement. ' - '.$lobj_page_header['fsubname']);
  $objPHPExcel->getActiveSheet()->mergeCells('A3:'.$alpha[count($subList)].'3');

  $objPHPExcel->getActiveSheet()->setCellValue('A4', 'CLASS: '.$classid. ' - '.$lobj_page_header['fclassname']);
  $objPHPExcel->getActiveSheet()->mergeCells('A4:'.$alpha[count($subList)].'4');

  $objPHPExcel->getActiveSheet()->setCellValue('A5', 'Sl. No.')
  ->setCellValue('B5', 'USN')
  ->setCellValue('C5', 'Student Name');
  
  for ($i=0; $i < count($subList); $i++) { 
    $objPHPExcel->getActiveSheet()->setCellValue($alpha[$i].'5', $subList[$i]);
    $objPHPExcel->getActiveSheet()->getStyle('A5:'.$alpha[$i].'5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('A5:'.$alpha[$i].'5')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
  }
  
  if($fmtype == 'P'){
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)].'5', 'Th.');
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)+1].'5', 'Pr.'); 
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)+2].'5', 'Final CIE');
        $objPHPExcel->getActiveSheet()->getStyle('A1:'.$alpha[count($subList)+2].'5')->applyFromArray($styleArray);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].'5:'.$alpha[count($subList)+2].'5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].'5:'.$alpha[count($subList)+2].'5')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
    }else{
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)].'5', 'Final CIE');
        $objPHPExcel->getActiveSheet()->getStyle('A1:'.$alpha[count($subList)].'5')->applyFromArray($styleArray);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].'5:'.$alpha[count($subList)].'5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].'5:'.$alpha[count($subList)].'5')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
    }

  
  $objPHPExcel->getActiveSheet()->freezePane('A6');

  foreach ($res2 as $key => $value) {
    $slNo = $key + 6;
    $objPHPExcel->getActiveSheet()->getRowDimension($slNo)->setRowHeight(25);
    $fmarksList = explode(",", $value['fmarks']);
      $objPHPExcel->getActiveSheet()->setCellValue('A' . $slNo, $slNo - 5)->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(60);

      $i=0;
      foreach ($fmarksList as $key => $val) {
        
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[$i]. $slNo, $val == '-2' ? 'Ab' : $val)->getColumnDimension($alpha[$i])->setwidth(20);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[$i].$slNo.':'.$alpha[$i].$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[$i].$slNo.':'.$alpha[$i].$slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
        $i++;
      }
      if($fmtype == 'P'){
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)] . $slNo, $value['fthia'] < -1 ? 'Ab': $value['fthia'])->getColumnDimension($alpha[count($subList)])->setwidth(10);
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)+1]. $slNo, $value['factia'] < -1 ? 'Ab': $value['factia'])->getColumnDimension($alpha[count($subList)+1])->setwidth(10);
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)+2] . $slNo, $value['finalmarks'] < -1 ? 'Ab': $value['finalmarks'])->getColumnDimension($alpha[count($subList)+2])->setwidth(10);

        $objPHPExcel->getActiveSheet()->getStyle('A1:'.$alpha[count($subList)+2].$slNo)->applyFromArray($styleArray);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].$slNo.':'.$alpha[count($subList)+2].$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].$slNo.':'.$alpha[count($subList)+2].$slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
      }else{
        $objPHPExcel->getActiveSheet()->setCellValue($alpha[count($subList)] . $slNo, $value['finalmarks'] < -1 ? 'Ab': $value['finalmarks'])->getColumnDimension($alpha[count($subList)])->setwidth(10);
        $objPHPExcel->getActiveSheet()->getStyle('A1:'.$alpha[count($subList)].$slNo)->applyFromArray($styleArray);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].$slNo.':'.$alpha[count($subList)].$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $objPHPExcel->getActiveSheet()->getStyle($alpha[count($subList)].$slNo.':'.$alpha[count($subList)].$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('A'.$slNo.':'.'B'.$slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
      $objPHPExcel->getActiveSheet()->getStyle('C'.$slNo.':'.'C'.$slNo)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
    }
    getheaders($objPHPExcel, $fileName);
}

?>