Commit f84d6633e0d43eb847652ee967a59e59a57aae5d
1 parent
02fab9b1
Exists in
master
Codificação #3290: Exportar para ODS
git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9823 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Showing
3 changed files
with
239 additions
and
72 deletions
Show diff stats
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/parametroCalculo/lista.jsp
@@ -67,10 +67,10 @@ | @@ -67,10 +67,10 @@ | ||
67 | <td>${parametroCalculo.usuario.nome}</td> | 67 | <td>${parametroCalculo.usuario.nome}</td> |
68 | <td> | 68 | <td> |
69 | <div class="btn-group"> | 69 | <div class="btn-group"> |
70 | - <a href="<c:url value="/parametrosCalculo/relatorio/${parametroCalculo.id}" />" class="btn btn-default btn-sm">Relatório</a> | ||
71 | <a href="<c:url value="/parametrosCalculo/atualizar/${parametroCalculo.id}" />" class="btn btn-default btn-sm">Consultar</a> | 70 | <a href="<c:url value="/parametrosCalculo/atualizar/${parametroCalculo.id}" />" class="btn btn-default btn-sm">Consultar</a> |
72 | <c:if test="${parametroCalculo.tsFim == null}"> | 71 | <c:if test="${parametroCalculo.tsFim == null}"> |
73 | <a href="<c:url value="/parametrosCalculo/delete/${parametroCalculo.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o Parametro de Avaliação selecionado?">Excluir</a> | 72 | <a href="<c:url value="/parametrosCalculo/delete/${parametroCalculo.id}" />" class="btn btn-default btn-sm btn-confirm" data-msg="Deseja realmente excluir o Parametro de Avaliação selecionado?">Excluir</a> |
73 | + <a href="<c:url value="/parametrosCalculo/exportar/${parametroCalculo.id}/${parametroCalculo.slug}.ods" />" class="btn btn-default btn-sm">Exportar</a> | ||
74 | </c:if> | 74 | </c:if> |
75 | </div> | 75 | </div> |
76 | </td> | 76 | </td> |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroCalculoController.java
1 | package br.com.eselo.controller; | 1 | package br.com.eselo.controller; |
2 | 2 | ||
3 | +import java.io.File; | ||
4 | +import java.io.FileNotFoundException; | ||
5 | +import java.io.FileOutputStream; | ||
6 | +import java.io.IOException; | ||
3 | import java.util.ArrayList; | 7 | import java.util.ArrayList; |
8 | +import java.util.HashMap; | ||
4 | import java.util.List; | 9 | import java.util.List; |
10 | +import java.util.Map; | ||
11 | + | ||
12 | +import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
13 | +import org.apache.poi.ss.usermodel.Cell; | ||
14 | +import org.apache.poi.ss.usermodel.CellStyle; | ||
15 | +import org.apache.poi.ss.usermodel.CreationHelper; | ||
16 | +import org.apache.poi.ss.usermodel.Font; | ||
17 | +import org.apache.poi.ss.usermodel.IndexedColors; | ||
18 | +import org.apache.poi.ss.usermodel.Row; | ||
19 | +import org.apache.poi.ss.usermodel.Sheet; | ||
20 | +import org.apache.poi.ss.usermodel.Workbook; | ||
21 | +import org.apache.poi.ss.util.CellRangeAddress; | ||
5 | 22 | ||
6 | import br.com.caelum.vraptor.Get; | 23 | import br.com.caelum.vraptor.Get; |
7 | import br.com.caelum.vraptor.Path; | 24 | import br.com.caelum.vraptor.Path; |
@@ -17,7 +34,9 @@ import br.com.eselo.component.Messages; | @@ -17,7 +34,9 @@ import br.com.eselo.component.Messages; | ||
17 | import br.com.eselo.component.UsuarioWeb; | 34 | import br.com.eselo.component.UsuarioWeb; |
18 | import br.com.eselo.dao.ParametroCalculoDAO; | 35 | import br.com.eselo.dao.ParametroCalculoDAO; |
19 | import br.com.eselo.dao.RecomendacaoDAO; | 36 | import br.com.eselo.dao.RecomendacaoDAO; |
37 | +import br.com.eselo.model.Criterio; | ||
20 | import br.com.eselo.model.ParametroCalculo; | 38 | import br.com.eselo.model.ParametroCalculo; |
39 | +import br.com.eselo.model.Recomendacao; | ||
21 | 40 | ||
22 | @Resource | 41 | @Resource |
23 | public class ParametroCalculoController { | 42 | public class ParametroCalculoController { |
@@ -26,15 +45,15 @@ public class ParametroCalculoController { | @@ -26,15 +45,15 @@ public class ParametroCalculoController { | ||
26 | private final Result result; | 45 | private final Result result; |
27 | private final Validator validator; | 46 | private final Validator validator; |
28 | private final UsuarioWeb usuarioWeb; | 47 | private final UsuarioWeb usuarioWeb; |
29 | - | 48 | + |
30 | protected static final int MODO_ADD = 1; | 49 | protected static final int MODO_ADD = 1; |
31 | protected static final int MODO_EDIT = 2; | 50 | protected static final int MODO_EDIT = 2; |
32 | protected static final int MODO_DELETE = 3; | 51 | protected static final int MODO_DELETE = 3; |
33 | protected static final int MODO_IMPORT = 4; | 52 | protected static final int MODO_IMPORT = 4; |
34 | 53 | ||
35 | public ParametroCalculoController(ParametroCalculoDAO _dao, | 54 | public ParametroCalculoController(ParametroCalculoDAO _dao, |
36 | - RecomendacaoDAO _daoRecomendacao, Result _result, Validator _validator, | ||
37 | - UsuarioWeb _usuarioWeb) { | 55 | + RecomendacaoDAO _daoRecomendacao, Result _result, |
56 | + Validator _validator, UsuarioWeb _usuarioWeb) { | ||
38 | dao = _dao; | 57 | dao = _dao; |
39 | result = _result; | 58 | result = _result; |
40 | validator = _validator; | 59 | validator = _validator; |
@@ -49,24 +68,27 @@ public class ParametroCalculoController { | @@ -49,24 +68,27 @@ public class ParametroCalculoController { | ||
49 | parametroCalculo.setTsInicio(new java.util.Date()); | 68 | parametroCalculo.setTsInicio(new java.util.Date()); |
50 | inserirParametroCalculo(parametroCalculo); | 69 | inserirParametroCalculo(parametroCalculo); |
51 | 70 | ||
52 | - result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId()); | 71 | + result.redirectTo(ParametroCalculoController.class) |
72 | + .form(dao.getMaxId()); | ||
53 | } | 73 | } |
54 | 74 | ||
55 | @Get("/parametrosCalculo/importar/") | 75 | @Get("/parametrosCalculo/importar/") |
56 | @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR") | 76 | @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR") |
57 | public void importar(long idParametroCalculo) { | 77 | public void importar(long idParametroCalculo) { |
58 | String mensagem; | 78 | String mensagem; |
59 | - if(idParametroCalculo==0){ | ||
60 | - criarNovoParametroCalculo(new ParametroCalculo(),MODO_ADD); | 79 | + if (idParametroCalculo == 0) { |
80 | + criarNovoParametroCalculo(new ParametroCalculo(), MODO_ADD); | ||
61 | mensagem = "Novo parâmetro criado [sem recomendações ou critérios associados]!"; | 81 | mensagem = "Novo parâmetro criado [sem recomendações ou critérios associados]!"; |
62 | - }else{ | 82 | + } else { |
63 | ParametroCalculo pc = dao.load(idParametroCalculo); | 83 | ParametroCalculo pc = dao.load(idParametroCalculo); |
64 | - this.criarNovoParametroCalculo(pc,MODO_IMPORT); | ||
65 | - mensagem = "Parâmetro de Cálculo criado com base no parametro "+pc.getDescricao()+" com sucesso."; | 84 | + this.criarNovoParametroCalculo(pc, MODO_IMPORT); |
85 | + mensagem = "Parâmetro de Cálculo criado com base no parametro " | ||
86 | + + pc.getDescricao() + " com sucesso."; | ||
66 | } | 87 | } |
67 | - | 88 | + |
68 | result.include("mensagem", mensagem); | 89 | result.include("mensagem", mensagem); |
69 | - result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId()); | 90 | + result.redirectTo(ParametroCalculoController.class) |
91 | + .form(dao.getMaxId()); | ||
70 | } | 92 | } |
71 | 93 | ||
72 | @Post("/parametrosCalculo") | 94 | @Post("/parametrosCalculo") |
@@ -103,7 +125,7 @@ public class ParametroCalculoController { | @@ -103,7 +125,7 @@ public class ParametroCalculoController { | ||
103 | if (ultimo != null) { | 125 | if (ultimo != null) { |
104 | ultimo.setTsFim(parametroCalculo.getTsInicio()); | 126 | ultimo.setTsFim(parametroCalculo.getTsInicio()); |
105 | dao.update(ultimo); | 127 | dao.update(ultimo); |
106 | - }else if (parametroCalculo.getDescricao() == null) { | 128 | + } else if (parametroCalculo.getDescricao() == null) { |
107 | validator.add(new ValidationMessage(Messages | 129 | validator.add(new ValidationMessage(Messages |
108 | .getString("parametro_calculo.validacao.descricao"), | 130 | .getString("parametro_calculo.validacao.descricao"), |
109 | "parametroCalculo.descricao")); | 131 | "parametroCalculo.descricao")); |
@@ -116,10 +138,12 @@ public class ParametroCalculoController { | @@ -116,10 +138,12 @@ public class ParametroCalculoController { | ||
116 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") | 138 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") |
117 | public void atualizar(ParametroCalculo parametroCalculo) { | 139 | public void atualizar(ParametroCalculo parametroCalculo) { |
118 | 140 | ||
119 | - ParametroCalculo parametroCalculoCadastrado = dao.load(parametroCalculo.getId()); | 141 | + ParametroCalculo parametroCalculoCadastrado = dao.load(parametroCalculo |
142 | + .getId()); | ||
120 | parametroCalculoCadastrado.setTsFim(parametroCalculo.getTsFim()); | 143 | parametroCalculoCadastrado.setTsFim(parametroCalculo.getTsFim()); |
121 | parametroCalculoCadastrado.setUsuario(parametroCalculo.getUsuario()); | 144 | parametroCalculoCadastrado.setUsuario(parametroCalculo.getUsuario()); |
122 | - parametroCalculoCadastrado.setDescricao(parametroCalculo.getDescricao()); | 145 | + parametroCalculoCadastrado |
146 | + .setDescricao(parametroCalculo.getDescricao()); | ||
123 | 147 | ||
124 | if (parametroCalculo.getTsFim() != null) { | 148 | if (parametroCalculo.getTsFim() != null) { |
125 | if (parametroCalculo.getTsFim().before( | 149 | if (parametroCalculo.getTsFim().before( |
@@ -129,48 +153,52 @@ public class ParametroCalculoController { | @@ -129,48 +153,52 @@ public class ParametroCalculoController { | ||
129 | "O campo \"Fim\" deve ser maior que o campo \"Início\"!", | 153 | "O campo \"Fim\" deve ser maior que o campo \"Início\"!", |
130 | "parametroCalculo.tsFim")); | 154 | "parametroCalculo.tsFim")); |
131 | } | 155 | } |
132 | - }else if (parametroCalculo.getDescricao() == null) { | 156 | + } else if (parametroCalculo.getDescricao() == null) { |
133 | validator.add(new ValidationMessage(Messages | 157 | validator.add(new ValidationMessage(Messages |
134 | .getString("parametro_calculo.validacao.descricao"), | 158 | .getString("parametro_calculo.validacao.descricao"), |
135 | "parametroCalculo.descricao")); | 159 | "parametroCalculo.descricao")); |
136 | } | 160 | } |
137 | 161 | ||
138 | - // result.include("usuarioList", dao.getAllUsuarios()); | ||
139 | - // result.include("recomendacaoList", new RecomendacaoDAO(dao.getSession()).listAllAtivas(this.dao.load(parametroCalculo.getId()))); | ||
140 | - System.err.println(parametroCalculo.getId()+"Id do parametro de calculo"); | ||
141 | - | ||
142 | - validator.onErrorUsePageOf(ParametroCalculoController.class).form(parametroCalculo.getId()); | 162 | + // result.include("usuarioList", dao.getAllUsuarios()); |
163 | + // result.include("recomendacaoList", new | ||
164 | + // RecomendacaoDAO(dao.getSession()).listAllAtivas(this.dao.load(parametroCalculo.getId()))); | ||
165 | + System.err.println(parametroCalculo.getId() | ||
166 | + + "Id do parametro de calculo"); | ||
167 | + | ||
168 | + validator.onErrorUsePageOf(ParametroCalculoController.class).form( | ||
169 | + parametroCalculo.getId()); | ||
143 | 170 | ||
144 | dao.saveOrUpdate(parametroCalculoCadastrado); | 171 | dao.saveOrUpdate(parametroCalculoCadastrado); |
145 | 172 | ||
146 | - result.include("mensagem", | ||
147 | - "Parâmetro de Cálculo alterado com sucesso."); | 173 | + result.include("mensagem", "Parâmetro de Cálculo alterado com sucesso."); |
148 | result.redirectTo(ParametroCalculoController.class).index(1); | 174 | result.redirectTo(ParametroCalculoController.class).index(1); |
149 | } | 175 | } |
150 | 176 | ||
151 | @Path("/parametrosCalculo/delete/{id}") | 177 | @Path("/parametrosCalculo/delete/{id}") |
152 | @Restrito(descricao = "PARAMETRO_CALCULO_EXCLUIR") | 178 | @Restrito(descricao = "PARAMETRO_CALCULO_EXCLUIR") |
153 | public void excluir(Long id) { | 179 | public void excluir(Long id) { |
154 | - | ||
155 | - if(dao.listAll().size()>1){ | 180 | + if (dao.listAll().size() > 1) { |
156 | ParametroCalculo pa = dao.load(id); | 181 | ParametroCalculo pa = dao.load(id); |
157 | - if((pa.getTsFim()==null)){ | ||
158 | - dao.remove(id); | ||
159 | - | ||
160 | - pa = dao.getLastParametrosCalculo(); | ||
161 | - pa.setTsFim(null); | ||
162 | - dao.update(pa); | ||
163 | - result.include("mensagem", "Parametro de Cálculo excluído com sucesso."); | ||
164 | - }else{ | ||
165 | - result.include("mensagem", "Parametro de Cálculo não pode ser excluído pois não está ativo."); | 182 | + if ((pa.getTsFim() == null)) { |
183 | + dao.remove(id); | ||
184 | + | ||
185 | + pa = dao.getLastParametrosCalculo(); | ||
186 | + pa.setTsFim(null); | ||
187 | + dao.update(pa); | ||
188 | + result.include("mensagem", | ||
189 | + "Parametro de Cálculo excluído com sucesso."); | ||
190 | + } else { | ||
191 | + result.include("mensagem", | ||
192 | + "Parametro de Cálculo não pode ser excluído pois não está ativo."); | ||
166 | } | 193 | } |
167 | - }else{ | ||
168 | - result.include("mensagem", "Este é o único Parametro de Cálculo cadastrado e ele não pode ser excluído."); | 194 | + } else { |
195 | + result.include("mensagem", | ||
196 | + "Este é o único Parametro de Cálculo cadastrado e ele não pode ser excluído."); | ||
169 | } | 197 | } |
170 | - | 198 | + |
171 | result.redirectTo(ParametroCalculoController.class).lista(); | 199 | result.redirectTo(ParametroCalculoController.class).lista(); |
172 | } | 200 | } |
173 | - | 201 | + |
174 | @Get("/parametrosCalculo") | 202 | @Get("/parametrosCalculo") |
175 | @Restrito(descricao = "PARAMETRO_CALCULO_LISTA") | 203 | @Restrito(descricao = "PARAMETRO_CALCULO_LISTA") |
176 | public List<ParametroCalculo> lista() { | 204 | public List<ParametroCalculo> lista() { |
@@ -225,13 +253,15 @@ public class ParametroCalculoController { | @@ -225,13 +253,15 @@ public class ParametroCalculoController { | ||
225 | result.include("parametroCalculo", parametroCalculo); | 253 | result.include("parametroCalculo", parametroCalculo); |
226 | return dao.listAll(parametroCalculo); | 254 | return dao.listAll(parametroCalculo); |
227 | } | 255 | } |
228 | - | 256 | + |
229 | @Get("/parametrosCalculo/atualizar/{id}") | 257 | @Get("/parametrosCalculo/atualizar/{id}") |
230 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") | 258 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") |
231 | public ParametroCalculo form(Long id) { | 259 | public ParametroCalculo form(Long id) { |
232 | ParametroCalculo parametroCalculo = this.dao.load(id); | 260 | ParametroCalculo parametroCalculo = this.dao.load(id); |
233 | result.include("usuarioList", dao.getAllUsuarios()); | 261 | result.include("usuarioList", dao.getAllUsuarios()); |
234 | - result.include("recomendacaoList", new RecomendacaoDAO(dao.getSession()).listAllAtivas(parametroCalculo)); | 262 | + result.include("recomendacaoList", |
263 | + new RecomendacaoDAO(dao.getSession()) | ||
264 | + .listAllAtivas(parametroCalculo)); | ||
235 | 265 | ||
236 | return parametroCalculo; | 266 | return parametroCalculo; |
237 | } | 267 | } |
@@ -244,37 +274,168 @@ public class ParametroCalculoController { | @@ -244,37 +274,168 @@ public class ParametroCalculoController { | ||
244 | result.include("parametroCalculo", parametroCalculo); | 274 | result.include("parametroCalculo", parametroCalculo); |
245 | } | 275 | } |
246 | 276 | ||
247 | - private void criarNovoParametroCalculo(ParametroCalculo parametroCalculo, int tipo) { | ||
248 | - | 277 | + private void criarNovoParametroCalculo(ParametroCalculo parametroCalculo, |
278 | + int tipo) { | ||
249 | boolean ok = false; | 279 | boolean ok = false; |
250 | 280 | ||
251 | switch (tipo) { | 281 | switch (tipo) { |
252 | - case ParametroCalculoController.MODO_ADD: | ||
253 | - parametroCalculo.setId(0L); | ||
254 | - ok=true; | ||
255 | - break; | ||
256 | - | ||
257 | - case ParametroCalculoController.MODO_IMPORT: | ||
258 | - ok=true; | ||
259 | - break; | 282 | + case ParametroCalculoController.MODO_ADD: |
283 | + parametroCalculo.setId(0L); | ||
284 | + ok = true; | ||
285 | + break; | ||
286 | + | ||
287 | + case ParametroCalculoController.MODO_IMPORT: | ||
288 | + ok = true; | ||
289 | + break; | ||
260 | } | 290 | } |
261 | - | ||
262 | - if(ok){ | ||
263 | - new CopiadorParametroCalculo().criarNovoParametroCalculo(parametroCalculo, usuarioWeb, dao.getSession()); | ||
264 | - } | ||
265 | - | ||
266 | - | ||
267 | - | 291 | + |
292 | + if (ok) { | ||
293 | + new CopiadorParametroCalculo().criarNovoParametroCalculo( | ||
294 | + parametroCalculo, usuarioWeb, dao.getSession()); | ||
295 | + } | ||
296 | + | ||
268 | } | 297 | } |
269 | - | 298 | + |
270 | @Get("/parametrosCalculo/relatorio/{id}") | 299 | @Get("/parametrosCalculo/relatorio/{id}") |
271 | @Restrito(descricao = "PARAMETRO_CALCULO_RELATORIO") | 300 | @Restrito(descricao = "PARAMETRO_CALCULO_RELATORIO") |
272 | public ParametroCalculo relatorio(Long id) { | 301 | public ParametroCalculo relatorio(Long id) { |
273 | ParametroCalculo parametroCalculo = this.dao.load(id); | 302 | ParametroCalculo parametroCalculo = this.dao.load(id); |
274 | result.include("usuarioList", dao.getAllUsuarios()); | 303 | result.include("usuarioList", dao.getAllUsuarios()); |
275 | - result.include("recomendacaoList", new RecomendacaoDAO(dao.getSession()).listAllAtivas(parametroCalculo)); | 304 | + result.include("recomendacaoList", |
305 | + new RecomendacaoDAO(dao.getSession()) | ||
306 | + .listAllAtivas(parametroCalculo)); | ||
276 | 307 | ||
277 | return parametroCalculo; | 308 | return parametroCalculo; |
278 | } | 309 | } |
279 | 310 | ||
311 | + @Get("/parametrosCalculo/exportar/{id}/*") | ||
312 | + @Restrito(descricao = "PARAMETRO_CALCULO_LISTA") | ||
313 | + public File exportar(Long id) { | ||
314 | + File relatorio = new File("workbook.ods"); | ||
315 | + ParametroCalculo parametroCalculo = this.dao.load(id); | ||
316 | + List<Recomendacao> recomendacaoList = new RecomendacaoDAO( | ||
317 | + dao.getSession()).listAllAtivas(parametroCalculo); | ||
318 | + | ||
319 | + Workbook wb = new HSSFWorkbook(); | ||
320 | + FileOutputStream fileOut; | ||
321 | + | ||
322 | + Map<String, CellStyle> styles = createStyles(wb); | ||
323 | + CreationHelper createHelper = wb.getCreationHelper(); | ||
324 | + Sheet sheet = wb.createSheet("new sheet"); | ||
325 | + sheet.setPrintGridlines(false); | ||
326 | + sheet.setDisplayGridlines(false); | ||
327 | + | ||
328 | + short rows = 0; | ||
329 | + Row row = sheet.createRow(rows); | ||
330 | + Cell cell = row.createCell(0); | ||
331 | + cell.setCellValue(createHelper.createRichTextString(parametroCalculo | ||
332 | + .getDescricao())); | ||
333 | + cell.setCellStyle(styles.get("title")); | ||
334 | + sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$L$1")); | ||
335 | + rows += 3; | ||
336 | + | ||
337 | + for (Recomendacao recomendacao : recomendacaoList) { | ||
338 | + row = sheet.createRow(rows); | ||
339 | + cell = row.createCell(0); | ||
340 | + cell.setCellValue( | ||
341 | + createHelper.createRichTextString("Recomendação " | ||
342 | + + recomendacao.getNumeroRecomendacao())); | ||
343 | + cell.setCellStyle(styles.get("subtitle")); | ||
344 | + rows++; | ||
345 | + sheet.addMergedRegion(CellRangeAddress.valueOf("$A$"+rows+":$L$"+rows)); | ||
346 | + | ||
347 | + row = sheet.createRow(rows); | ||
348 | + cell = row.createCell(1); | ||
349 | + cell.setCellValue("Descrição"); | ||
350 | + cell.setCellStyle(styles.get("label")); | ||
351 | + row.createCell(2).setCellValue(recomendacao.getDescricao()); | ||
352 | + rows++; | ||
353 | + | ||
354 | + row = sheet.createRow(rows); | ||
355 | + cell = row.createCell(1); | ||
356 | + cell.setCellValue("Peso"); | ||
357 | + cell.setCellStyle(styles.get("label")); | ||
358 | + cell = row.createCell(2); | ||
359 | + cell.setCellValue(recomendacao.getPeso()); | ||
360 | + cell.setCellStyle(styles.get("numeric")); | ||
361 | + rows += 2; | ||
362 | + | ||
363 | + row = sheet.createRow(rows); | ||
364 | + cell = row.createCell(1); | ||
365 | + cell.setCellValue("Código"); | ||
366 | + cell.setCellStyle(styles.get("label")); | ||
367 | + cell = row.createCell(2); | ||
368 | + cell.setCellValue("Peso"); | ||
369 | + cell.setCellStyle(styles.get("label")); | ||
370 | + cell = row.createCell(3); | ||
371 | + cell.setCellValue("Critério"); | ||
372 | + cell.setCellStyle(styles.get("label")); | ||
373 | + rows++; | ||
374 | + | ||
375 | + for (Criterio criterio : recomendacao.getCriterios()) { | ||
376 | + row = sheet.createRow(rows); | ||
377 | + row.createCell(1).setCellValue(criterio.getNumeroCriterio()); | ||
378 | + row.createCell(2).setCellValue(criterio.getPeso()); | ||
379 | + row.createCell(3).setCellValue(criterio.getDescricao()); | ||
380 | + rows++; | ||
381 | + } | ||
382 | + | ||
383 | + rows += 2; | ||
384 | + } | ||
385 | + | ||
386 | + try { | ||
387 | + fileOut = new FileOutputStream(relatorio); | ||
388 | + wb.write(fileOut); | ||
389 | + } catch (FileNotFoundException e) { | ||
390 | + e.printStackTrace(); | ||
391 | + } catch (IOException e) { | ||
392 | + e.printStackTrace(); | ||
393 | + } | ||
394 | + | ||
395 | + return relatorio; | ||
396 | + } | ||
397 | + | ||
398 | + private static Map<String, CellStyle> createStyles(Workbook wb) { | ||
399 | + Map<String, CellStyle> styles = new HashMap<String, CellStyle>(); | ||
400 | + | ||
401 | + CellStyle style; | ||
402 | + Font fontLargeBold = wb.createFont(); | ||
403 | + fontLargeBold.setFontHeightInPoints((short) 12); | ||
404 | + fontLargeBold.setFontName("Arial"); | ||
405 | + fontLargeBold.setBoldweight(Font.BOLDWEIGHT_BOLD); | ||
406 | + | ||
407 | + Font fontMediumBold = wb.createFont(); | ||
408 | + fontMediumBold.setFontHeightInPoints((short) 11); | ||
409 | + fontMediumBold.setFontName("Arial"); | ||
410 | + fontMediumBold.setBoldweight(Font.BOLDWEIGHT_BOLD); | ||
411 | + | ||
412 | + Font fontNormalBold = wb.createFont(); | ||
413 | + fontNormalBold.setFontHeightInPoints((short) 10); | ||
414 | + fontNormalBold.setFontName("Arial"); | ||
415 | + fontNormalBold.setBoldweight(Font.BOLDWEIGHT_BOLD); | ||
416 | + | ||
417 | + style = wb.createCellStyle(); | ||
418 | + style.setAlignment(CellStyle.ALIGN_CENTER); | ||
419 | + style.setFont(fontLargeBold); | ||
420 | + styles.put("title", style); | ||
421 | + | ||
422 | + style = wb.createCellStyle(); | ||
423 | + style.setAlignment(CellStyle.ALIGN_LEFT); | ||
424 | + style.setFont(fontMediumBold); | ||
425 | + style.setBorderBottom(CellStyle.BORDER_DOTTED); | ||
426 | + style.setBottomBorderColor(IndexedColors.GREY_40_PERCENT.getIndex()); | ||
427 | + styles.put("subtitle", style); | ||
428 | + | ||
429 | + style = wb.createCellStyle(); | ||
430 | + style.setAlignment(CellStyle.ALIGN_LEFT); | ||
431 | + style.setFont(fontNormalBold); | ||
432 | + styles.put("label", style); | ||
433 | + | ||
434 | + style = wb.createCellStyle(); | ||
435 | + style.setAlignment(CellStyle.ALIGN_LEFT); | ||
436 | + style.setDataFormat(wb.createDataFormat().getFormat("0")); | ||
437 | + styles.put("numeric", style); | ||
438 | + | ||
439 | + return styles; | ||
440 | + } | ||
280 | } | 441 | } |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ParametroCalculo.java
@@ -23,6 +23,8 @@ import org.hibernate.annotations.Fetch; | @@ -23,6 +23,8 @@ import org.hibernate.annotations.Fetch; | ||
23 | import org.hibernate.annotations.FetchMode; | 23 | import org.hibernate.annotations.FetchMode; |
24 | import org.hibernate.annotations.ForeignKey; | 24 | import org.hibernate.annotations.ForeignKey; |
25 | 25 | ||
26 | +import br.com.eselo.component.Util; | ||
27 | + | ||
26 | @Entity | 28 | @Entity |
27 | @Table(name = "sel_parametro_calculo") | 29 | @Table(name = "sel_parametro_calculo") |
28 | public class ParametroCalculo { | 30 | public class ParametroCalculo { |
@@ -30,7 +32,7 @@ public class ParametroCalculo { | @@ -30,7 +32,7 @@ public class ParametroCalculo { | ||
30 | public ParametroCalculo() { | 32 | public ParametroCalculo() { |
31 | this.recomendacoes = new ArrayList<Recomendacao>(); | 33 | this.recomendacoes = new ArrayList<Recomendacao>(); |
32 | } | 34 | } |
33 | - | 35 | + |
34 | @Id | 36 | @Id |
35 | @SequenceGenerator(name = "sel_parametro_calculo_id_parametro_calculo_seq", sequenceName = "sel_parametro_calculo_id_parametro_calculo_seq") | 37 | @SequenceGenerator(name = "sel_parametro_calculo_id_parametro_calculo_seq", sequenceName = "sel_parametro_calculo_id_parametro_calculo_seq") |
36 | @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_parametro_calculo_id_parametro_calculo_seq") | 38 | @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_parametro_calculo_id_parametro_calculo_seq") |
@@ -44,7 +46,7 @@ public class ParametroCalculo { | @@ -44,7 +46,7 @@ public class ParametroCalculo { | ||
44 | @Column(name = "ts_fim", columnDefinition = "timestamp without time zone") | 46 | @Column(name = "ts_fim", columnDefinition = "timestamp without time zone") |
45 | @Temporal(TemporalType.TIMESTAMP) | 47 | @Temporal(TemporalType.TIMESTAMP) |
46 | private Date tsFim; | 48 | private Date tsFim; |
47 | - | 49 | + |
48 | @Column(name = "ds_descricao", nullable = false) | 50 | @Column(name = "ds_descricao", nullable = false) |
49 | private String descricao; | 51 | private String descricao; |
50 | 52 | ||
@@ -56,7 +58,7 @@ public class ParametroCalculo { | @@ -56,7 +58,7 @@ public class ParametroCalculo { | ||
56 | 58 | ||
57 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) | 59 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) |
58 | private List<Recomendacao> recomendacoes; | 60 | private List<Recomendacao> recomendacoes; |
59 | - | 61 | + |
60 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) | 62 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) |
61 | private List<Avaliacao> avaliacoes; | 63 | private List<Avaliacao> avaliacoes; |
62 | 64 | ||
@@ -67,15 +69,14 @@ public class ParametroCalculo { | @@ -67,15 +69,14 @@ public class ParametroCalculo { | ||
67 | public void setAvaliacoes(List<Avaliacao> avaliacoes) { | 69 | public void setAvaliacoes(List<Avaliacao> avaliacoes) { |
68 | this.avaliacoes = avaliacoes; | 70 | this.avaliacoes = avaliacoes; |
69 | } | 71 | } |
70 | - | ||
71 | - public void addAvaliacao(Avaliacao avaliacao){ | 72 | + |
73 | + public void addAvaliacao(Avaliacao avaliacao) { | ||
72 | this.avaliacoes.add(avaliacao); | 74 | this.avaliacoes.add(avaliacao); |
73 | } | 75 | } |
74 | - | ||
75 | - public void removeAvaliacao(Avaliacao avaliacao){ | 76 | + |
77 | + public void removeAvaliacao(Avaliacao avaliacao) { | ||
76 | this.avaliacoes.remove(avaliacao); | 78 | this.avaliacoes.remove(avaliacao); |
77 | } | 79 | } |
78 | - | ||
79 | 80 | ||
80 | public List<Recomendacao> getRecomendacoes() { | 81 | public List<Recomendacao> getRecomendacoes() { |
81 | return recomendacoes; | 82 | return recomendacoes; |
@@ -85,14 +86,14 @@ public class ParametroCalculo { | @@ -85,14 +86,14 @@ public class ParametroCalculo { | ||
85 | this.recomendacoes = recomendacoes; | 86 | this.recomendacoes = recomendacoes; |
86 | } | 87 | } |
87 | 88 | ||
88 | - public void addRecomendacao(Recomendacao recomendacao){ | 89 | + public void addRecomendacao(Recomendacao recomendacao) { |
89 | this.recomendacoes.add(recomendacao); | 90 | this.recomendacoes.add(recomendacao); |
90 | } | 91 | } |
91 | - | ||
92 | - public void removeRecomendacao(Recomendacao recomendacao){ | 92 | + |
93 | + public void removeRecomendacao(Recomendacao recomendacao) { | ||
93 | this.recomendacoes.remove(recomendacao); | 94 | this.recomendacoes.remove(recomendacao); |
94 | } | 95 | } |
95 | - | 96 | + |
96 | public Long getId() { | 97 | public Long getId() { |
97 | return id; | 98 | return id; |
98 | } | 99 | } |
@@ -124,7 +125,7 @@ public class ParametroCalculo { | @@ -124,7 +125,7 @@ public class ParametroCalculo { | ||
124 | public void setUsuario(Usuario usuario) { | 125 | public void setUsuario(Usuario usuario) { |
125 | this.usuario = usuario; | 126 | this.usuario = usuario; |
126 | } | 127 | } |
127 | - | 128 | + |
128 | public String getDescricao() { | 129 | public String getDescricao() { |
129 | return descricao; | 130 | return descricao; |
130 | } | 131 | } |
@@ -132,4 +133,9 @@ public class ParametroCalculo { | @@ -132,4 +133,9 @@ public class ParametroCalculo { | ||
132 | public void setDescricao(String descricao) { | 133 | public void setDescricao(String descricao) { |
133 | this.descricao = descricao; | 134 | this.descricao = descricao; |
134 | } | 135 | } |
136 | + | ||
137 | + public String getSlug() { | ||
138 | + return Util.toSlug(descricao); | ||
139 | + } | ||
140 | + | ||
135 | } | 141 | } |