Ajuda Com Sql Ireport Relatorio De Fechamento De Caixa

Olá Comunidade,
Estamos criando um relatório formatado de fechamento de caixa, atendendo ao pedido de um cliente que deseja ter o relatório já existente seja modificado, como não localizamos o arquivo JRXML, então mão na massa. Toda a estrutura já está pronta, porém não estou conseguindo realizar os calculos, procurei os campos em várias tabelas do Dicionário de dados e não consegui achar os campos, então deduzi q preciso realizar alguns calculos, já tentei utilizar o SUM, mas não dá certo, e no iReport tentei utilizar a propriedade Calculation - Sum nas variaveis mas ainda estou apanhando.

Aqui está a query:

SELECT
--------------------------------------------------------------
NUCAIXA,DTABERTURA,CODUSU,DTFECHAMENTO,DESCRICAO,SALDOINICIAL,
--------------------------------------------------------------
DTALTER,NROUNICO,NUMNOTA,DESCRNAT,NOMEPARC,CODPARC,HISTORICO,VALORREC,VALORDESP,RECDESP,
CASE
    WHEN ORIGEM = 'F' AND RECDESP = 1
    THEN VALORREC * -1
    ELSE 0
END AS SAIDAREC,
CASE
    WHEN ORIGEM = 'F' AND RECDESP = -1
    THEN VALORDESP * -1
    ELSE 0
END AS SAIDADESP
FROM
(SELECT
------INFORMAÇÕES CABEÇALHO------
CAI.NUCAIXA,CAI.DTABERTURA,CAI.CODUSU,CAI.DTFECHAMENTO,
CTA.DESCRICAO,CAI.SALDOINICIAL,
--INFORMAÇÕES DAS MOVIMENTAÇÕES--
MCX.DTALTER,
MCX.NROUNICO,
FIN.NUMNOTA,
NAT.DESCRNAT,
PAR.NOMEPARC,
FIN.CODPARC,
FIN.HISTORICO,
    CASE
        WHEN MCX.RECDESP = -1
        THEN MCX.VALOR*MCX.RECDESP
        ELSE 0
    END AS VALORDESP,
    CASE
        WHEN MCX.RECDESP = 1
        THEN MCX.VALOR*MCX.RECDESP
        ELSE 0
    END AS VALORREC,
MCX.RECDESP,
MCX.ORIGEM

-----TABELAS E RELAÇÕES----------
FROM TGFCAI CAI

INNER JOIN TGFMCX MCX
ON MCX.NUCAIXA = CAI.NUCAIXA

    LEFT JOIN TSICTA CTA
    ON CTA.CODCTABCOINT = CAI.CODCTABCOINT

INNER JOIN TGFFIN FIN
ON FIN.NUFIN = MCX.NROUNICO

    LEFT JOIN TGFPAR PAR
    ON FIN.CODPARC = PAR.CODPARC

    LEFT JOIN TGFNAT NAT
    ON FIN.CODNAT = NAT.CODNAT

------------CONDIÇÕES------------
WHERE
CAI.NUCAIXA = $P{NUCAIXA}
AND MCX.ORIGEM  IN ('E','F')
ORDER BY MCX.DTALTER) A

O resultado da consulta fica assim:

Campo: Saldo Inicial é um campo que já existe
Preciso retornar os valores dos campos Valor Bruto, Estorno, Descontos, Total e Saldo Final do Caixa.
Porém quando tento retornar o estorno ele apenas faz a troca de sinais.
Pensei na lógica para realizar os calculos, mas não consigo aplicar na query.

P.S.: Sou novata então estou aprendendo SQL , como realizar as consultas e a utilizar o iReport.

6 respostas