1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Collection;
8 import java.util.List;
9
10 import javax.servlet.http.HttpServletRequest;
11
12 import org.hibernate.HibernateException;
13 import org.hibernate.Query;
14
15 import comum.database.Dao;
16 import comum.util.Util;
17
18 import ecar.exception.ECARException;
19 import ecar.pojo.AgendaAge;
20 import ecar.pojo.EfIettFonteTotEfieft;
21 import ecar.pojo.EfItemEstContaEfiec;
22 import ecar.pojo.EfItemEstPrevisaoEfiep;
23 import ecar.pojo.FonteRecursoFonr;
24 import ecar.pojo.ItemEstruturaIett;
25
26
27
28
29 public class FonteRecursoDao extends Dao {
30
31
32
33
34 public FonteRecursoDao(HttpServletRequest request) {
35 super();
36 this.request = request;
37 }
38
39
40
41
42
43
44
45 public void excluir(FonteRecursoFonr fonteRecurso) throws ECARException {
46 try {
47 boolean excluir = true;
48 if (contar(fonteRecurso.getEfItemEstContaEfiecs()) > 0) {
49 List list = new ArrayList(fonteRecurso.getEfItemEstContaEfiecs());
50 EfItemEstContaEfiec ocorrencia = (EfItemEstContaEfiec) list.get(0);
51
52 excluir = false;
53 throw new ECARException("fonteRecurso.exclusao.erro.efItemEstContaEfiecs", null, new String[] { ocorrencia.getContaSistemaOrcEfiec() });
54 }
55 if (contar(fonteRecurso.getEfItemEstPrevisaoEfieps()) > 0) {
56 List list = new ArrayList(fonteRecurso.getEfItemEstPrevisaoEfieps());
57 EfItemEstPrevisaoEfiep ocorrencia = (EfItemEstPrevisaoEfiep) list.get(0);
58
59 String iett = (ocorrencia.getItemEstruturaIett() != null) ? ocorrencia.getItemEstruturaIett().getSiglaIett() + ": " + ocorrencia.getItemEstruturaIett().getNomeIett() : "";
60 String exercicio = (ocorrencia.getExercicioExe() != null) ? ocorrencia.getExercicioExe().getDescricaoExe() : "";
61 String recurso = (ocorrencia.getRecursoRec() != null) ? ocorrencia.getRecursoRec().getNomeRec() : "";
62
63 excluir = false;
64 throw new ECARException("fonteRecurso.exclusao.erro.efItemEstPrevisaoEfieps", null, new String[] { iett, exercicio, recurso });
65 }
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 if (contar(fonteRecurso.getEfIettFonteTotEfiefts()) > 0) {
82 List list = new ArrayList(fonteRecurso.getEfIettFonteTotEfiefts());
83 EfIettFonteTotEfieft ocorrencia = (EfIettFonteTotEfieft) list.get(0);
84
85 excluir = false;
86 String iett = (ocorrencia.getItemEstruturaIett() != null) ? ocorrencia.getItemEstruturaIett().getSiglaIett() + ": " + ocorrencia.getItemEstruturaIett().getNomeIett() : "";
87 throw new ECARException("fonteRecurso.exclusao.erro.efIettFonteTotEfiefts", null, new String[] { iett });
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101 if (excluir)
102 super.excluir(fonteRecurso);
103
104 } catch (ECARException e) {
105 this.logger.error(e);
106 throw e;
107 }
108 }
109
110
111
112
113
114
115
116
117
118 public Collection getExerciciosContidosPeriodoValidadeFonteRecurso(ItemEstruturaIett item, FonteRecursoFonr fonteRecurso) throws ECARException {
119 try {
120
121 String select = "from ExercicioExe e where not (:fimValidade < e.dataInicialExe or :iniValidade > e.dataFinalExe)";
122
123 Query q = this.session.createQuery(select);
124
125 q.setDate("fimValidade", fonteRecurso.getDataFimValidadeFonr());
126 q.setDate("iniValidade", fonteRecurso.getDataIniValidadeFonr());
127
128 List exerciciosPermitidos = q.list();
129 List exerciciosCadastrados = new ArrayList();
130
131 return Util.diferenca(exerciciosPermitidos, exerciciosCadastrados);
132
133 } catch (HibernateException e) {
134 this.logger.error(e);
135 throw new ECARException(e);
136 }
137 }
138
139
140
141
142
143
144
145 public List getItemEstruturaIetts(FonteRecursoFonr fonteRecurso) throws ECARException {
146 List retorno = new ArrayList();
147 return retorno;
148 }
149
150
151
152
153
154 public List getAtivos() throws ECARException {
155
156 FonteRecursoFonr fonteRecurso = new FonteRecursoFonr();
157 fonteRecurso.setIndAtivoFonr("S");
158 return super.pesquisar(fonteRecurso, new String[] { "nomeFonr", "asc" });
159 }
160
161 }