1 package ecar.dao;
2
3 import java.io.BufferedReader;
4 import java.io.FileReader;
5 import java.math.BigDecimal;
6 import java.util.ArrayList;
7 import java.util.HashSet;
8 import java.util.Iterator;
9 import java.util.List;
10
11 import javax.servlet.http.HttpServletRequest;
12
13 import org.hibernate.HibernateException;
14 import org.hibernate.Query;
15 import org.hibernate.Transaction;
16
17 import comum.database.Dao;
18 import comum.util.Data;
19
20 import ecar.exception.ECARException;
21 import ecar.login.SegurancaECAR;
22 import ecar.permissao.ControlePermissao;
23 import ecar.pojo.EstruturaEtt;
24 import ecar.pojo.ItemEstrutLocalIettl;
25 import ecar.pojo.ItemEstrutUsuarioIettus;
26 import ecar.pojo.ItemEstruturaIett;
27 import ecar.pojo.LocalItemLit;
28 import ecar.pojo.OrgaoOrg;
29 import ecar.pojo.PaiFilho;
30 import ecar.pojo.PeriodicidadePrdc;
31 import ecar.pojo.SisAtributoSatb;
32 import ecar.pojo.SituacaoSit;
33 import ecar.pojo.SubAreaSare;
34 import ecar.pojo.UsuarioUsu;
35
36
37
38
39
40 public class TempCargaEcarDFIettsBDDao extends Dao {
41 public TempCargaEcarDFIettsBDDao(HttpServletRequest request) {
42 super();
43 this.request = request;
44 }
45
46 public void efetuarCargaItens() throws ECARException {
47 Transaction tx = null;
48
49 try {
50 super.inicializarLogBean();
51
52 tx = session.beginTransaction();
53
54
55
56
57
58 EstruturaEtt estrutura = (EstruturaEtt) new EstruturaDao(request).buscar(EstruturaEtt.class, Long.valueOf(6));
59
60 BufferedReader in = new BufferedReader(new FileReader("/workspace/importacao/impsubemp.txt"));
61 String linha = "";
62 while ((linha = in.readLine()) != null) {
63
64 String[] campos = linha.split(";");
65 System.out.println(linha);
66
67
68
69
70
71
72
73
74
75
76
77
78
79 String nomeItem = campos[0].trim();
80 String descricaoR3 = campos[1].trim();
81 String dataTermino = campos[2].trim();
82 String indMonitoramento = campos[3].trim();
83 String valorPrevisto = campos[4].trim();
84 String descricaoR2 = campos[5].trim();
85 String descricaoR1 = campos[6].trim();
86 String siglaItem = campos[7].trim();
87 String descricaoR4 = campos[8].trim();
88 String local1 = campos[9].trim();
89 String local2 = campos[10].trim();
90 String local3 = campos[11].trim();
91 String local4 = campos[12].trim();
92 String local5 = campos[13].trim();
93 String orgao = campos[14].trim();
94 String situacao = campos[15].trim();
95 String indCritica = campos[16].trim();
96 String nivelPlanejamento = campos[17].trim();
97 String codItemPai = campos[18].trim();
98 String codSubArea = campos[19].trim();
99
100
101 String sqlBuscaPai = "select pai from ItemEstruturaIett pai where pai.codIett = :codIettPai";
102
103 Query q = this.session.createQuery(sqlBuscaPai);
104 q.setString("codIettPai", codItemPai);
105
106 q.setMaxResults(1);
107 ItemEstruturaIett iettPai = (ItemEstruturaIett) q.uniqueResult();
108 if (iettPai == null)
109 throw new ECARException("IettPai Nulo");
110
111 ItemEstruturaIett iett = new ItemEstruturaIett();
112
113 iett.setIndAtivoIett("S");
114 iett.setIndBloqPlanejamentoIett("N");
115
116 if ("1".equals(indCritica)) {
117 indCritica = "S";
118 }
119 else {
120 indCritica = "N";
121 }
122 iett.setIndCriticaIett(indCritica);
123
124 if ("1".equals(indMonitoramento)) {
125 indMonitoramento = "S";
126 }
127 else {
128 indMonitoramento = "N";
129 }
130 iett.setIndMonitoramentoIett(indMonitoramento);
131
132 iett.setDataInclusaoIett(Data.getDataAtual());
133 iett.setDataInicioIett(Data.parseDate("01/01/2007"));
134 if (!"".equals(dataTermino.trim())) {
135 dataTermino = dataTermino.substring(0, 10);
136 iett.setDataTerminoIett(Data.parseDate(dataTermino));
137 }
138
139 iett.setNivelIett(Integer.valueOf(3));
140
141 SubAreaSare subArea = null;
142 if (!codSubArea.equals("")) {
143
144 String sqlBuscaSubArea = "select subarea from SubAreaSare subarea where subarea.codSare = :codSubArea";
145 q = this.session.createQuery(sqlBuscaSubArea);
146 q.setString("codSubArea", codSubArea);
147
148 q.setMaxResults(1);
149 subArea = (SubAreaSare) q.uniqueResult();
150 }
151 if (subArea != null) {
152 System.out.println("CodSubArea: " + subArea.getCodSare());
153 }
154 else {
155 System.out.println("CodSubArea: NULO");
156 }
157 iett.setSubAreaSare(subArea);
158
159 iett.setItemEstruturaIett(iettPai);
160 iett.setSiglaIett(siglaItem);
161 iett.setNomeIett(nomeItem);
162 iett.setDescricaoR3(descricaoR3);
163 if (!"".equals(valorPrevisto)) {
164 valorPrevisto = valorPrevisto.replace(',', '.');
165 iett.setValPrevistoFuturoIett(new BigDecimal(valorPrevisto));
166 }
167 iett.setDescricaoR2(descricaoR2);
168 iett.setDescricaoR1(descricaoR1);
169 iett.setDescricaoR4(descricaoR4);
170 OrgaoOrg orgaoOrg = null;
171 String sql;
172 if (!orgao.equals("")) {
173 sql = "select orgao from OrgaoOrg orgao where orgao.codOrg = :codOrg";
174 q = this.session.createQuery(sql);
175 System.out.println("orgao: " + orgao);
176 q.setLong("codOrg", Long.valueOf(orgao).longValue());
177 q.setMaxResults(1);
178
179 orgaoOrg = (OrgaoOrg) q.uniqueResult();
180 if (orgao == null)
181 throw new ECARException("Orgao Nulo");
182 iett.setOrgaoOrgByCodOrgaoResponsavel1Iett(orgaoOrg);
183 }
184
185 sql = "select sit from SituacaoSit sit where sit.codSit = :codSit";
186 q = this.session.createQuery(sql);
187 q.setLong("codSit", Long.valueOf(situacao).longValue());
188 q.setMaxResults(1);
189
190 SituacaoSit situacaoSit = (SituacaoSit) q.uniqueResult();
191 if (situacaoSit == null)
192 throw new ECARException("Situacao Nulo");
193 iett.setSituacaoSit(situacaoSit);
194
195 iett.setEstruturaEtt(estrutura);
196 iett.setPeriodicidadePrdc((PeriodicidadePrdc) super.buscar(PeriodicidadePrdc.class, Long.valueOf("1")));
197
198 iett.setItemEstruturaNivelIettns(new HashSet());
199 iett.getItemEstruturaNivelIettns().add((SisAtributoSatb) super.buscar(SisAtributoSatb.class, Long.valueOf(nivelPlanejamento)));
200
201 iett.setUsuarioUsuByCodUsuIncIett(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
202
203 iett.setDataInclusaoIett(Data.getDataAtual());
204 List filhos = new ArrayList();
205 if (iett.getItemEstUsutpfuacIettutfas() != null)
206 filhos.addAll(iett.getItemEstUsutpfuacIettutfas());
207
208
209 iett.setItemEstrutLocalIettls(new HashSet());
210 if (!"".equals(local1.trim())) {
211 LocalItemLit lit = (LocalItemLit) super.buscar(LocalItemLit.class, Long.valueOf(local1));
212 ItemEstrutLocalIettl iettl = new ItemEstrutLocalIettl();
213 iettl.setDataInclusaoIettl(Data.getDataAtual());
214 iettl.setIndExclusaoPosHistorico(Boolean.FALSE);
215 iettl.setItemEstruturaIett(iett);
216 iettl.setLocalItemLit(lit);
217 iettl.setUsuarioUsuManutencao(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
218 iett.getItemEstrutLocalIettls().add(iettl);
219 }
220 if (!"".equals(local2.trim())) {
221 LocalItemLit lit = (LocalItemLit) super.buscar(LocalItemLit.class, Long.valueOf(local2));
222 ItemEstrutLocalIettl iettl = new ItemEstrutLocalIettl();
223 iettl.setDataInclusaoIettl(Data.getDataAtual());
224 iettl.setIndExclusaoPosHistorico(Boolean.FALSE);
225 iettl.setItemEstruturaIett(iett);
226 iettl.setLocalItemLit(lit);
227 iettl.setUsuarioUsuManutencao(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
228 iett.getItemEstrutLocalIettls().add(iettl);
229 }
230 if (!"".equals(local3.trim())) {
231 LocalItemLit lit = (LocalItemLit) super.buscar(LocalItemLit.class, Long.valueOf(local3));
232 ItemEstrutLocalIettl iettl = new ItemEstrutLocalIettl();
233 iettl.setDataInclusaoIettl(Data.getDataAtual());
234 iettl.setIndExclusaoPosHistorico(Boolean.FALSE);
235 iettl.setItemEstruturaIett(iett);
236 iettl.setLocalItemLit(lit);
237 iettl.setUsuarioUsuManutencao(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
238 iett.getItemEstrutLocalIettls().add(iettl);
239 }
240 if (!"".equals(local4.trim())) {
241 LocalItemLit lit = (LocalItemLit) super.buscar(LocalItemLit.class, Long.valueOf(local4));
242 ItemEstrutLocalIettl iettl = new ItemEstrutLocalIettl();
243 iettl.setDataInclusaoIettl(Data.getDataAtual());
244 iettl.setIndExclusaoPosHistorico(Boolean.FALSE);
245 iettl.setItemEstruturaIett(iett);
246 iettl.setLocalItemLit(lit);
247 iettl.setUsuarioUsuManutencao(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
248 iett.getItemEstrutLocalIettls().add(iettl);
249 }
250 if (!"".equals(local5.trim())) {
251 LocalItemLit lit = (LocalItemLit) super.buscar(LocalItemLit.class, Long.valueOf(local5));
252 ItemEstrutLocalIettl iettl = new ItemEstrutLocalIettl();
253 iettl.setDataInclusaoIettl(Data.getDataAtual());
254 iettl.setIndExclusaoPosHistorico(Boolean.FALSE);
255 iettl.setItemEstruturaIett(iett);
256 iettl.setLocalItemLit(lit);
257 iettl.setUsuarioUsuManutencao(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
258 iett.getItemEstrutLocalIettls().add(iettl);
259 }
260
261 if (iett.getItemEstrutLocalIettls() != null)
262 filhos.addAll(iett.getItemEstrutLocalIettls());
263
264 session.save(iett);
265
266
267
268
269
270 new ControlePermissao().atualizarPermissoesItemEstrutura(iett, null, session, true, request);
271
272
273 ItemEstrutUsuarioIettus itemEstrutUsuario = new ItemEstrutUsuarioIettus();
274
275 itemEstrutUsuario.setItemEstruturaIett(iett);
276 itemEstrutUsuario.setItemEstruturaIettOrigem(iett);
277 itemEstrutUsuario.setCodTpPermIettus(ControlePermissao.PERMISSAO_USUARIO);
278 itemEstrutUsuario.setUsuarioUsu(((SegurancaECAR) request.getSession().getAttribute("seguranca")).getUsuario());
279
280 itemEstrutUsuario.setIndLeituraIettus("S");
281 itemEstrutUsuario.setIndEdicaoIettus("S");
282 itemEstrutUsuario.setIndExcluirIettus("S");
283
284 itemEstrutUsuario.setIndAtivMonitIettus("N");
285 itemEstrutUsuario.setIndDesatMonitIettus("N");
286 itemEstrutUsuario.setIndBloqPlanIettus("N");
287 itemEstrutUsuario.setIndDesblPlanIettus("N");
288 itemEstrutUsuario.setIndInfAndamentoIettus("N");
289 itemEstrutUsuario.setIndEmitePosIettus("N");
290 itemEstrutUsuario.setIndProxNivelIettus("N");
291
292 itemEstrutUsuario.setDataInclusaoIettus(Data.getDataAtual());
293
294 Iterator it = filhos.iterator();
295 while (it.hasNext()) {
296 PaiFilho object = (PaiFilho) it.next();
297 object.atribuirPKPai();
298
299 session.save(object);
300 }
301
302 session.save(itemEstrutUsuario);
303 }
304
305 tx.commit();
306 } catch (Exception e) {
307 e.printStackTrace();
308 if (tx != null)
309 try {
310 tx.rollback();
311 } catch (HibernateException r) {
312 this.logger.error(r);
313 throw new ECARException("erro.hibernateException");
314 }
315 this.logger.error(e);
316 throw new ECARException("erro.hibernateException");
317 }
318 }
319
320
321
322
323
324
325
326
327
328
329 private UsuarioUsu getUsuarioGPSByOrgao(OrgaoOrg orgao) throws ECARException {
330
331 final long COD_ORG_SEPL = 1;
332 final long COD_ORG_PGE = 5;
333 final long COD_ORG_SEAP = 6;
334 final long COD_ORG_SEAB = 7;
335 final long COD_ORG_SETI = 8;
336 final long COD_ORG_SECS = 9;
337 final long COD_ORG_SEEC = 10;
338 final long COD_ORG_SEDU = 11;
339 final long COD_ORG_SEED = 12;
340 final long COD_ORG_SEFA = 13;
341 final long COD_ORG_SEIM = 14;
342 final long COD_ORG_SEJU = 15;
343 final long COD_ORG_SEMA = 16;
344 final long COD_ORG_SEOP = 17;
345 final long COD_ORG_SESA = 19;
346 final long COD_ORG_SESP = 20;
347 final long COD_ORG_SETP = 21;
348 final long COD_ORG_SETR = 22;
349 final long COD_ORG_SETU = 23;
350 final long COD_ORG_CPE = 79;
351
352 Long chave = null;
353
354 if (orgao != null) {
355 if (orgao.getCodOrg().longValue() == COD_ORG_SEPL)
356 chave = Long.valueOf(325);
357 if (orgao.getCodOrg().longValue() == COD_ORG_PGE)
358 chave = Long.valueOf(155);
359 if (orgao.getCodOrg().longValue() == COD_ORG_SEAP)
360 chave = Long.valueOf(136);
361 if (orgao.getCodOrg().longValue() == COD_ORG_SEAB)
362 chave = Long.valueOf(133);
363 if (orgao.getCodOrg().longValue() == COD_ORG_SETI)
364 chave = Long.valueOf(149);
365 if (orgao.getCodOrg().longValue() == COD_ORG_SECS)
366 chave = Long.valueOf(157);
367 if (orgao.getCodOrg().longValue() == COD_ORG_SEEC)
368 chave = Long.valueOf(340);
369 if (orgao.getCodOrg().longValue() == COD_ORG_SEDU)
370 chave = Long.valueOf(158);
371 if (orgao.getCodOrg().longValue() == COD_ORG_SEED)
372 chave = Long.valueOf(139);
373 if (orgao.getCodOrg().longValue() == COD_ORG_SEFA)
374 chave = Long.valueOf(141);
375 if (orgao.getCodOrg().longValue() == COD_ORG_SEIM)
376 chave = Long.valueOf(334);
377 if (orgao.getCodOrg().longValue() == COD_ORG_SEJU)
378 chave = Long.valueOf(143);
379 if (orgao.getCodOrg().longValue() == COD_ORG_SEMA)
380 chave = Long.valueOf(160);
381 if (orgao.getCodOrg().longValue() == COD_ORG_SEOP)
382 chave = Long.valueOf(144);
383 if (orgao.getCodOrg().longValue() == COD_ORG_SESA)
384 chave = Long.valueOf(145);
385 if (orgao.getCodOrg().longValue() == COD_ORG_SESP)
386 chave = Long.valueOf(147);
387 if (orgao.getCodOrg().longValue() == COD_ORG_SETP)
388 chave = Long.valueOf(151);
389 if (orgao.getCodOrg().longValue() == COD_ORG_SETR)
390 chave = Long.valueOf(153);
391 if (orgao.getCodOrg().longValue() == COD_ORG_SETU)
392 chave = Long.valueOf(162);
393 if (orgao.getCodOrg().longValue() == COD_ORG_CPE)
394 chave = Long.valueOf(131);
395
396 if (chave != null) {
397 return (UsuarioUsu) new UsuarioDao(request).buscar(UsuarioUsu.class, chave);
398 }
399 }
400
401 return null;
402 }
403
404 }