Fórum Passar um um registro selecionado para outro bean #582179
06/06/2017
0
Tenho uma tabela que tem as entregas e tenho a tabela que tem os itens da entrega.
Entao, preciso que ao clicar no datatable da Entrega, me aparece no datatable dos itens, somente os itens daquela entrega.
Abaixo segue o meu DAO
E logo tem o Bean da entrega
e abaixo segue o meu xhtml
Alguem poderia me ajudar?
Entao, preciso que ao clicar no datatable da Entrega, me aparece no datatable dos itens, somente os itens daquela entrega.
Abaixo segue o meu DAO
public ArrayList<ContItensEntregas> mostrarItensEntregas(Integer id) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("select mkl_contitensentregas.id_contitensentregas, mkl_contitensentregas.id_contentregas, ");
sql.append(
"mkl_contitensentregas.id_codproduto, mkl_contitensentregas.id_itensentregas, mkl_contitensentregas.id_entregador, ");
sql.append(
"mkl_contitensentregas.id_usuario, mkl_contitensentregas.qtde_entregue, mkl_contitensentregas.nome_receptor, ");
sql.append(
"mkl_contitensentregas.inicio_carregamento, mkl_contitensentregas.termino_carregamento, mkl_contitensentregas.id_numpedorc, ");
sql.append("mkl_contentregas.id_entregador, mkl_contentregas.id_entidades, mkl_contentregas.id_entregas, ");
sql.append("mkl_contentregas.id_contentregas, mkl_contentregas.id_codfiliais, mkl_contentregas.id_veiculo, ");
sql.append(
"veiculostransporte.vei_descricao, veiculostransporte.vei_placa1 from dbo.mkl_contitensentregas mkl_contitensentregas ");
sql.append(
"inner join dbo.mkl_contentregas mkl_contentregas on (mkl_contentregas.id_contentregas = mkl_contitensentregas.id_contentregas) ");
sql.append(
"inner join dbo.veiculostransporte veiculostransporte on (veiculostransporte.id_veiculo = mkl_contentregas.id_veiculo) ");
sql.append(
"where ( mkl_contitensentregas.termino_carregamento is null ) and ( mkl_contitensentregas.id_contentregas = ?)");
ArrayList<ContItensEntregas> itens = new ArrayList<ContItensEntregas>();
try {
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setInt(1, id);
ResultSet resultado = comando.executeQuery();
while (resultado.next()) {
ContItensEntregas e = new ContItensEntregas();
e.setId_contitensentregas(resultado.getInt("id_contitensentregas"));
e.setId_contentregas(resultado.getInt("id_contentregas"));
e.setId_codproduto(resultado.getString("Id_codproduto"));
e.setId_itensentregas(resultado.getInt("id_itensentregas"));
e.setId_entregador(resultado.getInt("id_entregador"));
e.setId_usuario(resultado.getInt("id_usuario"));
e.setQtde_entregue(resultado.getFloat("qtde_entregue"));
e.setNome_receptor(resultado.getString("nome_receptor"));
e.setInicio_carregamento(resultado.getDate("Inicio_carregamento"));
e.setId_numpedorc(resultado.getInt("id_numpedorc"));
e.setId_entidade(resultado.getInt("id_entidades"));
e.setId_codfiliais(resultado.getInt("id_codfiliais"));
e.setId_veiculo(resultado.getInt("id_veiculo"));
e.setVeiculo(resultado.getString("vei_descricao"));
e.setVei_placa(resultado.getString("vei_placa1"));
itens.add(e);
}
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Nao achei nada");
}
return itens;
}
E logo tem o Bean da entrega
public List<ContItensEntregas> listarContItensEntregas(Integer id, List<ContItensEntregas> contitensentregas ) {
ContItensEntregasDAO dao = new ContItensEntregasDAO();
try {
itensSelecionados = dao.mostrarItensEntregas(id);
} catch (Exception e) {
e.printStackTrace();
}
return itensSelecionados;
}
e abaixo segue o meu xhtml
<h:form id="frmListagemContItensEntregas" rendered="true">
<p:outputPanel id="pnlContItensEntregas">
<p:dataTable id="dtbContItensEntregas" var="itensentregas"
value="#{MBContItensEntregas.listarContItensEntregas()}"
resizableColumns="true" widgetVar="ConfirmaItensEntregas"
draggableColumns="true" draggableRows="false"
emptyMessage="Nenhum registro encontrado!" paginator="true"
rows="4" rendered="true" >
<f:facet name="header">
Itens da Entrega
</f:facet>
<p:column headerText="Numero da Entrega" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.id_contentregas}" />
</p:column>
<p:column headerText="Produto" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.id_codproduto}" />
</p:column>
<p:column headerText="Descrição" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.descricao}" />
</p:column>
<p:column headerText="Quantidade" style="text-align:left;"
styleClass="media" width="20">
<h:inputText value="#{itensentregas.qtde_entregue}" />
</p:column>
<p:column headerText="Quem esta recebendo a mercadoria" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.nome_receptor}" />
</p:column>
<p:column headerText="Cooperado" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.enti_descricao}" />
</p:column>
</p:dataTable>
</p:outputPanel>
</h:form>
Alguem poderia me ajudar?
Weldes Goncalves
Curtir tópico
+ 0
Responder
Posts
06/06/2017
Weldes Goncalves
Tenho uma tabela que tem as entregas e tenho a tabela que tem os itens da entrega.
Entao, preciso que ao clicar no datatable da Entrega, me aparece no datatable dos itens, somente os itens daquela entrega.
Abaixo segue o meu DAO
E logo tem o Bean da entrega
e abaixo segue o meu xhtml
Alguem poderia me ajudar?
Entao, preciso que ao clicar no datatable da Entrega, me aparece no datatable dos itens, somente os itens daquela entrega.
Abaixo segue o meu DAO
public ArrayList<ContItensEntregas> mostrarItensEntregas(Integer id) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("select mkl_contitensentregas.id_contitensentregas, mkl_contitensentregas.id_contentregas, ");
sql.append(
"mkl_contitensentregas.id_codproduto, mkl_contitensentregas.id_itensentregas, mkl_contitensentregas.id_entregador, ");
sql.append(
"mkl_contitensentregas.id_usuario, mkl_contitensentregas.qtde_entregue, mkl_contitensentregas.nome_receptor, ");
sql.append(
"mkl_contitensentregas.inicio_carregamento, mkl_contitensentregas.termino_carregamento, mkl_contitensentregas.id_numpedorc, ");
sql.append("mkl_contentregas.id_entregador, mkl_contentregas.id_entidades, mkl_contentregas.id_entregas, ");
sql.append("mkl_contentregas.id_contentregas, mkl_contentregas.id_codfiliais, mkl_contentregas.id_veiculo, ");
sql.append(
"veiculostransporte.vei_descricao, veiculostransporte.vei_placa1 from dbo.mkl_contitensentregas mkl_contitensentregas ");
sql.append(
"inner join dbo.mkl_contentregas mkl_contentregas on (mkl_contentregas.id_contentregas = mkl_contitensentregas.id_contentregas) ");
sql.append(
"inner join dbo.veiculostransporte veiculostransporte on (veiculostransporte.id_veiculo = mkl_contentregas.id_veiculo) ");
sql.append(
"where ( mkl_contitensentregas.termino_carregamento is null ) and ( mkl_contitensentregas.id_contentregas = ?)");
ArrayList<ContItensEntregas> itens = new ArrayList<ContItensEntregas>();
try {
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setInt(1, id);
ResultSet resultado = comando.executeQuery();
while (resultado.next()) {
ContItensEntregas e = new ContItensEntregas();
e.setId_contitensentregas(resultado.getInt("id_contitensentregas"));
e.setId_contentregas(resultado.getInt("id_contentregas"));
e.setId_codproduto(resultado.getString("Id_codproduto"));
e.setId_itensentregas(resultado.getInt("id_itensentregas"));
e.setId_entregador(resultado.getInt("id_entregador"));
e.setId_usuario(resultado.getInt("id_usuario"));
e.setQtde_entregue(resultado.getFloat("qtde_entregue"));
e.setNome_receptor(resultado.getString("nome_receptor"));
e.setInicio_carregamento(resultado.getDate("Inicio_carregamento"));
e.setId_numpedorc(resultado.getInt("id_numpedorc"));
e.setId_entidade(resultado.getInt("id_entidades"));
e.setId_codfiliais(resultado.getInt("id_codfiliais"));
e.setId_veiculo(resultado.getInt("id_veiculo"));
e.setVeiculo(resultado.getString("vei_descricao"));
e.setVei_placa(resultado.getString("vei_placa1"));
itens.add(e);
}
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Nao achei nada");
}
return itens;
}
E logo tem o Bean da entrega
public List<ContItensEntregas> listarContItensEntregas(Integer id, List<ContItensEntregas> contitensentregas ) {
ContItensEntregasDAO dao = new ContItensEntregasDAO();
try {
itensSelecionados = dao.mostrarItensEntregas(id);
} catch (Exception e) {
e.printStackTrace();
}
return itensSelecionados;
}
e abaixo segue o meu xhtml
<h:form id="frmListagemContItensEntregas" rendered="true">
<p:outputPanel id="pnlContItensEntregas">
<p:dataTable id="dtbContItensEntregas" var="itensentregas"
value="#{MBContItensEntregas.listarContItensEntregas()}"
resizableColumns="true" widgetVar="ConfirmaItensEntregas"
draggableColumns="true" draggableRows="false"
emptyMessage="Nenhum registro encontrado!" paginator="true"
rows="4" rendered="true" >
<f:facet name="header">
Itens da Entrega
</f:facet>
<p:column headerText="Numero da Entrega" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.id_contentregas}" />
</p:column>
<p:column headerText="Produto" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.id_codproduto}" />
</p:column>
<p:column headerText="Descrição" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.descricao}" />
</p:column>
<p:column headerText="Quantidade" style="text-align:left;"
styleClass="media" width="20">
<h:inputText value="#{itensentregas.qtde_entregue}" />
</p:column>
<p:column headerText="Quem esta recebendo a mercadoria" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.nome_receptor}" />
</p:column>
<p:column headerText="Cooperado" style="text-align:left;"
styleClass="media" width="20">
<h:outputText value="#{itensentregas.enti_descricao}" />
</p:column>
</p:dataTable>
</p:outputPanel>
</h:form>
Alguem poderia me ajudar?
E esta dando o erro:
GRAVE: Error Rendering View[/pages/confirmaentregas.xhtml]
javax.el.ELException: /pages/confirmaentregas.xhtml @75,32 value="#{MBContItensEntregas.listarContItensEntregas()}": Method not found: class br.com.cooperWEB.bean.ContItensEntregasBean.listarContItensEntregas()
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:117)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:200)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:187)
at javax.faces.component.UIData.getValue(UIData.java:760)
at org.primefaces.component.api.UIData.getDataModel(UIData.java:764)
at javax.faces.component.UIData.getRowCount(UIData.java:371)
at org.primefaces.component.api.UIData.calculateFirst(UIData.java:215)
at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:117)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:85)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:949)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:89)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:65)
at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:41)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:949)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1912)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:918)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:72)
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:949)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1912)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:460)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:136)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)