1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Date;
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.Transaction;
15
16 import comum.database.Dao;
17 import comum.util.Data;
18 import comum.util.Pagina;
19
20 import ecar.exception.ECARException;
21 import ecar.pojo.ItemEstrutLocalIettl;
22 import ecar.pojo.ItemEstrutLocalIettlPK;
23 import ecar.pojo.ItemEstruturaIett;
24 import ecar.pojo.LocalItemLit;
25 import ecar.pojo.UsuarioUsu;
26
27
28
29
30 public class ItemEstrutLocalDao extends Dao {
31
32
33
34
35
36
37
38
39
40 public ItemEstrutLocalDao(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 setItemEstrutLocal(HttpServletRequest request, ItemEstrutLocalIettl itemEstrutLocal) throws ECARException {
58 itemEstrutLocal.setItemEstruturaIett((ItemEstruturaIett) this.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett"))));
59 itemEstrutLocal.setLocalItemLit((LocalItemLit) new LocalItemDao(request).buscar(LocalItemLit.class, Long.valueOf(Pagina.getParamStr(request, "codLit"))));
60 }
61
62
63
64
65
66
67 public void setPK(ItemEstrutLocalIettl itemEstrutLocal) {
68 ItemEstrutLocalIettlPK chave = new ItemEstrutLocalIettlPK();
69
70 chave.setCodIett(itemEstrutLocal.getItemEstruturaIett().getCodIett());
71 chave.setCodLit(itemEstrutLocal.getLocalItemLit().getCodLit());
72
73 itemEstrutLocal.setComp_id(chave);
74 }
75
76
77
78
79
80
81
82 public void salvar(ItemEstrutLocalIettl itemEstrutLocal) throws ECARException {
83 setPK(itemEstrutLocal);
84 try {
85 if (buscar(ItemEstrutLocalIettl.class, itemEstrutLocal.getComp_id()) != null)
86 throw new ECARException("itemEstrutura.localItem.inclusao.jaExiste");
87 } catch (ECARException e) {
88 if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
89 super.salvar(itemEstrutLocal);
90 }
91 else {
92 this.logger.error(e);
93
94 throw e;
95 }
96 }
97 }
98
99
100
101
102
103
104
105
106
107
108 public void excluir(String[] codigosParaExcluir, Long codItemEstrutura, UsuarioUsu usuarioUsu) throws ECARException {
109 Transaction tx = null;
110
111 try {
112 ArrayList objetos = new ArrayList();
113
114 super.inicializarLogBean();
115
116 tx = session.beginTransaction();
117
118 for (int i = 0; i < codigosParaExcluir.length; i++) {
119 ItemEstrutLocalIettlPK chave = new ItemEstrutLocalIettlPK(Long.valueOf(codigosParaExcluir[i]), codItemEstrutura);
120 ItemEstrutLocalIettl itemEstrutLocal = (ItemEstrutLocalIettl) buscar(ItemEstrutLocalIettl.class, chave);
121
122 itemEstrutLocal.setUsuarioUsuManutencao(usuarioUsu);
123 itemEstrutLocal.setIndExclusaoPosHistorico(Boolean.TRUE);
124
125 session.update(itemEstrutLocal);
126 objetos.add(itemEstrutLocal);
127 }
128
129 tx.commit();
130
131 if (super.logBean != null) {
132 super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
133 super.logBean.setOperacao("EXC");
134 Iterator itObj = objetos.iterator();
135
136 while (itObj.hasNext()) {
137 super.logBean.setObj(itObj.next());
138 super.loggerAuditoria.info(logBean.toString());
139 }
140 }
141 } catch (HibernateException e) {
142 if (tx != null)
143 try {
144 tx.rollback();
145 } catch (HibernateException r) {
146 this.logger.error(r);
147 throw new ECARException("erro.hibernateException");
148 }
149 this.logger.error(e);
150 throw new ECARException("erro.hibernateException");
151 }
152 }
153
154
155
156
157
158
159
160
161
162 public String getAbrangencia(Long codItemEstrutura) throws ECARException {
163 ItemEstruturaIett itemEstrutura = new ItemEstruturaIett();
164 ItemEstrutLocalIettl itemEstrutLocal = new ItemEstrutLocalIettl();
165
166 itemEstrutura = (ItemEstruturaIett) new ItemEstruturaDao(request).buscar(ItemEstruturaIett.class, codItemEstrutura);
167 List lista = new ItemEstruturaDao(request).ordenaSet(itemEstrutura.getItemEstrutLocalIettls(), "this.localItemLit.identificacaoLit", "asc");
168 Iterator it = lista.iterator();
169
170 if (it.hasNext()) {
171 itemEstrutLocal = (ItemEstrutLocalIettl) it.next();
172 return itemEstrutLocal.getLocalItemLit().getLocalGrupoLgp().getIdentificacaoLgp();
173 }
174 else {
175 return "";
176 }
177
178 }
179 }