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.147.52.243
<?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);
class batch_work_sheet extends FPDF
{
public $aobj_context;
public $college_name;
public $town;
public $address;
public $Degree_name;
function Default_construstor($aobj_context)
{
require_once($aobj_context->main_src . 'src/format.php');
$this->aobj_context = $aobj_context;
$this->collcode = $_SESSION['collcode'];
include($this->pdf_writer_class);
session_start();
$this->report_id = $aobj_context->mobj_data["report_id"];
$this->degree = $aobj_context->mobj_data['degree'];
$this->degree_name = $aobj_context->mobj_data['degree_name'];
//echo $this->degree_name;die();
$this->ip = $_SERVER["REMOTE_ADDR"];
$this->exam = $aobj_context->mobj_data['exam'];
$this->subject = $aobj_context->mobj_data["sub"];
$this->sub_name = $aobj_context->mobj_data["sub_name"];
$this->from_batch = $aobj_context->mobj_data["from_batch"];
$this->to_batch = $aobj_context->mobj_data["to_batch"];
$this->to_batch = $aobj_context->mobj_data["to_batch"];
$this->fs_sub_name = $aobj_context->mobj_data["fs_sub_name"];
$this->freeze_status = " (VERIFICATION PENDING)";
$this->pdf = new FPDF();
$this->pdf = $this;
$this->GetMaxMarksDetails();
$getnumword = $aobj_context->main_src . "/src/getnumword.php";
include($getnumword);
$get_date_time = "SELECT DATE_FORMAT(now(),'%d-%b-%Y %H:%m %r') as dt";
$ob_dt = $this->aobj_context->mobj_db->GetRow($get_date_time);
$this->date_time = $ob_dt[dt];
}
function Header()
{
session_start();
$FUNIVCODE = $_SESSION['FUNIVCODE'];
$page_header_college = "select FUNIVADD1 as address,FUNIVNAME as college_name ,
pdf_logo_path as pdf_logo_path from control ";
//echo $page_header_college;die();
$lobj_page_header_college = $this->aobj_context->mobj_db->GetRow($page_header_college);
$this->coll_name = $lobj_page_header_college['college_name'];
$this->address = $lobj_page_header_college['address'];
$this->pdf_logo_path = $this->aobj_context->main_src . "/" . $lobj_page_header_college['pdf_logo_path'];
$get_college_name = "select concat(FCOLLNAME,', ',FTOWN) as col_name from college where FCOLLCODE='{$this->collcode}'";
$this->lobj_get_college_name = $this->aobj_context->mobj_db->GetRow($get_college_name);
$this->col_name = $this->lobj_get_college_name['col_name'];
$get_exam_date = "select FDESCPN,FEXAMDATE as exam_date,FEXAMNAME
from degree where FDEGREE='{$this->degree}'
and FEXAMNO='{$this->exam}'";
$this->lobj_get_exam_date = $this->aobj_context->mobj_db->GetRow($get_exam_date);
$this->exam_date = $this->lobj_get_exam_date['exam_date'];
$this->FEXAMNAME = $this->lobj_get_exam_date['FEXAMNAME'];
$this->degr_name = $this->lobj_get_exam_date['FDESCPN'];
$this->pdf->SetFont('Times', 'B', 14);
$this->pdf->Cell(190, 6, $this->coll_name, 0, 1, 'C');
$this->pdf->SetFont('Times', '', 8);
$this->pdf->Cell(190, 6, $this->address, 0, 1, 'C');
$this->pdf->SetFont('Times', 'B', 11);
$this->pdf->Cell(190, 6, $this->collcode . " - " . $this->col_name, 0, 1, 'C');
$this->pdf->SetFont('Times', 'BU', 12);
$this->pdf->Cell(190, 6, 'PRACTICAL WORK SHEET', 0, 1, 'C');
$this->pdf->SetFont('Times', 'B', 11);
$this->pdf->Cell(190, 6, "[" . $this->degree . "] " . $this->degr_name . " {$this->FEXAMNAME} - " . $this->exam_date, 0, 1, 'C');
$this->pdf->Cell(190, 6, "Subject : " . " " . $this->subject . " - " . $this->sub_name . " (" . $this->fs_sub_name . ")", 0, 1, 'C');
if (file_exists($this->pdf_logo_path)) {
$this->pdf->Image($this->pdf_logo_path, 6, 7, 20);
}
$this->pdf->Ln(3);
$this->pdf->SetFont('Times', '', 11);
}
function GetMaxMarksDetails()
{
$get_pract_max = "select FSMAXMARKS from subject where
FDEGREE='{$this->degree}'
and FEXAMNO='{$this->exam}'
and FCSUBCODE='{$this->subject}' ";
$lobj_get_pract_max = $this->aobj_context->mobj_db->GetRow($get_pract_max);
$this->pract_max_marks = $lobj_get_pract_max[FSMAXMARKS];
$get_vival_sub = " select FVVCODE from practical_master
where FDEGREE='{$this->degree}'
and FEXAMNO='{$this->exam}'
and FPRCODE='{$this->subject}'";
$lobj_get_vival_sub = $this->aobj_context->mobj_db->GetRow($get_vival_sub);
$viva_sub = $lobj_get_vival_sub[FVVCODE];
$get_pract_max = "select FSMAXMARKS from subject where
FDEGREE='{$this->degree}'
and FEXAMNO='{$this->exam}'
and FCSUBCODE='{$viva_sub}' ";
$lobj_get_pract_max = $this->aobj_context->mobj_db->GetRow($get_pract_max);
$this->viva_max_marks = $lobj_get_pract_max[FSMAXMARKS];
}
function GetQuery()
{
session_start();
$FUNIVCODE = $_SESSION['FUNIVCODE'];
$get_practical_records = "select lpad(FBATCH,2,'0') as FBATCH,sub.FCSUBCODE,sub.FSUBNAME,stu.FREGNO, stu.FNAME ,FSUBNAME,FSSUBNAME
FROM student stu inner join marks_pr mak ON stu.FREGNO=mak.FREGNO
and mak.Fdegree='{$this->degree}' and mak.Fexamno='{$this->exam}' and mak.FCOLLCODE='{$this->collcode}'
inner join subject sub on sub.FCSUBCODE = mak.FSUBCODE
and sub.FCSUBCODE='{$this->subject}'
and sub.FDEGREE='{$this->degree}' and sub.FEXAMNO='{$this->exam}'
WHERE stu.FREGNO != ''
and FBATCH>='{$this->from_batch}' and FBATCH<='{$this->to_batch}'
group by stu.FREGNO,sub.FCSUBCODE,FBATCH order by IFNULL(mak.FBATCH, ''),stu.FREGNO";
$this->lobj_get_practical_records = $this->aobj_context->mobj_db->GetAll($get_practical_records);
$this->header_subject = $FCSUBCODE;
$this->header_sub_name = $sub_name;
$this->pdf->SetMargins(12, 12);
$get_viva_details = " select FVVCODE from practical_master where FDEGREE='{$this->degree}'
and FEXAMNO='{$this->exam}' and FPRCODE='{$this->subject}' ";
$lobj_get_viva_details = $this->aobj_context->mobj_db->GetRow($get_viva_details);
$FVVCODE = $lobj_get_viva_details[FVVCODE];
//echo $get_viva_details;die();
//print_r($this->viva_marks_arr);die();
$sl_no = 1;
$this->batch_details = array();
$c = 0;
foreach ($this->lobj_get_practical_records as $k => $v) {
$reg_no = $v[FREGNO];
$FBATCH = $v[FBATCH];
$this->sub_name = $v[FSUBNAME];
$this->fs_sub_name = $v[FSSUBNAME];
$this->batch_details[$FBATCH][details][$c] = $reg_no;
$this->batch_details[$FBATCH][cnt] += 1;
$c++;
}
foreach ($this->batch_details as $k => $v) {
$this->pdf->SetFont('Times', 'B', 12);
$batch_no = $k;
$get_date_time = "select concat(' Date : ',date_format(ifnull(FEXAMDATE,'00/00/0000'),'%d/%m/%Y'),' Time : ',ifnull(FEXAMTIME,'')) as
batch_date_time
from practical_entry_freeze
where FCOLLCODE='{$this->collcode}'
and FDEGREE='{$this->degree}'
and FEXAM='{$this->exam}'
and lpad(FBATCH,2,'0')='{$batch_no}'
and FCSUBCODE='{$this->subject}' ";
$lobj_get_date_time = $this->aobj_context->mobj_db->GetRow($get_date_time);
$date_time = $lobj_get_date_time[batch_date_time];
$sl_no = 1;
$batch_cnt = $v[cnt];
$batch_details = $v[details];
$this->pdf->AddPage();
$new_y = $this->pdf->GetY();
$this->pdf->Line(5, $new_y, 203, $new_y);
$this->pdf->Ln(3);
$this->pdf->Cell(190, 6, "Batch :{$batch_no} {$date_time}", "", 1, 'C');
$this->pdf->Ln(3);
$this->pdf->Cell(20, 6, '', "", 0, 'C');
$this->pdf->Cell(15, 6, '', "LRT", 0, 'C');
$this->pdf->Cell(30, 6, '', "LRT", 0, 'C');
$this->pdf->Cell(50, 6, "({$this->subject}) Practical", "LRT", 1, 'C');
$this->get_x_pos = $this->pdf->GetX();
$this->get_y_pos = $this->pdf->GetY();
if (!empty($FVVCODE)) {
$this->pdf->SetXY($this->get_x_pos + 115, $this->get_y_pos - 6);
if ($FUNIVCODE == '029')
$this->pdf->Cell(50, 6, "({$FVVCODE}) Viva", "LRT", 1, 'C');
else if ($FUNIVCODE == '027' || $FUNIVCODE == '026')
$this->pdf->Cell(50, 6, "({$FVVCODE}) Viva-Voce", "LRT", 1, 'C');
else
$this->pdf->Cell(50, 6, "({$FVVCODE}) Record", "LRT", 1, 'C');
}
$this->get_x_pos = $this->pdf->GetX();
$this->get_y_pos = $this->pdf->GetY();
$this->pdf->Cell(20, 6, '', "", 0, 'C');
$this->pdf->Cell(15, 6, 'Sl. No.', "LRB", 0, 'C');
$this->pdf->Cell(30, 6, 'Reg. No.', "LRB", 0, 'C');
$this->pdf->Cell(50, 6, " (Max: {$this->pract_max_marks})", "LRB", 1, 'C');
if (!empty($FVVCODE)) {
$this->pdf->SetXY($this->get_x_pos + 115, $this->get_y_pos);
$this->pdf->Cell(50, 6, " (Max: {$this->viva_max_marks})", "LRB", 1, 'C');
}
foreach ($batch_details as $bv) {
$this->pdf->SetFont('Times', 'B', 12);
$reg_no = $bv;
$this->pdf->Cell(20, 6, '', "", 0, 'C');
$this->pdf->Cell(15, 6, $sl_no, "1", 0, 'C');
$this->pdf->Cell(30, 6, $reg_no, "1", 0, 'C');
$this->pdf->Cell(50, 6, '', "1", 1, 'C');
$y_pos = $this->pdf->GetY();
if (!empty($FVVCODE)) {
$this->pdf->SetXY($this->get_x_pos + 115, $y_pos - 6);
$this->pdf->Cell(50, 6, '', "1", 1, 'C');
}
if ($sl_no % 25 == 0) {
$this->WriteFooter();
$this->pdf->AddPage();
}
$sl_no++;
}
$this->WriteFooter();
$this->pdf->Ln(3);
}
}
function WriteFooter()
{
$this->pdf->Ln(6);
$X_pos = $this->pdf->GetX();
$this->pdf->SetFont('Times', '', 8);
$this->pdf->SetX($X_pos + 15);
$this->pdf->Ln(3);
$this->pdf->SetFont('Times', '', 9);
$this->pdf->Cell(35, 6, '', "", 0, 'C');
$this->pdf->Cell(60, 6, 'Examiner - 01', "", 0, 'C');
$this->pdf->Cell(60, 6, 'Examiner - 02', "", 1, 'C');
$this->pdf->Cell(25, 6, 'Name', "", 0, 'L');
$this->pdf->Cell(3, 6, ':', "", 1, 'C');
$this->pdf->Cell(25, 6, 'College / Dept.', "", 0, 'L');
$this->pdf->Cell(3, 6, ':', "", 1, 'C');
$this->pdf->Cell(25, 6, 'Signature', "", 0, 'L');
$this->pdf->Cell(3, 6, ':', "", 1, 'C');
$this->pdf->Cell(25, 6, 'Date & Time', "", 0, 'L');
$this->pdf->Cell(3, 6, ':', "", 0, 'C');
$this->pdf->Cell(50, 3, $pdf->date_1, '0', 1, 'L');
$this->pdf->Ln(9);
$this->pdf->SetX($X_pos + 15);
$this->pdf->Ln(5);
}
function Footer()
{
$this->pdf->SetFont('Times', '', 9);
$this->pdf->setY(-20);
$new_y = $this->pdf->GetY();
$this->pdf->Line(5, $new_y, 203, $new_y);
$this->Cell(140, 6, 'Printed - IP Address : ' . $this->ip . ", Date " . date('d/m/Y h:i:s A'), '0', 0, 'L');
$this->Cell(50, 6, 'Page ' . $this->PageNo() . ' of {nb}', 0, 1, 'R');
}
function SendOutput()
{
$this->pdf->Output("practical_work_sheet.pdf", "D");
}
}
function GenerateBatchWorkSheets($aobj_context)
{
$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
$class_obj = new batch_work_sheet();
$class_obj->AliasNbPages();
$class_obj->Default_construstor($aobj_context);
$class_obj->GetQuery();
$class_obj->SendOutput();
}
|