1
2
3
4
5 package ecar.popup;
6
7 import java.util.ArrayList;
8 import java.util.Collection;
9 import java.util.List;
10
11 import javax.servlet.http.HttpServletRequest;
12
13 import org.hibernate.HibernateException;
14 import org.hibernate.Query;
15
16 import comum.database.Dao;
17 import comum.util.Pagina;
18 import comum.util.Util;
19
20 import ecar.dao.ExercicioDao;
21 import ecar.dao.FonteRecursoDao;
22 import ecar.dao.ItemEstruturaDao;
23 import ecar.dao.ItemEstruturaPrevisaoDao;
24 import ecar.dao.RecursoDao;
25 import ecar.exception.ECARException;
26 import ecar.pojo.ExercicioExe;
27 import ecar.pojo.FonteRecursoFonr;
28 import ecar.pojo.ItemEstruturaIett;
29 import ecar.pojo.RecursoRec;
30
31
32
33
34
35 public class PopUpRecurso implements PopUpPesquisa{
36
37
38
39 private String[] pesquisarEm;
40
41
42 private RecursoRec pojo;
43 private RecursoDao dao;
44
45 private ExercicioExe exercicio;
46 private ItemEstruturaIett item;
47 private FonteRecursoFonr fonte;
48
49 public PopUpRecurso(){
50 pojo = new RecursoRec();
51 dao = new RecursoDao(null);
52 this.setPesquisarEm(new String[] {"Nome"});
53 }
54
55
56
57
58
59
60
61
62
63
64 public Dao getDao() {
65 return dao;
66 }
67
68
69
70
71
72
73
74
75
76 public String getTitulo(){
77 return "Recursos";
78 }
79
80
81
82
83
84
85
86
87
88
89
90
91 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
92 String arg = Pagina.getParam(request, "hidArg");
93 if(!"".equals(Pagina.getParamStr(request, "codExercicio"))){
94 exercicio = (ExercicioExe) new ExercicioDao(null).buscar(ExercicioExe.class, Long.valueOf(Pagina.getParamStr(request, "codExercicio")));
95 }
96 if(!"".equals(Pagina.getParamStr(request, "codIett"))){
97 item = (ItemEstruturaIett) new ItemEstruturaDao(null).buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett")));
98 }
99 if(!"".equals(Pagina.getParamStr(request, "codFonr"))){
100 fonte = (FonteRecursoFonr) new FonteRecursoDao(null).buscar(FonteRecursoFonr.class, Long.valueOf(Pagina.getParamStr(request, "codFonr")));
101 }
102 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
103
104 if (pesquisarEm != null)
105 for (int i = 0; i < pesquisarEm.length; i++) {
106 if ("0".equals(pesquisarEm[i]))
107 pojo.setNomeRec(arg);
108 }
109 }
110
111
112
113
114
115
116
117
118
119
120
121 public List pesquisar() throws ECARException {
122 try{
123 Query query = new RecursoDao(null).getSession().createQuery(
124 "from RecursoRec r where not (:dataInicial < r.dataIniValidadeRec or :dataFinal > r.dataFimValidadeRec) and r.indAtivoRec='S'");
125 query.setDate("dataInicial", exercicio.getDataInicialExe());
126 query.setDate("dataFinal", exercicio.getDataFinalExe());
127 List recursos = query.list();
128 List recursosCadastrados = new ItemEstruturaPrevisaoDao(null).getRecursosByFonteRecursoExercicio(item, exercicio, fonte);
129 Collection resultado = Util.diferenca(recursos, recursosCadastrados);
130 List retorno = new ArrayList();
131 retorno.addAll(resultado);
132 return retorno;
133 } catch(HibernateException e){
134 org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
135 throw new ECARException(e);
136 }
137 }
138
139
140
141
142
143
144
145
146
147 public String getCodigo() {
148 return pojo.getCodRec().toString();
149 }
150
151
152
153
154
155
156
157
158
159 public String getDescricao() {
160 return pojo.getNomeRec();
161 }
162
163
164
165
166
167
168
169
170
171 public void setPojo(Object o) {
172 pojo = (RecursoRec) o;
173 }
174
175
176
177
178
179
180
181
182
183 public String[] getPesquisarEm() {
184 return pesquisarEm;
185 }
186
187
188
189
190
191
192
193
194
195 private void setPesquisarEm(String[] pesquisarEm) {
196 this.pesquisarEm = pesquisarEm;
197 }
198
199
200 }