/
MCP - View de Produtos

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

 

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_CATEGORIAS ("erpId", "nome", "parent", "dtAlteracaoSinc") AS SELECT IDCATEG "erpId", DESCRICAO "nome", COALESCE(IDCATEGTOP, 0) "parent", DTALTERACAOSINC "dtAlteracaoSinc" FROM VIASOFTMCP.WECCATEG ORDER BY IDCATEG, IDCATEGTOP;

 

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

 

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_MARCA ("erpId", "nome", "dtAlteracaoSinc") AS SELECT IDMARCA "erpId", DESCRICAO "nome", DTALTERACAOSINC "dtAlteracaoSinc" FROM VIASOFTBASE.MARCA;

 

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

 

CREATE OR REPLACE VIEW VIASOFTVTRINA.V_VT_IMAGEM ("estabItem", "erpId", "imageId", "fileName", "image", "type", "label", "fileNameECommerce", "dtAlteracaoSinc", "nome") AS SELECT ITEEST.ESTAB "estabItem", ITEIMA.IDITEM "erpId", ITEIMA.IDITEMIMAGEM "imageId", ITEIMA.FILENAME "fileName", ITEIMA.IMAGEM "image", ITEIMA.WETIPO "type", ITEIMA.WEIMAGENAME "label", ITEIMA.FILENAMEECOMMERCE "fileNameECommerce", ITEIMA.DTALTERACAOSINC "dtAlteracaoSinc", COALESCE(ITEECO.DESCRICAOECOM, ITE.DESCRICAO) "nome" FROM VIASOFTMCP.ITEMIMAGEM ITEIMA LEFT JOIN VIASOFTMCP.ITEMESTAB ITEEST ON ITEEST.ESTABITEM = ITEIMA.ESTAB AND ITEEST.IDITEM = ITEIMA.IDITEM LEFT JOIN VIASOFTMCP.ITEMMCP ITEMCP ON ITEMCP.ESTAB = ITEEST.ESTABITEM AND ITEMCP.IDITEM = ITEEST.IDITEM LEFT JOIN VIASOFTMCP.ITEMECOMMERCE ITEECO ON ITEECO.IDITEM = ITEIMA.IDITEM AND ITEECO.ESTAB = ITEIMA.ESTAB JOIN VIASOFTBASE.ITEM ITE ON ITE.IDITEM = ITEIMA.IDITEM AND ITE.ESTAB = ITEIMA.ESTAB WHERE COALESCE(ITEMCP.TINTA, 'X') <> 'P';

Related content