Commit 8cb011d33da4da4ccc8797b8935c01a7e03c06e0

Authored by Lucas Schmoeller da Silva
1 parent 169ef5be
Exists in master

Criado relatório Atestado de frequência

portabilis/ieducar#99
ieducar/modules/Api/Views/MatriculaController.php
... ... @@ -33,6 +33,7 @@ require_once 'lib/Portabilis/Controller/ApiCoreController.php';
33 33 require_once 'lib/Portabilis/Array/Utils.php';
34 34 require_once 'lib/Portabilis/String/Utils.php';
35 35 require_once 'App/Model/MatriculaSituacao.php';
  36 +require_once 'intranet/include/clsBanco.inc.php';
36 37  
37 38 class MatriculaController extends ApiCoreController
38 39 {
... ... @@ -192,6 +193,13 @@ class MatriculaController extends ApiCoreController
192 193 }
193 194 }
194 195  
  196 + protected function getFrequencia() {
  197 + $cod_matricula = $this->getRequest()->id;
  198 + $objBanco = new clsBanco();
  199 + $frequencia = $objBanco->unicoCampo(" SELECT modules.frequencia_da_matricula({$cod_matricula}); ");
  200 + return array('frequencia' => $frequencia);
  201 + }
  202 +
195 203 protected function deleteAbandono() {
196 204 if ($this->canDeleteAbandono()) {
197 205 $matriculaId = $this->getRequest()->id;
... ... @@ -214,6 +222,9 @@ class MatriculaController extends ApiCoreController
214 222 elseif ($this->isRequestFor('get', 'matricula-search'))
215 223 $this->appendResponse($this->search());
216 224  
  225 + elseif ($this->isRequestFor('get', 'frequencia'))
  226 + $this->appendResponse($this->getFrequencia());
  227 +
217 228 elseif ($this->isRequestFor('delete', 'abandono'))
218 229 $this->appendResponse($this->deleteAbandono());
219 230  
... ...
ieducar/modules/Reports/Assets/Javascripts/AtestadoFrequencia.js 0 → 100644
... ... @@ -0,0 +1,50 @@
  1 +var handleGetFrequencia = function(dataResponse) {
  2 +
  3 + var frequencia = parseFloat(dataResponse['frequencia']).toFixed(2);
  4 + var frequencia_final = '';
  5 +
  6 + if (isNaN(frequencia))
  7 + frequencia= 'Não informado';
  8 + else
  9 + frequencia_final = '%';
  10 +
  11 + $j('#frequencia').html('Frequência: '+frequencia+frequencia_final)
  12 + .show()
  13 + .css('display', 'inline');
  14 +
  15 + $j('#frequencia').addClass( (frequencia>=75 ? 'frequencia-acima' : 'frequencia-abaixo') );
  16 +}
  17 +
  18 +$j('<div>').html('')
  19 + .addClass('div-frequencia')
  20 + .attr('id','frequencia')
  21 + .appendTo($j('#matricula').closest('td')).hide();
  22 +
  23 +var getFrequenciaMatricula = function() {
  24 + $j('#frequencia').removeClass('frequencia-acima frequencia-abaixo');
  25 +
  26 + if($j('#matricula').val()=='')
  27 + $j('#matricula_id').val('');
  28 +
  29 + var $matriculaField = $j('#matricula_id');
  30 +
  31 + if ($matriculaField.val()!='') {
  32 +
  33 + var additionalVars = {
  34 + id : $matriculaField.val(),
  35 + };
  36 +
  37 + var options = {
  38 + url : getResourceUrlBuilder.buildUrl('/module/Api/matricula', 'frequencia', additionalVars),
  39 + dataType : 'json',
  40 + data : {},
  41 + success : handleGetFrequencia,
  42 + };
  43 +
  44 + getResource(options);
  45 + }else{
  46 + $j('#frequencia').hide();
  47 + }
  48 +}
  49 +
  50 +$j('#matricula').blur(getFrequenciaMatricula);
0 51 \ No newline at end of file
... ...
ieducar/modules/Reports/Assets/Stylesheets/AtestadoFrequencia.css 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +.div-frequencia {
  2 + background-color: white;
  3 + display: inline;
  4 + color: black;
  5 +}
  6 +.frequencia-acima{
  7 + color: green;
  8 + font-weight: bold;
  9 +}
  10 +.frequencia-abaixo{
  11 + color: red;
  12 + font-weight: bold;
  13 +}
0 14 \ No newline at end of file
... ...
ieducar/modules/Reports/ReportSources/portabilis_atestado_frequencia.jrxml 0 → 100644
... ... @@ -0,0 +1,334 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="portabilis_atestado_frequencia" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b58c92c8-60b6-4afb-ae40-52aa24303ab2">
  3 + <property name="ireport.zoom" value="0.9090909090909092"/>
  4 + <property name="ireport.x" value="0"/>
  5 + <property name="ireport.y" value="0"/>
  6 + <parameter name="ano" class="java.lang.Integer">
  7 + <defaultValueExpression><![CDATA[new java.lang.Integer(0)]]></defaultValueExpression>
  8 + </parameter>
  9 + <parameter name="instituicao" class="java.lang.Integer">
  10 + <defaultValueExpression><![CDATA[new java.lang.Integer(0)]]></defaultValueExpression>
  11 + </parameter>
  12 + <parameter name="escola" class="java.lang.Integer">
  13 + <defaultValueExpression><![CDATA[new java.lang.Integer(0)]]></defaultValueExpression>
  14 + </parameter>
  15 + <parameter name="matricula" class="java.lang.Integer">
  16 + <defaultValueExpression><![CDATA[new java.lang.Integer(0)]]></defaultValueExpression>
  17 + </parameter>
  18 + <parameter name="logo" class="java.lang.String"/>
  19 + <queryString>
  20 + <![CDATA[SELECT fcn_upper(instituicao.nm_instituicao) AS nm_instituicao,
  21 + fcn_upper(instituicao.nm_responsavel) AS nm_responsavel,
  22 + escola.cod_escola as cod_escola,
  23 + escola_ano_letivo.ano,
  24 + aluno.cod_aluno as cod_aluno,
  25 + (SELECT public.fcn_upper(curso.nm_curso)
  26 + FROM pmieducar.curso
  27 + WHERE curso.cod_curso = matricula.ref_cod_curso) as nm_curso,
  28 + (SELECT serie.nm_serie
  29 + FROM pmieducar.serie
  30 + WHERE serie.cod_serie = matricula.ref_ref_cod_serie) as nm_serie,
  31 + (SELECT turma.nm_turma
  32 + FROM pmieducar.turma,
  33 + pmieducar.matricula_turma
  34 + WHERE turma.cod_turma = matricula_turma.ref_cod_turma and
  35 + matricula_turma.ref_cod_matricula = matricula.cod_matricula) as nm_turma,
  36 + matricula.cod_matricula as cod_matricula,
  37 + fcn_upper(pessoa.nome) as nome,
  38 + to_char(fisica.data_nasc,'dd/mm/yyyy') as data_nasc,
  39 + (SELECT municipio.nome || ' - ' || sigla_uf
  40 + FROM public.municipio
  41 + WHERE municipio.idmun = fisica.idmun_nascimento) as municipio_uf_nascimento,
  42 + (SELECT to_char(data_cadastro,'dd/mm/yyyy')
  43 + FROM pmieducar.matricula mt
  44 + WHERE mt.cod_matricula = matricula.cod_matricula AND
  45 + mt.ativo = 1 AND
  46 + mt.ultima_matricula = 1) as dt_matricula,
  47 + matricula.ano as matricula_ano,
  48 + fcn_upper(instituicao.cidade) as cidade,
  49 +
  50 + (SELECT CASE WHEN fisica.idpes_pai IS NOT NULL THEN (SELECT upper(pessoa.nome) FROM cadastro.pessoa WHERE pessoa.idpes = fisica.idpes_pai LIMIT 1) WHEN fisica.nome_pai IS NOT NULL AND TRIM(fisica.nome_pai) != '' THEN fisica.nome_pai WHEN aluno.nm_pai IS NOT NULL AND TRIM(aluno.nm_pai) != '' THEN upper(aluno.nm_pai) ELSE 'Não informado' END) AS nm_pai,
  51 +
  52 + (SELECT CASE WHEN fisica.idpes_mae IS NOT NULL THEN (SELECT upper(pessoa.nome) FROM cadastro.pessoa WHERE pessoa.idpes = fisica.idpes_mae LIMIT 1) WHEN fisica.nome_mae IS NOT NULL AND TRIM(fisica.nome_mae) != '' THEN fisica.nome_mae WHEN aluno.nm_mae IS NOT NULL AND TRIM(aluno.nm_mae) != '' THEN upper(aluno.nm_mae) ELSE 'Não informado' END) AS nm_mae,
  53 +
  54 + (SELECT COALESCE((SELECT COALESCE (fcn_upper(ps.nome),fcn_upper(juridica.fantasia))
  55 + FROM cadastro.pessoa ps,
  56 + cadastro.juridica
  57 + WHERE escola.ref_idpes = juridica.idpes AND
  58 + juridica.idpes = ps.idpes AND
  59 + ps.idpes = escola.ref_idpes),(SELECT nm_escola FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS nm_escola,
  60 +
  61 + (SELECT fcn_upper(substring(logradouro.idtlog from 1 for 1)) ||
  62 + lower(substring(logradouro.idtlog, 2))
  63 + FROM public.logradouro,
  64 + cadastro.juridica,
  65 + cadastro.pessoa ps,
  66 + cadastro.endereco_pessoa
  67 + WHERE juridica.idpes = ps.idpes AND
  68 + ps.idpes = endereco_pessoa.idpes AND
  69 + endereco_pessoa.idlog = logradouro.idlog AND
  70 + juridica.idpes = escola.ref_idpes) AS tipo_logradouro,
  71 +
  72 + (SELECT COALESCE((SELECT COALESCE((SELECT logradouro.nome
  73 + FROM public.logradouro,
  74 + cadastro.juridica,
  75 + cadastro.pessoa ps,
  76 + cadastro.endereco_pessoa
  77 + WHERE juridica.idpes = ps.idpes AND
  78 + ps.idpes = endereco_pessoa.idpes AND
  79 + endereco_pessoa.idlog = logradouro.idlog AND
  80 + juridica.idpes = escola.ref_idpes),(SELECT endereco_externo.logradouro FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(SELECT logradouro FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS logradouro,
  81 +
  82 + (SELECT COALESCE((SELECT COALESCE((SELECT bairro.nome
  83 + FROM public.municipio,
  84 + cadastro.endereco_pessoa,
  85 + cadastro.juridica,
  86 + public.bairro
  87 + WHERE endereco_pessoa.idbai = bairro.idbai AND
  88 + bairro.idmun = municipio.idmun AND
  89 + juridica.idpes = endereco_pessoa.idpes AND
  90 + juridica.idpes = escola.ref_idpes),(SELECT endereco_externo.bairro FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(SELECT bairro FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS bairro,
  91 +
  92 + (SELECT COALESCE((SELECT COALESCE ((SELECT municipio.nome
  93 + FROM public.municipio,
  94 + cadastro.endereco_pessoa,
  95 + cadastro.juridica,
  96 + public.bairro
  97 + WHERE endereco_pessoa.idbai = bairro.idbai AND
  98 + bairro.idmun = municipio.idmun AND
  99 + juridica.idpes = endereco_pessoa.idpes AND
  100 + juridica.idpes = escola.ref_idpes), (SELECT endereco_externo.cidade FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(SELECT municipio FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS municipio,
  101 +
  102 + (SELECT COALESCE((SELECT COALESCE((SELECT endereco_pessoa.numero
  103 + FROM cadastro.endereco_pessoa,
  104 + cadastro.juridica
  105 + WHERE juridica.idpes = endereco_pessoa.idpes AND
  106 + juridica.idpes = escola.ref_idpes),(SELECT endereco_externo.numero FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(SELECT numero FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS numero,
  107 +
  108 +
  109 + (SELECT COALESCE((SELECT COALESCE((SELECT municipio.sigla_uf
  110 + FROM public.municipio,
  111 + cadastro.endereco_pessoa,
  112 + cadastro.juridica,
  113 + public.bairro
  114 + WHERE endereco_pessoa.idbai = bairro.idbai AND
  115 + bairro.idmun = municipio.idmun AND
  116 + juridica.idpes = endereco_pessoa.idpes AND
  117 + juridica.idpes = escola.ref_idpes),(SELECT endereco_externo.sigla_uf FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(select inst.ref_sigla_uf from pmieducar.instituicao inst where inst.cod_instituicao = instituicao.cod_instituicao))) AS uf_municipio,
  118 +
  119 + (SELECT COALESCE((SELECT min(fone_pessoa.ddd)
  120 + FROM cadastro.fone_pessoa,
  121 + cadastro.juridica
  122 + WHERE juridica.idpes = fone_pessoa.idpes AND
  123 + juridica.idpes = escola.ref_idpes),(SELECT min(ddd_telefone) FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS fone_ddd,
  124 +
  125 + (SELECT COALESCE((SELECT COALESCE((SELECT to_char(endereco_pessoa.cep, '99999-999')
  126 + FROM cadastro.endereco_pessoa,
  127 + cadastro.juridica
  128 + WHERE juridica.idpes = endereco_pessoa.idpes AND
  129 + juridica.idpes = escola.ref_idpes),(SELECT to_char(endereco_externo.cep,'99999-999') FROM cadastro.endereco_externo WHERE endereco_externo.idpes = escola.ref_idpes))),(SELECT to_char(escola_complemento.cep,'99999-999') FROM pmieducar.escola_complemento where escola_complemento.ref_cod_escola = escola.cod_escola))) AS cep,
  130 +
  131 +
  132 + (SELECT COALESCE((SELECT min(to_char(fone_pessoa.fone, '9999-9999'))
  133 + FROM cadastro.fone_pessoa,
  134 + cadastro.juridica
  135 + WHERE juridica.idpes = fone_pessoa.idpes AND
  136 + juridica.idpes = escola.ref_idpes),(SELECT min(to_char(telefone, '9999-9999')) FROM pmieducar.escola_complemento where escola_complemento.ref_cod_escola = escola.cod_escola))) AS fone,
  137 +
  138 + (SELECT COALESCE((SELECT ps.email
  139 + FROM cadastro.pessoa ps,
  140 + cadastro.juridica
  141 + WHERE juridica.idpes = ps.idpes AND
  142 + juridica.idpes = escola.ref_idpes),(SELECT email FROM pmieducar.escola_complemento where ref_cod_escola = escola.cod_escola))) AS email,
  143 +
  144 +
  145 +
  146 + to_char(current_date,'dd/mm/yyyy') AS data_atual,
  147 + to_char(current_timestamp, 'HH24:MI:SS') AS hora_atual
  148 +
  149 + FROM pmieducar.aluno,
  150 + pmieducar.matricula,
  151 + cadastro.fisica,
  152 + cadastro.pessoa,
  153 + pmieducar.instituicao,
  154 + pmieducar.escola,
  155 + pmieducar.escola_ano_letivo
  156 +
  157 + WHERE escola_ano_letivo.ano = $P{ano} AND
  158 + instituicao.cod_instituicao = $P{instituicao} AND
  159 + escola.cod_escola = $P{escola} AND
  160 + matricula.cod_matricula = (SELECT MAX(cod_matricula)
  161 + from pmieducar.matricula mt,
  162 + pmieducar.aluno al
  163 + where mt.ref_cod_aluno = matricula.ref_cod_aluno AND
  164 + matricula.cod_matricula = $P{matricula} AND
  165 + mt.ano = matricula.ano AND
  166 + mt.ref_ref_cod_escola = matricula.ref_ref_cod_escola AND
  167 + mt.ref_ref_cod_serie = matricula.ref_ref_cod_serie AND
  168 + mt.ativo = 1 AND
  169 + mt.ultima_matricula = 1) AND
  170 + pessoa.idpes = fisica.idpes AND
  171 + fisica.idpes = aluno.ref_idpes AND
  172 + aluno.cod_aluno = matricula.ref_cod_aluno AND
  173 + matricula.ref_cod_aluno = aluno.cod_aluno AND
  174 + escola.ref_cod_instituicao = instituicao.cod_instituicao AND
  175 + escola_ano_letivo.ref_cod_escola = escola.cod_escola AND
  176 + matricula.ano = escola_ano_letivo.ano AND
  177 + matricula.ativo = 1 AND
  178 + escola.ativo = 1 AND
  179 + instituicao.ativo = 1]]>
  180 + </queryString>
  181 + <field name="nm_instituicao" class="java.lang.String"/>
  182 + <field name="nm_responsavel" class="java.lang.String"/>
  183 + <field name="cod_escola" class="java.lang.Integer"/>
  184 + <field name="ano" class="java.lang.Integer"/>
  185 + <field name="cod_aluno" class="java.lang.Integer"/>
  186 + <field name="nm_curso" class="java.lang.String"/>
  187 + <field name="nm_serie" class="java.lang.String"/>
  188 + <field name="nm_turma" class="java.lang.String"/>
  189 + <field name="cod_matricula" class="java.lang.Integer"/>
  190 + <field name="nome" class="java.lang.String"/>
  191 + <field name="data_nasc" class="java.lang.String"/>
  192 + <field name="municipio_uf_nascimento" class="java.lang.String"/>
  193 + <field name="dt_matricula" class="java.lang.String"/>
  194 + <field name="matricula_ano" class="java.lang.Integer"/>
  195 + <field name="cidade" class="java.lang.String"/>
  196 + <field name="nm_pai" class="java.lang.String"/>
  197 + <field name="nm_mae" class="java.lang.String"/>
  198 + <field name="nm_escola" class="java.lang.String"/>
  199 + <field name="tipo_logradouro" class="java.lang.String"/>
  200 + <field name="logradouro" class="java.lang.String"/>
  201 + <field name="bairro" class="java.lang.String"/>
  202 + <field name="municipio" class="java.lang.String"/>
  203 + <field name="numero" class="java.math.BigDecimal"/>
  204 + <field name="uf_municipio" class="java.lang.String"/>
  205 + <field name="fone_ddd" class="java.math.BigDecimal"/>
  206 + <field name="cep" class="java.lang.String"/>
  207 + <field name="fone" class="java.lang.String"/>
  208 + <field name="email" class="java.lang.String"/>
  209 + <field name="data_atual" class="java.lang.String"/>
  210 + <field name="hora_atual" class="java.lang.String"/>
  211 + <background>
  212 + <band splitType="Stretch"/>
  213 + </background>
  214 + <title>
  215 + <band splitType="Stretch"/>
  216 + </title>
  217 + <pageHeader>
  218 + <band height="693" splitType="Stretch">
  219 + <staticText>
  220 + <reportElement uuid="b2bada90-ee0d-4d69-9c6e-1b65cd0e007d" x="11" y="158" width="537" height="16"/>
  221 + <textElement textAlignment="Center">
  222 + <font fontName="DejaVu Sans" size="12" isBold="true" isUnderline="true"/>
  223 + </textElement>
  224 + <text><![CDATA[ATESTADO DE FREQUÊNCIA]]></text>
  225 + </staticText>
  226 + <textField>
  227 + <reportElement uuid="771f33a3-af05-4b24-b21a-ed152dbe52bc" x="58" y="486" width="120" height="14"/>
  228 + <textElement>
  229 + <font fontName="DejaVu Sans" size="8"/>
  230 + </textElement>
  231 + <textFieldExpression><![CDATA[$F{cidade}+", "+$F{data_atual}]]></textFieldExpression>
  232 + </textField>
  233 + <textField isBlankWhenNull="true">
  234 + <reportElement uuid="d704c6b1-f976-480b-aceb-8e4a1e8906d4" x="79" y="40" width="310" height="13"/>
  235 + <textElement>
  236 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  237 + </textElement>
  238 + <textFieldExpression><![CDATA["Endereço: "+$F{logradouro}+" "+$F{numero}]]></textFieldExpression>
  239 + </textField>
  240 + <textField>
  241 + <reportElement uuid="b9876fdf-e1bd-4510-8eb8-45a6dfceb957" x="79" y="4" width="310" height="13"/>
  242 + <textElement>
  243 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  244 + </textElement>
  245 + <textFieldExpression><![CDATA[$F{nm_instituicao}]]></textFieldExpression>
  246 + </textField>
  247 + <textField isBlankWhenNull="true">
  248 + <reportElement uuid="79fd56cd-5fe7-4331-b4a0-5cf8b93d616a" x="302" y="64" width="236" height="13" forecolor="#000000"/>
  249 + <textElement>
  250 + <font fontName="DejaVu Sans" size="8" isBold="true" isItalic="false"/>
  251 + </textElement>
  252 + <textFieldExpression><![CDATA["E-mail: "+$F{email}]]></textFieldExpression>
  253 + </textField>
  254 + <textField isBlankWhenNull="true">
  255 + <reportElement uuid="62b65d6e-e48d-4790-aa23-4a010df96703" x="435" y="52" width="76" height="13"/>
  256 + <textElement>
  257 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  258 + </textElement>
  259 + <textFieldExpression><![CDATA["CEP: "+$F{cep}]]></textFieldExpression>
  260 + </textField>
  261 + <textField isBlankWhenNull="true">
  262 + <reportElement uuid="c2eb3654-a9c3-496e-b93f-b4de6da5922c" x="302" y="52" width="132" height="13"/>
  263 + <textElement>
  264 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  265 + </textElement>
  266 + <textFieldExpression><![CDATA[$F{municipio}+" - "+$F{uf_municipio}]]></textFieldExpression>
  267 + </textField>
  268 + <textField isBlankWhenNull="true">
  269 + <reportElement uuid="e04a4123-f547-4570-a2d1-7f2937d64b40" x="79" y="28" width="310" height="13"/>
  270 + <textElement>
  271 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  272 + </textElement>
  273 + <textFieldExpression><![CDATA[$F{nm_escola}]]></textFieldExpression>
  274 + </textField>
  275 + <textField isBlankWhenNull="true">
  276 + <reportElement uuid="b8e4459e-b127-42c4-a572-b411ba66313c" x="79" y="16" width="310" height="13"/>
  277 + <textElement>
  278 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  279 + </textElement>
  280 + <textFieldExpression><![CDATA[$F{nm_responsavel}]]></textFieldExpression>
  281 + </textField>
  282 + <image>
  283 + <reportElement uuid="58181b73-1bed-48c6-8004-978d09fbabef" x="16" y="4" width="57" height="46"/>
  284 + <imageExpression><![CDATA[$P{logo}]]></imageExpression>
  285 + </image>
  286 + <textField isStretchWithOverflow="true">
  287 + <reportElement uuid="c803f32c-11d3-438d-af5f-7290785734f9" x="22" y="311" width="509" height="16"/>
  288 + <textElement textAlignment="Justified">
  289 + <font fontName="DejaVu Sans" size="8"/>
  290 + </textElement>
  291 + <textFieldExpression><![CDATA["Atestamos para os devidos fins que, o(a) aluno(a) "+$F{nome}+", código nº: "+$F{cod_aluno}+", filho(a) de "+$F{nm_mae}+" e de "+$F{nm_pai}+", nascido(a) em "+$F{data_nasc}+", natural de "+$F{municipio_uf_nascimento}+", está frequentando no ano de "+$F{ano}+" o(a) "+$F{nm_serie}+" do "+$F{nm_curso}+"."]]></textFieldExpression>
  292 + </textField>
  293 + <textField isBlankWhenNull="true">
  294 + <reportElement uuid="97bd019d-ec3b-4b53-953d-230fba35a8ae" x="79" y="52" width="221" height="13"/>
  295 + <textElement>
  296 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  297 + </textElement>
  298 + <textFieldExpression><![CDATA["Bairro:" +$F{bairro}]]></textFieldExpression>
  299 + </textField>
  300 + <staticText>
  301 + <reportElement uuid="922b6611-457b-49a3-aac1-ada8e23952f9" x="178" y="672" width="207" height="13"/>
  302 + <textElement textAlignment="Center">
  303 + <font fontName="DejaVu Sans" size="8"/>
  304 + </textElement>
  305 + <text><![CDATA[Assinatura]]></text>
  306 + </staticText>
  307 + <line>
  308 + <reportElement uuid="7c6b65ab-b713-433d-8dcf-079a43c5882e" x="177" y="669" width="208" height="1"/>
  309 + </line>
  310 + <textField>
  311 + <reportElement uuid="91c5946c-efc9-4077-95aa-368263f4ce1c" x="79" y="64" width="201" height="13"/>
  312 + <textElement>
  313 + <font fontName="DejaVu Sans" size="8" isBold="true"/>
  314 + </textElement>
  315 + <textFieldExpression><![CDATA["Telefone: ("+$F{fone_ddd}+") "+$F{fone}]]></textFieldExpression>
  316 + </textField>
  317 + </band>
  318 + </pageHeader>
  319 + <columnHeader>
  320 + <band height="15" splitType="Stretch"/>
  321 + </columnHeader>
  322 + <detail>
  323 + <band height="8" splitType="Stretch"/>
  324 + </detail>
  325 + <columnFooter>
  326 + <band height="15" splitType="Stretch"/>
  327 + </columnFooter>
  328 + <pageFooter>
  329 + <band height="16" splitType="Stretch"/>
  330 + </pageFooter>
  331 + <summary>
  332 + <band height="11" splitType="Stretch"/>
  333 + </summary>
  334 +</jasperReport>
... ...
ieducar/modules/Reports/Reports/AtestadoFrequenciaReport.php 0 → 100644
... ... @@ -0,0 +1,64 @@
  1 +<?php
  2 +
  3 +/**
  4 + * i-Educar - Sistema de gestão escolar
  5 + *
  6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
  8 + *
  9 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  10 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  11 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  12 + * qualquer versão posterior.
  13 + *
  14 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  15 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  16 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  17 + * do GNU para mais detalhes.
  18 + *
  19 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  20 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  21 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  22 + *
  23 + * @author Ricardo Bortolotto Dagostim <ricardo@portabilis.com.br>
  24 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package Reports
  27 + * @subpackage Modules
  28 + * @since Arquivo disponível desde a versão 1.1.0
  29 + * @version $Id$
  30 + */
  31 +
  32 +
  33 +/**
  34 + * AtestadoFrequenciaReport class.
  35 + *
  36 + * @author Ricardo Bortolotto Dagostim <ricardo@portabilis.com.br>
  37 + * @category i-Educar
  38 + * @license @@license@@
  39 + * @package Reports
  40 + * @subpackage Modules
  41 + * @since Classe disponível desde a versão 1.1.0
  42 + * @version @@package_version@@
  43 + */
  44 +
  45 +require_once "lib/Portabilis/Report/ReportCore.php";
  46 +require_once "App/Model/IedFinder.php";
  47 +
  48 +class AtestadoFrequenciaReport extends Portabilis_Report_ReportCore
  49 +{
  50 +
  51 + function templateName() {
  52 + return 'portabilis_atestado_frequencia';
  53 + }
  54 +
  55 + function requiredArgs() {
  56 + $this->addRequiredArg('ano');
  57 + $this->addRequiredArg('instituicao');
  58 + $this->addRequiredArg('escola');
  59 + $this->addRequiredArg('matricula');
  60 +
  61 + }
  62 +}
  63 +
  64 +?>
0 65 \ No newline at end of file
... ...
ieducar/modules/Reports/Views/AtestadoFrequenciaController.php 0 → 100644
... ... @@ -0,0 +1,74 @@
  1 +<?php
  2 +
  3 +#error_reporting(E_ALL);
  4 +#ini_set("display_errors", 1);
  5 +
  6 +/**
  7 + * i-Educar - Sistema de gestão escolar
  8 + *
  9 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  10 + * <ctima@itajai.sc.gov.br>
  11 + *
  12 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  13 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  14 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  15 + * qualquer versão posterior.
  16 + *
  17 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  18 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  19 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  20 + * do GNU para mais detalhes.
  21 + *
  22 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  23 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  24 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  25 + *
  26 + * @author Ricardo Bortolotto Dagostim <ricardo@portabilis.com.br>
  27 + * @category i-Educar
  28 + * @license @@license@@
  29 + * @package Reports
  30 + * @subpackage Modules
  31 + * @since Arquivo disponível desde a versão 1.1.0
  32 + * @version $Id$
  33 + */
  34 +
  35 +require_once "lib/Portabilis/Controller/ReportCoreController.php";
  36 +require_once "Reports/Reports/AtestadoFrequenciaReport.php";
  37 +
  38 +/**
  39 + * AtestadoFrequenciaController class.
  40 + *
  41 + * @author Ricardo Bortolotto Dagostim <ricardo@portabilis.com.br>
  42 + * @category i-Educar
  43 + * @license @@license@@
  44 + * @package Reports
  45 + * @subpackage Modules
  46 + * @since Classe disponível desde a versão 1.1.0
  47 + * @version @@package_version@@
  48 + */
  49 +class AtestadoFrequenciaController extends Portabilis_Controller_ReportCoreController
  50 +{
  51 +
  52 + protected $_titulo = 'Relat&oacute;rio Atestado de Frequ&ecirc;ncia';
  53 +
  54 + function form() {
  55 + $this->inputsHelper()->dynamic(array('ano', 'instituicao', 'escola'));
  56 + $this->inputsHelper()->simpleSearchMatricula();
  57 +
  58 + $this->loadResourceAssets($this->getDispatcher());
  59 + }
  60 +
  61 + function report() {
  62 + return new AtestadoFrequenciaReport();
  63 + }
  64 +
  65 + function beforeValidation() {
  66 + $this->report->addArg('ano', (int)$this->getRequest()->ano);
  67 + $this->report->addArg('instituicao', (int)$this->getRequest()->ref_cod_instituicao);
  68 + $this->report->addArg('escola', (int)$this->getRequest()->ref_cod_escola);
  69 + $this->report->addArg('matricula', (int)$this->getRequest()->matricula_id);
  70 + $this->report->addArg('observacao', $this->getRequest()->observacao);
  71 + }
  72 +}
  73 +
  74 +?>
0 75 \ No newline at end of file
... ...