Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

SELECT VEN.

APELIDO
, CAB.AD_NUPED
, CLI.CODPARC AS CODCLI
, CLI.NOMEPARC AS NOMECLI
, PRO.CODPROD
, PRO.REFERENCIA

, SUM(CASE WHEN CAB.CODTIPOPER IN (41) THEN NVL(QTDPEDIDOTOTAL, 0) ELSE 0 END) AS


QTDPEDIDOTOTAL
, SUM(CASE WHEN CAB.CODTIPOPER IN (41) THEN NVL(QTDPEDIDOPENDENTE, 0) ELSE 0 END)
AS QTDPEDIDOPENDENTE
, SUM(CASE WHEN CAB.CODTIPOPER IN (3100, 30, 25) THEN NVL(QTDPEDIDOPENDENTE, 0)
ELSE 0 END) AS QTDSEPARACAOPENDENTE
, SUM(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300, 701, 3301) AND
CAB.STATUSNOTA <> 'L' THEN NVL(ITE.QTDNEG, 0) ELSE 0 END) AS QTDVENDAPENDENTE
, SUM(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300, 701, 3301) AND
CAB.STATUSNOTA = 'L' THEN NVL(ITE.QTDNEG, 0) ELSE 0 END) AS QTDVENDAFATURADO

, VLRUNITFINAL
, MAX(VLRTOTPEDIDO) AS VLRTOTPEDIDO
, VLRUNITFINAL * SUM(CASE WHEN CAB.CODTIPOPER IN (41) THEN NVL(QTDPEDIDOPENDENTE,
0) ELSE 0 END) AS VLRTOTPEDIDOPENDENTE
, MAX(CASE WHEN CAB.CODTIPOPER IN (3100, 30, 25) THEN VLRUNITFINAL ELSE 0 END) *
SUM(CASE WHEN CAB.CODTIPOPER IN (3100, 30, 25) THEN NVL(QTDPEDIDOPENDENTE, 0) ELSE
0 END) AS VLRTOTSEPARACAOPENDENTE
, MAX(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300, 701, 3301) THEN VLRUNITFINAL
ELSE 0 END) * SUM(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300) AND
CAB.STATUSNOTA <> 'L' THEN NVL(ITE.QTDNEG, 0) ELSE 0 END) AS VLRTOTVENDAPENDENTE
, MAX(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300, 701, 3301) THEN VLRUNITFINAL
ELSE 0 END) * SUM(CASE WHEN CAB.CODTIPOPER IN (3200, 31, 26, 3300) AND
CAB.STATUSNOTA = 'L' THEN NVL(ITE.QTDNEG, 0) ELSE 0 END) AS VLRTOTVENDAFATURADO

, MAX(CASE WHEN CAB.CODTIPOPER IN (41) THEN CAB.DTPREVENT END) AS DATAPREVENTREGA


, MAX(CASE WHEN CAB.CODTIPOPER IN (41) THEN CAB.DTNEG END) AS DATAPV
, MAX(CASE WHEN CAB.CODTIPOPER IN (41) THEN CAB.AD_DTFATPROG END) AS AD_DTFATPROG
, MAX(CASE WHEN CAB.CODTIPOPER IN (41) THEN CAB.AD_COMUNINT END) AS AD_COMUNINT
--, (SELECT CAB2.AD_TIPFATURA FROM TGFCAB CAB2 WHERE CAB2.AD_NUPED = CAB.AD_NUPED
AND CAB2.CODTIPOPER = 41 AND ROWNUM = 1) AS AD_TIPFATURA
, MAX(CASE WHEN CAB.CODTIPOPER IN (41) THEN CAB.AD_TIPFATURA END) AS AD_TIPFATURA
FROM TGFCAB CAB
JOIN TGFITE ITE ON (ITE.NUNOTA = CAB.NUNOTA)
JOIN TGFVEN VEN ON (VEN.CODVEND = CAB.CODVEND)
JOIN TSIUSU USU ON (USU.CODVEND = CAB.CODVEND)
JOIN TGFPAR CLI ON (CLI.CODPARC = CAB.CODPARC)
JOIN TGFPRO PRO ON (PRO.CODPROD = ITE.CODPROD)

CROSS APPLY (
SELECT (ITE2.VLRUNIT - (ITE2.VLRDESC / ITE2.QTDNEG)) AS VLRUNITFINAL
, (ITE2.VLRTOT - ITE2.VLRDESC) AS VLRTOTPEDIDO
, ITE2.QTDNEG AS QTDPEDIDOTOTAL
, (ITE2.QTDNEG - NVL(ITE2.QTDENTREGUE, 0)) AS QTDPEDIDOPENDENTE
FROM TGFITE ITE2
WHERE ITE2.NUNOTA = ITE.NUNOTA AND ITE2.SEQUENCIA = ITE.SEQUENCIA
) X

WHERE CAB.CODTIPOPER IN (41, 3100, 30, 25, 3200, 31, 26, 3300, 701, 3301)

AND (
USU.CODUSU = STP_GET_CODUSULOGADO()
OR
VEN.CODVEND IN (
SELECT GER.CODVEND
FROM TGFVEN GER
JOIN TSIUSU USU2 ON (USU2.CODVEND = GER.CODGER)
WHERE USU2.CODUSU = STP_GET_CODUSULOGADO()
)
)
AND (SELECT COUNT(0) AS QTD
FROM TGFCAB CAB2
JOIN TGFITE ITE2 ON (ITE2.NUNOTA = CAB2.NUNOTA AND (ITE2.PENDENTE = 'S' OR
CAB2.STATUSNOTA <> 'L'))
WHERE CAB2.AD_NUPED = CAB.AD_NUPED) > 0
GROUP BY VEN.APELIDO
, CAB.AD_NUPED
, CLI.CODPARC
, CLI.NOMEPARC
, PRO.CODPROD
, PRO.REFERENCIA
, VLRUNITFINAL
, CAB.AD_DTFATPROG
ORDER BY VEN.APELIDO
, CLI.NOMEPARC
, CAB.AD_NUPED
, PRO.REFERENCIA

You might also like