não consigo pesquisar datas....vRaptor[RESOLVIDO]

bom dia a todos…

  • nos exemplos da apostila há listagem de usuarios, onde é listada pelo id do usuario pelo metodo listaTudo()…tentei fazer uma pesquisa onde o usuario insere dados no formulario pra pesquisa…neste caso estou usando outra entidade …documento…onde a pesquisa é feita atraves de dataInicio e dataFinal…mas a entidade tem apenas a dataDoc…lendo os forum vi que é colocado @Out e @Parameter nos atributos dataInicial e dataFinal…blz ate ai…mas to confuso na montagem do metodo de pesquisa e no fomulario pra pesquisa…

valeu…


e aii…blz…vamos por partes:::

**fiz uma classe chamada DocumentoDao que contem um metodo especifico para a classe, ela faz um select no banco atraves da entrada de dois parametros do formulário, no caso, dataInicial e dataFinal:

package br.com.ricardo.lojavirtual.dao;


import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import br.com.ricardo.lojavirtual.modelo.Documento;


public class DocumentoDao extends Dao<Documento> {
	
	DocumentoDao (Session session) {
		
		super(session, Documento.class);		
	}
	
	
	
	//pesquisa documentos por data do dia que carrega no load......
	public List<Documento> pesquisandoDatas (Documento d, String dataInicial, String dataFinal ) {
		
		String hql = "select d from Documento as d where d.data_ent between :dataInicial and :dataFinal";
		Query query = getSession().createQuery(hql);
		//query.setParameter("id", d.getId());
		query.setParameter("dataInicial", dataInicial);	
		query.setParameter("dataFinal", dataFinal);			
		
		return query.list();
	}

}

e a classe DocumentoLogic, onde contem os metodos respectivos…nota q fiz o metodo listaData() que recebe o metodo pesquisandoDatas()…
nota que anotei dois atributos como @Out e @Parameter…eles que vao receber as duas datas informado no formulario…

package br.com.ricardo.lojavirtual.logic;

import java.util.Date;
import java.util.List;

import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
import org.vraptor.annotations.Out;
import org.vraptor.annotations.Parameter;

import br.com.ricardo.lojavirtual.dao.DaoFactory;
import br.com.ricardo.lojavirtual.dao.DocumentoDao;
import br.com.ricardo.lojavirtual.modelo.Documento;



@Component("documento")
@InterceptedBy(DaoInterceptor.class)
public class DocumentoLogic {
	
	private final DaoFactory daoFactory;
	private Documento doc;
	private List<Documento> docs;
	private List<Documento> docDatas;
	
	
	 @Out
	 @Parameter
	 private Date dataInicial;

	 @Out
	 @Parameter
	 private Date dataFinal; 
	 
	 
	
	public DocumentoLogic(DaoFactory daoFactory) {
		 
		this.daoFactory = daoFactory;		
	}
	
	//formulario para adicao
	public void formulario(){
		
	}
	public void pesquisa(){
		
	}
	
	//formulario para edicao
	public void editar(Documento doc) {
		
    //carrega os dados no banco para edicao
		this.doc = this.daoFactory.getDocumentoDao().procura(doc.getId());
	}
	
	// Adiciona um doc novo ou atualiza se for edicao
	public void armazena(Documento doc) {
		
		this.daoFactory.beginTransaction();
		this.daoFactory.getDocumentoDao().atualiza(doc);
		this.daoFactory.commit();
	}
	
    //remove um doc
	public void remove(Documento doc) {
		
		this.daoFactory.beginTransaction();
		this.daoFactory.getDocumentoDao().remove(doc);
		this.daoFactory.commit();
	}
	//lista todos os docs
	public void lista() {
		
		this.docs = this.daoFactory.getDocumentoDao().listaTudo();
	}
	//getter pro doc
	public Documento getDoc() {
	
		return doc;
	}
	//getter pra lista de docs
	public List<Documento> getDocs() {
	
		return docs;
	}
	
	//obtensao da listagem por data...	
	public void listaData(Documento d, String dataInicial, String dataFinal){
		
		DocumentoDao dao = this.daoFactory.getDocumentoDao();
		this.docDatas = dao.pesquisandoDatas(d, dataInicial, dataFinal);
		
	}
	//retorna a lista....
	public List<Documento> getDocDatas() {
		
		return  docDatas;
		
	}
	

}

abaixo os dois formularios…primeiro o que faz a pesquisa…chamado de pesquisa.ok.logic

<%@page pageEncoding="Cp1252" contentType="text/html; charset=Cp1252" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/>
<title></title>
<link rel="stylesheet" type="text/css" href="css/displaytag.css"/>
</head>
<body>
<%@ include file="../menu.jsp" %>
<br>
<ul><li><h2>Pesquisa por data:</h2></li></ul>
<form action="documento.listaData.logic"><ul>Data Inicial: <input name="dataInicial"  type="text"></ul>
<ul>Data Final:  <input name="dataFinal"  type="text" ></ul>
<br>
<input type="submit">
</form>
<br>
<br>
<br>

</body>
</html>

outro formulario…que reorna a listagem da pesquisa:

<%@page pageEncoding="Cp1252" contentType="text/html; charset=Cp1252" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/>
<title></title>
<link rel="stylesheet" type="text/css" href="css/displaytag.css"/>
</head>
<body>
<%@ include file="../menu.jsp" %>

<h1><center>Documentos</center></h1>
<display:table id="documento" name="${docDatas}" requestURI="documento.listaData.logic">
<display:column property="id" sortable="true" />
<display:column property="cod_docto" sortable="true" />
<display:column property="ano_docto" sortable="true" />
<display:column property="data_ent" sortable="true" />
<display:column property="origem" sortable="true" />
<display:column property="destino" sortable="true" />
<display:column property="num_docto" sortable="true" />
<display:column property="data_docto" sortable="true" />
<display:column property="tipo_docto" sortable="true" />
<display:column property="assunto" sortable="true" />
<display:column property="follow_up" sortable="true" />
<display:column property="situacao" sortable="true" />
<display:column property="despacho" sortable="true" /> 
<display:column>
<a href="documento.editar.logic?documento.id=${documento.id}">editar</a>
</display:column>
<display:column>
<a href="documento.remove.logic?documento.id=${documento.id}">remover</a>
</display:column>
</display:table>


</body>
</html>

**to com duvida pq tava acostumado trabalhar com jdbc e sou novo em hibernate e toda esta configuração do hiber e do vraptor deixa no momento meio confusooo…

valeu

nao consgui resolver ainda…

nao resolvi ainda.

agradeço a ajuda…

sem resolução ainda…

resolvido…