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 |