Package ecar.popup

Source Code of ecar.popup.PopUpRecurso

/*
* Criado em 22/12/2004
*
*/
package ecar.popup;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

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

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

import ecar.dao.ExercicioDao;
import ecar.dao.FonteRecursoDao;
import ecar.dao.ItemEstruturaDao;
import ecar.dao.ItemEstruturaPrevisaoDao;
import ecar.dao.RecursoDao;
import ecar.exception.ECARException;
import ecar.pojo.ExercicioExe;
import ecar.pojo.FonteRecursoFonr;
import ecar.pojo.ItemEstruturaIett;
import ecar.pojo.RecursoRec;

/**
* @author felipev
*
*/
public class PopUpRecurso implements PopUpPesquisa{
   

    // array de nomes de campos em que pode pesquisar
    private String[] pesquisarEm;
   
    // declare o seu pojo e o Dao aqui
    private RecursoRec pojo;
    private RecursoDao dao;
   
    private ExercicioExe exercicio;
    private ItemEstruturaIett item;
    private FonteRecursoFonr fonte;

    /**
     *
     */
    public PopUpRecurso(){
        pojo = new RecursoRec();
        dao = new RecursoDao(null);
        this.setPesquisarEm(new String[] {"Nome"});
    }
   
    /**
     * Devolve para o template jsp o Dao.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return Dao
     * @see ecar.popup.PopUpPesquisa#getDao()
     */
    public Dao getDao() {
        return dao;
    }
   
    /**
     * Retorna String "Recursos".<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getTitulo(){
        return "Recursos";
    }

    /**
     * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
     * String arg       - a string do argumento de pesquisa.<br>
     * String[] pesquisarEm - um array de string com os nomes dos campos que devem ser pesquisados.<br>
     *
     * @param request
     * @author N/C
     * @since N/C
     * @version N/C
     * @throws ECARException
     */
    public void setArgPesquisa(HttpServletRequest request) throws ECARException{
      String arg = Pagina.getParam(request, "hidArg");
      if(!"".equals(Pagina.getParamStr(request, "codExercicio"))){
          exercicio = (ExercicioExe) new ExercicioDao(null).buscar(ExercicioExe.class, Long.valueOf(Pagina.getParamStr(request, "codExercicio")));
      }
      if(!"".equals(Pagina.getParamStr(request, "codIett"))){
          item = (ItemEstruturaIett) new ItemEstruturaDao(null).buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett")));
      }
      if(!"".equals(Pagina.getParamStr(request, "codFonr"))){
          fonte = (FonteRecursoFonr) new FonteRecursoDao(null).buscar(FonteRecursoFonr.class, Long.valueOf(Pagina.getParamStr(request, "codFonr")));
      }       
      String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
       
        if (pesquisarEm != null)
          for (int i = 0; i < pesquisarEm.length; i++) {
              if ("0".equals(pesquisarEm[i]))
                  pojo.setNomeRec(arg);
          }
    }

    /**
     * Retorna recursos dentro do periodo definido no exercicio.<br>
     * Metodo que realiza pesquisa.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return List
     * @throws ECARException
     */
    public List pesquisar() throws ECARException {       
        try{
            Query query = new RecursoDao(null).getSession().createQuery(
                "from RecursoRec r where not (:dataInicial < r.dataIniValidadeRec or :dataFinal > r.dataFimValidadeRec) and r.indAtivoRec='S'");
            query.setDate("dataInicial", exercicio.getDataInicialExe());
            query.setDate("dataFinal", exercicio.getDataFinalExe());
            List recursos = query.list();
            List recursosCadastrados = new ItemEstruturaPrevisaoDao(null).getRecursosByFonteRecursoExercicio(item, exercicio, fonte);
            Collection resultado = Util.diferenca(recursos, recursosCadastrados);
            List retorno = new ArrayList();
            retorno.addAll(resultado);
            return retorno;
        } catch(HibernateException e){
      org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
            throw new ECARException(e);
        }
    }
   
    /**
     * Devolve para o template o codigo do radio button.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getCodigo() {
        return pojo.getCodRec().toString();
    }
   
    /**
     * Devolve para o template a descricao.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getDescricao() {
        return pojo.getNomeRec();
    }
   
    /**
     * Recebe um objeto do template.<br>
     *
     * @param o
     * @author N/C
     * @since N/C
     * @version N/C
     */
    public void setPojo(Object o) {
        pojo = (RecursoRec) o;
    }

    /**
     * Retorna para o template um array com os nomes para montar os checkbox.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String[] - (Returns the pesquisarEm)
     */
    public String[] getPesquisarEm() {
        return pesquisarEm;
    }

    /**
     * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @param String[] pesquisarEm - (The pesquisarEm to set)
     */
    private void setPesquisarEm(String[] pesquisarEm) {
        this.pesquisarEm = pesquisarEm;
    }
   

}
TOP

Related Classes of ecar.popup.PopUpRecurso

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.