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 : 3.144.227.73


Current Path : /proc/thread-self/root/var/www/html/univadmin_bkp/univadmin/Reports/
Upload File :
Current File : //proc/thread-self/root/var/www/html/univadmin_bkp/univadmin/Reports/feeReportHeadwisePDF.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;

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("Head wise Fee Report");
        
        // set bacground image
        $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, ' Studentwise Fee Report', '0', 1, 'C');
        $this->SetFont('Times', 'B', 10);

        $this->Cell(0, 5, 'College Range : ' . $this->aobj_context->mobj_data['cntr_from'].' - '.$this->aobj_context->mobj_data['cntr_end'], '0', 1, 'C');
        $this->Cell(0, 5, 'Degree Range : ' . $this->aobj_context->mobj_data['degree_from'].' - '.$this->aobj_context->mobj_data['degree_to'], '0', 1, 'C');
        $this->Cell(0, 5, 'Degree Group : ' . $this->aobj_context->mobj_data['Degree'], '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 Report{

  public function DefaultConstructor($aobj_context)
  {
    $this->count ="";

    $this->aobj_context = $aobj_context;
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

    $this->univcode = $aobj_context->mobj_data["univcode"];  
    $this->rformat = $aobj_context->mobj_data["Screentype"];     
    $this->fcollfrm = $aobj_context->mobj_data["cntr_from"];  
    $this->fcollto = $aobj_context->mobj_data["cntr_end"];  
    $this->fdegfrm = $aobj_context->mobj_data["degree_from"];  
    $this->fdegto = $aobj_context->mobj_data["degree_to"];  
    $this->exmrange = $aobj_context->mobj_data["examno_from"];  
    $this->deggrp = $aobj_context->mobj_data["Degree"];  
    $this->rtype = $aobj_context->mobj_data["ReportType"]; 
    $this->rftype = $aobj_context->mobj_data["rftype"];   
    
    $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);
    
    $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["degree"];

    $getDeggrp = "select concat(fdeggrp, ' - ', fdescpn) as fdeggrp 
    from deggrp where fdeggrp = '{$deggrp}'";
    $lobj_get_degree = $this->aobj_context->pobj_db->GetRow($getDeggrp);
    
    $aobj_context->deggrp = $lobj_get_degree['fdeggrp'];
    $this->pdf = new MYPDF('L');
    $this->pdf->aobj_context = $aobj_context;    
  }
  public function TblHeader($pdf,$head)
  {

    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");
    $pdf->Cell(12, 6, "Col.", "LRT", 0, "C");
    $pdf->Cell(60, 6, "College Name", "LRT", 0, "C");
    $pdf->Cell(17, 6, "Degree", "LRT", 0, "C");
    foreach($head as $k=>$value){
      $pdf->Cell(15, 6, $value['fshortname'], "LRT", 0, "C");
      $this->count .= "sum(if(sf.ffeecode = '{$value['ffeecode']}',sf.famount,0)) as sum{$k},";
    }
    $pdf->Cell(10, 6, "", "", 1, "C");

    $pdf->Cell(10, 6, "No.", "LRB", 0, "C");
    $pdf->Cell(12, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(60, 6, "", "LRB", 0, "C");
    $pdf->Cell(17, 6, "Code", "LRB", 0, "C");
    foreach($head as $k=>$value){
      $pdf->Cell(15, 6, "", "LRB", 0, "C");
    }
    $pdf->Cell(10, 6, "", "", 1, "C");    
    $pdf->SetFont('Times', '', 10);

  }


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

    $pdf->SetMargins(25, 40);
    $pdf->startPageGroup();
    $pdf->AddPage("L");
    $sl_no = 1;
    $pdf->SetFont('Times', '', 10);

    // $head = $data['head'];    
    // $body = $data['body'];
    $this->TblHeader($pdf,$head);

    foreach($head as $k=>$value){
      $this->feeheads .= "sum(if(sf.ffeecode = '{$value['ffeecode']}',sf.famount,0)) as sum{$k},";
    }
    
    $this->count1=rtrim($this->feeheads,", ");



    $query = "select concat(c.fcollname,', Const.,',c.ftown) as fcollname,
    c.fcollcode,sf.fdegree,sf.ffeecode,
    {$this->count1}
    from appstudfee sf
    inner join college c on c.fcollcode=sf.fcollcode 
    inner join degree d on d.fdegree=sf.fdegree and d.fexamno=sf.fexamno and sf.fcollcode=c.fcollcode
    inner join appcandsum cs on sf.fdegree=cs.fdegree and sf.fcollcode=cs.fcollcode
    and cs.fexamno = sf.fexamno and sf.appno=cs.appno and sf.fregno=cs.fregno
    where sf.fdegree between '{$this->fdegfrm}' and '{$this->fdegto}' and
    sf.fcollcode between '{$this->fcollfrm}' and '{$this->fcollto}' and
    cs.fpaymentstatus='success' and d.fdeggrp='{$this->deggrp}'and ifnull(cs.ftotalfee,'')<>''
    group by sf.fcollcode,sf.fdegree
    order by sf.fcollcode,sf.fdegree,sf.ffeecode";

    // var_dump($query);
    // die();
    $result1 = $this->aobj_context->pobj_db->GetAll($query);

    foreach ($result1 as $key => $value) {

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

      $pdf->SetX($x + 22);
      $pdf->MultiCell(60, 7, $value['fcollname'], 1, "L");
      $y1 = $pdf->GetY();
      $h = $y1 - $y;    
      $pdf->SetXY($x, $y);    

      $pdf->Cell(10, $h,$sl_no, "1", 0, "C");
      $pdf->Cell(12, $h,$value['fcollcode'], "1", 0, "C");
      $pdf->SetXY($x+82, $y);
      $pdf->Cell(17, $h, $value['fdegree'], "1", 0, "C");      

      foreach($head as $k=>$v){
        $pdf->Cell(15, $h, $value['sum'.$k], "1", 0, "C");

      //   if($v['ffeecode']==$value['ffeecode'])
      //     $pdf->Cell(40, $h, $value['sum'], "1", 0, "C");
      //   else
      //   $pdf->Cell(40, $h, "0", "1", 0, "C");
      }
      $pdf->Cell(0, $h, "", "", 1, "C");      

      $sl_no++;
      if ($pdf->getY() > 170) {        
        $pdf->AddPage("L");
        $this->TblHeader($pdf,$head);
      }
    }    
  }
  public function SendOutput()
  {
      // ob_end_clean();
      $this->pdf->Output("HeadwiseFeeReport.pdf", "I");
  }
}

function headwiseFeeReportPDF($aobj_context){
  // $univcode = $aobj_context->mobj_data["univcode"];  
  // $rformat = $aobj_context->mobj_data["Screentype"];     
  // $fcollfrm = $aobj_context->mobj_data["cntr_from"];  
  // $fcollto = $aobj_context->mobj_data["cntr_end"];  
  // $fdegfrm = $aobj_context->mobj_data["degree_from"];  
  // $fdegto = $aobj_context->mobj_data["degree_to"];  
  // $exmrange = $aobj_context->mobj_data["examno_from"];  
  // $deggrp = $aobj_context->mobj_data["Degree"];  
  // $rtype = $aobj_context->mobj_data["ReportType"]; 
  // $rftype = $aobj_context->mobj_data["rftype"];   

  $query = "select distinct sf.ffeecode,m.fshortname from appstudfee sf
  inner join masfee m on sf.ffeecode=m.ffeecode ";
  $result = $aobj_context->pobj_db->GetAll($query);

  // $query = "select concat(c.fcollname,', Const.,',c.ftown) as fcollname,c.fcollcode,sf.fdegree,sf.ffeecode,sum(sf.famount) as sum
  // from appcandsum cs
  // inner join college c on c.fcollcode=cs.fcollcode 
  // inner join degree d on d.fdegree=cs.fdegree and d.fexamno=cs.fexamno and cs.fcollcode=c.fcollcode
  // inner join appstudfee sf on sf.fdegree=cs.fdegree and sf.fcollcode=cs.fcollcode
  // and cs.fexamno = sf.fexamno and sf.appno=cs.appno and sf.fregno=cs.fregno
  // where sf.fdegree between '{$fdegfrm}' and '{$fdegto}' and
  // sf.fcollcode between '{$fcollfrm}' and '{$fcollto}' and
  // cs.fpaymentstatus='success' and d.fdeggrp='{$deggrp}'and ifnull(cs.ftotalfee,'')<>''
  // group by sf.fcollcode,sf.fdegree
  // order by sf.fcollcode,sf.fdegree,sf.ffeecode";

  // $result1 = $aobj_context->pobj_db->GetAll($query);

  // $res['head']=$result;
  // $res['body']=$result1;

  $class_obj = new Report();
  $class_obj->univcode=$univcode;
  $class_obj->DefaultConstructor($aobj_context);
  
  // if(count($result1)>0)
    $class_obj->writeReport($result);
  
  $class_obj->SendOutput();
}

function moneyFormatIndia($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.
}
?>