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