Commit e8624499adff50f2aa49733e717b4d7bc49e06bb
1 parent
bfbcab0f
Exists in
master
PAinel
Showing
9 changed files
with
1378 additions
and
683 deletions
Show diff stats
WebContent/WEB-INF/jsp/index/formulario.jsp
... | ... | @@ -12,9 +12,12 @@ |
12 | 12 | </li> |
13 | 13 | |
14 | 14 | <li> |
15 | - <form method="post" id="voltar_form" action="${pageContext.request.contextPath}/formularioOrgao"> | |
16 | - <input type="hidden" id="valorHash" name="valorHash" value="${valorHash}"/> | |
17 | - <a href="#" onClick="document.getElementById('voltar_form').submit();">Dados Institucionais </a> | |
15 | + <form method="post" id="voltar_form" | |
16 | + action="${pageContext.request.contextPath}/formularioOrgao"> | |
17 | + <input type="hidden" id="valorHash" name="valorHash" | |
18 | + value="${valorHash}" /> | |
19 | + <a href="#" | |
20 | + onClick="document.getElementById('voltar_form').submit();">Dados Institucionais </a> | |
18 | 21 | </form> |
19 | 22 | |
20 | 23 | </li> |
... | ... | @@ -23,6 +26,7 @@ |
23 | 26 | </ul> |
24 | 27 | </div> |
25 | 28 | <c:if test="${not empty nivel_01}"> |
29 | + | |
26 | 30 | <div class="funcionalidades"> |
27 | 31 | <ul class="statusFad"> |
28 | 32 | <li> |
... | ... | @@ -43,8 +47,8 @@ |
43 | 47 | <li> |
44 | 48 | <c:if test="${nivel_03 == true}"> |
45 | 49 | <img src="imgs/nivel_03_completo.png" |
46 | - alt="FAD impresso, assinado, digitalizado e anexado." width="125" | |
47 | - height="85" /> | |
50 | + alt="FAD impresso, assinado, digitalizado e anexado." | |
51 | + width="125" height="85" /> | |
48 | 52 | </c:if> |
49 | 53 | <c:if test="${nivel_03 == false}"> |
50 | 54 | <img src="imgs/nivel_03_incompleto.png" |
... | ... | @@ -74,8 +78,8 @@ |
74 | 78 | <img src="imgs/nivel_05_incompleto.png" |
75 | 79 | alt="Relatório Circunstanciado não enviado à PFDC/MPF." |
76 | 80 | width="125" height="85" /> |
77 | - <img src="imgs/nivel_06_incompleto.png" alt="Processo não concluído." | |
78 | - width="85" height="85" /> | |
81 | + <img src="imgs/nivel_06_incompleto.png" | |
82 | + alt="Processo não concluído." width="85" height="85" /> | |
79 | 83 | </c:if> |
80 | 84 | </li> |
81 | 85 | </ul> |
... | ... | @@ -96,43 +100,61 @@ |
96 | 100 | </c:if> |
97 | 101 | </div> |
98 | 102 | |
99 | - <div><label class="asterisco">Os campos com asterisco são de preenchimento obrigatório</label></div> | |
103 | + <div> | |
104 | + <label class="asterisco">Os campos com asterisco são de preenchimento obrigatório</label> | |
105 | + </div> | |
100 | 106 | <div id="introducao"> |
101 | 107 | |
102 | 108 | <h2 class="titulo">Questionário Acessibilidade</h2> |
103 | - <form id="formulario" method="post" action="${pageContext.request.contextPath}/salvar-formulario" accept-charset="UTF-8" onSubmit="return enviarDados();"> | |
109 | + <form id="formulario" method="post" | |
110 | + action="${pageContext.request.contextPath}/salvar-formulario" | |
111 | + accept-charset="UTF-8" onSubmit="return enviarDados();"> | |
104 | 112 | <fieldset> |
105 | 113 | <legend>Dados Acessibilidade</legend> |
106 | 114 | |
107 | 115 | <label for="perguntaAcessibilidade" class="obrigatorio">1) O Órgão tem conhecimento da legislação que envolve o tema "acessibilidade" bem como suas implicações?</label><br> |
108 | - <input type="hidden" name="hPerguntaAcessibilidade" value="7" /><select name="perguntaAcessibilidade" id="perguntaAcessibilidade" required> | |
109 | - <option value="" ${perguntaAcessibilidade == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
110 | - <option value="2" ${perguntaAcessibilidade == '2'?'selected=\"selected\"':''}>Sim</option> | |
111 | - <option value="4" ${perguntaAcessibilidade == '4'?'selected=\"selected\"':''}>Já ouvi falar</option> | |
112 | - <option value="3" ${perguntaAcessibilidade == '3'?'selected=\"selected\"':''}>Não</option> | |
116 | + <input type="hidden" name="hPerguntaAcessibilidade" value="7" /><select | |
117 | + name="perguntaAcessibilidade" id="perguntaAcessibilidade" required> | |
118 | + <option value="" | |
119 | + ${perguntaAcessibilidade == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
120 | + <option value="2" | |
121 | + ${perguntaAcessibilidade == '2'?'selected=\"selected\"':''}>Sim</option> | |
122 | + <option value="4" | |
123 | + ${perguntaAcessibilidade == '4'?'selected=\"selected\"':''}>Já ouvi falar</option> | |
124 | + <option value="3" | |
125 | + ${perguntaAcessibilidade == '3'?'selected=\"selected\"':''}>Não</option> | |
113 | 126 | </select> |
114 | 127 | <br><br> |
115 | 128 | |
116 | 129 | |
117 | 130 | <label for="reclamacao" class="obrigatorio">2) O Órgão já recebeu, formal ou informalmente, reclamações sobre acessibilidade em seus ambientes digitais?</label><br> |
118 | - <input type="hidden" name="hReclamacao" value="8" /><select name="reclamacao" id="reclamacao" required> | |
131 | + <input type="hidden" name="hReclamacao" value="8" /><select | |
132 | + name="reclamacao" id="reclamacao" required> | |
119 | 133 | <option value="" ${reclamacao == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> |
120 | - <option value="2" ${reclamacao == '2'?'selected=\"selected\"':''}>Sim</option> | |
134 | + <option value="2" | |
135 | + ${reclamacao == '2'?'selected=\"selected\"':''}>Sim</option> | |
121 | 136 | <option value="3" ${reclamacao == '3'?'selected=\"selected\"':''}>Não</option> |
122 | 137 | </select> |
123 | 138 | <br><br> |
124 | 139 | |
125 | 140 | <label for="espacoReclamacao">3) Com relação a pergunta anterior, caso tenha respondido "Sim", mencione abaixo quando e por quem houve a reclamação e qual foi a reclamação:</label><br> |
126 | 141 | <input type="hidden" name="hEspacoReclamacao" value="9" /> |
127 | - <textarea name="espacoReclamacao" id="espacoReclamacao" rows="8" cols="100" maxlength="1000"><c:if test="${espacoReclamacao != null}">${espacoReclamacao}</c:if></textarea> | |
142 | + <textarea name="espacoReclamacao" id="espacoReclamacao" rows="8" | |
143 | + cols="100" maxlength="1000"><c:if | |
144 | + test="${espacoReclamacao != null}">${espacoReclamacao}</c:if></textarea> | |
128 | 145 | <br><br> |
129 | 146 | |
130 | 147 | <label for="perguntaEstimulo" class="obrigatorio">4) O Órgão tem estimulado seus servidores e parceiros a realizarem capacitações sobre acessibilidade em ambientes digitais?</label> |
131 | - <input type="hidden" name="hPerguntaEstimulo" value="10" /><select name="perguntaEstimulo" id="perguntaEstimulo" required> | |
132 | - <option value="" ${perguntaEstimulo == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
133 | - <option value="2" ${perguntaEstimulo == '2'?'selected=\"selected\"':''}>Sim</option> | |
134 | - <option value="5" ${perguntaEstimulo == '5'?'selected=\"selected\"':''}>Não, por não priorizar o tema</option> | |
135 | - <option value="6" ${perguntaEstimulo == '6'?'selected=\"selected\"':''}>Não, por não conhecer a oferta de cursos sobre o tema</option> | |
148 | + <input type="hidden" name="hPerguntaEstimulo" value="10" /><select | |
149 | + name="perguntaEstimulo" id="perguntaEstimulo" required> | |
150 | + <option value="" | |
151 | + ${perguntaEstimulo == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
152 | + <option value="2" | |
153 | + ${perguntaEstimulo == '2'?'selected=\"selected\"':''}>Sim</option> | |
154 | + <option value="5" | |
155 | + ${perguntaEstimulo == '5'?'selected=\"selected\"':''}>Não, por não priorizar o tema</option> | |
156 | + <option value="6" | |
157 | + ${perguntaEstimulo == '6'?'selected=\"selected\"':''}>Não, por não conhecer a oferta de cursos sobre o tema</option> | |
136 | 158 | </select> |
137 | 159 | <br><br> |
138 | 160 | |
... | ... | @@ -192,38 +214,54 @@ |
192 | 214 | <input type="hidden" name="hRequisito" value="12" /> |
193 | 215 | <legend class="obrigatorio">6) O Órgão observa em seu processo de desenvolvimento de sítios, portais e serviços eletrônicos os requisitos de acessibilidade? |
194 | 216 | </legend> |
195 | - <input type="radio" name="requisito" id="requisito1" value="11" checked="checked"><label for="requisito1">Sim, observamos os requisitos do modelo brasileiro, ou seja, observamos o "Modelo de Acessibilidade em Governo Eletrônico (eMAG)"</label><br> | |
196 | - <input type="radio" name="requisito" id="requisito2" value="12" ${requisito == '12'?'checked=\"checked\"':''}><label for="requisito2">Sim, observamos os requisitos do modelo internacional, ou seja, observamos o "<span lang="en">Web Content Accessibility Guidelines</span> (WCAG)"</label><br> | |
197 | - <input type="radio" name="requisito" id="requisito3" value="13" ${requisito == '13'?'checked=\"checked\"':''}><label for="requisito3">Sim, observamos os requisitos de outros modelos que não os especificados acima</label><br> | |
198 | - <input type="radio" name="requisito" id="requisito4" value="3" ${requisito == '3'?'checked=\"checked\"':''}><label for="requisito4">Não</label> | |
217 | + <input type="radio" name="requisito" id="requisito1" value="11" | |
218 | + checked="checked"><label for="requisito1">Sim, observamos os requisitos do modelo brasileiro, ou seja, observamos o "Modelo de Acessibilidade em Governo Eletrônico (eMAG)"</label><br> | |
219 | + <input type="radio" name="requisito" id="requisito2" value="12" | |
220 | + ${requisito == '12'?'checked=\"checked\"':''}><label | |
221 | + for="requisito2">Sim, observamos os requisitos do modelo internacional, ou seja, observamos o "<span | |
222 | + lang="en">Web Content Accessibility Guidelines</span> (WCAG)"</label><br> | |
223 | + <input type="radio" name="requisito" id="requisito3" value="13" | |
224 | + ${requisito == '13'?'checked=\"checked\"':''}><label | |
225 | + for="requisito3">Sim, observamos os requisitos de outros modelos que não os especificados acima</label><br> | |
226 | + <input type="radio" name="requisito" id="requisito4" value="3" | |
227 | + ${requisito == '3'?'checked=\"checked\"':''}><label | |
228 | + for="requisito4">Não</label> | |
199 | 229 | </fieldset> |
200 | 230 | <br> |
201 | 231 | |
202 | 232 | <label for="justificativaRequisito">7) Com relação à pergunta anterior, caso tenha respondido "Sim, observamos os requisitos de outros modelos que não os especificados acima", então mencione abaixo estes modelos:</label> |
203 | 233 | <input type="hidden" name="hJustificativaRequisito" value="13" /> |
204 | 234 | <textarea name="justificativaRequisito" |
205 | - id="justificativaRequisito" rows="8" cols="100" maxlength="600"><c:if test="${justificativaRequisito != null}">${justificativaRequisito}</c:if></textarea> | |
235 | + id="justificativaRequisito" rows="8" cols="100" maxlength="600"><c:if | |
236 | + test="${justificativaRequisito != null}">${justificativaRequisito}</c:if></textarea> | |
206 | 237 | <br><br> |
207 | 238 | |
208 | 239 | <fieldset class="pergunta"> |
209 | 240 | <input type="hidden" name="hOpcaoContrat" value="14" /> |
210 | - <legend class="obrigatorio">8) Nas contratações de fábrica de <span lang="en"><i>software</i></span> e/ou parcerias firmadas para o desenvolvimento de ambientes digitais, há citação explícita<br> sobre os requisitos de acessibilidade assim como as sanções para o seu não atendimento? | |
241 | + <legend class="obrigatorio">8) Nas contratações de fábrica de <span | |
242 | + lang="en"><i>software</i></span> e/ou parcerias firmadas para o desenvolvimento de ambientes digitais, há citação explícita<br> sobre os requisitos de acessibilidade assim como as sanções para o seu não atendimento? | |
211 | 243 | </legend> |
212 | 244 | <input type="radio" id="contratacao1" name="opcaoContrat" |
213 | 245 | value="14" checked="checked"><label for="contratacao1">Sim, conforme especifica o estudo técnico preliminar da contratação da Instrução Normativa N° 04, de 11 de Setembro de 2014.</label><br> |
214 | 246 | <input type="radio" id="contratacao2" name="opcaoContrat" |
215 | 247 | value="15" ${opcaoContrat == '15'?'checked=\"checked\"':''}><label |
216 | - for="contratacao2">Sim, conforme sugere a "Cartilha de Boas Práticas para Acessibilidade Digital" na contratação de <br>desenvolvimento <span lang="en">WEB</span></label><br> | |
217 | - <input type="radio" id="contratacao3" name="opcaoContrat" value="3" ${opcaoContrat == '3'?'checked=\"checked\"':''}><label for="contratacao3">Não</label> | |
248 | + for="contratacao2">Sim, conforme sugere a "Cartilha de Boas Práticas para Acessibilidade Digital" na contratação de <br>desenvolvimento <span | |
249 | + lang="en">WEB</span></label><br> | |
250 | + <input type="radio" id="contratacao3" name="opcaoContrat" | |
251 | + value="3" ${opcaoContrat == '3'?'checked=\"checked\"':''}><label | |
252 | + for="contratacao3">Não</label> | |
218 | 253 | </fieldset> |
219 | 254 | <br> |
220 | 255 | |
221 | 256 | <label for="perguntaValidacao" class="obrigatorio">9) O Órgão realiza validações de acessibilidade em seus ambientes digitais?</label><br> |
222 | 257 | <input type="hidden" name="hPerguntaValidacao" value="15" /> |
223 | - <select name="perguntaValidacao" id="perguntaValidacao" required> | |
224 | - <option value="" ${perguntaValidacao == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
225 | - <option value="2" ${perguntaValidacao == '2'?'selected=\"selected\"':''}>Sim</option> | |
226 | - <option value="3" ${perguntaValidacao == '3'?'selected=\"selected\"':''}>Não</option> | |
258 | + <select name="perguntaValidacao" id="perguntaValidacao" required> | |
259 | + <option value="" | |
260 | + ${perguntaValidacao == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | |
261 | + <option value="2" | |
262 | + ${perguntaValidacao == '2'?'selected=\"selected\"':''}>Sim</option> | |
263 | + <option value="3" | |
264 | + ${perguntaValidacao == '3'?'selected=\"selected\"':''}>Não</option> | |
227 | 265 | </select> |
228 | 266 | <br><br> |
229 | 267 | |
... | ... | @@ -283,7 +321,8 @@ |
283 | 321 | <c:set var="marcar" scope="session" value="true" /> |
284 | 322 | </c:if> |
285 | 323 | </c:forEach> |
286 | - <input type="checkbox" name="ferramentaValidacao" value="20" title="Ao marcar esta opção as demais opções serão desabilitadas!" | |
324 | + <input type="checkbox" name="ferramentaValidacao" value="20" | |
325 | + title="Ao marcar esta opção as demais opções serão desabilitadas!" | |
287 | 326 | id="nenhuma" ${marcar == 'true'?'checked=\"checked\"':''}><label |
288 | 327 | for="nenhuma">Nenhuma</label><br> |
289 | 328 | |
... | ... | @@ -296,7 +335,8 @@ |
296 | 335 | <input type="checkbox" name="ferramentaValidacao" id="asesWeb" |
297 | 336 | value="21" ${marcar == 'true'?'checked=\"checked\"':''}><label |
298 | 337 | for="asesWeb">Avaliador e Simulador de Acessibilidade em Sítios (ASES) <span |
299 | - lang="en">Web</span> (<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr> e eMAG)</label><br> | |
338 | + lang="en">Web</span> (<abbr title="Web Accessibility Initiative" | |
339 | + lang="en">WAI</abbr> e eMAG)</label><br> | |
300 | 340 | |
301 | 341 | <c:set var="marcar" scope="session" value="false" /> |
302 | 342 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -307,7 +347,8 @@ |
307 | 347 | <input type="checkbox" name="ferramentaValidacao" id="asesDesktop" |
308 | 348 | value="22" ${marcar == 'true'?'checked=\"checked\"':''}><label |
309 | 349 | for="asesDesktop">Avaliador e Simulador de Acessibilidade em Sítios (ASES) <span |
310 | - lang="en">Desktop</span> (<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr> e eMAG)</label><br> | |
350 | + lang="en">Desktop</span> (<abbr | |
351 | + title="Web Accessibility Initiative" lang="en">WAI</abbr> e eMAG)</label><br> | |
311 | 352 | |
312 | 353 | <c:set var="marcar" scope="session" value="false" /> |
313 | 354 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -317,7 +358,8 @@ |
317 | 358 | </c:forEach> |
318 | 359 | <input type="checkbox" name="ferramentaValidacao" id="silva" |
319 | 360 | value="23" ${marcar == 'true'?'checked=\"checked\"':''}><label |
320 | - for="silva">Da Silva (<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr> e eMAG)</label><br> | |
361 | + for="silva">Da Silva (<abbr | |
362 | + title="Web Accessibility Initiative" lang="en">WAI</abbr> e eMAG)</label><br> | |
321 | 363 | |
322 | 364 | <c:set var="marcar" scope="session" value="false" /> |
323 | 365 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -327,7 +369,8 @@ |
327 | 369 | </c:forEach> |
328 | 370 | <input type="checkbox" name="ferramentaValidacao" id="access" |
329 | 371 | value="24" ${marcar == 'true'?'checked=\"checked\"':''}><label |
330 | - for="access"><span lang="en">AccessMonitor</span> (<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
372 | + for="access"><span lang="en">AccessMonitor</span> (<abbr | |
373 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
331 | 374 | |
332 | 375 | <c:set var="marcar" scope="session" value="false" /> |
333 | 376 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -337,7 +380,8 @@ |
337 | 380 | </c:forEach> |
338 | 381 | <input type="checkbox" name="ferramentaValidacao" id="tool" |
339 | 382 | value="25" ${marcar == 'true'?'checked=\"checked\"':''}><label |
340 | - for="tool"><span lang="en">Web Accessibility Tool </span>(WAVE) (<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
383 | + for="tool"><span lang="en">Web Accessibility Tool </span>(WAVE) (<abbr | |
384 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
341 | 385 | |
342 | 386 | <c:set var="marcar" scope="session" value="false" /> |
343 | 387 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -347,7 +391,8 @@ |
347 | 391 | </c:forEach> |
348 | 392 | <input type="checkbox" name="ferramentaValidacao" id="cynthia" |
349 | 393 | value="26" ${marcar == 'true'?'checked=\"checked\"':''}><label |
350 | - for="cynthia"><span lang="en">Cynthia Says </span>(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
394 | + for="cynthia"><span lang="en">Cynthia Says </span>(<abbr | |
395 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
351 | 396 | |
352 | 397 | <c:set var="marcar" scope="session" value="false" /> |
353 | 398 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -357,7 +402,8 @@ |
357 | 402 | </c:forEach> |
358 | 403 | <input type="checkbox" name="ferramentaValidacao" id="hera" |
359 | 404 | value="27" ${marcar == 'true'?'checked=\"checked\"':''}><label |
360 | - for="hera"><span lang="en">Hera </span>(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
405 | + for="hera"><span lang="en">Hera </span>(<abbr | |
406 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
361 | 407 | |
362 | 408 | <c:set var="marcar" scope="session" value="false" /> |
363 | 409 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -367,7 +413,8 @@ |
367 | 413 | </c:forEach> |
368 | 414 | <input type="checkbox" name="ferramentaValidacao" id="lift" |
369 | 415 | value="28" ${marcar == 'true'?'checked=\"checked\"':''}><label |
370 | - for="lift"><span lang="en">Lift </span>(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
416 | + for="lift"><span lang="en">Lift </span>(<abbr | |
417 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
371 | 418 | |
372 | 419 | <c:set var="marcar" scope="session" value="false" /> |
373 | 420 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -377,7 +424,8 @@ |
377 | 424 | </c:forEach> |
378 | 425 | <input type="checkbox" name="ferramentaValidacao" id="taw" |
379 | 426 | value="29" ${marcar == 'true'?'checked=\"checked\"':''}><label |
380 | - for="taw"><span lang="en">TAW </span>(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
427 | + for="taw"><span lang="en">TAW </span>(<abbr | |
428 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
381 | 429 | |
382 | 430 | <c:set var="marcar" scope="session" value="false" /> |
383 | 431 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -387,7 +435,8 @@ |
387 | 435 | </c:forEach> |
388 | 436 | <input type="checkbox" name="ferramentaValidacao" id="examinator" |
389 | 437 | value="30" ${marcar == 'true'?'checked=\"checked\"':''}><label |
390 | - for="examinator"><span lang="en">Examinator </span>(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
438 | + for="examinator"><span lang="en">Examinator </span>(<abbr | |
439 | + title="Web Accessibility Initiative" lang="en">WAI</abbr>)</label><br> | |
391 | 440 | |
392 | 441 | <c:set var="marcar" scope="session" value="false" /> |
393 | 442 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -397,7 +446,9 @@ |
397 | 446 | </c:forEach> |
398 | 447 | <input type="checkbox" name="ferramentaValidacao" id="functional" |
399 | 448 | value="31" ${marcar == 'true'?'checked=\"checked\"':''}><label |
400 | - for="functional"><span lang="en">Functional Accessibility Evaluator</span> 1.1(<abbr title="Web Accessibility Initiative" lang="en">WAI</abbr> e <span lang="en">Section</span> 508)</label><br> | |
449 | + for="functional"><span lang="en">Functional Accessibility Evaluator</span> 1.1(<abbr | |
450 | + title="Web Accessibility Initiative" lang="en">WAI</abbr> e <span | |
451 | + lang="en">Section</span> 508)</label><br> | |
401 | 452 | |
402 | 453 | <c:set var="marcar" scope="session" value="false" /> |
403 | 454 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -406,7 +457,8 @@ |
406 | 457 | </c:if> |
407 | 458 | </c:forEach> |
408 | 459 | <input type="checkbox" name="ferramentaValidacao" id="checklst1" |
409 | - value="32" ${marcar == 'true'?'checked=\"checked\"':''}><label for="checklst1"><i><span lang="en">Checklist</span></i> de Avaliação Manual (Checklist de Acessibilidade Manual para o Desenvolvedor)</label><br> | |
460 | + value="32" ${marcar == 'true'?'checked=\"checked\"':''}><label | |
461 | + for="checklst1"><i><span lang="en">Checklist</span></i> de Avaliação Manual (Checklist de Acessibilidade Manual para o Desenvolvedor)</label><br> | |
410 | 462 | |
411 | 463 | <c:set var="marcar" scope="session" value="false" /> |
412 | 464 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -415,7 +467,8 @@ |
415 | 467 | </c:if> |
416 | 468 | </c:forEach> |
417 | 469 | <input type="checkbox" name="ferramentaValidacao" id="checklst2" |
418 | - value="33" ${marcar == 'true'?'checked=\"checked\"':''}><label for="checklst2"><i><span lang="en">Checklist</span></i> de Avaliação Manual (Anexo B – Recomendações e Pontos de checagem para atendimento do eMAG)</label><br> | |
470 | + value="33" ${marcar == 'true'?'checked=\"checked\"':''}><label | |
471 | + for="checklst2"><i><span lang="en">Checklist</span></i> de Avaliação Manual (Anexo B – Recomendações e Pontos de checagem para atendimento do eMAG)</label><br> | |
419 | 472 | |
420 | 473 | <c:set var="marcar" scope="session" value="false" /> |
421 | 474 | <c:forEach items="${ferramentaValidacao}" var="item"> |
... | ... | @@ -432,21 +485,35 @@ |
432 | 485 | <label for="outroAvaliador">12) Com relação à pergunta anterior, caso tenha respondido "Outro(s)", mencione abaixo quais são estas ferramentas:</label> |
433 | 486 | <input type="hidden" name="hOutroAvaliador" value="18" /> |
434 | 487 | <textarea name="outroAvaliador" id="outroAvaliador" rows="8" |
435 | - cols="100" maxlength="600"><c:if test="${outroAvaliador != null}">${outroAvaliador}</c:if></textarea> | |
488 | + cols="100" maxlength="600"><c:if | |
489 | + test="${outroAvaliador != null}">${outroAvaliador}</c:if></textarea> | |
436 | 490 | <br><br> |
437 | 491 | |
438 | 492 | <fieldset class="pergunta"> |
439 | 493 | <input type="hidden" name="hAmostragemSiteQuestionario" value="19" /> |
440 | - <legend class="obrigatorio">13) Para cada ambiente e página informada no formulário anterior, informe a <a href="http://asesweb.governoeletronico.gov.br">nota ASESWEB (Link para um novo sítio)</a> e a <a href="http://www.acessibilidade.gov.pt/accessmonitor/">nota AccessMonitor (Link para um novo sítio - utilize o WCAG 2.0)</a>.</legend> | |
494 | + <legend class="obrigatorio">13) Para cada ambiente e página informada no formulário anterior, informe a <a | |
495 | + href="http://asesweb.governoeletronico.gov.br">nota ASESWEB (Link para um novo sítio)</a> e a <a | |
496 | + href="http://www.acessibilidade.gov.pt/accessmonitor/">nota AccessMonitor (Link para um novo sítio - utilize o WCAG 2.0)</a>.</legend> | |
441 | 497 | <c:if test="${not empty lsAmostragemSiteQuestionario}"> |
442 | 498 | <c:forEach items="${lsAmostragemSiteQuestionario}" var="amostra"> |
443 | - <input type="hidden" name="${amostra.nomeCampo }" value="${amostra.urlAmostraSiteQuestionario}" /> | |
499 | + <input type="hidden" name="${amostra.nomeCampo }" | |
500 | + value="${amostra.urlAmostraSiteQuestionario}" /> | |
444 | 501 | <label for="ases_${amostra.nomeCampo}"> ${amostra.urlAmostraSiteQuestionario}</label> <br /> <br /> |
445 | 502 | <label for="ases_${amostra.nomeCampo}">Nota ASES:(999,99) </label> |
446 | - <input type="number" size="10"step="0.01" maxlength="6" id="ases_${amostra.nomeCampo}" name="ases_${amostra.nomeCampo}" value="${amostra.notaAses}" max="100" min="0" oninvalid="this.setCustomValidity('Somente valor entre 0 e 100')" required /> | |
503 | + <input type="number" size="10" step="0.01" maxlength="6" | |
504 | + id="ases_${amostra.nomeCampo}" name="ases_${amostra.nomeCampo}" | |
505 | + value="${amostra.notaAses}" max="100" min="0" | |
506 | + oninvalid="this.setCustomValidity('Somente valor entre 0 e 100')" | |
507 | + required /> | |
447 | 508 | <label for="accessMonitor_${amostra.nomeCampo}">Nota AccessMonitor:(99,99) </label> |
448 | - <input type="number" size="10" step="0.01" maxlength="5" id="accessMonitor_${amostra.nomeCampo}" name="accessMonitor_${amostra.nomeCampo}" value="${amostra.notaAccess}" max="10" min="0" oninvalid="this.setCustomValidity('Somente valor entre 0 e 10')" required/> | |
449 | - <br/><br/> | |
509 | + <input type="number" size="10" step="0.01" maxlength="5" | |
510 | + id="accessMonitor_${amostra.nomeCampo}" | |
511 | + name="accessMonitor_${amostra.nomeCampo}" | |
512 | + value="${amostra.notaAccess}" max="10" min="0" | |
513 | + oninvalid="this.setCustomValidity('Somente valor entre 0 e 10')" | |
514 | + required /> | |
515 | + <br /> | |
516 | + <br /> | |
450 | 517 | <hr> |
451 | 518 | </c:forEach> |
452 | 519 | </c:if> |
... | ... | @@ -482,7 +549,8 @@ |
482 | 549 | value="52" ${checklistQtnList == '52'?'checked=\"checked\"':''}><label |
483 | 550 | for="checklist3">A validação é feita pelo responsável técnico do contrato, seguindo um <i><span |
484 | 551 | lang="en">checklist</span></i> de validação manual em amostras do conjunto de páginas</label><br> |
485 | - <input type="radio" id="checklist4" name="checklistQtnList" value="53" ${checklistQtnList == '53'?'checked=\"checked\"':''}><label | |
552 | + <input type="radio" id="checklist4" name="checklistQtnList" | |
553 | + value="53" ${checklistQtnList == '53'?'checked=\"checked\"':''}><label | |
486 | 554 | for="checklist4">A validação é feita por empresa terceirizada, contratada para ajudar na garantia da qualidade do software, seguindo um <i><span |
487 | 555 | lang="en">checklist</span></i> de validação manual</label><br> |
488 | 556 | <input type="radio" id="checklist5" name="checklistQtnList" |
... | ... | @@ -552,20 +620,22 @@ |
552 | 620 | |
553 | 621 | <label for="funcionalidade" class="obrigatorio">16) O órgão mantém, em seus ambientes, link para página onde são descritos os recursos de acessibilidade existentes?</label> |
554 | 622 | |
555 | - <input type="hidden" name="hFuncionalidade" value="23" /><select name="funcionalidade" id="funcionalidade" required> | |
623 | + <input type="hidden" name="hFuncionalidade" value="23" /><select | |
624 | + name="funcionalidade" id="funcionalidade" required> | |
556 | 625 | <option value="" ${funcionalidade == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> |
557 | 626 | <option value="2" |
558 | - ${funcionalidade == '2'?'selected=\"selected\"':''}>Sim</option> | |
627 | + ${funcionalidade == '2'?'selected=\"selected\"':''}>Sim</option> | |
559 | 628 | <option value="55" |
560 | - ${funcionalidade == '55'?'selected=\"selected\"':''}>Sim, somente no meu ambiente institucional</option> | |
629 | + ${funcionalidade == '55'?'selected=\"selected\"':''}>Sim, somente no meu ambiente institucional</option> | |
561 | 630 | <option value="3" |
562 | - ${funcionalidade == '3'?'selected=\"selected\"':''}>Não</option> | |
631 | + ${funcionalidade == '3'?'selected=\"selected\"':''}>Não</option> | |
563 | 632 | </select> |
564 | 633 | <br><br> |
565 | 634 | |
566 | 635 | <fieldset class="pergunta"> |
567 | 636 | <input type="hidden" name="hAssistiva" value="24" /> |
568 | - <legend class="obrigatorio" id="assistivaPergunta">17) Dentre as tecnologias assistivas baseadas em <i><span lang="en">softwares</span></i>, marque qual delas o órgão indica ou implementa em seus ambientes digitais: | |
637 | + <legend class="obrigatorio" id="assistivaPergunta">17) Dentre as tecnologias assistivas baseadas em <i><span | |
638 | + lang="en">softwares</span></i>, marque qual delas o órgão indica ou implementa em seus ambientes digitais: | |
569 | 639 | |
570 | 640 | </legend> |
571 | 641 | |
... | ... | @@ -575,7 +645,8 @@ |
575 | 645 | <c:set var="marcar" scope="session" value="true" /> |
576 | 646 | </c:if> |
577 | 647 | </c:forEach> |
578 | - <input type="checkbox" name="assistiva" id="assistiva0" value="20" title="Ao marcar esta opção as demais opções serão desabilitadas!" | |
648 | + <input type="checkbox" name="assistiva" id="assistiva0" value="20" | |
649 | + title="Ao marcar esta opção as demais opções serão desabilitadas!" | |
579 | 650 | ${marcar == 'true'?'checked=\"checked\"':''}><label |
580 | 651 | for="assistiva0">Nenhum</label><br> |
581 | 652 | |
... | ... | @@ -668,54 +739,82 @@ |
668 | 739 | <c:set var="marcar" scope="session" value="true" /> |
669 | 740 | </c:if> |
670 | 741 | </c:forEach> |
671 | - <input type="checkbox" name="assistiva" id="assistiva8" value="34" ${marcar == 'true'?'checked=\"checked\"':''}><label for="assistiva8">Outro(s)</label> | |
742 | + <input type="checkbox" name="assistiva" id="assistiva8" value="34" | |
743 | + ${marcar == 'true'?'checked=\"checked\"':''}><label | |
744 | + for="assistiva8">Outro(s)</label> | |
672 | 745 | </fieldset> |
673 | 746 | <br> |
674 | 747 | |
675 | 748 | <label for="justificativaAssistiva">18) Com relação à pergunta anterior: caso tenha respondido "Outro(s)" mencione abaixo quais são essas tecnologias:</label> |
676 | 749 | <input type="hidden" name="hJustificativaAssistiva" value="25" /> |
677 | - <textarea name="justificativaAssistiva" id="justificativaAssistiva" rows="8" cols="100" maxlength="600"><c:if test="${justificativaAssistiva != null}">${justificativaAssistiva}</c:if></textarea> | |
750 | + <textarea name="justificativaAssistiva" | |
751 | + id="justificativaAssistiva" rows="8" cols="100" maxlength="600"><c:if | |
752 | + test="${justificativaAssistiva != null}">${justificativaAssistiva}</c:if></textarea> | |
678 | 753 | |
679 | 754 | <br><br> |
680 | 755 | |
681 | 756 | <label for="dificuldadePrazo">19) Mencione abaixo as dificuldades para o atendimento do prazo previsto na legislação para o estabelecimento da acessibilidade digital, caso o órgao esteja enfrentando estas dificuldades:</label> |
682 | 757 | <input type="hidden" name="hDificuldadePrazo" value="26" /> |
683 | - <textarea name="dificuldadePrazo" id="dificuldadePrazo" rows="8" cols="100" maxlength="1000"><c:if test="${dificuldadePrazo != null}">${dificuldadePrazo}</c:if></textarea><br><br> | |
758 | + <textarea name="dificuldadePrazo" id="dificuldadePrazo" rows="8" | |
759 | + cols="100" maxlength="1000"><c:if | |
760 | + test="${dificuldadePrazo != null}">${dificuldadePrazo}</c:if></textarea> | |
761 | + <br><br> | |
684 | 762 | |
685 | - <div><h3>Leis, Documentos e Sítios referenciados neste formulário:</h3> | |
763 | + <div> | |
764 | + <h3>Leis, Documentos e Sítios referenciados neste formulário:</h3> | |
686 | 765 | <ul> |
687 | - <li><a href="http://www.governoeletronico.gov.br/documentos-e-arquivos/IN%204%202014_compilada.pdf">Instrução Normativa 04/2014 (IN 04/2014) - formato .pdf 319Kb</a></li> | |
688 | - <li><a href="http://emag.governoeletronico.gov.br/cartilha-contratacao/">Cartilha de Boas Práticas para Acessibilidade Digital - link para um novo sítio</a></li> | |
689 | - <li><a href="http://www.governoeletronico.gov.br/documentos-e-arquivos/eMAG-Checklist-acessibilidade-desenvolvedores.pdf">Checklist de Acessibilidade Manual para o Desenvolvedor - formato .pdf 552Kb</a></li> | |
690 | - <li><a href="http://emag.governoeletronico.gov.br/cartilha-contratacao/arquivos/anexos/Anexo-B.ods">Anexo B – Recomendações e Pontos de checagem para atendimento do eMAG - formato .ods 18Kb</a></li> | |
691 | - <li><a href="http://emag.governoeletronico.gov.br/cartilha-contratacao/arquivos/anexos/Anexo-A.ods"> Anexo A – eMAG com WCAG - formato .ods 20,2kb</a></li> | |
766 | + <li><a | |
767 | + href="http://www.governoeletronico.gov.br/documentos-e-arquivos/IN%204%202014_compilada.pdf">Instrução Normativa 04/2014 (IN 04/2014) - formato .pdf 319Kb</a></li> | |
768 | + <li><a | |
769 | + href="http://emag.governoeletronico.gov.br/cartilha-contratacao/">Cartilha de Boas Práticas para Acessibilidade Digital - link para um novo sítio</a></li> | |
770 | + <li><a | |
771 | + href="http://www.governoeletronico.gov.br/documentos-e-arquivos/eMAG-Checklist-acessibilidade-desenvolvedores.pdf">Checklist de Acessibilidade Manual para o Desenvolvedor - formato .pdf 552Kb</a></li> | |
772 | + <li><a | |
773 | + href="http://emag.governoeletronico.gov.br/cartilha-contratacao/arquivos/anexos/Anexo-B.ods">Anexo B – Recomendações e Pontos de checagem para atendimento do eMAG - formato .ods 18Kb</a></li> | |
774 | + <li><a | |
775 | + href="http://emag.governoeletronico.gov.br/cartilha-contratacao/arquivos/anexos/Anexo-A.ods"> Anexo A – eMAG com WCAG - formato .ods 20,2kb</a></li> | |
692 | 776 | <li><a href="http://asesweb.governoeletronico.gov.br">ASESWEB - Avaliador e Simulador de Acessibilidade em Sítios - link para um novo sítio</a></li> |
693 | - <li><a href="http://www.acessibilidade.gov.pt/accessmonitor/">ACCESSMONITOR - Validador automático para WCAG - link para um novo sítio</a></li> | |
777 | + <li><a | |
778 | + href="http://www.acessibilidade.gov.pt/accessmonitor/">ACCESSMONITOR - Validador automático para WCAG - link para um novo sítio</a></li> | |
694 | 779 | </ul> |
695 | 780 | </div> |
696 | 781 | |
697 | 782 | </fieldset> |
698 | 783 | |
699 | - <div id="botaoEnviar"> | |
700 | - <input type="submit" class="button" id="enviar" name="executar" value="Cadastrar"> | |
701 | - </div> | |
784 | + <c:if test="${flagEnviado == false}"> | |
785 | + <div id="botaoEnviar"> | |
786 | + <input type="submit" class="button" id="enviar" name="executar" | |
787 | + value="Cadastrar"> | |
788 | + </div> | |
789 | + </c:if> | |
790 | + | |
791 | + <c:if test="${flagEnviado == true}"> | |
792 | + <strong class="atencao">ATENÇÃO! O relatório não pode ser alterado, o mesmo já foi enviado à PFDC/MPF.</strong> | |
793 | + </c:if> | |
702 | 794 | |
703 | - <input type="hidden" name="idQuestionario" value="${questionario.idQuestionario}" /> | |
704 | - <input type="hidden" id="nomePessoa" name="nomePessoa" value="${nomePessoa}" /> | |
705 | - <input type="hidden" id="hNomePessoa" name="hNomePessoa" value="${hNomePessoa}" /> | |
795 | + <input type="hidden" name="idQuestionario" | |
796 | + value="${questionario.idQuestionario}" /> | |
797 | + <input type="hidden" id="nomePessoa" name="nomePessoa" | |
798 | + value="${nomePessoa}" /> | |
799 | + <input type="hidden" id="hNomePessoa" name="hNomePessoa" | |
800 | + value="${hNomePessoa}" /> | |
706 | 801 | <input type="hidden" id="hCargo" name="hCargo" value="${hCargo}" /> |
707 | 802 | <input type="hidden" id="cargo" name="cargo" value="${cargo}" /> |
708 | 803 | <input type="hidden" id="telefone" name="telefone" value="${telefone}" /> |
709 | - <input type="hidden" id="hTelefone" name="hTelefone" value="${hTelefone}" /> | |
710 | - <input type="hidden" id="email" name="email" value="${email}" /> | |
711 | - <input type="hidden" id="hEmail" name="hEmail" value="${hEmail}" /> | |
804 | + <input type="hidden" id="hTelefone" name="hTelefone" | |
805 | + value="${hTelefone}" /> | |
806 | + <input type="hidden" id="email" name="email" value="${email}" /> | |
807 | + <input type="hidden" id="hEmail" name="hEmail" value="${hEmail}" /> | |
712 | 808 | |
713 | 809 | </form> |
714 | 810 | |
715 | 811 | <div id="botaoVoltar"> |
716 | - <form method="post" action="${pageContext.request.contextPath}/formularioOrgao"> | |
717 | - <input type="hidden" id="valorHash" name="valorHash" value="${valorHash}"/> | |
718 | - <input type="submit" class="button" id="voltarF" name="executar" value="Voltar"> | |
812 | + <form method="post" | |
813 | + action="${pageContext.request.contextPath}/formularioOrgao"> | |
814 | + <input type="hidden" id="valorHash" name="valorHash" | |
815 | + value="${valorHash}" /> | |
816 | + <input type="submit" class="button" id="voltarF" name="executar" | |
817 | + value="Voltar"> | |
719 | 818 | </form> |
720 | 819 | </div> |
721 | 820 | ... | ... |
... | ... | @@ -0,0 +1,192 @@ |
1 | +<%@page contentType="text/html" pageEncoding="UTF-8"%> | |
2 | +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> | |
3 | +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
4 | +<!DOCTYPE html> | |
5 | +<html lang=pt-br> | |
6 | + | |
7 | +<head> | |
8 | +<title>Relatório Circunstanciado de Acessibilidade Digital</title> | |
9 | + | |
10 | + | |
11 | +<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/imprimir.css" media="screen"> | |
12 | +<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/default.css" media="screen"> | |
13 | +<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/imprimir.css" media="print"> | |
14 | +<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/default.css" media="print"> | |
15 | +<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/botaoImprimir.css" media="print"> | |
16 | + | |
17 | + | |
18 | + | |
19 | +</head> | |
20 | +<body id='imprimir'> | |
21 | + <div> | |
22 | + <div id="center"> | |
23 | + <h1 class="maiusculo" > | |
24 | + RELATÓRIO CIRCUNSTANCIADO DE ACESSIBILIDADE DIGITAL (Art. 120 da Lei nº 13.146/2015)<br> | |
25 | + ${questionario.noOrgao}<br> | |
26 | + EXERCÍCIO 2016 | |
27 | + </h1> | |
28 | + </div> | |
29 | + </div> | |
30 | + <div> | |
31 | + | |
32 | + <fieldset> | |
33 | + <legend>Dados Acessibilidade</legend> | |
34 | + <label>1) O Órgão | |
35 | + tem conhecimento da legislação que envolve o tema "acessibilidade" | |
36 | + bem como suas implicações?</label> | |
37 | + <p><strong>Sim: ${pergunta1_2}</strong></p> | |
38 | + <p><strong>Já Ouvi falar: ${pergunta1_4 }</strong></p> | |
39 | + <p><strong>Não: ${pergunta1_3}</strong></p> | |
40 | + | |
41 | + <label> 2) O Órgão já recebeu, formal ou informalmente, reclamações sobre | |
42 | + acessibilidade em seus ambientes digitais?</label> | |
43 | + <p><strong>Sim: ${pergunta2_2 }</strong></p> | |
44 | + <p><strong>Não: ${pergunta2_3 }</strong></p> | |
45 | + | |
46 | + <label>3) O Órgão | |
47 | + tem estimulado seus servidores e parceiros a realizarem | |
48 | + capacitações sobre acessibilidade em ambientes digitais?</label> | |
49 | + <p><strong>Sim: ${pergunta3_2 }</strong></p> | |
50 | + <p><strong>Não, por não priorizar o tema: ${pergunta3_5 }</strong></p> | |
51 | + <p><strong>Não, por não conhecer a oferta de cursos sobre o tema: ${pergunta3_6 }</strong></p> | |
52 | + | |
53 | + <label>4) Com | |
54 | + relação a pergunta anterior, caso tenha respondido 'Sim', mencione | |
55 | + abaixo os tipos de cursos estimulados pelo órgão:</label> | |
56 | + <p><strong>Escola(s) de ensino à distancia (EAD): ${pergunta4_7 }</strong></p> | |
57 | + <p><strong>EAD através da Escola Nacional de Administração Pública (ENAP): ${pergunta4_8 }</strong></p> | |
58 | + <p><strong>Escola(s) de ensino presencial: ${pergunta4_9 }</strong></p> | |
59 | + <p><strong>Ensino presencial através da ENAP: ${pergunta4_10 }</strong></p> | |
60 | + | |
61 | + | |
62 | + <label>5) O Órgão observa | |
63 | + em seu processo de desenvolvimento de sítios, portais e serviços | |
64 | + eletrônicos os requisitos de acessibilidade?</label> | |
65 | +<p><strong>Sim, observamos os requisitos do modelo brasileiro, ou seja, observamos o "Modelo de Acessibilidade em Governo Eletrônico (eMAG)": ${pergunta5_11 }</strong></p> | |
66 | +<p><strong>Sim, observamos os requisitos do modelo internacional, ou seja, observamos o "Web Content Accessibility Guidelines (WCAG)": ${pergunta5_12 }</strong></p> | |
67 | +<p><strong>Sim, observamos os requisitos de outros modelos que não os especificados acima: ${pergunta5_13 }</strong></p> | |
68 | +<p><strong>Não: ${pergunta5_3 }</strong></p> | |
69 | + | |
70 | + <label>6) Nas | |
71 | + contratações de fábrica de software e/ou parcerias firmadas para o | |
72 | + desenvolvimento de ambientes digitais há citação explícita sobre | |
73 | + os requisitos de acessibilidade assim como as sanções para o seu não atendimento?</label> | |
74 | +<p><strong>Sim, conforme especifica o estudo técnico preliminar da contratação da Instrução Normativa N° 04, de 11 de Setembro de 2014.: ${pergunta6_14 }</strong></p> | |
75 | +<p><strong>Sim, conforme sugere a "Cartilha de Boas Práticas para Acessibilidade Digital" na contratação de desenvolvimento WEB: ${pergunta6_15 }</strong></p> | |
76 | +<p><strong>Não: ${pergunta6_3 }</strong></p> | |
77 | + | |
78 | +<label>7) | |
79 | + O Órgão realiza validações de acessibilidade em seus ambientes | |
80 | + digitais?</label> | |
81 | +<p><strong>sim: ${pergunta7_2 }</strong></p> | |
82 | +<p><strong>Não: ${pergunta7_3 }</strong></p> | |
83 | + | |
84 | + <label>8) Com relação a pergunta anterior, no caso de 'Sim', mencione abaixo | |
85 | + as validações realizadas:</label> | |
86 | +<p><strong>Validações por ferramentas automáticas para homologações das entregas do desenvolvimento: ${pergunta8_16 }</strong></p> | |
87 | +<p><strong>Verificações humanas para homologações das entregas do desenvolvimento: ${pergunta8_17 }</strong></p> | |
88 | +<p><strong>Validações automáticas constantemente desde a entrega dos códigos: ${pergunta8_18 }</strong></p> | |
89 | +<p><strong>Verificações humanas constantemente desde a entrega dos códigos: ${pergunta8_19 }</strong></p> | |
90 | + | |
91 | + <label>9) Quais ferramentas são utilizadas no processo de validação de | |
92 | + acessibilidade em seus ambientes digitais?</label> | |
93 | +<p><strong>Nenhuma: ${pergunta9_20 }</strong></p> | |
94 | +<p><strong>Avaliador e Simulador de Acessibilidade em Sítios (ASES) Web (WAI e eMAG): ${pergunta9_21 }</strong></p> | |
95 | +<p><strong>Avaliador e Simulador de Acessibilidade em Sítios (ASES) Desktop (WAI e eMAG): ${pergunta9_22 }</strong></p> | |
96 | +<p><strong>Da Silva (WAI e eMAG): ${pergunta9_23 }</strong></p> | |
97 | +<p><strong>AccessMonitor (WAI): ${pergunta9_24 }</strong></p> | |
98 | +<p><strong>Web Accessibility Tool (WAVE) (WAI): ${pergunta9_25 }</strong></p> | |
99 | +<p><strong>Cynthia Says (WAI): ${pergunta9_26 }</strong></p> | |
100 | +<p><strong>Hera (WAI): ${pergunta9_27 }</strong></p> | |
101 | +<p><strong>Lift (WAI): ${pergunta9_28 }</strong></p> | |
102 | +<p><strong>TAW (WAI): ${pergunta9_29 }</strong></p> | |
103 | +<p><strong>Examinator (WAI): ${pergunta9_30 }</strong></p> | |
104 | +<p><strong>Functional Accessibility Evaluator 1.1(WAI e Section 508): ${pergunta9_31 }</strong></p> | |
105 | +<p><strong>Checklist de Avaliação Manual (Checklist de Acessibilidade Manual para o Desenvolvedor): ${pergunta9_32 }</strong></p> | |
106 | +<p><strong>Checklist de Avaliação Manual (Anexo B – Recomendações e Pontos de checagem para atendimento do eMAG): ${pergunta9_33 }</strong></p> | |
107 | +<p><strong>Outro(s): ${pergunta9_34 }</strong></p> | |
108 | + | |
109 | + | |
110 | +<label>10) Informe abaixo, pelo menos um Ambiente Digital (sítio ou portal) e quatro páginas deste mesmo ambiente. Informe a nota Ases e a nota AccessMonitor (utilize o WCAG 2.0) para cada ambiente e página informada:</label> | |
111 | + | |
112 | + | |
113 | +<p><strong>Total de ambientes: ${totalAmbientes }</strong></p> | |
114 | +<p><strong>Nota ASES (menor ou igual 10%): ${notaAsesMenorIgual_10 }</strong></p> | |
115 | +<p><strong>Nota ASES (maior que 10% e menor ou igual 20%): ${notaAsesMaior_10_menorIgual_20 }</strong></p> | |
116 | +<p><strong>Nota ASES (maior que 20% e menor ou igual 30%): ${notaAsesMaior_20_menorIgual_30 }</strong></p> | |
117 | +<p><strong>Nota ASES (maior que 30% e menor ou igual 40%): ${notaAsesMaior_30_menorIgual_40 }</strong></p> | |
118 | +<p><strong>Nota ASES (maior que 40% e menor ou igual 50%): ${notaAsesMaior_40_menorIgual_50 }</strong></p> | |
119 | +<p><strong>Nota ASES (maior que 50% e menor ou igual 60%): ${notaAsesMaior_50_menorIgual_60 }</strong></p> | |
120 | +<p><strong>Nota ASES (maior que 60% e menor ou igual 70%): ${notaAsesMaior_60_menorIgual_70 }</strong></p> | |
121 | +<p><strong>Nota ASES (maior que 70% e menor ou igual 80%): ${notaAsesMaior_70_menorIgual_80 }</strong></p> | |
122 | +<p><strong>Nota ASES (maior que 80% e menor ou igual 90%): ${notaAsesMaior_80_menorIgual_90 }</strong></p> | |
123 | +<p><strong>Nota ASES (maior que 90% e menor ou igual 100%): ${notaAsesMaior_90_menor_100 }</strong></p> | |
124 | +<p><strong>Nota ASES (igual a 100%): ${notaAsesIgual_100 }</strong></p> | |
125 | + | |
126 | + | |
127 | + | |
128 | +<p><strong>Nota AccessMonitor (menor ou igual 1): ${notaAccessMonitorMenorIgual_1 }</strong></p> | |
129 | +<p><strong>Nota AccessMonitor (maior que 1 e menor ou igual 2): ${notaAccessMonitorMaior_1_menorIgual_2 }</strong></p> | |
130 | +<p><strong>Nota AccessMonitor (maior que 2 e menor ou igual 3): ${notaAccessMonitorMaior_2_menorIgual_3 }</strong></p> | |
131 | +<p><strong>Nota AccessMonitor (maior que 3 e menor ou igual 4): ${notaAccessMonitorMaior_3_menorIgual_4 }</strong></p> | |
132 | +<p><strong>Nota AccessMonitor (maior que 4 e menor ou igual 5): ${notaAccessMonitorMaior_4_menorIgual_5 }</strong></p> | |
133 | +<p><strong>Nota AccessMonitor (maior que 5 e menor ou igual 6): ${notaAccessMonitorMaior_5_menorIgual_6 }</strong></p> | |
134 | +<p><strong>Nota AccessMonitor (maior que 6 e menor ou igual 7): ${notaAccessMonitorMaior_6_menorIgual_7 }</strong></p> | |
135 | +<p><strong>Nota AccessMonitor (maior que 7 e menor ou igual 8): ${notaAccessMonitorMaior_7_menorIgual_8 }</strong></p> | |
136 | +<p><strong>Nota AccessMonitor (maior que 8 e menor ou igual 9): ${notaAccessMonitorMaior_8_menorIgual_9 }</strong></p> | |
137 | +<p><strong>Nota AccessMonitor (maior que 9 e menor 10): ${notaAccessMonitorMaior_9_menor_10 }</strong></p> | |
138 | +<p><strong>Nota AccessMonitor (igual a 10): ${notaAccessMonitorIgual_10 }</strong></p> | |
139 | + | |
140 | + | |
141 | +<label>11) Quanto aos | |
142 | + itens de acessibilidade que não podem ser verificados por máquina, | |
143 | + como o atendimento, quanto às normas de acessibilidade, é | |
144 | + validado?</label> | |
145 | +<p><strong>Não é feito a validação de itens que não podem ser validados de maneira automática: ${pergunta11_50 }</strong></p> | |
146 | +<p><strong>A validação é feita pelo responsável técnico do contrato, seguindo um checklist de validação manual em todas as páginas: ${pergunta11_51 }</strong></p> | |
147 | +<p><strong>A validação é feita pelo responsável técnico do contrato, seguindo um checklist de validação manual em amostras do conjunto de páginas: ${pergunta11_52 }</strong></p> | |
148 | +<p><strong>A validação é feita por empresa terceirizada, contratada para ajudar na garantia da qualidade do software, seguindo um checklist de validação manual: ${pergunta11_53 }</strong></p> | |
149 | +<p><strong>A validação é feita através do teste de atendimento das exigências contratuais pela empresa desenvolvedora do produto, que | |
150 | +entrega, para cada página desenvolvida, um checklist que especifica os testes manuais que foram executados: ${pergunta11_54 }</strong></p> | |
151 | + | |
152 | +<label>12) Caso o órgão realize validações com pessoas com deficiência, selecione abaixo quais pessoas fazem essas validações:</label> | |
153 | + | |
154 | +<p><strong>Pessoa cega ou com baixa visão: ${pergunta12_65 }</strong></p> | |
155 | +<p><strong>Pessoa surda ou com deficiência auditiva: ${pergunta12_66 }</strong></p> | |
156 | +<p><strong>Pessoa com deficiência intelectual: ${pergunta12_67 }</strong></p> | |
157 | +<p><strong>Pessoa com deficiência física ou motora: ${pergunta12_68 }</strong></p> | |
158 | + | |
159 | + | |
160 | + <label>13) O órgão mantém, em seus ambientes, link para página onde são descritos os recursos de acessibilidade existentes?</label> | |
161 | + | |
162 | +<p><strong>Sim: ${pergunta13_2 }</strong></p> | |
163 | +<p><strong>Sim, somente no meu ambiente institucional: ${pergunta13_55 }</strong></p> | |
164 | +<p><strong>Não: ${pergunta13_3}</strong></p> | |
165 | + | |
166 | + <label>14) Dentre as tecnologias assistivas baseadas em softwares, marque qual delas o órgão indica ou implementa em seus ambientes digitais:</label> | |
167 | + | |
168 | +<p><strong>Nenhuma: ${pergunta14_20 }</strong></p> | |
169 | +<p><strong>DOSVOX: ${pergunta14_56 }</strong></p> | |
170 | +<p><strong>ORCA: ${pergunta14_57 }</strong></p> | |
171 | +<p><strong>JAWS: ${pergunta14_58 }</strong></p> | |
172 | +<p><strong>Rybená: ${pergunta14_59 }</strong></p> | |
173 | +<p><strong>Hand Talk: ${pergunta14_60 }</strong></p> | |
174 | +<p><strong>Prodeaf: ${pergunta14_61 }</strong></p> | |
175 | +<p><strong>VLibras: ${pergunta14_62 }</strong></p> | |
176 | +<p><strong>NVDA: ${pergunta14_69 }</strong></p> | |
177 | +<p><strong>Outro(s): ${pergunta14_34 }</strong></p> | |
178 | + </fieldset> | |
179 | + | |
180 | + | |
181 | + </div> | |
182 | + | |
183 | + <br> | |
184 | + | |
185 | +</body> | |
186 | + | |
187 | +<div id="divButton"> | |
188 | + <a class="button" id="pPrincipal" href="${pageContext.request.contextPath}/">Página Inicial</a> | |
189 | + <input type="button" class="button" value="Imprimir" id="bImprimir" name="bImprimir" onClick="javascript:window.print()"> | |
190 | +</div> | |
191 | + | |
192 | +</html> | |
0 | 193 | \ No newline at end of file | ... | ... |
WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp
... | ... | @@ -101,7 +101,14 @@ |
101 | 101 | <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">${planoTrabalho.nomeRelatorioAss }</a> |
102 | 102 | </c:if> |
103 | 103 | </label><br> |
104 | - <input type="file" id="fileRelatorio" name="fileRelatorio" accept="application/msword, application/zip, application/octet-stream, application/x-rar-compressed, application/vnd.ms-excel, application/vnd.oasis.opendocument.text ,text/plain, application/pdf, image/*"><br> | |
104 | + <c:if test="${questionario.flagEnviado == false}"> | |
105 | + <input type="file" id="fileRelatorio" name="fileRelatorio" accept="application/msword, application/zip, application/octet-stream, application/x-rar-compressed, application/vnd.ms-excel, application/vnd.oasis.opendocument.text ,text/plain, application/pdf, image/*"><br> | |
106 | + </c:if> | |
107 | + | |
108 | + <c:if test="${questionario.flagEnviado == true}"> | |
109 | + <input type="file" id="fileRelatorio" name="fileRelatorio" accept="application/msword, application/zip, application/octet-stream, application/x-rar-compressed, application/vnd.ms-excel, application/vnd.oasis.opendocument.text ,text/plain, application/pdf, image/*" disabled="disabled"><br> | |
110 | + </c:if> | |
111 | + | |
105 | 112 | <hr> |
106 | 113 | <label for="filePlano">Plano de Trabalho: (tamanho máximo: 50Mb) |
107 | 114 | <c:if test="${not empty planoTrabalho.nomePlanoTrabalho}"> | ... | ... |
... | ... | @@ -0,0 +1,303 @@ |
1 | +package br.com.controller; | |
2 | + | |
3 | +import java.sql.ResultSet; | |
4 | +import java.sql.SQLException; | |
5 | + | |
6 | +import javax.servlet.ServletContext; | |
7 | + | |
8 | +import br.com.caelum.vraptor.Path; | |
9 | +import br.com.caelum.vraptor.Resource; | |
10 | +import br.com.caelum.vraptor.Result; | |
11 | +import br.com.caelum.vraptor.Validator; | |
12 | +import br.com.dao.PainelDao; | |
13 | + | |
14 | +@Resource | |
15 | +public class PainelController { | |
16 | + | |
17 | + private String path; | |
18 | + private ServletContext application; | |
19 | + private Result result; | |
20 | + | |
21 | + public PainelController(Result result, ServletContext application) { | |
22 | + this.result = result; | |
23 | + this.application = application; | |
24 | + this.path = this.application.getRealPath("") + "/WEB-INF/conexao.properties"; | |
25 | + } | |
26 | + | |
27 | + @Path("/painel") | |
28 | + public void painel() { | |
29 | + | |
30 | + PainelDao painelDao = new PainelDao(); | |
31 | + | |
32 | + //pergunta 1 | |
33 | + result.include("pergunta1_2", painelDao.retornarTotalResposta(path, 7,2)); | |
34 | + result.include("pergunta1_4", painelDao.retornarTotalResposta(path, 7,4)); | |
35 | + result.include("pergunta1_3", painelDao.retornarTotalResposta(path, 7,3)); | |
36 | + | |
37 | + //pergunta 2 | |
38 | + result.include("pergunta2_2", painelDao.retornarTotalResposta(path, 8,2)); | |
39 | + result.include("pergunta2_3", painelDao.retornarTotalResposta(path, 8,3)); | |
40 | + | |
41 | + //pergunta 3 | |
42 | + result.include("pergunta3_2", painelDao.retornarTotalResposta(path, 10,2)); | |
43 | + result.include("pergunta3_5", painelDao.retornarTotalResposta(path, 10,5)); | |
44 | + result.include("pergunta3_6", painelDao.retornarTotalResposta(path, 10,6)); | |
45 | + | |
46 | + //pergunta 4 | |
47 | + result.include("pergunta4_7", painelDao.retornarTotalResposta(path, 11,7)); | |
48 | + result.include("pergunta4_8", painelDao.retornarTotalResposta(path, 11,8)); | |
49 | + result.include("pergunta4_9", painelDao.retornarTotalResposta(path, 11,9)); | |
50 | + result.include("pergunta4_10", painelDao.retornarTotalResposta(path, 11,10)); | |
51 | + | |
52 | + //pergunta 5 | |
53 | + result.include("pergunta5_11", painelDao.retornarTotalResposta(path, 12,11)); | |
54 | + result.include("pergunta5_12", painelDao.retornarTotalResposta(path, 12,12)); | |
55 | + result.include("pergunta5_13", painelDao.retornarTotalResposta(path, 12,13)); | |
56 | + result.include("pergunta5_3", painelDao.retornarTotalResposta(path, 12,3)); | |
57 | + | |
58 | + //pergunta 6 | |
59 | + result.include("pergunta6_14", painelDao.retornarTotalResposta(path, 14,14)); | |
60 | + result.include("pergunta6_15", painelDao.retornarTotalResposta(path, 14,15)); | |
61 | + result.include("pergunta6_3", painelDao.retornarTotalResposta(path, 14,3)); | |
62 | + | |
63 | + //pergunta 7 | |
64 | + result.include("pergunta7_2", painelDao.retornarTotalResposta(path, 15,2)); | |
65 | + result.include("pergunta7_3", painelDao.retornarTotalResposta(path, 15,3)); | |
66 | + | |
67 | + //pergunta 8 | |
68 | + result.include("pergunta8_16", painelDao.retornarTotalResposta(path, 16,16)); | |
69 | + result.include("pergunta8_17", painelDao.retornarTotalResposta(path, 16,17)); | |
70 | + result.include("pergunta8_18", painelDao.retornarTotalResposta(path, 16,18)); | |
71 | + result.include("pergunta8_19", painelDao.retornarTotalResposta(path, 16,19)); | |
72 | + | |
73 | + //pergunta 9 | |
74 | + result.include("pergunta9_20", painelDao.retornarTotalResposta(path, 17,20)); | |
75 | + result.include("pergunta9_21", painelDao.retornarTotalResposta(path, 17,21)); | |
76 | + result.include("pergunta9_22", painelDao.retornarTotalResposta(path, 17,22)); | |
77 | + result.include("pergunta9_23", painelDao.retornarTotalResposta(path, 17,23)); | |
78 | + result.include("pergunta9_24", painelDao.retornarTotalResposta(path, 17,24)); | |
79 | + result.include("pergunta9_25", painelDao.retornarTotalResposta(path, 17,25)); | |
80 | + result.include("pergunta9_26", painelDao.retornarTotalResposta(path, 17,26)); | |
81 | + result.include("pergunta9_27", painelDao.retornarTotalResposta(path, 17,27)); | |
82 | + result.include("pergunta9_28", painelDao.retornarTotalResposta(path, 17,28)); | |
83 | + result.include("pergunta9_29", painelDao.retornarTotalResposta(path, 17,29)); | |
84 | + result.include("pergunta9_30", painelDao.retornarTotalResposta(path, 17,30)); | |
85 | + result.include("pergunta9_31", painelDao.retornarTotalResposta(path, 17,31)); | |
86 | + result.include("pergunta9_32", painelDao.retornarTotalResposta(path, 17,32)); | |
87 | + result.include("pergunta9_33", painelDao.retornarTotalResposta(path, 17,33)); | |
88 | + result.include("pergunta9_34", painelDao.retornarTotalResposta(path, 17,34)); | |
89 | + | |
90 | + | |
91 | + //pergunta 10 NOTAS | |
92 | + | |
93 | + | |
94 | + //pergunta 11 | |
95 | + result.include("pergunta11_50", painelDao.retornarTotalResposta(path, 21,50)); | |
96 | + result.include("pergunta11_51", painelDao.retornarTotalResposta(path, 21,51)); | |
97 | + result.include("pergunta11_52", painelDao.retornarTotalResposta(path, 21,52)); | |
98 | + result.include("pergunta11_53", painelDao.retornarTotalResposta(path, 21,53)); | |
99 | + result.include("pergunta11_54", painelDao.retornarTotalResposta(path, 21,54)); | |
100 | + | |
101 | + //pergunta 12 | |
102 | + result.include("pergunta12_65", painelDao.retornarTotalResposta(path, 22,65)); | |
103 | + result.include("pergunta12_66", painelDao.retornarTotalResposta(path, 22,66)); | |
104 | + result.include("pergunta12_67", painelDao.retornarTotalResposta(path, 22,67)); | |
105 | + result.include("pergunta12_68", painelDao.retornarTotalResposta(path, 22,68)); | |
106 | + | |
107 | + //pergunta 13 | |
108 | + result.include("pergunta13_2", painelDao.retornarTotalResposta(path, 23,2)); | |
109 | + result.include("pergunta13_55", painelDao.retornarTotalResposta(path, 23,55)); | |
110 | + result.include("pergunta13_3", painelDao.retornarTotalResposta(path, 23,3)); | |
111 | + | |
112 | + //pergunta 14 | |
113 | + result.include("pergunta14_20", painelDao.retornarTotalResposta(path, 24,20)); | |
114 | + result.include("pergunta14_56", painelDao.retornarTotalResposta(path, 24,56)); | |
115 | + result.include("pergunta14_57", painelDao.retornarTotalResposta(path, 24,57)); | |
116 | + result.include("pergunta14_58", painelDao.retornarTotalResposta(path, 24,58)); | |
117 | + result.include("pergunta14_59", painelDao.retornarTotalResposta(path, 24,59)); | |
118 | + result.include("pergunta14_60", painelDao.retornarTotalResposta(path, 24,60)); | |
119 | + result.include("pergunta14_61", painelDao.retornarTotalResposta(path, 24,61)); | |
120 | + result.include("pergunta14_62", painelDao.retornarTotalResposta(path, 24,62)); | |
121 | + result.include("pergunta14_69", painelDao.retornarTotalResposta(path, 24,69)); | |
122 | + result.include("pergunta14_34", painelDao.retornarTotalResposta(path, 24,34)); | |
123 | + | |
124 | + ResultSet rset = null; | |
125 | + | |
126 | + //Notas Ases | |
127 | + rset = painelDao.retornarTotalNotas(path, 63); | |
128 | + String nota = null; | |
129 | + int notaAsesMenorIgual_10 = 0; | |
130 | + int notaAsesMaior_10_menorIgual_20 = 0; | |
131 | + int notaAsesMaior_20_menorIgual_30 = 0; | |
132 | + int notaAsesMaior_30_menorIgual_40 = 0; | |
133 | + int notaAsesMaior_40_menorIgual_50 = 0; | |
134 | + int notaAsesMaior_50_menorIgual_60 = 0; | |
135 | + int notaAsesMaior_60_menorIgual_70 = 0; | |
136 | + int notaAsesMaior_70_menorIgual_80 = 0; | |
137 | + int notaAsesMaior_80_menorIgual_90 = 0; | |
138 | + int notaAsesMaior_90_menor_100 = 0; | |
139 | + int notaAsesIgual_100 = 0; | |
140 | + int totalAmbientes = 0; | |
141 | + | |
142 | + Double notaConvertidaAses; | |
143 | + | |
144 | + if(rset != null) | |
145 | + { | |
146 | + try { | |
147 | + while (rset.next()) { | |
148 | + notaConvertidaAses = Double.parseDouble(rset.getString("texto_resposta").replace(",", ".")); | |
149 | + totalAmbientes++; | |
150 | + | |
151 | + if(notaConvertidaAses <= 10) | |
152 | + { | |
153 | + notaAsesMenorIgual_10++; | |
154 | + | |
155 | + }else if(notaConvertidaAses > 10 && notaConvertidaAses <= 20) | |
156 | + { | |
157 | + notaAsesMaior_10_menorIgual_20++; | |
158 | + | |
159 | + }else if(notaConvertidaAses > 20 && notaConvertidaAses <= 30) | |
160 | + { | |
161 | + notaAsesMaior_20_menorIgual_30++; | |
162 | + | |
163 | + }else if(notaConvertidaAses > 30 && notaConvertidaAses <= 40) | |
164 | + { | |
165 | + notaAsesMaior_30_menorIgual_40++; | |
166 | + | |
167 | + }else if(notaConvertidaAses > 40 && notaConvertidaAses <= 50) | |
168 | + { | |
169 | + notaAsesMaior_40_menorIgual_50++; | |
170 | + | |
171 | + }else if(notaConvertidaAses > 50 && notaConvertidaAses <= 60) | |
172 | + { | |
173 | + notaAsesMaior_50_menorIgual_60++; | |
174 | + | |
175 | + }else if(notaConvertidaAses > 60 && notaConvertidaAses <= 70) | |
176 | + { | |
177 | + notaAsesMaior_60_menorIgual_70++; | |
178 | + | |
179 | + }else if(notaConvertidaAses > 70 && notaConvertidaAses <= 80) | |
180 | + { | |
181 | + notaAsesMaior_70_menorIgual_80++; | |
182 | + | |
183 | + }else if(notaConvertidaAses > 80 && notaConvertidaAses <= 90) | |
184 | + { | |
185 | + notaAsesMaior_80_menorIgual_90++; | |
186 | + | |
187 | + }else if(notaConvertidaAses > 90 && notaConvertidaAses < 100) | |
188 | + { | |
189 | + notaAsesMaior_90_menor_100++; | |
190 | + | |
191 | + }else if(notaConvertidaAses == 100) | |
192 | + { | |
193 | + notaAsesIgual_100++; | |
194 | + } | |
195 | + } | |
196 | + } catch (SQLException e) { | |
197 | + e.printStackTrace(); | |
198 | + } | |
199 | + } | |
200 | + | |
201 | + | |
202 | + result.include("notaAsesMenorIgual_10", notaAsesMenorIgual_10); | |
203 | + result.include("notaAsesMaior_10_menorIgual_20", notaAsesMaior_10_menorIgual_20); | |
204 | + result.include("notaAsesMaior_20_menorIgual_30", notaAsesMaior_20_menorIgual_30); | |
205 | + result.include("notaAsesMaior_30_menorIgual_40", notaAsesMaior_30_menorIgual_40); | |
206 | + result.include("notaAsesMaior_40_menorIgual_50", notaAsesMaior_40_menorIgual_50); | |
207 | + result.include("notaAsesMaior_50_menorIgual_60", notaAsesMaior_50_menorIgual_60); | |
208 | + result.include("notaAsesMaior_60_menorIgual_70", notaAsesMaior_60_menorIgual_70); | |
209 | + result.include("notaAsesMaior_70_menorIgual_80", notaAsesMaior_70_menorIgual_80); | |
210 | + result.include("notaAsesMaior_80_menorIgual_90", notaAsesMaior_80_menorIgual_90); | |
211 | + result.include("notaAsesMaior_90_menor_100", notaAsesMaior_90_menor_100); | |
212 | + result.include("notaAsesIgual_100", notaAsesIgual_100); | |
213 | + result.include("totalAmbientes", totalAmbientes); | |
214 | + | |
215 | + //Notas AccessMonitor | |
216 | + rset = painelDao.retornarTotalNotas(path, 64); | |
217 | + | |
218 | + int notaAccessMonitorMenorIgual_1 = 0; | |
219 | + int notaAccessMonitorMaior_1_menorIgual_2 = 0; | |
220 | + int notaAccessMonitorMaior_2_menorIgual_3 = 0; | |
221 | + int notaAccessMonitorMaior_3_menorIgual_4 = 0; | |
222 | + int notaAccessMonitorMaior_4_menorIgual_5 = 0; | |
223 | + int notaAccessMonitorMaior_5_menorIgual_6 = 0; | |
224 | + int notaAccessMonitorMaior_6_menorIgual_7 = 0; | |
225 | + int notaAccessMonitorMaior_7_menorIgual_8 = 0; | |
226 | + int notaAccessMonitorMaior_8_menorIgual_9 = 0; | |
227 | + int notaAccessMonitorMaior_9_menor_10 = 0; | |
228 | + int notaAccessMonitorIgual_10 = 0; | |
229 | + | |
230 | + | |
231 | + Double notaConvertidaAccessMonitor; | |
232 | + | |
233 | + if(rset != null) | |
234 | + { | |
235 | + try { | |
236 | + while (rset.next()) { | |
237 | + notaConvertidaAccessMonitor = Double.parseDouble(rset.getString("texto_resposta").replace(",", ".")); | |
238 | + totalAmbientes++; | |
239 | + | |
240 | + if(notaConvertidaAccessMonitor <= 1) | |
241 | + { | |
242 | + notaAccessMonitorMenorIgual_1++; | |
243 | + | |
244 | + }else if(notaConvertidaAccessMonitor > 2 && notaConvertidaAccessMonitor <= 3) | |
245 | + { | |
246 | + notaAccessMonitorMaior_1_menorIgual_2++; | |
247 | + | |
248 | + }else if(notaConvertidaAccessMonitor > 3 && notaConvertidaAccessMonitor <= 4) | |
249 | + { | |
250 | + notaAccessMonitorMaior_3_menorIgual_4++; | |
251 | + | |
252 | + }else if(notaConvertidaAccessMonitor > 4 && notaConvertidaAccessMonitor <= 5) | |
253 | + { | |
254 | + notaAccessMonitorMaior_4_menorIgual_5++; | |
255 | + | |
256 | + }else if(notaConvertidaAccessMonitor > 5 && notaConvertidaAccessMonitor <= 6) | |
257 | + { | |
258 | + notaAccessMonitorMaior_5_menorIgual_6++; | |
259 | + | |
260 | + }else if(notaConvertidaAccessMonitor > 6 && notaConvertidaAccessMonitor <= 7) | |
261 | + { | |
262 | + notaAccessMonitorMaior_6_menorIgual_7++; | |
263 | + | |
264 | + }else if(notaConvertidaAccessMonitor > 7 && notaConvertidaAccessMonitor <= 8) | |
265 | + { | |
266 | + notaAccessMonitorMaior_7_menorIgual_8++; | |
267 | + | |
268 | + }else if(notaConvertidaAccessMonitor > 8 && notaConvertidaAccessMonitor <= 9) | |
269 | + { | |
270 | + notaAccessMonitorMaior_8_menorIgual_9++; | |
271 | + | |
272 | + }else if(notaConvertidaAccessMonitor > 9 && notaConvertidaAccessMonitor < 10) | |
273 | + { | |
274 | + notaAccessMonitorMaior_9_menor_10++; | |
275 | + | |
276 | + }else if(notaConvertidaAccessMonitor == 10) | |
277 | + { | |
278 | + notaAccessMonitorIgual_10++; | |
279 | + } | |
280 | + | |
281 | + } | |
282 | + } catch (SQLException e) { | |
283 | + e.printStackTrace(); | |
284 | + } | |
285 | + } | |
286 | + | |
287 | + | |
288 | + result.include("notaAccessMonitorMenorIgual_1", notaAccessMonitorMenorIgual_1); | |
289 | + result.include("notaAccessMonitorMaior_1_menorIgual_2", notaAccessMonitorMaior_1_menorIgual_2); | |
290 | + result.include("notaAccessMonitorMaior_2_menorIgual_3", notaAccessMonitorMaior_2_menorIgual_3); | |
291 | + result.include("notaAccessMonitorMaior_3_menorIgual_4", notaAccessMonitorMaior_3_menorIgual_4); | |
292 | + result.include("notaAccessMonitorMaior_4_menorIgual_5", notaAccessMonitorMaior_4_menorIgual_5); | |
293 | + result.include("notaAccessMonitorMaior_5_menorIgual_6", notaAccessMonitorMaior_5_menorIgual_6); | |
294 | + result.include("notaAccessMonitorMaior_6_menorIgual_7", notaAccessMonitorMaior_6_menorIgual_7); | |
295 | + result.include("notaAccessMonitorMaior_7_menorIgual_8", notaAccessMonitorMaior_7_menorIgual_8); | |
296 | + result.include("notaAccessMonitorMaior_8_menorIgual_9", notaAccessMonitorMaior_8_menorIgual_9); | |
297 | + result.include("notaAccessMonitorMaior_2_menorIgual_3", notaAccessMonitorMaior_2_menorIgual_3); | |
298 | + result.include("notaAccessMonitorMaior_9_menor_10", notaAccessMonitorMaior_9_menor_10); | |
299 | + result.include("notaAccessMonitorIgual_10", notaAccessMonitorIgual_10); | |
300 | + | |
301 | + } | |
302 | + | |
303 | +} | ... | ... |
src/br/com/controller/PlanoTrabalhoController.java
... | ... | @@ -28,585 +28,607 @@ import br.com.model.utilities.Email; |
28 | 28 | import br.com.util.DateUtil; |
29 | 29 | import br.com.util.Validacao; |
30 | 30 | |
31 | - | |
32 | 31 | @Resource |
33 | 32 | public class PlanoTrabalhoController extends DefaultMultipartConfig { |
34 | 33 | |
35 | - private List<Validacao> mensagemValidacaoCampos = new ArrayList<Validacao>(); | |
36 | - private Validator validator; | |
37 | - private Result result; | |
38 | - private ServletContext application; | |
39 | - private String path; | |
40 | - | |
41 | - public PlanoTrabalhoController(Result result, Validator validator, ServletContext application) { | |
42 | - this.validator = validator; | |
43 | - this.application = application; | |
44 | - this.path = this.application.getRealPath("") + "/WEB-INF/conexao.properties"; | |
45 | - this.result = result; | |
46 | - } | |
47 | - | |
48 | - // alteramos o tamanho total do upload para 50MB | |
49 | - public long getSizeLimit() { | |
50 | - return 50 * 1024 * 1024; | |
51 | - } | |
52 | - | |
53 | - @Path("/planoTrabalho-site") | |
54 | - public void planoTrabalho() { | |
55 | - | |
56 | - Questionario questionario = new Questionario(); | |
57 | - | |
58 | - questionario = (Questionario) VRaptorRequestHolder.currentRequest().getServletContext() | |
59 | - .getAttribute("questionario"); | |
60 | - | |
61 | - if(questionario == null) | |
62 | - { | |
63 | - Validacao validacao = new Validacao(); | |
64 | - validacao.setCampo("valorHash"); | |
65 | - validacao.setMensagem("ATENÇÃO: Você precisa estar logado para anexar os documentos."); | |
66 | - | |
67 | - mensagemValidacaoCampos.add(validacao); | |
68 | - | |
69 | - result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
70 | - this.validator.add(new ValidationMessage("", "")); | |
71 | - this.validator.onErrorUsePageOf(loginController.class).login(); | |
72 | - | |
73 | - } | |
74 | - else | |
75 | - { | |
76 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
77 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
78 | - | |
79 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
80 | - | |
81 | - result.include("planoTrabalho", planoTrabalho); | |
82 | - } | |
83 | - | |
84 | - } | |
85 | - | |
86 | - @Path("/plano-trabalho-confirmacao") | |
87 | - public void planoTrabalhoConfirmacao() { | |
88 | - | |
89 | - } | |
90 | - | |
91 | - | |
92 | - @Path("/salvar-plano-trabalho") | |
93 | - public void enviarPlanoTrabalho(String valorHash, UploadedFile filePlano, | |
94 | - UploadedFile fileRelatorio) { | |
95 | - | |
96 | - String mensagemPlano = null; | |
97 | - String mensagemRelatorio = null; | |
98 | - boolean statusPlano = false; | |
99 | - boolean statusRelatorio = false; | |
100 | - boolean existeRelatorioAnexado = false; | |
101 | - Questionario questionario = new Questionario(); | |
102 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
103 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
104 | - | |
105 | - if (filePlano != null) { | |
106 | - String tipoArquivo = filePlano.getContentType(); | |
107 | - | |
108 | - | |
109 | - if (!tipoArquivo.equalsIgnoreCase("application/msword") | |
110 | - && !tipoArquivo.equalsIgnoreCase("application/vnd.ms-excel") | |
111 | - && !tipoArquivo.equalsIgnoreCase("application/vnd.oasis.opendocument.text") | |
112 | - && !tipoArquivo.equalsIgnoreCase("text/plain") | |
113 | - && !tipoArquivo.equalsIgnoreCase("application/pdf") | |
114 | - && !tipoArquivo.equalsIgnoreCase("image/png") | |
115 | - && !tipoArquivo.equalsIgnoreCase("image/gif") | |
116 | - && !tipoArquivo.equalsIgnoreCase("image/jpeg") | |
117 | - && !tipoArquivo.equalsIgnoreCase("application/zip") | |
118 | - && !tipoArquivo.equalsIgnoreCase("application/x-rar-compressed") | |
119 | - && !tipoArquivo.equalsIgnoreCase("application/octet-stream")) { | |
120 | - | |
121 | - mensagemPlano = "Formato de Arquivo para plano de trabalho inválido!"; | |
122 | - statusPlano = false; | |
123 | - | |
124 | - } else { | |
125 | - HashDao hashDao = new HashDao(); | |
126 | - questionario = new Questionario(); | |
127 | - questionario = hashDao.verificarHash(path, valorHash); | |
128 | - String nomeExtensaoPlanoTrabalho = filePlano.getContentType(); | |
129 | - | |
130 | - if (questionario != null && questionario.getDtInicioQuestionario() != null) { | |
131 | - planoTrabalhoDao = new PlanoTrabalhoDao(); | |
132 | - | |
133 | - planoTrabalho = | |
134 | - planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
135 | - | |
136 | - if (planoTrabalho.getIdPlanoTrabalho() == 0) { | |
137 | - if (planoTrabalhoDao.salvarPlanoTrabalho(path, filePlano.getFile(), questionario, | |
138 | - filePlano.getFileName(), nomeExtensaoPlanoTrabalho)) { | |
139 | - mensagemPlano = "Plano de trabalho anexado com sucesso!"; | |
140 | - statusPlano = true; | |
141 | - } else { | |
142 | - mensagemPlano = "Não foi possível anexar o plano de trabalho!"; | |
143 | - } | |
144 | - } else { | |
145 | - if (planoTrabalhoDao.atualizarPlanoTrabalho(path, filePlano.getFile(), questionario, | |
146 | - planoTrabalho.getIdPlanoTrabalho(), filePlano.getFileName(),nomeExtensaoPlanoTrabalho)) { | |
147 | - mensagemPlano = "Plano de trabalho anexado com sucesso!"; | |
148 | - statusPlano = true; | |
149 | - } else { | |
150 | - mensagemPlano = "Não foi possível anexar o plano de trabalho!"; | |
151 | - } | |
152 | - } | |
153 | - | |
154 | - } else { | |
155 | - mensagemPlano = "Favor verificar o Código de Acesso!"; | |
156 | - } | |
157 | - | |
158 | - } | |
159 | - | |
160 | - | |
161 | - result.include("mensagemPlano", mensagemPlano); | |
162 | - result.include("statusPlano", statusPlano); | |
163 | - | |
164 | - } | |
165 | - | |
166 | - | |
167 | - // /Relatório Assinado | |
168 | - | |
169 | - if (fileRelatorio != null) { | |
170 | - String tipoArquivo = fileRelatorio.getContentType(); | |
171 | - | |
172 | - if (!tipoArquivo.equalsIgnoreCase("application/msword") | |
173 | - && !tipoArquivo.equalsIgnoreCase("application/vnd.ms-excel") | |
174 | - && !tipoArquivo.equalsIgnoreCase("application/vnd.oasis.opendocument.text") | |
175 | - && !tipoArquivo.equalsIgnoreCase("text/plain") | |
176 | - && !tipoArquivo.equalsIgnoreCase("application/pdf") | |
177 | - && !tipoArquivo.equalsIgnoreCase("image/png") | |
178 | - && !tipoArquivo.equalsIgnoreCase("image/gif") | |
179 | - && !tipoArquivo.equalsIgnoreCase("image/jpeg") | |
180 | - && !tipoArquivo.equalsIgnoreCase("application/zip") | |
181 | - && !tipoArquivo.equalsIgnoreCase("application/x-rar-compressed") | |
182 | - && !tipoArquivo.equalsIgnoreCase("application/octet-stream")) { | |
183 | - | |
184 | - mensagemRelatorio = "Formato de Arquivo para Relatório é inválido!"; | |
185 | - statusRelatorio = false; | |
186 | - | |
187 | - } else { | |
188 | - HashDao hashDao = new HashDao(); | |
189 | - questionario = new Questionario(); | |
190 | - questionario = hashDao.verificarHash(path, valorHash); | |
191 | - String nomeExtensaoRelatorio = fileRelatorio.getContentType(); | |
192 | - | |
193 | - if (questionario != null && questionario.getDtInicioQuestionario() != null) { | |
194 | - planoTrabalhoDao = new PlanoTrabalhoDao(); | |
195 | - planoTrabalho = new PlanoTrabalho(); | |
196 | - | |
197 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
198 | - | |
199 | - if (planoTrabalho.getIdPlanoTrabalho() == 0) { | |
200 | - if (planoTrabalhoDao.salvarRelatorioAss(path, fileRelatorio.getFile(), questionario, | |
201 | - fileRelatorio.getFileName(), nomeExtensaoRelatorio)) { | |
202 | - mensagemRelatorio = "FAD anexado com sucesso!"; | |
203 | - existeRelatorioAnexado = true; | |
204 | - statusRelatorio = true; | |
205 | - } else { | |
206 | - mensagemRelatorio = "Não foi possível anexar o FAD!"; | |
207 | - } | |
208 | - } else { | |
209 | - if (planoTrabalhoDao.atualizarRelatorioAss(path, fileRelatorio.getFile(), questionario, | |
210 | - planoTrabalho.getIdPlanoTrabalho(), fileRelatorio.getFileName(), nomeExtensaoRelatorio)) { | |
211 | - mensagemRelatorio = "FAD anexado com sucesso!"; | |
212 | - statusRelatorio = true; | |
213 | - } else { | |
214 | - mensagemRelatorio = "Não foi possível anexar o FAD!"; | |
215 | - } | |
216 | - } | |
217 | - | |
218 | - } else { | |
219 | - mensagemRelatorio = "Favor verificar o Código de Acesso!"; | |
220 | - } | |
221 | - | |
222 | - } | |
223 | - | |
224 | - | |
225 | - | |
226 | - result.include("mensagemRelatorio", mensagemRelatorio); | |
227 | - result.include("statusRelatorio", statusRelatorio); | |
228 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
229 | - .setAttribute("questionario", questionario); | |
230 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
231 | - .setAttribute("fileRelatorio", fileRelatorio); | |
232 | - } | |
233 | - | |
234 | - planoTrabalho = | |
235 | - planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
236 | - | |
237 | - if(planoTrabalho.getArquivoRelatorioAss() != null && planoTrabalho.getArquivoPlanoTrabalho() != null) | |
238 | - { | |
239 | - existeRelatorioAnexado = true; | |
240 | - } | |
241 | - | |
242 | - result.include("existeRelatorioAnexado", existeRelatorioAnexado); | |
243 | - | |
244 | - if (filePlano == null && fileRelatorio == null) { | |
245 | - mensagemPlano = "Não foi possível anexar o Plano de Trabalho!"; | |
246 | - mensagemRelatorio = "Não foi possível anexar o FAD!"; | |
247 | - result.include("mensagemPlano", mensagemPlano); | |
248 | - result.include("statusPlano", statusPlano); | |
249 | - result.include("mensagemRelatorio", mensagemRelatorio); | |
250 | - result.include("statusRelatorio", statusRelatorio); | |
251 | - } | |
252 | - | |
253 | - formularioOrgaoController formularioOrgao = new formularioOrgaoController(); | |
254 | - | |
255 | - HashDao hashDao = new HashDao(); | |
256 | - Questionario novoQuestionario = new Questionario(); | |
257 | - | |
258 | - novoQuestionario = hashDao.verificarQuestionario(path ,questionario.getIdQuestionario()); | |
259 | - | |
260 | - verificarPosicaoUsuario(novoQuestionario); | |
261 | - | |
262 | - this.validator.add(new ValidationMessage("", "")); | |
263 | - this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).planoTrabalhoConfirmacao(); | |
264 | - } | |
265 | - | |
266 | - @Get("/recuperar-plano-trabalho/{id}") | |
267 | - public void recuperarPlanoTrabalho(int id, HttpServletResponse response) throws IOException { | |
268 | - | |
269 | - Questionario questionario = new Questionario(path, id); | |
270 | - | |
271 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
272 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
273 | - | |
274 | - byte[] dados = null; | |
275 | - | |
276 | - if (questionario != null && questionario.getIdQuestionario() > 0) { | |
277 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
278 | - | |
279 | - if (planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) { | |
280 | - try { | |
281 | - String nome = planoTrabalho.getNomePlanoTrabalho(); | |
282 | - dados = planoTrabalho.getArquivoPlanoTrabalho(); | |
283 | - response.setContentType("inline/download"); | |
284 | - String arq = "attachment;filename=" + nome; | |
285 | - response.setHeader("Content-Disposition", arq); | |
286 | - ServletOutputStream os = response.getOutputStream(); | |
287 | - os.write(dados); | |
288 | - os.flush(); | |
289 | - os.close(); | |
290 | - } catch (Exception e) { | |
291 | - | |
292 | - } | |
293 | - } | |
294 | - else | |
295 | - { | |
296 | - this.validator.add(new ValidationMessage("", "")); | |
297 | - this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | |
298 | - } | |
299 | - } | |
300 | - else | |
301 | - { | |
302 | - this.validator.add(new ValidationMessage("", "")); | |
303 | - this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | |
304 | - } | |
305 | - } | |
306 | - | |
307 | - @Get("/recuperar-relatorio/{id}") | |
308 | - public void recuperarRelatorio(int id, HttpServletResponse response) throws IOException { | |
309 | - | |
310 | - Questionario questionario = new Questionario(path, id); | |
311 | - | |
312 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
313 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
314 | - | |
315 | - byte[] dados = null; | |
316 | - | |
317 | - if (questionario != null && questionario.getIdQuestionario() > 0) { | |
318 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
319 | - | |
320 | - if (planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) { | |
321 | - try { | |
322 | - String nome = planoTrabalho.getNomeRelatorioAss(); | |
323 | - dados = planoTrabalho.getArquivoRelatorioAss(); | |
324 | - response.setContentType("inline/download"); | |
325 | - String arq = "attachment;filename=" + nome; | |
326 | - response.setHeader("Content-Disposition", arq); | |
327 | - ServletOutputStream os = response.getOutputStream(); | |
328 | - os.write(dados); | |
329 | - os.flush(); | |
330 | - os.close(); | |
331 | - } catch (Exception e) { | |
332 | - | |
333 | - } | |
334 | - } | |
335 | - else | |
336 | - { | |
337 | - this.validator.add(new ValidationMessage("", "")); | |
338 | - this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | |
339 | - } | |
340 | - } | |
341 | - else | |
342 | - { | |
343 | - this.validator.add(new ValidationMessage("", "")); | |
344 | - this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario(); | |
345 | - } | |
346 | - } | |
347 | - | |
348 | - @Path("/enviar-relatorio") | |
349 | - public void enviarRelatorioPlanoTrabalho() { | |
350 | - | |
351 | - Questionario questionario = new Questionario(); | |
352 | - | |
353 | - questionario = (Questionario) VRaptorRequestHolder.currentRequest().getServletContext() | |
354 | - .getAttribute("questionario"); | |
355 | - | |
356 | - if(questionario == null) | |
357 | - { | |
358 | - Validacao validacao = new Validacao(); | |
359 | - validacao.setCampo("valorHash"); | |
360 | - validacao.setMensagem("ATENÇÃO: Você precisa estar logado para enviar Relatório à PFDC/MPF."); | |
361 | - | |
362 | - mensagemValidacaoCampos.add(validacao); | |
363 | - | |
364 | - result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
365 | - this.validator.add(new ValidationMessage("", "")); | |
366 | - this.validator.onErrorUsePageOf(loginController.class).login(); | |
367 | - | |
368 | - } | |
369 | - } | |
370 | - | |
371 | - private void enviarEmail(Questionario questionario) { | |
372 | - QuestionarioDao questionarioDao; | |
373 | - | |
374 | - StringBuffer mensagemMPF = new StringBuffer(); | |
375 | - StringBuffer mensagemOrgao = new StringBuffer(); | |
376 | - String assuntoMPF = ""; | |
377 | - String assuntoOrgao = ""; | |
378 | - | |
379 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
380 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
381 | - | |
382 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
383 | - | |
384 | - if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null && planoTrabalho.getArquivoRelatorioAss() != null) | |
385 | - { | |
386 | - DataHandler dataHandlerRelatorio; | |
387 | - DataHandler dataHandlerPlano; | |
388 | - | |
389 | - dataHandlerRelatorio = | |
390 | - new DataHandler(planoTrabalho.getArquivoRelatorioAss(), | |
391 | - planoTrabalho.getNomeExtensaoRelatorioAss()); | |
392 | - dataHandlerPlano = | |
393 | - new DataHandler(planoTrabalho.getArquivoPlanoTrabalho(), | |
394 | - planoTrabalho.getNomeExtensaoPlanoTrabalho()); | |
395 | - | |
396 | - Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties"); | |
397 | - | |
398 | - EnvioEmailSemAutenticacao envioEmailSemAutenticacao = | |
399 | - new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); | |
400 | - | |
401 | - assuntoMPF = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | |
402 | - | |
403 | - mensagemMPF.append("À Procuradoria Federal dos Diretos do Cidadão,<br>"); | |
404 | - mensagemMPF.append("<p>O(A) " + questionario.getNoOrgao() +" encaminha o Relatório Circunstanciado relativo aos ambientes digitais desta instituição.</p>"); | |
405 | - | |
406 | - mensagemMPF.append("Dados do Responsável:<br>"); | |
407 | - mensagemMPF.append("Nome: " + questionario.getResponsavel() +"<br>"); | |
408 | - mensagemMPF.append("Cargo: "+ questionario.getCargoResponsavel() + "<br>"); | |
409 | - mensagemMPF.append("Telefone: " + questionario.getTelefone() + "<br>"); | |
410 | - mensagemMPF.append("email: "+ questionario.getEmailDestinoOrgao() + "<br>"); | |
411 | - mensagemMPF.append("<p>Brasília, "+ DateUtil.dataHoraAtual() +".</p>"); | |
412 | - mensagemMPF.append("<p>Encaminhado por:</p>"); | |
413 | - mensagemMPF.append("<p><a href=\"http://fad.governoeletronico.gov.br\">http://fad.governoeletronico.gov.br</a></p>"); | |
414 | - mensagemMPF.append("<p>Coordenação-Geral de Padrões de Governo Digital</p>"); | |
415 | - mensagemMPF.append("<p>Departamento de Governo Digital</p>"); | |
416 | - mensagemMPF.append("<p>Secretaria de Tecnologia da Informação</p>"); | |
417 | - mensagemMPF.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão</p>"); | |
418 | - | |
419 | - String mensagemRetornoMPF = | |
420 | - envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(), | |
421 | - email.getAnexosTo(), assuntoMPF, mensagemMPF.toString(), email.getAuth(), email.getAuthUser(), | |
422 | - email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeRelatorioAss(), | |
423 | - dataHandlerPlano, planoTrabalho.getNomePlanoTrabalho()); | |
424 | - | |
425 | - | |
426 | - | |
427 | - if (mensagemRetornoMPF.equalsIgnoreCase("")) { | |
428 | - | |
429 | - | |
430 | - assuntoOrgao = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | |
431 | - | |
432 | - mensagemOrgao.append("<p>Prezado(a) "+ questionario.getResponsavel() +", "+ questionario.getCargoResponsavel() +" do "+ questionario.getNoOrgao() +", você concluiu com sucesso o processo de "); | |
433 | - mensagemOrgao.append("envio do Relatório Circunstanciado (Formulário Eletrônico de Acessibilidade Digital e "); | |
434 | - mensagemOrgao.append("Plano de Trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério "); | |
435 | - mensagemOrgao.append("Público Federal.</p>"); | |
436 | - mensagemOrgao.append("<p>Além do envio, o relatório circunstanciado deverá ser publicado no portal do órgão/entidade e o seu "); | |
437 | - mensagemOrgao.append("reporte , na forma de síntese, deverá ser registrado na seção \"Medidas Relativas à Acessibilidade\" do "); | |
438 | - mensagemOrgao.append("Relatório de Gestão referente a 2016 e, nos anos subsequentes, indicar nessa seção o monitoramento "); | |
439 | - mensagemOrgao.append("das metas propostas nos planos de trabalho.</p> "); | |
440 | - mensagemOrgao.append("<p>Em caso de dúvida acesse <a href=\"http://fad.governoeletronico.gov.br/fad/contato/contato-site\">http://fad.governoeletronico.gov.br/fad/contato/contato-site.</a></p>"); | |
441 | - mensagemOrgao.append("<p>Brasília, "+ DateUtil.dataHoraAtual() +".</p>"); | |
442 | - mensagemOrgao.append("<p>Encaminhado por:</p>"); | |
443 | - mensagemOrgao.append("<p><a href=\"http://fad.governoeletronico.gov.br\">http://fad.governoeletronico.gov.br</a></p>"); | |
444 | - mensagemOrgao.append("<p>Coordenação-Geral de Padrões de Governo Digital</p>"); | |
445 | - mensagemOrgao.append("<p>Departamento de Governo Digital</p>"); | |
446 | - mensagemOrgao.append("<p>Secretaria de Tecnologia da Informação</p>"); | |
447 | - mensagemOrgao.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão</p>"); | |
448 | - | |
449 | - | |
450 | - String mensagemRetornoOrgao = | |
451 | - envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(), | |
452 | - questionario.getEmailDestinoOrgao(), assuntoOrgao, mensagemOrgao.toString(), email.getAuth(), | |
453 | - email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio, | |
454 | - planoTrabalho.getNomeRelatorioAss(), dataHandlerPlano, | |
455 | - planoTrabalho.getNomePlanoTrabalho()); | |
456 | - | |
457 | - | |
458 | - if (mensagemRetornoOrgao.equalsIgnoreCase("")) { | |
459 | - | |
460 | - questionarioDao = new QuestionarioDao(); | |
461 | - | |
462 | - if (questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario())) { | |
463 | - | |
464 | - result.include("mensagemEnvio", | |
465 | - "Mensagem enviada com Sucesso, você recebeu um email com os anexos!"); | |
466 | - | |
467 | - result.include("statusEnvio", true); | |
468 | - } | |
469 | - } | |
470 | - } else { | |
471 | - result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!"); | |
472 | - result.include("statusEnvio", false); | |
473 | - } | |
474 | - }else | |
475 | - { | |
476 | - result.include("mensagemEnvio", "É preciso ter o Relatório e o Plano de Trabalho anexados!"); | |
477 | - result.include("statusEnvio", false); | |
478 | - } | |
479 | - | |
480 | - HashDao hashDao = new HashDao(); | |
481 | - Questionario novoQuestionario = new Questionario(); | |
482 | - | |
483 | - novoQuestionario = hashDao.verificarQuestionario(path ,questionario.getIdQuestionario()); | |
484 | - | |
485 | - verificarPosicaoUsuario(novoQuestionario); | |
486 | - this.validator.add(new ValidationMessage("", "")); | |
487 | - this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).confirmacaoEnvioEmailMPF(); | |
488 | - } | |
489 | - | |
490 | - @Path("/enviar-email-mpf-alternativo") | |
491 | - public void enviarEmailMPFAlternativo(String valorHash) { | |
492 | - | |
493 | - Validacao validacao = new Validacao(); | |
494 | - mensagemValidacaoCampos = new ArrayList<Validacao>(); | |
495 | - mensagemValidacaoCampos = validacao.validarHash(path, valorHash); | |
496 | - | |
497 | - if (mensagemValidacaoCampos.size() > 0) { | |
498 | - result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
499 | - this.validator.add(new ValidationMessage("", "")); | |
500 | - this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).enviarRelatorioPlanoTrabalho(); | |
501 | - } | |
502 | - | |
503 | - HashDao hashDao = new HashDao(); | |
504 | - Questionario questionario = new Questionario(); | |
505 | - questionario = hashDao.verificarHash(path, valorHash); | |
506 | - | |
507 | - | |
508 | - if (questionario != null && questionario.getIdQuestionario() > 0) { | |
509 | - | |
510 | - if(questionario.isFlagEnviado()) | |
511 | - { | |
512 | - result.include("mensagemEnvio", "O Relatório já foi enviado para MPF!"); | |
513 | - result.include("statusEnvio", false); | |
514 | - | |
515 | - this.validator.add(new ValidationMessage("", "")); | |
516 | - this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).confirmacaoEnvioEmailMPF(); | |
517 | - } | |
518 | - else | |
519 | - { | |
520 | - enviarEmail(questionario); | |
521 | - } | |
522 | - | |
523 | - | |
524 | - } | |
525 | - | |
526 | - } | |
527 | - | |
528 | - | |
529 | - @Path("/enviar-email-mpf") | |
530 | - public void enviarEmailMPF() { | |
531 | - Questionario questionario = new Questionario(); | |
532 | - | |
533 | - questionario = | |
534 | - (Questionario) VRaptorRequestHolder.currentRequest().getServletContext() | |
535 | - .getAttribute("questionario"); | |
536 | - | |
537 | - if (questionario != null && questionario.getIdQuestionario() > 0) { | |
538 | - | |
539 | - enviarEmail(questionario); | |
540 | - | |
541 | - | |
542 | - } | |
543 | - | |
544 | - } | |
545 | - | |
546 | - public void verificarPosicaoUsuario(Questionario questionario) | |
547 | - { | |
548 | - PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
549 | - PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
550 | - | |
551 | - //Solicitou código de Acesso? | |
552 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
553 | - .setAttribute("nivel_01", true); | |
554 | - | |
555 | - //Respondeu FAD? | |
556 | - if(questionario.isQuestionario_respondido()) | |
557 | - { | |
558 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
559 | - .setAttribute("nivel_02", true); | |
560 | - } | |
561 | - else | |
562 | - { | |
563 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
564 | - .setAttribute("nivel_02", false); | |
565 | - } | |
566 | - | |
567 | - planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario); | |
568 | - | |
569 | - //Anexou Fad? | |
570 | - if(planoTrabalho.getArquivoRelatorioAss() != null) | |
571 | - { | |
572 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
573 | - .setAttribute("nivel_03", true); | |
574 | - } | |
575 | - else | |
576 | - { | |
577 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
578 | - .setAttribute("nivel_03", false); | |
579 | - } | |
580 | - | |
581 | - //Anexou Plano de Trabalho? | |
582 | - if(planoTrabalho.getArquivoPlanoTrabalho() != null) | |
583 | - { | |
584 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
585 | - .setAttribute("nivel_04", true); | |
586 | - } | |
587 | - else | |
588 | - { | |
589 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
590 | - .setAttribute("nivel_04", false); | |
591 | - } | |
592 | - | |
593 | - //Processo finalizado? | |
594 | - if(questionario.isFlagEnviado()) | |
595 | - { | |
596 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
597 | - .setAttribute("nivel_05", true); | |
598 | - } | |
599 | - else | |
600 | - { | |
601 | - VRaptorRequestHolder.currentRequest().getServletContext() | |
602 | - .setAttribute("nivel_05", false); | |
603 | - } | |
604 | - | |
605 | - } | |
606 | - | |
607 | - public void confirmacaoEnvioEmailMPF() { | |
608 | - | |
609 | - } | |
610 | - | |
611 | - | |
34 | + private List<Validacao> mensagemValidacaoCampos = new ArrayList<Validacao>(); | |
35 | + private Validator validator; | |
36 | + private Result result; | |
37 | + private ServletContext application; | |
38 | + private String path; | |
39 | + | |
40 | + public PlanoTrabalhoController(Result result, Validator validator, | |
41 | + ServletContext application) { | |
42 | + this.validator = validator; | |
43 | + this.application = application; | |
44 | + this.path = this.application.getRealPath("") | |
45 | + + "/WEB-INF/conexao.properties"; | |
46 | + this.result = result; | |
47 | + } | |
48 | + | |
49 | + // alteramos o tamanho total do upload para 50MB | |
50 | + public long getSizeLimit() { | |
51 | + return 50 * 1024 * 1024; | |
52 | + } | |
53 | + | |
54 | + @Path("/planoTrabalho-site") | |
55 | + public void planoTrabalho() { | |
56 | + | |
57 | + Questionario questionario = new Questionario(); | |
58 | + | |
59 | + questionario = (Questionario) VRaptorRequestHolder.currentRequest() | |
60 | + .getServletContext().getAttribute("questionario"); | |
61 | + | |
62 | + if (questionario == null) { | |
63 | + Validacao validacao = new Validacao(); | |
64 | + validacao.setCampo("valorHash"); | |
65 | + validacao | |
66 | + .setMensagem("ATEN��O: Voc� precisa estar logado para anexar os documentos."); | |
67 | + | |
68 | + mensagemValidacaoCampos.add(validacao); | |
69 | + | |
70 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
71 | + this.validator.add(new ValidationMessage("", "")); | |
72 | + this.validator.onErrorUsePageOf(loginController.class).login(); | |
73 | + | |
74 | + } else { | |
75 | + if (!questionario.isQuestionario_respondido()) { | |
76 | + Validacao validacao = new Validacao(); | |
77 | + validacao.setCampo("valorHash"); | |
78 | + validacao | |
79 | + .setMensagem("ATEN��O: � preciso responder o FAD antes de anexar os arquivos."); | |
80 | + | |
81 | + mensagemValidacaoCampos.add(validacao); | |
82 | + | |
83 | + result.include("mensagemValidacaoCampos", | |
84 | + mensagemValidacaoCampos); | |
85 | + this.validator.add(new ValidationMessage("", "")); | |
86 | + this.validator.onErrorUsePageOf(loginController.class).login(); | |
87 | + } else { | |
88 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
89 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
90 | + | |
91 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
92 | + questionario); | |
93 | + | |
94 | + result.include("planoTrabalho", planoTrabalho); | |
95 | + } | |
96 | + } | |
97 | + } | |
98 | + | |
99 | + @Path("/plano-trabalho-confirmacao") | |
100 | + public void planoTrabalhoConfirmacao() { | |
101 | + | |
102 | + } | |
103 | + | |
104 | + @Path("/salvar-plano-trabalho") | |
105 | + public void enviarPlanoTrabalho(String valorHash, UploadedFile filePlano, | |
106 | + UploadedFile fileRelatorio) { | |
107 | + | |
108 | + String mensagemPlano = null; | |
109 | + String mensagemRelatorio = null; | |
110 | + boolean statusPlano = false; | |
111 | + boolean statusRelatorio = false; | |
112 | + boolean existeRelatorioAnexado = false; | |
113 | + Questionario questionario = new Questionario(); | |
114 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
115 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
116 | + | |
117 | + if (filePlano != null) { | |
118 | + String tipoArquivo = filePlano.getContentType(); | |
119 | + | |
120 | + if (!tipoArquivo.equalsIgnoreCase("application/msword") | |
121 | + && !tipoArquivo | |
122 | + .equalsIgnoreCase("application/vnd.ms-excel") | |
123 | + && !tipoArquivo | |
124 | + .equalsIgnoreCase("application/vnd.oasis.opendocument.text") | |
125 | + && !tipoArquivo.equalsIgnoreCase("text/plain") | |
126 | + && !tipoArquivo.equalsIgnoreCase("application/pdf") | |
127 | + && !tipoArquivo.equalsIgnoreCase("image/png") | |
128 | + && !tipoArquivo.equalsIgnoreCase("image/gif") | |
129 | + && !tipoArquivo.equalsIgnoreCase("image/jpeg") | |
130 | + && !tipoArquivo.equalsIgnoreCase("application/zip") | |
131 | + && !tipoArquivo | |
132 | + .equalsIgnoreCase("application/x-rar-compressed") | |
133 | + && !tipoArquivo | |
134 | + .equalsIgnoreCase("application/octet-stream")) { | |
135 | + | |
136 | + mensagemPlano = "Formato de Arquivo para plano de trabalho inválido!"; | |
137 | + statusPlano = false; | |
138 | + | |
139 | + } else { | |
140 | + HashDao hashDao = new HashDao(); | |
141 | + questionario = new Questionario(); | |
142 | + questionario = hashDao.verificarHash(path, valorHash); | |
143 | + String nomeExtensaoPlanoTrabalho = filePlano.getContentType(); | |
144 | + | |
145 | + if (questionario != null | |
146 | + && questionario.getDtInicioQuestionario() != null) { | |
147 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | |
148 | + | |
149 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho( | |
150 | + path, questionario); | |
151 | + | |
152 | + if (planoTrabalho.getIdPlanoTrabalho() == 0) { | |
153 | + if (planoTrabalhoDao.salvarPlanoTrabalho(path, | |
154 | + filePlano.getFile(), questionario, | |
155 | + filePlano.getFileName(), | |
156 | + nomeExtensaoPlanoTrabalho)) { | |
157 | + mensagemPlano = "Plano de trabalho anexado com sucesso!"; | |
158 | + statusPlano = true; | |
159 | + } else { | |
160 | + mensagemPlano = "N�o foi poss�vel anexar o plano de trabalho!"; | |
161 | + } | |
162 | + } else { | |
163 | + if (planoTrabalhoDao.atualizarPlanoTrabalho(path, | |
164 | + filePlano.getFile(), questionario, | |
165 | + planoTrabalho.getIdPlanoTrabalho(), | |
166 | + filePlano.getFileName(), | |
167 | + nomeExtensaoPlanoTrabalho)) { | |
168 | + mensagemPlano = "Plano de trabalho anexado com sucesso!"; | |
169 | + statusPlano = true; | |
170 | + } else { | |
171 | + mensagemPlano = "N�o foi poss�vel anexar o plano de trabalho!"; | |
172 | + } | |
173 | + } | |
174 | + | |
175 | + } else { | |
176 | + mensagemPlano = "Favor verificar o C�digo de Acesso!"; | |
177 | + } | |
178 | + | |
179 | + } | |
180 | + | |
181 | + result.include("mensagemPlano", mensagemPlano); | |
182 | + result.include("statusPlano", statusPlano); | |
183 | + | |
184 | + } | |
185 | + | |
186 | + // /Relatório Assinado | |
187 | + | |
188 | + if (fileRelatorio != null) { | |
189 | + String tipoArquivo = fileRelatorio.getContentType(); | |
190 | + | |
191 | + if (!tipoArquivo.equalsIgnoreCase("application/msword") | |
192 | + && !tipoArquivo | |
193 | + .equalsIgnoreCase("application/vnd.ms-excel") | |
194 | + && !tipoArquivo | |
195 | + .equalsIgnoreCase("application/vnd.oasis.opendocument.text") | |
196 | + && !tipoArquivo.equalsIgnoreCase("text/plain") | |
197 | + && !tipoArquivo.equalsIgnoreCase("application/pdf") | |
198 | + && !tipoArquivo.equalsIgnoreCase("image/png") | |
199 | + && !tipoArquivo.equalsIgnoreCase("image/gif") | |
200 | + && !tipoArquivo.equalsIgnoreCase("image/jpeg") | |
201 | + && !tipoArquivo.equalsIgnoreCase("application/zip") | |
202 | + && !tipoArquivo | |
203 | + .equalsIgnoreCase("application/x-rar-compressed") | |
204 | + && !tipoArquivo | |
205 | + .equalsIgnoreCase("application/octet-stream")) { | |
206 | + | |
207 | + mensagemRelatorio = "Formato de Arquivo para Relat�rio � inv�lido!"; | |
208 | + statusRelatorio = false; | |
209 | + | |
210 | + } else { | |
211 | + HashDao hashDao = new HashDao(); | |
212 | + questionario = new Questionario(); | |
213 | + questionario = hashDao.verificarHash(path, valorHash); | |
214 | + String nomeExtensaoRelatorio = fileRelatorio.getContentType(); | |
215 | + | |
216 | + if (questionario != null | |
217 | + && questionario.getDtInicioQuestionario() != null) { | |
218 | + planoTrabalhoDao = new PlanoTrabalhoDao(); | |
219 | + planoTrabalho = new PlanoTrabalho(); | |
220 | + | |
221 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho( | |
222 | + path, questionario); | |
223 | + | |
224 | + if (planoTrabalho.getIdPlanoTrabalho() == 0) { | |
225 | + if (planoTrabalhoDao.salvarRelatorioAss(path, | |
226 | + fileRelatorio.getFile(), questionario, | |
227 | + fileRelatorio.getFileName(), | |
228 | + nomeExtensaoRelatorio)) { | |
229 | + mensagemRelatorio = "FAD anexado com sucesso!"; | |
230 | + existeRelatorioAnexado = true; | |
231 | + statusRelatorio = true; | |
232 | + } else { | |
233 | + mensagemRelatorio = "N�o foi poss�vel anexar o FAD!"; | |
234 | + } | |
235 | + } else { | |
236 | + if (planoTrabalhoDao.atualizarRelatorioAss(path, | |
237 | + fileRelatorio.getFile(), questionario, | |
238 | + planoTrabalho.getIdPlanoTrabalho(), | |
239 | + fileRelatorio.getFileName(), | |
240 | + nomeExtensaoRelatorio)) { | |
241 | + mensagemRelatorio = "FAD anexado com sucesso!"; | |
242 | + statusRelatorio = true; | |
243 | + } else { | |
244 | + mensagemRelatorio = "N�o foi poss�vel anexar o FAD!"; | |
245 | + } | |
246 | + } | |
247 | + | |
248 | + } else { | |
249 | + mensagemRelatorio = "Favor verificar o C�digo de Acesso!"; | |
250 | + } | |
251 | + | |
252 | + } | |
253 | + | |
254 | + result.include("mensagemRelatorio", mensagemRelatorio); | |
255 | + result.include("statusRelatorio", statusRelatorio); | |
256 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
257 | + .setAttribute("questionario", questionario); | |
258 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
259 | + .setAttribute("fileRelatorio", fileRelatorio); | |
260 | + } | |
261 | + | |
262 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
263 | + questionario); | |
264 | + | |
265 | + if (planoTrabalho.getArquivoRelatorioAss() != null) { | |
266 | + existeRelatorioAnexado = true; | |
267 | + } | |
268 | + | |
269 | + result.include("existeRelatorioAnexado", existeRelatorioAnexado); | |
270 | + | |
271 | + if (filePlano == null && fileRelatorio == null) { | |
272 | + mensagemPlano = "N�o foi poss�vel anexar o Plano de Trabalho!"; | |
273 | + mensagemRelatorio = "N�o foi poss�vel anexar o FAD!"; | |
274 | + result.include("mensagemPlano", mensagemPlano); | |
275 | + result.include("statusPlano", statusPlano); | |
276 | + result.include("mensagemRelatorio", mensagemRelatorio); | |
277 | + result.include("statusRelatorio", statusRelatorio); | |
278 | + } | |
279 | + | |
280 | + formularioOrgaoController formularioOrgao = new formularioOrgaoController( | |
281 | + result, validator, application); | |
282 | + | |
283 | + HashDao hashDao = new HashDao(); | |
284 | + Questionario novoQuestionario = new Questionario(); | |
285 | + | |
286 | + novoQuestionario = hashDao.verificarQuestionario(path, | |
287 | + questionario.getIdQuestionario()); | |
288 | + | |
289 | + verificarPosicaoUsuario(novoQuestionario); | |
290 | + | |
291 | + this.validator.add(new ValidationMessage("", "")); | |
292 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class) | |
293 | + .planoTrabalhoConfirmacao(); | |
294 | + } | |
295 | + | |
296 | + @Get("/recuperar-plano-trabalho/{id}") | |
297 | + public void recuperarPlanoTrabalho(int id, HttpServletResponse response) | |
298 | + throws IOException { | |
299 | + | |
300 | + Questionario questionario = new Questionario(path, id); | |
301 | + | |
302 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
303 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
304 | + | |
305 | + byte[] dados = null; | |
306 | + | |
307 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | |
308 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
309 | + questionario); | |
310 | + | |
311 | + if (planoTrabalho != null | |
312 | + && planoTrabalho.getArquivoPlanoTrabalho() != null) { | |
313 | + try { | |
314 | + String nome = planoTrabalho.getNomePlanoTrabalho(); | |
315 | + dados = planoTrabalho.getArquivoPlanoTrabalho(); | |
316 | + response.setContentType("inline/download"); | |
317 | + String arq = "attachment;filename=" + nome; | |
318 | + response.setHeader("Content-Disposition", arq); | |
319 | + ServletOutputStream os = response.getOutputStream(); | |
320 | + os.write(dados); | |
321 | + os.flush(); | |
322 | + os.close(); | |
323 | + } catch (Exception e) { | |
324 | + | |
325 | + } | |
326 | + } else { | |
327 | + this.validator.add(new ValidationMessage("", "")); | |
328 | + this.validator.onErrorUsePageOf(QuestionarioController.class) | |
329 | + .listaQuestionario(); | |
330 | + } | |
331 | + } else { | |
332 | + this.validator.add(new ValidationMessage("", "")); | |
333 | + this.validator.onErrorUsePageOf(QuestionarioController.class) | |
334 | + .listaQuestionario(); | |
335 | + } | |
336 | + } | |
337 | + | |
338 | + @Get("/recuperar-relatorio/{id}") | |
339 | + public void recuperarRelatorio(int id, HttpServletResponse response) | |
340 | + throws IOException { | |
341 | + | |
342 | + Questionario questionario = new Questionario(path, id); | |
343 | + | |
344 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
345 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
346 | + | |
347 | + byte[] dados = null; | |
348 | + | |
349 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | |
350 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
351 | + questionario); | |
352 | + | |
353 | + if (planoTrabalho != null | |
354 | + && planoTrabalho.getArquivoRelatorioAss() != null) { | |
355 | + try { | |
356 | + String nome = planoTrabalho.getNomeRelatorioAss(); | |
357 | + dados = planoTrabalho.getArquivoRelatorioAss(); | |
358 | + response.setContentType("inline/download"); | |
359 | + String arq = "attachment;filename=" + nome; | |
360 | + response.setHeader("Content-Disposition", arq); | |
361 | + ServletOutputStream os = response.getOutputStream(); | |
362 | + os.write(dados); | |
363 | + os.flush(); | |
364 | + os.close(); | |
365 | + } catch (Exception e) { | |
366 | + | |
367 | + } | |
368 | + } else { | |
369 | + this.validator.add(new ValidationMessage("", "")); | |
370 | + this.validator.onErrorUsePageOf(QuestionarioController.class) | |
371 | + .listaQuestionario(); | |
372 | + } | |
373 | + } else { | |
374 | + this.validator.add(new ValidationMessage("", "")); | |
375 | + this.validator.onErrorUsePageOf(QuestionarioController.class) | |
376 | + .listaQuestionario(); | |
377 | + } | |
378 | + } | |
379 | + | |
380 | + @Path("/enviar-relatorio") | |
381 | + public void enviarRelatorioPlanoTrabalho() { | |
382 | + | |
383 | + Questionario questionario = new Questionario(); | |
384 | + | |
385 | + questionario = (Questionario) VRaptorRequestHolder.currentRequest() | |
386 | + .getServletContext().getAttribute("questionario"); | |
387 | + | |
388 | + if (questionario == null) { | |
389 | + Validacao validacao = new Validacao(); | |
390 | + validacao.setCampo("valorHash"); | |
391 | + validacao | |
392 | + .setMensagem("ATEN��O: Voc� precisa estar logado para enviar Relat�rio � PFDC/MPF."); | |
393 | + | |
394 | + mensagemValidacaoCampos.add(validacao); | |
395 | + | |
396 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
397 | + this.validator.add(new ValidationMessage("", "")); | |
398 | + this.validator.onErrorUsePageOf(loginController.class).login(); | |
399 | + | |
400 | + } | |
401 | + } | |
402 | + | |
403 | + private void enviarEmail(Questionario questionario) { | |
404 | + QuestionarioDao questionarioDao; | |
405 | + | |
406 | + StringBuffer mensagemMPF = new StringBuffer(); | |
407 | + StringBuffer mensagemOrgao = new StringBuffer(); | |
408 | + String assuntoMPF = ""; | |
409 | + String assuntoOrgao = ""; | |
410 | + | |
411 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
412 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
413 | + | |
414 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
415 | + questionario); | |
416 | + | |
417 | + if (planoTrabalho.getArquivoRelatorioAss() != null) { | |
418 | + DataHandler dataHandlerRelatorio = null; | |
419 | + DataHandler dataHandlerPlano = null; | |
420 | + | |
421 | + dataHandlerRelatorio = new DataHandler( | |
422 | + planoTrabalho.getArquivoRelatorioAss(), | |
423 | + planoTrabalho.getNomeExtensaoRelatorioAss()); | |
424 | + | |
425 | + if (planoTrabalho != null && | |
426 | + planoTrabalho.getArquivoPlanoTrabalho() != null) | |
427 | + { | |
428 | + dataHandlerPlano = new DataHandler( | |
429 | + planoTrabalho.getArquivoPlanoTrabalho(), | |
430 | + planoTrabalho.getNomeExtensaoPlanoTrabalho()); | |
431 | + } | |
432 | + | |
433 | + | |
434 | + Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties"); | |
435 | + | |
436 | + EnvioEmailSemAutenticacao envioEmailSemAutenticacao = | |
437 | + new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); | |
438 | + | |
439 | + assuntoMPF = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | |
440 | + | |
441 | + mensagemMPF.append("À Procuradoria Federal dos Diretos do Cidadão,<br>"); | |
442 | + mensagemMPF.append("<p>O(A) " + questionario.getNoOrgao() +" encaminha o Relatório Circunstanciado relativo aos ambientes digitais desta instituição.</p>"); | |
443 | + | |
444 | + mensagemMPF.append("Dados do Responsável:<br>"); | |
445 | + mensagemMPF.append("Nome: " + questionario.getResponsavel() +"<br>"); | |
446 | + mensagemMPF.append("Cargo: "+ questionario.getCargoResponsavel() + "<br>"); | |
447 | + mensagemMPF.append("Telefone: " + questionario.getTelefone() + "<br>"); | |
448 | + mensagemMPF.append("email: "+ questionario.getEmailDestinoOrgao() + "<br>"); | |
449 | + mensagemMPF.append("<p>Brasília, "+ DateUtil.dataHoraAtual() +".</p>"); | |
450 | + mensagemMPF.append("<p>Encaminhado por:</p>"); | |
451 | + mensagemMPF.append("<p><a href=\"http://fad.governoeletronico.gov.br\">http://fad.governoeletronico.gov.br</a></p>"); | |
452 | + mensagemMPF.append("<p>Coordenação-Geral de Padrões de Governo Digital</p>"); | |
453 | + mensagemMPF.append("<p>Departamento de Governo Digital</p>"); | |
454 | + mensagemMPF.append("<p>Secretaria de Tecnologia da Informação</p>"); | |
455 | + mensagemMPF.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão</p>"); | |
456 | + | |
457 | + String mensagemRetornoMPF = | |
458 | + envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(), | |
459 | + email.getAnexosTo(), assuntoMPF, mensagemMPF.toString(), email.getAuth(), email.getAuthUser(), | |
460 | + email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeRelatorioAss(), | |
461 | + dataHandlerPlano, planoTrabalho.getNomePlanoTrabalho()); | |
462 | + | |
463 | + | |
464 | + | |
465 | + if (mensagemRetornoMPF.equalsIgnoreCase("")) { | |
466 | + | |
467 | + | |
468 | + assuntoOrgao = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao(); | |
469 | + | |
470 | + mensagemOrgao.append("<p>Prezado(a) "+ questionario.getResponsavel() +", "+ questionario.getCargoResponsavel() +" do "+ questionario.getNoOrgao() +", você concluiu com sucesso o processo de "); | |
471 | + mensagemOrgao.append("envio do Relatório Circunstanciado (Formulário Eletrônico de Acessibilidade Digital e "); | |
472 | + mensagemOrgao.append("Plano de Trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério "); | |
473 | + mensagemOrgao.append("Público Federal.</p>"); | |
474 | + mensagemOrgao.append("<p>Além do envio, o relatório circunstanciado deverá ser publicado no portal do órgão/entidade e o seu "); | |
475 | + mensagemOrgao.append("reporte , na forma de síntese, deverá ser registrado na seção \"Medidas Relativas à Acessibilidade\" do "); | |
476 | + mensagemOrgao.append("Relatório de Gestão referente a 2016 e, nos anos subsequentes, indicar nessa seção o monitoramento "); | |
477 | + mensagemOrgao.append("das metas propostas nos planos de trabalho.</p> "); | |
478 | + mensagemOrgao.append("<p>Em caso de dúvida acesse <a href=\"http://fad.governoeletronico.gov.br/fad/contato/contato-site\">http://fad.governoeletronico.gov.br/fad/contato/contato-site.</a></p>"); | |
479 | + mensagemOrgao.append("<p>Brasília, "+ DateUtil.dataHoraAtual() +".</p>"); | |
480 | + mensagemOrgao.append("<p>Encaminhado por:</p>"); | |
481 | + mensagemOrgao.append("<p><a href=\"http://fad.governoeletronico.gov.br\">http://fad.governoeletronico.gov.br</a></p>"); | |
482 | + mensagemOrgao.append("<p>Coordenação-Geral de Padrões de Governo Digital</p>"); | |
483 | + mensagemOrgao.append("<p>Departamento de Governo Digital</p>"); | |
484 | + mensagemOrgao.append("<p>Secretaria de Tecnologia da Informação</p>"); | |
485 | + mensagemOrgao.append("<p>Ministério do Planejamento, Desenvolvimento e Gestão</p>"); | |
486 | + | |
487 | + | |
488 | + String mensagemRetornoOrgao = | |
489 | + envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(), | |
490 | + questionario.getEmailDestinoOrgao(), assuntoOrgao, mensagemOrgao.toString(), email.getAuth(), | |
491 | + email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio, | |
492 | + planoTrabalho.getNomeRelatorioAss(), dataHandlerPlano, | |
493 | + planoTrabalho.getNomePlanoTrabalho()); | |
494 | + | |
495 | + | |
496 | + if (mensagemRetornoOrgao.equalsIgnoreCase("")) { | |
497 | + | |
498 | + questionarioDao = new QuestionarioDao(); | |
499 | + | |
500 | + if (questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario())) { | |
501 | + | |
502 | + result.include("mensagemEnvio", | |
503 | + "Mensagem enviada com Sucesso, você recebeu um email com os anexos!"); | |
504 | + | |
505 | + result.include("statusEnvio", true); | |
506 | + } | |
507 | + } | |
508 | + } else { | |
509 | + result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!"); | |
510 | + result.include("statusEnvio", false); | |
511 | + } | |
512 | + }else | |
513 | + { | |
514 | + result.include("mensagemEnvio", "É preciso ter o Relatório e o Plano de Trabalho anexados!"); | |
515 | + result.include("statusEnvio", false); | |
516 | + } | |
517 | + | |
518 | + HashDao hashDao = new HashDao(); | |
519 | + Questionario novoQuestionario = new Questionario(); | |
520 | + | |
521 | + novoQuestionario = hashDao.verificarQuestionario(path, | |
522 | + questionario.getIdQuestionario()); | |
523 | + | |
524 | + verificarPosicaoUsuario(novoQuestionario); | |
525 | + this.validator.add(new ValidationMessage("", "")); | |
526 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class) | |
527 | + .confirmacaoEnvioEmailMPF(); | |
528 | + } | |
529 | + | |
530 | + @Path("/enviar-email-mpf-alternativo") | |
531 | + public void enviarEmailMPFAlternativo(String valorHash) { | |
532 | + | |
533 | + Validacao validacao = new Validacao(); | |
534 | + mensagemValidacaoCampos = new ArrayList<Validacao>(); | |
535 | + mensagemValidacaoCampos = validacao.validarHash(path, valorHash); | |
536 | + | |
537 | + if (mensagemValidacaoCampos.size() > 0) { | |
538 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
539 | + this.validator.add(new ValidationMessage("", "")); | |
540 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class) | |
541 | + .enviarRelatorioPlanoTrabalho(); | |
542 | + } | |
543 | + | |
544 | + HashDao hashDao = new HashDao(); | |
545 | + Questionario questionario = new Questionario(); | |
546 | + questionario = hashDao.verificarHash(path, valorHash); | |
547 | + | |
548 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | |
549 | + | |
550 | + if (questionario.isFlagEnviado()) { | |
551 | + result.include("mensagemEnvio", | |
552 | + "O Relatório já foi enviado para MPF!"); | |
553 | + result.include("statusEnvio", false); | |
554 | + | |
555 | + this.validator.add(new ValidationMessage("", "")); | |
556 | + this.validator.onErrorUsePageOf(PlanoTrabalhoController.class) | |
557 | + .confirmacaoEnvioEmailMPF(); | |
558 | + } else { | |
559 | + enviarEmail(questionario); | |
560 | + } | |
561 | + | |
562 | + } | |
563 | + | |
564 | + } | |
565 | + | |
566 | + @Path("/enviar-email-mpf") | |
567 | + public void enviarEmailMPF() { | |
568 | + Questionario questionario = new Questionario(); | |
569 | + | |
570 | + questionario = (Questionario) VRaptorRequestHolder.currentRequest() | |
571 | + .getServletContext().getAttribute("questionario"); | |
572 | + | |
573 | + if (questionario != null && questionario.getIdQuestionario() > 0) { | |
574 | + | |
575 | + enviarEmail(questionario); | |
576 | + | |
577 | + } | |
578 | + | |
579 | + } | |
580 | + | |
581 | + public void verificarPosicaoUsuario(Questionario questionario) { | |
582 | + PlanoTrabalho planoTrabalho = new PlanoTrabalho(); | |
583 | + PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao(); | |
584 | + | |
585 | + // Solicitou código de Acesso? | |
586 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
587 | + .setAttribute("nivel_01", true); | |
588 | + | |
589 | + // Respondeu FAD? | |
590 | + if (questionario.isQuestionario_respondido()) { | |
591 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
592 | + .setAttribute("nivel_02", true); | |
593 | + } else { | |
594 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
595 | + .setAttribute("nivel_02", false); | |
596 | + } | |
597 | + | |
598 | + planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, | |
599 | + questionario); | |
600 | + | |
601 | + // Anexou Fad? | |
602 | + if (planoTrabalho.getArquivoRelatorioAss() != null) { | |
603 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
604 | + .setAttribute("nivel_03", true); | |
605 | + } else { | |
606 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
607 | + .setAttribute("nivel_03", false); | |
608 | + } | |
609 | + | |
610 | + // Anexou Plano de Trabalho? | |
611 | + if (planoTrabalho.getArquivoPlanoTrabalho() != null) { | |
612 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
613 | + .setAttribute("nivel_04", true); | |
614 | + } else { | |
615 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
616 | + .setAttribute("nivel_04", false); | |
617 | + } | |
618 | + | |
619 | + // Processo finalizado? | |
620 | + if (questionario.isFlagEnviado()) { | |
621 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
622 | + .setAttribute("nivel_05", true); | |
623 | + } else { | |
624 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
625 | + .setAttribute("nivel_05", false); | |
626 | + } | |
627 | + | |
628 | + } | |
629 | + | |
630 | + public void confirmacaoEnvioEmailMPF() { | |
631 | + | |
632 | + } | |
633 | + | |
612 | 634 | } | ... | ... |
src/br/com/controller/contatoController.java
... | ... | @@ -158,7 +158,7 @@ public class contatoController { |
158 | 158 | } |
159 | 159 | |
160 | 160 | } else { |
161 | - mensagemEnvio = "É preciso autorização para essa funcionalidade!"; | |
161 | + mensagemEnvio = "É preciso autorizaçãoo para essa funcionalidade!"; | |
162 | 162 | } |
163 | 163 | |
164 | 164 | result.include("mensagemEnvio", mensagemEnvio); | ... | ... |
src/br/com/controller/formularioOrgaoController.java
... | ... | @@ -30,9 +30,6 @@ public class formularioOrgaoController { |
30 | 30 | private String path; |
31 | 31 | private ServletContext application; |
32 | 32 | |
33 | - public formularioOrgaoController() { | |
34 | - | |
35 | - } | |
36 | 33 | |
37 | 34 | public formularioOrgaoController(Result result, Validator validator, ServletContext application) { |
38 | 35 | this.result = result; |
... | ... | @@ -59,8 +56,8 @@ public class formularioOrgaoController { |
59 | 56 | |
60 | 57 | verificarPosicaoUsuario(questionario); |
61 | 58 | |
62 | - if (!questionario.isFlagEnviado()) { | |
63 | - if (!hashDao.verificarDataExpirada(path, valorHash)) { | |
59 | + // if (!questionario.isFlagEnviado()) { | |
60 | + //if (!hashDao.verificarDataExpirada(path, valorHash)) { | |
64 | 61 | |
65 | 62 | mensagemValidacaoCampos = validacao.validarHash(path, valorHash); |
66 | 63 | |
... | ... | @@ -124,30 +121,35 @@ public class formularioOrgaoController { |
124 | 121 | } |
125 | 122 | } |
126 | 123 | |
127 | - } else { | |
128 | - validacao = new Validacao(); | |
129 | - validacao.setCampo("valorHash"); | |
130 | - validacao.setMensagem("ATENÇÃO: O prazo para o preenchimento do formulário está expirado."); | |
124 | + // } else { | |
125 | + // validacao = new Validacao(); | |
126 | + // validacao.setCampo("valorHash"); | |
127 | + // validacao.setMensagem("ATENÇÃO: O prazo para o preenchimento do formulário está expirado."); | |
131 | 128 | |
132 | - mensagemValidacaoCampos.add(validacao); | |
129 | + // mensagemValidacaoCampos.add(validacao); | |
133 | 130 | |
134 | - result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
135 | - this.validator.add(new ValidationMessage("", "")); | |
136 | - this.validator.onErrorUsePageOf(loginController.class).login(); | |
137 | - } | |
131 | + // result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | |
132 | + // this.validator.add(new ValidationMessage("", "")); | |
133 | + // this.validator.onErrorUsePageOf(loginController.class).login(); | |
134 | + // } | |
138 | 135 | |
139 | - } else { | |
140 | - validacao = new Validacao(); | |
136 | + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("flagEnviado", false); | |
137 | + | |
138 | + //} else { | |
139 | + | |
140 | + /* validacao = new Validacao(); | |
141 | 141 | validacao.setCampo("valorHash"); |
142 | 142 | validacao |
143 | - .setMensagem("ATENÇÃO: Você já concluiu todos os passos do envio do relatório circunstanciado à PFDC/MPF. Não é mais possível alterar seus dados."); | |
143 | + .setMensagem("ATEN��O: Voc� j� concluiu todos os passos do envio do relat�rio circunstanciado � PFDC/MPF. N�o � mais poss�vel alterar seus dados."); | |
144 | 144 | |
145 | 145 | mensagemValidacaoCampos.add(validacao); |
146 | 146 | |
147 | 147 | result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); |
148 | 148 | this.validator.add(new ValidationMessage("", "")); |
149 | - this.validator.onErrorUsePageOf(loginController.class).login(); | |
150 | - } | |
149 | + this.validator.onErrorUsePageOf(loginController.class).login();*/ | |
150 | + | |
151 | + | |
152 | + //} | |
151 | 153 | } |
152 | 154 | |
153 | 155 | private void setValorCamposUrl(String nomeCampo, String valorCampo) { | ... | ... |
src/br/com/controller/indexController.java
... | ... | @@ -129,7 +129,12 @@ public class indexController { |
129 | 129 | result.include("hEmail", hEmail); |
130 | 130 | VRaptorRequestHolder.currentRequest().getServletContext() |
131 | 131 | .setAttribute("valorHash", questionario.getHashAutenticacao()); |
132 | - | |
132 | + | |
133 | + result.include("flagEnviado", questionario.isFlagEnviado()); | |
134 | + | |
135 | + VRaptorRequestHolder.currentRequest().getServletContext() | |
136 | + .setAttribute("flagEnviado", questionario.getHashAutenticacao()); | |
137 | + | |
133 | 138 | if (this.mensagemValidacaoCamposOrgao.size() > 0) { |
134 | 139 | result.include("mensagemValidacaoCamposOrgao", mensagemValidacaoCamposOrgao); |
135 | 140 | result.include("questionario", questionario); | ... | ... |
... | ... | @@ -0,0 +1,65 @@ |
1 | +package br.com.dao; | |
2 | + | |
3 | +import java.sql.Connection; | |
4 | +import java.sql.ResultSet; | |
5 | +import java.sql.SQLException; | |
6 | +import java.sql.Statement; | |
7 | + | |
8 | +public class PainelDao { | |
9 | + | |
10 | + public Integer retornarTotalResposta(String path, Integer idPergunta, Integer idOpcaoResposta) { | |
11 | + | |
12 | + StringBuffer sql = new StringBuffer(); | |
13 | + Connection con = Conexao.conecta(path); | |
14 | + Statement estado; | |
15 | + ResultSet rset = null; | |
16 | + Integer total = 0; | |
17 | + | |
18 | + try { | |
19 | + | |
20 | + estado = con.createStatement(); | |
21 | + | |
22 | + estado.execute(sql.toString()); | |
23 | + | |
24 | + sql.append(" SELECT count(distinct(id_questionario)) as total "); | |
25 | + sql.append(" FROM resposta_questionario where id_pergunta = " + idPergunta + " and id_opcao_resposta = " + idOpcaoResposta + "; "); | |
26 | + | |
27 | + rset = estado.executeQuery(sql.toString()); | |
28 | + | |
29 | + while (rset.next()) { | |
30 | + total = rset.getInt("total"); | |
31 | + } | |
32 | + | |
33 | + } catch (SQLException e) { | |
34 | + | |
35 | + e.printStackTrace(); | |
36 | + } | |
37 | + | |
38 | + return total; | |
39 | + } | |
40 | + | |
41 | + public ResultSet retornarTotalNotas(String path, Integer idOpcaoResposta) { | |
42 | + | |
43 | + StringBuffer sql = new StringBuffer(); | |
44 | + Connection con = Conexao.conecta(path); | |
45 | + Statement estado; | |
46 | + ResultSet rset = null; | |
47 | + | |
48 | + try { | |
49 | + | |
50 | + estado = con.createStatement(); | |
51 | + | |
52 | + estado.execute(sql.toString()); | |
53 | + | |
54 | + sql.append(" select texto_resposta from resposta_questionario where id_opcao_resposta = "+ idOpcaoResposta +"; "); | |
55 | + | |
56 | + rset = estado.executeQuery(sql.toString()); | |
57 | + | |
58 | + } catch (SQLException e) { | |
59 | + | |
60 | + e.printStackTrace(); | |
61 | + } | |
62 | + | |
63 | + return rset; | |
64 | + } | |
65 | +} | ... | ... |