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,9 +12,12 @@ | ||
12 | </li> | 12 | </li> |
13 | 13 | ||
14 | <li> | 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 | </form> | 21 | </form> |
19 | 22 | ||
20 | </li> | 23 | </li> |
@@ -23,6 +26,7 @@ | @@ -23,6 +26,7 @@ | ||
23 | </ul> | 26 | </ul> |
24 | </div> | 27 | </div> |
25 | <c:if test="${not empty nivel_01}"> | 28 | <c:if test="${not empty nivel_01}"> |
29 | + | ||
26 | <div class="funcionalidades"> | 30 | <div class="funcionalidades"> |
27 | <ul class="statusFad"> | 31 | <ul class="statusFad"> |
28 | <li> | 32 | <li> |
@@ -43,8 +47,8 @@ | @@ -43,8 +47,8 @@ | ||
43 | <li> | 47 | <li> |
44 | <c:if test="${nivel_03 == true}"> | 48 | <c:if test="${nivel_03 == true}"> |
45 | <img src="imgs/nivel_03_completo.png" | 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 | </c:if> | 52 | </c:if> |
49 | <c:if test="${nivel_03 == false}"> | 53 | <c:if test="${nivel_03 == false}"> |
50 | <img src="imgs/nivel_03_incompleto.png" | 54 | <img src="imgs/nivel_03_incompleto.png" |
@@ -74,8 +78,8 @@ | @@ -74,8 +78,8 @@ | ||
74 | <img src="imgs/nivel_05_incompleto.png" | 78 | <img src="imgs/nivel_05_incompleto.png" |
75 | alt="Relatório Circunstanciado não enviado à PFDC/MPF." | 79 | alt="Relatório Circunstanciado não enviado à PFDC/MPF." |
76 | width="125" height="85" /> | 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 | </c:if> | 83 | </c:if> |
80 | </li> | 84 | </li> |
81 | </ul> | 85 | </ul> |
@@ -96,43 +100,61 @@ | @@ -96,43 +100,61 @@ | ||
96 | </c:if> | 100 | </c:if> |
97 | </div> | 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 | <div id="introducao"> | 106 | <div id="introducao"> |
101 | 107 | ||
102 | <h2 class="titulo">Questionário Acessibilidade</h2> | 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 | <fieldset> | 112 | <fieldset> |
105 | <legend>Dados Acessibilidade</legend> | 113 | <legend>Dados Acessibilidade</legend> |
106 | 114 | ||
107 | <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> | 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 | </select> | 126 | </select> |
114 | <br><br> | 127 | <br><br> |
115 | 128 | ||
116 | 129 | ||
117 | <label for="reclamacao" class="obrigatorio">2) O Órgão já recebeu, formal ou informalmente, reclamações sobre acessibilidade em seus ambientes digitais?</label><br> | 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 | <option value="" ${reclamacao == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | 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 | <option value="3" ${reclamacao == '3'?'selected=\"selected\"':''}>Não</option> | 136 | <option value="3" ${reclamacao == '3'?'selected=\"selected\"':''}>Não</option> |
122 | </select> | 137 | </select> |
123 | <br><br> | 138 | <br><br> |
124 | 139 | ||
125 | <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> | 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 | <input type="hidden" name="hEspacoReclamacao" value="9" /> | 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 | <br><br> | 145 | <br><br> |
129 | 146 | ||
130 | <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> | 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 | </select> | 158 | </select> |
137 | <br><br> | 159 | <br><br> |
138 | 160 | ||
@@ -192,38 +214,54 @@ | @@ -192,38 +214,54 @@ | ||
192 | <input type="hidden" name="hRequisito" value="12" /> | 214 | <input type="hidden" name="hRequisito" value="12" /> |
193 | <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? | 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 | </legend> | 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 | </fieldset> | 229 | </fieldset> |
200 | <br> | 230 | <br> |
201 | 231 | ||
202 | <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> | 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 | <input type="hidden" name="hJustificativaRequisito" value="13" /> | 233 | <input type="hidden" name="hJustificativaRequisito" value="13" /> |
204 | <textarea name="justificativaRequisito" | 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 | <br><br> | 237 | <br><br> |
207 | 238 | ||
208 | <fieldset class="pergunta"> | 239 | <fieldset class="pergunta"> |
209 | <input type="hidden" name="hOpcaoContrat" value="14" /> | 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 | </legend> | 243 | </legend> |
212 | <input type="radio" id="contratacao1" name="opcaoContrat" | 244 | <input type="radio" id="contratacao1" name="opcaoContrat" |
213 | 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> | 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 | <input type="radio" id="contratacao2" name="opcaoContrat" | 246 | <input type="radio" id="contratacao2" name="opcaoContrat" |
215 | value="15" ${opcaoContrat == '15'?'checked=\"checked\"':''}><label | 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 | </fieldset> | 253 | </fieldset> |
219 | <br> | 254 | <br> |
220 | 255 | ||
221 | <label for="perguntaValidacao" class="obrigatorio">9) O Órgão realiza validações de acessibilidade em seus ambientes digitais?</label><br> | 256 | <label for="perguntaValidacao" class="obrigatorio">9) O Órgão realiza validações de acessibilidade em seus ambientes digitais?</label><br> |
222 | <input type="hidden" name="hPerguntaValidacao" value="15" /> | 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 | </select> | 265 | </select> |
228 | <br><br> | 266 | <br><br> |
229 | 267 | ||
@@ -283,7 +321,8 @@ | @@ -283,7 +321,8 @@ | ||
283 | <c:set var="marcar" scope="session" value="true" /> | 321 | <c:set var="marcar" scope="session" value="true" /> |
284 | </c:if> | 322 | </c:if> |
285 | </c:forEach> | 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 | id="nenhuma" ${marcar == 'true'?'checked=\"checked\"':''}><label | 326 | id="nenhuma" ${marcar == 'true'?'checked=\"checked\"':''}><label |
288 | for="nenhuma">Nenhuma</label><br> | 327 | for="nenhuma">Nenhuma</label><br> |
289 | 328 | ||
@@ -296,7 +335,8 @@ | @@ -296,7 +335,8 @@ | ||
296 | <input type="checkbox" name="ferramentaValidacao" id="asesWeb" | 335 | <input type="checkbox" name="ferramentaValidacao" id="asesWeb" |
297 | value="21" ${marcar == 'true'?'checked=\"checked\"':''}><label | 336 | value="21" ${marcar == 'true'?'checked=\"checked\"':''}><label |
298 | for="asesWeb">Avaliador e Simulador de Acessibilidade em Sítios (ASES) <span | 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 | <c:set var="marcar" scope="session" value="false" /> | 341 | <c:set var="marcar" scope="session" value="false" /> |
302 | <c:forEach items="${ferramentaValidacao}" var="item"> | 342 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -307,7 +347,8 @@ | @@ -307,7 +347,8 @@ | ||
307 | <input type="checkbox" name="ferramentaValidacao" id="asesDesktop" | 347 | <input type="checkbox" name="ferramentaValidacao" id="asesDesktop" |
308 | value="22" ${marcar == 'true'?'checked=\"checked\"':''}><label | 348 | value="22" ${marcar == 'true'?'checked=\"checked\"':''}><label |
309 | for="asesDesktop">Avaliador e Simulador de Acessibilidade em Sítios (ASES) <span | 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 | <c:set var="marcar" scope="session" value="false" /> | 353 | <c:set var="marcar" scope="session" value="false" /> |
313 | <c:forEach items="${ferramentaValidacao}" var="item"> | 354 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -317,7 +358,8 @@ | @@ -317,7 +358,8 @@ | ||
317 | </c:forEach> | 358 | </c:forEach> |
318 | <input type="checkbox" name="ferramentaValidacao" id="silva" | 359 | <input type="checkbox" name="ferramentaValidacao" id="silva" |
319 | value="23" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 364 | <c:set var="marcar" scope="session" value="false" /> |
323 | <c:forEach items="${ferramentaValidacao}" var="item"> | 365 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -327,7 +369,8 @@ | @@ -327,7 +369,8 @@ | ||
327 | </c:forEach> | 369 | </c:forEach> |
328 | <input type="checkbox" name="ferramentaValidacao" id="access" | 370 | <input type="checkbox" name="ferramentaValidacao" id="access" |
329 | value="24" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 375 | <c:set var="marcar" scope="session" value="false" /> |
333 | <c:forEach items="${ferramentaValidacao}" var="item"> | 376 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -337,7 +380,8 @@ | @@ -337,7 +380,8 @@ | ||
337 | </c:forEach> | 380 | </c:forEach> |
338 | <input type="checkbox" name="ferramentaValidacao" id="tool" | 381 | <input type="checkbox" name="ferramentaValidacao" id="tool" |
339 | value="25" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 386 | <c:set var="marcar" scope="session" value="false" /> |
343 | <c:forEach items="${ferramentaValidacao}" var="item"> | 387 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -347,7 +391,8 @@ | @@ -347,7 +391,8 @@ | ||
347 | </c:forEach> | 391 | </c:forEach> |
348 | <input type="checkbox" name="ferramentaValidacao" id="cynthia" | 392 | <input type="checkbox" name="ferramentaValidacao" id="cynthia" |
349 | value="26" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 397 | <c:set var="marcar" scope="session" value="false" /> |
353 | <c:forEach items="${ferramentaValidacao}" var="item"> | 398 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -357,7 +402,8 @@ | @@ -357,7 +402,8 @@ | ||
357 | </c:forEach> | 402 | </c:forEach> |
358 | <input type="checkbox" name="ferramentaValidacao" id="hera" | 403 | <input type="checkbox" name="ferramentaValidacao" id="hera" |
359 | value="27" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 408 | <c:set var="marcar" scope="session" value="false" /> |
363 | <c:forEach items="${ferramentaValidacao}" var="item"> | 409 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -367,7 +413,8 @@ | @@ -367,7 +413,8 @@ | ||
367 | </c:forEach> | 413 | </c:forEach> |
368 | <input type="checkbox" name="ferramentaValidacao" id="lift" | 414 | <input type="checkbox" name="ferramentaValidacao" id="lift" |
369 | value="28" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 419 | <c:set var="marcar" scope="session" value="false" /> |
373 | <c:forEach items="${ferramentaValidacao}" var="item"> | 420 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -377,7 +424,8 @@ | @@ -377,7 +424,8 @@ | ||
377 | </c:forEach> | 424 | </c:forEach> |
378 | <input type="checkbox" name="ferramentaValidacao" id="taw" | 425 | <input type="checkbox" name="ferramentaValidacao" id="taw" |
379 | value="29" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 430 | <c:set var="marcar" scope="session" value="false" /> |
383 | <c:forEach items="${ferramentaValidacao}" var="item"> | 431 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -387,7 +435,8 @@ | @@ -387,7 +435,8 @@ | ||
387 | </c:forEach> | 435 | </c:forEach> |
388 | <input type="checkbox" name="ferramentaValidacao" id="examinator" | 436 | <input type="checkbox" name="ferramentaValidacao" id="examinator" |
389 | value="30" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 441 | <c:set var="marcar" scope="session" value="false" /> |
393 | <c:forEach items="${ferramentaValidacao}" var="item"> | 442 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -397,7 +446,9 @@ | @@ -397,7 +446,9 @@ | ||
397 | </c:forEach> | 446 | </c:forEach> |
398 | <input type="checkbox" name="ferramentaValidacao" id="functional" | 447 | <input type="checkbox" name="ferramentaValidacao" id="functional" |
399 | value="31" ${marcar == 'true'?'checked=\"checked\"':''}><label | 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 | <c:set var="marcar" scope="session" value="false" /> | 453 | <c:set var="marcar" scope="session" value="false" /> |
403 | <c:forEach items="${ferramentaValidacao}" var="item"> | 454 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -406,7 +457,8 @@ | @@ -406,7 +457,8 @@ | ||
406 | </c:if> | 457 | </c:if> |
407 | </c:forEach> | 458 | </c:forEach> |
408 | <input type="checkbox" name="ferramentaValidacao" id="checklst1" | 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 | <c:set var="marcar" scope="session" value="false" /> | 463 | <c:set var="marcar" scope="session" value="false" /> |
412 | <c:forEach items="${ferramentaValidacao}" var="item"> | 464 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -415,7 +467,8 @@ | @@ -415,7 +467,8 @@ | ||
415 | </c:if> | 467 | </c:if> |
416 | </c:forEach> | 468 | </c:forEach> |
417 | <input type="checkbox" name="ferramentaValidacao" id="checklst2" | 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 | <c:set var="marcar" scope="session" value="false" /> | 473 | <c:set var="marcar" scope="session" value="false" /> |
421 | <c:forEach items="${ferramentaValidacao}" var="item"> | 474 | <c:forEach items="${ferramentaValidacao}" var="item"> |
@@ -432,21 +485,35 @@ | @@ -432,21 +485,35 @@ | ||
432 | <label for="outroAvaliador">12) Com relação à pergunta anterior, caso tenha respondido "Outro(s)", mencione abaixo quais são estas ferramentas:</label> | 485 | <label for="outroAvaliador">12) Com relação à pergunta anterior, caso tenha respondido "Outro(s)", mencione abaixo quais são estas ferramentas:</label> |
433 | <input type="hidden" name="hOutroAvaliador" value="18" /> | 486 | <input type="hidden" name="hOutroAvaliador" value="18" /> |
434 | <textarea name="outroAvaliador" id="outroAvaliador" rows="8" | 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 | <br><br> | 490 | <br><br> |
437 | 491 | ||
438 | <fieldset class="pergunta"> | 492 | <fieldset class="pergunta"> |
439 | <input type="hidden" name="hAmostragemSiteQuestionario" value="19" /> | 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 | <c:if test="${not empty lsAmostragemSiteQuestionario}"> | 497 | <c:if test="${not empty lsAmostragemSiteQuestionario}"> |
442 | <c:forEach items="${lsAmostragemSiteQuestionario}" var="amostra"> | 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 | <label for="ases_${amostra.nomeCampo}"> ${amostra.urlAmostraSiteQuestionario}</label> <br /> <br /> | 501 | <label for="ases_${amostra.nomeCampo}"> ${amostra.urlAmostraSiteQuestionario}</label> <br /> <br /> |
445 | <label for="ases_${amostra.nomeCampo}">Nota ASES:(999,99) </label> | 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 | <label for="accessMonitor_${amostra.nomeCampo}">Nota AccessMonitor:(99,99) </label> | 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 | <hr> | 517 | <hr> |
451 | </c:forEach> | 518 | </c:forEach> |
452 | </c:if> | 519 | </c:if> |
@@ -482,7 +549,8 @@ | @@ -482,7 +549,8 @@ | ||
482 | value="52" ${checklistQtnList == '52'?'checked=\"checked\"':''}><label | 549 | value="52" ${checklistQtnList == '52'?'checked=\"checked\"':''}><label |
483 | for="checklist3">A validação é feita pelo responsável técnico do contrato, seguindo um <i><span | 550 | for="checklist3">A validação é feita pelo responsável técnico do contrato, seguindo um <i><span |
484 | lang="en">checklist</span></i> de validação manual em amostras do conjunto de páginas</label><br> | 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 | for="checklist4">A validação é feita por empresa terceirizada, contratada para ajudar na garantia da qualidade do software, seguindo um <i><span | 554 | for="checklist4">A validação é feita por empresa terceirizada, contratada para ajudar na garantia da qualidade do software, seguindo um <i><span |
487 | lang="en">checklist</span></i> de validação manual</label><br> | 555 | lang="en">checklist</span></i> de validação manual</label><br> |
488 | <input type="radio" id="checklist5" name="checklistQtnList" | 556 | <input type="radio" id="checklist5" name="checklistQtnList" |
@@ -552,20 +620,22 @@ | @@ -552,20 +620,22 @@ | ||
552 | 620 | ||
553 | <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> | 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 | <option value="" ${funcionalidade == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> | 625 | <option value="" ${funcionalidade == ''?'selected=\"selected\"':''}>Selecione uma resposta</option> |
557 | <option value="2" | 626 | <option value="2" |
558 | - ${funcionalidade == '2'?'selected=\"selected\"':''}>Sim</option> | 627 | + ${funcionalidade == '2'?'selected=\"selected\"':''}>Sim</option> |
559 | <option value="55" | 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 | <option value="3" | 630 | <option value="3" |
562 | - ${funcionalidade == '3'?'selected=\"selected\"':''}>Não</option> | 631 | + ${funcionalidade == '3'?'selected=\"selected\"':''}>Não</option> |
563 | </select> | 632 | </select> |
564 | <br><br> | 633 | <br><br> |
565 | 634 | ||
566 | <fieldset class="pergunta"> | 635 | <fieldset class="pergunta"> |
567 | <input type="hidden" name="hAssistiva" value="24" /> | 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 | </legend> | 640 | </legend> |
571 | 641 | ||
@@ -575,7 +645,8 @@ | @@ -575,7 +645,8 @@ | ||
575 | <c:set var="marcar" scope="session" value="true" /> | 645 | <c:set var="marcar" scope="session" value="true" /> |
576 | </c:if> | 646 | </c:if> |
577 | </c:forEach> | 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 | ${marcar == 'true'?'checked=\"checked\"':''}><label | 650 | ${marcar == 'true'?'checked=\"checked\"':''}><label |
580 | for="assistiva0">Nenhum</label><br> | 651 | for="assistiva0">Nenhum</label><br> |
581 | 652 | ||
@@ -668,54 +739,82 @@ | @@ -668,54 +739,82 @@ | ||
668 | <c:set var="marcar" scope="session" value="true" /> | 739 | <c:set var="marcar" scope="session" value="true" /> |
669 | </c:if> | 740 | </c:if> |
670 | </c:forEach> | 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 | </fieldset> | 745 | </fieldset> |
673 | <br> | 746 | <br> |
674 | 747 | ||
675 | <label for="justificativaAssistiva">18) Com relação à pergunta anterior: caso tenha respondido "Outro(s)" mencione abaixo quais são essas tecnologias:</label> | 748 | <label for="justificativaAssistiva">18) Com relação à pergunta anterior: caso tenha respondido "Outro(s)" mencione abaixo quais são essas tecnologias:</label> |
676 | <input type="hidden" name="hJustificativaAssistiva" value="25" /> | 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 | <br><br> | 754 | <br><br> |
680 | 755 | ||
681 | <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> | 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 | <input type="hidden" name="hDificuldadePrazo" value="26" /> | 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 | <ul> | 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 | <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> | 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 | </ul> | 779 | </ul> |
695 | </div> | 780 | </div> |
696 | 781 | ||
697 | </fieldset> | 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 | <input type="hidden" id="hCargo" name="hCargo" value="${hCargo}" /> | 801 | <input type="hidden" id="hCargo" name="hCargo" value="${hCargo}" /> |
707 | <input type="hidden" id="cargo" name="cargo" value="${cargo}" /> | 802 | <input type="hidden" id="cargo" name="cargo" value="${cargo}" /> |
708 | <input type="hidden" id="telefone" name="telefone" value="${telefone}" /> | 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 | </form> | 809 | </form> |
714 | 810 | ||
715 | <div id="botaoVoltar"> | 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 | </form> | 818 | </form> |
720 | </div> | 819 | </div> |
721 | 820 |
@@ -0,0 +1,192 @@ | @@ -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 | \ No newline at end of file | 193 | \ No newline at end of file |
WebContent/WEB-INF/jsp/planoTrabalho/planoTrabalho.jsp
@@ -101,7 +101,14 @@ | @@ -101,7 +101,14 @@ | ||
101 | <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">${planoTrabalho.nomeRelatorioAss }</a> | 101 | <a href="${pageContext.request.contextPath}/recuperar-relatorio/${questionario.idQuestionario}">${planoTrabalho.nomeRelatorioAss }</a> |
102 | </c:if> | 102 | </c:if> |
103 | </label><br> | 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 | <hr> | 112 | <hr> |
106 | <label for="filePlano">Plano de Trabalho: (tamanho máximo: 50Mb) | 113 | <label for="filePlano">Plano de Trabalho: (tamanho máximo: 50Mb) |
107 | <c:if test="${not empty planoTrabalho.nomePlanoTrabalho}"> | 114 | <c:if test="${not empty planoTrabalho.nomePlanoTrabalho}"> |
@@ -0,0 +1,303 @@ | @@ -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,585 +28,607 @@ import br.com.model.utilities.Email; | ||
28 | import br.com.util.DateUtil; | 28 | import br.com.util.DateUtil; |
29 | import br.com.util.Validacao; | 29 | import br.com.util.Validacao; |
30 | 30 | ||
31 | - | ||
32 | @Resource | 31 | @Resource |
33 | public class PlanoTrabalhoController extends DefaultMultipartConfig { | 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,7 +158,7 @@ public class contatoController { | ||
158 | } | 158 | } |
159 | 159 | ||
160 | } else { | 160 | } else { |
161 | - mensagemEnvio = "É preciso autorização para essa funcionalidade!"; | 161 | + mensagemEnvio = "É preciso autorizaçãoo para essa funcionalidade!"; |
162 | } | 162 | } |
163 | 163 | ||
164 | result.include("mensagemEnvio", mensagemEnvio); | 164 | result.include("mensagemEnvio", mensagemEnvio); |
src/br/com/controller/formularioOrgaoController.java
@@ -30,9 +30,6 @@ public class formularioOrgaoController { | @@ -30,9 +30,6 @@ public class formularioOrgaoController { | ||
30 | private String path; | 30 | private String path; |
31 | private ServletContext application; | 31 | private ServletContext application; |
32 | 32 | ||
33 | - public formularioOrgaoController() { | ||
34 | - | ||
35 | - } | ||
36 | 33 | ||
37 | public formularioOrgaoController(Result result, Validator validator, ServletContext application) { | 34 | public formularioOrgaoController(Result result, Validator validator, ServletContext application) { |
38 | this.result = result; | 35 | this.result = result; |
@@ -59,8 +56,8 @@ public class formularioOrgaoController { | @@ -59,8 +56,8 @@ public class formularioOrgaoController { | ||
59 | 56 | ||
60 | verificarPosicaoUsuario(questionario); | 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 | mensagemValidacaoCampos = validacao.validarHash(path, valorHash); | 62 | mensagemValidacaoCampos = validacao.validarHash(path, valorHash); |
66 | 63 | ||
@@ -124,30 +121,35 @@ public class formularioOrgaoController { | @@ -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 | validacao.setCampo("valorHash"); | 141 | validacao.setCampo("valorHash"); |
142 | validacao | 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 | mensagemValidacaoCampos.add(validacao); | 145 | mensagemValidacaoCampos.add(validacao); |
146 | 146 | ||
147 | result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | 147 | result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); |
148 | this.validator.add(new ValidationMessage("", "")); | 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 | private void setValorCamposUrl(String nomeCampo, String valorCampo) { | 155 | private void setValorCamposUrl(String nomeCampo, String valorCampo) { |
src/br/com/controller/indexController.java
@@ -129,7 +129,12 @@ public class indexController { | @@ -129,7 +129,12 @@ public class indexController { | ||
129 | result.include("hEmail", hEmail); | 129 | result.include("hEmail", hEmail); |
130 | VRaptorRequestHolder.currentRequest().getServletContext() | 130 | VRaptorRequestHolder.currentRequest().getServletContext() |
131 | .setAttribute("valorHash", questionario.getHashAutenticacao()); | 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 | if (this.mensagemValidacaoCamposOrgao.size() > 0) { | 138 | if (this.mensagemValidacaoCamposOrgao.size() > 0) { |
134 | result.include("mensagemValidacaoCamposOrgao", mensagemValidacaoCamposOrgao); | 139 | result.include("mensagemValidacaoCamposOrgao", mensagemValidacaoCamposOrgao); |
135 | result.include("questionario", questionario); | 140 | result.include("questionario", questionario); |
@@ -0,0 +1,65 @@ | @@ -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 | +} |