1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Collections;
8 import java.util.Comparator;
9 import java.util.Iterator;
10 import java.util.List;
11
12 import javax.servlet.http.HttpServletRequest;
13
14 import org.hibernate.Query;
15
16 import comum.database.Dao;
17 import comum.util.Pagina;
18
19 import ecar.exception.ECARException;
20 import ecar.pojo.AgendaAge;
21 import ecar.pojo.AgendaOcorrenciaAgeo;
22 import ecar.pojo.DestaqueAreaDtqa;
23 import ecar.pojo.DestaqueItemRelDtqir;
24 import ecar.pojo.DestaqueSubAreaDtqsa;
25 import ecar.pojo.DestaqueTipoOrdemDtqto;
26 import ecar.pojo.SegmentoAgendaBean;
27 import ecar.pojo.SegmentoItemSgti;
28 import ecar.pojo.SegmentoSgt;
29
30
31
32
33 public class DestaqueSubAreaDao extends Dao {
34
35 public DestaqueSubAreaDao(HttpServletRequest request) {
36 super();
37 this.request = request;
38 }
39
40
41
42
43
44
45
46
47
48
49 public void setDestaqueSubArea(DestaqueSubAreaDtqsa destaqueSubArea, HttpServletRequest request, boolean recuperarParametrosComoString) throws ECARException {
50
51 try {
52 if (!"".equals(Pagina.getParamStr(request, "destaqueAreaDtqa"))) {
53 destaqueSubArea.setDestaqueAreaDtqa((DestaqueAreaDtqa) this.buscar(DestaqueAreaDtqa.class, Long.valueOf(Pagina.getParamStr(request, "destaqueAreaDtqa"))));
54 }
55 if (!"".equals(Pagina.getParamStr(request, "destaqueTipoOrdemDtqto"))) {
56 destaqueSubArea.setDestaqueTipoOrdemDtqto((DestaqueTipoOrdemDtqto) this.buscar(DestaqueTipoOrdemDtqto.class, Long.valueOf(Pagina.getParamStr(request, "destaqueTipoOrdemDtqto"))));
57 }
58 if (!"".equals(Pagina.getParamStr(request, "qtdMaxItensDtqsa")))
59 destaqueSubArea.setQtdMaxItensDtqsa(Integer.valueOf(Pagina.getParamStr(request, "qtdMaxItensDtqsa")));
60
61 if (recuperarParametrosComoString) {
62 destaqueSubArea.setIdentificacaoDtqsa(Pagina.getParamStr(request, "identificacaoDtqsa"));
63 destaqueSubArea.setDescricaoDtqsa(Pagina.getParamStr(request, "descricaoDtqsa"));
64 }
65 else {
66 destaqueSubArea.setIdentificacaoDtqsa(Pagina.getParam(request, "identificacaoDtqsa"));
67 destaqueSubArea.setDescricaoDtqsa(Pagina.getParam(request, "descricaoDtqsa"));
68 }
69 } catch (Exception e) {
70 this.logger.error(e);
71 throw new ECARException(e);
72 }
73
74 }
75
76
77
78
79
80
81
82 public void excluir(DestaqueSubAreaDtqsa destaqueSubArea) throws ECARException {
83 try {
84 boolean excluir = true;
85
86 if (contar(destaqueSubArea.getDestaqueItemRelDtqirs()) > 0) {
87 excluir = false;
88 throw new ECARException("destaqueSubArea.exclusao.erro.destaqueItemRelDtqirs");
89 }
90 if (excluir)
91 super.excluir(destaqueSubArea);
92 } catch (ECARException e) {
93 this.logger.error(e);
94 throw e;
95 }
96 }
97
98
99
100
101
102
103
104
105
106 public List getItensDestaqueSubArea(DestaqueSubAreaDtqsa subArea) throws ECARException {
107 List retorno = new ArrayList();
108 Iterator it = subArea.getDestaqueItemRelDtqirs().iterator();
109 while (it.hasNext()) {
110 DestaqueItemRelDtqir destaqueItem = (DestaqueItemRelDtqir) it.next();
111 SegmentoAgendaBean segAgd = new SegmentoAgendaBean();
112 segAgd.setCodigo(destaqueItem.getCodDtqir());
113 if (destaqueItem.getAgendaOcorrenciaAgeo() != null) {
114 segAgd.setDescricao(new AgendaOcorrenciaDao(request).getLabelExibicao(destaqueItem.getAgendaOcorrenciaAgeo()));
115 segAgd.setData(destaqueItem.getAgendaOcorrenciaAgeo().getDataEventoAgeo());
116 }
117 if (destaqueItem.getSegmentoItemSgti() != null) {
118 segAgd.setDescricao(destaqueItem.getSegmentoItemSgti().getTituloSgti());
119 segAgd.setData(destaqueItem.getSegmentoItemSgti().getDataItemSgti());
120 }
121 retorno.add(segAgd);
122 Collections.sort(retorno, new Comparator() {
123 public int compare(Object o1, Object o2) {
124 SegmentoAgendaBean sa1 = (SegmentoAgendaBean) o1;
125 SegmentoAgendaBean sa2 = (SegmentoAgendaBean) o2;
126 return sa1.getData().compareTo(sa2.getData());
127 }
128 });
129 }
130 return retorno;
131 }
132
133
134
135
136
137
138
139 public List getSegmentosAgendas() throws ECARException {
140 List segmentos = new SegmentoDao(request).getAtivos();
141
142 List retorno = new ArrayList();
143
144 Iterator itS = segmentos.iterator();
145 while (itS.hasNext()) {
146 SegmentoSgt segmento = (SegmentoSgt) itS.next();
147 SegmentoAgendaBean segAgd = new SegmentoAgendaBean();
148 segAgd.setAgenda(false);
149 segAgd.setSegmento(true);
150 segAgd.setDescricao(segmento.getTituloSgt());
151 segAgd.setCodigo(segmento.getCodSgt());
152 retorno.add(segAgd);
153 }
154 List agendas = new AgendaDao(request).getAtivos();
155 Iterator itA = agendas.iterator();
156 while (itA.hasNext()) {
157 AgendaAge agenda = (AgendaAge) itA.next();
158 SegmentoAgendaBean segAgd = new SegmentoAgendaBean();
159 segAgd.setAgenda(true);
160 segAgd.setSegmento(false);
161 segAgd.setDescricao(agenda.getEventoAge());
162 segAgd.setCodigo(agenda.getCodAge());
163 retorno.add(segAgd);
164 }
165
166 Collections.sort(retorno, new Comparator() {
167 public int compare(Object o1, Object o2) {
168 SegmentoAgendaBean sa1 = (SegmentoAgendaBean) o1;
169 SegmentoAgendaBean sa2 = (SegmentoAgendaBean) o2;
170 return sa1.getDescricao().compareToIgnoreCase(sa2.getDescricao());
171 }
172 });
173 return retorno;
174 }
175
176
177
178
179
180
181
182 public void vincularSegmentosaSubArea(List listaDeSegmentosItem, DestaqueSubAreaDtqsa subArea) throws ECARException {
183 List objsParaSalvar = new ArrayList();
184 Iterator it = listaDeSegmentosItem.iterator();
185 while (it.hasNext()) {
186 SegmentoItemSgti segmento = (SegmentoItemSgti) it.next();
187 DestaqueItemRelDtqir destaqueItem = new DestaqueItemRelDtqir();
188 destaqueItem.setDestaqueSubAreaDtqsa(subArea);
189 destaqueItem.setSegmentoItemSgti(segmento);
190 objsParaSalvar.add(destaqueItem);
191 }
192 super.salvarOuAlterar(objsParaSalvar);
193 }
194
195
196
197
198
199
200
201 public void vincularAgendasSubArea(List listaDeAgendas, DestaqueSubAreaDtqsa subArea) throws ECARException {
202 List objsParaSalvar = new ArrayList();
203 Iterator it = listaDeAgendas.iterator();
204 while (it.hasNext()) {
205 AgendaOcorrenciaAgeo agenda = (AgendaOcorrenciaAgeo) it.next();
206 DestaqueItemRelDtqir destaqueItem = new DestaqueItemRelDtqir();
207 destaqueItem.setDestaqueSubAreaDtqsa(subArea);
208 destaqueItem.setAgendaOcorrenciaAgeo(agenda);
209 destaqueItem.setAgendaAge(agenda.getAgendaAge());
210 objsParaSalvar.add(destaqueItem);
211 }
212 super.salvarOuAlterar(objsParaSalvar);
213 }
214
215
216
217
218
219
220
221 public void desvincularDestaquesSubArea(List listaDeDestaques) throws ECARException {
222 super.excluir(listaDeDestaques);
223 }
224
225
226
227
228
229
230 public List getSubAreaCapa() throws ECARException {
231 try {
232 Query query = this.getSession().createQuery("from DestaqueSubAreaDtqsa sub where sub.codDtqsa = 1 ");
233 return query.list();
234 } catch (Exception e) {
235 this.logger.error(e);
236 throw new ECARException(e);
237 }
238 }
239
240 }