ok alan, eu uso JSF e hibernate.
esse é meu dao:
public class PorPoloDao {
public static List<VendasPorPolo> ListaVendasPorPolo(String dtInicial,
String dtFinal) {
System.out.println("Abrindo sessao para INFORMAÇÔES GERENCIAIS");
Session s = HibernateUtil.getSession();
System.out.println("Sessão IG iniciada com sucesso!!!");
System.out.println("Executando query...");
String sql = "SELECT "
+ " CM_POLO.DS_POLO, "
+ " SUM( DECODE( ES_PRODUTO_FARMACEUTICO.DM_CLASSIFICACAO, '3', CM_ITEM.QTDE, 0 ) ) UNIDADE_PERF, "
+ " SUM( DECODE( ES_PRODUTO_FARMACEUTICO.DM_CLASSIFICACAO, '3', 0, CM_ITEM.QTDE ) ) UNIDADE_MED, "
+ " SUM( DECODE( ES_PRODUTO_FARMACEUTICO.DM_CLASSIFICACAO, '3', CM_ITEM.VL_LIQUIDO_TOTAL, 0 ) ) VALOR_PERF, "
+ " SUM( DECODE( ES_PRODUTO_FARMACEUTICO.DM_CLASSIFICACAO, '3', 0, CM_ITEM.VL_LIQUIDO_TOTAL ) ) VALOR_MED "
+ " FROM CM_POLO, "
+ " ES_PRODUTO_FARMACEUTICO, "
+ " CM_VENDEDOR, "
+ " CM_ITEM, "
+ " CM_MOVIMENTO "
+ " WHERE ES_PRODUTO_FARMACEUTICO.ID_PRODUTO = CM_ITEM.ID_PRODUTO "
+ " AND CM_POLO.ID_POLO = CM_VENDEDOR.ID_POLO "
+ " AND CM_VENDEDOR.ID_VENDEDOR = CM_MOVIMENTO.ID_VENDEDOR "
+ " AND CM_ITEM.ID_MOVIMENTO = CM_MOVIMENTO.ID_MOVIMENTO "
+ " AND CM_MOVIMENTO.DM_CANCELAMENTO <> 'S' "
+ " AND CM_MOVIMENTO.ID_TIPO_NOTA IN ( 1, 10, 11 ) "
+ " AND CM_MOVIMENTO.DT_MOVIMENTO BETWEEN TO_DATE(:dtInicial, 'dd/mm/yyyy') "
+ " AND TO_DATE(:dtFinal, 'dd/mm/yyyy') "
+ " GROUP BY CM_POLO.DS_POLO";
SQLQuery qryVP = s.createSQLQuery(sql);
qryVP.setResultTransformer(Transformers
.aliasToBean(VendasPorPolo.class));
qryVP.setParameter("dtInicial", dtInicial);
qryVP.setParameter("dtFinal", dtFinal);
return qryVP.list();
}
}
esse é meu manager:
public class VendasPorPoloManager {
private String dtInicial;
private String dtFinal;
public String getDtInicial() {
return dtInicial;
}
public void setDtInicial(String dtInicial) {
this.dtInicial = dtInicial;
System.out.println("Data inicial para busca -> " + dtInicial);
}
public String getDtFinal() {
return dtFinal;
}
public void setDtFinal(String dtFinal) {
this.dtFinal = dtFinal;
System.out.println("Data final para busca -> " + dtFinal);
}
public String buscar() {
try {
System.out.println("Realizando consulta -> " + dtInicial + " a "
+ dtFinal + " na classe " + getClass());
System.out.println("Fim da consulta.");
return "ok";
} catch (Exception e) {
System.out.println(e.getClass() + " retornou uma exception -> "
+ e.getMessage());
return "erro_ig";
} finally {
}
}
private VendasPorPolo vendasPorPolo = new VendasPorPolo();
private List<VendasPorPolo> listaVendasPorPolo = PorPoloDao
.ListaVendasPorPolo(getDtInicial(), getDtFinal());
public VendasPorPolo getVendasPorPolo() {
return vendasPorPolo;
}
public void setVendasPorPolo(VendasPorPolo vendasPorPolo) {
this.vendasPorPolo = vendasPorPolo;
}
public List<VendasPorPolo> getListaVendasPorPolo() {
System.out.println("Qtde. de informações Por Polo -> "
+ listaVendasPorPolo.size());
return listaVendasPorPolo;
}
public void setListaVendasPorPolo(List<VendasPorPolo> listaVendasPorPolo) {
this.listaVendasPorPolo = listaVendasPorPolo;
}
}
minha jsp:
<f:subview id="vpp">
<head>
<link rel="STYLESHEET" type="text/css" href="cssFit.css">
<script language=javascript src="js/hora.js"></script>
</head>
<a4j:form id="frmVP">
<rich:contextMenu attached=""></rich:contextMenu>
<h:outputText styleClass="label_dtInicial" value="Dt.Inicial: "></h:outputText>
<f:verbatim>
<br>
</f:verbatim>
<h:inputText required="true" maxlength="10"
value="#{vendasPorPoloManager.dtInicial}" id="dtInicial"
onkeyup="return txtBoxFormat(this, '99/99/9999', event);">
<a4j:support event="onchange"></a4j:support>
</h:inputText>
<rich:message styleClass="msgDatasIG" for="dtInicial"></rich:message>
<f:verbatim>
<br>
</f:verbatim>
<h:outputText styleClass="label_dtFinal" value="Dt.Final: "></h:outputText>
<f:verbatim>
<br>
</f:verbatim>
<h:inputText required="true" maxlength="10"
value="#{vendasPorPoloManager.dtFinal}" id="dtFinal"
onkeyup="return txtBoxFormat(this, '99/99/9999', event);">
<a4j:support event="onchange"></a4j:support>
</h:inputText>
<rich:message styleClass="msgDatasIG" for="dtFinal"></rich:message>
<f:verbatim>
<br>
<br>
</f:verbatim>
<a4j:commandButton styleClass="bt_atualizar" value="Atualizar >>"
action="#{vendasPorPoloManager.buscar}"></a4j:commandButton>
<a4j:status id="status">
<f:facet name="start">
<rich:modalPanel id="mp" minHeight="200" minWidth="450" height="200"
width="500" zindex="2000">
<f:facet name="header">
<h:outputText value="FIT Sistemas [ Warning ]" />
</f:facet>
<f:facet name="controls">
<h:graphicImage value="/img/IconLogout.png" style="cursor:pointer"
onclick="Richfaces.hideModalPanel('mp')" />
</f:facet>
<rich:message styleClass="msgDatasIG" for="dtInicial"></rich:message>
<f:verbatim>
<br>
</f:verbatim>
<rich:message styleClass="msgDatasIG" for="dtFinal"></rich:message>
</rich:modalPanel>
</f:facet>
</a4j:status>
<f:verbatim>
<br>
<br>
</f:verbatim>
<rich:dataTable headerClass="dataTable_IG" var="r" id="tblIG"
value="#{vendasPorPoloManager.listaVendasPorPolo}" rows="10"
rendered="#{not empty vendasPorPoloManager.listaVendasPorPolo}">
<h:column>
<f:facet name="header">
<h:outputText value="POLO"></h:outputText>
</f:facet>
<h:outputText id="dsPolo" value="#{r.DS_POLO}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="UN.PERFUMARIA"></h:outputText>
</f:facet>
<h:outputText id="unidadePerf" value="#{r.UNIDADE_PERF}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="UN.MEDICAMENTO"></h:outputText>
</f:facet>
<h:outputText id="unidadeMed" value="#{r.UNIDADE_MED}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="VALOR PERF."></h:outputText>
</f:facet>
<h:outputText id="valorPerf" value="#{r.VALOR_PERF}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="VALOR MED."></h:outputText>
</f:facet>
<h:outputText id="valorMed" value="#{r.VALOR_MED}"></h:outputText>
</h:column>
<f:facet name="footer">
<rich:datascroller for="tblIG"></rich:datascroller>
</f:facet>
</rich:dataTable>
<rich:separator height="1" lineType="dotted" style="padding-top:10px" />
</a4j:form>
</f:subview>
</html>
Eu vi um sistema de um amigo e como acabei uns cursos de java a 2 meses, e agora estou praticando.
valeu pessoal.