1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.HashSet;
8 import java.util.List;
9 import java.util.Set;
10
11 import javax.servlet.http.HttpServletRequest;
12
13 import comum.database.Dao;
14 import comum.util.Pagina;
15
16 import ecar.exception.ECARException;
17 import ecar.pojo.FuncaoFun;
18
19
20
21
22 public class FuncaoDao extends Dao {
23
24
25
26
27 public FuncaoDao(HttpServletRequest request) {
28 super();
29 this.request = request;
30 }
31
32
33
34
35
36
37
38
39 public void excluir(FuncaoFun funcao) throws ECARException {
40 try {
41 boolean excluir = true;
42 if (contar(funcao.getEstruturaFuncaoEttfs()) > 0) {
43 excluir = false;
44 throw new ECARException("funcao.exclusao.erro.estruturaFuncaoEtts");
45 }
46 if (excluir)
47 super.excluir(funcao);
48 } catch (ECARException e) {
49 this.logger.error(e);
50 throw e;
51 }
52 }
53
54
55
56
57
58
59
60
61 public Set getSetFuncoes(String funcoes[]) throws ECARException {
62 Set retorno = new HashSet();
63 if (funcoes != null) {
64 for (int i = 0; i < funcoes.length; i++) {
65 try {
66 FuncaoFun funcao = (FuncaoFun) this.buscar(FuncaoFun.class, Long.valueOf(funcoes[i]));
67 retorno.add(funcao);
68 } catch (ECARException e) {
69 this.logger.error(e);
70 throw e;
71 }
72 }
73 }
74 return retorno;
75 }
76
77
78
79
80
81
82
83
84 @SuppressWarnings("unchecked")
85 public List getFuncoesNaoOpcionais() throws ECARException {
86 List retorno = new ArrayList();
87
88 FuncaoFun funcao = new FuncaoFun();
89
90 funcao.setIndAtivoFun("S");
91 funcao.setIndOpcionalFun("N");
92
93 retorno = this.pesquisar(funcao, new String[] { "nomeFun", FuncaoDao.ORDEM_ASC });
94
95 return retorno;
96 }
97
98
99
100
101
102
103
104 @SuppressWarnings("unchecked")
105 public List getFuncoesOpcionais() throws ECARException {
106 List retorno = new ArrayList();
107
108 FuncaoFun funcao = new FuncaoFun();
109
110 funcao.setIndAtivoFun("S");
111 funcao.setIndOpcionalFun("S");
112
113 retorno = this.pesquisar(funcao, new String[] { "nomeFun", FuncaoDao.ORDEM_ASC });
114
115 return retorno;
116
117 }
118
119
120
121
122
123
124
125 public FuncaoFun getFuncao(Long id) throws ECARException {
126 return (FuncaoFun) this.buscar(FuncaoFun.class, id);
127 }
128
129
130
131
132
133
134 public void salvar(FuncaoFun funcao) throws ECARException {
135 if (pesquisarDuplos(funcao, new String[] { "nomeFun", "labelPadraoFun" }, "codFun").size() > 0)
136 throw new ECARException("funcao.validacao.registroDuplicado");
137 super.salvar(funcao);
138 }
139
140
141
142
143
144
145 public void alterar(FuncaoFun funcao) throws ECARException {
146 if (pesquisarDuplos(funcao, new String[] { "nomeFun", "labelPadraoFun" }, "codFun").size() > 0)
147 throw new ECARException("funcao.validacao.registroDuplicado");
148 super.alterar(funcao);
149 }
150
151 public void setFuncaoFun(HttpServletRequest request, FuncaoFun funcao, boolean usarGetparamStr) {
152 if (Pagina.getParam(request, "codigo") != null)
153 funcao.setCodFun(Long.valueOf(Pagina.getParam(request, "codigo")));
154 else
155 funcao.setCodFun(null);
156
157 if (usarGetparamStr) {
158 funcao.setNomeFun(Pagina.getParamStr(request, "nomeFun").trim());
159 funcao.setLabelPadraoFun(Pagina.getParamStr(request, "labelPadraoFun").trim());
160 funcao.setLinkFuncaoFun(Pagina.getParamStr(request, "linkFuncaoFun").trim());
161 funcao.setIndAtivoFun(Pagina.getParamOrDefault(request, "indAtivoFun", Pagina.NAO).trim());
162 funcao.setIndExclusivoEstruturaFun(Pagina.getParamStr(request, "indExclusivoEstruturaFun").trim());
163 funcao.setIndOpcionalFun(Pagina.getParamOrDefault(request, "indOpcionalFun", Pagina.NAO).trim());
164 funcao.setDocumentacaoFun(Pagina.getParamStr(request, "documentacaoFun").trim());
165 }
166 else {
167 funcao.setNomeFun(Pagina.getParam(request, "nomeFun"));
168 funcao.setLabelPadraoFun(Pagina.getParam(request, "labelPadraoFun"));
169 funcao.setLinkFuncaoFun(Pagina.getParam(request, "linkFuncaoFun"));
170 funcao.setIndAtivoFun(Pagina.getParam(request, "indAtivoFun"));
171 funcao.setIndExclusivoEstruturaFun(Pagina.getParam(request, "indExclusivoEstruturaFun"));
172 funcao.setIndOpcionalFun(Pagina.getParam(request, "indOpcionalFun"));
173 funcao.setDocumentacaoFun(Pagina.getParam(request, "documentacaoFun"));
174 }
175 }
176 }