MCP - View de Produtos

1. Introdução

Nessa seção de produtos será abordado como é a criação e as informações que retornarão de três Views principais acerca de informações do produto, sendo elas:

  • V_VT_PRODUTOS - Informações do Cadastro do Produto

  • V_VT_CATEGORIAS - Informações de Categoria do Produto

  • V_VT_MARCA - Informações da Marca dos Produtos

  • V_VT_IMAGEM - Informações da Imagem do Produto

 

2. Informações do Cadastro do Produto

Os produtos serão obtidos a partir da View V_VT_PRODUTOS, V_VT_PRODUTOSTOT, V_VT_PRODUTOSMULT para que sejam disponibilizados a venda nos canais de vendas. Ela consiste nas seguintes informações:

Campo

Tipo

Obr.

Informação

Campo

Tipo

Obr.

Informação

categs

VARCHAR2(200)

S

Categoria do Item no Ecommerce

codigo

VARCHAR2(20 CHAR)

S

Código interno do Item no Construshow

descricao

CLOB

S

Descrição detalhada Ecommerce (HTML)

descricaoResumida

VARCHAR2(4000)

S

Descrição resumida Ecommerce (HTML)

erpId

NUMBER(38)

S

Código interno do Item no Construshow

quantidade

NUMBER

S

Saldo do Item

quantidadeMinima

NUMBER

S

Quantidade mínima de estoque

inativo

NUMBER

S

Produto inativo ou ativo

nome

VARCHAR2(120)

S

Nome do Produto

peso

NUMBER

N

Altura do Produto

dataInicio

DATE

N

Largura do Produto

dataFim

DATE

N

Tempo de Espera do Produto

valorPrecoPromocional

NUMBER

N

Preço da Promoção

referencia

VARCHAR2(60)

S

Código referencial do Produto

valorPreco

NUMBER

S

Preço do Produto

volume_length

VARCHAR2(200)

N

Comprimento do Produto

volume_height

VARCHAR2(200)

N

Altura do Produto

volume_width

VARCHAR2(200)

N

Largura do Produto

leadtime

VARCHAR2(200)

N

Tempo de Espera do Produto

fabricanteId

NUMBER(38)

S

Código da Marca do Produto

marca

VARCHAR2(80 CHAR)

S

Descrição da Marca do Produto

url_video

VARCHAR2(200)

N

URL de Vídeo do Produto

codigoBarras

VARCHAR2(30 CHAR)

S

Código de barras do Produto

atributos

VARCHAR2(4000)

N

Características do produto

dtAlteracaoSinc

TIMESTAMP(6)

S

Data da ultima de Sincronização do Produto

dtAlteracaoSincEstoque

TIMESTAMP(6)

S

Data da ultima de Sincronização do Estoque

dtAlteracaoSincPreco

TIMESTAMP(6)

S

Data da ultima de Sincronização do Preço

estabItem

NUMBER(38)

S

Estabelecimento do Item

keyWords

VARCHAR2(250 CHAR)

N

Palavras Chaves do Produto

idBandeiraPreco

NUMBER(38)

S

Código da Bandeira de Preço do Produto

ncm

VARCHAR2(8 CHAR)

S

NCM do Produto

visibilidade

NUMBER

N

Tipo de Visibilidade do Produto

unidade

VARCHAR2(6 CHAR)

S

Unidade do Produto

multiploVenda

NUMBER

S

Múltiplo de Venda do Produto

custoAquis

NUMBER

N

Custo da última Aquisição

custoMedio

NUMBER

N

Custo Médio

prodAgregados

TEXT

N

Produtos Agregados

prodSimilares

TEXT

N

Produtos Similares

 

V_VT_PRODUTOS

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_PRODUTOS ("categs", "codigo", "descricao", "descricaoResumida", "erpId", "quantidade", "quantidadeMinima", "inativo", "nome", "peso", "dataInicio", "dataFim", "valorPrecoPromocional", "referencia", "valorPreco", "volume_length", "volume_height", "volume_width", "leadtime", "fabricanteId", "marca", "url_video", "codigoBarras", "atributos", "dtAlteracaoSinc", "dtAlteracaoSincEstoque", "dtAlteracaoSincPreco", "estabItem", "keyWords", "idBandeiraPreco", "ncm", "visibilidade", "unidade", "multiploVenda", "custoAquis", "custoMedio", "prodAgregados", "prodSimilares") AS SELECT ITEECO.CATEGS "categs", ITEEST.IDITEM "codigo", ITEECO.HTML "descricao", COALESCE(TO_CHAR(ITEECO.HTMLRESUMIDO),ITE.INFOADIC) "descricaoResumida", CAST(ITEEST.IDITEM AS INTEGER) "erpId", CASE WHEN VIASOFTMCP.GETSALDOITEMCARR(ITEEST.ESTAB,ITEEST.ESTABITEM,ITEEST.IDITEM,ITEEST.IDESTOQUELOCAL,2,DECODE(COALESCE(ITEREP.ESTABLOCALRET,0),0,ITEEST.ESTAB,ITEREP.ESTABLOCALRET),DECODE(COALESCE(LOCRET.IDESTOQUELOCAL,0),0,ITEEST.IDESTOQUELOCAL,LOCRET.IDESTOQUELOCAL),null,null,COALESCE(WECCON.SDOPRODLOCALRET,'N') ) - COALESCE(ITEECO.QTDEESGOTA,0) < 0 THEN 0 ELSE VIASOFTMCP.GETSALDOITEMCARR(ITEEST.ESTAB,ITEEST.ESTABITEM,ITEEST.IDITEM,ITEEST.IDESTOQUELOCAL,2,DECODE(COALESCE(ITEREP.ESTABLOCALRET,0),0,ITEEST.ESTAB,ITEREP.ESTABLOCALRET),DECODE(COALESCE(LOCRET.IDESTOQUELOCAL,0),0,ITEEST.IDESTOQUELOCAL,LOCRET.IDESTOQUELOCAL),null,null,COALESCE(WECCON.SDOPRODLOCALRET,'N') ) - COALESCE(ITEECO.QTDEESGOTA,0) END "quantidade", ITEECO.QTDEESGOTA "quantidadeMinima", CASE WHEN ITEEST.USAMIX = 'N' THEN 1 WHEN ITEEST.USAECOMMERCE = 'N' THEN 1 WHEN COALESCE(WECCON.ENVPRODINAT,'N') = 'N' AND COALESCE(ITEREP.INATIVO,' ') IN ('S','A','T') THEN 1 WHEN CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END > 0 THEN 0 ELSE 1 END "inativo", COALESCE(ITEECO.DESCRICAOECOM,ITE.DESCRICAO) "nome", COALESCE(ITE.PESOBRUTO,ITE.PESOLIQUIDO,0) "peso", 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", COALESCE(ITEEMP.CODREF,CAST(ITEEST.IDITEM AS VARCHAR2(60))) "referencia", CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END "valorPreco", CAST(ITE.COMPRIMENTO AS VARCHAR2(200)) "volume_length", CAST(ITE.ALTURA AS VARCHAR2(200)) "volume_height", CAST(ITE.LARGURA AS VARCHAR2(200)) "volume_width", CAST(ITEECO.LEADTIME AS VARCHAR2(200)) "leadtime", MAR.IDMARCA "fabricanteId", MAR.DESCRICAO "marca", ITEECO.URLVIDEO "url_video", COALESCE(ITE.NROCODBARR,ITE.NROCODBARR1,ITE.NROCODBARR2) "codigoBarras", (SELECT LISTAGG(C2.ATRIBUTOWEC||'|'||IC2.OPCAO,';') WITHIN GROUP (ORDER BY IC2.IDCARACTER) FROM VIASOFTMCP.ITEMCARACTER IC2 INNER JOIN VIASOFTMCP.CARACTER C2 ON C2.IDCARACTER = IC2.IDCARACTER WHERE C2.ATRIBUTOWEC IS NOT NULL AND IC2.ESTAB = ITEEST.ESTABITEM AND IC2.IDITEM = ITEEST.IDITEM) "atributos", ITE.DTALTERACAOSINC "dtAlteracaoSinc", ITEEST.DTALTERACAOSINC "dtAlteracaoSincEstoque", ITEPRV.DTALTERACAOSINC "dtAlteracaoSincPreco", ITEEST.ESTAB "estabItem", ITEECO.KEYWORDS "keyWords", ITEPRV.IDBANDEIRA "idBandeiraPreco", ITE.NCM "ncm", CASE WHEN COALESCE(ITEEST.USAECOMMERCE, 'N') = 'N' THEN 1 ELSE DECODE(COALESCE(ITEECO.VISIBILIDADE, 4), 0, 4, COALESCE(ITEECO.VISIBILIDADE, 4)) END "visibilidade", CASE WHEN IT.UNIDADE = 'M2' THEN IT.UNIDADE ELSE 'UN' END "unidade", ITEEMP.MULTIPLOVDA "multiploVenda", IAQ.CUSTOAQUIS "custoAquis", VIASOFTMCP.RETORNACUSTOMEDIO(ITEEST.ESTABITEM,ITEEST.IDITEM,SYSDATE) "custoMedio", (SELECT LISTAGG(IDAGREGADO,',') WITHIN GROUP (ORDER BY IDAGREGADO) "agredados" FROM VIASOFTMCP.ITEMAGREGADOS IAG WHERE IAG.IDITEM = ITEEST.IDITEM AND IAG.ESTAB = ITEEST.ESTABITEM) "prodAgregados", (SELECT LISTAGG(IDITEM,',') WITHIN GROUP (ORDER BY IDITEM) "similar" FROM VIASOFTMCP.ITEMCATEGORIA ITCAT WHERE ITCAT.ESTAB = ITEEST.ESTAB AND ITCAT.IDSIMILAR = ITECAT.IDSIMILAR AND ITCAT.IDITEM <> ITEEST.IDITEM) "prodSimilares" FROM VIASOFTMCP.ITEMESTAB ITEEST INNER JOIN VIASOFTBASE.ITEM ITE ON ITE.ESTAB = ITEEST.ESTABITEM AND ITE.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTBASE.ITEM IT ON IT.ESTAB = ITEEST.ESTABITEM AND IT.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.ITEMCATEGORIA ITECAT ON ITECAT.ESTAB = ITE.ESTAB AND ITECAT.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTBASE.MARCA MAR ON MAR.IDMARCA = ITECAT.IDMARCA LEFT JOIN VIASOFTMCP.WECCONFIG WECCON ON WECCON.ESTABEC = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMREPOSICAO ITEREP ON ITEREP.ESTAB = ITEEST.ESTAB AND ITEREP.ESTABITEM = ITEEST.ESTABITEM AND ITEREP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.LOCALRETIRADA LOCRET ON LOCRET.ESTAB = ITEREP.ESTABLOCALRET AND LOCRET.IDLOCALRETIRADA = ITEREP.IDLOCALRETIRADA LEFT JOIN VIASOFTBASE.ESTOQUELOCAL ESTLOC ON ESTLOC.IDESTOQUELOCAL = LOCRET.IDESTOQUELOCAL AND ESTLOC.ESTAB = ITEREP.ESTABLOCALRET LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP ON ITEMCP.ESTAB = ITEEST.ESTABITEM AND ITEMCP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTSYS.FILIAL FIL ON FIL.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMECOMMERCE ITEECO ON ITEECO.ESTAB = ITE.ESTAB AND ITEECO.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCON ON FILCON.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMPRVDA ITEPRV ON ITEPRV.IDBANDEIRA = FILCON.IDBANPRECO AND ITEPRV.ESTAB = ITE.ESTAB AND ITEPRV.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.ITEMEMP ITEEMP ON ITEEMP.EMPRESA = FIL.EMPRESA AND ITEEMP.ESTABITEM = ITEEST.ESTABITEM AND ITEEMP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCAD ON FILCAD.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTBASE.ITEMAQUIS IAQ ON IAQ.ESTAB = ITEEST.ESTABITEM AND IAQ.IDITEM = ITEEST.IDITEM AND IAQ.IDBANDEIRA = FILCAD.IDBANCUSTO WHERE COALESCE(ITEMCP.TINTA, 'X') <> 'P' ORDER BY ITE.IDITEM;

 

V_VT_PRODUTOSTOT

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_PRODUTOSTOT AS SELECT ITEECO.CATEGS "categs", ITEEST.IDITEM "codigo", ITEECO.HTML "descricao", COALESCE(TO_CHAR(ITEECO.HTMLRESUMIDO),ITE.INFOADIC) "descricaoResumida", CAST(ITEEST.IDITEM AS INTEGER) "erpId", CASE WHEN ITEREP.IDLOCALRETIRADA IS NOT NULL AND (ITEEMP.MULTIPLOVDA > 0 OR ITEEMP.MULTIPLOVDA IS NOT NULL) AND ITE.UNIDADE = 'M2' THEN COALESCE((SELECT SUM(ES.SALDO) FROM VIASOFTMCP.ESTOQUESALDO ES WHERE ES.ESTAB = ITEEST.ESTAB AND ES.IDITEM = ITEEST.IDITEM AND ES.IDESTOQUETIPO = 2 AND ES.IDESTOQUELOCAL NOT IN (6,7)), 0) ELSE COALESCE((SELECT SUM(ES.SALDO) FROM VIASOFTMCP.ESTOQUESALDO ES WHERE ES.ESTAB = ITEEST.ESTAB AND ES.IDITEM = ITEEST.IDITEM AND ES.IDESTOQUETIPO = 2), 0) END "quantidade", ITEECO.QTDEESGOTA "quantidadeMinima", CASE WHEN ITEEST.USAMIX = 'N' THEN 1 WHEN ITEEST.USAECOMMERCE = 'N' THEN 1 WHEN COALESCE(WECCON.ENVPRODINAT,'N') = 'N' AND COALESCE(ITEREP.INATIVO,' ') IN ('S','A','T') THEN 1 WHEN CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END > 0 THEN 0 ELSE 1 END "inativo", COALESCE(ITEECO.DESCRICAOECOM,ITE.DESCRICAO) "nome", COALESCE(ITE.PESOBRUTO,ITE.PESOLIQUIDO,0) "peso", 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", COALESCE(ITEEMP.CODREF,CAST(ITEEST.IDITEM AS VARCHAR2(60))) "referencia", CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END "valorPreco", CAST(ITE.COMPRIMENTO AS VARCHAR2(200)) "volume_length", CAST(ITE.ALTURA AS VARCHAR2(200)) "volume_height", CAST(ITE.LARGURA AS VARCHAR2(200)) "volume_width", CAST(ITEECO.LEADTIME AS VARCHAR2(200)) "leadtime", MAR.IDMARCA "fabricanteId", MAR.DESCRICAO "marca", ITEECO.URLVIDEO "url_video", COALESCE(ITE.NROCODBARR,ITE.NROCODBARR1,ITE.NROCODBARR2) "codigoBarras", (SELECT LISTAGG(C2.ATRIBUTOWEC||'|'||IC2.OPCAO,';') WITHIN GROUP (ORDER BY IC2.IDCARACTER) FROM VIASOFTMCP.ITEMCARACTER IC2, VIASOFTMCP.CARACTER C2 WHERE C2.IDCARACTER = IC2.IDCARACTER AND C2.ATRIBUTOWEC IS NOT NULL AND IC2.ESTAB = ITEEST.ESTABITEM AND IC2.IDITEM = ITEEST.IDITEM) "atributos", ITE.DTALTERACAOSINC "dtAlteracaoSinc", ITEEST.DTALTERACAOSINC "dtAlteracaoSincEstoque", ITEPRV.DTALTERACAOSINC "dtAlteracaoSincPreco", ITEEST.ESTAB "estabItem", ITEECO.KEYWORDS "keyWords", ITEPRV.IDBANDEIRA "idBandeiraPreco", ITE.NCM "ncm", CASE WHEN COALESCE(ITEEST.USAECOMMERCE, 'N') = 'N' THEN 1 ELSE DECODE(COALESCE(ITEECO.VISIBILIDADE, 4), 0, 4, COALESCE(ITEECO.VISIBILIDADE, 4)) END "visibilidade", CASE WHEN IT.UNIDADE = 'M2' THEN IT.UNIDADE ELSE 'UN' END "unidade", ITEEMP.MULTIPLOVDA "multiploVenda", IAQ.CUSTOAQUIS "custoAquis", VIASOFTMCP.RETORNACUSTOMEDIO(ITEEST.ESTABITEM,ITEEST.IDITEM,SYSDATE) "custoMedio", (SELECT LISTAGG(IDAGREGADO,',') WITHIN GROUP (ORDER BY IDAGREGADO) "agredados" FROM VIASOFTMCP.ITEMAGREGADOS IAG WHERE IAG.IDITEM = ITEEST.IDITEM AND IAG.ESTAB = ITEEST.ESTABITEM) "prodAgregados", (SELECT LISTAGG(IDITEM,',') WITHIN GROUP (ORDER BY IDITEM) "similar" FROM VIASOFTMCP.ITEMCATEGORIA ITCAT WHERE ITCAT.ESTAB = ITEEST.ESTAB AND ITCAT.IDSIMILAR = ITECAT.IDSIMILAR AND ITCAT.IDITEM <> ITEEST.IDITEM) "prodSimilares" FROM VIASOFTMCP.ITEMESTAB ITEEST INNER JOIN VIASOFTBASE.ITEM ITE ON ITE.ESTAB = ITEEST.ESTABITEM AND ITE.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTBASE.ITEM IT ON IT.ESTAB = ITEEST.ESTABITEM AND IT.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.ITEMCATEGORIA ITECAT ON ITECAT.ESTAB = ITE.ESTAB AND ITECAT.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTBASE.MARCA MAR ON MAR.IDMARCA = ITECAT.IDMARCA LEFT JOIN VIASOFTMCP.WECCONFIG WECCON ON WECCON.ESTABEC = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMREPOSICAO ITEREP ON ITEREP.ESTAB = ITEEST.ESTAB AND ITEREP.ESTABITEM = ITEEST.ESTABITEM AND ITEREP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.LOCALRETIRADA LOCRET ON LOCRET.ESTAB = ITEREP.ESTABLOCALRET AND LOCRET.IDLOCALRETIRADA = ITEREP.IDLOCALRETIRADA LEFT JOIN VIASOFTBASE.ESTOQUELOCAL ESTLOC ON ESTLOC.IDESTOQUELOCAL = LOCRET.IDESTOQUELOCAL AND ESTLOC.ESTAB = ITEREP.ESTABLOCALRET LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP ON ITEMCP.ESTAB = ITEEST.ESTABITEM AND ITEMCP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTSYS.FILIAL FIL ON FIL.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMECOMMERCE ITEECO ON ITEECO.ESTAB = ITE.ESTAB AND ITEECO.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCON ON FILCON.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMPRVDA ITEPRV ON ITEPRV.IDBANDEIRA = FILCON.IDBANPRECO AND ITEPRV.ESTAB = ITE.ESTAB AND ITEPRV.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.ITEMEMP ITEEMP ON ITEEMP.EMPRESA = FIL.EMPRESA AND ITEEMP.ESTABITEM = ITEEST.ESTABITEM AND ITEEMP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCAD ON FILCAD.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTBASE.ITEMAQUIS IAQ ON IAQ.ESTAB = ITEEST.ESTABITEM AND IAQ.IDITEM = ITEEST.IDITEM AND IAQ.IDBANDEIRA = FILCAD.IDBANCUSTO WHERE COALESCE(ITEMCP.TINTA, 'X') <> 'P' ORDER BY ITE.IDITEM;

 

V_VT_PRODUTOSMULT

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_PRODUTOSMULT AS SELECT ITEECO.CATEGS "categs", ITEEST.IDITEM "codigo", ITEECO.HTML "descricao", COALESCE(TO_CHAR(ITEECO.HTMLRESUMIDO),ITE.INFOADIC) "descricaoResumida", CAST(ITEEST.IDITEM AS INTEGER) "erpId", CASE WHEN ITEREP.IDLOCALRETIRADA IS NOT NULL AND ITEEMP.MULTIPLOVDA > 0 AND IT.UNIDADE = 'M2' THEN (VIASOFTMCP.GETSALDOITEMCARR (ESTLOC.ESTAB, ITEEST.ESTABITEM, ITEEST.IDITEM, ESTLOC.IDESTOQUELOCAL,3,DECODE(COALESCE(ITEREP.ESTABLOCALRET,0), 0, ITEEST.ESTAB,ITEREP.ESTABLOCALRET), DECODE(COALESCE(LOCRET.IDESTOQUELOCAL,0), 0, ITEEST.IDESTOQUELOCAL, LOCRET.IDESTOQUELOCAL), null, null, COALESCE(WECCON.SDOPRODLOCALRET, 'N')) - DECODE(WECCON.PLATAFORMA, 1, COALESCE(ITEECO.QTDEESGOTA,0), 0))/ITEEMP.MULTIPLOVDA WHEN ITEREP.IDLOCALRETIRADA IS NOT NULL THEN VIASOFTMCP.GETSALDOITEMCARR (ESTLOC.ESTAB, ITEEST.ESTABITEM, ITEEST.IDITEM, ESTLOC.IDESTOQUELOCAL,3,DECODE(COALESCE(ITEREP.ESTABLOCALRET,0), 0, ITEEST.ESTAB,ITEREP.ESTABLOCALRET), DECODE(COALESCE(LOCRET.IDESTOQUELOCAL,0), 0, ITEEST.IDESTOQUELOCAL, LOCRET.IDESTOQUELOCAL), null, null, COALESCE(WECCON.SDOPRODLOCALRET, 'N')) - DECODE(WECCON.PLATAFORMA, 1, COALESCE(ITEECO.QTDEESGOTA,0), 0) ELSE VIASOFTMCP.GETSALDOITEMCARR (ITEEST.ESTAB, ITEEST.ESTABITEM, ITEEST.IDITEM, ITEEST.IDESTOQUELOCAL,3,DECODE(COALESCE(ITEREP.ESTABLOCALRET,0), 0, ITEEST.ESTAB,ITEREP.ESTABLOCALRET), DECODE(COALESCE(LOCRET.IDESTOQUELOCAL,0), 0, ITEEST.IDESTOQUELOCAL, LOCRET.IDESTOQUELOCAL), null, null, COALESCE(WECCON.SDOPRODLOCALRET, 'N')) - DECODE(WECCON.PLATAFORMA, 1, COALESCE(ITEECO.QTDEESGOTA,0), 0) END "quantidade", ITEECO.QTDEESGOTA "quantidadeMinima", CASE WHEN ITEEST.USAMIX = 'N' THEN 1 WHEN ITEEST.USAECOMMERCE = 'N' THEN 1 WHEN COALESCE(WECCON.ENVPRODINAT,'N') = 'N' AND COALESCE(ITEREP.INATIVO,' ') IN ('S','A','T') THEN 1 WHEN CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END > 0 THEN 0 ELSE 1 END "inativo", COALESCE(ITEECO.DESCRICAOECOM,ITE.DESCRICAO) "nome", COALESCE(ITE.PESOBRUTO,ITE.PESOLIQUIDO,0) "peso", 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", COALESCE(ITEEMP.CODREF,CAST(ITEEST.IDITEM AS VARCHAR2(60))) "referencia", CASE WHEN COALESCE(ITEPRV.WECPRECONORMAL,0) > 0 THEN ITEPRV.WECPRECONORMAL ELSE VIASOFTSYS.ARREDONDAR(ITEPRV.PRECO * ( COALESCE(ITEPRV.WECPERCPRECO,100) /100),2) END "valorPreco", CAST(ITE.COMPRIMENTO AS VARCHAR2(200)) "volume_length", CAST(ITE.ALTURA AS VARCHAR2(200)) "volume_height", CAST(ITE.LARGURA AS VARCHAR2(200)) "volume_width", CAST(ITEECO.LEADTIME AS VARCHAR2(200)) "leadtime", MAR.IDMARCA "fabricanteId", MAR.DESCRICAO "marca", ITEECO.URLVIDEO "url_video", COALESCE(ITE.NROCODBARR,ITE.NROCODBARR1,ITE.NROCODBARR2) "codigoBarras", (SELECT LISTAGG(C2.ATRIBUTOWEC||'|'||IC2.OPCAO,';') WITHIN GROUP (ORDER BY IC2.IDCARACTER) FROM VIASOFTMCP.ITEMCARACTER IC2, VIASOFTMCP.CARACTER C2 WHERE C2.IDCARACTER = IC2.IDCARACTER AND C2.ATRIBUTOWEC IS NOT NULL AND IC2.ESTAB = ITEEST.ESTABITEM AND IC2.IDITEM = ITEEST.IDITEM) "atributos", ITE.DTALTERACAOSINC "dtAlteracaoSinc", ITEEST.DTALTERACAOSINC "dtAlteracaoSincEstoque", ITEPRV.DTALTERACAOSINC "dtAlteracaoSincPreco", ITEEST.ESTAB "estabItem", ITEECO.KEYWORDS "keyWords", ITEPRV.IDBANDEIRA "idBandeiraPreco", ITE.NCM "ncm", CASE WHEN COALESCE(ITEEST.USAECOMMERCE, 'N') = 'N' THEN 1 ELSE DECODE(COALESCE(ITEECO.VISIBILIDADE, 4), 0, 4, COALESCE(ITEECO.VISIBILIDADE, 4)) END "visibilidade", CASE WHEN IT.UNIDADE = 'M2' THEN IT.UNIDADE ELSE 'UN' END "unidade", ITEEMP.MULTIPLOVDA "multiploVenda", IAQ.CUSTOAQUIS "custoAquis", VIASOFTMCP.RETORNACUSTOMEDIO(ITEEST.ESTABITEM,ITEEST.IDITEM,SYSDATE) "custoMedio", (SELECT LISTAGG(IDAGREGADO,',') WITHIN GROUP (ORDER BY IDAGREGADO) "agredados" FROM VIASOFTMCP.ITEMAGREGADOS IAG WHERE IAG.IDITEM = ITEEST.IDITEM AND IAG.ESTAB = ITEEST.ESTABITEM) "prodAgregados", (SELECT LISTAGG(IDITEM,',') WITHIN GROUP (ORDER BY IDITEM) "similar" FROM VIASOFTMCP.ITEMCATEGORIA ITCAT WHERE ITCAT.ESTAB = ITEEST.ESTAB AND ITCAT.IDSIMILAR = ITECAT.IDSIMILAR AND ITCAT.IDITEM <> ITEEST.IDITEM) "prodSimilares" FROM VIASOFTMCP.ITEMESTAB ITEEST INNER JOIN VIASOFTBASE.ITEM ITE ON ITE.ESTAB = ITEEST.ESTABITEM AND ITE.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTBASE.ITEM IT ON IT.ESTAB = ITEEST.ESTABITEM AND IT.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.ITEMCATEGORIA ITECAT ON ITECAT.ESTAB = ITE.ESTAB AND ITECAT.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTBASE.MARCA MAR ON MAR.IDMARCA = ITECAT.IDMARCA LEFT JOIN VIASOFTMCP.WECCONFIG WECCON ON WECCON.ESTABEC = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMREPOSICAO ITEREP ON ITEREP.ESTAB = ITEEST.ESTAB AND ITEREP.ESTABITEM = ITEEST.ESTABITEM AND ITEREP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.LOCALRETIRADA LOCRET ON LOCRET.ESTAB = ITEREP.ESTABLOCALRET AND LOCRET.IDLOCALRETIRADA = ITEREP.IDLOCALRETIRADA LEFT JOIN VIASOFTBASE.ESTOQUELOCAL ESTLOC ON ESTLOC.IDESTOQUELOCAL = LOCRET.IDESTOQUELOCAL AND ESTLOC.ESTAB = ITEREP.ESTABLOCALRET LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP ON ITEMCP.ESTAB = ITEEST.ESTABITEM AND ITEMCP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTSYS.FILIAL FIL ON FIL.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMECOMMERCE ITEECO ON ITEECO.ESTAB = ITE.ESTAB AND ITEECO.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCON ON FILCON.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTMCP.ITEMPRVDA ITEPRV ON ITEPRV.IDBANDEIRA = FILCON.IDBANPRECO AND ITEPRV.ESTAB = ITE.ESTAB AND ITEPRV.IDITEM = ITE.IDITEM LEFT JOIN VIASOFTMCP.ITEMEMP ITEEMP ON ITEEMP.EMPRESA = FIL.EMPRESA AND ITEEMP.ESTABITEM = ITEEST.ESTABITEM AND ITEEMP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.FILIALCONFCAD FILCAD ON FILCAD.ESTAB = ITEEST.ESTAB LEFT JOIN VIASOFTBASE.ITEMAQUIS IAQ ON IAQ.ESTAB = ITEEST.ESTABITEM AND IAQ.IDITEM = ITEEST.IDITEM AND IAQ.IDBANDEIRA = FILCAD.IDBANCUSTO WHERE COALESCE(ITEMCP.TINTA, 'X') <> 'P' ORDER BY ITE.IDITEM;

 

3. Informações de Categoria do Produto

As categorias dos produtos serão obtidos a partir da View V_VT_CATEGORIAS. Ela consiste nas seguintes informações:

Campo

Tipo

Obr.

Informação

Campo

Tipo

Obr.

Informação

erpId

NUMBER(38)

S

Código da Categoria

nome

VARCHAR2(40)

S

Descrição da Categoria

parent

NUMBER

S

Nó Pai

dtAlteracaoSinc

TIMESTAMP(6)

S

Data da ultima Sincronização

 

 

4. Informações da Marca dos Produtos

As categorias dos produtos serão obtidos a partir da View V_VT_MARCA. Ela consiste nas seguintes informações:

Campo

Tipo

Obr.

Informação

Campo

Tipo

Obr.

Informação

erpId

NUMBER(38)

S

Código da Marca

nome

VARCHAR2(80 CHAR)

S

Descrição da Marca

dtAlteracaoSinc

TIMESTAMP(6)

S

Data da última Sincronização

 

 

5. Informações da Imagem do Produto

As categorias dos produtos serão obtidos a partir da View V_VT_IMAGEM. Ela consiste nas seguintes informações:

Campo

Tipo

Obr.

Informação

Campo

Tipo

Obr.

Informação

estabItem

NUMBER(38)

S

Estabelecimento do Item

erpId

VARCHAR2(20 CHAR)

S

Código do Item no ERP

imageId

NUMBER(38)

S

Código da Imagem

fileName

VARCHAR2(500 CHAR)

S

Nome do arquivo

image

BLOB

S

Imagem

type

VARCHAR2(10 CHAR)

S

Tipo

label

VARCHAR2(255)

S

Nome da Imagem

fileNameECommerce

VARCHAR2(500 CHAR)

S

Nome do arquivo no Ecommerce

dtAlteracaoSinc

TIMESTAMP(6)

S

Data da ultima sincronização

nome

VARCHAR2(120)

S

Nome