1
2
3
4 package ecar.dao;
5
6 import java.math.BigDecimal;
7 import java.text.DecimalFormat;
8 import java.util.ArrayList;
9 import java.util.Date;
10 import java.util.HashSet;
11 import java.util.Iterator;
12 import java.util.List;
13 import java.util.Set;
14
15 import javax.servlet.http.HttpServletRequest;
16
17 import org.hibernate.HibernateException;
18 import org.hibernate.Query;
19 import org.hibernate.Transaction;
20
21 import comum.database.Dao;
22 import comum.util.Data;
23 import comum.util.Pagina;
24 import comum.util.Util;
25
26 import ecar.exception.ECARException;
27 import ecar.pojo.AcompRealFisicoArf;
28 import ecar.pojo.ConfiguracaoCfg;
29 import ecar.pojo.Cor;
30 import ecar.pojo.EstruturaFuncaoEttf;
31 import ecar.pojo.ExercicioExe;
32 import ecar.pojo.HistoricoIettfH;
33 import ecar.pojo.HistoricoIettrH;
34 import ecar.pojo.HistoricoMaster;
35 import ecar.pojo.HistoricoMotivo;
36 import ecar.pojo.ItemEstrtIndResulCorIettrcor;
37 import ecar.pojo.ItemEstrtIndResulIettr;
38 import ecar.pojo.ItemEstrutFisicoIettf;
39 import ecar.pojo.ItemEstrutFisicoIettfPK;
40 import ecar.pojo.ItemEstruturaIett;
41 import ecar.pojo.PaiFilho;
42 import ecar.pojo.PeriodicidadePrdc;
43 import ecar.pojo.ServicoSer;
44 import ecar.pojo.SisAtributoSatb;
45 import ecar.pojo.SisGrupoAtributoSga;
46 import ecar.pojo.UsuarioUsu;
47 import ecar.taglib.util.Input;
48 import ecar.util.Dominios;
49
50
51
52
53 public class ItemEstrtIndResulDao extends Dao {
54
55
56
57 public ItemEstrtIndResulDao(HttpServletRequest request) {
58 super();
59 this.request = request;
60 }
61
62
63
64
65
66
67
68
69 public void setItemEstrtIndResul(HttpServletRequest request, ItemEstrtIndResulIettr itemEstrtIndResul) throws ECARException {
70
71 SisGrupoAtributoSga grupoMetas = new ConfiguracaoDao(request).getConfiguracao().getSisGrupoAtributoSgaByCodSgaGrAtrMetasFisicas();
72
73 itemEstrtIndResul.setItemEstruturaIett((ItemEstruturaIett) this.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett"))));
74 itemEstrtIndResul.setNomeIettir(Pagina.getParamStr(request, "nomeIettir"));
75 itemEstrtIndResul.setDescricaoIettir(Pagina.getParamStr(request, "descricaoIettir"));
76 itemEstrtIndResul.setIndProjecaoIettr(Pagina.getParamStr(request, "indProjecaoIettr"));
77 itemEstrtIndResul.setIndAcumulavelIettr(Pagina.getParamStr(request, "indAcumulavelIettr"));
78 itemEstrtIndResul.setIndPublicoIettr(Pagina.getParamStr(request, "indPublicoIettr"));
79
80 itemEstrtIndResul.setFonteIettr(Pagina.getParamStr(request, "fonteIettr"));
81 itemEstrtIndResul.setFormulaIettr(Pagina.getParamStr(request, "formulaIettr"));
82
83
84 itemEstrtIndResul.setIndAtivoIettr(Dominios.SIM);
85
86 if (!"".equals(Pagina.getParamStr(request, "dataApuracaoIettr"))) {
87 itemEstrtIndResul.setDataApuracaoIettr(Data.parseDate(Pagina.getParamStr(request, "dataApuracaoIettr")));
88 }
89 else {
90 itemEstrtIndResul.setDataApuracaoIettr(null);
91 }
92
93 if (!"".equals(Pagina.getParamStr(request, "periodicidadePrdc"))) {
94 itemEstrtIndResul.setPeriodicidadePrdc((PeriodicidadePrdc) this.buscar(PeriodicidadePrdc.class, Long.valueOf(Pagina.getParamStr(request, "periodicidadePrdc"))));
95 }
96 else {
97 itemEstrtIndResul.setPeriodicidadePrdc(null);
98 }
99
100 if (!"".equals(Pagina.getParamStr(request, "indiceMaisRecenteIettr"))) {
101 DecimalFormat dff = (DecimalFormat) DecimalFormat.getInstance();
102 Double indiceMaisRecente = new Double("0");
103 String indiceMaisRecenteString = Pagina.getParamStr(request, "indiceMaisRecenteIettr");
104
105 try {
106 indiceMaisRecente = dff.parse(indiceMaisRecenteString).doubleValue();
107 } catch (Exception e) {
108
109 }
110
111 itemEstrtIndResul.setIndiceMaisRecenteIettr(indiceMaisRecente);
112 }
113 else {
114 itemEstrtIndResul.setIndiceMaisRecenteIettr(null);
115 }
116
117
118
119 String indPrevPorLocal = Pagina.getParamStr(request, "indPrevPorLocal");
120 if ("".equals(indPrevPorLocal.trim()))
121 indPrevPorLocal = "N";
122 itemEstrtIndResul.setIndPrevPorLocal(indPrevPorLocal);
123
124
125
126 String indRealPorLocal = Pagina.getParamStr(request, "indRealPorLocal");
127 if ("".equals(indRealPorLocal.trim()))
128 indRealPorLocal = "N";
129 itemEstrtIndResul.setIndRealPorLocal(indRealPorLocal);
130
131 itemEstrtIndResul.setIndTipoQtde(Pagina.getParamStr(request, "indTipoQtde"));
132
133 if (!"".equals(Pagina.getParamStr(request, "indValorFinalIettr"))) {
134 itemEstrtIndResul.setIndValorFinalIettr(Pagina.getParamStr(request, "indValorFinalIettr"));
135 }
136 else {
137 itemEstrtIndResul.setIndValorFinalIettr(null);
138 }
139
140 if (grupoMetas != null) {
141 String nomeCampo = "a" + grupoMetas.getCodSga().toString();
142 if (!"".equals(Pagina.getParamStr(request, nomeCampo))) {
143 itemEstrtIndResul.setSisAtributoSatb((SisAtributoSatb) new SisAtributoDao(null).buscar(SisAtributoSatb.class, Long.valueOf(Pagina.getParamStr(request, nomeCampo))));
144 }
145 }
146
147
148
149
150
151
152 SisGrupoAtributoSga grupoUnidades = new ConfiguracaoDao(request).getConfiguracao().getSisGrupoAtributoSgaByUnidMedida();
153
154 if (grupoUnidades != null) {
155 String nomeCampo = "a" + grupoUnidades.getCodSga().toString();
156 if (!"".equals(Pagina.getParamStr(request, nomeCampo))) {
157 if (grupoUnidades.getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.TEXT)) || grupoUnidades.getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.TEXTAREA)) || grupoUnidades.getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.MULTITEXTO)) || grupoUnidades.getSisTipoExibicGrupoSteg().getCodSteg().equals(new Long(Input.VALIDACAO))) {
158
159 itemEstrtIndResul.setCodUnidMedidaIettr((SisAtributoSatb) new SisAtributoDao(null).buscar(SisAtributoSatb.class, Long.valueOf(Pagina.getParamStr(request, "codigoSisAtbUnidadeMedida"))));
160 }
161 else {
162
163 itemEstrtIndResul.setCodUnidMedidaIettr((SisAtributoSatb) new SisAtributoDao(null).buscar(SisAtributoSatb.class, Long.valueOf(Pagina.getParamStr(request, nomeCampo))));
164 }
165 }
166 itemEstrtIndResul.setUnidMedidaIettr("");
167 }
168 else {
169 itemEstrtIndResul.setUnidMedidaIettr(Pagina.getParamStr(request, "unidMedidaIettr"));
170 itemEstrtIndResul.setCodUnidMedidaIettr(null);
171 }
172
173
174 if (!"".equals(Pagina.getParamStr(request, "labelGraficoGrupoIettir"))) {
175 itemEstrtIndResul.setLabelGraficoGrupoIettir(Pagina.getParamStr(request, "labelGraficoGrupoIettir").toUpperCase());
176 }
177 else {
178 itemEstrtIndResul.setLabelGraficoGrupoIettir(null);
179 }
180
181
182 if (!"".equals(Pagina.getParamStr(request, "ind_sinalizacao"))) {
183 itemEstrtIndResul.setIndSinalizacaoIettr(Pagina.getParamStr(request, "ind_sinalizacao"));
184 }
185 else {
186 itemEstrtIndResul.setIndSinalizacaoIettr(null);
187 }
188
189
190
191
192 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() == null) {
193 this.setItemEstrtIndResulCorIettrcor(request, itemEstrtIndResul);
194 }
195
196
197 itemEstrtIndResul.setIndTipoAtualizacaoPrevisto(Pagina.getParamStr(request, "indTipoAtualizacaoPrevisto"));
198 itemEstrtIndResul.setIndTipoAtualizacaoRealizado(Pagina.getParamStr(request, "indTipoAtualizacaoRealizado"));
199
200
201 if (!"".equals(Pagina.getParamStr(request, "previstoServicoSer"))) {
202 itemEstrtIndResul.setPrevistoServicoSer((ServicoSer) ((ServicoSer) this.buscar(ServicoSer.class, Long.valueOf(Pagina.getParamStr(request, "previstoServicoSer")))));
203 }
204 else {
205 itemEstrtIndResul.setPrevistoServicoSer(null);
206 }
207
208
209 if (!"".equals(Pagina.getParamStr(request, "realizadoServicoSer"))) {
210 itemEstrtIndResul.setRealizadoServicoSer((ServicoSer) ((ServicoSer) this.buscar(ServicoSer.class, Long.valueOf(Pagina.getParamStr(request, "realizadoServicoSer")))));
211 }
212 else {
213 itemEstrtIndResul.setRealizadoServicoSer(null);
214 }
215 }
216
217 public void setItemEstrtIndResulCorIettrcor(HttpServletRequest request, ItemEstrtIndResulIettr itemEstrtIndResul) throws ECARException {
218
219 ItemEstrtIndResulCorIettrcor iettrCor = null;
220 int quantidadeCores = 0;
221 if (Pagina.getParamStr(request, "quantidadeCores") != null && !Pagina.getParamStr(request, "quantidadeCores").equals("")) {
222 quantidadeCores = Integer.valueOf(Pagina.getParamStr(request, "quantidadeCores"));
223 }
224
225 for (int count = 1; count <= quantidadeCores; count++) {
226
227 if (Pagina.getParamStr(request, "cor_" + count) != null && !Pagina.getParamStr(request, "cor_" + count).equals("")) {
228
229 iettrCor = new ItemEstrtIndResulCorIettrcor();
230
231 iettrCor.setCor((Cor) new CorDao(request).buscar(Cor.class, Long.valueOf(Pagina.getParamStr(request, "cor_" + count))));
232
233 iettrCor.setItemEstrtIndResulIettr(itemEstrtIndResul);
234
235 if (!Pagina.getParamStr(request, "valor_" + count).equals("") && !Pagina.getParamStr(request, "valor_" + count).equals("Maior Valor")) {
236 iettrCor.setValorPrimEmailIettrcor(new BigDecimal(Double.valueOf(Util.formataNumero(Pagina.getParamStr(request, "valor_" + count))).doubleValue()));
237 }
238 else if (Pagina.getParamStr(request, "valor_" + count).equals("Maior Valor")) {
239 iettrCor.setValorPrimEmailIettrcor(null);
240 iettrCor.setIndMaiorValorIettrcor("S");
241 }
242 else {
243 iettrCor.setValorPrimEmailIettrcor(null);
244 iettrCor.setIndMaiorValorIettrcor("N");
245 }
246
247 if (count == 1) {
248 iettrCor.setIndMenorValorIettrcor("S");
249 }
250 else {
251 iettrCor.setIndMenorValorIettrcor("N");
252 }
253
254 iettrCor.setFrequenciaEnvioEmailIettrcor(Integer.valueOf(Pagina.getParamInt(request, "freq_" + count)));
255 iettrCor.setIndAtivoEnvioEmailIettrcor("S".equals(Pagina.getParamStr(request, "ativo[" + count + "]").trim()) ? "S" : "N");
256
257 iettrCor.setSequenciaIettrcor(Integer.valueOf(count));
258
259 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() == null)
260 itemEstrtIndResul.setItemEstrtIndResulCorIettrcores(new HashSet());
261 itemEstrtIndResul.getItemEstrtIndResulCorIettrcores().add(iettrCor);
262
263 }
264 }
265
266
267
268 }
269
270
271
272
273
274
275
276 public void excluir(String[] codigosParaExcluir, UsuarioUsu usuario) throws ECARException {
277
278 Transaction tx = null;
279 List<ItemEstrtIndResulIettr> indicadoresParaExcluir = new ArrayList<ItemEstrtIndResulIettr>();
280
281 try {
282
283 tx = session.beginTransaction();
284
285 for (int i = 0; i < codigosParaExcluir.length; i++) {
286
287 ItemEstrtIndResulIettr itemEstrtIndResul = (ItemEstrtIndResulIettr) buscar(ItemEstrtIndResulIettr.class, Long.valueOf(codigosParaExcluir[i]));
288
289 if (verificarExistenciaEmAcompRealFisicoArf(itemEstrtIndResul))
290 throw new ECARException("itemEstrutura.indResultado.exclusao.exiteEmArf", null, new String[] { itemEstrtIndResul.getNomeIettir() });
291
292 ConfiguracaoDao dao = new ConfiguracaoDao(request);
293 ConfiguracaoCfg config = dao.getConfiguracao();
294
295 HistoricoMaster historicoMaster = new HistoricoMaster();
296
297 if ("S".equals(config.getIndGerarHistoricoCfg())) {
298
299 historicoMaster.setDataHoraHistorico(new Date());
300 historicoMaster.setUsuManutencao(usuario);
301 historicoMaster.setCodReferenciaGeral(itemEstrtIndResul.getItemEstruturaIett().getCodIett());
302 historicoMaster.setHistoricoMotivo((HistoricoMotivo) super.buscar(HistoricoMotivo.class, Long.valueOf(24)));
303 session.save(historicoMaster);
304
305 HistoricoIettrH iettrh = new HistoricoIettrH();
306 ItemEstrtIndResulIettr iettrhAntesAlteracao = (ItemEstrtIndResulIettr) super.buscar(ItemEstrtIndResulIettr.class, itemEstrtIndResul.getCodIettir());
307 iettrh.setItemEstruturaIett(iettrhAntesAlteracao.getItemEstruturaIett());
308 iettrh.setUnidMedidaIettr(iettrhAntesAlteracao.getUnidMedidaIettr());
309 iettrh.setDescricaoIettir(iettrhAntesAlteracao.getDescricaoIettir());
310 iettrh.setNomeIettir(iettrhAntesAlteracao.getNomeIettir());
311 iettrh.setIndProjecaoIettr(iettrhAntesAlteracao.getIndProjecaoIettr());
312 iettrh.setIndAcumulavelIettr(iettrhAntesAlteracao.getIndAcumulavelIettr());
313 iettrh.setIndTipoQtde(iettrhAntesAlteracao.getIndTipoQtde());
314 iettrh.setIndValorFinalIettr(iettrhAntesAlteracao.getIndValorFinalIettr());
315 iettrh.setIndRealPorLocal(iettrhAntesAlteracao.getIndRealPorLocal());
316 iettrh.setIndPublicoIettr(iettrhAntesAlteracao.getIndPublicoIettr());
317
318
319 iettrh.setIndPrevPorLocal(iettrhAntesAlteracao.getIndPrevPorLocal());
320
321
322 iettrh.setSisAtributoSatb(iettrhAntesAlteracao.getSisAtributoSatb());
323 iettrh.setFonteIettr(iettrhAntesAlteracao.getFonteIettr());
324 iettrh.setIndiceMaisRecenteIettr(iettrhAntesAlteracao.getIndiceMaisRecenteIettr());
325 iettrh.setDataApuracaoIettr(iettrhAntesAlteracao.getDataApuracaoIettr());
326 iettrh.setFormulaIettr(iettrhAntesAlteracao.getFormulaIettr());
327 iettrh.setPeriodicidadePrdc(iettrhAntesAlteracao.getPeriodicidadePrdc());
328 iettrh.setUsuarioUsuManutencao(usuario);
329 iettrh.setDataUltManutencao(itemEstrtIndResul.getDataUltManutencao());
330 iettrh.setHistoricoMaster(historicoMaster);
331
332 session.save(iettrh);
333 }
334
335 indicadoresParaExcluir.add(itemEstrtIndResul);
336
337
338 List listaAux = new ArrayList();
339 listaAux.addAll(itemEstrtIndResul.getItemEstrutFisicoIettfs());
340
341 Iterator itAux = listaAux.iterator();
342 while (itAux.hasNext()) {
343 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itAux.next();
344 itemEstrutFisico.setDataUltManutencao(Data.getDataAtual());
345 itemEstrutFisico.setUsuarioUsuManutencao(usuario);
346
347 if ("S".equals(config.getIndGerarHistoricoCfg())) {
348
349 HistoricoIettfH iettfh = new HistoricoIettfH();
350 iettfh.setDataInclusaoIettf(itemEstrutFisico.getDataInclusaoIettf());
351 iettfh.setDataUltManutencao(itemEstrutFisico.getDataUltManutencao());
352 iettfh.setItemEstrtIndResulIettr(itemEstrutFisico.getItemEstrtIndResulIettr());
353 iettfh.setExercicioExe(itemEstrutFisico.getExercicioExe());
354 iettfh.setQtdPrevistaIettf(itemEstrutFisico.getQtdPrevistaIettf());
355 iettfh.setUsuManutencao(usuario);
356 iettfh.setIndAtivoIettf(Dominios.NAO);
357 iettfh.setHistoricoMaster(historicoMaster);
358 session.save(iettfh);
359 }
360
361 session.delete(itemEstrutFisico);
362 }
363
364 }
365
366 for (ItemEstrtIndResulIettr obj : indicadoresParaExcluir) {
367 obj.setUsuarioUsuManutencao(usuario);
368 obj.setDataUltManutencao(new Date());
369 obj.setIndAtivoIettr(Dominios.NAO);
370 session.update(obj);
371 }
372 tx.commit();
373
374 } catch (HibernateException e) {
375 if (tx != null)
376 try {
377 tx.rollback();
378 } catch (HibernateException r) {
379 this.logger.error(r);
380 throw new ECARException("erro.hibernateException");
381 }
382 this.logger.error(e);
383 throw new ECARException(e.getMessage());
384 }
385
386 }
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413 public String getSomaQuantidadePrevista(ItemEstrtIndResulIettr itemEstrtIndResul) throws ECARException {
414 try {
415 String retorno = "0";
416 double total = 0;
417
418 if ("S".equals(itemEstrtIndResul.getIndAcumulavelIettr())) {
419 if (itemEstrtIndResul.getItemEstrutFisicoIettfs() != null) {
420 Iterator it = itemEstrtIndResul.getItemEstrutFisicoIettfs().iterator();
421 while (it.hasNext()) {
422 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) it.next();
423 if ("S".equalsIgnoreCase(itemEstrutFisico.getIndAtivoIettf()))
424 total += itemEstrutFisico.getQtdPrevistaIettf().doubleValue();
425 }
426 retorno = Util.formataMoeda(total);
427 }
428 }
429 else {
430
431
432
433
434
435
436
437
438 if ("M".equals(itemEstrtIndResul.getIndValorFinalIettr())) {
439 if (itemEstrtIndResul.getItemEstrutFisicoIettfs() != null) {
440 Iterator it = itemEstrtIndResul.getItemEstrutFisicoIettfs().iterator();
441 double maior = 0;
442 while (it.hasNext()) {
443 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) it.next();
444 if ("S".equalsIgnoreCase(itemEstrutFisico.getIndAtivoIettf())) {
445 if (itemEstrutFisico.getQtdPrevistaIettf().doubleValue() > maior) {
446 maior = itemEstrutFisico.getQtdPrevistaIettf().doubleValue();
447 }
448 total = maior;
449 }
450 }
451 retorno = Util.formataMoeda(total);
452 }
453 }
454 else if ("U".equals(itemEstrtIndResul.getIndValorFinalIettr())) {
455 double ultimo = 0;
456 ExercicioExe ultimoExe = getMaiorExercicioIndicador(itemEstrtIndResul);
457
458 if (itemEstrtIndResul.getItemEstrutFisicoIettfs() != null) {
459 Iterator it = itemEstrtIndResul.getItemEstrutFisicoIettfs().iterator();
460 while (it.hasNext()) {
461 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) it.next();
462 if ("S".equalsIgnoreCase(itemEstrutFisico.getIndAtivoIettf())) {
463 if (itemEstrutFisico.getExercicioExe().getCodExe().equals(ultimoExe.getCodExe())) {
464 ultimo = itemEstrutFisico.getQtdPrevistaIettf().doubleValue();
465 break;
466 }
467 }
468 }
469 }
470 retorno = Util.formataMoeda(ultimo);
471 }
472 else if ("N".equals(itemEstrtIndResul.getIndValorFinalIettr())) {
473
474
475
476
477
478
479
480
481
482
483
484
485 retorno = "";
486 }
487 }
488
489 return retorno;
490 } catch (Exception e) {
491 this.logger.error(e);
492 throw new ECARException(e);
493 }
494 }
495
496
497
498
499
500
501
502
503
504
505 public double getQtdPrevistoExercicio(ItemEstrtIndResulIettr indResul, ExercicioExe exercicio) {
506 double quant = 0;
507
508 try {
509 ItemEstrutFisicoIettf qtdPrevista = new ItemEstrutFisicoDao(request).buscar(indResul.getCodIettir(), exercicio.getCodExe());
510
511 if (qtdPrevista != null) {
512 if ("S".equalsIgnoreCase(qtdPrevista.getIndAtivoIettf())) {
513 quant = qtdPrevista.getQtdPrevistaIettf().doubleValue();
514 }
515 }
516 } catch (Exception e) {
517
518 }
519
520 return quant;
521 }
522
523
524
525
526
527
528
529
530 public ExercicioExe getMaiorExercicioIndicador(ItemEstrtIndResulIettr indResul) throws ECARException {
531 try {
532 Query q = this.getSession().createQuery("select ieFisico.exercicioExe from ItemEstrutFisicoIettf ieFisico" + " where ieFisico.itemEstrtIndResulIettr.codIettir = ? " + " order by ieFisico.exercicioExe.dataFinalExe desc");
533 q.setLong(0, indResul.getCodIettir().longValue());
534 q.setMaxResults(1);
535 return (ExercicioExe) q.uniqueResult();
536 } catch (HibernateException e) {
537 this.logger.error(e);
538 throw new ECARException(e);
539 }
540 }
541
542
543
544
545
546
547
548 public List getExerciosCadastroPermitidos(ItemEstrtIndResulIettr indicativoResultado) throws ECARException {
549 List exercicios = new ExercicioDao(request).listar(ExercicioExe.class, new String[] { "descricaoExe", Dao.ORDEM_ASC });
550 Set quantidades = indicativoResultado.getItemEstrutFisicoIettfs();
551 Iterator it = quantidades.iterator();
552 while (it.hasNext()) {
553 ItemEstrutFisicoIettf ieFisico = (ItemEstrutFisicoIettf) it.next();
554 ExercicioExe exercicioCadastrado = ieFisico.getExercicioExe();
555 exercicios.remove(exercicioCadastrado);
556 }
557 return exercicios;
558 }
559
560
561
562
563
564
565
566
567 public List getListaQuantidadePrevista(HttpServletRequest request) throws ECARException {
568 ExercicioDao exercicioDao = new ExercicioDao(request);
569 List listaExercicio = exercicioDao.getExerciciosValidos(Long.valueOf(Pagina.getParamStr(request, "codIett")));
570 Iterator itExercicio = listaExercicio.iterator();
571
572 List listaQtd = new ArrayList();
573
574 while (itExercicio.hasNext()) {
575 ExercicioExe exercicio = (ExercicioExe) itExercicio.next();
576
577 if (!"".equals(Pagina.getParamStr(request, "qtdPrevistaIettf" + exercicio.getCodExe()))) {
578 ItemEstrutFisicoIettf itemEstrutFisico = new ItemEstrutFisicoIettf();
579 ItemEstrutFisicoIettfPK chave = new ItemEstrutFisicoIettfPK();
580
581 chave.setCodExe(exercicio.getCodExe());
582 itemEstrutFisico.setComp_id(chave);
583 String qtdePrevista = Pagina.getParamStr(request, "qtdPrevistaIettf" + exercicio.getCodExe());
584 if (qtdePrevista == null) {
585 String hideqtde = Pagina.getParamStr(request, "hideqtdPrevistaIettf" + exercicio.getCodExe());
586 itemEstrutFisico.setQtdPrevistaIettf(Double.valueOf(Util.formataNumero(hideqtde)));
587 }
588 else {
589 itemEstrutFisico.setQtdPrevistaIettf(Double.valueOf(Util.formataNumero(qtdePrevista)));
590 }
591
592 itemEstrutFisico.setIndAtivoIettf("S");
593 itemEstrutFisico.setDataInclusaoIettf(Data.getDataAtual());
594
595 listaQtd.add(itemEstrutFisico);
596 }
597 }
598
599 return listaQtd;
600 }
601
602
603
604
605
606
607
608 public void salvar(ItemEstrtIndResulIettr itemEstrtIndResul, List listaQtd, UsuarioUsu usuario) throws ECARException {
609 inicializarLogBean();
610 Transaction tx = null;
611 try {
612 ArrayList objetosInseridos = new ArrayList();
613 tx = session.beginTransaction();
614
615
616 session.save(itemEstrtIndResul);
617 objetosInseridos.add(itemEstrtIndResul);
618
619 Iterator itQtd = listaQtd.iterator();
620 while (itQtd.hasNext()) {
621 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itQtd.next();
622 itemEstrutFisico.getComp_id().setCodIettir(itemEstrtIndResul.getCodIettir());
623
624 itemEstrutFisico.setDataUltManutencao(new Date());
625 itemEstrutFisico.setUsuarioUsuManutencao(usuario);
626
627 session.save(itemEstrutFisico);
628 objetosInseridos.add(itemEstrutFisico);
629 }
630
631 List listaIettrCor = new ArrayList();
632 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() != null)
633 listaIettrCor.addAll(itemEstrtIndResul.getItemEstrtIndResulCorIettrcores());
634
635 Iterator itListaIettrCor = listaIettrCor.iterator();
636 while (itListaIettrCor.hasNext()) {
637 PaiFilho object = (PaiFilho) itListaIettrCor.next();
638 object.atribuirPKPai();
639
640 session.save(object);
641 objetosInseridos.add(object);
642 }
643
644 tx.commit();
645
646 if (logBean != null) {
647 logBean.setCodigoTransacao(Data.getHoraAtual(false));
648 logBean.setOperacao("INC");
649 Iterator it2 = objetosInseridos.iterator();
650
651 while (it2.hasNext()) {
652 logBean.setObj(it2.next());
653 loggerAuditoria.info(logBean.toString());
654 }
655 }
656 } catch (HibernateException e) {
657 if (tx != null)
658 try {
659 tx.rollback();
660 } catch (HibernateException r) {
661 this.logger.error(r);
662 throw new ECARException("erro.hibernateException");
663 }
664 this.logger.error(e);
665 throw new ECARException("erro.hibernateException");
666 }
667 }
668
669
670
671
672
673
674 public void alterar(ItemEstrtIndResulIettr itemEstrtIndResul, List listaQtd) throws ECARException {
675 Boolean qtdPrevistaBloqueado = false;
676 ItemEstruturaIett itemEstrutura = itemEstrtIndResul.getItemEstruturaIett();
677 if (itemEstrutura.getIndBloqPlanejamentoIett() != null && itemEstrutura.getIndBloqPlanejamentoIett().equals("S")) {
678 EstruturaFuncaoDao estruturaFuncaoDao = new EstruturaFuncaoDao(request);
679 EstruturaFuncaoEttf estruturaFuncaoQtdePrevista = new EstruturaFuncaoEttf();
680 estruturaFuncaoQtdePrevista = (EstruturaFuncaoEttf) estruturaFuncaoDao.getQuantidadesPrevistas(itemEstrutura.getEstruturaEtt());
681 if (estruturaFuncaoQtdePrevista.getIndPodeBloquearEttf().equals("S")) {
682 qtdPrevistaBloqueado = true;
683 }
684 }
685
686 inicializarLogBean();
687 Transaction tx = null;
688
689 try {
690
691 ArrayList objetosInseridos = new ArrayList();
692 ArrayList objetosExcluidos = new ArrayList();
693 tx = session.beginTransaction();
694
695
696
697
698 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() != null) {
699 Iterator itAtb = itemEstrtIndResul.getItemEstrtIndResulCorIettrcores().iterator();
700 while (itAtb.hasNext()) {
701 ItemEstrtIndResulCorIettrcor iettrCor = (ItemEstrtIndResulCorIettrcor) itAtb.next();
702 session.delete(iettrCor);
703
704 }
705 }
706 itemEstrtIndResul.setItemEstrtIndResulCorIettrcores(null);
707 this.setItemEstrtIndResulCorIettrcor(request, itemEstrtIndResul);
708
709 List filhos = new ArrayList();
710 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() != null)
711 filhos.addAll(itemEstrtIndResul.getItemEstrtIndResulCorIettrcores());
712
713 Iterator iterator = filhos.iterator();
714
715
716 while (iterator.hasNext()) {
717 PaiFilho object = (PaiFilho) iterator.next();
718 object.atribuirPKPai();
719 session.save(object);
720 }
721
722
723
724 ConfiguracaoDao dao = new ConfiguracaoDao(request);
725 ConfiguracaoCfg config = dao.getConfiguracao();
726
727 HistoricoMaster historicoMaster = new HistoricoMaster();
728
729 if ("S".equals(config.getIndGerarHistoricoCfg())) {
730
731 historicoMaster.setDataHoraHistorico(new Date());
732 historicoMaster.setUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
733 historicoMaster.setCodReferenciaGeral(itemEstrtIndResul.getItemEstruturaIett().getCodIett());
734 historicoMaster.setHistoricoMotivo((HistoricoMotivo) super.buscar(HistoricoMotivo.class, Long.valueOf(23)));
735 session.save(historicoMaster);
736
737 HistoricoIettrH iettrh = new HistoricoIettrH();
738 ItemEstrtIndResulIettr iettrhAntesAlteracao = (ItemEstrtIndResulIettr) super.buscar(ItemEstrtIndResulIettr.class, itemEstrtIndResul.getCodIettir());
739 iettrh.setItemEstruturaIett(iettrhAntesAlteracao.getItemEstruturaIett());
740 iettrh.setUnidMedidaIettr(iettrhAntesAlteracao.getUnidMedidaIettr());
741 iettrh.setCodUnidMedidaIettr(iettrhAntesAlteracao.getCodUnidMedidaIettr());
742 iettrh.setDescricaoIettir(iettrhAntesAlteracao.getDescricaoIettir());
743 iettrh.setNomeIettir(iettrhAntesAlteracao.getNomeIettir());
744 iettrh.setIndProjecaoIettr(iettrhAntesAlteracao.getIndProjecaoIettr());
745 iettrh.setIndAcumulavelIettr(iettrhAntesAlteracao.getIndAcumulavelIettr());
746 iettrh.setIndPublicoIettr(iettrhAntesAlteracao.getIndPublicoIettr());
747 iettrh.setIndTipoQtde(iettrhAntesAlteracao.getIndTipoQtde());
748 iettrh.setIndValorFinalIettr(iettrhAntesAlteracao.getIndValorFinalIettr());
749 iettrh.setIndRealPorLocal(iettrhAntesAlteracao.getIndRealPorLocal());
750
751
752 iettrh.setIndPrevPorLocal(iettrhAntesAlteracao.getIndPrevPorLocal());
753
754
755 iettrh.setSisAtributoSatb(iettrhAntesAlteracao.getSisAtributoSatb());
756 iettrh.setFonteIettr(iettrhAntesAlteracao.getFonteIettr());
757 iettrh.setIndiceMaisRecenteIettr(iettrhAntesAlteracao.getIndiceMaisRecenteIettr());
758 iettrh.setDataApuracaoIettr(iettrhAntesAlteracao.getDataApuracaoIettr());
759 iettrh.setFormulaIettr(iettrhAntesAlteracao.getFormulaIettr());
760 iettrh.setPeriodicidadePrdc(iettrhAntesAlteracao.getPeriodicidadePrdc());
761 iettrh.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
762 iettrh.setDataUltManutencao(itemEstrtIndResul.getDataUltManutencao());
763 iettrh.setHistoricoMaster(historicoMaster);
764
765 session.save(iettrh);
766 }
767
768 if (!qtdPrevistaBloqueado) {
769
770 List listaAux = new ArrayList();
771 listaAux.addAll(itemEstrtIndResul.getItemEstrutFisicoIettfs());
772
773 Iterator itAux = listaAux.iterator();
774
775 while (itAux.hasNext()) {
776 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itAux.next();
777 itemEstrutFisico.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
778 itemEstrutFisico.setDataUltManutencao(new Date());
779
780 if ("S".equals(config.getIndGerarHistoricoCfg())) {
781
782 HistoricoIettfH iettfh = new HistoricoIettfH();
783
784 iettfh.setDataInclusaoIettf(itemEstrutFisico.getDataInclusaoIettf());
785 iettfh.setDataUltManutencao(itemEstrutFisico.getDataUltManutencao());
786 iettfh.setItemEstrtIndResulIettr(itemEstrutFisico.getItemEstrtIndResulIettr());
787 iettfh.setExercicioExe(itemEstrutFisico.getExercicioExe());
788 iettfh.setQtdPrevistaIettf(itemEstrutFisico.getQtdPrevistaIettf());
789 iettfh.setUsuManutencao(itemEstrutFisico.getUsuarioUsuManutencao());
790 iettfh.setIndAtivoIettf(Dominios.NAO);
791 iettfh.setHistoricoMaster(historicoMaster);
792 session.save(iettfh);
793 }
794
795 objetosExcluidos.add(itemEstrutFisico);
796
797 session.delete(itemEstrutFisico);
798 }
799 }
800
801 if (logBean != null) {
802 logBean.setCodigoTransacao(Data.getHoraAtual(false));
803 logBean.setOperacao("EXC");
804 Iterator it = objetosExcluidos.iterator();
805
806 while (it.hasNext()) {
807 logBean.setObj(it.next());
808 loggerAuditoria.info(logBean.toString());
809 }
810 }
811
812
813 session.update(itemEstrtIndResul);
814
815 if (logBean != null) {
816 logBean.setCodigoTransacao(Data.getHoraAtual(false));
817 logBean.setObj(itemEstrtIndResul);
818 logBean.setOperacao("ALT");
819 loggerAuditoria.info(logBean.toString());
820 }
821
822 if (!qtdPrevistaBloqueado) {
823 Iterator itQtd = listaQtd.iterator();
824 while (itQtd.hasNext()) {
825 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itQtd.next();
826 itemEstrutFisico.getComp_id().setCodIettir(itemEstrtIndResul.getCodIettir());
827 itemEstrutFisico.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
828 itemEstrutFisico.setDataUltManutencao(new Date());
829
830 session.save(itemEstrutFisico);
831
832 if ("S".equals(config.getIndGerarHistoricoCfg())) {
833
834 HistoricoIettfH iettfh = new HistoricoIettfH();
835 iettfh.setDataInclusaoIettf(itemEstrutFisico.getDataInclusaoIettf());
836 iettfh.setItemEstrtIndResulIettr((ItemEstrtIndResulIettr) this.buscar(ItemEstrtIndResulIettr.class, itemEstrutFisico.getComp_id().getCodIettir()));
837 iettfh.setExercicioExe((ExercicioExe) this.buscar(ExercicioExe.class, itemEstrutFisico.getComp_id().getCodExe()));
838 iettfh.setQtdPrevistaIettf(itemEstrutFisico.getQtdPrevistaIettf());
839 iettfh.setUsuManutencao(itemEstrutFisico.getUsuarioUsuManutencao());
840 iettfh.setIndAtivoIettf(itemEstrutFisico.getIndAtivoIettf());
841 iettfh.setHistoricoMaster(historicoMaster);
842 iettfh.setDataUltManutencao(itemEstrutFisico.getDataUltManutencao());
843 session.save(iettfh);
844 }
845
846 objetosInseridos.add(itemEstrutFisico);
847 }
848 }
849
850 tx.commit();
851
852 if (logBean != null) {
853 logBean.setCodigoTransacao(Data.getHoraAtual(false));
854 logBean.setOperacao("INC");
855 Iterator it2 = objetosInseridos.iterator();
856
857 while (it2.hasNext()) {
858 logBean.setObj(it2.next());
859 loggerAuditoria.info(logBean.toString());
860 }
861 }
862 } catch (HibernateException e) {
863 if (tx != null)
864 try {
865 tx.rollback();
866 } catch (HibernateException r) {
867 this.logger.error(r);
868 throw new ECARException("erro.hibernateException");
869 }
870 this.logger.error(e);
871 throw new ECARException("erro.hibernateException");
872 }
873 }
874
875
876
877
878
879
880
881
882 public void alterar(ItemEstrtIndResulIettr itemEstrtIndResul, List listaQtd, List iettrCor) throws ECARException {
883 Boolean qtdPrevistaBloqueado = false;
884 ItemEstruturaIett itemEstrutura = itemEstrtIndResul.getItemEstruturaIett();
885 if (itemEstrutura.getIndBloqPlanejamentoIett() != null && itemEstrutura.getIndBloqPlanejamentoIett().equals("S")) {
886 EstruturaFuncaoDao estruturaFuncaoDao = new EstruturaFuncaoDao(request);
887 EstruturaFuncaoEttf estruturaFuncaoQtdePrevista = new EstruturaFuncaoEttf();
888 estruturaFuncaoQtdePrevista = (EstruturaFuncaoEttf) estruturaFuncaoDao.getQuantidadesPrevistas(itemEstrutura.getEstruturaEtt());
889 if (estruturaFuncaoQtdePrevista.getIndPodeBloquearEttf().equals("S")) {
890 qtdPrevistaBloqueado = true;
891 }
892 }
893
894 inicializarLogBean();
895 Transaction tx = null;
896
897 try {
898
899 ArrayList objetosInseridos = new ArrayList();
900 ArrayList objetosExcluidos = new ArrayList();
901 tx = session.beginTransaction();
902
903
904 List listIettrcor = new ArrayList();
905 if (itemEstrtIndResul.getItemEstrtIndResulCorIettrcores() != null)
906 listIettrcor.addAll(itemEstrtIndResul.getItemEstrtIndResulCorIettrcores());
907
908 Iterator itIettrcor = listIettrcor.iterator();
909 while (itIettrcor.hasNext()) {
910 ItemEstrtIndResulCorIettrcor iettrcor = (ItemEstrtIndResulCorIettrcor) itIettrcor.next();
911 session.update(iettrcor);
912 }
913
914 ConfiguracaoDao dao = new ConfiguracaoDao(request);
915 ConfiguracaoCfg config = dao.getConfiguracao();
916
917 HistoricoMaster historicoMaster = new HistoricoMaster();
918
919 if ("S".equals(config.getIndGerarHistoricoCfg())) {
920
921 historicoMaster.setDataHoraHistorico(new Date());
922 historicoMaster.setUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
923 historicoMaster.setCodReferenciaGeral(itemEstrtIndResul.getItemEstruturaIett().getCodIett());
924 historicoMaster.setHistoricoMotivo((HistoricoMotivo) super.buscar(HistoricoMotivo.class, Long.valueOf(23)));
925 session.save(historicoMaster);
926
927 HistoricoIettrH iettrh = new HistoricoIettrH();
928 ItemEstrtIndResulIettr iettrhAntesAlteracao = (ItemEstrtIndResulIettr) super.buscar(ItemEstrtIndResulIettr.class, itemEstrtIndResul.getCodIettir());
929 iettrh.setItemEstruturaIett(iettrhAntesAlteracao.getItemEstruturaIett());
930 iettrh.setUnidMedidaIettr(iettrhAntesAlteracao.getUnidMedidaIettr());
931 iettrh.setCodUnidMedidaIettr(iettrhAntesAlteracao.getCodUnidMedidaIettr());
932 iettrh.setDescricaoIettir(iettrhAntesAlteracao.getDescricaoIettir());
933 iettrh.setNomeIettir(iettrhAntesAlteracao.getNomeIettir());
934 iettrh.setIndProjecaoIettr(iettrhAntesAlteracao.getIndProjecaoIettr());
935 iettrh.setIndAcumulavelIettr(iettrhAntesAlteracao.getIndAcumulavelIettr());
936 iettrh.setIndPublicoIettr(iettrhAntesAlteracao.getIndPublicoIettr());
937 iettrh.setIndTipoQtde(iettrhAntesAlteracao.getIndTipoQtde());
938 iettrh.setIndValorFinalIettr(iettrhAntesAlteracao.getIndValorFinalIettr());
939 iettrh.setIndRealPorLocal(iettrhAntesAlteracao.getIndRealPorLocal());
940
941
942 iettrh.setIndPrevPorLocal(iettrhAntesAlteracao.getIndPrevPorLocal());
943
944
945 iettrh.setSisAtributoSatb(iettrhAntesAlteracao.getSisAtributoSatb());
946 iettrh.setFonteIettr(iettrhAntesAlteracao.getFonteIettr());
947 iettrh.setIndiceMaisRecenteIettr(iettrhAntesAlteracao.getIndiceMaisRecenteIettr());
948 iettrh.setDataApuracaoIettr(iettrhAntesAlteracao.getDataApuracaoIettr());
949 iettrh.setFormulaIettr(iettrhAntesAlteracao.getFormulaIettr());
950 iettrh.setPeriodicidadePrdc(iettrhAntesAlteracao.getPeriodicidadePrdc());
951 iettrh.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
952 iettrh.setDataUltManutencao(itemEstrtIndResul.getDataUltManutencao());
953 iettrh.setHistoricoMaster(historicoMaster);
954
955 session.save(iettrh);
956 }
957
958 if (!qtdPrevistaBloqueado) {
959
960 List listaAux = new ArrayList();
961 listaAux.addAll(itemEstrtIndResul.getItemEstrutFisicoIettfs());
962
963 Iterator itAux = listaAux.iterator();
964
965 while (itAux.hasNext()) {
966 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itAux.next();
967 itemEstrutFisico.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
968 itemEstrutFisico.setDataUltManutencao(new Date());
969
970 if ("S".equals(config.getIndGerarHistoricoCfg())) {
971
972 HistoricoIettfH iettfh = new HistoricoIettfH();
973
974 iettfh.setDataInclusaoIettf(itemEstrutFisico.getDataInclusaoIettf());
975 iettfh.setDataUltManutencao(itemEstrutFisico.getDataUltManutencao());
976 iettfh.setItemEstrtIndResulIettr(itemEstrutFisico.getItemEstrtIndResulIettr());
977 iettfh.setExercicioExe(itemEstrutFisico.getExercicioExe());
978 iettfh.setQtdPrevistaIettf(itemEstrutFisico.getQtdPrevistaIettf());
979 iettfh.setUsuManutencao(itemEstrutFisico.getUsuarioUsuManutencao());
980 iettfh.setIndAtivoIettf(Dominios.NAO);
981 iettfh.setHistoricoMaster(historicoMaster);
982 session.save(iettfh);
983 }
984
985 objetosExcluidos.add(itemEstrutFisico);
986
987 session.delete(itemEstrutFisico);
988 }
989 }
990
991 if (logBean != null) {
992 logBean.setCodigoTransacao(Data.getHoraAtual(false));
993 logBean.setOperacao("EXC");
994 Iterator it = objetosExcluidos.iterator();
995
996 while (it.hasNext()) {
997 logBean.setObj(it.next());
998 loggerAuditoria.info(logBean.toString());
999 }
1000 }
1001
1002
1003 session.update(itemEstrtIndResul);
1004
1005 if (logBean != null) {
1006 logBean.setCodigoTransacao(Data.getHoraAtual(false));
1007 logBean.setObj(itemEstrtIndResul);
1008 logBean.setOperacao("ALT");
1009 loggerAuditoria.info(logBean.toString());
1010 }
1011
1012 if (!qtdPrevistaBloqueado) {
1013 Iterator itQtd = listaQtd.iterator();
1014 while (itQtd.hasNext()) {
1015 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) itQtd.next();
1016 itemEstrutFisico.getComp_id().setCodIettir(itemEstrtIndResul.getCodIettir());
1017 itemEstrutFisico.setUsuarioUsuManutencao(itemEstrtIndResul.getUsuarioUsuManutencao());
1018 itemEstrutFisico.setDataUltManutencao(new Date());
1019
1020 session.save(itemEstrutFisico);
1021
1022 HistoricoIettfH iettfh = new HistoricoIettfH();
1023 iettfh.setDataInclusaoIettf(itemEstrutFisico.getDataInclusaoIettf());
1024 iettfh.setItemEstrtIndResulIettr((ItemEstrtIndResulIettr) this.buscar(ItemEstrtIndResulIettr.class, itemEstrutFisico.getComp_id().getCodIettir()));
1025 iettfh.setExercicioExe((ExercicioExe) this.buscar(ExercicioExe.class, itemEstrutFisico.getComp_id().getCodExe()));
1026 iettfh.setQtdPrevistaIettf(itemEstrutFisico.getQtdPrevistaIettf());
1027 iettfh.setUsuManutencao(itemEstrutFisico.getUsuarioUsuManutencao());
1028 iettfh.setIndAtivoIettf(itemEstrutFisico.getIndAtivoIettf());
1029 iettfh.setHistoricoMaster(historicoMaster);
1030 iettfh.setDataUltManutencao(itemEstrutFisico.getDataUltManutencao());
1031 session.save(iettfh);
1032
1033 objetosInseridos.add(itemEstrutFisico);
1034 }
1035 }
1036
1037 tx.commit();
1038
1039 if (logBean != null) {
1040 logBean.setCodigoTransacao(Data.getHoraAtual(false));
1041 logBean.setOperacao("INC");
1042 Iterator it2 = objetosInseridos.iterator();
1043
1044 while (it2.hasNext()) {
1045 logBean.setObj(it2.next());
1046 loggerAuditoria.info(logBean.toString());
1047 }
1048 }
1049 } catch (HibernateException e) {
1050 if (tx != null)
1051 try {
1052 tx.rollback();
1053 } catch (HibernateException r) {
1054 this.logger.error(r);
1055 throw new ECARException("erro.hibernateException");
1056 }
1057 this.logger.error(e);
1058 throw new ECARException("erro.hibernateException");
1059 }
1060 }
1061
1062
1063
1064
1065
1066
1067 public boolean verificarExistenciaEmAcompRealFisicoArf(ItemEstrtIndResulIettr indicador) {
1068 boolean existe = false;
1069
1070 if (indicador.getAcompRealFisicoArfs() != null && !indicador.getAcompRealFisicoArfs().isEmpty()) {
1071 Iterator it = indicador.getAcompRealFisicoArfs().iterator();
1072
1073 while (it.hasNext()) {
1074 AcompRealFisicoArf arf = (AcompRealFisicoArf) it.next();
1075
1076 if (arf.getQtdRealizadaArf() != null && arf.getQtdRealizadaArf().doubleValue() > 0) {
1077 return true;
1078 }
1079 }
1080 }
1081
1082 return existe;
1083 }
1084
1085 public String getUnidadeUsada(ItemEstrtIndResulIettr itemEstrtIndResul) {
1086 if (itemEstrtIndResul != null) {
1087 if (itemEstrtIndResul.getCodUnidMedidaIettr() != null) {
1088 return itemEstrtIndResul.getCodUnidMedidaIettr().getDescricaoSatb();
1089 }
1090 else {
1091 return itemEstrtIndResul.getUnidMedidaIettr();
1092 }
1093 }
1094 return "";
1095 }
1096
1097
1098
1099
1100
1101
1102
1103 public List retornaNomesGraficoGrupo(ItemEstruturaIett iett) throws ECARException {
1104 List retorno = new ArrayList();
1105
1106 if (iett != null) {
1107 try {
1108 Query q = this.getSession().createQuery("select distinct iettIndRes.labelGraficoGrupoIettir from ItemEstrtIndResulIettr iettIndRes " + "where (iettIndRes.itemEstruturaIett.codIett = :codIett or iettIndRes.indPublicoIettr like :indPublico) " + "and iettIndRes.labelGraficoGrupoIettir is not null " + "and iettIndRes.indAtivoIettr like :indAtivo");
1109 q.setLong("codIett", iett.getCodIett().longValue());
1110 q.setString("indPublico", "S");
1111 q.setString("indAtivo", "S");
1112
1113 retorno = q.list();
1114 } catch (HibernateException e) {
1115 this.logger.error(e);
1116 throw new ECARException(e);
1117 }
1118 }
1119
1120 return retorno;
1121 }
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132 public List retornaIndicadoresGraficoGrupo(ItemEstrtIndResulIettr itemEstrtIndResulIettr) throws ECARException {
1133 List retorno = new ArrayList();
1134
1135 if (itemEstrtIndResulIettr != null && itemEstrtIndResulIettr.getItemEstruturaIett() != null) {
1136 try {
1137 Query q = this.getSession().createQuery("select distinct iettIndRes from ItemEstrtIndResulIettr iettIndRes " + "where (iettIndRes.itemEstruturaIett.codIett = :codIett or iettIndRes.indPublicoIettr like :indPublico) " + "and iettIndRes.labelGraficoGrupoIettir like :labelGrupo " + "and iettIndRes.indAtivoIettr like :indAtivo");
1138 q.setLong("codIett", itemEstrtIndResulIettr.getItemEstruturaIett().getCodIett().longValue());
1139 q.setString("indPublico", "S");
1140 q.setString("labelGrupo", itemEstrtIndResulIettr.getLabelGraficoGrupoIettir());
1141 q.setString("indAtivo", "S");
1142
1143 retorno = q.list();
1144 } catch (HibernateException e) {
1145 this.logger.error(e);
1146 throw new ECARException(e);
1147 }
1148 }
1149 return retorno;
1150 }
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160 public long verificarExistenciaNomeIndicadorGraficoGrupo(String nomeIettir, String labelGraficoGrupoIettir) throws ECARException {
1161 List indicadoresGrafico = new ArrayList();
1162
1163 try {
1164 Query q = this.getSession().createQuery("select distinct iettIndRes from ItemEstrtIndResulIettr iettIndRes " + "where (upper(iettIndRes.nomeIettir) = upper(:nomeIettir) and " + " upper(iettIndRes.labelGraficoGrupoIettir) = upper(:labelGraficoGrupoIettir) and" + " iettIndRes.indAtivoIettr = :indAtivo)");
1165 q.setString("nomeIettir", nomeIettir);
1166 q.setString("labelGraficoGrupoIettir", labelGraficoGrupoIettir);
1167 q.setString("indAtivo", "S");
1168
1169 indicadoresGrafico = q.list();
1170
1171 if (indicadoresGrafico.size() > 0) {
1172 ItemEstrtIndResulIettr indResul = (ItemEstrtIndResulIettr) indicadoresGrafico.get(0);
1173 return indResul.getCodIettir();
1174 }
1175
1176
1177 return -1;
1178
1179 } catch (HibernateException e) {
1180 this.logger.error(e);
1181 throw new ECARException(e);
1182 }
1183 }
1184
1185 }