diff --git a/ieducar/modules/Api/Views/MatriculaController.php b/ieducar/modules/Api/Views/MatriculaController.php index 69e906d..058b297 100644 --- a/ieducar/modules/Api/Views/MatriculaController.php +++ b/ieducar/modules/Api/Views/MatriculaController.php @@ -33,6 +33,7 @@ require_once 'lib/Portabilis/Controller/ApiCoreController.php'; require_once 'lib/Portabilis/Array/Utils.php'; require_once 'lib/Portabilis/String/Utils.php'; require_once 'App/Model/MatriculaSituacao.php'; +require_once 'intranet/include/clsBanco.inc.php'; class MatriculaController extends ApiCoreController { @@ -192,6 +193,13 @@ class MatriculaController extends ApiCoreController } } + protected function getFrequencia() { + $cod_matricula = $this->getRequest()->id; + $objBanco = new clsBanco(); + $frequencia = $objBanco->unicoCampo(" SELECT modules.frequencia_da_matricula({$cod_matricula}); "); + return array('frequencia' => $frequencia); + } + protected function deleteAbandono() { if ($this->canDeleteAbandono()) { $matriculaId = $this->getRequest()->id; @@ -214,6 +222,9 @@ class MatriculaController extends ApiCoreController elseif ($this->isRequestFor('get', 'matricula-search')) $this->appendResponse($this->search()); + elseif ($this->isRequestFor('get', 'frequencia')) + $this->appendResponse($this->getFrequencia()); + elseif ($this->isRequestFor('delete', 'abandono')) $this->appendResponse($this->deleteAbandono()); diff --git a/ieducar/modules/Reports/Assets/Javascripts/AtestadoFrequencia.js b/ieducar/modules/Reports/Assets/Javascripts/AtestadoFrequencia.js new file mode 100644 index 0000000..1cffb5e --- /dev/null +++ b/ieducar/modules/Reports/Assets/Javascripts/AtestadoFrequencia.js @@ -0,0 +1,50 @@ +var handleGetFrequencia = function(dataResponse) { + + var frequencia = parseFloat(dataResponse['frequencia']).toFixed(2); + var frequencia_final = ''; + + if (isNaN(frequencia)) + frequencia= 'Não informado'; + else + frequencia_final = '%'; + + $j('#frequencia').html('Frequência: '+frequencia+frequencia_final) + .show() + .css('display', 'inline'); + + $j('#frequencia').addClass( (frequencia>=75 ? 'frequencia-acima' : 'frequencia-abaixo') ); +} + +$j('
').html('') + .addClass('div-frequencia') + .attr('id','frequencia') + .appendTo($j('#matricula').closest('td')).hide(); + +var getFrequenciaMatricula = function() { + $j('#frequencia').removeClass('frequencia-acima frequencia-abaixo'); + + if($j('#matricula').val()=='') + $j('#matricula_id').val(''); + + var $matriculaField = $j('#matricula_id'); + + if ($matriculaField.val()!='') { + + var additionalVars = { + id : $matriculaField.val(), + }; + + var options = { + url : getResourceUrlBuilder.buildUrl('/module/Api/matricula', 'frequencia', additionalVars), + dataType : 'json', + data : {}, + success : handleGetFrequencia, + }; + + getResource(options); + }else{ + $j('#frequencia').hide(); + } +} + +$j('#matricula').blur(getFrequenciaMatricula); \ No newline at end of file diff --git a/ieducar/modules/Reports/Assets/Stylesheets/AtestadoFrequencia.css b/ieducar/modules/Reports/Assets/Stylesheets/AtestadoFrequencia.css new file mode 100644 index 0000000..f1496ad --- /dev/null +++ b/ieducar/modules/Reports/Assets/Stylesheets/AtestadoFrequencia.css @@ -0,0 +1,13 @@ +.div-frequencia { + background-color: white; + display: inline; + color: black; +} +.frequencia-acima{ + color: green; + font-weight: bold; +} +.frequencia-abaixo{ + color: red; + font-weight: bold; +} \ No newline at end of file diff --git a/ieducar/modules/Reports/ReportSources/portabilis_atestado_frequencia.jrxml b/ieducar/modules/Reports/ReportSources/portabilis_atestado_frequencia.jrxml new file mode 100644 index 0000000..7006cd4 --- /dev/null +++ b/ieducar/modules/Reports/ReportSources/portabilis_atestado_frequencia.jrxml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ieducar/modules/Reports/Reports/AtestadoFrequenciaReport.php b/ieducar/modules/Reports/Reports/AtestadoFrequenciaReport.php new file mode 100644 index 0000000..3497aed --- /dev/null +++ b/ieducar/modules/Reports/Reports/AtestadoFrequenciaReport.php @@ -0,0 +1,64 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Ricardo Bortolotto Dagostim + * @category i-Educar + * @license @@license@@ + * @package Reports + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + + +/** + * AtestadoFrequenciaReport class. + * + * @author Ricardo Bortolotto Dagostim + * @category i-Educar + * @license @@license@@ + * @package Reports + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ + +require_once "lib/Portabilis/Report/ReportCore.php"; +require_once "App/Model/IedFinder.php"; + +class AtestadoFrequenciaReport extends Portabilis_Report_ReportCore +{ + + function templateName() { + return 'portabilis_atestado_frequencia'; + } + + function requiredArgs() { + $this->addRequiredArg('ano'); + $this->addRequiredArg('instituicao'); + $this->addRequiredArg('escola'); + $this->addRequiredArg('matricula'); + + } +} + +?> \ No newline at end of file diff --git a/ieducar/modules/Reports/Views/AtestadoFrequenciaController.php b/ieducar/modules/Reports/Views/AtestadoFrequenciaController.php new file mode 100644 index 0000000..a752f88 --- /dev/null +++ b/ieducar/modules/Reports/Views/AtestadoFrequenciaController.php @@ -0,0 +1,74 @@ + + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * @author Ricardo Bortolotto Dagostim + * @category i-Educar + * @license @@license@@ + * @package Reports + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once "lib/Portabilis/Controller/ReportCoreController.php"; +require_once "Reports/Reports/AtestadoFrequenciaReport.php"; + +/** + * AtestadoFrequenciaController class. + * + * @author Ricardo Bortolotto Dagostim + * @category i-Educar + * @license @@license@@ + * @package Reports + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class AtestadoFrequenciaController extends Portabilis_Controller_ReportCoreController +{ + + protected $_titulo = 'Relatório Atestado de Frequência'; + + function form() { + $this->inputsHelper()->dynamic(array('ano', 'instituicao', 'escola')); + $this->inputsHelper()->simpleSearchMatricula(); + + $this->loadResourceAssets($this->getDispatcher()); + } + + function report() { + return new AtestadoFrequenciaReport(); + } + + function beforeValidation() { + $this->report->addArg('ano', (int)$this->getRequest()->ano); + $this->report->addArg('instituicao', (int)$this->getRequest()->ref_cod_instituicao); + $this->report->addArg('escola', (int)$this->getRequest()->ref_cod_escola); + $this->report->addArg('matricula', (int)$this->getRequest()->matricula_id); + $this->report->addArg('observacao', $this->getRequest()->observacao); + } +} + +?> \ No newline at end of file -- libgit2 0.21.2