Fala galera, blz.
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:
<%@ page errorPage="ErrosPage.jsp"%>
<%@ page import="sistema.negocio.*"%>
<%@ page import="sistema.negocio.entidades.*"%>
<%
if ((session.getAttribute("nivel")!= null)&&(session.getAttribute("msgTipo").equals("IN"))){
%>
<html>
<head>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="781" height="581" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
<tr>
<td colspan="6"><img src="images/_Cadastro__lay.jpg" width="780" height="124" alt=""></td>
<td><img src="images/spacer.gif" width="1" height="124" alt=""></td>
</tr>
<tr>
<td rowspan="10" background="images/_Cadastro_layout78-02.jpg"><%@ include file="_MenuIN.jsp"%></td>
<td rowspan="10"><img src="images/_Cadastro__-04.jpg" width="35" height="396" alt=""></td>
<td rowspan="10"><img src="images/_Cadastro__-05.jpg" width="25" height="396" alt=""></td>
<td colspan="3" rowspan="10" valign="top" background="images/_Cadastro__lay.gif">
<%
IFachadaIndustria fachadaIN = FachadaIndustria.getInstancia();
session.setAttribute("JSP","entradaParcialNFIN.jsp");
NF [] notas = null;
if(request.getParameter("op")==null){
notas = fachadaIN.buscarTodasNFDevParcial("1");
if(notas.length>0){
session.setAttribute("notas",notas);
%>
<div style="height:350px; width:560px; overflow:auto;">
<form name="fmcad" method="post" action="entradaParcialNFIN.jsp?op=1">
<br>
<fieldset>
<legend><span class="style30 style32" style="color:#006633"><strong> Entrada NF´s Devolução Parcial </strong></span></legend><br>
<table width="100%" height="22" border="0">
<tr>
<th width="23%" height="18" bgcolor="#DBDBDB" scope="col">Número NF </th>
<th width="54%" bgcolor="#DBDBDB" scope="col">Razão Social </th>
<th width="11%" bgcolor="#DBDBDB" scope="col">Qtd. Itens </th>
</tr>
<%for (int x = 0; x < notas.length; x++) {%>
<%if (x % 2 == 0) {%>
<tr bgcolor="#FFFFFF" scope="col">
<%}else{%>
<tr bgcolor="#DBDBDB" scope="col">
<%}%>
<td><div align="center"><a href="entradaParcialNFIN.jsp?op=1&x=<%=x%>"><%session.setAttribute("nf"+x,notas[x]);%><%=notas[x].getNum_nf()%></a></div></td>
<td><div align="center"><%=notas[x].getRazaoSocial()%></div></td>
<td><div align="center"><%=notas[x].getItNF().length%></div></td>
<%}%>
</tr>
</table>
</fieldset>
</form>
</div>
<br/>
<input type="button" name="voltar" id="voltar" value="Voltar" onClick="document.location='inicial.jsp'" style="border:outset;" />
<%}else{%>
<br>
<div style="height:350px; width:560px; overflow:auto;">
<fieldset><form name="fmcad">
<legend class="style2"><span class="style30 style32" style="color:#006633"><strong>Entrada NF´s Devolução Parcial </strong></span></legend>
<br>
<table width="100%" height="45" border="0">
<tr>
<strong> Não há NF´s de devolução parcial no sistema!<br/><br/></strong>
</tr>
<tr>
<input type="button" name="voltar" id="voltar" value="Voltar" style="border:outset;" onClick="document.location='inicial.jsp'" />
</tr>
</table></form>
</fieldset>
</div>
<p>
<%}
}else if(Integer.parseInt(request.getParameter("op"))==1){
NF notaFiscal = (NF )session.getAttribute("nf"+request.getParameter("x"));
ItemNF[] itens = notaFiscal.getItNF();
String[] notaDev = fachadaIN.buscarNFDevParcial(notaFiscal.getNum_nf()+"");
session.setAttribute("notaDev",notaDev[1]+"X"+notaDev[6]+"X"+notaDev[0]);
%>
<form name="fmcad" action="entradaParcialNFIN.jsp?op=2" method="post">
<div style="height:350px; overflow:auto;">
<br>
<fieldset class="style27">
<legend><span class="style30 style32" style="color:#006633"><strong> Detalhamento da NF de Devolução Parcial </strong></span></legend>
<br>
<span class="style51"><strong>Nota Fiscal Origem</strong></span><br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30%">
<div align="right" class="style49"><span class="style46 style52">Razão Social</span></div></td>
<td> </td>
<td>
<div align="left"><input name="numeroNota" value="<%=notaFiscal.getRazaoSocial()%>" type="text" size="60" readonly="readonly"></div></td>
</tr>
<tr>
<td>
<div align="right" class="style49"><span class="style46 style52">Número da Nota Fiscal</span></div></td>
<td> </td>
<td>
<div align="left"><input name="numeroNota" value="<%=notaFiscal.getNum_nf()%>" type="text" size="13" readonly="readonly"></div></td>
</tr>
<tr>
<td>
<div align="right" class="style49"><span class="style46 style52">Número do Pedido</span></div></td>
<td> </td>
<td>
<div align="left"><input name="numeroPedido" value="<%=notaFiscal.getNum_pedido()%>" type="text" size="13" readonly="readonly"></div> </td>
</tr>
<tr>
<td>
<div align="right" class="style49"><span class="style46 style52">Data da Nota</span></div>
</td>
<td> </td>
<td>
<div align="left"><input name="dataNota" type="text" value="<%=notaFiscal.getData_nf().replace('-','/').split("/")[2]+"/"+notaFiscal.getData_nf().replace('-','/').split("/")[1]+"/"+notaFiscal.getData_nf().replace('-','/').split("/")[0]%>" size="13" readonly="readonly" maxlength="10"></div>
</td>
</tr>
</table>
<span class="style51"><br>
<strong>Nota Fiscal Devolução</strong><br>
</span>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30%"><div align="right" class="style49"><span class="style46 style52">Nota Fiscal</span></div></td>
<td width="2%"></td>
<td width="66%"><div align="left">
<input name="numeroNota2" value="<%=notaDev[5]%>" type="text" size="13" readonly="readonly">
</div></td>
</tr>
<tr>
<td><div align="right" class="style49"><span class="style46 style52">Data da Devolução </span></div></td>
<td> </td>
<td><div align="left">
<input name="numeroPedido2" value="<%=notaDev[3].replace('-','/').split("/")[2]+"/"+notaDev[3].replace('-','/').split("/")[1]+"/"+notaDev[3].replace('-','/').split("/")[0]%>" type="text" size="13" readonly="readonly">
</div></td>
</tr>
<tr>
<td height="48"><div align="right" class="style49"><span class="style46 style52">Motivo</span></div></td>
<td> </td>
<td><div align="left">
<label>
<textarea name="textarea" cols="50" rows="3"><%=notaDev[4]%></textarea>
</label>
</div></td>
</tr>
</table>
<br>
<table width="100%" border="0">
<tr>
<th bgcolor="#BBBBBB" class="style39" scope="col">Código Item</th>
<th bgcolor="#BBBBBB" class="style39" scope="col">Descrição</th>
<th bgcolor="#BBBBBB" class="style39" scope="col">Quantidade de Devolução </th>
</tr>
<%
String[] devolucao = notaDev[6].split("/");
for(int i=0; i<itens.length; i++){
for(int d=0; d<devolucao.length; d++){
if( (itens[i].getCod_item().equals((devolucao[d].split("@")[0]))) ){
if(d % 2==0){%>
<tr bgcolor=#FFFFFF>
<%}else{%>
<tr bgcolor=#DDDDDD>
<%}%>
<td><div align="center" class="style40"><%=itens[i].getCod_item()%></div></td>
<td><div align="center" class="style40"><%=itens[i].getDesc_item()%></div></td>
<td><div align="center" class="style40"><%=devolucao[d].split("@")[1]%></div></td>
</tr>
<%}
System.out.println(" :::: "+ (itens[i].getCod_item().equals((devolucao[d].split("@")[0]))));
System.out.println(" :::: "+ (itens[i].getCod_item().equals(itens[d].getCod_item())));
System.out.println(" item [i]: "+ (itens[i].getCod_item()));
System.out.println(" item [d]: "+ (itens[d].getCod_item()));
System.out.println(" item: "+ (itens[i].getDesc_item()));
System.out.println(" NF DEV: "+ notaDev[0]+" - "+notaDev[1]+" - "+notaDev[2]+" - "+notaDev[3]+" - "+notaDev[4]+" - "+notaDev[5]+" - "+notaDev[6]+" - "+notaDev[7] );
System.out.println(" item dev: "+ ( (devolucao[d].split("@")[0]))+"\n---------------" );
}
}
%>
</table>
<table width="99%" border="0" height="20%">
<tr>
<th colspan="3" scope="col"></th>
</tr>
<tr>
<td width="44%" scope="col">
<fieldset><br>
<legend><span class="style30 style32" style="color:#006633">Confirmação
</span></legend>
<table width="100%" height="51" border="0">
<tr>
<td scope="col">
<div align="center">
<input type="button" name="Confirmar" id="confirmar" value="Confirmar"
onClick="if(confirm('Deseja realmente Confirmar\nEsta Devolução Parcial?'))document.fmcad.submit();
else return" style="border:outset; ">
<input type="button" name="Cancelar" id="cancelar" value="Cancelar"
onClick="if(confirm('Deseja realmente Cancelar\nEsta Devolução Parcial?')) location='entradaParcialNFIN.jsp?op=3';
else return" style="border:outset; ">
<input type="button" name="voltar" id="voltar" value="Voltar" onClick="javascript:history.go(-1)" style="border:outset; ">
</div> </td>
</tr>
</table>
</fieldset>
<td width="56%" scope="col"> </td>
</tr>
</table>
</fieldset>
</div>
</form>
<%}else{
if(Integer.parseInt(request.getParameter("op"))==2){
if(fachadaIN.devolucaoParcialNF(session.getAttribute("notaDev")+"")){
%>
<script type="text/javascript">window.alert('Confirmação Aceita!');document.location='inicial.jsp';</script>
<% }
}else if(Integer.parseInt(request.getParameter("op"))==3){
NF notaDev = (NF ) 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>
<% }
}
%>
</td>
<td><img src="images/spacer.gif" width="1" height="24" alt=""></td>
</tr>
</table>
</body>
</html>
<%}else
response.sendRedirect("invalida.jsp");
%>
AKI VOU COLOCAR A PARTE DO REPOSITORIO ONDE FAZ SE COMUNICAR COM A A PAGINA E VICE-VERSA.
@SuppressWarnings("null")
public void devolucaoNotaParcial(NF_ notaDev) throws ExcecaoEntidadeExistente,
ExcecaoRepositorio, ExcecaoDadoInvalido {
Connection con = gerCon.getConexao(true);
PreparedStatement ps = null;
try {
ps = con.prepareStatement(DEVOLVER_NOTA_PARCIAL);
for(int x=0; x<notaDev.getItensDev().size(); x++){
ps.setString(1, notaDev.getCnpj());
ps.setLong(2, notaDev.getNum_nf());
ps.setDate(3, dataNota);
ps.setDate(4, dataDev);
ps.setString(5, notaDev.getMotivo_reprov1());
ps.setLong(6, notaDev.getNum_nf_dev());
ps.setString(7, (notaDev.getItensDev().get(x)+"").split("@")[0]);
ps.setInt(8, 1);
ps.setString(9, notaDev.getUsuario_dfpc());
ps.setInt(10, Integer.parseInt((notaDev.getItensDev().get(x)+"").split("@")[1]));
ps.setLong(11, notaDev.getNum_nf());
ps.executeUpdate();
}
} catch (final SQLException e) {
throw new ExcecaoEntidadeExistente("Nota Fiscal já devolvida!");
} finally {
try {
ps.close();
} catch (final SQLException e) {
throw new ExcecaoRepositorio("Erro ao fechar a conexão com o Banco de Dados!");
}
}
}


