\n};
if ( not $arr{page} ) {
showStartPage();
} elsif ( $arr{page} == 1 ) {
delete $arr{page};
if ( $arr{student} ) {
searchStudent( $arr{student} );
} else {
searchGroup( $arr{group}, $arr{groupid} );
}
} elsif ( $arr{page} == 2 ) {
delete $arr{page};
printReport();
}
#--------------
sub printReport {
#--------------
# foreach my $key ( sort keys %arr ) { print qq{K:$key V:$arr{$key} \n}; }
my $sth = $dbh->prepare("select lastname, firstname, grade, homeroom from studentall
where studnum = ?");
my $sth1 = $dbh->prepare("select category, description from student_medical where studnum = ?");
if ( $arr{type} eq $lex{HTML} ) { # html generation.
delete $arr{type};
print qq{
$lex{Medical} $lex{Report} - $schoolname
\n};
print qq{
$currdate
\n};
print qq{
\n};
my $first = 1;
my $curroom = -1;
my $counter = 1;
# Loop through all students
foreach my $key ( sort keys %arr ) {
my ($dud, $studnum ) = split(/:/, $key);
# Get Student Information
$sth->execute( $studnum );
if ( $DBI::errstr ) { print $DBI::errstr; die $DBI::errstr; }
my ( $lastname, $firstname, $grade, $homeroom ) = $sth->fetchrow;
print qq{
\n};
# Get Medical Records
$sth1->execute( $studnum );
if ( $DBI::errstr ) { print $DBI::errstr; die $DBI::errstr; }
while ( my ( $category, $description ) = $sth1->fetchrow ) {
print qq{
$category
$description
\n};
}
# No sorting done, except by name, currently. Hence no grouping.
# $oldroom = $curroom;
# if ( $sort eq 'homeroom' ) { $curroom = rec{homeroom}; }
# elsif ( $sort eq 'grade' ) { $curroom = $rec{grade}; }
# # put in table break if we are starting a new room/grade
# if ( $curroom ne $oldroom and not $first and $sort ne 'name' ) {
# print qq{
\n};
# } else { $first = 0; }
} # End of record printing loop
print qq{
};
print qq{[ $lex{Main} ]\n};
print qq{\n};
} else { # pdf generation
delete $arr{type};
# Start TEX Section.
my $shortname = "rptmedstud$$";
my $filename = "$shortname.tex";
open(TEX,">$filename") || die $lex{'Cannot open'}. " tex file\n";
# Set Paper Size, text width and height, fontsize
my ( $papersize, $textwidth, $textheight );
if ( $arr{papersize} eq $lex{Letter} ) {
$papersize = 'letterpaper';
$textwidth = $g_letterpaper_textwidth;
$textheight = $g_letterpaper_textheight;
} elsif ( $arr{papersize} eq $lex{Legal} ) {
$papersize = 'legalpaper';
$textwidth = $g_legalpaper_textwidth;
$textheight = $g_legalpaper_textheight;
} elsif ( $arr{papersize} eq $lex{A4} ) {
$papersize = 'a4paper';
$textwidth = $g_a4paper_textwidth;
$textheight = $g_a4paper_textheight;
}
# print qq{Papersize: $papersize TW: $textwidth TH: $textheight \n";
my $fontsize = $arr{fontsize}. 'pt';
delete $arr{papersize};
delete $arr{fontsize};
print TEX "\\documentclass[ $fontsize, $papersize ]{article}
\\usepackage{newcent,graphicx,array,colortbl,inputenc,multicol,fancyhdr}
$a_latex_header
\\renewcommand{\\familydefault}{\\sfdefault}
\\usepackage[pdftex,bookmarks=false,pdfstartview=FitH]{hyperref}
\\setlength{\\textwidth}{ $textwidth }
\\setlength{\\textheight}{ $textheight }
\\setlength{\\hoffset}{-16mm}
\\setlength{\\voffset}{-20mm}
\\setlength{\\topmargin}{0mm}
\\setlength{\\evensidemargin}{0mm}
\\setlength{\\oddsidemargin}{0mm}
\\setlength{\\parindent}{0mm}
\\setlength{\\extrarowheight}{4pt}
\\setlength{\\headsep}{4pt}
\\begin{document}
\\pagestyle{fancy}
\\lhead{$schoolname -- $schoolyear}
\\rfoot{$lex{Page} \\thepage}
\\cfoot{ }
\\thispagestyle{empty}\n";
print TEX "{\\LARGE $lex{Student} $lex{Medical} $lex{Report}}";
print TEX " \\hfill $currdate\n\\bigskip\n\n";
my $first = 1;
my $curroom = -1;
my $counter = 1;
# Loop through all students
foreach my $key ( sort keys %arr ) {
my ($dud, $studnum ) = split(':', $key);
# Get Student Information
$sth->execute( $studnum );
if ( $DBI::errstr ) { print $DBI::errstr; die $DBI::errstr; }
my ( $lastname, $firstname, $grade, $homeroom ) = $sth->fetchrow;
print TEX "\\begin{tabular}{|p{$categorywidth}|p{$descriptionwidth}|}\\hline\n";
print TEX "\\multicolumn{2}{|l|}{ {\\bf $firstname $lastname} ($studnum) $homeroom/$grade}";
print TEX "\\\\ \\hline\n";
# Get Medical Records
$sth1->execute( $studnum );
if ( $DBI::errstr ) { print $DBI::errstr; die $DBI::errstr; }
while ( my ( $category, $description ) = $sth1->fetchrow ) {
($description) = latex_filter( $description );
print TEX "$category & $description \\\\ \\hline\n";
}
print TEX "\\end{tabular}\n\n\\smallskip\n";
} # End of For loop
print TEX "\\end{document}";
close TEX;
system("$pdflatex $filename > pdflog$$.txt");
system("mv $shortname.pdf $downloaddir");
system("mv pdflog$$.txt $downloaddir");
system("rm $shortname.*");
print qq{