PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

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
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

Weldes Goncalves

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
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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar