Script/VB_VENDA.sql

188 lines
7.0 KiB
SQL

-- SEVEN.VB_VENDA fonte
CREATE OR REPLACE FORCE EDITIONABLE VIEW "SEVEN"."VB_VENDA" ("TIPOFAT", "NUMTRANSVENDA", "DTVENDA", "NUMNOTA", "NUMPED", "CODFILIAL", "CODRCA", "CODCLI", "CODPROD", "NUMREGIAO", "CAIXA", "VENDAASSISTIDA", "VLDESCONTO", "VLVENDA", "VLVENDA_TABELA", "QT_VENDIDA_UND", "QT_VENDIDA_CX", "PESO", "VLCMV", "CODSUPERVISOR", "CODPLPAG", "NUMPARCELAS", "DTREC", "CODPARCEIRO", "CODCOB", "CODDEVOL", "CLASSEVENDA", "CLASSEESTOQUE", "CLASSEFREQUENCIA", "CLASSEFATURAMENTO", "CLASSERENTABILIDADE", "HORA") AS
SELECT 'venda' tipofat,
f.numtransvenda,
f.dtsaida dtvenda,
f.numnota,
f.numped,
f.codfilial,
f.codusur codrca,
f.codcli,
f.codprod,
f.numregiao,
f.caixa,
f.vendaassistida,
TO_NUMBER(SUM(NVL(f.vldesconto, 0))) vldesconto,
TO_NUMBER(SUM(NVL(f.vlvenda, 0))) vlvenda,
TO_NUMBER(SUM(NVL(f.vltabela, 0))) vlvenda_tabela,
TO_NUMBER(SUM(NVL(f.qt, 0))) qt_vendida_und,
TO_NUMBER(SUM(NVL(f.qt / x.qtunitcx, 0))) qt_vendida_cx,
TO_NUMBER(SUM(NVL(f.pesobruto, 0))) peso,
TO_NUMBER(SUM(NVL(f.vlcustofinb, 0))) vlcmv,
F.CODSUPERVISOR,
F.CODPLPAG,
Z.NUMPARCELAS,
TRUNC(F.DTSAIDA + Z.NUMPARCELAS * 30) DTREC,
A.CODPARCEIRO,
F.CODCOB,
0 coddevol,
ABCVENDA.CLASSEVENDA,
ABCESTOQUE.CLASSEESTOQUE,
SYSTOCK.CLASSEFREQUENCIA,
SYSTOCK.CLASSEFATURAMENTO,
SYSTOCK.CLASSERENTABILIDADE,
(SELECT NVL(PCPEDC.HORAFAT, PCPEDC.HORA) HORA FROM PCPEDC WHERE PCPEDC.NUMTRANSVENDA = F.NUMTRANSVENDA AND ROWNUM =1) HORA
FROM VIEW_VENDAS_RESUMO_FATURAMENTO f
LEFT JOIN (SELECT codprod, qtunitcx FROM pcprodut) x
on f.codprod = x.codprod
LEFT JOIN PCNFSAID S
ON S.NUMTRANSVENDA = f.NUMTRANSVENDA
LEFT JOIN PCPLPAG Z
ON Z.CODPLPAG = F.CODPLPAG
LEFT JOIN (SELECT DISTINCT tipo, numped, codparceiro
FROM ESVCOMISSAOPARCEIRO) A
ON A.NUMPED = F.NUMPED
AND A.TIPO = 'VENDA'
LEFT JOIN (SELECT ESTABCPRODUTO.CODPROD, ESTABCPRODUTO.CLASSEVENDA
FROM ESTABCPRODUTO
WHERE ESTABCPRODUTO.CODFILIAL = '99'
AND ESTABCPRODUTO.tipo = 'V' ) ABCVENDA
ON ABCVENDA.CODPROD = F.CODPROD
LEFT JOIN ESTSYSTOCKPRODUTO SYSTOCK
ON SYSTOCK.CODPROD = F.CODPROD AND SYSTOCK.CODFILIAL = F.CODFILIAL
LEFT JOIN (SELECT ESTABCPRODUTO.CODPROD, ESTABCPRODUTO.CLASSEESTOQUE
FROM ESTABCPRODUTO
WHERE ESTABCPRODUTO.CODFILIAL = '99'
AND ESTABCPRODUTO.tipo = 'R' ) ABCESTOQUE
ON ABCESTOQUE.CODPROD = F.CODPROD
WHERE f.DTSAIDA >= '01/01/2023'
AND f.CODFISCAL IN (512, 612)
AND f.CONDVENDA in (1,7,5)
GROUP BY f.numtransvenda,
f.dtsaida,
f.numnota,
f.numped,
f.codfilial,
f.codusur,
f.codcli,
f.codprod,
f.numregiao,
f.caixa,
f.vendaassistida,
F.CODSUPERVISOR,
F.CODPLPAG,
Z.NUMPARCELAS,
A.CODPARCEIRO,
F.CODCOB,
ABCVENDA.CLASSEVENDA,
ABCESTOQUE.CLASSEESTOQUE,
SYSTOCK.CLASSEFREQUENCIA,
SYSTOCK.CLASSEFATURAMENTO,
SYSTOCK.CLASSERENTABILIDADE
UNION
SELECT 'devol' tipofat,
f.numtransvenda,
f.dtent dtvenda,
f.numnota,
f.numped,
f.codfilial,
f.codusur codrca,
f.codcli,
f.codprod,
f.numregiao,
f.caixa,
f.vendaassistida,
0 vldesconto,
TO_NUMBER(SUM(NVL(f.vldevolucao, 0))) * -1 vlvenda,
0 vlvenda_tabela,
TO_NUMBER(SUM(NVL(f.qt, 0))) * -1 qt_vendida_und,
TO_NUMBER(SUM(NVL(f.qt / x.qtunitcx, 0))) * -1 qt_vendida_cx,
TO_NUMBER(SUM(NVL(f.qt * x.pesobruto, 0))) * -1 peso,
TO_NUMBER(SUM(NVL(f.vlcmvdevol, 0))) * -1 vlcmv,
s.CODSUPERVISOR,
F.CODPLPAG,
Z.NUMPARCELAS,
TRUNC(F.DTENT + Z.NUMPARCELAS * 30) DTREC,
A.CODPARCEIRO,
F.CODCOB,
f.coddevol,
ABCVENDA.CLASSEVENDA,
ABCESTOQUE.CLASSEESTOQUE,
SYSTOCK.CLASSEFREQUENCIA,
SYSTOCK.CLASSEFATURAMENTO,
SYSTOCK.CLASSERENTABILIDADE,
(SELECT NVL(PCPEDC.HORAFAT, PCPEDC.HORA) HORA FROM PCPEDC WHERE PCPEDC.NUMTRANSVENDA = F.NUMTRANSVENDA AND ROWNUM =1) HORA
FROM VIEW_DEVOL_RESUMO_FATURAMENTO f
LEFT JOIN (SELECT codprod, qtunitcx, pesobruto FROM pcprodut) x
on f.codprod = x.codprod
LEFT JOIN PCNFSAID S
ON S.NUMTRANSVENDA = f.NUMTRANSVENDA
LEFT JOIN PCPLPAG Z
ON Z.CODPLPAG = F.CODPLPAG
LEFT JOIN (SELECT DISTINCT tipo, numped, codparceiro
FROM ESVCOMISSAOPARCEIRO) A
ON A.NUMPED = F.NUMPED
AND A.TIPO = 'DEVOLUÇÃO'
LEFT JOIN (SELECT ESTABCPRODUTO.CODPROD, ESTABCPRODUTO.CLASSEVENDA
FROM ESTABCPRODUTO
WHERE ESTABCPRODUTO.CODFILIAL = '99'
AND ESTABCPRODUTO.tipo = 'V' ) ABCVENDA ON ABCVENDA.CODPROD = F.CODPROD
LEFT JOIN ESTSYSTOCKPRODUTO SYSTOCK
ON SYSTOCK.CODPROD = F.CODPROD AND SYSTOCK.CODFILIAL = F.CODFILIAL
LEFT JOIN (SELECT ESTABCPRODUTO.CODPROD, ESTABCPRODUTO.CLASSEESTOQUE
FROM ESTABCPRODUTO
WHERE ESTABCPRODUTO.CODFILIAL = '99'
AND ESTABCPRODUTO.tipo = 'R' ) ABCESTOQUE
ON ABCESTOQUE.CODPROD = F.CODPROD
WHERE f.DTENT >= '01/01/2023'
GROUP BY f.numtransvenda,
f.dtent,
f.numnota,
f.numped,
f.codfilial,
f.codusur,
f.codcli,
f.codprod,
f.numregiao,
f.caixa,
f.vendaassistida,
s.CODSUPERVISOR,
F.CODPLPAG,
Z.NUMPARCELAS,
A.CODPARCEIRO,
F.CODCOB,
f.coddevol,
ABCVENDA.CLASSEVENDA,
ABCESTOQUE.CLASSEESTOQUE,
SYSTOCK.CLASSEFREQUENCIA,
SYSTOCK.CLASSEFATURAMENTO,
SYSTOCK.CLASSERENTABILIDADE
;
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "SEVENCONSULTA";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "SYSTOCK";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "SARRAF";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "CONSULTA";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "READ_GROUP";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "CONSULTA2COM";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "POSITIVA";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "BEATRIZ";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "LUIZ";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "KACIO";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "API";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "DOUGLAS";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "FELIPE";
GRANT DELETE ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT INSERT ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT SELECT ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT UPDATE ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT READ ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT ON COMMIT REFRESH ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT QUERY REWRITE ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT DEBUG ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT FLASHBACK ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";
GRANT MERGE VIEW ON "SEVEN"."VB_VENDA" TO "ADMIN_GROUP";