Javada… essa é boa, olhem a query abaixo:
SELECT
MOV.DATA_ENTRADA AS ENTRADA,
MOV.SERIE,
MOV.CTRC,
C.RAZAO_NOME AS CONSIG,
R.RAZAO_NOME AS REMETENTE,
MOV.NUM_NF AS NF,
MOV.VALOR_MERC AS VALOR,
D.RAZAO_NOME AS DESTINATARIO,
MOV.CIF_FOB AS "C/F",
MOV.LOCAL_ENTREGA AS DESTINO,
MOV.DATA_ENTREGA AS ENTREGA,
MOV.PESO AS PESOKG,
MOV.VALOR_BASE_CALCULO AS BASE_CALC,
MOV.TOTAL AS COMISSAO
FROM MOVIMENTO MOV
INNER JOIN CONSIG_REMET R ON MOV.REMET_ID=R.ID
INNER JOIN DESTINATARIO D ON MOV.DESTINATARIO_ID=D.ID
LEFT OUTER JOIN CONSIG_REMET C ON MOV.CONSIG_ID=C.ID
WHERE MOV.SITUACAO='F' AND MOV.CONSIG_ID=126 AND MOV.CTRC in (414137, 414221, 419699) ORDER BY 1
Usando o IReport criei um parametros chamado LISTA do tipo String e a query no ireport fica assim na ultima linha da query acima :
WHERE MOV.SITUACAO='F' AND MOV.CONSIG_ID=126 AND MOV.CTRC in ($P{LISTA}) ORDER BY 1
O que encabula:
Eu passo o parametro certinho no java e talz… só que o select nao me retorna o resultado de forma alguma… Agora, se eu colcoar somente um dado no Parametro Lista, por exemplo, somente o 414137 retorna um resultado e corretamente.
O Problema( q eu acho q seja, mais n sei como resolver) está nas virgulas… pois se eu peço para listar os parametros no código java ( System.out.println(parametro.getValues) ) me retorna [414137,414221,419699], OU SEJA, O IREPORT TA ACHANDO Q CADA UM DESSES VALORES SEPARADOS POR VIRGULA É UM PARAMETRO E NA VERDADE TODOS SÃO APENAS UM PARAMETRO.
COMO RESOLVER ESSA???
xD