#!/bin/sh
# Imprime boletin de un periodo y un curso.
# Dominio público. 2003. Sin garantías.  http://structio.sourceforge.net/sigue

INSBINREP=/home/$USER/structio/sigue/


grado=$1;
periodo=$2;
que=$3;
fecha=$4;
if (test "$grado" = "") then {
       echo "Falta grado como primer parámetro (e.g bprimaria/1)";
	exit 1;
} fi;
nivel=`echo $grado | sed -e "s|^\(.*\)/.*|\1|g"`;
grado_2=`echo $grado | sed -e "s|^.*/\(.*\)|\1|g"`;
if (test "$nivel" = "" -o "$grado_2" = "") then {
	echo "Formato de grado errado (e.g bprimaria/1)";
	exit 1;
} fi;
if (test "$periodo" = "") then {
       echo "Falta periodo como segundo parámetro (e.g p2004-1)";
	exit 1;
} fi;
anio=`echo $periodo | sed -e "s/p\([0-9]*\)-[0-9]*/\1/g"`;
per2=`echo $periodo | sed -e "s/p[0-9]*-\([0-9]*\)/\1/g"`;
if (test "$anio" = "" -o "$anio" -lt "2004") then {
	echo "Formato del periodo desconocido";
	exit 1;
} fi;
if (test "$per2" != "1" -a "$per2" != "2" -a "$per2" != "3" -a "$per2" != "4" -a "$per2" != "5") then {
	echo "Formato del periodo desconocido";
	exit 1;
} fi;

if (test "$per2" = "5") then {
	nomprom="area-final.prom";
	docclass="final"
	asigenc="\\asignatura{|desc|}{|val|}\n";
	evaluableenc="\\evaluable{|desc|}{|val|}\n";
} else {
	nomprom="periodo.prom";
	docclass="periodo"
	asigenc="\\asignatura{|desc|}{|intensidad|}{|Fallas|}\n";
	evaluableenc="\\evaluable{|desc|}\n";
} fi;
if (test ! -d "$que") then {
	echo "Por generar grado $grado";
	que="../../grupo/$anio/$grado.grp";
	fecha=$que;
} fi;
if (test "$fecha" = "") then {
       fecha=`date "+%d/%m/%Y"`
} fi;


repenc="\\documentclass{$docclass}\n

\\estudiante{|Nombres| |Apellidos|}\n
\\periodo{|Periodo|}\n
\\fecha{|Fecha|}\n
"
reppie="";

gradoenc="\\grado{|desc|}\n
\\moderador{|Moderador.Nombres| |Moderador.Apellidos|}\n
\\begin{document}\n
\\begin{valoraciones}\n
";
gradopie="\\end{valoraciones}\n
\\pie\n

\\end{document}
";

areaenc="\\area{|desc|}{|computo|}\n";
areapie="";

asigpie="\\observacion{|Observaciones|}
";

evaluablepie="\\observacion{|Observaciones|}
";
indenc="\\valoracion{|desc|}{|val|}\n";
indpie="";

optlatex="";
if (test "$XML" = "") then {
	optlatex="-texto \"Reporte:!: $repenc:!:$reppie\" -texto \"Grado:!:$gradoenc:!:$gradopie\" -texto \"Área:!:$areaenc:!:$areapie\" -texto \"Evaluable:!:$evaluableenc:!:$evaluablepie\" -texto \"Asignatura:!:$asigenc:!:$asigpie\" -texto \"Indicador:!:$indenc:!:$indpie\" -mizq \"|\" -mder \"|\"";
} fi;

forout="";
isgrp=`echo $que | sed -e "s/^.*\.grp$/si/g"`;
if (test "$isgrp" = "si") then {
	mkdir -p /tmp/impresion;
	forout="-o \"/tmp/impresion/rep$grado_2-%c.tex\"";
} fi;

c=`pwd`;
cmd="$INSBINREP/reporte -formato tex -prom \"$c/$nomprom\" -prom_tipos "cadena:Área" -anotaniv \"Grado:$grado_2\" -anotaper \"Periodo:$periodo\" -planest col.planest -anota \"Fecha: $fecha\"  $optlatex $forout $que";


c=`pwd`;
cd ../../planest/$anio/
eval $cmd;
cd $c;

