teste
This commit is contained in:
parent
3ec3b7896d
commit
2bf5460c17
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,162 @@
|
||||||
|
SELECT
|
||||||
|
VENDAS.CODFILIAL CODIGO_FILIAL
|
||||||
|
,PCCLIENT.CLIENTE NOME_CLIENTE
|
||||||
|
,PCCLIENT.EMAIL EMAIL_CLIENTE
|
||||||
|
,REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '') CPF
|
||||||
|
,PCCLIENT.CODCLI CODIGO_CLIENTE
|
||||||
|
,PCCLIENT.TIPOFJ TIPO_PESSOA
|
||||||
|
,PCCLIENT.SEXO
|
||||||
|
,PCCLIENT.DTNASC DATA_NASCIMENTO
|
||||||
|
,PCCIDADE.NOMECIDADE
|
||||||
|
,PCCLIENT.TELENT TELEFONE
|
||||||
|
,PCCLIENT.ENDERENT ENDERECO
|
||||||
|
,PCCLIENT.NUMEROENT NUMERO
|
||||||
|
,PCCLIENT.BAIRROENT BAIRRO
|
||||||
|
,PCCLIENT.ESTENT ESTADO
|
||||||
|
,PCCLIENT.DTCADASTRO DATA_CADASTO
|
||||||
|
,PCCLIENT.DTPRIMCOMPRA DATA_PRIMEIRA_COMPRA
|
||||||
|
,PCCLIENT.DTULTCOMP DATA_ULTIMA_COMPRA
|
||||||
|
,PCPEDC.DATA DATA_COMPRA
|
||||||
|
,PCPEDC.NUMPED NUMERO_PEDIDO
|
||||||
|
,PCSUPERV.NOME NOME_LOJA
|
||||||
|
,PCPEDC.CODSUPERVISOR CODIGO_SUPERVISOR
|
||||||
|
,PCUSUARI.NOME NOME_VENDEDOR
|
||||||
|
,PCPEDC.CODUSUR CODIGO_VENDEDOR
|
||||||
|
,PCCOB.COBRANCA METODO_PAGAMENTO
|
||||||
|
,PCPLPAG.DESCRICAO PLANO_DE_PAGAMENTO
|
||||||
|
,( SELECT SUM(P.QT*P.PVENDA)
|
||||||
|
FROM PCPEDI P
|
||||||
|
WHERE P.NUMPED = PCPEDC.NUMPED ) TOTAL_COMPRA
|
||||||
|
,( SELECT COUNT(1)
|
||||||
|
FROM PCPEDI P
|
||||||
|
WHERE P.NUMPED
|
||||||
|
= PCPEDC.NUMPED ) QTD_TOTAL_PRODUTO
|
||||||
|
,GREATEST(
|
||||||
|
(PCPEDC.VLTABELA -
|
||||||
|
( SELECT SUM(P.QT*P.PVENDA)
|
||||||
|
FROM PCPEDI P
|
||||||
|
WHERE P.NUMPED = PCPEDC.NUMPED ) ),0) TOTAL_DESCONTO
|
||||||
|
,( SELECT SUM(P.QT*P.PVENDA)
|
||||||
|
FROM PCPEDI P
|
||||||
|
WHERE P.NUMPED = PCPEDC.NUMPED
|
||||||
|
AND P.CODPROD = 48500 ) TOTAL_FRETE
|
||||||
|
,VENDAS.CODPROD ID_PRODUTO
|
||||||
|
,PCPRODUT.DESCRICAO NOME_PRODUTO
|
||||||
|
,VENDAS.QT QTDE_PRODUTO
|
||||||
|
,( VENDAS.VLVENDA / DECODE(VENDAS.QT,0,1,VENDAS.QT) ) PRECO_PRODUTO
|
||||||
|
,'VENDA' TIPO_FATURAMENTO
|
||||||
|
,VENDAS.VLVENDA SUB_TOTAL
|
||||||
|
,PCCATEGORIA.CATEGORIA CATEGORIA_PRODUTO
|
||||||
|
,PCSECAO.DESCRICAO SECAO_PRODUTO
|
||||||
|
,PCDEPTO.DESCRICAO DEPARTAMENTO_PRODUTO
|
||||||
|
,ESTPARCEIRO.nome NOME_PARCEIRO
|
||||||
|
,ESTPARCEIRO.ID CODIGO_PARCEIRO
|
||||||
|
,ESTPARCEIRO.TELEFONE TELEFONE_PARCEIRO
|
||||||
|
FROM view_vendas_resumo_faturamento VENDAS, PCPRODUT, PCCLIENT, PCUSUARI, PCSUPERV, PCCOB, PCPLPAG,
|
||||||
|
ESTPARCEIRO, PCDEPTO, PCSECAO, PCCATEGORIA, PCCIDADE, PCPEDC
|
||||||
|
WHERE VENDAS.CODPROD = PCPRODUT.CODPROD
|
||||||
|
AND VENDAS.CODCLI = PCCLIENT.CODCLI
|
||||||
|
AND VENDAS.NUMPED = PCPEDC.NUMPED
|
||||||
|
AND PCCLIENT.CODCIDADE = PCCIDADE.CODCIDADE (+)
|
||||||
|
AND VENDAS.CODUSUR = PCUSUARI.CODUSUR
|
||||||
|
AND PCPEDC.CODSUPERVISOR = PCSUPERV.CODSUPERVISOR
|
||||||
|
AND VENDAS.CODCOB = PCCOB.CODCOB
|
||||||
|
AND VENDAS.CODPLPAG = PCPLPAG.CODPLPAG
|
||||||
|
AND PCPEDC.CODUSUR3 = ESTPARCEIRO.ID (+)
|
||||||
|
AND PCPRODUT.CODEPTO = PCDEPTO.CODEPTO
|
||||||
|
AND PCPRODUT.CODSEC = PCSECAO.CODSEC
|
||||||
|
AND PCPRODUT.CODSEC = PCCATEGORIA.CODSEC (+)
|
||||||
|
AND PCPRODUT.CODCATEGORIA = PCCATEGORIA.CODCATEGORIA (+)
|
||||||
|
AND VENDAS.CONDVENDA IN (1, 7)
|
||||||
|
AND VENDAS.CODCLI NOT IN (1)
|
||||||
|
AND VENDAS.DTSAIDA >= TRUNC(SYSDATE) - (365*4)
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
DEVOLUCAO.CODFILIAL CODIGO_FILIAL
|
||||||
|
,PCCLIENT.CLIENTE NOME_CLIENTE
|
||||||
|
,PCCLIENT.EMAIL EMAIL_CLIENTE
|
||||||
|
,REGEXP_REPLACE(PCCLIENT.CGCENT, '[^0-9]', '') CPF
|
||||||
|
,PCCLIENT.CODCLI CODIGO_CLIENTE
|
||||||
|
,PCCLIENT.TIPOFJ TIPO_PESSOA
|
||||||
|
,PCCLIENT.SEXO
|
||||||
|
,PCCLIENT.DTNASC DATA_NASCIMENTO
|
||||||
|
,PCCIDADE.NOMECIDADE
|
||||||
|
,PCCLIENT.TELENT TELEFONE
|
||||||
|
,PCCLIENT.ENDERENT ENDERECO
|
||||||
|
,PCCLIENT.NUMEROENT NUMERO
|
||||||
|
,PCCLIENT.BAIRROENT BAIRRO
|
||||||
|
,PCCLIENT.ESTENT ESTADO
|
||||||
|
,PCCLIENT.DTCADASTRO DATA_CADASTO
|
||||||
|
,PCCLIENT.DTPRIMCOMPRA DATA_PRIMEIRA_COMPRA
|
||||||
|
,PCCLIENT.DTULTCOMP DATA_ULTIMA_COMPRA
|
||||||
|
,DEVOLUCAO.DTENT DATA_COMPRA
|
||||||
|
,DEVOLUCAO.NUMPED NUMERO_PEDIDO
|
||||||
|
,PCSUPERV.NOME NOME_LOJA
|
||||||
|
,PCPEDC.CODSUPERVISOR CODIGO_SUPERVISOR
|
||||||
|
,PCUSUARI.NOME NOME_VENDEDOR
|
||||||
|
,DEVOLUCAO.CODUSUR CODIGO_VENDEDOR
|
||||||
|
,PCCOB.COBRANCA METODO_PAGAMENTO
|
||||||
|
,PCPLPAG.DESCRICAO PLANO_DE_PAGAMENTO
|
||||||
|
,DEVOLUCAO.VLDEVOLUCAO * (-1) TOTAL_COMPRA
|
||||||
|
,( SELECT COUNT(1)
|
||||||
|
FROM PCMOV M
|
||||||
|
WHERE M.NUMTRANSENT
|
||||||
|
= DEVOLUCAO.NUMTRANSENT ) QTD_TOTAL_PRODUTO
|
||||||
|
,( ( SELECT SUM(M.QT * M.PTABELA)
|
||||||
|
FROM PCMOV M
|
||||||
|
WHERE M.NUMTRANSENT = DEVOLUCAO.NUMTRANSENT ) - DEVOLUCAO.VLDEVOLUCAO ) * (-1) TOTAL_DESCONTO
|
||||||
|
,0 TOTAL_FRETE
|
||||||
|
,DEVOLUCAO.CODPROD ID_PRODUTO
|
||||||
|
,PCPRODUT.DESCRICAO NOME_PRODUTO
|
||||||
|
,DEVOLUCAO.QT * (-1) QTDE_PRODUTO
|
||||||
|
,( DEVOLUCAO.VLDEVOLUCAO / DECODE(DEVOLUCAO.QT,0,1,DEVOLUCAO.QT) ) * (-1) PRECO_PRODUTO
|
||||||
|
,'DEVOLUCAO' TIPO_FATURAMENTO
|
||||||
|
,DEVOLUCAO.VLDEVOLUCAO * (-1) SUB_TOTAL
|
||||||
|
,PCCATEGORIA.CATEGORIA CATEGORIA_PRODUTO
|
||||||
|
,PCSECAO.DESCRICAO SECAO_PRODUTO
|
||||||
|
,PCDEPTO.DESCRICAO DEPARTAMENTO_PRODUTO
|
||||||
|
,ESTPARCEIRO.nome NOME_PARCEIRO
|
||||||
|
,ESTPARCEIRO.ID CODIGO_PARCEIRO
|
||||||
|
,ESTPARCEIRO.TELEFONE TELEFONE_PARCEIRO
|
||||||
|
FROM view_devol_resumo_faturamento DEVOLUCAO, PCPEDC, PCPRODUT, PCCLIENT, PCUSUARI, PCSUPERV, PCCOB, PCPLPAG,
|
||||||
|
PCDEPTO, PCSECAO, PCCATEGORIA, PCCIDADE, ESTPARCEIRO
|
||||||
|
WHERE DEVOLUCAO.NUMPED = PCPEDC.NUMPED
|
||||||
|
AND PCPEDC.CODUSUR3 = ESTPARCEIRO.ID (+)
|
||||||
|
AND DEVOLUCAO.CODPROD = PCPRODUT.CODPROD
|
||||||
|
AND DEVOLUCAO.CODCLI = PCCLIENT.CODCLI
|
||||||
|
AND PCCLIENT.CODCIDADE = PCCIDADE.CODCIDADE (+)
|
||||||
|
AND DEVOLUCAO.CODUSUR = PCUSUARI.CODUSUR
|
||||||
|
AND PCPEDC.CODSUPERVISOR = PCSUPERV.CODSUPERVISOR
|
||||||
|
AND DEVOLUCAO.CODCOB = PCCOB.CODCOB
|
||||||
|
AND DEVOLUCAO.CODPLPAG = PCPLPAG.CODPLPAG
|
||||||
|
AND PCPRODUT.CODEPTO = PCDEPTO.CODEPTO
|
||||||
|
AND PCPRODUT.CODSEC = PCSECAO.CODSEC
|
||||||
|
AND PCPRODUT.CODSEC = PCCATEGORIA.CODSEC (+)
|
||||||
|
AND PCPRODUT.CODCATEGORIA = PCCATEGORIA.CODCATEGORIA (+)
|
||||||
|
AND DEVOLUCAO.CONDVENDA IN (1, 7, 8)
|
||||||
|
AND DEVOLUCAO.CODCLI NOT IN (1)
|
||||||
|
AND DEVOLUCAO.DTENT >= TRUNC(SYSDATE) - (365*4)
|
||||||
|
|
||||||
|
|
||||||
|
-- batendo valores
|
||||||
|
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
'QUERY CONFERÊNCIA' AS ORIGEM,
|
||||||
|
(SELECT SUM(VLVENDA) FROM VIEW_VENDAS_RESUMO_FATURAMENTO
|
||||||
|
WHERE CONDVENDA IN (1,7) AND CODCLI NOT IN (1) AND EXTRACT(YEAR FROM DTSAIDA) = 2025) AS VENDA_BRUTA,
|
||||||
|
(SELECT SUM(VLDEVOLUCAO) FROM VIEW_DEVOL_RESUMO_FATURAMENTO
|
||||||
|
WHERE DTCANCEL IS NULL AND EXTRACT(YEAR FROM DTENT) = 2025) AS DEVOLUCAO
|
||||||
|
FROM DUAL
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
'VIEW DITO (SOMA DIRETA)' AS ORIGEM,
|
||||||
|
SUM(CASE WHEN TIPO_FATURAMENTO = 'VENDA' THEN SUB_TOTAL ELSE 0 END) AS VENDA_BRUTA,
|
||||||
|
SUM(CASE WHEN TIPO_FATURAMENTO = 'DEVOLUCAO' THEN ABS(SUB_TOTAL) ELSE 0 END) AS DEVOLUCAO
|
||||||
|
FROM SEVEN.ESV_DITO_BASE_COMPRA
|
||||||
|
WHERE EXTRACT(YEAR FROM DATA_COMPRA) = 2025
|
||||||
|
|
||||||
|
|
@ -0,0 +1,293 @@
|
||||||
|
-- DITO - reformulado
|
||||||
|
|
||||||
|
WITH TOTAIS_PEDIDO AS (
|
||||||
|
/* Agrega os totais por pedido */
|
||||||
|
SELECT
|
||||||
|
NUMPED,
|
||||||
|
SUM(QT * PVENDA) AS TOTAL_BRUTO,
|
||||||
|
COUNT(DISTINCT CODPROD) AS QTD_SKUS,
|
||||||
|
SUM(CASE WHEN CODPROD = 48500 THEN (QT * PVENDA) ELSE 0 END) AS TOTAL_FRETE_PED
|
||||||
|
FROM PCPEDI
|
||||||
|
GROUP BY NUMPED
|
||||||
|
)
|
||||||
|
/* --- BLOCO DE VENDAS --- */
|
||||||
|
SELECT
|
||||||
|
V.CODFILIAL AS CODIGO_FILIAL,
|
||||||
|
C.CLIENTE AS NOME_CLIENTE,
|
||||||
|
C.EMAIL AS EMAIL_CLIENTE,
|
||||||
|
REGEXP_REPLACE(C.CGCENT, '[^0-9]', '') AS CPF,
|
||||||
|
C.CODCLI AS CODIGO_CLIENTE,
|
||||||
|
C.TIPOFJ AS TIPO_PESSOA,
|
||||||
|
C.SEXO,
|
||||||
|
C.DTNASC AS DATA_NASCIMENTO,
|
||||||
|
CID.NOMECIDADE,
|
||||||
|
C.TELENT AS TELEFONE,
|
||||||
|
C.ENDERENT AS ENDERECO,
|
||||||
|
C.NUMEROENT AS NUMERO,
|
||||||
|
C.BAIRROENT AS BAIRRO,
|
||||||
|
C.ESTENT AS ESTADO,
|
||||||
|
C.DTCADASTRO AS DATA_CADASTO,
|
||||||
|
C.DTPRIMCOMPRA AS DATA_PRIMEIRA_COMPRA,
|
||||||
|
C.DTULTCOMP AS DATA_ULTIMA_COMPRA,
|
||||||
|
V.DTSAIDA AS DATA_COMPRA,
|
||||||
|
V.NUMPED AS NUMERO_PEDIDO,
|
||||||
|
S.NOME AS NOME_LOJA,
|
||||||
|
P.CODSUPERVISOR AS CODIGO_SUPERVISOR,
|
||||||
|
U.NOME AS NOME_VENDEDOR,
|
||||||
|
V.CODUSUR AS CODIGO_VENDEDOR,
|
||||||
|
COB.COBRANCA AS METODO_PAGAMENTO,
|
||||||
|
PL.DESCRICAO AS PLANO_DE_PAGAMENTO,
|
||||||
|
TP.TOTAL_BRUTO AS TOTAL_COMPRA,
|
||||||
|
TP.QTD_SKUS AS QTD_TOTAL_PRODUTO,
|
||||||
|
GREATEST(NVL(P.VLTABELA, 0) - NVL(TP.TOTAL_BRUTO, 0), 0) AS TOTAL_DESCONTO,
|
||||||
|
NVL(TP.TOTAL_FRETE_PED, 0) AS TOTAL_FRETE,
|
||||||
|
V.CODPROD AS ID_PRODUTO,
|
||||||
|
PROD.DESCRICAO AS NOME_PRODUTO,
|
||||||
|
V.QT AS QTDE_PRODUTO,
|
||||||
|
(V.VLVENDA / DECODE(V.QT, 0, 1, V.QT)) AS PRECO_PRODUTO,
|
||||||
|
'VENDA' AS TIPO_FATURAMENTO,
|
||||||
|
V.VLVENDA AS SUB_TOTAL,
|
||||||
|
CAT.CATEGORIA AS CATEGORIA_PRODUTO,
|
||||||
|
SEC.DESCRICAO AS SECAO_PRODUTO,
|
||||||
|
DEP.DESCRICAO AS DEPARTAMENTO_PRODUTO,
|
||||||
|
PARC.NOME AS NOME_PARCEIRO,
|
||||||
|
PARC.ID AS CODIGO_PARCEIRO,
|
||||||
|
PARC.TELEFONE AS TELEFONE_PARCEIRO
|
||||||
|
FROM view_vendas_resumo_faturamento V
|
||||||
|
INNER JOIN PCPRODUT PROD ON V.CODPROD = PROD.CODPROD
|
||||||
|
INNER JOIN PCCLIENT C ON V.CODCLI = C.CODCLI
|
||||||
|
INNER JOIN PCPEDC P ON V.NUMPED = P.NUMPED
|
||||||
|
INNER JOIN PCUSUARI U ON V.CODUSUR = U.CODUSUR
|
||||||
|
INNER JOIN PCCOB COB ON V.CODCOB = COB.CODCOB
|
||||||
|
INNER JOIN PCPLPAG PL ON V.CODPLPAG = PL.CODPLPAG
|
||||||
|
INNER JOIN PCDEPTO DEP ON PROD.CODEPTO = DEP.CODEPTO
|
||||||
|
INNER JOIN PCSECAO SEC ON PROD.CODSEC = SEC.CODSEC
|
||||||
|
INNER JOIN PCSUPERV S ON P.CODSUPERVISOR = S.CODSUPERVISOR
|
||||||
|
LEFT JOIN TOTAIS_PEDIDO TP ON V.NUMPED = TP.NUMPED
|
||||||
|
LEFT JOIN PCCIDADE CID ON C.CODCIDADE = CID.CODCIDADE
|
||||||
|
LEFT JOIN ESTPARCEIRO PARC ON P.CODUSUR3 = PARC.ID
|
||||||
|
LEFT JOIN PCCATEGORIA CAT ON (PROD.CODSEC = CAT.CODSEC AND PROD.CODCATEGORIA = CAT.CODCATEGORIA)
|
||||||
|
WHERE V.CONDVENDA IN (1, 7)
|
||||||
|
AND V.CODCLI NOT IN (1)
|
||||||
|
AND V.CODPROD NOT IN (48500) -- REMOVE O PRODUTO FRETE
|
||||||
|
AND V.DTSAIDA >= TRUNC(SYSDATE) - (365*4)
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
/* --- BLOCO DE DEVOLUÇÃO --- */
|
||||||
|
SELECT
|
||||||
|
D.CODFILIAL,
|
||||||
|
C.CLIENTE,
|
||||||
|
C.EMAIL,
|
||||||
|
REGEXP_REPLACE(C.CGCENT, '[^0-9]', ''),
|
||||||
|
C.CODCLI,
|
||||||
|
C.TIPOFJ,
|
||||||
|
C.SEXO,
|
||||||
|
C.DTNASC,
|
||||||
|
CID.NOMECIDADE,
|
||||||
|
C.TELENT,
|
||||||
|
C.ENDERENT,
|
||||||
|
C.NUMEROENT,
|
||||||
|
C.BAIRROENT,
|
||||||
|
C.ESTENT,
|
||||||
|
C.DTCADASTRO,
|
||||||
|
C.DTPRIMCOMPRA,
|
||||||
|
C.DTULTCOMP,
|
||||||
|
D.DTENT,
|
||||||
|
D.NUMPED,
|
||||||
|
S.NOME,
|
||||||
|
P.CODSUPERVISOR,
|
||||||
|
U.NOME,
|
||||||
|
D.CODUSUR,
|
||||||
|
COB.COBRANCA,
|
||||||
|
PL.DESCRICAO,
|
||||||
|
D.VLDEVOLUCAO * -1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
D.CODPROD,
|
||||||
|
PROD.DESCRICAO,
|
||||||
|
D.QT * -1,
|
||||||
|
(D.VLDEVOLUCAO / DECODE(D.QT, 0, 1, D.QT)) * -1,
|
||||||
|
'DEVOLUCAO',
|
||||||
|
D.VLDEVOLUCAO * -1,
|
||||||
|
CAT.CATEGORIA,
|
||||||
|
SEC.DESCRICAO,
|
||||||
|
DEP.DESCRICAO,
|
||||||
|
PARC.NOME,
|
||||||
|
PARC.ID,
|
||||||
|
PARC.TELEFONE
|
||||||
|
FROM view_devol_resumo_faturamento D
|
||||||
|
INNER JOIN PCPEDC P ON D.NUMPED = P.NUMPED
|
||||||
|
INNER JOIN PCPRODUT PROD ON D.CODPROD = PROD.CODPROD
|
||||||
|
INNER JOIN PCCLIENT C ON D.CODCLI = C.CODCLI
|
||||||
|
INNER JOIN PCUSUARI U ON D.CODUSUR = U.CODUSUR
|
||||||
|
INNER JOIN PCCOB COB ON D.CODCOB = COB.CODCOB
|
||||||
|
INNER JOIN PCPLPAG PL ON D.CODPLPAG = PL.CODPLPAG
|
||||||
|
INNER JOIN PCDEPTO DEP ON PROD.CODEPTO = DEP.CODEPTO
|
||||||
|
INNER JOIN PCSECAO SEC ON PROD.CODSEC = SEC.CODSEC
|
||||||
|
INNER JOIN PCSUPERV S ON P.CODSUPERVISOR = S.CODSUPERVISOR
|
||||||
|
LEFT JOIN PCCIDADE CID ON C.CODCIDADE = CID.CODCIDADE
|
||||||
|
LEFT JOIN ESTPARCEIRO PARC ON P.CODUSUR3 = PARC.ID
|
||||||
|
LEFT JOIN PCCATEGORIA CAT ON (PROD.CODSEC = CAT.CODSEC AND PROD.CODCATEGORIA = CAT.CODCATEGORIA)
|
||||||
|
WHERE D.CONDVENDA IN (1, 7, 8)
|
||||||
|
AND D.CODCLI NOT IN (1)
|
||||||
|
AND D.CODPROD NOT IN (48500) -- REMOVE O PRODUTO FRETE
|
||||||
|
AND D.DTCANCEL IS NULL
|
||||||
|
AND D.DTENT >= TRUNC(SYSDATE) - (365*4);
|
||||||
|
|
||||||
|
|
||||||
|
-- batendo valores
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
'QUERY_2' AS ORIGEM,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN TIPO_FATURAMENTO = 'VENDA'
|
||||||
|
THEN SUB_TOTAL
|
||||||
|
ELSE 0
|
||||||
|
END) AS FATURAMENTO_BRUTO,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN TIPO_FATURAMENTO = 'DEVOLUCAO'
|
||||||
|
THEN SUB_TOTAL
|
||||||
|
ELSE 0
|
||||||
|
END) AS DEVOLUCAO,
|
||||||
|
SUM(SUB_TOTAL) AS FATURAMENTO_LIQUIDO
|
||||||
|
FROM (
|
||||||
|
WITH TOTAIS_PEDIDO AS (
|
||||||
|
/* Agrega os totais por pedido */
|
||||||
|
SELECT
|
||||||
|
NUMPED,
|
||||||
|
SUM(QT * PVENDA) AS TOTAL_BRUTO,
|
||||||
|
COUNT(DISTINCT CODPROD) AS QTD_SKUS,
|
||||||
|
SUM(CASE WHEN CODPROD = 48500 THEN (QT * PVENDA) ELSE 0 END) AS TOTAL_FRETE_PED
|
||||||
|
FROM PCPEDI
|
||||||
|
GROUP BY NUMPED
|
||||||
|
)
|
||||||
|
/* --- BLOCO DE VENDAS --- */
|
||||||
|
SELECT
|
||||||
|
V.CODSUPERVMOV AS CODIGO_FILIAL,
|
||||||
|
C.CLIENTE AS NOME_CLIENTE,
|
||||||
|
C.EMAIL AS EMAIL_CLIENTE,
|
||||||
|
REGEXP_REPLACE(C.CGCENT, '[^0-9]', '') AS CPF,
|
||||||
|
C.CODCLI AS CODIGO_CLIENTE,
|
||||||
|
C.TIPOFJ AS TIPO_PESSOA,
|
||||||
|
C.SEXO,
|
||||||
|
C.DTNASC AS DATA_NASCIMENTO,
|
||||||
|
CID.NOMECIDADE,
|
||||||
|
C.TELENT AS TELEFONE,
|
||||||
|
C.ENDERENT AS ENDERECO,
|
||||||
|
C.NUMEROENT AS NUMERO,
|
||||||
|
C.BAIRROENT AS BAIRRO,
|
||||||
|
C.ESTENT AS ESTADO,
|
||||||
|
C.DTCADASTRO AS DATA_CADASTO,
|
||||||
|
C.DTPRIMCOMPRA AS DATA_PRIMEIRA_COMPRA,
|
||||||
|
C.DTULTCOMP AS DATA_ULTIMA_COMPRA,
|
||||||
|
V.DTSAIDA AS DATA_COMPRA,
|
||||||
|
V.NUMPED AS NUMERO_PEDIDO,
|
||||||
|
S.NOME AS NOME_LOJA,
|
||||||
|
P.CODSUPERVISOR AS CODIGO_SUPERVISOR,
|
||||||
|
U.NOME AS NOME_VENDEDOR,
|
||||||
|
V.CODUSUR AS CODIGO_VENDEDOR,
|
||||||
|
COB.COBRANCA AS METODO_PAGAMENTO,
|
||||||
|
PL.DESCRICAO AS PLANO_DE_PAGAMENTO,
|
||||||
|
TP.TOTAL_BRUTO AS TOTAL_COMPRA,
|
||||||
|
TP.QTD_SKUS AS QTD_TOTAL_PRODUTO,
|
||||||
|
GREATEST(NVL(P.VLTABELA, 0) - NVL(TP.TOTAL_BRUTO, 0), 0) AS TOTAL_DESCONTO,
|
||||||
|
NVL(TP.TOTAL_FRETE_PED, 0) AS TOTAL_FRETE,
|
||||||
|
V.CODPROD AS ID_PRODUTO,
|
||||||
|
PROD.DESCRICAO AS NOME_PRODUTO,
|
||||||
|
V.QT AS QTDE_PRODUTO,
|
||||||
|
(V.VLVENDA / DECODE(V.QT, 0, 1, V.QT)) AS PRECO_PRODUTO,
|
||||||
|
'VENDA' AS TIPO_FATURAMENTO,
|
||||||
|
V.VLVENDA AS SUB_TOTAL,
|
||||||
|
CAT.CATEGORIA AS CATEGORIA_PRODUTO,
|
||||||
|
SEC.DESCRICAO AS SECAO_PRODUTO,
|
||||||
|
DEP.DESCRICAO AS DEPARTAMENTO_PRODUTO,
|
||||||
|
PARC.NOME AS NOME_PARCEIRO,
|
||||||
|
PARC.ID AS CODIGO_PARCEIRO,
|
||||||
|
PARC.TELEFONE AS TELEFONE_PARCEIRO
|
||||||
|
FROM view_vendas_resumo_faturamento V
|
||||||
|
INNER JOIN PCPRODUT PROD ON V.CODPROD = PROD.CODPROD
|
||||||
|
INNER JOIN PCCLIENT C ON V.CODCLI = C.CODCLI
|
||||||
|
INNER JOIN PCPEDC P ON V.NUMPED = P.NUMPED
|
||||||
|
INNER JOIN PCUSUARI U ON V.CODUSUR = U.CODUSUR
|
||||||
|
INNER JOIN PCCOB COB ON V.CODCOB = COB.CODCOB
|
||||||
|
INNER JOIN PCPLPAG PL ON V.CODPLPAG = PL.CODPLPAG
|
||||||
|
INNER JOIN PCDEPTO DEP ON PROD.CODEPTO = DEP.CODEPTO
|
||||||
|
INNER JOIN PCSECAO SEC ON PROD.CODSEC = SEC.CODSEC
|
||||||
|
INNER JOIN PCSUPERV S ON P.CODSUPERVISOR = S.CODSUPERVISOR
|
||||||
|
LEFT JOIN TOTAIS_PEDIDO TP ON V.NUMPED = TP.NUMPED
|
||||||
|
LEFT JOIN PCCIDADE CID ON C.CODCIDADE = CID.CODCIDADE
|
||||||
|
LEFT JOIN ESTPARCEIRO PARC ON P.CODUSUR3 = PARC.ID
|
||||||
|
LEFT JOIN PCCATEGORIA CAT ON (PROD.CODSEC = CAT.CODSEC AND PROD.CODCATEGORIA = CAT.CODCATEGORIA)
|
||||||
|
WHERE V.CONDVENDA IN (1, 7)
|
||||||
|
--AND V.CODCLI NOT IN (1)
|
||||||
|
--AND V.CODPROD NOT IN (48500) -- REMOVE O PRODUTO FRETE
|
||||||
|
AND V.DTSAIDA >= TRUNC(SYSDATE) - (365*4)
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
/* --- BLOCO DE DEVOLUÇÃO --- */
|
||||||
|
SELECT
|
||||||
|
D.CODSUPERVMOV,
|
||||||
|
C.CLIENTE,
|
||||||
|
C.EMAIL,
|
||||||
|
REGEXP_REPLACE(C.CGCENT, '[^0-9]', ''),
|
||||||
|
C.CODCLI,
|
||||||
|
C.TIPOFJ,
|
||||||
|
C.SEXO,
|
||||||
|
C.DTNASC,
|
||||||
|
CID.NOMECIDADE,
|
||||||
|
C.TELENT,
|
||||||
|
C.ENDERENT,
|
||||||
|
C.NUMEROENT,
|
||||||
|
C.BAIRROENT,
|
||||||
|
C.ESTENT,
|
||||||
|
C.DTCADASTRO,
|
||||||
|
C.DTPRIMCOMPRA,
|
||||||
|
C.DTULTCOMP,
|
||||||
|
D.DTENT,
|
||||||
|
D.NUMPED,
|
||||||
|
S.NOME,
|
||||||
|
P.CODSUPERVISOR,
|
||||||
|
U.NOME,
|
||||||
|
D.CODUSUR,
|
||||||
|
COB.COBRANCA,
|
||||||
|
PL.DESCRICAO,
|
||||||
|
D.VLDEVOLUCAO * -1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
D.CODPROD,
|
||||||
|
PROD.DESCRICAO,
|
||||||
|
D.QT * -1,
|
||||||
|
(D.VLDEVOLUCAO / DECODE(D.QT, 0, 1, D.QT)) * -1,
|
||||||
|
'DEVOLUCAO',
|
||||||
|
D.VLDEVOLUCAO * -1,
|
||||||
|
CAT.CATEGORIA,
|
||||||
|
SEC.DESCRICAO,
|
||||||
|
DEP.DESCRICAO,
|
||||||
|
PARC.NOME,
|
||||||
|
PARC.ID,
|
||||||
|
PARC.TELEFONE
|
||||||
|
FROM view_devol_resumo_faturamento D
|
||||||
|
INNER JOIN PCPEDC P ON D.NUMPED = P.NUMPED
|
||||||
|
INNER JOIN PCPRODUT PROD ON D.CODPROD = PROD.CODPROD
|
||||||
|
INNER JOIN PCCLIENT C ON D.CODCLI = C.CODCLI
|
||||||
|
INNER JOIN PCUSUARI U ON D.CODUSUR = U.CODUSUR
|
||||||
|
INNER JOIN PCCOB COB ON D.CODCOB = COB.CODCOB
|
||||||
|
INNER JOIN PCPLPAG PL ON D.CODPLPAG = PL.CODPLPAG
|
||||||
|
INNER JOIN PCDEPTO DEP ON PROD.CODEPTO = DEP.CODEPTO
|
||||||
|
INNER JOIN PCSECAO SEC ON PROD.CODSEC = SEC.CODSEC
|
||||||
|
INNER JOIN PCSUPERV S ON P.CODSUPERVISOR = S.CODSUPERVISOR
|
||||||
|
LEFT JOIN PCCIDADE CID ON C.CODCIDADE = CID.CODCIDADE
|
||||||
|
LEFT JOIN ESTPARCEIRO PARC ON P.CODUSUR3 = PARC.ID
|
||||||
|
LEFT JOIN PCCATEGORIA CAT ON (PROD.CODSEC = CAT.CODSEC AND PROD.CODCATEGORIA = CAT.CODCATEGORIA)
|
||||||
|
WHERE D.CONDVENDA IN (1, 7, 8)
|
||||||
|
--AND D.CODCLI NOT IN (1)
|
||||||
|
--AND D.CODPROD NOT IN (48500) -- REMOVE O PRODUTO FRETE
|
||||||
|
AND D.DTCANCEL IS NULL
|
||||||
|
AND D.DTENT >= TRUNC(SYSDATE) - (365*4)
|
||||||
|
)
|
||||||
|
WHERE DATA_COMPRA >= DATE '2025-01-01'
|
||||||
|
AND DATA_COMPRA < DATE '2026-01-01'
|
||||||
|
|
@ -0,0 +1,267 @@
|
||||||
|
-- Table HIST_BLOQUEIO_SEMANAL
|
||||||
|
|
||||||
|
-- CREATE TABLE
|
||||||
|
|
||||||
|
CREATE TABLE HIST_BLOQUEIO_SABADO (
|
||||||
|
DATA_SABADO DATE NOT NULL,
|
||||||
|
TIPO_BLOQUEIO VARCHAR2(30) NOT NULL,
|
||||||
|
CODFILIAL VARCHAR2(10) NOT NULL,
|
||||||
|
CODPROD NUMBER NOT NULL,
|
||||||
|
DESCRICAO VARCHAR2(200),
|
||||||
|
MARCA VARCHAR2(80),
|
||||||
|
QTESTGER NUMBER(18,4),
|
||||||
|
QT NUMBER(18,4),
|
||||||
|
CUSTOFIN NUMBER(18,6),
|
||||||
|
VALOR NUMBER(18,2),
|
||||||
|
DATA_TIPO DATE, -- (DADOS.DATA)
|
||||||
|
CODMOTIVO NUMBER,
|
||||||
|
MOTIVO VARCHAR2(200),
|
||||||
|
CODFUNC NUMBER,
|
||||||
|
FUNCIONARIO VARCHAR2(120),
|
||||||
|
HISTORICO VARCHAR2(4000),
|
||||||
|
FAIXA_PRIM VARCHAR2(30),
|
||||||
|
DT_CARGA TIMESTAMP DEFAULT SYSTIMESTAMP NOT NULL,
|
||||||
|
CONSTRAINT PK_HIST_BLOQ_SAB PRIMARY KEY
|
||||||
|
(DATA_SABADO, CODFILIAL, CODPROD, TIPO_BLOQUEIO)
|
||||||
|
);
|
||||||
|
CREATE INDEX IX_HIST_BLOQ_SAB_01
|
||||||
|
ON HIST_BLOQUEIO_SABADO (CODFILIAL, CODPROD, DATA_SABADO);
|
||||||
|
CREATE INDEX IX_HIST_BLOQ_SAB_02
|
||||||
|
ON HIST_BLOQUEIO_SABADO (DATA_SABADO, TIPO_BLOQUEIO, FAIXA_PRIM);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- CREATE PROCEDURE
|
||||||
|
|
||||||
|
CREATE OR REPLACE PROCEDURE PRC_SNAPSHOT_BLOQUEIO_SABADO (
|
||||||
|
P_DATA_BASE IN DATE DEFAULT SYSDATE
|
||||||
|
) AS
|
||||||
|
V_SABADO DATE;
|
||||||
|
BEGIN
|
||||||
|
V_SABADO := TRUNC(P_DATA_BASE,'IW') + 5; -- sábado
|
||||||
|
DELETE FROM HIST_BLOQUEIO_SABADO
|
||||||
|
WHERE DATA_SABADO = V_SABADO;
|
||||||
|
INSERT INTO HIST_BLOQUEIO_SABADO (
|
||||||
|
DATA_SABADO, TIPO_BLOQUEIO, CODFILIAL, CODPROD,
|
||||||
|
DESCRICAO, MARCA, QTESTGER,
|
||||||
|
QT, CUSTOFIN, VALOR,
|
||||||
|
DATA_TIPO, CODMOTIVO, MOTIVO, CODFUNC, FUNCIONARIO, HISTORICO,
|
||||||
|
FAIXA_PRIM, DT_CARGA
|
||||||
|
)
|
||||||
|
WITH
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
BASE ESTOQUE (fonte de quantidades da 9871)
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
BASE_EST AS (
|
||||||
|
SELECT
|
||||||
|
E.CODFILIAL,
|
||||||
|
E.CODPROD,
|
||||||
|
NVL(E.QTBLOQUEADA,0) AS QT_BLOQ_TOTAL,
|
||||||
|
NVL(E.QTINDENIZ,0) AS QT_AVARIA,
|
||||||
|
NVL(E.QTEXPOSICAO,0) AS QT_EXPOSICAO,
|
||||||
|
E.QTESTGER,
|
||||||
|
NVL(E.CUSTOFIN,0) AS CUSTOFIN
|
||||||
|
FROM PCEST E
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
ÚLTIMO MOV 53 (só para DATA/CODMOTIVO/CODFUNC/HIST)
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
MOV53 AS (
|
||||||
|
SELECT
|
||||||
|
CODFILIAL, CODPROD,
|
||||||
|
TRUNC(DTINCLUSAO) AS DATA_EXPO,
|
||||||
|
CODMOTIVO,
|
||||||
|
CODFUNC,
|
||||||
|
HISTORICO
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
M.*,
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
PARTITION BY M.CODFILIAL, M.CODPROD
|
||||||
|
ORDER BY M.DTINCLUSAO DESC, M.ROWID DESC
|
||||||
|
) RN
|
||||||
|
FROM ESTMOVBLOQESTOQUE M
|
||||||
|
WHERE M.CODMOTIVO IN (53)
|
||||||
|
)
|
||||||
|
WHERE RN = 1
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
ÚLTIMO EA (AVARIA) para DATA/CODMOTIVO/CODFUNC/HIST
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
EA AS (
|
||||||
|
SELECT
|
||||||
|
CODFILIAL, CODPROD,
|
||||||
|
TRUNC(DATA) AS DATA_EA,
|
||||||
|
CODMOTIVO,
|
||||||
|
CODFUNC,
|
||||||
|
HISTORICO
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
M.*,
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
PARTITION BY M.CODFILIAL, M.CODPROD
|
||||||
|
ORDER BY TRUNC(M.DATA) DESC, M.ROWID DESC
|
||||||
|
) RN
|
||||||
|
FROM ESTMOVBLOQESTOQUE M
|
||||||
|
WHERE M.TIPO = 'EA'
|
||||||
|
)
|
||||||
|
WHERE RN = 1
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
Data ENTRADA (último B no log, exceto 9871) igual 8189
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
DT_ENTRADA AS (
|
||||||
|
SELECT CODFILIAL, CODPROD, MAX(TRUNC(DATA)) AS DATA_ENT
|
||||||
|
FROM ESTLOGBLOQESTOQUE
|
||||||
|
WHERE PROGRAMA NOT LIKE '%9871%'
|
||||||
|
AND TIPOBLOQUEIO = 'B'
|
||||||
|
GROUP BY CODFILIAL, CODPROD
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
EXPOSIÇÃO (lógica 9871)
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
EXPOSICAO AS (
|
||||||
|
SELECT
|
||||||
|
'BLOQUEIO EXPOSICAO' AS TIPO_BLOQUEIO,
|
||||||
|
B.QT_EXPOSICAO AS QUANTIDADE,
|
||||||
|
M53.DATA_EXPO AS DATA,
|
||||||
|
B.CODPROD,
|
||||||
|
B.CODFILIAL,
|
||||||
|
M53.CODMOTIVO,
|
||||||
|
M53.CODFUNC,
|
||||||
|
M53.HISTORICO
|
||||||
|
FROM BASE_EST B
|
||||||
|
LEFT JOIN MOV53 M53
|
||||||
|
ON M53.CODFILIAL = B.CODFILIAL
|
||||||
|
AND M53.CODPROD = B.CODPROD
|
||||||
|
WHERE B.QT_EXPOSICAO > 0
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
MANUAL (lógica 9871) = QTBLOQMANUAL - QTEXPOSICAO
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
MANUAL AS (
|
||||||
|
SELECT
|
||||||
|
'BLOQUEIO MANUAL' AS TIPO_BLOQUEIO,
|
||||||
|
GREATEST(NVL(EBP.QTBLOQMANUAL,0) - B.QT_EXPOSICAO, 0) AS QUANTIDADE,
|
||||||
|
TRUNC(EBP.DTPRIMBLOQUEIO) AS DATA,
|
||||||
|
B.CODPROD,
|
||||||
|
B.CODFILIAL,
|
||||||
|
CAST(NULL AS NUMBER) AS CODMOTIVO,
|
||||||
|
CAST(NULL AS NUMBER) AS CODFUNC,
|
||||||
|
CAST(NULL AS VARCHAR2(4000)) AS HISTORICO
|
||||||
|
FROM BASE_EST B
|
||||||
|
LEFT JOIN ESTBLOQUEIOPRODUTO EBP
|
||||||
|
ON EBP.CODFILIAL = B.CODFILIAL
|
||||||
|
AND EBP.CODPROD = B.CODPROD
|
||||||
|
WHERE GREATEST(NVL(EBP.QTBLOQMANUAL,0) - B.QT_EXPOSICAO, 0) > 0
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
ENTRADA (lógica 9871 = 8189)
|
||||||
|
Entrada = QTBLOQUEADA - QTINDENIZ - QTBLOQMANUAL
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
ENTRADA AS (
|
||||||
|
SELECT
|
||||||
|
'BLOQUEIO ENTRADA' AS TIPO_BLOQUEIO,
|
||||||
|
GREATEST(B.QT_BLOQ_TOTAL - B.QT_AVARIA - NVL(EBP.QTBLOQMANUAL,0), 0) AS QUANTIDADE,
|
||||||
|
X.DATA_ENT AS DATA,
|
||||||
|
B.CODPROD,
|
||||||
|
B.CODFILIAL,
|
||||||
|
CAST(NULL AS NUMBER) AS CODMOTIVO,
|
||||||
|
CAST(NULL AS NUMBER) AS CODFUNC,
|
||||||
|
CAST(NULL AS VARCHAR2(4000)) AS HISTORICO
|
||||||
|
FROM BASE_EST B
|
||||||
|
LEFT JOIN ESTBLOQUEIOPRODUTO EBP
|
||||||
|
ON EBP.CODFILIAL = B.CODFILIAL
|
||||||
|
AND EBP.CODPROD = B.CODPROD
|
||||||
|
INNER JOIN DT_ENTRADA X
|
||||||
|
ON X.CODFILIAL = B.CODFILIAL
|
||||||
|
AND X.CODPROD = B.CODPROD
|
||||||
|
WHERE GREATEST(B.QT_BLOQ_TOTAL - B.QT_AVARIA - NVL(EBP.QTBLOQMANUAL,0), 0) > 0
|
||||||
|
),
|
||||||
|
/* ---------------------------------------------------------
|
||||||
|
AVARIA (quantidade vem do PCEST.QTINDENIZ)
|
||||||
|
--------------------------------------------------------- */
|
||||||
|
AVARIA AS (
|
||||||
|
SELECT
|
||||||
|
'BLOQUEIO AVARIA' AS TIPO_BLOQUEIO,
|
||||||
|
B.QT_AVARIA AS QUANTIDADE,
|
||||||
|
EA.DATA_EA AS DATA,
|
||||||
|
B.CODPROD,
|
||||||
|
B.CODFILIAL,
|
||||||
|
EA.CODMOTIVO,
|
||||||
|
EA.CODFUNC,
|
||||||
|
EA.HISTORICO
|
||||||
|
FROM BASE_EST B
|
||||||
|
LEFT JOIN EA
|
||||||
|
ON EA.CODFILIAL = B.CODFILIAL
|
||||||
|
AND EA.CODPROD = B.CODPROD
|
||||||
|
WHERE B.QT_AVARIA > 0
|
||||||
|
),
|
||||||
|
DADOS AS (
|
||||||
|
SELECT * FROM EXPOSICAO
|
||||||
|
UNION ALL
|
||||||
|
SELECT * FROM MANUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT * FROM ENTRADA
|
||||||
|
UNION ALL
|
||||||
|
SELECT * FROM AVARIA
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
V_SABADO AS DATA_SABADO,
|
||||||
|
DADOS.TIPO_BLOQUEIO,
|
||||||
|
TO_CHAR(DADOS.CODFILIAL) AS CODFILIAL,
|
||||||
|
DADOS.CODPROD,
|
||||||
|
P.DESCRICAO,
|
||||||
|
M.MARCA,
|
||||||
|
E.QTESTGER,
|
||||||
|
DADOS.QUANTIDADE AS QT,
|
||||||
|
ROUND(E.CUSTOFIN, 2) AS CUSTOFIN,
|
||||||
|
ROUND(DADOS.QUANTIDADE * E.CUSTOFIN, 2) AS VALOR,
|
||||||
|
DADOS.DATA AS DATA_TIPO,
|
||||||
|
DADOS.CODMOTIVO,
|
||||||
|
TD.MOTIVO,
|
||||||
|
DADOS.CODFUNC,
|
||||||
|
F.NOME AS FUNCIONARIO,
|
||||||
|
DADOS.HISTORICO,
|
||||||
|
CASE
|
||||||
|
WHEN DADOS.DATA IS NULL THEN '?'
|
||||||
|
WHEN V_SABADO - TRUNC(DADOS.DATA) <= 3 THEN '1 - 0 A 3 DIAS'
|
||||||
|
WHEN V_SABADO - TRUNC(DADOS.DATA) <= 7 THEN '2 - 4 A 7 DIAS'
|
||||||
|
WHEN V_SABADO - TRUNC(DADOS.DATA) <= 14 THEN '3 - 8 A 14 DIAS'
|
||||||
|
WHEN V_SABADO - TRUNC(DADOS.DATA) <= 30 THEN '4 - 15 A 30 DIAS'
|
||||||
|
WHEN V_SABADO - TRUNC(DADOS.DATA) <= 60 THEN '5 - 30 A 60 DIAS'
|
||||||
|
ELSE '6 - 60 + DIAS'
|
||||||
|
END AS FAIXA_PRIM,
|
||||||
|
SYSTIMESTAMP AS DT_CARGA
|
||||||
|
FROM DADOS
|
||||||
|
JOIN PCPRODUT P
|
||||||
|
ON P.CODPROD = DADOS.CODPROD
|
||||||
|
JOIN PCEST E
|
||||||
|
ON E.CODPROD = DADOS.CODPROD
|
||||||
|
AND E.CODFILIAL = DADOS.CODFILIAL
|
||||||
|
LEFT JOIN PCMARCA M
|
||||||
|
ON M.CODMARCA = P.CODMARCA
|
||||||
|
LEFT JOIN PCTABDEV TD
|
||||||
|
ON TD.CODDEVOL = DADOS.CODMOTIVO
|
||||||
|
LEFT JOIN PCEMPR F
|
||||||
|
ON F.MATRICULA = DADOS.CODFUNC;
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
|
|
||||||
|
-- job (todo sábado)
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
DBMS_SCHEDULER.CREATE_JOB (
|
||||||
|
job_name => 'JOB_SNAPSHOT_BLOQUEIO_SABADO',
|
||||||
|
job_type => 'STORED_PROCEDURE',
|
||||||
|
job_action => 'PRC_SNAPSHOT_BLOQUEIO_SABADO',
|
||||||
|
start_date => SYSTIMESTAMP,
|
||||||
|
repeat_interval => 'FREQ=WEEKLY;BYDAY=SAT;BYHOUR=23;BYMINUTE=55;BYSECOND=0',
|
||||||
|
enabled => TRUE
|
||||||
|
);
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,199 @@
|
||||||
|
-- Tabelas Controle de Perdas_dataset
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW DIM_FILIAL AS
|
||||||
|
|
||||||
|
|
||||||
|
-- DIM_FILIAL
|
||||||
|
SELECT
|
||||||
|
CODIGO AS CODFILIAL,
|
||||||
|
FANTASIA AS NOME_FILIAL,
|
||||||
|
CODIGO || ' - ' || REGEXP_REPLACE(FANTASIA, '^JURUNENSE[[:space:]]*', '') AS FILIAL_COMPLETA
|
||||||
|
FROM PCFILIAL;
|
||||||
|
|
||||||
|
|
||||||
|
-- DIM_DEPARTAMENTO
|
||||||
|
SELECT
|
||||||
|
CODEPTO,
|
||||||
|
DESCRICAO AS NOME_DEPARTAMENTO,
|
||||||
|
CODEPTO || ' - ' || DESCRICAO AS DEPTO_COMPLETO
|
||||||
|
FROM PCDEPTO;
|
||||||
|
|
||||||
|
|
||||||
|
-- DIM_MARCA
|
||||||
|
SELECT
|
||||||
|
CODMARCA,
|
||||||
|
MARCA AS NOME_MARCA,
|
||||||
|
CODMARCA || ' - ' || MARCA AS MARCA_COMPLETA
|
||||||
|
FROM PCMARCA;
|
||||||
|
|
||||||
|
|
||||||
|
-- DIM_PRODUTO
|
||||||
|
SELECT
|
||||||
|
P.CODPROD,
|
||||||
|
P.DESCRICAO AS NOME_PRODUTO,
|
||||||
|
P.CODEPTO,
|
||||||
|
P.CODMARCA,
|
||||||
|
P.CODPROD || ' - ' || P.DESCRICAO AS PRODUTO_COMPLETO
|
||||||
|
FROM PCPRODUT P;
|
||||||
|
|
||||||
|
|
||||||
|
-- DIM_CALENDARIO
|
||||||
|
SELECT DISTINCT
|
||||||
|
DATA,
|
||||||
|
EXTRACT(YEAR FROM DATA) AS ANO,
|
||||||
|
EXTRACT(MONTH FROM DATA) AS MES,
|
||||||
|
EXTRACT(DAY FROM DATA) AS DIA
|
||||||
|
FROM (
|
||||||
|
SELECT TRUNC(DTSAIDA) AS DATA FROM VIEW_VENDAS_RESUMO_FATURAMENTO
|
||||||
|
UNION
|
||||||
|
SELECT TRUNC(DTENT) AS DATA FROM VIEW_DEVOL_RESUMO_FATURAMENTO
|
||||||
|
UNION
|
||||||
|
SELECT TRUNC(DTMOV) AS DATA FROM PCMOV
|
||||||
|
);
|
||||||
|
|
||||||
|
-- DIM_TIPO_BLOQUEIO
|
||||||
|
|
||||||
|
SELECT 1 AS TIPO_BLOQUEIO_ID, 'BLOQUEIO EXPOSICAO' AS TIPO_BLOQUEIO, 1 AS ORDEM, 'S' AS ATIVO FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 2, 'BLOQUEIO MANUAL', 2, 'S' FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 3, 'BLOQUEIO ENTRADA', 3, 'S' FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 4, 'BLOQUEIO AVARIA', 4, 'S' FROM DUAL;
|
||||||
|
|
||||||
|
-- DIM_MOTIVO_BLOQUEIO
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
CODDEVOL AS CODMOTIVO,
|
||||||
|
MOTIVO,
|
||||||
|
'S' AS ATIVO
|
||||||
|
FROM PCTABDEV;
|
||||||
|
|
||||||
|
-- DIM_FAIXA_PRIM
|
||||||
|
|
||||||
|
SELECT 1 AS FAIXA_ID, '1 - 0 A 3 DIAS' AS FAIXA_PRIM, 0 AS DIAS_INICIO, 3 AS DIAS_FIM, 1 AS ORDEM FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 2, '2 - 4 A 7 DIAS', 4, 7, 2 FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 3, '3 - 8 A 14 DIAS', 8, 14, 3 FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 4, '4 - 15 A 30 DIAS',15, 30, 4 FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 5, '5 - 30 A 60 DIAS',31, 60, 5 FROM DUAL
|
||||||
|
UNION ALL
|
||||||
|
SELECT 6, '6 - 60 + DIAS', 61, 9999,6 FROM DUAL;
|
||||||
|
|
||||||
|
-- FATO_FATURAMENTO-filial
|
||||||
|
SELECT
|
||||||
|
NF.CODFILIAL,
|
||||||
|
TRUNC(NF.DTSAIDA) AS DATA,
|
||||||
|
NF.CODPROD,
|
||||||
|
SUM(NF.VLVENDA) AS FATURAMENTO_BRUTO,
|
||||||
|
SUM(NF.VLCUSTOFIN) AS CUSTO_TOTAL
|
||||||
|
FROM VIEW_VENDAS_RESUMO_FATURAMENTO NF
|
||||||
|
WHERE NF.CONDVENDA IN (1,7)
|
||||||
|
AND NF.DTCANCEL IS NULL
|
||||||
|
GROUP BY
|
||||||
|
NF.CODFILIAL,
|
||||||
|
TRUNC(NF.DTSAIDA),
|
||||||
|
NF.CODPROD;
|
||||||
|
|
||||||
|
|
||||||
|
-- FATO_DEVOLUCAO-filial
|
||||||
|
SELECT
|
||||||
|
DV.CODFILIAL,
|
||||||
|
TRUNC(DV.DTENT) AS DATA,
|
||||||
|
DV.CODPROD,
|
||||||
|
SUM(DV.VLDEVOLUCAO) AS DEVOLUCAO,
|
||||||
|
SUM(DV.VLCUSTOFIN) AS CUSTO_DEVOLUCAO
|
||||||
|
FROM VIEW_DEVOL_RESUMO_FATURAMENTO DV
|
||||||
|
WHERE DV.CONDVENDA IN (1,7,8)
|
||||||
|
AND DV.DTCANCEL IS NULL
|
||||||
|
GROUP BY
|
||||||
|
DV.CODFILIAL,
|
||||||
|
TRUNC(DV.DTENT),
|
||||||
|
DV.CODPROD;
|
||||||
|
|
||||||
|
|
||||||
|
-- FATO_FATURAMENTO-supervmov
|
||||||
|
SELECT
|
||||||
|
NF.CODSUPERVMOV,
|
||||||
|
TRUNC(NF.DTSAIDA) AS DATA,
|
||||||
|
NF.CODPROD,
|
||||||
|
SUM(NF.VLVENDA) AS FATURAMENTO_BRUTO,
|
||||||
|
SUM(NF.VLCUSTOFIN) AS CUSTO_TOTAL
|
||||||
|
FROM VIEW_VENDAS_RESUMO_FATURAMENTO NF
|
||||||
|
WHERE NF.CONDVENDA IN (1,7)
|
||||||
|
AND NF.DTCANCEL IS NULL
|
||||||
|
GROUP BY
|
||||||
|
NF.CODSUPERVMOV,
|
||||||
|
TRUNC(NF.DTSAIDA),
|
||||||
|
NF.CODPROD;
|
||||||
|
|
||||||
|
|
||||||
|
-- FATO_DEVOLUCAO-supervmov
|
||||||
|
SELECT
|
||||||
|
DV.CODSUPERVMOV,
|
||||||
|
TRUNC(DV.DTENT) AS DATA,
|
||||||
|
DV.CODPROD,
|
||||||
|
SUM(DV.VLDEVOLUCAO) AS DEVOLUCAO,
|
||||||
|
SUM(DV.VLCUSTOFIN) AS CUSTO_DEVOLUCAO
|
||||||
|
FROM VIEW_DEVOL_RESUMO_FATURAMENTO DV
|
||||||
|
WHERE DV.CONDVENDA IN (1,7,8)
|
||||||
|
AND DV.DTCANCEL IS NULL
|
||||||
|
GROUP BY
|
||||||
|
DV.CODSUPERVMOV,
|
||||||
|
TRUNC(DV.DTENT),
|
||||||
|
DV.CODPROD;
|
||||||
|
|
||||||
|
-- FatoAjusteEstoque
|
||||||
|
SELECT
|
||||||
|
M.CODFILIAL,
|
||||||
|
TRUNC(M.DTMOV) AS DATA,
|
||||||
|
M.CODPROD,
|
||||||
|
SUM(
|
||||||
|
CASE
|
||||||
|
WHEN M.CODOPER IN ('EA','EI') THEN M.QT * ROUND(M.PUNIT,2)
|
||||||
|
WHEN M.CODOPER IN ('SA','SI') THEN (M.QT * -1) * ROUND(M.PUNIT,2)
|
||||||
|
ELSE 0
|
||||||
|
END
|
||||||
|
) AS VALOR_AJUSTE
|
||||||
|
FROM PCMOV M
|
||||||
|
WHERE M.CODOPER IN ('EA','EI','SA','SI')
|
||||||
|
GROUP BY
|
||||||
|
M.CODFILIAL,
|
||||||
|
TRUNC(M.DTMOV),
|
||||||
|
M.CODPROD;
|
||||||
|
|
||||||
|
-- FatoAjusteDetalhe
|
||||||
|
SELECT
|
||||||
|
M.CODFILIAL,
|
||||||
|
TRUNC(M.DTMOV) AS DATA,
|
||||||
|
M.CODPROD,
|
||||||
|
COALESCE(L1.NOMEFUNC, L2.NOMEFUNC) AS RESPONSAVEL_AJUSTE,
|
||||||
|
COALESCE(L1.HISTORICO, L2.HISTORICO) AS HISTORICO,
|
||||||
|
COALESCE(L1.HISTORICO2, L2.HISTORICO2) AS HISTORICO2,
|
||||||
|
DECODE(M.CODOPER,
|
||||||
|
'EA','ENTRADA AJUSTE',
|
||||||
|
'EI','ENTRADA INVENTARIO',
|
||||||
|
'SA','SAIDA AJUSTE',
|
||||||
|
'SI','SAIDA INVENTARIO'
|
||||||
|
select * from pcpedc ) AS TIPO_OPERACAO,
|
||||||
|
CASE
|
||||||
|
WHEN M.CODOPER IN ('EA','EI') THEN M.QT
|
||||||
|
WHEN M.CODOPER IN ('SA','SI') THEN (M.QT * -1)
|
||||||
|
ELSE 0
|
||||||
|
END AS QT_AJUSTE,
|
||||||
|
CASE
|
||||||
|
WHEN M.CODOPER IN ('EA','EI') THEN M.QT * ROUND(M.PUNIT,2)
|
||||||
|
WHEN M.CODOPER IN ('SA','SI') THEN (M.QT * -1) * ROUND(M.PUNIT,2)
|
||||||
|
ELSE 0
|
||||||
|
END AS VALOR_AJUSTE
|
||||||
|
FROM PCMOV M
|
||||||
|
LEFT JOIN PCLANC L1
|
||||||
|
ON M.CODOPER IN ('EA','EI')
|
||||||
|
AND L1.NUMTRANSENT = M.NUMTRANSENT
|
||||||
|
LEFT JOIN PCLANC L2
|
||||||
|
ON M.CODOPER IN ('SA','SI')
|
||||||
|
AND L2.NUMTRANSVENDA = M.NUMTRANSVENDA
|
||||||
|
WHERE M.CODOPER IN ('EA','EI','SA','SI');
|
||||||
Loading…
Reference in New Issue