MCP - View de Preços
1. Introdução
Nessa seção de preços será abordado como é a criação e as informações que retornarão referente a controle de preços, tanto preço normal quanto promocional:
V_VT_PRECO - Informação de Preço
2. Informação de Preço
Os preços serão obtidos a partir da View V_VT_PRECO, onde a mesa conterá as seguintes informações:
Campo | Tipo | Obr. | Informação |
---|---|---|---|
dataInicio | DATE | N | Data inicial da promoção |
dataFim | DATE | N | Data final da promoção |
valorPrecoPromocional | NUMBER | N | Valor da promoção |
valorPreco | NUMBER | S | Valor do Preço |
dtAlteracaoSinc | TIMESTAMP(6) | S | Data da última sincronização |
idBandeiraPreco | NUMBER(38) | S | Código da bandeira de preço |
erpId | VARCHAR2(20 CHAR) | S | Id do Item no ERP |
CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_PRECO ("dataInicio", "dataFim", "valorPrecoPromocional", "valorPreco", "dtAlteracaoSinc", "idBandeiraPreco", "erpId") AS
SELECT
ITEPRV.WECPROMODTINI "dataInicio",
CASE
WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '0' AND ITEPRV.WECPRECOESPECIAL = 0 THEN NULL
WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '1' AND (ITEPRV.OFERTA = 0 OR ITEPRV.WECPERCPRECOESP = 0) THEN NULL
WHEN COALESCE(ITEPRV.WECTIPOPRESP,'0') = '2' AND COALESCE(ITEPRV.WECPRECONORMAL,0) = 0 AND ITEPRV.WECPERCPRECO = 0 THEN NULL
ELSE ITEPRV.WECPROMODTFIN
END "dataFim",
CASE
WHEN ITEPRV.WECPROMODTINI IS NOT NULL AND ITEPRV.WECPROMODTFIN IS NOT NULL THEN
CASE COALESCE(ITEPRV.WECTIPOPRESP,'0')
WHEN '0' THEN ITEPRV.WECPRECOESPECIAL
WHEN '1' THEN VIASOFTSYS.ARREDONDAR(ITEPRV.OFERTA * (ITEPRV.WECPERCPRECOESP /100), 2)
WHEN '2' THEN VIASOFTSYS.ARREDONDAR(
CASE
WHEN ITEPRV.WECPERCPRECOESP = 0 THEN 0
WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL
ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100), 2)
END * (ITEPRV.WECPERCPRECOESP /100), 2)
END
ELSE 0
END "valorPrecoPromocional",
CASE
WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL
ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100), 2)
END "valorPreco",
ITEPRV.DTALTERACAOSINC "dtAlteracaoSinc",
ITEPRV.IDBANDEIRA "idBandeiraPreco",
ITEEST.IDITEM "erpId"
FROM VIASOFTMCP.ITEMESTAB ITEEST
LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCON
ON FILCON.ESTAB = ITEEST.ESTAB
LEFT JOIN VIASOFTMCP.ITEMPRVDA ITEPRV
ON ITEPRV.IDBANDEIRA = FILCON.IDBANPRECO
AND ITEPRV.ESTAB = ITEEST.ESTABITEM
AND ITEPRV.IDITEM = ITEEST.IDITEM
LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP
ON ITEMCP.ESTAB = ITEEST.ESTABITEM
AND ITEMCP.IDITEM = ITEEST.IDITEM
WHERE
COALESCE(ITEMCP.TINTA, 'X') <> 'P';