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 | 67 | <td>${parametroCalculo.usuario.nome}</td> |
68 | 68 | <td> |
69 | 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 | 70 | <a href="<c:url value="/parametrosCalculo/atualizar/${parametroCalculo.id}" />" class="btn btn-default btn-sm">Consultar</a> |
72 | 71 | <c:if test="${parametroCalculo.tsFim == null}"> |
73 | 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 | 74 | </c:if> |
75 | 75 | </div> |
76 | 76 | </td> | ... | ... |
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroCalculoController.java
1 | 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 | 7 | import java.util.ArrayList; |
8 | +import java.util.HashMap; | |
4 | 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 | 23 | import br.com.caelum.vraptor.Get; |
7 | 24 | import br.com.caelum.vraptor.Path; |
... | ... | @@ -17,7 +34,9 @@ import br.com.eselo.component.Messages; |
17 | 34 | import br.com.eselo.component.UsuarioWeb; |
18 | 35 | import br.com.eselo.dao.ParametroCalculoDAO; |
19 | 36 | import br.com.eselo.dao.RecomendacaoDAO; |
37 | +import br.com.eselo.model.Criterio; | |
20 | 38 | import br.com.eselo.model.ParametroCalculo; |
39 | +import br.com.eselo.model.Recomendacao; | |
21 | 40 | |
22 | 41 | @Resource |
23 | 42 | public class ParametroCalculoController { |
... | ... | @@ -26,15 +45,15 @@ public class ParametroCalculoController { |
26 | 45 | private final Result result; |
27 | 46 | private final Validator validator; |
28 | 47 | private final UsuarioWeb usuarioWeb; |
29 | - | |
48 | + | |
30 | 49 | protected static final int MODO_ADD = 1; |
31 | 50 | protected static final int MODO_EDIT = 2; |
32 | 51 | protected static final int MODO_DELETE = 3; |
33 | 52 | protected static final int MODO_IMPORT = 4; |
34 | 53 | |
35 | 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 | 57 | dao = _dao; |
39 | 58 | result = _result; |
40 | 59 | validator = _validator; |
... | ... | @@ -49,24 +68,27 @@ public class ParametroCalculoController { |
49 | 68 | parametroCalculo.setTsInicio(new java.util.Date()); |
50 | 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 | 75 | @Get("/parametrosCalculo/importar/") |
56 | 76 | @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR") |
57 | 77 | public void importar(long idParametroCalculo) { |
58 | 78 | String mensagem; |
59 | - if(idParametroCalculo==0){ | |
60 | - criarNovoParametroCalculo(new ParametroCalculo(),MODO_ADD); | |
79 | + if (idParametroCalculo == 0) { | |
80 | + criarNovoParametroCalculo(new ParametroCalculo(), MODO_ADD); | |
61 | 81 | mensagem = "Novo parâmetro criado [sem recomendações ou critérios associados]!"; |
62 | - }else{ | |
82 | + } else { | |
63 | 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 | 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 | 94 | @Post("/parametrosCalculo") |
... | ... | @@ -103,7 +125,7 @@ public class ParametroCalculoController { |
103 | 125 | if (ultimo != null) { |
104 | 126 | ultimo.setTsFim(parametroCalculo.getTsInicio()); |
105 | 127 | dao.update(ultimo); |
106 | - }else if (parametroCalculo.getDescricao() == null) { | |
128 | + } else if (parametroCalculo.getDescricao() == null) { | |
107 | 129 | validator.add(new ValidationMessage(Messages |
108 | 130 | .getString("parametro_calculo.validacao.descricao"), |
109 | 131 | "parametroCalculo.descricao")); |
... | ... | @@ -116,10 +138,12 @@ public class ParametroCalculoController { |
116 | 138 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") |
117 | 139 | public void atualizar(ParametroCalculo parametroCalculo) { |
118 | 140 | |
119 | - ParametroCalculo parametroCalculoCadastrado = dao.load(parametroCalculo.getId()); | |
141 | + ParametroCalculo parametroCalculoCadastrado = dao.load(parametroCalculo | |
142 | + .getId()); | |
120 | 143 | parametroCalculoCadastrado.setTsFim(parametroCalculo.getTsFim()); |
121 | 144 | parametroCalculoCadastrado.setUsuario(parametroCalculo.getUsuario()); |
122 | - parametroCalculoCadastrado.setDescricao(parametroCalculo.getDescricao()); | |
145 | + parametroCalculoCadastrado | |
146 | + .setDescricao(parametroCalculo.getDescricao()); | |
123 | 147 | |
124 | 148 | if (parametroCalculo.getTsFim() != null) { |
125 | 149 | if (parametroCalculo.getTsFim().before( |
... | ... | @@ -129,48 +153,52 @@ public class ParametroCalculoController { |
129 | 153 | "O campo \"Fim\" deve ser maior que o campo \"Início\"!", |
130 | 154 | "parametroCalculo.tsFim")); |
131 | 155 | } |
132 | - }else if (parametroCalculo.getDescricao() == null) { | |
156 | + } else if (parametroCalculo.getDescricao() == null) { | |
133 | 157 | validator.add(new ValidationMessage(Messages |
134 | 158 | .getString("parametro_calculo.validacao.descricao"), |
135 | 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 | 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 | 174 | result.redirectTo(ParametroCalculoController.class).index(1); |
149 | 175 | } |
150 | 176 | |
151 | 177 | @Path("/parametrosCalculo/delete/{id}") |
152 | 178 | @Restrito(descricao = "PARAMETRO_CALCULO_EXCLUIR") |
153 | 179 | public void excluir(Long id) { |
154 | - | |
155 | - if(dao.listAll().size()>1){ | |
180 | + if (dao.listAll().size() > 1) { | |
156 | 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 | 199 | result.redirectTo(ParametroCalculoController.class).lista(); |
172 | 200 | } |
173 | - | |
201 | + | |
174 | 202 | @Get("/parametrosCalculo") |
175 | 203 | @Restrito(descricao = "PARAMETRO_CALCULO_LISTA") |
176 | 204 | public List<ParametroCalculo> lista() { |
... | ... | @@ -225,13 +253,15 @@ public class ParametroCalculoController { |
225 | 253 | result.include("parametroCalculo", parametroCalculo); |
226 | 254 | return dao.listAll(parametroCalculo); |
227 | 255 | } |
228 | - | |
256 | + | |
229 | 257 | @Get("/parametrosCalculo/atualizar/{id}") |
230 | 258 | @Restrito(descricao = "PARAMETRO_CALCULO_ATUALIZAR") |
231 | 259 | public ParametroCalculo form(Long id) { |
232 | 260 | ParametroCalculo parametroCalculo = this.dao.load(id); |
233 | 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 | 266 | return parametroCalculo; |
237 | 267 | } |
... | ... | @@ -244,37 +274,168 @@ public class ParametroCalculoController { |
244 | 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 | 279 | boolean ok = false; |
250 | 280 | |
251 | 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 | 299 | @Get("/parametrosCalculo/relatorio/{id}") |
271 | 300 | @Restrito(descricao = "PARAMETRO_CALCULO_RELATORIO") |
272 | 301 | public ParametroCalculo relatorio(Long id) { |
273 | 302 | ParametroCalculo parametroCalculo = this.dao.load(id); |
274 | 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 | 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 | 23 | import org.hibernate.annotations.FetchMode; |
24 | 24 | import org.hibernate.annotations.ForeignKey; |
25 | 25 | |
26 | +import br.com.eselo.component.Util; | |
27 | + | |
26 | 28 | @Entity |
27 | 29 | @Table(name = "sel_parametro_calculo") |
28 | 30 | public class ParametroCalculo { |
... | ... | @@ -30,7 +32,7 @@ public class ParametroCalculo { |
30 | 32 | public ParametroCalculo() { |
31 | 33 | this.recomendacoes = new ArrayList<Recomendacao>(); |
32 | 34 | } |
33 | - | |
35 | + | |
34 | 36 | @Id |
35 | 37 | @SequenceGenerator(name = "sel_parametro_calculo_id_parametro_calculo_seq", sequenceName = "sel_parametro_calculo_id_parametro_calculo_seq") |
36 | 38 | @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_parametro_calculo_id_parametro_calculo_seq") |
... | ... | @@ -44,7 +46,7 @@ public class ParametroCalculo { |
44 | 46 | @Column(name = "ts_fim", columnDefinition = "timestamp without time zone") |
45 | 47 | @Temporal(TemporalType.TIMESTAMP) |
46 | 48 | private Date tsFim; |
47 | - | |
49 | + | |
48 | 50 | @Column(name = "ds_descricao", nullable = false) |
49 | 51 | private String descricao; |
50 | 52 | |
... | ... | @@ -56,7 +58,7 @@ public class ParametroCalculo { |
56 | 58 | |
57 | 59 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Recomendacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) |
58 | 60 | private List<Recomendacao> recomendacoes; |
59 | - | |
61 | + | |
60 | 62 | @OneToMany(mappedBy = "parametroCalculo", targetEntity = br.com.eselo.model.Avaliacao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL) |
61 | 63 | private List<Avaliacao> avaliacoes; |
62 | 64 | |
... | ... | @@ -67,15 +69,14 @@ public class ParametroCalculo { |
67 | 69 | public void setAvaliacoes(List<Avaliacao> avaliacoes) { |
68 | 70 | this.avaliacoes = avaliacoes; |
69 | 71 | } |
70 | - | |
71 | - public void addAvaliacao(Avaliacao avaliacao){ | |
72 | + | |
73 | + public void addAvaliacao(Avaliacao avaliacao) { | |
72 | 74 | this.avaliacoes.add(avaliacao); |
73 | 75 | } |
74 | - | |
75 | - public void removeAvaliacao(Avaliacao avaliacao){ | |
76 | + | |
77 | + public void removeAvaliacao(Avaliacao avaliacao) { | |
76 | 78 | this.avaliacoes.remove(avaliacao); |
77 | 79 | } |
78 | - | |
79 | 80 | |
80 | 81 | public List<Recomendacao> getRecomendacoes() { |
81 | 82 | return recomendacoes; |
... | ... | @@ -85,14 +86,14 @@ public class ParametroCalculo { |
85 | 86 | this.recomendacoes = recomendacoes; |
86 | 87 | } |
87 | 88 | |
88 | - public void addRecomendacao(Recomendacao recomendacao){ | |
89 | + public void addRecomendacao(Recomendacao recomendacao) { | |
89 | 90 | this.recomendacoes.add(recomendacao); |
90 | 91 | } |
91 | - | |
92 | - public void removeRecomendacao(Recomendacao recomendacao){ | |
92 | + | |
93 | + public void removeRecomendacao(Recomendacao recomendacao) { | |
93 | 94 | this.recomendacoes.remove(recomendacao); |
94 | 95 | } |
95 | - | |
96 | + | |
96 | 97 | public Long getId() { |
97 | 98 | return id; |
98 | 99 | } |
... | ... | @@ -124,7 +125,7 @@ public class ParametroCalculo { |
124 | 125 | public void setUsuario(Usuario usuario) { |
125 | 126 | this.usuario = usuario; |
126 | 127 | } |
127 | - | |
128 | + | |
128 | 129 | public String getDescricao() { |
129 | 130 | return descricao; |
130 | 131 | } |
... | ... | @@ -132,4 +133,9 @@ public class ParametroCalculo { |
132 | 133 | public void setDescricao(String descricao) { |
133 | 134 | this.descricao = descricao; |
134 | 135 | } |
136 | + | |
137 | + public String getSlug() { | |
138 | + return Util.toSlug(descricao); | |
139 | + } | |
140 | + | |
135 | 141 | } | ... | ... |