Olha só, tenho uma dúvida de predomina a dias.
tudo começa quando na JSP não mostra corretamente os itens que gostaria de ver na tela. vou ser mais específico.
Tudo começa quando em outro modulo (modulo cliente) o usuario vai na tela de devolução parcial e lá ele digita o numero da NOTA FISCAL e é mostrado para o usuario a descrição do que contem na nota, blz. Dentro da NOTA contem itens, onde o usuario pode selecionar os itens que quer devolver;
SUPONDO:
na NOTA contem 3 itens:
código do item: 016072
descrição: item A
quantidade: 30
código do item: 016073
descrição: item B
quantidade: 20
código do item: 016074
descrição: item C
quantidade: 10
o usuario escolhe somente os itens : Item B e Item C.
(pronto isso chama-se devolução parcial de uma NOTA FISCAL, até aí blz, num eh!)
CONTINUANDO…
No outro modulo, o usuario verifica todas as notas que cairam como devolvidas parcialmente e vê na tela todas as notas.
O usuario clica na nota desejada (supondo a NOTA q estamos devolvendo acima) e LÓGICO, tem q mostrar os itens devolvidos para esta nota como:
código do item: 016073
descrição: item B
quantidade: 20
código do item: 016074
descrição: item C
quantidade: 10
Só que o problema é que não mostra todos os itens. apenas mostra o ultimo item devolvido que no caso foi Item C.
Gostaria que alguém avaliasse o código que vou passar agora e diante mão agradecer a ajuda.
SEGUE o CÓDIGO DA PÁGINA ONDE VERIFICO A NOTA JÁ DEVOLVIDA, SÓ QUE NÃO MOSTRA CORRETAMENTE OS ITENS DESTA NOTA:
entradaParcialNFIN.jsp
[code]<%@ page errorPage=“ErrosPage.jsp”%>
<%@ page import=“sistema.negocio."%>
<%@ page import="sistema.negocio.entidades.”%>
<%
if ((session.getAttribute(“nivel”)!= null)&&(session.getAttribute(“msgTipo”).equals(“IN”))){
%>
<% }
}else if(Integer.parseInt(request.getParameter(“op”))==3){
//NFCBC notaDev = (NFCBC) session.getAttribute(“notaDev”);
//notaDev.setUsuario_dfpc(session.getAttribute(“usuario”)+"");
//fachadaIN.cancelaEntradaNF(notaDev);
%>
<script type="text/javascript">window.alert('Cancelamento Aceito!');document.location='inicial.jsp';</script>
<% }
}
%>
SEGUE o CÓDIGO DO REPOSITORIO ONDE TENHO OS METODOS ONDE EU VERIFICO NA NOTA OS ITENS E TUDO MAIS:
RepositorioIndustria
[code]package sistema.dados.repositorio;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import sistema.dados.excecoes.ExcecaoRepositorio;
import sistema.dados.util.GerenciadorConexaoBDR;
import sistema.negocio.entidades.ItemNF;
import sistema.negocio.entidades.NFCBC;
public class test {
private final GerenciadorConexaoBDR gerCon = GerenciadorConexaoBDR.getMyInstance();
public static final String PESQUISA_NF_DEV_PARCIAL = "SELECT DISTINCT NF.NUMERO_NF,NF.NUMERO_PEDIDO,NF.NUMERO_OM, "+
"NF.COD_CLIENTE,NF.CNPJ,NF.NUMERO_CR,NF.SITUACAO,NF.DT_NF,C.NOME,NF.USUARIO_DFPC "+
"FROM TB_NF_CBC NF, CLIENTES_SISTEMA C, TB_NF_DEVOLVIDA D "+
"WHERE D.SITUACAO = ? AND C.CNPJ=NF.CNPJ AND NF.NUMERO_NF=D.NUM_NF "+
"ORDER BY NUMERO_NF";
// "SELECT DISTINCT NF.NUMERO_NF,NF.NUMERO_PEDIDO,NF.NUMERO_OM," +
// "NF.COD_CLIENTE,NF.CNPJ,NF.NUMERO_CR,NF.SITUACAO,NF.DT_NF,C.NOME,NF.USUARIO_DFPC " +
// "FROM TB_NF_CBC NF, CLIENTES_SISTEMA C WHERE SITUACAO = ? AND C.CNPJ=NF.CNPJ ORDER BY NUMERO_NF";
public static final String PESQUISA_ITENS_NF_DEV_PARCIAL = "SELECT SEQUENCIA, COD_ITEM, DESC_ITEM, QTD, UNIDADE FROM TB_NF_CBC " +
"WHERE NUMERO_NF=? ORDER BY SEQUENCIA";
@SuppressWarnings("null")
public NFCBC[] buscarTodasNFDevParcial(String status) throws ExcecaoRepositorio{
ArrayList<NFCBC> arrayNFCBC = new ArrayList<NFCBC>();
NFCBC[] vetNFCBC = null;
NFCBC nf = null;
ItemNF itNF = null;
Connection con = gerCon.getConexao(false);
PreparedStatement ps1 = null;
PreparedStatement ps2 = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
try {
ps1 = con.prepareStatement(PESQUISA_NF_DEV_PARCIAL);
ps1.setString(1, status);
rs1 = ps1.executeQuery();
while(rs1.next()){
long num_nf = rs1.getLong(1);
int numPedido = rs1.getInt(2);
int numOm = rs1.getInt(3);
String codCliente = rs1.getString(4);
String cnpj = rs1.getString(5);
String numCr = rs1.getString(6);
String situacao = rs1.getString(7);
String data = rs1.getString(8);
String razaoSocial = rs1.getString(9);
String usuario_dfpc = rs1.getString(10);
nf = new NFCBC(num_nf,numPedido,numOm,codCliente,cnpj,numCr,situacao,data,razaoSocial,usuario_dfpc);
ps2 = con.prepareStatement(PESQUISA_ITENS_NF_DEV_PARCIAL);
ps2.setLong(1, num_nf);
rs2 = ps2.executeQuery();
while(rs2.next()){
int sequencia = rs2.getInt(1);
String codItem = rs2.getString(2);
String descItem = rs2.getString(3);
int qtd = rs2.getInt(4);
String unidade = rs2.getString(5);
itNF = new ItemNF(sequencia, codItem, descItem, qtd, unidade);
nf.setItNF(itNF);
}
arrayNFCBC.add(nf);
}
vetNFCBC = new NFCBC[arrayNFCBC.size()];
for (int i = 0; i < arrayNFCBC.size(); i++) {
vetNFCBC[i] = (NFCBC) arrayNFCBC.get(i);
}
return vetNFCBC;
} catch (SQLException e) {
throw new ExcecaoRepositorio("Erro de acesso ao Banco de Dados!");
} finally {
try {
if(vetNFCBC.length>0){
rs2.close();
}
rs1.close();
} catch (Exception e) {
throw new ExcecaoRepositorio("Erro ao fechar a conexão com o Banco de Dados!");
}
try {
if(vetNFCBC.length>0){
ps2.close();
}
ps1.close();
} catch (Exception e) {
throw new ExcecaoRepositorio("Erro ao fechar a conexão com o Banco de Dados!");
}
try {
con.close();
} catch (Exception e) {
throw new ExcecaoRepositorio("Erro de acesso ao Banco de Dados!");
}
}
}
private static final String BUSCAR_NF_DEV_PARCIAL = "SELECT * FROM TB_NF_DEVOLVIDA WHERE NUM_NF=?";
public String[] buscarNFDevParcial(String x)throws ExcecaoRepositorio{
Connection con = gerCon.getConexao(false);
PreparedStatement ps = null;
ResultSet rs = null;
String[] notaDev = new String[8];
String msg="";
try {
ps = con.prepareStatement(BUSCAR_NF_DEV_PARCIAL);
ps.setString(1, x);
rs = ps.executeQuery();
while(rs.next()){
String cnpj = rs.getString(1);
long num_nf = rs.getLong(2);
String dt_nf = rs.getString(3);
String dt_dev = rs.getString(4);
String motivo = rs.getString(5);
long num_nf_dev = rs.getLong(6);
String dev_iten_qtd = rs.getString(7)+"@"+rs.getInt(10);
int situacao = rs.getInt(8);
msg= cnpj+"!"+num_nf+"!"+dt_nf+"!"+dt_dev+"!"+motivo+"!"+num_nf_dev+"!"+dev_iten_qtd+"!"+situacao;
}
notaDev = msg.split("!");
} catch (SQLException e) {
throw new ExcecaoRepositorio("Erro de acesso ao Banco de Dados!");
} finally {
try{
rs.close();
} catch (final SQLException e) {
throw new ExcecaoRepositorio("Erro ao fechar a conexão com o Banco de Dados!");
}
try {
ps.close();
} catch (final SQLException e) {
throw new ExcecaoRepositorio("Erro ao fechar a conexão com o Banco de Dados!");
}
try {
con.close();
} catch (final SQLException e) {
throw new ExcecaoRepositorio("Erro de acesso ao Banco de Dados!");
}
}
return notaDev;
}
}
[/code]