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


Current Path : /var/www/oasis/Report_details/
Upload File :
Current File : /var/www/oasis/Report_details/markListReportPdf.php

<?php

function printMarkListSubWise($aobj_context)
{	
	session_start();
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);  
    $FUNIVCODE = $_SESSION['FUNIVCODE'];
    $degree_ = $aobj_context->mobj_data['degree'];
	$deg = explode(' - ', $degree_);
	$degree = $deg[0];
    $dept = $deg[1];
    $sem_ = $aobj_context->mobj_data['sem'];
    
	$seme = explode(' - ', $sem_);
	$sem = $seme[0];
    $semester = $seme[1];
    $subject = $aobj_context->mobj_data["subject"];
    
    $section = $aobj_context->mobj_data["section"];

    
    
    if(strtolower($section) == 'all'){
        $cond_sec = ' '; 
        $secList = 'All';

    }else{  
        $cond_sec = "and at.fsection='{$section}'";
        $secList = $section;
    }
    $fregno = $aobj_context->mobj_data["fregno"];
    $tregno = $aobj_context->mobj_data["tregno"];
    $marks_ = $aobj_context->mobj_data["marks"];
    $markSplit = explode('_', $marks_);
    $marks = $markSplit[0];
    $college = $_SESSION['collcode'];

    
    // var_dump($marks);
	$pdf_writer_class=$aobj_context->main_src."/tcpdf/tcpdf.php";
	
	include($pdf_writer_class);		
	$pdf= new TCPDF();
	$pdf->SetFont('Times','',10);                  
    
    $page_header_university = "select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
                                FUNIVADD1 as 'state', pdf_logo_path,
                                ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From control";
	$lobj_page_header_university = $aobj_context->mobj_db->GetRow($page_header_university);

    $get_coll_name = "select CONCAT(FCOLLCODE, ' - ', FCOLLNAME,', ',FTOWN) AS FCOLLNAME, ftown as FTOWN from college 
                      where fcollcode = '{$college}'";
    $res_coll_name = $aobj_context->mobj_db->GetRow($get_coll_name); 
    
    $get_deg_name = "select fdescpn from degree 
                      where fdegree = '{$degree}'
                      and fexamno = 'A'";
    $res_deg_name = $aobj_context->mobj_db->GetRow($get_deg_name); 
    $fdescpn = $res_deg_name['fdescpn'];

    $db=$aobj_context->mobj_data["db"];  
    $img_path = $aobj_context->main_src .$db.'/'. $lobj_page_header_university['pdf_logo_path'];
    $FUNIVNAME = $lobj_page_header_university['FUNIVNAME'];
    $STATE = $lobj_page_header_university['state'];
    $COLLNAME = $res_coll_name['FCOLLNAME'];
    //$COLLNAME = $res_coll_name['FCOLLNAME'];

    $query_marks = "select sum(FSMAXMARKS)as maxmarks from subject 
            where fdegree = '{$degree}' and fexamno = '{$sem}' and fretain='T' 
            and fintass = 'T' and fsubcode = '{$subject}'";
    $res_marks = $aobj_context->mobj_db->GetRow($query_marks);
    $maxmarks =$res_marks['maxmarks'];
    // var_dump($res_marks);
    
    if(strtolower($subject) == 'all')
        $maxmarks = '50';
    
    $havcnd = "having if(prmarks >0 and thmarks >0,(((prmarks/20)*100) < '{$marks}' or ((thmarks/30)*100) < '{$marks}'),((totmarks/50)*100) < '{$marks}')";
        if($marks == '100')
           $havcnd ="";

    if($subject == "All"){
        $cond_sub = " ";
    }else{
        $cond_sub = "and left(s.fsubcode,4) = '{$subject}'";
    } 

    $teachcode = $_SESSION['usr'];
    $query_teach = "select fteachname, fteachcode from masteach 
                    where fcollcode = '{$college}' and fteachcode = '{$teachcode}'";
    $res_teach = $aobj_context->mobj_db->GetRow($query_teach);
    
    $teachname = $res_teach['fteachname'];

    $query = "select * from s_sysdb where sysusr = '{$teachcode}'";
    $res0 = $aobj_context->mobj_db->GetRow($query);
    $user_type = $res0['user_type'];
  //  var_dump($user_type);
    $cnd = "inner join attendsum a on s.fdegree = a.fdegree and s.fexamno = a.fexamno 
    and s.fsubcode = left(a.fsubcode,4)
    and a.fteachcode = '{$teachcode}'";
    
    if($user_type == '40' || $user_type == '14')
        $cnd = "";

    $qry_subject = "select distinct s.fsubcode,s.fsubname,s.fsubshort from subject s
                        {$cnd}
                        where s.fdegree = '{$degree}'
                        and s.fexamno = '{$sem}'
                        {$cond_sub}";
//    var_dump($qry_subject);                          

    $result_subject = $aobj_context->mobj_db->GetAll($qry_subject);

    foreach($result_subject as $sub)
    {

        $fsubcode = $sub['fsubcode'];
        
        $exam_data = "select ifnull(d.fexamdate,'') as fexamdate from degree d 
                 inner join student s on s.fdegree = d.fdegree 
                 and d.fexamno = s.fexamno where d.fdegree = '{$degree}' and 
                 s.fexamno = '{$sem}' and s.fregno between '{$fregno}' 
                 and '{$tregno}' group by d.fexamdate";
        $lobj_get_exam_data = $aobj_context->mobj_db->GetRow($exam_data);  
    
        $examdate = $lobj_get_exam_data['fexamdate'];


        if($marks == "100"){
             $cndCIE = 'Continuous Internal Evaluation Submission Form: '.$examdate;
        }else{
            $cndCIE = 'CIE Less Than '.$marks.'% for '.$examdate.'  Form C';
        }

        $pdf->SetFont('Times','B',12);
        
        $degname = 'Degree: ';    
        if($FUNIVCODE == '049')
            $degname = 'Program: ';


        $query1 = "select fssubname from subject 
                    where fintass='T' and fretain = 'T' 
                    and fexamno = '{$sem}'
                    and fdegree ='{$degree}'  
                    and fsubcode = '{$fsubcode}'
                    group by fssubname order by fssubcode";
    
        $res1 = $aobj_context->mobj_db->GetAll($query1);
        $totheader = count($res1);

        
        //sum(if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks))) as totmarks,
        $first = true;
        $get_subwise = "select m.fregno,mid(st.fname,1,18) as fname1, 
                            mid(st.fname,19,37) as fname2,
                            ifnull(left(m.fsubcode,4),'') as fsubcode,ifnull(s.fsubname,'') as fsubname, ifnull(s.fsubshort,'')as coursecode,
                            group_concat(concat(concat(s.fssubname))order by s.fssubcode separator '*') as sublist,
                            GROUP_CONCAT(concat(right(concat(if(ifnull(m.fmarks,'-1.00') = '-1.00','0',m.fmarks)),9)) ORDER BY s.fssubcode ASC SEPARATOR '*') as markslist,
                            (sum(if(s.ftheory = 'T',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))) as th,
                            (sum(if(s.ftheory = 'F',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))) as pr,
                            (sum(if(s.ftheory = 'T',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.6) as thmarks,
                            (sum(if(s.ftheory = 'F',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.4) as prmarks,
                            if((sum(if(s.ftheory = 'F',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.4) >0
                            and (sum(if(s.ftheory = 'T',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.6) >0,((sum(if(s.ftheory = 'T',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.6)+(sum(if(s.ftheory = 'F',if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)),0))*.4)),sum(if(fmarks = '-1',0,if(fmarks = '-2',0,fmarks)))) as totmarks,
                            a1.attend,a1.conducted
                            from marks m inner join subject s on s.fcsubcode = m.fsubcode
                            and m.fdegree = s.fdegree and m.fexamno = s.fexamno  
                            inner join ( select at.fdegree,at.fcollcode,at.fregno,at.fsubcode, at.fexamno,sum(fnoclass) as conducted, sum(if(fpresent = 'P',fnoclass,0)) as attend From attendsum at left join attend_det a on a.fexamno = at.fexamno and a.fdegree = at.fdegree and a.fsubcode = at.fsubcode 
                            and a.fregno = at.fregno and a.fcollcode = at.fcollcode
                            and a.fclassid = at.fclassid
                            where at.fregno between '{$fregno}' and '{$tregno}' and at.fdegree = '{$degree}' $cond_sec
                            group by at.fregno,at.fsubcode) a1 on a1.fdegree = m.fdegree
                            and a1.fexamno = m.fexamno and a1.fregno = m.fregno  
                            and left(a1.fsubcode,4) = left(m.fsubcode,4)
                            inner join student st on st.fdegree = m.fdegree and 
                            st.fcollcode = m.fcollcode and m.fregno = st.fregno and 
                            m.fexamno = st.fexamno
                            where m.fregno between '{$fregno}' and '{$tregno}' 
                            and s.fdegree = '{$degree}' 
                            and left(a1.fsubcode,4) = '{$fsubcode}'
                            and fintass = 'T' and s.fexamno='{$sem}' 
                            and ifnull(st.fdeleted,'') <> 'T'
                            and a1.fcollcode = '{$college}' 
                            group by m.fregno,left(a1.fsubcode,4),coursecode
                            {$havcnd} order by left(m.fsubcode,4)";
        //var_dump($get_subwise);                            
        $res2 = $aobj_context->mobj_db->GetAll($get_subwise);
        $count = 1;
        $z=0;
        foreach($res2 as $value)
        {   
             
            if($z == 15 || $first){
                $first = false;
            
                $pdf->AddPage('L');
                $pdf->SetMargins(3,10);
                if (file_exists($img_path)) {
                    $pdf->Image($img_path, 115, 2, 60);
                }

                $pdf->SetFont('Times', 'B', 16);
                $pdf->ln(12);
                $pdf->SetFont('Times', 'B', 16);
                $pdf->Cell(0, 5, $COLLNAME, 0, 1, 'C');
                $pdf->SetFont('Times','B',12);
                $pdf->Cell(0, 5, $cndCIE, 0, 1, 'C');
                $pdf->Cell(0, 5, 'Department: '.$fdescpn, 0, 1, 'C');
                $pdf->Cell(0, 5, 'Course Code: '.$sub['fsubshort'].'     '.'Course Title: '.$sub['fsubname'], 0, 1, 'C');
                if($_SESSION['usr']!="admin"){
                    $pdf->Cell(0, 5, 'Faculty Name: '.$teachname.'      '.'Section: '.$secList.'     '.'Semester: '.$semester, 0, 1, 'C');
                }else{
                    $pdf->Cell(0, 5, 'Section: '.$secList.'     '.'Semester: '.$semester, 0, 1, 'C'); 
                } 
                $pdf->ln(5);
                $totheader = count($res1);

                if($college == '1001')
                {
                    $pdf->SetFont('Times', '', 8);

                    $pdf->Cell(7,4,'Sl.','LRT',0,'C');
                    $pdf->Cell(20,4,'USN','LRT',0,'C');
                    $pdf->Cell(35,4,'Name','LRT',0,'C');	
                    $pdf->Cell(10,4,'Classes','LRT',0,'C');										
                    $pdf->Cell(10,4,'Classes','LRT',0,'C');

                    foreach($res1 as $ssub)
                    {
                        $pdf->Cell(14,4,$ssub['fssubname'],'LRT',0,'C');
                    }
                    
                    if($value['prmarks'] >0 && $value['thmarks']>0)
                    {
                        $pdf->Cell(10,4,'Th.','LRT',0,'C');
                        $pdf->Cell(10,4,'Pr.','LRT',0,'C');
                        $pdf->Cell(10,4,'Th.','LRT',0,'C');
                        $pdf->Cell(10,4,'Pr.','LRT',0,'C');    
                    }

                    $pdf->Cell(13,4,'Total','LRT',0,'C');
                    $pdf->Cell(13,4,'Total','LRT',0,'C');
                    $pdf->Cell(10,4,'NE','LRT',0,'C');
                    $pdf->Cell(22,4,'Student','LRT',1,'C');

                    $pdf->Cell(7,4,'No.','LRB',0,'C');
                    $pdf->Cell(20,4,'','LRB',0,'C');
                    $pdf->Cell(35,4,'','LRB',0,'C');	
                    $pdf->Cell(10,4,'Held','LRB',0,'C');										
                    $pdf->Cell(10,4,'Attend','LRB',0,'C');        

                    foreach($res1 as $ssub)
                    {
                        
                        $pdf->Cell(14,4,"",'LRB',0,'C');

                    }
                    
                    if($value['prmarks'] >0 && $value['thmarks'] >0)
                    {
                        $pdf->Cell(10,4,'Tot.(50)','LRB',0,'C'); 
                        $pdf->Cell(10,4,'Tot.(50)','LRB',0,'C');
                        $pdf->Cell(10,4,'(60%)','LRB',0,'C'); 
                        $pdf->Cell(10,4,'(40%)','LRB',0,'C');     
                    }

                    $pdf->Cell(13,4,'','LRB',0,'C'); 
                    $pdf->Cell(13,4,'Rounded','LRB',0,'C');
                    $pdf->Cell(10,4,'','LRB',0,'C');
                    $pdf->Cell(22,4,'Signature','LRB',1,'C');
                    $z=0; 
                }
                else
                {
                    if($totheader <5)
                        $pdf->Cell(15,4,'','',0,'C'); 
                    $pdf->SetFont('Times', 'B', 9);
                    $pdf->Cell(10,4,'Sl.','LRT',0,'C');
                    $pdf->Cell(25,4,'USN','LRT',0,'C');
                    $pdf->Cell(46,4,'Name','LRT',0,'C');	
                    $pdf->Cell(14,4,'Classes','LRT',0,'C');										
                    $pdf->Cell(14,4,'Classes','LRT',0,'C');

                    foreach($res1 as $ssub)
                    {
                        
                        $pdf->Cell(19,4,$ssub['fssubname'],'LRT',0,'C');

                    }
                    $pdf->Cell(18,4,'Total','LRT',0,'C');
                    $pdf->Cell(18,4,'Total','LRT',0,'C');
                    $pdf->Cell(30,4,'Student','LRT',1,'C');
                    
                    if($totheader <=5)
                        $pdf->Cell(15,4,'','',0,'C'); 

                    $pdf->Cell(10,4,'No.','LRB',0,'C');
                    $pdf->Cell(25,4,'','LRB',0,'C');
                    $pdf->Cell(46,4,'','LRB',0,'C');	
                    $pdf->Cell(14,4,'Held','LRB',0,'C');										
                    $pdf->Cell(14,4,'Attend','LRB',0,'C');        

                    foreach($res1 as $ssub)
                    {
                        $pdf->Cell(19,4,"",'LRB',0,'C');
                    }
                    $pdf->Cell(18,4,'','LRB',0,'C'); 
                    $pdf->Cell(18,4,'Rounded','LRB',0,'C');
                    $pdf->Cell(30,4,'Signature','LRB',1,'C');
                    $z=0; 
                }  
                
            }

            if($college == '1001')
            {
                $pdf->SetFont('Times', '', 8);
                
                if($value['fname2'] != '') 
                {
                    $pdf->Cell(7,4,$count,'LRT',0,'C');			
                    $pdf->Cell(20,4,$value['fregno'],'LRT',0,'C');
                    $pdf->Cell(35,4,$value['fname1'],'LRT',0,'L');
                    $pdf->Cell(10,4,$value['conducted'],'LRT',0,'C');
                    $pdf->Cell(10,4,$value['attend'],'LRT',0,'C');
                    
                    foreach(explode('*',$value['markslist']) as $re)
                    { 
                        $pdf->Cell(14,4,$re,'LRT',0,'C'); 
                    }    
                    $na = "";
                    if($value['prmarks'] >0 && $value['thmarks']>0)
                    {
                        $pdf->Cell(10,4,$value['th'],'LRT',0,'C');
                        $pdf->Cell(10,4,$value['pr'],'LRT',0,'C');
                        $pdf->Cell(10,4,$value['thmarks'],'LRT',0,'C');
                        $pdf->Cell(10,4,$value['prmarks'],'LRT',0,'C');
                        
                        if(((($value['prmarks']/20)*100) < '40') || ((($value['thmarks']/30)*100) < '40'))
                            $na = "NE";
                    }    

                    $pdf->Cell(13,4,$value['totmarks'],'LRT',0,'C');
                    $pdf->Cell(13,4,number_format((float)ceil($value['totmarks']),2),'LRT',0,'C');
                    
                    if($na == '')
                    {
                        if(((number_format((float)ceil($value['totmarks']),2)/50)*100)<40)
                            $na = "NE";
                    }

                    $pdf->Cell(10,4,$na,'LRT',0,'C');
                    $pdf->Cell(22,4,'','LRT',1,'C');
                   
                    $pdf->Cell(7,4,'','LRB',0,'C');			
                    $pdf->Cell(20,4,'','LRB',0,'C');
                    $pdf->Cell(35,4,$value['fname2'],'LRB',0,'L');
                    $pdf->Cell(10,4,'','LRB',0,'C');
                    $pdf->Cell(10,4,'','LRB',0,'C');
                    
                    foreach(explode('*',$value['markslist']) as $re)
                    { 
                        $pdf->Cell(14,4,'','LRB',0,'C'); 
                    }
                    
                    if($value['prmarks'] >0 && $value['thmarks'] >0)
                    {
                        
                        $pdf->Cell(10,4,'','LRB',0,'C');
                        $pdf->Cell(10,4,'','LRB',0,'C');
                        $pdf->Cell(10,4,'','LRB',0,'C');
                        $pdf->Cell(10,4,'','LRB',0,'C');
                    }  

                    $pdf->Cell(13,4,'','LRB',0,'C');
                    $pdf->Cell(13,4,'','LRB',0,'C');
                    $pdf->Cell(10,4,'','LRB',0,'C');
                    $pdf->Cell(22,4,'','LRB',1,'C');

                }else
                {
                    $pdf->Cell(7,7,$count,'LRBT',0,'C');			
                    $pdf->Cell(20,7,$value['fregno'],'LRBT',0,'C');
                    $pdf->Cell(35,7,$value['fname1'],'LRBT',0,'L');
                    $pdf->Cell(10,7,$value['conducted'],'LRBT',0,'C');
                    $pdf->Cell(10,7,$value['attend'],'LRBT',0,'C');
                    
                    $na = "";

                    foreach(explode('*',$value['markslist']) as $re)
                    { 
                        $pdf->Cell(14,7,$re,'LRBT',0,'C'); 
                    }    
                    
                    if($value['prmarks'] >0 && $value['thmarks']>0)
                    {
                        $pdf->Cell(10,7,$value['th'],'LRBT',0,'C');
                        $pdf->Cell(10,7,$value['pr'],'LRBT',0,'C');
                        $pdf->Cell(10,7,$value['thmarks'],'LRBT',0,'C');
                        $pdf->Cell(10,7,$value['prmarks'],'LRBT',0,'C');
                        if(((($value['prmarks']/20)*100) < '40') || ((($value['thmarks']/30)*100) < '40'))
                            $na = "NE";
                    }  

                    $pdf->Cell(13,7,$value['totmarks'],'LRBT',0,'C');
                    $pdf->Cell(13,7,number_format((float)ceil($value['totmarks']),2),'LRBT',0,'C');
                    if($na == '')
                    {
                        if(((number_format((float)ceil($value['totmarks']),2)/50)*100)<40)
                            $na = "NE";
                    }
                    $pdf->Cell(10,7,$na,'LRBT',0,'C');
                    $pdf->Cell(22,7,'','LRBT',1,'C'); 	
                }       
            
                $count++;
                $z++;  
            }
            else{
                 $pdf->SetFont('Times', '', 10);
            if($college == '1002'){
                if($totheader <5)
                        $pdf->Cell(15,4,'','',0,'C'); 
            }
             if($value['fname2'] != '') 
             {
                $pdf->Cell(10,4,$count,'LRT',0,'C');			
                $pdf->Cell(25,4,$value['fregno'],'LRT',0,'C');
                $pdf->Cell(46,4,$value['fname1'],'LRT',0,'L');
                $pdf->Cell(14,4,$value['conducted'],'LRT',0,'C');
                $pdf->Cell(14,4,$value['attend'],'LRT',0,'C');
                
                foreach(explode('*',$value['markslist']) as $re)
                { 
                    $pdf->Cell(19,4,$re,'LRT',0,'C'); 
                }    
                $pdf->Cell(18,4,$value['totmarks'],'LRT',0,'C');
                $pdf->Cell(18,4,number_format((float)ceil($value['totmarks']),2),'LRT',0,'C');
                $pdf->Cell(30,4,'','LRT',1,'C');
                if($college == '1002'){
                    if($totheader <=5)
                        $pdf->Cell(15,4,'','',0,'C'); 
                }
                $pdf->Cell(10,4,'','LRB',0,'C');			
                $pdf->Cell(25,4,'','LRB',0,'C');
                $pdf->Cell(46,4,$value['fname2'],'LRB',0,'L');
                $pdf->Cell(14,4,'','LRB',0,'C');
                $pdf->Cell(14,4,'','LRB',0,'C');
                
                foreach(explode('*',$value['markslist']) as $re)
                { 
                    $pdf->Cell(19,4,'','LRB',0,'C'); 
                }
                
                $pdf->Cell(18,4,'','LRB',0,'C');
                $pdf->Cell(18,4,'','LRB',0,'C');
                $pdf->Cell(30,4,'','LRB',1,'C');

             }else
             {
                $pdf->Cell(10,7,$count,'LRBT',0,'C');			
                $pdf->Cell(25,7,$value['fregno'],'LRBT',0,'C');
                $pdf->Cell(46,7,$value['fname1'],'LRBT',0,'L');
                $pdf->Cell(14,7,$value['conducted'],'LRBT',0,'C');
                $pdf->Cell(14,7,$value['attend'],'LRBT',0,'C');
                
                foreach(explode('*',$value['markslist']) as $re)
                { 
                    $pdf->Cell(19,7,$re,'LRBT',0,'C'); 
                }    
                $pdf->Cell(18,7,$value['totmarks'],'LRBT',0,'C');
                $pdf->Cell(18,7,number_format((float)ceil($value['totmarks']),2),'LRBT',0,'C');
                $pdf->Cell(30,7,'','LRBT',1,'C'); 	
             }       
            
            $count++;
            $z++;  
            }
        }

        $pdf->SetFont('Times', 'B', 10);
        $pdf->ln(15);
        $pdf->Cell(25,4,"        Name and Signature of Faculty",'0',0,'L');
        $pdf->Cell(0,4,"Signature of the H.O.D/Principal                          ",'0',1,'R');
           
    }
	$pdf->Output("nitteIaMarksSubjectWise.pdf","I");

    
}
?>