View Javadoc

1   package ecar.dao;
2   
3   import java.util.ArrayList;
4   import java.util.Iterator;
5   
6   import javax.servlet.http.HttpServletRequest;
7   
8   import org.hibernate.HibernateException;
9   import org.hibernate.Transaction;
10  
11  import comum.database.Dao;
12  import comum.util.Data;
13  import comum.util.Pagina;
14  import comum.util.Util;
15  
16  import ecar.exception.ECARException;
17  import ecar.pojo.ExercicioExe;
18  import ecar.pojo.IettIndResulRevIettrr;
19  import ecar.pojo.ItemEstFisicoRevIettfr;
20  import ecar.pojo.ItemEstFisicoRevIettfrPK;
21  
22  /**
23   * Classe de manipulação de objetos da classe ItemEstFisicoRevIettfr.
24   * @author CodeGenerator - Esta classe foi gerada automaticamente
25   * @since 1.0
26   * @version 1.0, Fri Apr 28 17:12:23 BRT 2006
27   */
28  public class ItemEstFisicoRevIettfrDAO extends Dao {
29  
30    public ItemEstFisicoRevIettfrDAO(HttpServletRequest request) {
31      super();
32      this.request = request;
33    }
34  
35    /**
36     * Cria um objeto itemEstrutFisico a partir de parâmetros passados no objeto
37     * request
38     * @param request
39     * @param itemEstrutFisico
40     * @throws ECARException
41     */
42    public void setItemEstFisicoRev(HttpServletRequest request, ItemEstFisicoRevIettfr itemEstrutFisico) throws ECARException {
43      itemEstrutFisico.setIettIndResulRevIettrr((IettIndResulRevIettrr) this.buscar(IettIndResulRevIettrr.class, Long.valueOf(Pagina.getParamStr(request, "codIettirr"))));
44      itemEstrutFisico.setExercicioExe((ExercicioExe) this.buscar(ExercicioExe.class, Long.valueOf(Pagina.getParamStr(request, "codExe"))));
45      itemEstrutFisico.setQtdPrevistaIettfr(Double.valueOf(Util.formataNumero(Pagina.getParamStr(request, "qtdPrevistaIettfr"))));
46      itemEstrutFisico.setIndAtivoIettfr(Pagina.getParamStr(request, "indAtivoIettfr"));
47  
48    }
49  
50    /**
51     * Recebe o código de itemIndResultado e um array contendo códigos de
52     * exercicio e exclui todos os registros que relacionam
53     * @param codigosParaExcluir
54     * @param codItemIndResultado
55     * @throws ECARException
56     */
57    public void excluir(String[] codigosParaExcluir, Long codItemIndResultado) throws ECARException {
58      Transaction tx = null;
59  
60      try {
61        ArrayList objetos = new ArrayList();
62  
63        super.inicializarLogBean();
64  
65        tx = session.beginTransaction();
66  
67        for (int i = 0; i < codigosParaExcluir.length; i++) {
68          ItemEstFisicoRevIettfr itemEstrutFisico = (ItemEstFisicoRevIettfr) buscar(codItemIndResultado, Long.valueOf(codigosParaExcluir[i]));
69          session.delete(itemEstrutFisico);
70          objetos.add(itemEstrutFisico);
71        }
72  
73        tx.commit();
74  
75        if (super.logBean != null) {
76          super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
77          super.logBean.setOperacao("EXC");
78          Iterator itObj = objetos.iterator();
79  
80          while (itObj.hasNext()) {
81            super.logBean.setObj(itObj.next());
82            super.loggerAuditoria.info(logBean.toString());
83          }
84        }
85      } catch (HibernateException e) {
86        if (tx != null)
87          try {
88            tx.rollback();
89          } catch (HibernateException r) {
90            this.logger.error(r);
91            throw new ECARException("erro.hibernateException");
92          }
93        this.logger.error(e);
94        throw new ECARException("erro.hibernateException");
95      }
96    }
97  
98    /**
99     * Método utilizado para setar os valores da PK da classe
100    * @param itemEstrutFisico
101    */
102   public void setPK(ItemEstFisicoRevIettfr itemEstrutFisico) {
103     ItemEstFisicoRevIettfrPK chave = new ItemEstFisicoRevIettfrPK();
104 
105     chave.setCodIettirr(itemEstrutFisico.getIettIndResulRevIettrr().getCodIettirr());
106     chave.setCodExe(itemEstrutFisico.getExercicioExe().getCodExe());
107 
108     itemEstrutFisico.setComp_id(chave);
109   }
110 
111   /**
112    * Grava uma relação entre itemIndResultado e Exercicio
113    * @param itemEstrutFisico
114    * @throws ECARException
115    */
116   public void salvar(ItemEstFisicoRevIettfr itemEstrutFisico) throws ECARException {
117     setPK(itemEstrutFisico);
118     try {
119       if (buscar(ItemEstFisicoRevIettfr.class, itemEstrutFisico.getComp_id()) != null)
120         throw new ECARException("itemEstrutura.quantPrevista.inclusao.jaExiste");
121     } catch (ECARException e) {
122       this.logger.error(e);
123       if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
124         super.salvar(itemEstrutFisico);
125       }
126       else
127         /* joga para frente a inclusao.jaExiste */
128         throw e;
129     }
130   }
131 
132   /**
133    * Retorna um objeto ItemEstrutFisico a partir dos códigos
134    * @param codItemIndResultado
135    * @param codExercicio
136    * @return
137    * @throws ECARException
138    */
139   public ItemEstFisicoRevIettfr buscar(Long codIettirr, Long codExe) throws ECARException {
140     ItemEstFisicoRevIettfrPK chave = new ItemEstFisicoRevIettfrPK();
141 
142     chave.setCodIettirr(Long.valueOf(codIettirr.intValue()));
143     chave.setCodExe(Long.valueOf(codExe.intValue()));
144 
145     return (ItemEstFisicoRevIettfr) super.buscar(ItemEstFisicoRevIettfr.class, chave);
146   }
147 
148 }