1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package ecar.popup;
23
24 import java.util.ArrayList;
25 import java.util.Collections;
26 import java.util.Comparator;
27 import java.util.List;
28
29 import javax.servlet.http.HttpServletRequest;
30
31 import comum.database.Dao;
32 import comum.util.Pagina;
33
34 import ecar.dao.ConfiguracaoDao;
35 import ecar.dao.UsuarioDao;
36 import ecar.exception.ECARException;
37 import ecar.pojo.ConfiguracaoCfg;
38 import ecar.pojo.SisAtributoSatb;
39 import ecar.pojo.UsuarioUsu;
40 import ecar.util.Dominios;
41
42
43
44
45
46 public class PopUpUsuarioEGrupo implements PopUpPesquisa {
47
48
49
50 private String[] pesquisarEm;
51
52
53 private Object pojo;
54 private Dao dao;
55 private UsuarioUsu usuario;
56 private SisAtributoSatb grupo;
57 private UsuarioDao usuarioDao = new UsuarioDao(null);
58
59 public PopUpUsuarioEGrupo(){
60 pojo = new Object();
61 dao = new Dao();
62 this.setPesquisarEm(new String[] {"Nome","E-mail"});
63 }
64
65
66
67
68
69
70
71
72
73
74 public Dao getDao() {
75 return dao;
76 }
77
78
79
80
81
82
83
84
85
86 public String getTitulo(){
87 return "Usuários e Grupos de Acesso";
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101 public void setArgPesquisa(HttpServletRequest request) throws ECARException{
102 usuario = new UsuarioUsu();
103 grupo = new SisAtributoSatb();
104
105 String arg = Pagina.getParam(request, "hidArg");
106 String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
107
108 usuario.setIndAtivoUsu(Dominios.SIM);
109
110 if (pesquisarEm != null)
111 for (int i = 0; i < pesquisarEm.length; i++) {
112 if("0".equals(pesquisarEm[i])){
113 usuario.setNomeUsu(arg);
114 grupo.setDescricaoSatb(arg);
115 }
116
117 if("1".equals(pesquisarEm[i]))
118 usuario.setEmail1Usu(arg);
119 }
120 }
121
122
123
124
125
126
127
128
129
130
131
132 public List pesquisar() throws ECARException {
133 ConfiguracaoCfg configuracao = new ConfiguracaoCfg();
134 ConfiguracaoDao configuracaoDao = new ConfiguracaoDao(null);
135
136 List lista = new ArrayList();
137 List listaGrupos = new ArrayList();
138 List listaUsuarios = new ArrayList();
139
140 String nomeUsu = usuario.getNomeUsuSent();
141 String emailUsu = usuario.getEmail1UsuSent();
142
143
144 usuario.setNomeUsu(null);
145 usuario.setEmail1Usu(null);
146
147 listaUsuarios.addAll( usuarioDao.pesquisar(usuario, nomeUsu, "", "", emailUsu));
148
149
150 if(configuracaoDao.getConfiguracao() != null){
151 configuracao = configuracaoDao.getConfiguracao();
152
153 if( configuracao.getSisGrupoAtributoSgaByCodSgaGrAtrClAcesso() != null ) {
154 grupo.setSisGrupoAtributoSga(configuracao.getSisGrupoAtributoSgaByCodSgaGrAtrClAcesso());
155 listaGrupos.addAll( dao.pesquisar(grupo, new String[] {"descricaoSatb", "asc"}) );
156 }
157 }
158
159 Collections.sort(listaGrupos,
160 new Comparator() {
161 public int compare(Object o1, Object o2) {
162 return ( (SisAtributoSatb)o1 ).getDescricaoSatb().compareToIgnoreCase( ( (SisAtributoSatb)o2 ).getDescricaoSatb() );
163 }
164 } );
165
166 Collections.sort(listaUsuarios,
167 new Comparator() {
168 public int compare(Object o1, Object o2) {
169 return ( (UsuarioUsu)o1 ).getNomeUsuSent().compareToIgnoreCase( ( (UsuarioUsu)o2 ).getNomeUsuSent() );
170 }
171 } );
172
173 lista.addAll(listaGrupos);
174 lista.addAll(listaUsuarios);
175
176 return lista;
177 }
178
179
180
181
182
183
184
185
186
187
188
189
190 public String getCodigo() {
191 if( pojo.getClass() == UsuarioUsu.class )
192 return "U"+((UsuarioUsu) pojo).getCodUsu().toString();
193 else
194 return "G"+((SisAtributoSatb) pojo).getCodSatb().toString();
195 }
196
197
198
199
200
201
202
203
204
205 public String getDescricao() {
206 if( pojo.getClass() == UsuarioUsu.class )
207 return ((UsuarioUsu) pojo).getNomeUsuSent().toString();
208 else
209 return ((SisAtributoSatb) pojo).getDescricaoSatb().toString();
210 }
211
212
213
214
215
216
217
218
219
220 public void setPojo(Object o) {
221 if( o.getClass() == UsuarioUsu.class)
222 pojo = (UsuarioUsu) o;
223 else
224 pojo = (SisAtributoSatb) o;
225 }
226
227
228
229
230
231
232
233
234
235 public String[] getPesquisarEm() {
236 return pesquisarEm;
237 }
238
239
240
241
242
243
244
245
246
247 private void setPesquisarEm(String[] pesquisarEm) {
248 this.pesquisarEm = pesquisarEm;
249 }
250 }