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


Current Path : /var/www/html/univadmin/Reports/
Upload File :
Current File : /var/www/html/univadmin/Reports/teachWorkDone.php

<?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;
ini_set('max_execution_time', 600);
ini_set("memory_limit",'2048M');

class MYPDF extends TCPDF
{
    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("Teacher Work Done Report");

        // set bacground image
        $this->SetFillColor(248, 248, 255);
        $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, ' Valuation Summary', '0', 1, 'C');
        $this->SetFont('Times', 'B', 10);
        $exmrange = $this->aobj_context->mobj_data["fexamno"];
        $examnoStr = strtoupper($exmrange);
        $splitexamno = str_split($examnoStr);
        $examno = implode(",", $splitexamno);
        // var_dump($examno);
        
        // $this->Cell(0, 5, 'Degree Group : ' . $this->aobj_context->deggrp, '0', 1, 'C');
        $this->Cell(0, 5, " Degree Group: " . $this->aobj_context->mobj_data["deggrp"], "0", 1, "C");
        $this->Cell(0, 5, " Exam No. Range: " . $examno, "0", 0, "C");
        // $this->Cell(0, 5, " College Range: " . $this->aobj_context->mobj_data["fcollfrom"] . ' - ' . $this->aobj_context->mobj_data["fcollto"], "0", 1, "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);
        // var_dump();
        if($this->CurOrientation == 'P')
        {
            $this->Cell(60, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(60, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(60, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
        else {
            $this->Cell(90, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(90, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(90, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
    }
}

class ReprtObject
{

    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'];
        $deggrp = $this->aobj_context->mobj_data["deggrp"];

        $get_coll_name = "select fdeggrp,fexamdate as fexamdate 
        from deggrp where fdeggrp = '{$deggrp}'";
        $lobj_get_degree = $this->aobj_context->pobj_db->GetRow($get_coll_name);
        
        $aobj_context->deggrp = $lobj_get_degree['fdeggrp'];
        $aobj_context->fexamdate = $lobj_get_degree['fexamdate'];
        $this->pdf = new MYPDF('L');
        $this->pdf->aobj_context = $aobj_context;
    }

    public function Header($pdf)
    {
        $pdf->SetFont('Times', 'B', 10);
        $pdf->Cell(10, 4, "Sl.", "LRT", 0, "C");
        $pdf->Cell(20, 4, "Date", "LRT", 0, "C");
        $pdf->Cell(20, 4, "Qp Code", "LRT", 0, "C");
        $pdf->Cell(40, 4, "Valuation", "LT", 0, "C");
        //$pdf->Cell(20, 4, "", "RT", 0, "C");
        $pdf->Cell(40, 4, "Review", "LT", 0, "C");
        //$pdf->Cell(20, 4, "", "RT", 0, "C");
        $pdf->Cell(60, 4, "Packet numbers", "LRT", 1, "C");
        
        $pdf->Cell(10, 4, "No.", "LRB", 0, "C");
        $pdf->Cell(20, 4, "", "LRB", 0, "C");
        $pdf->Cell(20, 4, "", "LRB", 0, "C");
        $pdf->Cell(20, 4, "Pkts", "LB", 0, "C");
        $pdf->Cell(20, 4, "Scripts", "RB", 0, "C");
        $pdf->Cell(20, 4, "Pkts", "LB", 0, "C");
        $pdf->Cell(20, 4, "Scripts", "RB", 0, "C");
        $pdf->Cell(60, 4, "", "LRB", 1, "C");
        
    }

    public function TblHeader($pdf)
  {

    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 4, "Sl.", "LRT", 0, "C");
    $pdf->Cell(20, 4, "Date", "LRT", 0, "C");
    $pdf->Cell(20, 4, "Qp Code", "LRT", 0, "C");
    $pdf->Cell(40, 4, "Valuation", "LT", 0, "C");
    //$pdf->Cell(20, 4, "", "RT", 0, "C");
    $pdf->Cell(40, 4, "Review", "LT", 0, "C");
    //$pdf->Cell(20, 4, "", "RT", 0, "C");
    $pdf->Cell(60, 4, "Packet numbers", "LRT", 1, "C");
    
    $pdf->Cell(10, 4, "No.", "LRB", 0, "C");
    $pdf->Cell(20, 4, "", "LRB", 0, "C");
    $pdf->Cell(20, 4, "", "LRB", 0, "C");
    $pdf->Cell(20, 4, "Pkts", "LB", 0, "C");
    $pdf->Cell(20, 4, "Scripts", "RB", 0, "C");
    $pdf->Cell(20, 4, "Pkts", "LB", 0, "C");
    $pdf->Cell(20, 4, "Scripts", "RB", 0, "C");
    $pdf->Cell(60, 4, "", "LRB", 1, "C");
  }

    public function Report($data,$type)
    {
        $pdf = $this->pdf;

        $pdf->SetMargins(10, 25);
        $pdf->startPageGroup();
        $pdf->SetFont('Times', 'B', 10);
    
        $pdf->AddPage("P");
        
        
    

        $sl_no = 1;
      $pdf->SetFont('Times', '', 10);
      $w=array(10,35,155);
    

        $pdf->SetFont('Times', '', 10);

        $oldCode = "";
        $newCode = "";
        $sl_no = 1;
        $first = true;
        $j = 0;
        $A1 = 0;
        $A2 = 0;
        $A3 = 0;
        $A4 = 0;
        $A5 = 0;
        $last = end($data);
        // var_dump($x['fvalcode']);
        
        foreach ($data as $key => $value) { 
            
                 
   
            $newCode = $value['fvalcode'];

            if ($newCode != $oldCode) {
                $sl_no = 1;

                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(50, $h,'Total', "1", 0, "C");
                $pdf->Cell(20, $h, $A1, "1", 0, "C");
                $pdf->Cell(20, $h, $A2, "1", 0, "C");
                $pdf->Cell(20, $h, $A3, "1", 0, "C");
                $pdf->Cell(20, $h, $A4, "1", 0 , "C");
                $pdf->Cell(60, $h, $A5, "1", 1, "C");
                $A1 = 0;
                $A2 = 0;
                $A3 = 0;
                $A4 = 0;
                $A5 = 0;

               
                $pdf->AddPage("P");
                $first = false;
                $pdf->SetFont('Times', 'B', 12);
                $pdf->Ln(10);
                $j++;
                $pdf->cell(0, 10,'Examiner / Reviewer : ' . $value['fvalcode'].' - '.$value['fteachname'], 0, 1, "C");
                $pdf->Ln(1);
                $this->Header($pdf);
                $pdf->SetFont('Times', '', 10);
            }
            $x = $pdf->GetX();
            $y = $pdf->GetY();
            $pdf->SetX($x + 130);
            $pdf->MultiCell(60, 7, $value['fpkts'], 1, "L");
            $y1 = $pdf->GetY();
            $h = $y1 - $y;
            $pdf->SetXY($x, $y);

            $pdf->Cell(10, $h,$sl_no, "1", 0, "C");
            $pdf->Cell(20, $h,$value['fdate'], "1", 0, "C");
            $pdf->Cell(20, $h,$value['fqpcode'], "1", 0, "C");
            $pdf->Cell(20, $h,$value['fvpktcnt'], "1", 0, "C");
            $pdf->Cell(20, $h,$value['fvscriptcnt'], "1", 0, "C");
            $pdf->Cell(20, $h,$value['frvpktcnt'], "1", 0, "C");
            $pdf->Cell(20, $h,$value['frscriptcnt'], "1", 1, "C");
            // $pdf->Cell(60, 7,$value['fpkts'], "1", 1, "C");


            // if($type == 'val')
            // {
            //     $pdf->Cell(20, 7,$value['fvpktcnt'], "1", 0, "C");
            //     $pdf->Cell(20, 7,$value['fvscriptcnt'], "1", 0, "C");
            //     $pdf->Cell(20, 7,"", "1", 0, "C");
            //     $pdf->Cell(20, 7,"", "1", 0, "C");
            //     $pdf->Cell(60, 7,$value['fpkts'], "1", 1, "C");

            // }else
            // {
            //     $pdf->Cell(20, 7,"", "1", 0, "C");
            //     $pdf->Cell(20, 7,"", "1", 0, "C");
            //     $pdf->Cell(20, 7,$value['fvpktcnt'], "1", 0, "C");
            //     $pdf->Cell(20, 7,$value['fvscriptcnt'], "1", 0, "C");
            //     $pdf->Cell(60, 7,"", "1", 1, "C");

            // }

            $oldCode = $newCode;
            $sl_no++;
            $A1 += $value['fvpktcnt'];
            $A2 += $value['fvscriptcnt'];
            $A3 += $value['frvpktcnt'];
            $A4 += $value['frscriptcnt'];
            $A5 += $value['fvscriptcnt'] + $value['frscriptcnt'];

            if($value['fvalcode'] == $last['fvalcode']){
                // var_dump($last);
                $cnt = count($data);
                // var_dump($cnt);
                if($cnt == $sl_no -1 ){
                    
                    $pdf->SetFont('Times', 'B', 10);
                    $pdf->Cell(50, $h,'Total', "1", 0, "C");
                    $pdf->Cell(20, $h, $A1, "1", 0, "C");
                    $pdf->Cell(20, $h, $A2, "1", 0, "C");
                    $pdf->Cell(20, $h, $A3, "1", 0, "C");
                    $pdf->Cell(20, $h, $A4, "1", 0 , "C");
                    $pdf->Cell(60, $h, $A5, "1", 1, "C");
                    $A1 = 0;
                    $A2 = 0;
                    $A3 = 0;
                    $A4 = 0;
                    $A5 = 0;
                }
            } 
        }


        if($this->aobj_context->FUNIVCODE == '027')
        {
            $pdf->Ln(10);
            $pdf->Cell(0, $h,'Sign. of Custodian / Coordinator', "0", 0, "R");
        }    
    }


  public function writeReport($data){
    
    $pdf = $this->pdf;

    

    $pdf->SetMargins(7, 30);
    $pdf->startPageGroup();
    $pdf->AddPage("L");
    // var_dump($pdf->getY());
    $this->TblHeaderCollWise($pdf);

    $sl_no = 1;

    foreach($data as $k => $v)
	{
        if($pdf->GetY()>= 175)
      {
        $pdf->AddPage();        
        $this->TblHeaderCollWise($pdf);
      }

        $x = $pdf->GetX();
        $y = $pdf->GetY();
        $h = 6;

        $pdf->SetX($x + 223);        
        $pdf->MultiCell(60, $h, $v['fcollcode'] .'-'.$v['fcollname'], "LRTB", "L");
        $y1 = $pdf->GetY();
        $h = $y1 - $y;    
        $pdf->SetXY($x, $y);

        $pdf->SetX($x + 8);        
        $pdf->MultiCell(40, $h, $v['fboardname'], "LRTB", "L");
        $y1 = $pdf->GetY();
        $h = $y1 - $y;    
        $pdf->SetXY($x, $y);

        $pdf->SetX($x + 63);        
        $pdf->MultiCell(50, $h, $v['fteachname'], "LRTB", "L");
        $y1 = $pdf->GetY();
        $h = $y1 - $y;    
        $pdf->SetXY($x, $y);


        $pdf->Cell(8, $h, $sl_no, "1", 0, "C");
        // $pdf->Cell(30, $h, $v['fboardname'], "1", 0, "L");
        $pdf->SetX($x + 48);
        $pdf->Cell(15, $h, $v['fteachcode'], "1", 0, "C");
        $pdf->SetX($x + 113);
        // $pdf->Cell(50, $h, $v['fteachname'], "1", 0, "L");
        $pdf->Cell(15, $h, $v['fgender'], "1", 0, "C");
        $pdf->Cell(15, $h, $v['fscale'], "1", 0, "C");
        $pdf->Cell(20, $h, $v['fmobile'], "1", 0, "C");
        $pdf->Cell(60, $h, $v['femail'], "1", 1, "L");                             
        // $pdf->Cell(80, $h, $v['fcollcode'] .'-'.$v['fcollname'], "LRT", 1, "L");

        $sl_no++;
    }	



  }

    public function SendOutput()
    {
        // ob_end_clean();
        $this->pdf->Output("teachWorkDone.pdf", "I");
    }
}

function teachWorkDone($aobj_context)
{
    $univcode = $aobj_context->mobj_data["univcode"];  
    $fcollcode = $aobj_context->mobj_data["fcollcode"];
    $vdatefrom = $aobj_context->mobj_data["vdatefrom"];
    $vdateto = $aobj_context->mobj_data["vdateto"];
    $fboard = $aobj_context->mobj_data["fboard"]; 
    $tcode = $aobj_context->mobj_data["tcode"]; 
    
    
    $tcode_arr = (explode(",",$tcode));

    foreach($tcode_arr as $key=>$value){
        $teach.= "'".$value."',";
    }

   $teach_array= substr_replace($teach,"",-1);
    
    if($teach_array == "'all'"){
        $tcnd = " ";
    }else{
        $tcnd = "and v.fvalcode in ({$teach_array})";
    }
    
    
    
    $fboard = 'All';
    if($fboard == 'All' ){
        $brd = '';
    }else{
        $brd = "AND m.fboard = '{$fboard}'";
    }
    
    $user = $aobj_context->mobj_data["user"];
    $user = json_decode($user,true);
    $board = $user['fdegree'];
    
    $fcurtype = $user['fcurtype'];
    $cnd1 = "";
    if($fcurtype == '400')
    {
        $cnd1 = "and ifnull(m.fboard,'') = '{$board}'";
    }


    
    $cnd = "";

    if($fcollcode != '' && $fcollcode != NULL)
        $cnd = "and t1.fcollcode = '{$fcollcode}'";


        $query1 = "select date_format(v.fdate,'%d/%m/%Y') as fdate , v.fqpcode,m.fsubname,
        v.fvalcode, t1.fcollcode, 
          t1.fteachname, 
        count(v.fpacket) as fvpktcnt,
          sum(v.fvcount) as fvscriptcnt, 
        '' as frvpktcnt,
        '' as frscriptcnt,
        group_concat(concat(v.fpacket,'(',v.fvcount,')') SEPARATOR ', ') as fpkts 
          from mastabu v 
          inner join masqp m on v.fqpcode = m.fqpcode
          left join masteach t1 on v.fvalcode = t1.fteachcode 
          where  v.fdate between date_format(str_to_date('{$vdatefrom}','%d/%m/%Y'),'%Y-%m-%d')
        and date_format(str_to_date('{$vdateto}','%d/%m/%Y'),'%Y-%m-%d')
        $tcnd
          {$cnd}
          {$cnd1}
          {$brd}
          group by v.fdate,v.fvalcode
        union
        select date_format(v.fdate,'%d/%m/%Y') as fdate ,v.fqpcode, m.fsubname,
        v.frevcode as frvalcode, t1.fcollcode, 
        t1.fteachname, 
        '' as fvpktcnt,
        '' as fvscriptcnt,
        count(v.fpacket) as frvpktcnt,
        sum(v.frcount) as frscriptcnt, 
        group_concat(concat(v.fpacket,'(', v.frcount,')') SEPARATOR ', ') as frpkts  
        from mastabu v 
        inner join masqp m on v.fqpcode = m.fqpcode
        left join masteach t1 on v.frevcode = t1.fteachcode 
        where  v.fdate between date_format(str_to_date('{$vdatefrom}','%d/%m/%Y'),'%Y-%m-%d')
        and date_format(str_to_date('{$vdateto}','%d/%m/%Y'),'%Y-%m-%d')
        $tcnd
        {$cnd}
        {$cnd1}
        {$brd}
        group by v.fdate,v.frevcode
        order by fvalcode,date_format(fdate,'%d/%m/%Y') ";

        // var_dump($query1);

    // $query = "select date_format(v.fdate,'%d.%m.%Y') as fdate , v.fqpcode, v.fvalcode, t1.fcollcode, 
    // t1.fteachname, count(v.fpacket) as fvpktcnt,
    // sum(v.fvcount) as fvscriptcnt, group_concat(v.fpacket SEPARATOR ', ') as fpkts 
    // from mastabu v inner join masqp s on v.fqpcode = s.fqpcode 
    // left join masteach t1 on v.fvalcode = t1.fteachcode 
    // where v.fvalcode between '{$tcodefrom}' and '{$tcodeto}'
    // {$cnd}
    // {$cnd1}
    // group by v.fdate,v.fvalcode
    // order by t1.fteachcode, v.fdate";

    $result = $aobj_context->pobj_db->GetAll($query1);
   
    $class_obj = new ReprtObject();
    $class_obj->univcode = $univcode;
    $class_obj->DefaultConstructor($aobj_context);

    // If No data found Generate Blank Report
    if (count($result) > 0) {
        $class_obj->Report($result,'val');
    }

    // $query = "select date_format(v.fdate,'%d.%m.%Y') as fdate , v.fqpcode, v.frevcode as fvalcode, t1.fcollcode, 
    // t1.fteachname, count(v.fpacket) as fvpktcnt,
    // sum(v.frcount) as fvscriptcnt, group_concat(v.fpacket SEPARATOR ', ') as fpkts 
    // from mastabu v inner join masqp s on v.fqpcode = s.fqpcode 
    // left join masteach t1 on v.frevcode = t1.fteachcode 
    // where v.frevcode between '{$tcodefrom}' and '{$tcodeto}'
    // {$cnd}
    // {$cnd1}
    // group by v.fdate,v.frevcode
    // order by t1.fteachcode, v.fdate";
    // $result = $aobj_context->pobj_db->GetAll($query);
    // // var_dump($aobj_context->pobj_db);
    // //var_dump($query);
    // if (count($result) > 0) {
    //     $class_obj->Report($result,'rev');
    // }

    $class_obj->SendOutput();

}