1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Iterator;
8 import java.util.List;
9
10 import javax.servlet.http.HttpServletRequest;
11
12 import org.apache.log4j.Logger;
13
14 import comum.database.Dao;
15
16 import ecar.exception.ECARException;
17 import ecar.pojo.AcompRealFisicoArf;
18 import ecar.pojo.AcompRelatorioArel;
19 import ecar.pojo.EstruturaEtt;
20 import ecar.pojo.ItemEstruturaIett;
21 import ecar.pojo.SituacaoSit;
22 import ecar.pojo.TipoFuncAcompTpfa;
23
24
25
26
27 public class SituacaoDao extends Dao {
28
29
30
31
32 public SituacaoDao(HttpServletRequest request) {
33 super();
34 this.request = request;
35 }
36
37
38
39
40
41
42
43 public void excluir(SituacaoSit situacao) throws ECARException {
44 try {
45 boolean excluir = true;
46 if (contar(situacao.getAcompRealFisicoArfs()) > 0) {
47 excluir = false;
48 AcompRealFisicoArf arf = (AcompRealFisicoArf) new ArrayList(situacao.getAcompRealFisicoArfs()).get(0);
49 throw new ECARException("situacao.exclusao.erro.acompRealFisicoArfs", null, new String[] { arf.getItemEstruturaIett().getNomeIett() });
50 }
51 if (contar(situacao.getAcompRelatorioArels()) > 0) {
52 excluir = false;
53 AcompRelatorioArel arel = (AcompRelatorioArel) new ArrayList(situacao.getAcompRelatorioArels()).get(0);
54 throw new ECARException("situacao.exclusao.erro.acompRelatorioArels", null, new String[] { arel.getDescricaoArel() });
55 }
56
57
58
59
60
61
62
63 if (contar(situacao.getItemEstruturaIetts()) > 0) {
64 excluir = false;
65 ItemEstruturaIett iett = (ItemEstruturaIett) new ArrayList(situacao.getItemEstruturaIetts()).get(0);
66 throw new ECARException("situacao.exclusao.erro.itemEstruturaIetts", null, new String[] { iett.getNomeIett() });
67 }
68
69
70
71
72
73
74
75
76 if (excluir)
77 super.excluir(situacao);
78 } catch (ECARException e) {
79 this.logger.error(e);
80 throw e;
81 }
82 }
83
84
85
86
87
88
89
90
91
92
93 public List pesquisar(SituacaoSit situacao, String[] ordem) throws ECARException {
94
95 List results = super.pesquisar(situacao, ordem);
96 if (situacao.getEstruturaSituacaoEtts() != null && situacao.getEstruturaSituacaoEtts().size() > 0) {
97 Iterator it = results.iterator();
98 while (it.hasNext()) {
99 SituacaoSit situacaoBanco = (SituacaoSit) it.next();
100 if (!situacaoBanco.getEstruturaSituacaoEtts().containsAll(situacao.getEstruturaSituacaoEtts())) {
101 it.remove();
102 }
103 }
104 }
105 if (situacao.getSituacaoTpFuncAcmpSitfas() != null && situacao.getSituacaoTpFuncAcmpSitfas().size() > 0) {
106 Iterator it = results.iterator();
107 while (it.hasNext()) {
108 SituacaoSit situacaoBanco = (SituacaoSit) it.next();
109 if (!situacaoBanco.getSituacaoTpFuncAcmpSitfas().containsAll(situacao.getSituacaoTpFuncAcmpSitfas())) {
110 it.remove();
111 }
112 }
113 }
114
115 if (results.size() > 0) {
116 Iterator it = results.iterator();
117 SituacaoSit sit;
118 while (it.hasNext()) {
119 sit = (SituacaoSit) it.next();
120
121 if (sit.getEstruturaSituacaoEtts() != null)
122 sit.getEstruturaSituacaoEtts().size();
123 if (sit.getSituacaoTpFuncAcmpSitfas() != null)
124 sit.getSituacaoTpFuncAcmpSitfas().size();
125 }
126 }
127 return results;
128
129 }
130
131
132
133
134
135
136
137 public List getFuncoesAcompanhamentoById(SituacaoSit situacao) {
138 List lFuncoes = new ArrayList();
139 if (situacao.getSituacaoTpFuncAcmpSitfas() != null) {
140 situacao.getSituacaoTpFuncAcmpSitfas().size();
141
142
143
144 Iterator it = situacao.getSituacaoTpFuncAcmpSitfas().iterator();
145 while (it.hasNext()) {
146 TipoFuncAcompTpfa funcao = (TipoFuncAcompTpfa) it.next();
147 lFuncoes.add(funcao.getCodTpfa());
148 }
149 }
150 return lFuncoes;
151 }
152
153
154
155
156
157
158 public List getEstruturasById(SituacaoSit situacao) {
159 List lEstrutura = new ArrayList();
160 if (situacao.getEstruturaSituacaoEtts() != null) {
161 Iterator it = situacao.getEstruturaSituacaoEtts().iterator();
162 while (it.hasNext()) {
163 EstruturaEtt estrutura = (EstruturaEtt) it.next();
164 lEstrutura.add(estrutura.getCodEtt());
165 }
166 }
167 return lEstrutura;
168 }
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185 public String getScriptValidacao(List lista, String campo, String cont, String msg) throws ECARException {
186 Iterator itSit = lista.iterator();
187 StringBuilder strIf = new StringBuilder("");
188 boolean sitIndComentario = false;
189
190 if (itSit.hasNext()) {
191 while (itSit.hasNext()) {
192 SituacaoSit situacao = (SituacaoSit) itSit.next();
193 if ("S".equalsIgnoreCase(situacao.getIndComentarioSit())) {
194 sitIndComentario = true;
195 if ("".equals(strIf))
196 strIf = new StringBuilder("\t\tif(Trim(eval(\"form.").append(campo).append("\" + ").append(cont).append(" + \".value\")) == \"\" && (");
197 else
198 strIf.append(" || ");
199 strIf.append("eval(\"form.situacaoSit\" + ").append(cont).append(" + \".value\") == ").append(situacao.getCodSit());
200 }
201 }
202 }
203
204 if (sitIndComentario) {
205 strIf.append(")){\n");
206 strIf.append("\t\t\talert(\"").append(msg).append("\");\n");
207 strIf.append("\t\t\teval(\"form.").append(campo).append("\" + ").append(cont).append(" + \".focus()\");\n");
208 strIf.append("\t\t\treturn(false);\n");
209 strIf.append("\t\t}\n");
210 }
211
212 return strIf.toString();
213 }
214
215
216
217
218
219
220
221
222 public List getSituacaoByTipoFuncaoAcompanhamentoEstrutura(TipoFuncAcompTpfa funcao, EstruturaEtt estrutura) {
223 List retorno = new ArrayList();
224
225 Iterator it = funcao.getSituacaoTpFuncAcmpSitfas().iterator();
226
227 while (it.hasNext()) {
228 SituacaoSit situacao = (SituacaoSit) it.next();
229 if (estrutura.getEstruturaSituacaoEtts() != null && estrutura.getEstruturaSituacaoEtts().contains(situacao)) {
230 retorno.add(situacao);
231 }
232 }
233
234 return retorno;
235 }
236
237
238
239
240
241
242
243 public List getSituacaoByEstrutura(EstruturaEtt estrutura, String[] ordem) {
244 List retorno = new ArrayList();
245 try {
246 List situacoes = this.listar(SituacaoSit.class, ordem);
247 Iterator it = situacoes.iterator();
248 while (it.hasNext()) {
249 SituacaoSit situacao = (SituacaoSit) it.next();
250 if (estrutura.getEstruturaSituacaoEtts() != null && estrutura.getEstruturaSituacaoEtts().contains(situacao)) {
251 retorno.add(situacao);
252 }
253 }
254 } catch (Exception e) {
255 Logger logger = Logger.getLogger(this.getClass());
256 logger.error(e);
257 }
258 return retorno;
259 }
260
261
262
263
264
265
266 public List getSituacaoEmUsoPorEstrutura(String[] ordem) {
267 List retorno = new ArrayList();
268 try {
269 List situacoes = this.listar(SituacaoSit.class, ordem);
270 Iterator it = situacoes.iterator();
271
272 while (it.hasNext()) {
273 SituacaoSit situacao = (SituacaoSit) it.next();
274
275 if (situacao.getEstruturaSituacaoEtts() != null && situacao.getEstruturaSituacaoEtts().size() > 0) {
276 retorno.add(situacao);
277 }
278 }
279 } catch (Exception e) {
280 Logger logger = Logger.getLogger(this.getClass());
281 logger.error(e);
282 }
283 return retorno;
284 }
285
286
287
288
289
290
291 public void salvar(SituacaoSit situacao) throws ECARException {
292 if (pesquisarDuplos(situacao, new String[] { "descricaoSit" }, "codSit").size() > 0)
293 throw new ECARException("situacao.validacao.registroDuplicado");
294 super.salvar(situacao);
295 }
296
297
298
299
300
301
302 public void alterar(SituacaoSit situacao) throws ECARException {
303 if (pesquisarDuplos(situacao, new String[] { "descricaoSit" }, "codSit").size() > 0)
304 throw new ECARException("situacao.validacao.registroDuplicado");
305 super.alterar(situacao);
306 }
307 }