Package ecar.dao

Source Code of ecar.dao.ItemEstrutLocalDao

/*
* Criado em 25/01/2004
*
*/
package ecar.dao;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Transaction;

import comum.database.Dao;
import comum.util.Data;
import comum.util.Pagina;

import ecar.api.facade.Local;
import ecar.exception.ECARException;
import ecar.pojo.ItemEstrutLocalIettl;
import ecar.pojo.ItemEstrutLocalIettlPK;
import ecar.pojo.ItemEstruturaIett;
import ecar.pojo.LocalItemLit;
import ecar.pojo.UsuarioUsu;
import ecar.dao.ItemEstrtIndResultLocalIettirlDao;

/**
* @author evandro
*
*/
public class ItemEstrutLocalDao extends Dao{
 
  /*private LocalItemDao localItemDao = null;
  private ItemEstruturaDao itemEstruturaDao = null;*/
 
  /**
   * Construtor. Chama o Session factory do Hibernate
         *
         * @param request
         */
  public ItemEstrutLocalDao(HttpServletRequest request) {
    super();
    this.request = request;
    /*localItemDao = new LocalItemDao(request);
      itemEstruturaDao = new ItemEstruturaDao(request);*/
  }
 
  /**
     * Cria um objeto itemEstrutLocal a partir de par�metros passados
     * no objeto request
     *
     * @author n/c
     * @param request
     * @param itemEstrutLocal
     * @throws ECARException
     */
    public void setItemEstrutLocal(HttpServletRequest request, ItemEstrutLocalIettl itemEstrutLocal) throws ECARException {
        itemEstrutLocal.setItemEstruturaIett( (ItemEstruturaIett) this.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett"))) );
        itemEstrutLocal.setLocalItemLit((LocalItemLit) new LocalItemDao(request).buscar(LocalItemLit.class, Long.valueOf(Pagina.getParamStr(request, "codLit"))));
    }
 
    /**
     * M�todo utilizado para setar os valores da PK da classe
     *
     * @author n/c
     * @param itemEstrutLocal
     */
    public void setPK(ItemEstrutLocalIettl itemEstrutLocal) {
        ItemEstrutLocalIettlPK chave = new ItemEstrutLocalIettlPK();
       
        chave.setCodIett(itemEstrutLocal.getItemEstruturaIett().getCodIett());
        chave.setCodLit(itemEstrutLocal.getLocalItemLit().getCodLit());
       
        itemEstrutLocal.setComp_id(chave);
    }
   
    /**
     * Grava uma rela��o entre itemEstrutura e LocalItem
     *
     * @author n/c
     * @param itemEstrutLocal
     * @throws ECARException
     */
    public void salvar(ItemEstrutLocalIettl itemEstrutLocal) throws ECARException {
        setPK(itemEstrutLocal);
        try {
            if (buscar(ItemEstrutLocalIettl.class, itemEstrutLocal.getComp_id()) != null)
              throw new ECARException("itemEstrutura.localItem.inclusao.jaExiste");
        } catch (ECARException e) {
            if (e.getMessageKey().equalsIgnoreCase("erro.objectNotFound")) {
                super.salvar(itemEstrutLocal);
            } else{
              this.logger.error(e);
                /* joga para frente a inclusao.jaExiste */
                throw e;
            }
        }
    }
   
    /**
     * Recebe o c�digo de item estrutura e um array contendo c�digos de
     * locais e exclui todos os registros que relacionam este
     * item estrutura com cada um dos c�digosLocalItem
     *
     * @author n/c
     * @param codigosParaExcluir
     * @param codItemEstrutura
     * @param usuarioUsu
     * @throws ECARException
     */
    public void excluir(String[] codigosParaExcluir, Long codItemEstrutura, UsuarioUsu usuarioUsu) throws ECARException {
        Transaction tx = null;

        try{
        ArrayList objetos = new ArrayList();

        super.inicializarLogBean();

            tx = session.beginTransaction();

          for (int i = 0; i < codigosParaExcluir.length; i++) {
            ItemEstrutLocalIettlPK chave = new ItemEstrutLocalIettlPK(Long.valueOf(codigosParaExcluir[i]), codItemEstrutura);
              ItemEstrutLocalIettl itemEstrutLocal = (ItemEstrutLocalIettl) buscar(ItemEstrutLocalIettl.class, chave);

//              itemEstrutLocal.setUsuarioUsuManutencao(usuarioUsu);
//              itemEstrutLocal.setIndExclusaoPosHistorico(Boolean.TRUE);
             
              session.delete(itemEstrutLocal);
        objetos.add(itemEstrutLocal);
          }
     
      tx.commit();
 
      if(super.logBean != null) {
        super.logBean.setCodigoTransacao(Data.getHoraAtual(false));
        super.logBean.setOperacao("EXC");
        Iterator itObj = objetos.iterator();
 
        while(itObj.hasNext()) {
          super.logBean.setObj(itObj.next());
          super.loggerAuditoria.info(logBean.toString());
        }
      }
    } catch (HibernateException e) {
      if (tx != null)
        try {
          tx.rollback();
        } catch (HibernateException r) {
                this.logger.error(r);
          throw new ECARException("erro.hibernateException");
        }
          this.logger.error(e);
      throw new ECARException("erro.hibernateException");
    }
  }
   
    /**
     * Recebe o c�digo de item estrutura e um array contendo c�digos de
     * locais e exclui todos os registros que relacionam este
     * item estrutura com cada um dos c�digosLocalItem
     *
     * @param codItemEstrutura
     * @return
     * @throws ECARException
     */
    public String getAbrangencia(Long codItemEstrutura) throws ECARException {
      ItemEstruturaIett itemEstrutura = new ItemEstruturaIett();
      ItemEstrutLocalIettl itemEstrutLocal = new ItemEstrutLocalIettl();
     
      itemEstrutura = (ItemEstruturaIett) new ItemEstruturaDao(request).buscar(ItemEstruturaIett.class, codItemEstrutura);
      List lista = new ItemEstruturaDao(request).ordenaSet(itemEstrutura.getItemEstrutLocalIettls(), "this.localItemLit.identificacaoLit", "asc");
    Iterator it = lista.iterator();
     
      if(it.hasNext()){
        itemEstrutLocal = (ItemEstrutLocalIettl) it.next();
        return itemEstrutLocal.getLocalItemLit().getLocalGrupoLgp().getIdentificacaoLgp();
      } else {
        return "";
      }
     
    }
   
    /**
     * Retorna o c�digo da abrang�ncia.
     *
     *
     * @param codItemEstrutura
     * @return
     * @throws ECARException
     */
    public long getAbrangenciaAsInteger(Long codItemEstrutura) throws ECARException {
      ItemEstruturaIett itemEstrutura = new ItemEstruturaIett();
      ItemEstrutLocalIettl itemEstrutLocal = new ItemEstrutLocalIettl();
     
      itemEstrutura = (ItemEstruturaIett) new ItemEstruturaDao(request).buscar(ItemEstruturaIett.class, codItemEstrutura);
      List lista = new ItemEstruturaDao(request).ordenaSet(itemEstrutura.getItemEstrutLocalIettls(), "this.localItemLit.identificacaoLit", "asc");
    Iterator it = lista.iterator();
     
      if(it.hasNext()){
        itemEstrutLocal = (ItemEstrutLocalIettl) it.next();
        return itemEstrutLocal.getLocalItemLit().getLocalGrupoLgp().getCodLgp();
      } else {
        return Local.NAO_DEFINIDO;
      }
     
    }
    /**
     * Verifica se n�o existe valor previsto ou realizado associado aos locais do item estrutura
     *
     *
     * @param codItemEstrutura
     * @return
     * @throws ECARException
     */
    public Boolean validaExclusaoLocalItemEstrutura(String[] codigosParaExcluir, Long codItemEstrutura, StringBuffer sbmsg) throws ECARException {
     
      Long qtdeValoresPrevistos = 0l;
      Long qtdeValoresRealizados = 0l;     
      List<Long> locais = new ArrayList<Long>();
      for (int i = 0; i < codigosParaExcluir.length;i++){
        locais.add(Long.valueOf(codigosParaExcluir[i]));
      }     
      ItemEstrtIndResultLocalIettirlDao itemEstrtIndResultLocalIettirlDao = new ItemEstrtIndResultLocalIettirlDao(null);
      AcompRealFisicoLocalDao acompRealFisicoLocalDao = new AcompRealFisicoLocalDao(null);
           
      qtdeValoresPrevistos = itemEstrtIndResultLocalIettirlDao.countByLocaisItemEstrutura(locais, codItemEstrutura);
     
      if (qtdeValoresPrevistos > 0){ //nesse caso j� existem valores previstos informados.
        sbmsg.append("itemEstrutura.localItem.exclusao.valorPrevistoExistente") ;
        return false;
      }
      qtdeValoresRealizados = acompRealFisicoLocalDao.countByLocaisItemEstrutura(locais, codItemEstrutura);
     
      if (qtdeValoresRealizados > 0){ //nesse caso j� existem valores realizados informados.
        sbmsg.append("itemEstrutura.localItem.exclusao.valorRealizadoExistente");
        return false;
      }
      return true;
     
    }
   
   
}
TOP

Related Classes of ecar.dao.ItemEstrutLocalDao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.