1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.HashSet;
8 import java.util.Iterator;
9 import java.util.List;
10 import java.util.Set;
11
12 import javax.servlet.http.HttpServletRequest;
13
14 import org.hibernate.HibernateException;
15 import org.hibernate.Transaction;
16
17 import comum.database.Dao;
18 import comum.util.Data;
19 import comum.util.Pagina;
20
21 import ecar.exception.ECARException;
22 import ecar.historico.HistoricoIettus;
23 import ecar.permissao.ControlePermissao;
24 import ecar.pojo.EstrutTpFuncAcmpEtttfa;
25 import ecar.pojo.EstruturaEtt;
26 import ecar.pojo.ItemEstrutUsuarioIettus;
27 import ecar.pojo.TipoFuncAcompTpfa;
28
29
30
31
32 public class EstruturaTipoFuncAcompDao extends Dao {
33
34
35
36
37
38
39
40 public EstruturaTipoFuncAcompDao(HttpServletRequest request) {
41 super();
42 this.request = request;
43
44
45
46
47 }
48
49
50
51
52
53
54
55
56
57 public void controlaListas(HttpServletRequest request, List listaEstrutura, List listaTipoFuncAcomp) throws ECARException {
58
59 if (Pagina.getParam(request, "estruturaEtt") != null) {
60 listaTipoFuncAcomp.addAll(this.getTipoFuncAcomp((EstruturaEtt) new EstruturaDao(request).buscar(EstruturaEtt.class, Long.valueOf(Pagina.getParam(request, "estruturaEtt")))));
61 }
62 else {
63 listaTipoFuncAcomp.addAll(new TipoFuncAcompDao(request).listar(TipoFuncAcompTpfa.class, new String[] { "labelTpfa", "asc" }));
64 }
65
66 if (Pagina.getParam(request, "tipoFuncAcompTpfa") != null) {
67 listaEstrutura.addAll(this.getEstruturas((TipoFuncAcompTpfa) new TipoFuncAcompDao(request).buscar(TipoFuncAcompTpfa.class, Long.valueOf(Pagina.getParam(request, "tipoFuncAcompTpfa")))));
68 }
69 else {
70 listaEstrutura.addAll(new EstruturaDao(request).listar(EstruturaEtt.class, new String[] { "nomeEtt", "asc" }));
71 }
72
73 }
74
75
76
77
78
79
80
81
82 public void setEstruturaTipoFuncAcomp(HttpServletRequest request, EstrutTpFuncAcmpEtttfa estruturaTipoFuncAcomp, boolean usarGetParamStr) throws ECARException {
83 if (Pagina.getParam(request, "estruturaEtt") != null)
84 estruturaTipoFuncAcomp.setEstruturaEtt((EstruturaEtt) (new EstruturaDao(request).buscar(EstruturaEtt.class, Long.valueOf(Pagina.getParam(request, "estruturaEtt")))));
85 if (Pagina.getParam(request, "tipoFuncAcompTpfa") != null)
86 estruturaTipoFuncAcomp.setTipoFuncAcompTpfa((TipoFuncAcompTpfa) new TipoFuncAcompDao(request).buscar(TipoFuncAcompTpfa.class, Long.valueOf(Pagina.getParam(request, "tipoFuncAcompTpfa"))));
87 if (!"".equals(Pagina.getParamStr(request, "seqApresentTelaCampoEtttfa")))
88 estruturaTipoFuncAcomp.setSeqApresentTelaCampoEtttfa(Integer.valueOf(Pagina.getParamStr(request, "seqApresentTelaCampoEtttfa")));
89
90 if (!"".equals(Pagina.getParamStr(request, "seqApresListagemTelaEtttfa")))
91 estruturaTipoFuncAcomp.setSeqApresListagemTelaEtttfa(Integer.valueOf(Pagina.getParamStr(request, "seqApresListagemTelaEtttfa")));
92 else
93 estruturaTipoFuncAcomp.setSeqApresListagemTelaEtttfa(null);
94
95 if (!"".equals(Pagina.getParamStr(request, "larguraListagemTelaEtttfa")))
96 estruturaTipoFuncAcomp.setLarguraListagemTelaEtttfa(Integer.valueOf(Pagina.getParamStr(request, "larguraListagemTelaEtttfa")));
97 else
98 estruturaTipoFuncAcomp.setLarguraListagemTelaEtttfa(null);
99
100 if (usarGetParamStr) {
101
102
103 if (!Pagina.getParamStr(request, "indListagemImprCompEtttfa").equals("")) {
104 estruturaTipoFuncAcomp.setIndListagemImprCompEtttfa(Pagina.getParamStr(request, "indListagemImprCompEtttfa"));
105 }
106 else {
107 estruturaTipoFuncAcomp.setIndListagemImprCompEtttfa(null);
108 }
109
110 if (!Pagina.getParamStr(request, "indListagemImprResEtttfa").equals("")) {
111 estruturaTipoFuncAcomp.setIndListagemImprResEtttfa(Pagina.getParamStr(request, "indListagemImprResEtttfa"));
112 }
113 else {
114 estruturaTipoFuncAcomp.setIndListagemImprResEtttfa(null);
115 }
116
117 if (!Pagina.getParamStr(request, "indListagemTelaEtttfa").equals("")) {
118 estruturaTipoFuncAcomp.setIndListagemTelaEtttfa(Pagina.getParamStr(request, "indListagemTelaEtttfa"));
119 }
120 else {
121 estruturaTipoFuncAcomp.setIndListagemTelaEtttfa(null);
122 }
123
124 if (!Pagina.getParamStr(request, "indRevisao").equals("")) {
125 estruturaTipoFuncAcomp.setIndRevisao(Pagina.getParamStr(request, "indRevisao"));
126 }
127 else {
128 estruturaTipoFuncAcomp.setIndRevisao(null);
129 }
130
131 if (!Pagina.getParamStr(request, "idFiltroEtttfa").equals("")) {
132 estruturaTipoFuncAcomp.setIdFiltroEtttfa(Pagina.getParamStr(request, "idFiltroEtttfa"));
133 }
134 else {
135 estruturaTipoFuncAcomp.setIdFiltroEtttfa(null);
136 }
137
138 if (!Pagina.getParamStr(request, "idPodeBloquearEtttfa").equals("")) {
139 estruturaTipoFuncAcomp.setIdPodeBloquearEtttfa(Pagina.getParamStr(request, "idPodeBloquearEtttfa"));
140 }
141 else {
142 estruturaTipoFuncAcomp.setIdPodeBloquearEtttfa(null);
143 }
144
145 if (!Pagina.getParamStr(request, "indManterProximoNivelEtttfa").equals("")) {
146 estruturaTipoFuncAcomp.setIndManterProximoNivelEtttfa(Pagina.getParamStr(request, "indManterProximoNivelEtttfa"));
147 }
148 else {
149 estruturaTipoFuncAcomp.setIndManterProximoNivelEtttfa(null);
150 }
151
152 }
153 else {
154 estruturaTipoFuncAcomp.setIndListagemImprCompEtttfa(Pagina.getParamOrDefault(request, "indListagemImprCompEtttfa", Pagina.NAO));
155 estruturaTipoFuncAcomp.setIndListagemImprResEtttfa(Pagina.getParamOrDefault(request, "indListagemImprResEtttfa", Pagina.NAO));
156 estruturaTipoFuncAcomp.setIndListagemTelaEtttfa(Pagina.getParamOrDefault(request, "indListagemTelaEtttfa", Pagina.NAO));
157 estruturaTipoFuncAcomp.setIndRevisao(Pagina.getParamOrDefault(request, "indRevisao", Pagina.NAO));
158 estruturaTipoFuncAcomp.setIdFiltroEtttfa(Pagina.getParamOrDefault(request, "idFiltroEtttfa", Pagina.NAO));
159 estruturaTipoFuncAcomp.setIdPodeBloquearEtttfa(Pagina.getParamOrDefault(request, "idPodeBloquearEtttfa", Pagina.NAO));
160 estruturaTipoFuncAcomp.setIndManterProximoNivelEtttfa(Pagina.getParamOrDefault(request, "indManterProximoNivelEtttfa", Pagina.NAO));
161 }
162 }
163
164
165
166
167
168
169
170
171 public List getTipoFuncAcomp(EstruturaEtt estrutura) {
172 List retorno = new ArrayList();
173 if (estrutura.getEstrutTpFuncAcmpEtttfas() != null) {
174 Iterator it = estrutura.getEstrutTpFuncAcmpEtttfas().iterator();
175 while (it.hasNext()) {
176 EstrutTpFuncAcmpEtttfa estruturaTipoFuncAcomp = (EstrutTpFuncAcmpEtttfa) it.next();
177 retorno.add(estruturaTipoFuncAcomp.getTipoFuncAcompTpfa());
178 }
179 }
180 return retorno;
181 }
182
183
184
185
186
187
188
189
190 public List getTipoFuncAcompEmitePosicao(EstruturaEtt estrutura) {
191 List retorno = new ArrayList();
192 if (estrutura.getEstrutTpFuncAcmpEtttfas() != null) {
193 Iterator it = estrutura.getEstrutTpFuncAcmpEtttfas().iterator();
194 while (it.hasNext()) {
195 EstrutTpFuncAcmpEtttfa estruturaTipoFuncAcomp = (EstrutTpFuncAcmpEtttfa) it.next();
196 if ("S".equals(estruturaTipoFuncAcomp.getTipoFuncAcompTpfa().getIndEmitePosicaoTpfa()))
197 retorno.add(estruturaTipoFuncAcomp.getTipoFuncAcompTpfa());
198 }
199 }
200 return retorno;
201 }
202
203
204
205
206
207
208
209
210 public List getEstruturas(TipoFuncAcompTpfa tipoFuncaoAcomp) {
211 List retorno = new ArrayList();
212 if (tipoFuncaoAcomp.getEstrutTpFuncAcmpEtttfas() != null) {
213 Iterator it = tipoFuncaoAcomp.getEstrutTpFuncAcmpEtttfas().iterator();
214 while (it.hasNext()) {
215 EstrutTpFuncAcmpEtttfa estruturaTipoFuncAcomp = (EstrutTpFuncAcmpEtttfa) it.next();
216 retorno.add(estruturaTipoFuncAcomp.getEstruturaEtt());
217 }
218 }
219 return retorno;
220 }
221
222
223
224
225
226
227
228 public Set<TipoFuncAcompTpfa> setLibTipoFuncAcompTpfa() {
229
230 Set<TipoFuncAcompTpfa> set = new HashSet<TipoFuncAcompTpfa>();
231
232 if (request.getParameterValues("limbTipoFuncAcompTpfa") != null) {
233 String strLibTipoFuncAcomp[] = request.getParameterValues("limbTipoFuncAcompTpfa");
234 Long codTpfa = null;
235
236 try {
237 for (int i = 0; i < strLibTipoFuncAcomp.length; i++) {
238 codTpfa = Long.parseLong(strLibTipoFuncAcomp[i]);
239 TipoFuncAcompTpfa tipoFuncAcomp = (TipoFuncAcompTpfa) this.buscar(TipoFuncAcompTpfa.class, codTpfa);
240
241 set.add(tipoFuncAcomp);
242 }
243 } catch (ECARException e) {
244
245 }
246 }
247 return set;
248 }
249
250
251
252
253
254
255
256 public void alterar(EstrutTpFuncAcmpEtttfa estrutTpFuncAcmpEtttfa) throws ECARException {
257
258 Transaction tx = null;
259
260 try {
261 ArrayList objetos = new ArrayList();
262
263 super.inicializarLogBean();
264
265 tx = session.beginTransaction();
266
267 ControlePermissao controlePermissao = new ControlePermissao();
268
269
270
271
272 String indManterProximoNivelAntigo = request.getParameter("indManterProximoNivelEtttfaAntigo");
273 String indManterProximoNivelAtual = estrutTpFuncAcmpEtttfa.getIndManterProximoNivelEtttfa();
274 if (!indManterProximoNivelAntigo.equals(indManterProximoNivelAtual)) {
275 controlePermissao.atualizarPermissaoManterProximoNivel(estrutTpFuncAcmpEtttfa, session, request);
276 }
277
278 session.update(estrutTpFuncAcmpEtttfa);
279 objetos.add(estrutTpFuncAcmpEtttfa);
280
281 tx.commit();
282
283 if (super.logBean != null) {
284 super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
285 super.logBean.setOperacao("ALT");
286 Iterator itObj = objetos.iterator();
287
288 while (itObj.hasNext()) {
289 super.logBean.setObj(itObj.next());
290 super.loggerAuditoria.info(logBean.toString());
291 }
292 }
293 } catch (HibernateException e) {
294 if (tx != null)
295 try {
296 tx.rollback();
297 } catch (HibernateException r) {
298 this.logger.error(r);
299 throw new ECARException("erro.hibernateException");
300 }
301 this.logger.error(e);
302 throw new ECARException("erro.hibernateException");
303 }
304 }
305 }