Package ecar.dao

Source Code of ecar.dao.PeriodoRevisaoPrevDao

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.Transaction;

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

import ecar.exception.ECARException;
import ecar.pojo.PeriodoRevisaoPrev;

/*
* Created on 23/05/2006
*
*/

/**
* @author igor
*
*/

public class PeriodoRevisaoPrevDao extends Dao{
  /**
   * Construtor. Chama o Session factory do Hibernate
         *
         * @param request
         * @param prev
         * @return
         * @throws ECARException
         */

  public boolean setPeriodoRevisaoPrev(HttpServletRequest request, PeriodoRevisaoPrev prev) throws ECARException
  {
    if (!existeIntersecaoPeriodos(Pagina.getParamDataBanco(request, "dtInicioPrev"), Pagina.getParamDataBanco(request, "dtFimPrev"), prev))
    {
      if (!"".equals(Pagina.getParamStr(request, "dtInicioPrev")))
        prev.setDtInicioPrev(Pagina.getParamDataBanco(request, "dtInicioPrev"));
      else
        prev.setDtInicioPrev(null);
      if (!"".equals(Pagina.getParamStr(request, "dtInicioPrev")))
        prev.setDtFimPrev(Pagina.getParamDataBanco(request, "dtFimPrev"));
      else
        prev.setDtFimPrev(null);
      prev.setDescricaoPrev(Pagina.getParamStr(request, "descricaoPrev"));
      prev.setConfiguracaoCfg(new ConfiguracaoDao(request).getConfiguracao());
      return true;
   
    return false;
  }
 
  /**
   * Contrutora
   * @param request
   */
  public PeriodoRevisaoPrevDao(HttpServletRequest request) {
    super();
    this.request = request;
  }
 
  /**
   *
   * @param dtInicio
   * @param dtFim
   * @param prevComp
   * @return boolean
   * @throws ECARException
   */
  public boolean existeIntersecaoPeriodos(Date dtInicio, Date dtFim, PeriodoRevisaoPrev prevComp) throws ECARException
  {
    List periodos = this.listar(PeriodoRevisaoPrev.class, new String[]{"dtInicioPrev", "ASC"});
    if (!periodos.equals(null) && periodos.size() > 0){
      Iterator itPeriodos = periodos.iterator();
      while (itPeriodos.hasNext())
      {
        PeriodoRevisaoPrev prev = (PeriodoRevisaoPrev) itPeriodos.next();
        if (!prevComp.equals(prev))
        {
          if (((!dtInicio.before(prev.getDtInicioPrev())) && (!dtInicio.after(prev.getDtFimPrev())))
             || ((!dtFim.before(prev.getDtInicioPrev())) && (!dtFim.after(prev.getDtFimPrev()))))
            return true;
        }
      }
    }
    return false;
  }

  /**
   *
   * @param data
   * @return boolean
   * @throws ECARException
   */
  public boolean existePeriodo(Date data) throws ECARException
  {
    List periodos = this.listar(PeriodoRevisaoPrev.class, new String[]{"dtInicioPrev", "ASC"});
    if (!periodos.equals(null) && periodos.size() > 0){
      Iterator itPeriodos = periodos.iterator();
      while (itPeriodos.hasNext())
      {
        PeriodoRevisaoPrev prev = (PeriodoRevisaoPrev) itPeriodos.next();
        if (!(data.before(prev.getDtInicioPrev())) && (!data.after(prev.getDtFimPrev())))
        {
          return true;
        }
      }
    }
    return false;
  }
 
  /**
   *
   * @return boolean
   * @throws ECARException
   */
  public PeriodoRevisaoPrev getPeriodoAtual() throws ECARException
  {
    List periodos = this.listar(PeriodoRevisaoPrev.class, new String[]{"dtInicioPrev", "ASC"});
    PeriodoRevisaoPrev prev = new PeriodoRevisaoPrev();
    if (!periodos.equals(null) && periodos.size() > 0){
      Iterator itPeriodos = periodos.iterator();
      while (itPeriodos.hasNext())
      {
        prev = (PeriodoRevisaoPrev) itPeriodos.next();
        Date hoje = Data.getDataAtual();
        if ((!hoje.before(prev.getDtInicioPrev())) && (!hoje.after(prev.getDtFimPrev())))
        {
          return prev;
        }
      }
    }
    return prev;   
  }
 
        /**
         *
         * @param data
         * @return
         * @throws ECARException
         */
        public boolean estaNoPeriodoAtual(Date data) throws ECARException
  {
    PeriodoRevisaoPrev prev = this.getPeriodoAtual();
    if ((!data.before(prev.getDtInicioPrev())) && (!data.after(prev.getDtFimPrev()))){
      return true;
    }
    return false;
  }
 
 
    /**
     * Recebe um array contendo c�digos de itens da estrutura e exclui todos os
     * registros. Todas os dados do item e todos os dados dos dependentes s�o excluidos tamb�m
     *
     * @param codigosParaExcluir
     * @throws ECARException
     */
    public void excluir(String[] codigosParaExcluir) throws ECARException {
        Transaction tx = null;

        try{
        ArrayList objetos = new ArrayList();

        super.inicializarLogBean();

            tx = session.beginTransaction();

          for (int i = 0; i < codigosParaExcluir.length; i++) {
              PeriodoRevisaoPrev prev = (PeriodoRevisaoPrev) buscar(PeriodoRevisaoPrev.class, Long.valueOf(codigosParaExcluir[i]));
              session.delete(prev);
        objetos.add(prev);
          }
   
      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");
    }
  }

}
TOP

Related Classes of ecar.dao.PeriodoRevisaoPrevDao

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.