diff --git a/SEVEN.JUV_ESTOQUE_CUSTOFIN_FILIAL.sql b/SEVEN.JUV_ESTOQUE_CUSTOFIN_FILIAL.sql new file mode 100644 index 0000000..20fa02e --- /dev/null +++ b/SEVEN.JUV_ESTOQUE_CUSTOFIN_FILIAL.sql @@ -0,0 +1,51 @@ +-- SEVEN.JUV_ESTOQUE_CUSTOFIN_FILIAL fonte + +CREATE OR REPLACE FORCE EDITIONABLE VIEW "SEVEN"."JUV_ESTOQUE_CUSTOFIN_FILIAL" ("FILIAL", "REGIAO", "CODPROD", "VL_ESTOQUE_VENDA", "VL_ESTOQUE_GERAL", "VL_CUSTOFIN_TOTAL", "VL_CUSTOFIN_DISP", "VL_CUSTOFIN_BLOQUEADO", "VL_CUSTOFIN_AVARIA", "VL_CUSTOFIN_EXPOSICAO", "QT_DISP", "QT_ESTGER", "QT_RESERV", "QT_INDENIZ") AS + SELECT + EST.CODFILIAL AS FILIAL, + CONF.NUMREGIAO_PADRAO AS REGIAO, + EST.CODPROD, + ROUND(SUM( (NVL(EST.QTESTGER,0) - NVL(EST.QTRESERV,0) - NVL(EST.QTINDENIZ,0)) * NVL(TAB.PVENDA,0) ),2) AS VL_ESTOQUE_VENDA, + ROUND(SUM( NVL(EST.QTESTGER,0) * (NVL(TAB.PVENDA,0) )),2) AS VL_ESTOQUE_GERAL, + ROUND(SUM( NVL(EST.QTESTGER,0) * NVL(EST.CUSTOFIN,0) ),2) AS VL_CUSTOFIN_TOTAL, + ROUND(SUM( (NVL(EST.QTESTGER,0) - NVL(EST.QTRESERV,0) - NVL(EST.QTINDENIZ,0)) * NVL(EST.CUSTOFIN,0) ),2) AS VL_CUSTOFIN_DISP, + ROUND(SUM( NVL(EST.QTBLOQUEADA,0) * NVL(EST.CUSTOFIN,0) ),2) AS VL_CUSTOFIN_BLOQUEADO, + ROUND(SUM( NVL(EST.QTINDENIZ,0) * NVL(EST.CUSTOFIN,0) ),2) AS VL_CUSTOFIN_AVARIA, + ROUND(SUM( NVL(EST.QTEXPOSICAO,0) * NVL(EST.CUSTOFIN,0) ),2) AS VL_CUSTOFIN_EXPOSICAO, + ROUND(SUM( NVL(EST.QTESTGER,0) - NVL(EST.QTRESERV,0) - NVL(EST.QTINDENIZ,0) ),2) AS QT_DISP, + ROUND(SUM( NVL(EST.QTESTGER,0) ),2) AS QT_ESTGER, + ROUND(SUM( NVL(EST.QTRESERV,0) ),2) AS QT_RESERV, + ROUND(SUM( NVL(EST.QTINDENIZ,0) ),2) AS QT_INDENIZ +FROM PCEST EST +JOIN ( + SELECT CODFILIAL, TO_NUMBER(VALOR) AS NUMREGIAO_PADRAO + FROM PCPARAMFILIAL + WHERE NOME = 'FIL_NUMREGIAOPADRAO' +) CONF ON CONF.CODFILIAL = EST.CODFILIAL +JOIN PCPRODUT PROD + ON PROD.CODPROD = EST.CODPROD + AND PROD.DTEXCLUSAO IS NULL +LEFT JOIN PCTABPR TAB + ON TAB.CODPROD = EST.CODPROD + AND TAB.NUMREGIAO = CONF.NUMREGIAO_PADRAO +WHERE EST.CODFILIAL IN (1,2,3,4,5,6,7,8,9,10,11,12,13,49,69) + AND EXISTS ( + SELECT 1 + FROM PCTABPR T2 + JOIN PCREGIAO REG ON REG.NUMREGIAO = T2.NUMREGIAO + JOIN PCTABTRIB TRIB ON TRIB.CODPROD = T2.CODPROD + JOIN PCTRIBUT TR ON TR.CODST = TRIB.CODST + WHERE T2.CODPROD = EST.CODPROD + AND T2.NUMREGIAO = CONF.NUMREGIAO_PADRAO + AND (REG.STATUS IS NULL OR REG.STATUS <> 'I') + AND (REG.CODFILIAL = EST.CODFILIAL OR NVL(REG.CODFILIAL,'99') = '99') + AND TRIB.CODFILIALNF = DECODE(NVL(REG.CODFILIAL,'99'), '99', EST.CODFILIAL, REG.CODFILIAL) + AND TRIB.UFDESTINO = REG.UF + ) +GROUP BY + EST.CODFILIAL, + CONF.NUMREGIAO_PADRAO, + EST.CODPROD; + +GRANT SELECT ON "SEVEN"."JUV_ESTOQUE_CUSTOFIN_FILIAL" TO "BIJURU"; + GRANT SELECT ON "SEVEN"."JUV_ESTOQUE_CUSTOFIN_FILIAL" TO "CONSULTA"; \ No newline at end of file diff --git a/VB_VENDA.sql b/VB_VENDA.sql new file mode 100644 index 0000000..22ce9e2 --- /dev/null +++ b/VB_VENDA.sql @@ -0,0 +1,188 @@ +-- 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"; \ No newline at end of file