View Javadoc

1   package ecar.dao;
2   
3   import java.util.ArrayList;
4   import java.util.Iterator;
5   import java.util.List;
6   
7   import javax.servlet.http.HttpServletRequest;
8   
9   import org.hibernate.HibernateException;
10  import org.hibernate.Transaction;
11  
12  import comum.database.Dao;
13  import comum.util.Data;
14  import comum.util.Pagina;
15  
16  import ecar.exception.ECARException;
17  import ecar.pojo.ItemEstLocalRevIettlr;
18  import ecar.pojo.ItemEstLocalRevIettlrPK;
19  import ecar.pojo.ItemEstruturarevisaoIettrev;
20  import ecar.pojo.LocalItemLit;
21  
22  /**
23   * Classe de manipulação de objetos da classe ItemEstLocalRevIettlr.
24   * @author CodeGenerator - Esta classe foi gerada automaticamente
25   * @since 1.0
26   * @version 1.0, Fri Apr 28 17:12:24 BRT 2006
27   */
28  public class ItemEstLocalRevIettlrDAO extends Dao {
29  
30    /*
31     * private LocalItemDao localItemDao = null; private ItemEstruturaDao
32     * itemEstruturaDao = null;
33     */
34  
35    /**
36     * Construtor. Chama o Session factory do Hibernate
37     */
38    public ItemEstLocalRevIettlrDAO(HttpServletRequest request) {
39      super();
40      this.request = request;
41      /*
42       * localItemDao = new LocalItemDao(request); itemEstruturaDao = new
43       * ItemEstruturaDao(request);
44       */
45    }
46  
47    /**
48     * Cria um objeto itemEstrutLocal a partir de parâmetros passados no objeto
49     * request
50     * @param request
51     * @param itemEstrutLocal
52     * @throws ECARException
53     */
54    public void setItemEstLocalRevIettlrDAO(HttpServletRequest request, ItemEstLocalRevIettlr itemEstrutLocal) throws ECARException {
55      itemEstrutLocal.setItemEstruturarevisaoIettrev((ItemEstruturarevisaoIettrev) this.buscar(ItemEstruturarevisaoIettrev.class, Integer.valueOf(Pagina.getParamStr(request, "codIettrev"))));
56      itemEstrutLocal.setLocalItemLit((LocalItemLit) new LocalItemDao(request).buscar(LocalItemLit.class, Long.valueOf(Pagina.getParamStr(request, "codLit"))));
57    }
58  
59    /**
60     * Método utilizado para setar os valores da PK da classe
61     * @param itemEstrutLocal
62     */
63    public void setPK(ItemEstLocalRevIettlr itemEstrutLocal) {
64      ItemEstLocalRevIettlrPK chave = new ItemEstLocalRevIettlrPK();
65  
66      chave.setCodIettrev(Integer.valueOf(itemEstrutLocal.getItemEstruturarevisaoIettrev().getCodIettrev().intValue()));
67      chave.setCodLit(Long.valueOf(itemEstrutLocal.getLocalItemLit().getCodLit().intValue()));
68  
69      itemEstrutLocal.setComp_id(chave);
70    }
71  
72    /**
73     * Grava uma relação entre itemEstrutura e LocalItem
74     * @param itemEstrutLocal
75     * @throws ECARException
76     */
77    public void salvar(ItemEstLocalRevIettlr itemEstrutLocal) throws ECARException {
78      setPK(itemEstrutLocal);
79      try {
80        if (buscar(ItemEstLocalRevIettlr.class, itemEstrutLocal.getComp_id()) != null)
81          throw new ECARException("itemEstrutura.localItem.inclusao.jaExiste");
82      } catch (ECARException e) {
83        this.logger.error(e);
84        if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
85          super.salvar(itemEstrutLocal);
86        }
87        else
88          /* joga para frente a inclusao.jaExiste */
89          throw e;
90      }
91    }
92  
93    /**
94     * Recebe o código de item estrutura e um array contendo códigos de locais e
95     * exclui todos os registros que relacionam este item estrutura com cada um
96     * dos códigosLocalItem
97     * @param codigosParaExcluir
98     * @param codItemEstrutura
99     * @throws ECARException
100    */
101   public void excluir(String[] codigosParaExcluir, Integer codItemEstrutura) throws ECARException {
102     Transaction tx = null;
103 
104     try {
105       ArrayList objetos = new ArrayList();
106 
107       super.inicializarLogBean();
108 
109       tx = session.beginTransaction();
110 
111       for (int i = 0; i < codigosParaExcluir.length; i++) {
112         ItemEstLocalRevIettlrPK chave = new ItemEstLocalRevIettlrPK(Long.valueOf(codigosParaExcluir[i]), codItemEstrutura);
113         ItemEstLocalRevIettlr itemEstrutLocal = (ItemEstLocalRevIettlr) buscar(ItemEstLocalRevIettlr.class, chave);
114 
115         session.delete(itemEstrutLocal);
116         objetos.add(itemEstrutLocal);
117       }
118 
119       tx.commit();
120 
121       if (super.logBean != null) {
122         super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
123         super.logBean.setOperacao("EXC");
124         Iterator itObj = objetos.iterator();
125 
126         while (itObj.hasNext()) {
127           super.logBean.setObj(itObj.next());
128           super.loggerAuditoria.info(logBean.toString());
129         }
130       }
131     } catch (HibernateException e) {
132       if (tx != null)
133         try {
134           tx.rollback();
135         } catch (HibernateException r) {
136           this.logger.error(r);
137           throw new ECARException("erro.hibernateException");
138         }
139       this.logger.error(e);
140       throw new ECARException("erro.hibernateException");
141     }
142   }
143 
144   /**
145    * Recebe o código de item estrutura e um array contendo códigos de locais e
146    * exclui todos os registros que relacionam este item estrutura com cada um
147    * dos códigosLocalItem
148    * @param codigosParaExcluir
149    * @param codItemEstrutura
150    * @throws ECARException
151    */
152   public String getAbrangencia(Integer codItemEstrutura) throws ECARException {
153     ItemEstruturarevisaoIettrev itemEstrutura = new ItemEstruturarevisaoIettrev();
154     ItemEstLocalRevIettlr itemEstrutLocal = new ItemEstLocalRevIettlr();
155 
156     itemEstrutura = (ItemEstruturarevisaoIettrev) new ItemEstruturarevisaoIettrevDAO(request).buscar(ItemEstruturarevisaoIettrev.class, codItemEstrutura);
157     List lista = new ItemEstruturarevisaoIettrevDAO(request).ordenaSet(itemEstrutura.getItemEstLocalRevIettlrs(), "this.localItemLit.identificacaoLit", "asc");
158     Iterator it = lista.iterator();
159 
160     if (it.hasNext()) {
161       itemEstrutLocal = (ItemEstLocalRevIettlr) it.next();
162       return itemEstrutLocal.getLocalItemLit().getLocalGrupoLgp().getIdentificacaoLgp();
163     }
164     else {
165       return "";
166     }
167 
168   }
169 
170 }