Commit f2b40aa4ad6ab04024d43a7085872d53401a5e4d
1 parent
c90dbca5
Exists in
master
Responsável pelo direcionamento para validações e inserções.
Showing
1 changed file
with
375 additions
and
16 deletions
Show diff stats
src/br/com/controller/indexController.java
1 | package br.com.controller; | 1 | package br.com.controller; |
2 | 2 | ||
3 | +import java.util.ArrayList; | ||
4 | +import java.util.List; | ||
5 | + | ||
3 | import br.com.caelum.vraptor.Path; | 6 | import br.com.caelum.vraptor.Path; |
4 | import br.com.caelum.vraptor.Post; | 7 | import br.com.caelum.vraptor.Post; |
5 | import br.com.caelum.vraptor.Resource; | 8 | import br.com.caelum.vraptor.Resource; |
9 | +import br.com.caelum.vraptor.Result; | ||
10 | +import br.com.caelum.vraptor.Validator; | ||
11 | +import br.com.caelum.vraptor.validator.ValidationMessage; | ||
6 | import br.com.dao.HashDao; | 12 | import br.com.dao.HashDao; |
13 | +import br.com.dao.RespostaQuestionarioDao; | ||
14 | +import br.com.model.entity.Formulario; | ||
15 | +import br.com.model.entity.OpcaoResposta; | ||
16 | +import br.com.model.entity.Pergunta; | ||
7 | import br.com.model.entity.Questionario; | 17 | import br.com.model.entity.Questionario; |
18 | +import br.com.model.entity.RespostaQuestionario; | ||
19 | +import br.com.util.Validacao; | ||
8 | 20 | ||
9 | @Resource | 21 | @Resource |
10 | public class indexController { | 22 | public class indexController { |
11 | - | ||
12 | - private Questionario questionario; | ||
13 | - | ||
14 | - public Questionario getQuestionario() { | ||
15 | - return questionario; | ||
16 | - } | ||
17 | - | ||
18 | - //@Path("/") | ||
19 | - @Post("/formulario") | ||
20 | - public void index(String valorHash) { | ||
21 | - | ||
22 | - HashDao hashDao = new HashDao(); | ||
23 | - questionario = new Questionario(); | ||
24 | - questionario = hashDao.verificarHash(valorHash); | ||
25 | - | ||
26 | - } | 23 | + |
24 | + private Questionario questionario; | ||
25 | + private List<Validacao> mensagemValidacaoCampos = new ArrayList<Validacao>(); | ||
26 | + private Result result; | ||
27 | + private Pergunta pergunta; | ||
28 | + private OpcaoResposta opcaoResposta; | ||
29 | + private RespostaQuestionario respostaQuestionario; | ||
30 | + private Validator validator; | ||
31 | + | ||
32 | + public indexController(Result result, Validator validator) | ||
33 | + { | ||
34 | + this.result = result; | ||
35 | + this.validator = validator; | ||
36 | + } | ||
37 | + | ||
38 | + public Questionario getQuestionario() { | ||
39 | + return questionario; | ||
40 | + } | ||
41 | + | ||
42 | + public List<Validacao> getMensagemValidacaoCampos() { | ||
43 | + return mensagemValidacaoCampos; | ||
44 | + } | ||
45 | + | ||
46 | + public void setMensagemValidacaoCampos(List<Validacao> mensagemValidacaoCampos) { | ||
47 | + this.mensagemValidacaoCampos = mensagemValidacaoCampos; | ||
48 | + } | ||
49 | + | ||
50 | + | ||
51 | + @Post("/formulario") | ||
52 | + public void formulario(String valorHash) { | ||
53 | + | ||
54 | + Validacao validacao = new Validacao(); | ||
55 | + mensagemValidacaoCampos = new ArrayList<Validacao>(); | ||
56 | + mensagemValidacaoCampos = validacao.validarHash(valorHash); | ||
57 | + | ||
58 | + if(mensagemValidacaoCampos.size() > 0) | ||
59 | + { | ||
60 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | ||
61 | + this.validator.add(new ValidationMessage("", "")); | ||
62 | + this.validator.onErrorUsePageOf(loginController.class).login(); | ||
63 | + } | ||
64 | + | ||
65 | + HashDao hashDao = new HashDao(); | ||
66 | + questionario = new Questionario(); | ||
67 | + questionario = hashDao.verificarHash(valorHash); | ||
68 | + | ||
69 | + | ||
70 | + if(questionario.getDtInicioQuestionario() != null && !valorHash.equalsIgnoreCase("")) | ||
71 | + { | ||
72 | + result.include("questionario",questionario); | ||
73 | + RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
74 | + | ||
75 | + List<RespostaQuestionario> lsRespostaQuestionario = new ArrayList<RespostaQuestionario>(); | ||
76 | + | ||
77 | + lsRespostaQuestionario = respostaQuestionarioDao.retornarRespostaQuestionarioPorQuestionario(questionario.getIdQuestionario()); | ||
78 | + List<Integer> curso = new ArrayList<Integer>(); | ||
79 | + List<Integer> simValidacao = new ArrayList<Integer>(); | ||
80 | + List<Integer> assistiva = new ArrayList<Integer>(); | ||
81 | + List<Integer> ferramentaValidacao = new ArrayList<Integer>(); | ||
82 | + | ||
83 | + for (RespostaQuestionario respostaQuestionario : lsRespostaQuestionario) { | ||
84 | + | ||
85 | + switch (respostaQuestionario.getPergunta().getIdPergunta()) { | ||
86 | + case 1: | ||
87 | + result.include("nomeOrgao", respostaQuestionario.getTextoResposta()); | ||
88 | + break; | ||
89 | + case 2: | ||
90 | + result.include("nomePessoa", respostaQuestionario.getTextoResposta()); | ||
91 | + break; | ||
92 | + case 3: | ||
93 | + result.include("cargo", respostaQuestionario.getTextoResposta()); | ||
94 | + break; | ||
95 | + case 4: | ||
96 | + result.include("telefone", respostaQuestionario.getTextoResposta()); | ||
97 | + break; | ||
98 | + case 5: | ||
99 | + result.include("email", respostaQuestionario.getTextoResposta()); | ||
100 | + break; | ||
101 | + case 6: | ||
102 | + result.include("indicacaoSitios", respostaQuestionario.getTextoResposta()); | ||
103 | + break; | ||
104 | + case 7: | ||
105 | + result.include("perguntaAcessibilidade", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
106 | + break; | ||
107 | + case 8: | ||
108 | + result.include("reclamacao", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
109 | + break; | ||
110 | + case 9: | ||
111 | + result.include("espacoReclamacao", respostaQuestionario.getTextoResposta()); | ||
112 | + break; | ||
113 | + case 10: | ||
114 | + result.include("perguntaEstimulo", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
115 | + break; | ||
116 | + case 11: | ||
117 | + curso.add(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
118 | + break; | ||
119 | + case 12: | ||
120 | + result.include("requisito", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
121 | + break; | ||
122 | + case 13: | ||
123 | + result.include("justificativaRequisito", respostaQuestionario.getTextoResposta()); | ||
124 | + break; | ||
125 | + case 14: | ||
126 | + result.include("opcaoContrat", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
127 | + break; | ||
128 | + case 15: | ||
129 | + result.include("perguntaValidacao", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
130 | + break; | ||
131 | + case 16: | ||
132 | + simValidacao.add(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
133 | + break; | ||
134 | + case 17: | ||
135 | + ferramentaValidacao.add(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
136 | + break; | ||
137 | + case 18: | ||
138 | + result.include("outroAvaliador", respostaQuestionario.getTextoResposta()); | ||
139 | + break; | ||
140 | + case 19: | ||
141 | + result.include("nivelAses", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
142 | + break; | ||
143 | + case 20: | ||
144 | + result.include("nivelAccessMonitor", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
145 | + break; | ||
146 | + case 21: | ||
147 | + result.include("nivelWcag", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
148 | + break; | ||
149 | + case 22: | ||
150 | + result.include("checklistQtnList", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
151 | + break; | ||
152 | + case 23: | ||
153 | + result.include("funcionalidade", respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
154 | + break; | ||
155 | + case 24: | ||
156 | + assistiva.add(respostaQuestionario.getOpcaoResposta().getIdOpcaoResposta()); | ||
157 | + break; | ||
158 | + case 25: | ||
159 | + result.include("justificativaAssistiva", respostaQuestionario.getTextoResposta()); | ||
160 | + break; | ||
161 | + case 26: | ||
162 | + result.include("dificuldadePrazo", respostaQuestionario.getTextoResposta()); | ||
163 | + break; | ||
164 | + default: | ||
165 | + break; | ||
166 | + } | ||
167 | + result.include("curso", curso); | ||
168 | + result.include("simValidacao", simValidacao); | ||
169 | + result.include("assistiva", assistiva); | ||
170 | + result.include("ferramentaValidacao", ferramentaValidacao); | ||
171 | + | ||
172 | + } | ||
173 | + | ||
174 | + } | ||
175 | + | ||
176 | + } | ||
177 | + | ||
178 | + | ||
179 | + @Post("/salvar-formulario") | ||
180 | + public void FormularioControllerSalvar(String hNomePessoa, | ||
181 | + String nomePessoa, String hCargo, String cargo, String hTelefone, String telefone, | ||
182 | + String hEmail, String email, String hIndicacaoSitios, String indicacaoSitios, | ||
183 | + String hPerguntaAcessibilidade, String perguntaAcessibilidade, String hReclamacao, | ||
184 | + String reclamacao, String hEspacoReclamacao, String espacoReclamacao, | ||
185 | + String hPerguntaEstimulo, String perguntaEstimulo, String hCurso, String[] curso, | ||
186 | + String hRequisito, String requisito, String hJustificativaRequisito, | ||
187 | + String justificativaRequisito, String hOpcaoContrat, String opcaoContrat, | ||
188 | + String hPerguntaValidacao, String perguntaValidacao, String hSimValidacao, | ||
189 | + String[] simValidacao, String hFerramentaValidacao, String[] ferramentaValidacao, | ||
190 | + String hOutroAvaliador, String outroAvaliador, String hNivelAses, String nivelAses, | ||
191 | + String hNivelAccessMonitor, String nivelAccessMonitor, String hNivelWcag, String nivelWcag, | ||
192 | + String hChecklistQtnList, String checklistQtnList, String hFuncionalidade, | ||
193 | + String funcionalidade, String hAssistiva, String[] assistiva, String hJustificativaAssistiva, | ||
194 | + String justificativaAssistiva, String hDificuldadePrazo, String dificuldadePrazo, int idQuestionario) { | ||
195 | + | ||
196 | + Formulario formulario = new Formulario(); | ||
197 | + questionario = new Questionario(idQuestionario); | ||
198 | + | ||
199 | + formulario.setNomePessoa(nomePessoa); | ||
200 | + formulario.setCargo(cargo); | ||
201 | + formulario.setTelefone(telefone); | ||
202 | + formulario.setEmail(email); | ||
203 | + formulario.setIndicacaoSitios(indicacaoSitios); | ||
204 | + formulario.setPerguntaAcessibilidade(perguntaAcessibilidade); | ||
205 | + formulario.setReclamacao(espacoReclamacao); | ||
206 | + formulario.setEspacoReclamacao(espacoReclamacao); | ||
207 | + formulario.setPerguntaEstimulo(perguntaEstimulo); | ||
208 | + formulario.setCurso(curso); | ||
209 | + formulario.setRequisito(requisito); | ||
210 | + formulario.setJustificativaRequisito(justificativaRequisito); | ||
211 | + formulario.setOpcaoContrat(opcaoContrat); | ||
212 | + formulario.setPerguntaValidacao(perguntaValidacao); | ||
213 | + formulario.setSimValidacao(simValidacao); | ||
214 | + formulario.setFerramentaValidacao(ferramentaValidacao); | ||
215 | + formulario.setOutroAvaliador(outroAvaliador); | ||
216 | + formulario.setNivelAses(nivelAses); | ||
217 | + formulario.setNivelAccessMonitor(nivelAccessMonitor); | ||
218 | + formulario.setNivelWcag(nivelWcag); | ||
219 | + formulario.setChecklist(checklistQtnList); | ||
220 | + formulario.setFuncionalidade(funcionalidade); | ||
221 | + formulario.setAssistiva(assistiva); | ||
222 | + formulario.setJustificativaAssistiva(justificativaAssistiva); | ||
223 | + formulario.setDificuldadePrazo(dificuldadePrazo); | ||
224 | + | ||
225 | + Validacao validate = new Validacao(); | ||
226 | + | ||
227 | + | ||
228 | + this.setMensagemValidacaoCampos(validate.validarCampos(formulario)); | ||
229 | + | ||
230 | + | ||
231 | + if (this.mensagemValidacaoCampos.size() > 0) { | ||
232 | + result.include("mensagemValidacaoCampos", mensagemValidacaoCampos); | ||
233 | + this.validator.add(new ValidationMessage("", "")); | ||
234 | + this.validator.onErrorUsePageOf(indexController.class).formulario(questionario.getHashAutenticacao()); | ||
235 | + } | ||
236 | + else { | ||
237 | + | ||
238 | + List<RespostaQuestionario> lsRespostaQuestionario = new ArrayList<RespostaQuestionario>(); | ||
239 | + | ||
240 | + | ||
241 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hNomePessoa), | ||
242 | + Integer.valueOf(1), nomePessoa, questionario)); | ||
243 | + // formulario.setNomePessoa(nomePessoa); | ||
244 | + | ||
245 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hCargo), | ||
246 | + Integer.valueOf(1), cargo, questionario)); | ||
247 | + // formulario.setCargo(cargo); | ||
248 | + | ||
249 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hTelefone), | ||
250 | + Integer.valueOf(1), telefone, questionario)); | ||
251 | + // formulario.setTelefone(telefone); | ||
252 | + | ||
253 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hEmail), | ||
254 | + Integer.valueOf(1), email, questionario)); | ||
255 | + // formulario.setEmail(email); | ||
256 | + | ||
257 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hIndicacaoSitios), | ||
258 | + Integer.valueOf(1), indicacaoSitios, questionario)); | ||
259 | + // formulario.setIndicacaoSitios(indicacaoSitios); | ||
260 | + | ||
261 | + lsRespostaQuestionario.add(retornarRespostaQuestionario( | ||
262 | + Integer.valueOf(hPerguntaAcessibilidade), Integer.valueOf(perguntaAcessibilidade), "", | ||
263 | + questionario)); | ||
264 | + // formulario.setPerguntaAcessibilidade(perguntaAcessibilidade); | ||
265 | + | ||
266 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hReclamacao), | ||
267 | + Integer.valueOf(reclamacao), "", questionario)); | ||
268 | + // formulario.setReclamacao(espacoReclamacao); | ||
269 | + | ||
270 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hEspacoReclamacao), | ||
271 | + Integer.valueOf(1), espacoReclamacao, questionario)); | ||
272 | + // formulario.setEspacoReclamacao(espacoReclamacao); | ||
273 | + | ||
274 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hPerguntaEstimulo), | ||
275 | + Integer.valueOf(perguntaEstimulo), "", questionario)); | ||
276 | + // formulario.setPerguntaEstimulo(perguntaEstimulo); | ||
277 | + | ||
278 | + for (String strCurso : curso) { | ||
279 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hCurso), | ||
280 | + Integer.valueOf(strCurso), "", questionario)); | ||
281 | + } | ||
282 | + | ||
283 | + // formulario.setCurso(curso); | ||
284 | + | ||
285 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hRequisito), | ||
286 | + Integer.valueOf(requisito), "", questionario)); | ||
287 | + // formulario.setRequisito(requisito); | ||
288 | + | ||
289 | + lsRespostaQuestionario.add(retornarRespostaQuestionario( | ||
290 | + Integer.valueOf(hJustificativaRequisito), Integer.valueOf(1), justificativaRequisito, | ||
291 | + questionario)); | ||
292 | + // formulario.setJustificativaRequisito(justificativaRequisito); | ||
293 | + | ||
294 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hOpcaoContrat), | ||
295 | + Integer.valueOf(opcaoContrat), "", questionario)); | ||
296 | + // formulario.setOpcaoContrat(opcaoContrat); | ||
297 | + | ||
298 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hPerguntaValidacao), | ||
299 | + Integer.valueOf(perguntaValidacao), "", questionario)); | ||
300 | + // formulario.setPerguntaValidacao(perguntaValidacao); | ||
301 | + | ||
302 | + for (String strSimValidacao : simValidacao) { | ||
303 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hSimValidacao), | ||
304 | + Integer.valueOf(strSimValidacao), "", questionario)); | ||
305 | + } | ||
306 | + | ||
307 | + // formulario.setSimValidacao(simValidacao); | ||
308 | + | ||
309 | + for (String strFerramentaValidacao : ferramentaValidacao) { | ||
310 | + lsRespostaQuestionario.add(retornarRespostaQuestionario( | ||
311 | + Integer.valueOf(hFerramentaValidacao), Integer.valueOf(strFerramentaValidacao), "", | ||
312 | + questionario)); | ||
313 | + } | ||
314 | + | ||
315 | + // formulario.setFerramentaValidacao(ferramentaValidacao); | ||
316 | + | ||
317 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hOutroAvaliador), | ||
318 | + Integer.valueOf(1), outroAvaliador, questionario)); | ||
319 | + // formulario.setOutroAvaliador(outroAvaliador); | ||
320 | + | ||
321 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hNivelAses), | ||
322 | + Integer.valueOf(nivelAses), "", questionario)); | ||
323 | + // formulario.setNivelAses(nivelAses); | ||
324 | + | ||
325 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hNivelWcag), | ||
326 | + Integer.valueOf(nivelWcag), "", questionario)); | ||
327 | + // formulario.setNivelWcag(nivelWcag); | ||
328 | + | ||
329 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hNivelAccessMonitor), | ||
330 | + Integer.valueOf(nivelAccessMonitor), "", questionario)); | ||
331 | + // formulario.setNivelAccessMonitor(nivelAccessMonitor); | ||
332 | + | ||
333 | + | ||
334 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hChecklistQtnList), | ||
335 | + Integer.valueOf(checklistQtnList), "", questionario)); | ||
336 | + // formulario.setChecklist(checklist); | ||
337 | + | ||
338 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hFuncionalidade), | ||
339 | + Integer.valueOf(funcionalidade), "", questionario)); | ||
340 | + // formulario.setFuncionalidade(funcionalidade); | ||
341 | + | ||
342 | + | ||
343 | + for (String strAssistiva : assistiva) { | ||
344 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hAssistiva), | ||
345 | + Integer.valueOf(strAssistiva), "", questionario)); | ||
346 | + } | ||
347 | + | ||
348 | + // lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hAssistiva), | ||
349 | + // assistiva, "" , questionario)); | ||
350 | + // formulario.setAssistiva(assistiva); | ||
351 | + | ||
352 | + lsRespostaQuestionario.add(retornarRespostaQuestionario( | ||
353 | + Integer.valueOf(hJustificativaAssistiva), Integer.valueOf(1), justificativaAssistiva, | ||
354 | + questionario)); | ||
355 | + // formulario.setJustificativaAssistiva(justificativaAssistiva); | ||
356 | + | ||
357 | + lsRespostaQuestionario.add(retornarRespostaQuestionario(Integer.valueOf(hDificuldadePrazo), | ||
358 | + Integer.valueOf(1), dificuldadePrazo, questionario)); | ||
359 | + // formulario.setDificuldadePrazo(dificuldadePrazo); | ||
360 | + | ||
361 | + RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao(); | ||
362 | + | ||
363 | + boolean formularioGravado; | ||
364 | + | ||
365 | + formularioGravado = respostaQuestionarioDao.salvar(lsRespostaQuestionario); | ||
366 | + | ||
367 | + | ||
368 | + lsRespostaQuestionario = null; | ||
369 | + } | ||
370 | + } | ||
371 | + | ||
372 | + private RespostaQuestionario retornarRespostaQuestionario(int idPergunta, int idOpcaoResposta, | ||
373 | + String textoResposta, Questionario questionario) { | ||
374 | + | ||
375 | + pergunta = new Pergunta(idPergunta); | ||
376 | + opcaoResposta = new OpcaoResposta(idOpcaoResposta); | ||
377 | + respostaQuestionario = new RespostaQuestionario(); | ||
378 | + | ||
379 | + respostaQuestionario.setOpcaoResposta(opcaoResposta); | ||
380 | + respostaQuestionario.setPergunta(pergunta); | ||
381 | + respostaQuestionario.setQuestionario(questionario); | ||
382 | + respostaQuestionario.setTextoResposta(textoResposta); | ||
383 | + | ||
384 | + return respostaQuestionario; | ||
385 | + } | ||
27 | } | 386 | } |