Aut. Cml. - 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 | Informação |
---|---|---|
categs | varchar(200) | categoria do item no e-commerce |
codigo | varchar(20) | cód. Item no ERP |
descricao | blob | descrição detalhada do produto (HTML) |
descricaoResumida | varchar(4000) | descrição resumida do produto (HTML) |
erpId | varchar(20) | cód.Item no ERP |
quantidade | number | quantidade em estoque |
quantidadeMinima | number | quantidade mínima de estoque |
inativo | number | ativo ou inativo |
nome | varchar(120) | descrição do item |
peso | number | peso do produto |
dataInicio | date | data inicial da promoção |
dataFim | date | data final da promoção |
valorPrecoPromocional | number | valor do preço promocional |
referencia | varchar(60) | referência do produto |
valorPreco | number | valor do preço |
volume_length | varchar(200) | comprimento do produto |
volume_height | varchar(200) | altura do produto |
volume_width | varchar(200) | largura do produto |
marca | varchar(80) | descrição da marca |
codigoBarras | varchar(30) | código de barras do produto |
atributos | varchar(4000) | características do produto |
dtAlteracaoSinc | timestamp | data da última sincronização |
dtAlteracaoSincEstoque | timestamp | data da última sincronização do estoque |
dtAlteracaoSincPreco | timestamp | data da última sincronização do preço |
estabItem | number | estabelecimento do item |
ncm | varchar(8) | ncm do produto |
visibilidade | number | tipo de visibilidade do produto |
categs | varchar(200) | categoria do item no e-commerce |
codigo | varchar(20) | cód. Item no ERP |
descricao | blob | descrição detalhada do produto (HTML) |
descricaoResumida | varchar(4000) | descrição resumida do produto (HTML) |
erpId | varchar(20) | cód.Item no ERP |
quantidade | number | quantidade em estoque |
quantidadeMinima | number | quantidade mínima de estoque |
inativo | number | ativo ou inativo |
nome | varchar(120) | descrição do item |
peso | number | peso do produto |
dataInicio | date | data inicial da promoção |
V_VT_PRODUTOS
CREATE OR ALTER VIEW V_VT_PRODUTOS(
"categs",
"codigo",
"descricao",
"descricaoResumida",
"erpId",
"quantidade",
"quantidadeMinima",
"inativo",
"nome",
"peso",
"dataInicio",
"dataFim",
"valorPrecoPromocional",
"referencia",
"valorPreco",
"volume_length",
"volume_height",
"volume_width",
"marca",
"codigoBarras",
"atributos",
"dtAlteracaoSinc",
"dtAlteracaoSincEstoque",
"dtAlteracaoSincPreco",
"estabItem",
"ncm",
"visibilidade",
"unidade",
"multiploVenda",
"custoAquis"
) AS
SELECT
( SELECT LIST(CI.CATEGORIA) FROM CATEGORIAITEM CI
WHERE CI.empresa = ITEEST.EMPRESA
AND CI.ESTABitem = ITEEST.ESTABITEM
AND CI.ITEM = ITEEST.ITEM
) "categs",
ITEEST.ITEM "codigo",
ITEECO.HTML "descricao",
SUBSTRING(ITEECO.HTMLRESUMIDO FROM 1 FOR 32000) "descricaoResumida",
CAST(ITEEST.ITEM AS INTEGER) "erpId",
EST.SALDO "quantidade",
COALESCE(ITEECO.QTDEESGOTADO,0) "quantidadeMinima",
CASE
WHEN COALESCE(ITEECO.VISIBILIDADE, 1) = 1 THEN 1
ELSE 0
END "inativo",
COALESCE(ITEECO.DESCRICAO,ITE.DESCRICAO) "nome",
COALESCE(ITE.PESOITEM,ITE.PESOLIQ,0) "peso",
ITEECO.PROMOINI "dataInicio",
ITEECO.PROMOFIM "dataFim",
CASE
WHEN ITEECO.PROMOINI IS NOT NULL AND ITEECO.PROMOFIM IS NOT NULL THEN ITEEST.PRPROMOCAO
ELSE 0
END "valorPrecoPromocional",
CAST(ITEEST.ITEM AS INTEGER) "referencia",
CASE
WHEN COALESCE(ITEPRV.PRVDAATUAL,0) > 0 THEN ITEPRV.PRVDAATUAL
ELSE 0
END "valorPreco",
CAST(ITEECO.comprimento AS VARCHAR(200)) "volume_length",
CAST(ITEECO.ALTURA AS VARCHAR(200)) "volume_height",
CAST(ITEECO.LARGURA AS VARCHAR(200)) "volume_width",
MAR.DESCRICAO "marca",
COALESCE(ITE.NROCODBARR,ITE.NROCODBARR2,ITE.NROCODBARR3) "codigoBarras",
( SELECT LIST(AI.VALOR,',') FROM ATRIBUTOITEM AI
WHERE AI.ESTABITEM = ITEEST.EMPRESA
AND AI.ESTABITEM = ITEEST.ESTABITEM
AND AI.ITEM = ITEEST.ITEM
) AS "atributos",
ITE.ULTALTVT "dtAlteracaoSinc",
ITE.ULTALTVT "dtAlteracaoSincEstoque",
ITE.ULTALTVT "dtAlteracaoSincPreco",
ITEEST.ESTABITEM "estabItem",
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",
ITE.UNIDADE "unidade",
1 "multiploVenda",
CAQ.PNCUSTOAQUIS "custoAquis"
FROM ITEMESTAB ITEEST
INNER JOIN ITEM ITE ON ITE.EMPRESA = ITEEST.ESTABITEM AND ITE.ITEM = ITEEST.ITEM
LEFT JOIN PMARCAS MAR ON MAR.MARCA = ITE.MARCA
LEFT JOIN ITEMECOMMERCE ITEECO ON ITEECO.EMPRESA = ITE.EMPRESA AND ITEECO.IDITEM = ITE.ITEM
LEFT JOIN PPRVDITE ITEPRV ON ITEPRV.ESTABITEM = ITEEST.ESTABITEM AND ITEPRV.EMPRESA = ITEEST.EMPRESA AND ITEPRV.ITEM = ITEEST.ITEM
INNER JOIN PRETORNASALDOITEM(ITEEST.ESTABITEM, ITEEST.ITEM, ITEEST.EMPRESA, CURRENT_DATE, NULL) EST ON (0 = 0)
INNER JOIN PRETORNACUSTOAQUIS(ITEEST.ESTABITEM, ITEEST.ITEM, ITEEST.EMPRESA, CURRENT_DATE) CAQ ON 0=0
WHERE ITEEST.USAECOMMERCE = 'S'
ORDER BY ITE.ITEM
;
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 | Informação |
---|---|---|
erpId | number | código da marca |
nome | varchar(60) | descrição da marca |
parent | number | nó pai |
dtAlteracaoSinc | timestamp | data da última sincronização |
CREATE OR ALTER VIEW V_VT_CATEGORIAS(
"erpId",
"nome",
"parent",
"dtAlteracaoSinc"
) AS
SELECT
C.CODIGO "erpId",
C.NOME "nome",
COALESCE(C.PAI,0)"parent",
C.ULTALT "dtAlteracaoSinc"
FROM CATEGORIA C
ORDER BY
C.CODIGO,
C.PAI
;
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 | Informação |
---|---|---|
erpId | number | código da marca |
nome | varchar(60) | descrição da marca |
CREATE OR ALTER VIEW V_VT_MARCAS (
"erpId",
"nome"
) AS
SELECT
M.MARCA "erpId",
M.DESCRICAO "nome"
FROM PMARCAS M
ORDER BY
M.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 | Informação |
---|---|---|
estabItem | number | estabelecimento do item |
erpId | varchar(20) | cód. Item no ERP |
imageId | number | cód. imagem |
fileName | varchar(300) | nome do arquivo |
type | varchar(10) | tipo |
dtAlteracaoSinc | timestamp | data da última sincronização |
nome | varchar(120) | nome do item |