1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Iterator;
8 import java.util.List;
9 import java.util.Set;
10
11 import javax.servlet.http.HttpServletRequest;
12
13 import comum.database.Dao;
14
15 import ecar.exception.ECARException;
16 import ecar.pojo.ItemEstUsutpfuacIettutfa;
17 import ecar.pojo.ItemEstUsutpfuacIettutfaPK;
18 import ecar.pojo.ItemEstrutUsuarioIettus;
19 import ecar.pojo.ItemEstruturaIett;
20 import ecar.pojo.TipoFuncAcompTpfa;
21 import ecar.pojo.UsuarioAtributoUsua;
22 import ecar.pojo.UsuarioUsu;
23
24
25
26
27 public class ItemEstUsutpfuacDao extends Dao {
28
29 public ItemEstUsutpfuacDao() {
30 super();
31 }
32
33 public ItemEstUsutpfuacDao(HttpServletRequest request) {
34 super();
35 this.request = request;
36 }
37
38
39
40
41
42
43
44
45 public ItemEstUsutpfuacIettutfa getUsuarioAcompanhamento(ItemEstruturaIett itemEstrutura, TipoFuncAcompTpfa funcao) throws ECARException {
46
47 ItemEstUsutpfuacIettutfa itemEstUsu = new ItemEstUsutpfuacIettutfa();
48
49 itemEstUsu.setItemEstruturaIett(itemEstrutura);
50 itemEstUsu.setTipoFuncAcompTpfa(funcao);
51
52
53 List lista = pesquisar(itemEstUsu, new String[] { "tipoFuncAcompTpfa.codTpfa", "asc" });
54 Iterator it = lista.iterator();
55
56
57 if (it.hasNext()) {
58 return (ItemEstUsutpfuacIettutfa) it.next();
59 }
60
61 return null;
62 }
63
64
65
66
67
68
69
70 public List getItemEstUsutpfuacIettutfa(List listItemEstrutura) throws ECARException {
71 List retorno = new ArrayList();
72 Iterator it = listItemEstrutura.iterator();
73 while (it.hasNext()) {
74 ItemEstruturaIett iett = (ItemEstruturaIett) it.next();
75 if (iett.getItemEstUsutpfuacIettutfas() != null) {
76 retorno.addAll(iett.getItemEstUsutpfuacIettutfas());
77 }
78 }
79 return retorno;
80 }
81
82
83
84
85
86
87
88
89
90 public List getUsuariosAcompanhamento(ItemEstruturaIett itemEstrutura) throws ECARException {
91
92 List retorno = new ArrayList();
93
94 ItemEstUsutpfuacIettutfa itemEstUsu = new ItemEstUsutpfuacIettutfa();
95
96 itemEstUsu.setItemEstruturaIett(itemEstrutura);
97
98 List lista = pesquisar(itemEstUsu, null);
99 Iterator it = lista.iterator();
100
101
102 while (it.hasNext()) {
103 ItemEstUsutpfuacIettutfa item = (ItemEstUsutpfuacIettutfa) it.next();
104 if (item.getUsuarioUsu() != null) {
105 retorno.add(item.getUsuarioUsu());
106 }
107 else if (item.getSisAtributoSatb() != null) {
108 if (item.getSisAtributoSatb().getUsuarioAtributoUsuas() != null) {
109 Iterator itUsuariosAtributos = item.getSisAtributoSatb().getUsuarioAtributoUsuas().iterator();
110 while (itUsuariosAtributos.hasNext()) {
111 retorno.add(((UsuarioAtributoUsua) itUsuariosAtributos.next()).getUsuarioUsu());
112 }
113 }
114 }
115 }
116 return retorno;
117 }
118
119
120
121
122
123
124
125
126
127 public ItemEstUsutpfuacIettutfa buscar(Long codIett, Long codTpfa) throws ECARException {
128 ItemEstUsutpfuacIettutfaPK chave = new ItemEstUsutpfuacIettutfaPK();
129 ItemEstUsutpfuacIettutfa itemEstUsutpfuacIettutfa = null;
130 try {
131
132 chave.setCodIett(codIett);
133 chave.setCodTpfa(codTpfa);
134
135 return (ItemEstUsutpfuacIettutfa) super.buscar(ItemEstUsutpfuacIettutfa.class, chave);
136
137 } catch (ECARException e) {
138
139 return itemEstUsutpfuacIettutfa;
140 }
141 }
142
143
144
145
146
147
148
149
150
151 public boolean getFuncaoAcompInfAndamento(UsuarioUsu usuario, ItemEstruturaIett item) throws ECARException {
152 boolean infAndamento = false;
153
154 ItemEstrutUsuarioIettus itemEstUsu = new ItemEstrutUsuarioIettus();
155
156 itemEstUsu.setItemEstruturaIett(item);
157 itemEstUsu.setUsuarioUsu(usuario);
158 itemEstUsu.setCodTpPermIettus("F");
159
160 List lista = pesquisar(itemEstUsu, new String[] { "codIettus", "asc" });
161 Iterator it = lista.iterator();
162
163 while (it.hasNext()) {
164 ItemEstrutUsuarioIettus itemEstUsuLista = (ItemEstrutUsuarioIettus) it.next();
165
166 if ("S".equalsIgnoreCase(itemEstUsuLista.getIndInfAndamentoIettus()))
167 infAndamento = true;
168 }
169
170 Iterator itUsuarios = item.getItemEstUsutpfuacIettutfas().iterator();
171
172 while (itUsuarios.hasNext() && !infAndamento) {
173
174 ItemEstUsutpfuacIettutfa itemEstUsutpfuacIettutfa = (ItemEstUsutpfuacIettutfa) itUsuarios.next();
175
176 if (itemEstUsutpfuacIettutfa.getSisAtributoSatb() != null) {
177
178 itemEstUsu = new ItemEstrutUsuarioIettus();
179
180 itemEstUsu.setItemEstruturaIett(item);
181 itemEstUsu.setSisAtributoSatb(itemEstUsutpfuacIettutfa.getSisAtributoSatb());
182 itemEstUsu.setCodTpPermIettus("F");
183
184 List listaItemEstUsu = pesquisar(itemEstUsu, new String[] { "codIettus", "asc" });
185
186 Iterator itItemEstUsu = listaItemEstUsu.iterator();
187
188 while (itItemEstUsu.hasNext()) {
189
190 ItemEstrutUsuarioIettus itemEstUsuLista = (ItemEstrutUsuarioIettus) itItemEstUsu.next();
191
192 if ("S".equalsIgnoreCase(itemEstUsuLista.getIndInfAndamentoIettus())) {
193 if (new UsuarioDao().getUsuariosBySisAtributoSatb(itemEstUsutpfuacIettutfa.getSisAtributoSatb()).contains(usuario)) {
194 infAndamento = true;
195 break;
196 }
197 }
198
199 }
200
201 }
202 }
203
204 return infAndamento;
205 }
206
207
208
209
210
211
212
213
214
215 public List getFuacEmitePosicaoOrderByFuncAcomp(ItemEstruturaIett item) throws ECARException {
216
217 List lResultado = new ArrayList();
218
219 TipoFuncAcompDao tpfaDao = new TipoFuncAcompDao(request);
220
221 List lFuncAcomp = tpfaDao.ordenarTpfaBySequencia(tpfaDao.getTipoFuncAcompEmitePosicao(), item.getEstruturaEtt());
222
223
224 Set lItemFuac = item.getItemEstUsutpfuacIettutfas();
225
226 TipoFuncAcompTpfa funcao;
227 ItemEstUsutpfuacIettutfa itemFuac;
228
229 if (item != null && lItemFuac != null) {
230
231 Iterator itFunc = lFuncAcomp.iterator();
232 while (itFunc.hasNext()) {
233 funcao = (TipoFuncAcompTpfa) itFunc.next();
234 Iterator itFuac = lItemFuac.iterator();
235
236 while (itFuac.hasNext()) {
237 itemFuac = (ItemEstUsutpfuacIettutfa) itFuac.next();
238 if (itemFuac.getTipoFuncAcompTpfa().getCodTpfa() == funcao.getCodTpfa()) {
239 lResultado.add(itemFuac);
240 break;
241 }
242 }
243 }
244 }
245 return lResultado;
246 }
247
248
249
250
251
252
253
254
255 public List getFuacOrderByFuncAcomp(ItemEstruturaIett item) throws ECARException {
256
257 List lResultado = new ArrayList();
258
259 List lFuncAcomp = new TipoFuncAcompDao(request).getTipoFuncAcompOrdemFilhoAoPai();
260
261
262 Set lItemFuac = item.getItemEstUsutpfuacIettutfas();
263
264 TipoFuncAcompTpfa funcao;
265 ItemEstUsutpfuacIettutfa itemFuac;
266
267 if (item != null && lItemFuac != null) {
268
269 Iterator itFunc = lFuncAcomp.iterator();
270 while (itFunc.hasNext()) {
271 funcao = (TipoFuncAcompTpfa) itFunc.next();
272 Iterator itFuac = lItemFuac.iterator();
273
274 while (itFuac.hasNext()) {
275 itemFuac = (ItemEstUsutpfuacIettutfa) itFuac.next();
276 if (itemFuac.getTipoFuncAcompTpfa().getCodTpfa() == funcao.getCodTpfa()) {
277 lResultado.add(itemFuac);
278 break;
279 }
280 }
281 }
282 }
283 return lResultado;
284 }
285
286 }