Commit 8cb011d33da4da4ccc8797b8935c01a7e03c06e0
1 parent
169ef5be
Exists in
master
Criado relatório Atestado de frequência
portabilis/ieducar#99
Showing
6 changed files
with
546 additions
and
0 deletions
Show diff stats
ieducar/modules/Api/Views/MatriculaController.php
| @@ -33,6 +33,7 @@ require_once 'lib/Portabilis/Controller/ApiCoreController.php'; | @@ -33,6 +33,7 @@ require_once 'lib/Portabilis/Controller/ApiCoreController.php'; | ||
| 33 | require_once 'lib/Portabilis/Array/Utils.php'; | 33 | require_once 'lib/Portabilis/Array/Utils.php'; |
| 34 | require_once 'lib/Portabilis/String/Utils.php'; | 34 | require_once 'lib/Portabilis/String/Utils.php'; |
| 35 | require_once 'App/Model/MatriculaSituacao.php'; | 35 | require_once 'App/Model/MatriculaSituacao.php'; |
| 36 | +require_once 'intranet/include/clsBanco.inc.php'; | ||
| 36 | 37 | ||
| 37 | class MatriculaController extends ApiCoreController | 38 | class MatriculaController extends ApiCoreController |
| 38 | { | 39 | { |
| @@ -192,6 +193,13 @@ class MatriculaController extends ApiCoreController | @@ -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 | protected function deleteAbandono() { | 203 | protected function deleteAbandono() { |
| 196 | if ($this->canDeleteAbandono()) { | 204 | if ($this->canDeleteAbandono()) { |
| 197 | $matriculaId = $this->getRequest()->id; | 205 | $matriculaId = $this->getRequest()->id; |
| @@ -214,6 +222,9 @@ class MatriculaController extends ApiCoreController | @@ -214,6 +222,9 @@ class MatriculaController extends ApiCoreController | ||
| 214 | elseif ($this->isRequestFor('get', 'matricula-search')) | 222 | elseif ($this->isRequestFor('get', 'matricula-search')) |
| 215 | $this->appendResponse($this->search()); | 223 | $this->appendResponse($this->search()); |
| 216 | 224 | ||
| 225 | + elseif ($this->isRequestFor('get', 'frequencia')) | ||
| 226 | + $this->appendResponse($this->getFrequencia()); | ||
| 227 | + | ||
| 217 | elseif ($this->isRequestFor('delete', 'abandono')) | 228 | elseif ($this->isRequestFor('delete', 'abandono')) |
| 218 | $this->appendResponse($this->deleteAbandono()); | 229 | $this->appendResponse($this->deleteAbandono()); |
| 219 | 230 |
ieducar/modules/Reports/Assets/Javascripts/AtestadoFrequencia.js
0 → 100644
| @@ -0,0 +1,50 @@ | @@ -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 | \ No newline at end of file | 51 | \ No newline at end of file |
ieducar/modules/Reports/Assets/Stylesheets/AtestadoFrequencia.css
0 → 100644
| @@ -0,0 +1,13 @@ | @@ -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 | \ No newline at end of file | 14 | \ No newline at end of file |
ieducar/modules/Reports/ReportSources/portabilis_atestado_frequencia.jrxml
0 → 100644
| @@ -0,0 +1,334 @@ | @@ -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 @@ | @@ -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 | \ No newline at end of file | 65 | \ No newline at end of file |
ieducar/modules/Reports/Views/AtestadoFrequenciaController.php
0 → 100644
| @@ -0,0 +1,74 @@ | @@ -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ório Atestado de Frequê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 | \ No newline at end of file | 75 | \ No newline at end of file |