1
2
3
4 package ecar.dao;
5
6 import java.math.BigDecimal;
7 import java.util.ArrayList;
8 import java.util.Date;
9 import java.util.Iterator;
10
11 import javax.servlet.http.HttpServletRequest;
12
13 import org.hibernate.HibernateException;
14 import org.hibernate.Transaction;
15
16 import comum.database.Dao;
17 import comum.util.Data;
18 import comum.util.Pagina;
19 import comum.util.Util;
20
21 import ecar.exception.ECARException;
22 import ecar.pojo.BeneficiarioBnf;
23 import ecar.pojo.ItemEstrtBenefIettb;
24 import ecar.pojo.ItemEstrtBenefIettbPK;
25 import ecar.pojo.ItemEstruturaIett;
26 import ecar.pojo.UsuarioUsu;
27 import ecar.util.Dominios;
28
29
30
31
32 public class ItemEstruturaBeneficiarioDao extends Dao {
33
34
35 public ItemEstruturaBeneficiarioDao(HttpServletRequest request) {
36 super();
37 this.request = request;
38
39 }
40
41
42
43
44
45
46
47
48
49 public ItemEstrtBenefIettb buscar(Long codItemEstrutura, Long codBeneficiario) throws ECARException {
50 ItemEstrtBenefIettbPK comp_id = new ItemEstrtBenefIettbPK();
51 comp_id.setCodBnf(codBeneficiario);
52 comp_id.setCodIett(codItemEstrutura);
53 return (ItemEstrtBenefIettb) super.buscar(ItemEstrtBenefIettb.class, comp_id);
54 }
55
56
57
58
59
60
61
62
63 public void setItemEstruturaBeneficiario(HttpServletRequest request, ItemEstrtBenefIettb itemEstruturaBeneficiario) throws ECARException {
64 ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) this.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett")));
65 itemEstruturaBeneficiario.setBeneficiarioBnf((BeneficiarioBnf) new BeneficiarioDao(request).buscar(BeneficiarioBnf.class, Long.valueOf(Pagina.getParamStr(request, "codBnf"))));
66 itemEstruturaBeneficiario.setItemEstruturaIett(itemEstrutura);
67 itemEstruturaBeneficiario.setComentarioIettb(Pagina.getParamStr(request, "comentarioIEttB"));
68 if (Pagina.getParamStr(request, "qtdePrevistaIEttB") != null)
69 itemEstruturaBeneficiario.setQtdPrevistaIettb(new BigDecimal(Double.valueOf(Util.formataNumero(Pagina.getParamStr(request, "qtdePrevistaIEttB"))).doubleValue()));
70 itemEstruturaBeneficiario.setDataUltManutencaoIettb(Data.getDataAtual());
71 }
72
73
74
75
76
77
78 public void setPK(ItemEstrtBenefIettb itemEstruturaBeneficiario) {
79 ItemEstrtBenefIettbPK comp_id = new ItemEstrtBenefIettbPK();
80 comp_id.setCodBnf(itemEstruturaBeneficiario.getBeneficiarioBnf().getCodBnf());
81 comp_id.setCodIett(itemEstruturaBeneficiario.getItemEstruturaIett().getCodIett());
82 itemEstruturaBeneficiario.setComp_id(comp_id);
83 }
84
85
86
87
88
89
90 public void salvar(ItemEstrtBenefIettb itemEstruturaBeneficiario) throws ECARException {
91 setPK(itemEstruturaBeneficiario);
92 try {
93 if (buscar(itemEstruturaBeneficiario.getItemEstruturaIett().getCodIett(), itemEstruturaBeneficiario.getBeneficiarioBnf().getCodBnf()) != null)
94 throw new ECARException("itemEstrutura.beneficiario.inclusao.jaExiste");
95 } catch (ECARException e) {
96 this.logger.error(e);
97 if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
98 super.salvar(itemEstruturaBeneficiario);
99 }
100 else
101
102 throw e;
103 }
104 }
105
106
107
108
109
110
111 public void alterar(ItemEstrtBenefIettb itemEstruturaBeneficiario) throws ECARException {
112 super.alterar(itemEstruturaBeneficiario);
113 }
114
115
116
117
118
119
120
121
122
123 public void excluir(String[] codigosParaExcluir, Long codItemEstrutura, UsuarioUsu usuarioUsu) throws ECARException {
124 Transaction tx = null;
125
126 try {
127 ArrayList objetos = new ArrayList();
128
129 super.inicializarLogBean();
130
131 tx = session.beginTransaction();
132
133 for (int i = 0; i < codigosParaExcluir.length; i++) {
134 ItemEstrtBenefIettb itemEstruturaBenef = buscar(codItemEstrutura, Long.valueOf(codigosParaExcluir[i]));
135
136 itemEstruturaBenef.setUsuarioUsuManutencao(usuarioUsu);
137 itemEstruturaBenef.setDataUltManutencaoIettb(new Date());
138 itemEstruturaBenef.setIndExclusaoPosHistorico(Boolean.TRUE);
139
140 session.update(itemEstruturaBenef);
141 objetos.add(itemEstruturaBenef);
142 }
143
144 tx.commit();
145
146 if (super.logBean != null) {
147 super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
148 super.logBean.setOperacao("EXC");
149 Iterator itObj = objetos.iterator();
150
151 while (itObj.hasNext()) {
152 super.logBean.setObj(itObj.next());
153 super.loggerAuditoria.info(logBean.toString());
154 }
155 }
156 } catch (HibernateException e) {
157 if (tx != null)
158 try {
159 tx.rollback();
160 } catch (HibernateException r) {
161 this.logger.error(r);
162 throw new ECARException("erro.hibernateException");
163 }
164 this.logger.error(e);
165 throw new ECARException("erro.hibernateException");
166 }
167 }
168 }