1
2
3
4 package ecar.dao;
5
6 import java.util.ArrayList;
7 import java.util.Iterator;
8
9 import javax.servlet.http.HttpServletRequest;
10
11 import org.hibernate.HibernateException;
12 import org.hibernate.Transaction;
13
14 import comum.database.Dao;
15 import comum.util.Data;
16 import comum.util.Pagina;
17 import comum.util.Util;
18
19 import ecar.exception.ECARException;
20 import ecar.pojo.ExercicioExe;
21 import ecar.pojo.ItemEstrtIndResulIettr;
22 import ecar.pojo.ItemEstrutFisicoIettf;
23 import ecar.pojo.ItemEstrutFisicoIettfPK;
24
25
26
27
28 public class ItemEstrutFisicoDao extends Dao {
29
30
31
32 public ItemEstrutFisicoDao(HttpServletRequest request) {
33 super();
34 this.request = request;
35 }
36
37
38
39
40
41
42
43
44
45 public void setItemEstrutFisico(HttpServletRequest request, ItemEstrutFisicoIettf itemEstrutFisico) throws ECARException {
46 itemEstrutFisico.setItemEstrtIndResulIettr((ItemEstrtIndResulIettr) this.buscar(ItemEstrtIndResulIettr.class, Long.valueOf(Pagina.getParamStr(request, "codIettir"))));
47 itemEstrutFisico.setExercicioExe((ExercicioExe) this.buscar(ExercicioExe.class, Long.valueOf(Pagina.getParamStr(request, "codExe"))));
48 itemEstrutFisico.setQtdPrevistaIettf(Double.valueOf(Util.formataNumero(Pagina.getParamStr(request, "qtdPrevistaIettf"))));
49 itemEstrutFisico.setIndAtivoIettf(Pagina.getParamStr(request, "indAtivoIettf"));
50 }
51
52
53
54
55
56
57
58
59
60 public void excluir(String[] codigosParaExcluir, Long codItemIndResultado) throws ECARException {
61 Transaction tx = null;
62
63 try {
64 ArrayList objetos = new ArrayList();
65
66 super.inicializarLogBean();
67
68 tx = session.beginTransaction();
69
70 for (int i = 0; i < codigosParaExcluir.length; i++) {
71 ItemEstrutFisicoIettf itemEstrutFisico = (ItemEstrutFisicoIettf) buscar(codItemIndResultado, Long.valueOf(codigosParaExcluir[i]));
72 session.delete(itemEstrutFisico);
73 objetos.add(itemEstrutFisico);
74 }
75
76 tx.commit();
77
78 if (super.logBean != null) {
79 super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
80 super.logBean.setOperacao("EXC");
81 Iterator itObj = objetos.iterator();
82
83 while (itObj.hasNext()) {
84 super.logBean.setObj(itObj.next());
85 super.loggerAuditoria.info(logBean.toString());
86 }
87 }
88 } catch (HibernateException e) {
89 if (tx != null)
90 try {
91 tx.rollback();
92 } catch (HibernateException r) {
93 this.logger.error(r);
94 throw new ECARException("erro.hibernateException");
95 }
96 this.logger.error(e);
97 throw new ECARException("erro.hibernateException");
98 }
99 }
100
101
102
103
104
105
106 public void setPK(ItemEstrutFisicoIettf itemEstrutFisico) {
107 ItemEstrutFisicoIettfPK chave = new ItemEstrutFisicoIettfPK();
108
109 chave.setCodIettir(itemEstrutFisico.getItemEstrtIndResulIettr().getCodIettir());
110 chave.setCodExe(itemEstrutFisico.getExercicioExe().getCodExe());
111
112 itemEstrutFisico.setComp_id(chave);
113 }
114
115
116
117
118
119
120
121 public void salvar(ItemEstrutFisicoIettf itemEstrutFisico) throws ECARException {
122 setPK(itemEstrutFisico);
123 try {
124 if (buscar(ItemEstrutFisicoIettf.class, itemEstrutFisico.getComp_id()) != null)
125 throw new ECARException("itemEstrutura.quantPrevista.inclusao.jaExiste");
126 } catch (ECARException e) {
127 if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
128 super.salvar(itemEstrutFisico);
129 }
130 else
131 this.logger.error(e);
132
133 throw e;
134 }
135 }
136
137
138
139
140
141
142
143
144
145 public ItemEstrutFisicoIettf buscar(Long codIettir, Long codExe) throws ECARException {
146 ItemEstrutFisicoIettfPK chave = new ItemEstrutFisicoIettfPK();
147
148 chave.setCodIettir(codIettir);
149 chave.setCodExe(codExe);
150
151 return (ItemEstrutFisicoIettf) super.buscar(ItemEstrutFisicoIettf.class, chave);
152 }
153
154 }