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


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/examAppFeeDetReport.php

<?php
$main_src = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 7);
$pdf_writer_class = $main_src . "/tarka_pdf_latest/fpdf.php";
require_once $pdf_writer_class;
ini_set('max_execution_time', 0);
class GenerateFeeSummaryReport extends FPDF
{

    public function DefaultConstructor($aobj_context)
    {
        include_once $aobj_context->main_src . "/src/format.php";
        $this->aobj_context = $aobj_context;
        $this->pdf = new FPDF();
        $this->pdf = $this;
        session_start();
        $this->ip = $_SERVER["REMOTE_ADDR"];
        $get_date = "select date_add(date_add(now(),INTERVAL 13 hour),interval 30 minute) as now_date";
        $obj = $this->aobj_context->pobj_db->GetRow($get_date);
        $this->current_date = $obj['now_date'];

        $this->cntr_from = substr("0000000000" . $aobj_context->mobj_data["cntr_from"], -4);
        $this->cntr_to = substr("ZZZZZZZZZZ" . $aobj_context->mobj_data["cntr_end"], -4);

        $this->degree_from = substr("0000000000" . $aobj_context->mobj_data["degree_from"], -5);
        $this->degree_to = substr("ZZZZZZZZZZ" . $aobj_context->mobj_data["degree_to"], -5);

        $this->examno_from = $aobj_context->mobj_data["examno_from"];
        $examnoStr = strtoupper($this->examno_from);
        $splitexamno = str_split($examnoStr);
        $this->examno = implode(",", $splitexamno);
        // var_dump($this->examno);

        $this->exam_type = $aobj_context->mobj_data["exam_type"];
        $this->exam_year = $aobj_context->mobj_data["exam_year"];
        $this->univcode = $aobj_context->mobj_data["univcode"];

// var_dump($this->exam_type, $this->exam_year);
        //var_dump($this->degree_to);
        $this->Degree = $aobj_context->mobj_data["Degree"];
        $this->Screentype = $aobj_context->mobj_data["Screentype"];
        // var_dump($this->Screentype);
        $this->ReportType = $aobj_context->mobj_data["ReportType"];
        //var_dump($this->ReportType);
        if ($this->Screentype == "Exam Application Fee Summary") {
            $this->Screentype = "Exam Application Fee Summary";
        }

    }

    public function Header()
    {
        if ($this->Screentype == 'Exam Application Fee Summary') {
            $this->pdf->SetTitle("Exam Application Fee Summary Report");

            $img_path = $this->aobj_context->main_src . "/img/{$this->univcode}_logo.jpg";

            if (!empty($this->pdf_logo_path) && file_exists($img_path)) {

                $this->pdf->Image($img_path, 70, 20, 20);
            }

        }  
        $this->pdf->SetFont('Times', 'B', 15);
        $this->pdf->cell(0, 7, "" . $this->FUNIVNAME, "0", 1, "C");
        $this->pdf->SetFont('Times', '', 8);
        $this->pdf->cell(0, 4, $this->s_state, "0", 0, "C");
        $this->pdf->SetFont('Times', '', 10);
        $this->pdf->Cell(-20, 4, "Page {$this->pdf->PageNo()}/{nb}", 0, 1, 'C');
        $this->pdf->SetFont('Times', 'B', 10);
    
        $this->pdf->cell(0,5,'Exam Application Fee Report ( Payment Mode Wise )',"0",1,"C");
        $this->pdf->cell(0, 5, "Degree Group:" . " " . $this->Degree, "0", 1, "C");

        $this->pdf->cell(0, 5, "College Code Range :" . " " . $this->cntr_from . " " . "to" . " " . $this->cntr_to, "0", 1, "C");
        $this->pdf->cell(0, 5, "Degree Range :" . " " . $this->degree_from . " " . "to" . " " . $this->degree_to, "0", 1, "C");

        // $this->pdf->cell(0, 5, "Exam Year/ Type:" . " " . $this->exam_year . '/' . $this->exam_type, "0", 1, "C");
        // $this->pdf->cell(0, 5, "Exam No. :" . " " . $this->examno, "0", 1, "C");
        
    }

    public function Footer()
    {

        if ($this->Screentype == "Exam Application Fee Summary") {
            $this->SetY(-15);
            $this->pdf->SetFont('Times', 'B', 8);
            $new_y = $this->pdf->GetY();
            $this->pdf->Line(8, $new_y, 290, $new_y);
            $this->pdf->Ln(2);
            $this->Cell(180, 6, 'Printed   : IP Address : ' . $this->ip . " Date " . $this->current_date, '0', 0, 'L');
        } 
    }

    public function formcolldata()
    {
        $get_coll_name = "select FUNIVNAME as 'FUNIVNAME',
		FUNIVADD1 as 'state', pdf_logo_path From control";
        $lobj_get_coll_name = $this->aobj_context->pobj_db->GetRow($get_coll_name);
        $this->FUNIVNAME = $lobj_get_coll_name['FUNIVNAME'];
        $this->s_state = $lobj_get_coll_name['state'];
        $this->f_year = $lobj_get_coll_name['f_year'];
        $this->pdf_logo_path = $lobj_get_coll_name['pdf_logo_path'];

    }
    public function tableHeader()
    {

        $this->pdf->SetFont('Times', 'B', 8);
        $this->pdf->Cell(5, 6, "Sl.", "LRT", 0);
        $this->pdf->Cell(10, 6, "Deg", "LRT", 0, "C");
        $this->pdf->Cell(10, 6, "Exam", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "GM", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "CAT-I", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "ST", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "SC", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "IIA", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "IIIA", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "IIB", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "IIIB", "LRT", 0, "C");
        $this->pdf->Cell(28, 6, "App no.", "LRT", 1, "C");

        $this->pdf->Cell(5, 6, "No", "LRB", 0, "C");
        $this->pdf->Cell(10, 6, "Code", "LRB", 0, "C"); //w h txt brd pos align
        $this->pdf->Cell(10, 6, "no.", "LBR", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Amount", "1", 0, "C");
        $this->pdf->Cell(10, 6, "Count", "1", 0, "C");
        $this->pdf->Cell(18, 6, "Total Fee", "1", 1, "C");
    }

    public function formdata()
    {

        //==queries for particular screen type==//

        //arr of ffreshexam A to H
        // $examnoarr  = "ABCDEFGH";
        $examnoStr = strtoupper($this->examno_from);
        $splitexamno = str_split($examnoStr);
        // var_dump($splitexamno);

        $examno = implode("','", $splitexamno);
        // var_dump($examno);

        // if ($this->Screentype == 'Exam Application Fee Summary' && $this->ReportType == 'Detail') {
            $lobj_fee_data = "SELECT cs.fcollcode,IF(cs.fpaymentype = 'Other Banks', ucase(cs.fpaygateway), ucase(cs.fpaymentype)) AS fpaymentype ,d.fdegree,
                CONCAT(cs.fcollcode,'-',fcollname,', ',ftown) AS college_name,d.fdeggrp,
                SUM( cs.ftotalfee ) AS amount,
                SUM(CASE WHEN fconstype='0123456789' THEN  ca.ftotalfee  ELSE 0 END) AS normal_income,
                SUM(CASE WHEN ca.fconstype!='0123456789' THEN  ca.ftotalfee  ELSE 0 END) AS low_income,
                COUNT(CASE WHEN ca.fconstype='0123456789' THEN ca.fregno ELSE NULL END) AS normal_app ,
                COUNT(CASE WHEN ca.fconstype !='0123456789' THEN ca.fregno ELSE NULL END) AS low_app FROM appcandsum cs
                INNER JOIN college c ON cs.fcollcode = c.fcollcode
                INNER JOIN degree d ON d.fdegree=cs.fdegree AND  d.fexamno=cs.fexamno
                INNER JOIN candsum ca ON ca.fcollcode = cs.fcollcode AND ca.fdegree=cs.fdegree AND ca.fregno=cs.fregno AND  cs.fexamno=ca.fexamno WHERE IFNULL(fackdate,'') <> '' and cs.fcollcode>='{$this->cntr_from}' and
                cs.fcollcode<='{$this->cntr_to}' and d.fdegree>='{$this->degree_from}' and
                d.fdegree<='{$this->degree_to}' and d.fdeggrp='{$this->Degree}' and cs.ffreshexam IN ('{$examno}')
            GROUP BY fcollcode,fpaymentype order by fcollcode";

        // } 
        // var_dump($lobj_fee_data);

        //==build report==//
        $lobj_get_fee_data = $this->aobj_context->pobj_db->GetAll($lobj_fee_data);
        // var_dump($lobj_get_fee_data);

        // if ($this->Screentype == 'Exam Application Fee Summary' && $this->ReportType == 'Detail') {

            $this->pdf->AddPage('L');
            //$this->pdf->SetFillColor(248, 248 ,255);
            $this->pdf->SetFont('Times', 'B', 10);
            $this->pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");
            $this->pdf->Cell(130, 6, "College Name", "LRT", 0, "C");

            $this->pdf->Cell(30, 6, "Payment", "LRT", 0, "C");
            $this->pdf->Cell(22, 6, "Total App.", "LRT", 0, "C");
            $this->pdf->Cell(22, 6, "Amount Paid", "LRT", 0, "R");
            $this->pdf->Cell(22, 6, "Total App.", "LRT", 0, "C");
            $this->pdf->Cell(22, 6, "Amount Paid", "LRT", 0, "R");
            $this->pdf->Cell(22, 6, "Total Amount", "LRT", 1, "R");

            $this->pdf->SetFont('Times', 'B', 10);
            $this->pdf->Cell(10, 6, "No.", "LRB", 0, "C");
            $this->pdf->Cell(130, 6, "", "LRB", 0, "C");

            $this->pdf->Cell(30, 6, "", "LRB", 0, "C");
            $this->pdf->Cell(22, 6, "(Normal Fee)", "LRB", 0, "C");
            $this->pdf->Cell(22, 6, "(Normal Fee)", "LRB", 0, "C");
            $this->pdf->Cell(22, 6, "(Low Fee)", "LRB", 0, "C");
            $this->pdf->Cell(22, 6, "(Low Fee)", "LRB", 0, "C");
            $this->pdf->Cell(22, 6, "Paid", "LRB", 1, "C");

            $new_name = "";
            $old_name = "";
            $sl_no = 0;
            $total = 0;
            $normal_income_total = 0;
            $low_income_total = 0;
            $normal_app = 0;
            $low_app = 0;
            foreach ($lobj_get_fee_data as $key => $value) {

                $amount = moneyFormatIndia((int) $value['amount']);
                $normal_income = moneyFormatIndia((int) $value['normal_income']);
                $low_income = moneyFormatIndia((int) $value['low_income']);
                $this->pdf->SetFont('Times', '', 10);
                $new_name = $value['college_name'];
                if ($new_name != $old_name) {
                    $sl_no++;
                    $name1 = substr($value['college_name'], 0, 70);
                    $name2 = substr($value['college_name'], 70);
                    if (empty($name2)) {

                        $this->pdf->Cell(10, 6, $sl_no, "LRT", 0, "C");
                        $this->pdf->Cell(130, 6, $name1, "LRT", 0, "L");
                        $this->pdf->Cell(30, 6, $value['fpaymentype'], "1", 0, "C");
                        $this->pdf->Cell(22, 6, $value['normal_app'], "1", 0, "R");
                        $this->pdf->Cell(22, 6, $normal_income, "1", 0, "R");
                        $this->pdf->Cell(22, 6, $value['low_app'], "1", 0, "R");
                        $this->pdf->Cell(22, 6, $low_income, "1", 0, "R");
                        $this->pdf->Cell(22, 6, $amount, "1", 1, "R");

                    } else {
                        $this->pdf->Cell(10, 6, $sl_no, "LRT", 0, "C");
                        $this->pdf->Cell(130, 6, $name1, "LRT", 0, "L");
                        $this->pdf->Cell(30, 6, strtoupper($value['fpaymentype']), "LRT", 0, "C");
                        $this->pdf->Cell(22, 6, $value['normal_app'], "LRT", 0, "R");
                        $this->pdf->Cell(22, 6, $normal_income, "LRT", 0, "R");
                        $this->pdf->Cell(22, 6, $value['low_app'], "LRT", 0, "R");
                        $this->pdf->Cell(22, 6, $low_income, "LRT", 0, "R");
                        $this->pdf->Cell(22, 6, $amount, "LRT", 1, "R");

                        $this->pdf->Cell(10, 4, "", "LR", 0, "C");
                        $this->pdf->Cell(130, 4, $name2, "LR", 0, "L");
                        $this->pdf->Cell(30, 4, "", "LRB", 0, "L");
                        $this->pdf->Cell(22, 4, "", "LRB", 0, "L");
                        $this->pdf->Cell(22, 4, "", "LRB", 0, "L");
                        $this->pdf->Cell(22, 4, "", "LRB", 0, "L");
                        $this->pdf->Cell(22, 4, "", "LRB", 0, "L");
                        $this->pdf->Cell(22, 4, "", "LRB", 1, "L");
                    }
                    $old_name = $value['college_name'];
                } else {
                    $this->pdf->Cell(10, 6, "", "LR", 0, "C");
                    $this->pdf->Cell(130, 6, "", "LR", 0, "L");
                    $this->pdf->Cell(30, 6, strtoupper($value['fpaymentype']), "1", 0, "C");
                    $this->pdf->Cell(22, 6, $value['normal_app'], "1", 0, "R");
                    $this->pdf->Cell(22, 6, $normal_income, "1", 0, "R");
                    $this->pdf->Cell(22, 6, $value['low_app'], "1", 0, "R");
                    $this->pdf->Cell(22, 6, $low_income, "1", 0, "R");
                    $this->pdf->Cell(22, 6, $amount, "1", 1, "R");

                }

                if ($this->pdf->getY() > 180) {
                    $this->pdf->Cell(10, 0, "", "LRB", 0, "C");
                    $this->pdf->Cell(130, 0, "", "LRB", 0, "L");

                }
                $total = $total + $value['amount'];
                $total1 = moneyFormatIndia((int) $total);

                $normal_income_total = $normal_income_total + $value['normal_income'];
                $normal_income_total1 = moneyFormatIndia($normal_income_total);

                $normal_app = $normal_app + $value['normal_app'];

                $low_income_total = $low_income_total + $value['low_income'];
                $low_income_total1 = moneyFormatIndia((int) $low_income_total);
                $low_app = $low_app + $value['low_app'];

                if ($this->pdf->getY() > 180) {
                    $this->pdf->AddPage('L');
                    $this->pdf->SetFont('Times', 'B', 10);
                    /*$this->pdf->Cell(10,6,"Sl. No","1",0,"C");
                    $this->pdf->Cell(130,6,"College Name","1",0,"C");
                    $this->pdf->Cell(30,6,"Paymentype","1",0,"C");
                    $this->pdf->Cell(20,6,"N.F.Tot.App","1",0,"C");
                    $this->pdf->Cell(20,6,"Normal Fee","1",0,"R");
                    $this->pdf->Cell(20,6,"L.F.Tot.App","1",0,"R");
                    $this->pdf->Cell(20,6,"Low Fee","1",0,"R");
                    $this->pdf->Cell(20,6,"Amount","1",1,"R");*/
                    $this->pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");
                    $this->pdf->Cell(130, 6, "College Name", "LRT", 0, "C");

                    $this->pdf->Cell(30, 6, "Payment", "LRT", 0, "C");
                    $this->pdf->Cell(22, 6, "Total App.", "LRT", 0, "C");
                    $this->pdf->Cell(22, 6, "Amount Paid", "LRT", 0, "R");
                    $this->pdf->Cell(22, 6, "Total App.", "LRT", 0, "C");
                    $this->pdf->Cell(22, 6, "Amount Paid", "LRT", 0, "R");
                    $this->pdf->Cell(22, 6, "Total Amount", "LRT", 1, "R");

                    $this->pdf->SetFont('Times', 'B', 10);
                    $this->pdf->Cell(10, 6, "No.", "LRB", 0, "C");
                    $this->pdf->Cell(130, 6, "", "LRB", 0, "C");

                    $this->pdf->Cell(30, 6, "", "LRB", 0, "C");
                    $this->pdf->Cell(22, 6, "(Normal Fee)", "LRB", 0, "C");
                    $this->pdf->Cell(22, 6, "(Normal Fee)", "LRB", 0, "C");
                    $this->pdf->Cell(22, 6, "(Low Fee)", "LRB", 0, "C");
                    $this->pdf->Cell(22, 6, "(Low Fee)", "LRB", 0, "C");
                    $this->pdf->Cell(22, 6, "Paid", "LRB", 1, "C");

                }

            }

            $this->pdf->SetFont('Times', 'B', 10);
            $this->pdf->Cell(10, 6, "", "1", 0, "C");
            $this->pdf->Cell(130, 6, "Grand Total", "1", 0, "C");
            $this->pdf->Cell(30, 6, "", "1", 0, "R");
            $this->pdf->Cell(22, 6, $normal_app, "1", 0, "R");
            $this->pdf->Cell(22, 6, $normal_income_total1, "1", 0, "R");
            $this->pdf->Cell(22, 6, $low_app, "1", 0, "R");
            $this->pdf->Cell(22, 6, $low_income_total1, "1", 0, "R");
            $this->pdf->Cell(22, 6, $total1, "1", 1, "C");

        // }  
    }

    public function SendOutput()
    {
        $this->pdf->Output("fee_summary.{$this->Screentype}.pdf", "I");
    }

}
function generateExamAppDetailReport($aobj_context)
{
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
    // var_dump($aobj_context);

    $class_obj = new GenerateFeeSummaryReport();
    $class_obj->AliasNbPages();
    $class_obj->DefaultConstructor($aobj_context);
    $class_obj->Header();

    $class_obj->formcolldata();
    $class_obj->formdata();
    $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.
}