
/*------ ATD 425436 ------*/

CREATE OR REPLACE VIEW PARAMETROS_V
AS 
SELECT P.NOME, A.SVALOR AS VALORGERAL, U.NOME AS UTILIZADO, DOMINIO.NOME AS DOMINIO, P.NOMEINTERNO, 
P.OBSERVACAO, D.INFORMACAOMU, P.OID AS OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO, D.RDOMINIO, 
U.OID AS OIDUTILIZADO, D.RLISTA
FROM CATEGORIA_R P
 JOIN CATEGORIA_R U ON U.OID = P.RSUPER  
 JOIN DADOADICIONAL D ON D.RTIPO = P.OID
 JOIN ADITIVO A ON A.RDEFINICAO = D.OID 
 JOIN ITEM DOMINIO ON DOMINIO.OID = D.RDOMINIO 
WHERE U.RSUPER = 2020 AND U.OID < 100000 
AND A.OID < 100000;

CREATE OR REPLACE VIEW PARAMETROSCONFIGURADOS_V
AS 
SELECT I.NOME AS NOMEITEM, P.NOME AS PARAMETRO, P.UTILIZADO, A.SVALOR AS VALOR, P.VALORGERAL, 
I.OID AS OIDITEM, P.NOMEINTERNO, P.OBSERVACAO AS OBSERVACAOPARAMETRO, P.OIDPARAMETRO, 
A.OID AS OIDADITIVO, P.RLISTA
FROM ADITIVO A
 JOIN ITEM_R I ON A.RITEM = I.OID
 JOIN PARAMETROS_V P ON A.RDEFINICAO = P.RDEFINICAO
WHERE A.OID > 100000;

CREATE OR REPLACE VIEW PARAMETROSTPO_V
AS 
SELECT T.OID OIDTPO, T.NOME, T.HIERARQUIAMASCARA, T.HIERARQUIANUMERO, T.CODIGO, TI.QUESTAO PARAMETRO, (SELECT RTRIM(I.VALOR) VALOR
	FROM TPO_R TPO 
	 JOIN DESCENDENCIATPO D ON TPO.OID =D.RSUB 
	 JOIN TPOINTERFERENCIA I ON I.RTPO = D.RSUPER AND I.RTPOINTEGRACAO = TI.OID 
	 JOIN (SELECT TPO.HIERARQUIAMASCARA, MIN(D.NIVEL) NIVEL 
				FROM TPO_R TPO 
				 JOIN DESCENDENCIATPO D ON TPO.OID =D.RSUB 
				 JOIN TPOINTERFERENCIA I ON I.RTPO = D.RSUPER AND I.RTPOINTEGRACAO = TI.OID 
				GROUP BY TPO.HIERARQUIAMASCARA) X ON X.HIERARQUIAMASCARA = TPO.HIERARQUIAMASCARA AND X.NIVEL = D.NIVEL 
	WHERE TPO.OID > 7 
	   AND TPO.OID = T.OID) VALOR, TI.NOMEINTERNO, TI.OID OIDPARAMETRO
FROM TPO_R T
 JOIN TPOINTEGRACAO TI ON 1=1
WHERE T.OID > 7 AND TI.OID > 7;

CREATE OR REPLACE VIEW LOGPARAMETROS_V
AS 
SELECT P.NOME AS PARAMETRO, U.NOME AS UTILIZADO, 
(CASE WHEN L.RITEM = 1 AND U.OID != 2071 THEN '[Geral]' ELSE I.NOME END) AS NOMEITEM, 
L.RITEM AS OIDITEM,
L.DATAALTERACAO, L.SVALORANTERIOR, L.SVALORATUAL, USU.NOME AS USUARIO, 
L.ESTACAO,
DOMINIO.NOME AS DOMINIO, P.NOMEINTERNO, 
P.OID AS OIDPARAMETRO, L.RDEFINICAO, D.RDOMINIO, 
U.OID AS OIDUTILIZADO, L.RUSUARIO
FROM PARAMETROSLOG L
 JOIN DADOADICIONAL D ON D.OID = L.RDEFINICAO
 JOIN CATEGORIA_R P ON P.OID = D.RTIPO
 JOIN CATEGORIA_R U ON U.OID = P.RSUPER 
 JOIN ITEM DOMINIO ON DOMINIO.OID = D.RDOMINIO 
 JOIN ITEM I ON I.OID = L.RITEM
 JOIN ITEM USU ON USU.OID = L.RUSUARIO;

CREATE OR REPLACE VIEW LOGPARAMETROSTPO_V
AS 
SELECT L.RTPOINTEGRACAO, L.RTPO, L.DATAALTERACAO, L.SVALORANTERIOR, L.SVALORATUAL, 
L.RUSUARIO, L.ESTACAO, TI.QUESTAO, T.HIERARQUIAMASCARA,
T.NOME AS NOMETPO, T.HIERARQUIANUMERO, T.CODIGO AS CODIGOTPO, TI.NOMEINTERNO
FROM PARAMETROSTPOLOG L
 JOIN TPO_R T ON T.OID = L.RTPO
 JOIN TPOINTEGRACAO TI ON TI.OID = L.RTPOINTEGRACAO;

CREATE OR REPLACE VIEW PRODUTO_ECOMMERCE_SEM_VARIACAO_V
AS
SELECT P.*, 
S.CODPRO, S.PRECO, S.PRECODELISTA, S.PERCACRESCIMOPRECOLISTA, S.ALTURA, S.COMPRIMENTO, 
S.LARGURA, S.PESOKG, S.PESOCUBICO, S.MULTIPLICADORUNIDADE, S.UNIDADE, S.MODALIDADEFRETE, 
S.KIT, S.ALTURAREAL, S.COMPRIMENTOREAL, S.LARGURAREAL, S.PESOREALKG, 
S.ESTOQUEINFINITO, S.OFERTAINICIO, S.OFERTAFIM, S.CODIGOEAN
FROM PRODUTO_ECOMMERCE P
 JOIN SKU_PRODUTO_ECOMMERCE S ON S.ID = P.RSKUECOMMERCE AND S.PRODUTOSEMVARIACAO = 1
WHERE P.POSSUIVARIACAO = 0;

CREATE OR REPLACE VIEW PRODUTO_ECOMMERCE_VARIACAO_V
AS
SELECT S.*, P.NOME AS NOME_PRODUTO, P.RMARCAECOMMERCE AS RMARCAECOMMERCE_PRODUTO, P.DESCRICAO AS DESCRICAO_PRODUTO, 
P.MODELO AS MODELO_PRODUTO, P.RCARACTERISTICAVARIACAO1, P.RCARACTERISTICAVARIACAO2
FROM SKU_PRODUTO_ECOMMERCE S
 JOIN PRODUTO_ECOMMERCE P ON P.ID = S.RPRODUTOECOMMERCE
WHERE S.PRODUTOSEMVARIACAO = 0 AND P.POSSUIVARIACAO = 1;

CREATE OR REPLACE VIEW PRODUTO_ECOMMERCE_CAPA_V
AS
SELECT P.*
FROM PRODUTO_ECOMMERCE P
WHERE P.POSSUIVARIACAO = 1;

CREATE OR REPLACE VIEW PLATAFORMA_ECOMMERCE_V  
AS  
SELECT C.NOME, C.CODIGO AS IDENTIFICADOR,   
(CASE WHEN P.OID > 100000 THEN O.NOME ELSE C.NOME END) ORIGEM,   
(CASE WHEN P.OID > 100000 THEN O.OID ELSE C.OID END) OIDORIGEM, P.*  
FROM PLATAFORMA_ECOMMERCE P  
 JOIN CATEGORIA_R C ON C.OID = P.OID  
 JOIN ITEM O ON O.OID = C.RSUPER;
