
/*------ ATD 438121 ------*/
CREATE OR REPLACE VIEW FORMAPAG_X_TIPODOC_V
AS
SELECT F.OID AS OIDFormaPagamento, F.NOME AS NomeFormaPagamento, 
TD.OID AS OIDTipoDocumento, TD.NOME AS NomeTipoDocumento, TD.CID AS CIDTipoDocumento
FROM ITEMRELACIONADO IR
 JOIN ITEM F ON F.OID = IR.RGRUPO
 JOIN ITEM TD ON TD.OID = IR.RITEM
WHERE IR.RPAPEL = 28996;

CREATE OR REPLACE VIEW FORMAPAG_X_AREAVENDA_V
AS
SELECT F.OID AS OIDFormaPagamento, F.NOME AS NomeFormaPagamento, 
AV.OID AS OIDAreaVenda, AV.NOME AS NomeAreaVenda
FROM AGRUPAMENTO A
 JOIN ITEM AV ON AV.OID = A.RGRUPO
 JOIN ITEM F ON F.OID = A.RITEM
WHERE A.RPAPEL = 27788;

CREATE OR REPLACE VIEW TIPODOC_X_AREAVENDA_V
AS
SELECT TD.OID AS OIDTipoDocumento, TD.NOME AS NomeTipoDocumento, TD.CID AS CIDTipoDocumento,
AV.OID AS OIDAreaVenda, AV.NOME AS NomeAreaVenda
FROM AGRUPAMENTO A
 JOIN ITEM AV ON AV.OID = A.RGRUPO
 JOIN ITEM TD ON TD.OID = A.RITEM
WHERE A.RPAPEL = 27789;

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

CREATE OR REPLACE VIEW PARAMETROSFILIAIS_V
AS 
SELECT X.NOME AS FILIAL, COD.SVALOR AS CODFILIAL, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDFILIAL, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM FILIAL_R X
 JOIN ADITIVO COD ON COD.RITEM = X.OID AND COD.RDEFINICAO = 9054
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 11767
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSEMPRESAS_V
AS 
SELECT X.NOME AS EMPRESA, COD.SVALOR AS CODEMPRESA, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDEMPRESA, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM EMPRESA_R X
 JOIN ADITIVO COD ON COD.RITEM = X.OID AND COD.RDEFINICAO = 9054
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 2376
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;


CREATE OR REPLACE VIEW PARAMETROSUSUARIOS_V
AS 
SELECT X.NOME AS USUARIO, P.NOME AS PARAMETRO, 
(CASE WHEN (ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 OR P.OIDPARAMETRO = 34806) THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDUSUARIO, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM USUARIO_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 2071
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;


CREATE OR REPLACE VIEW PARAMETROSCLIENTES_V
AS 
SELECT X.NOME AS CLIENTE, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDCLIENTE, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM CLIENTE_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 10172
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSFORNECEDORES_V
AS 
SELECT X.NOME AS FORNECEDOR, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDFORNECEDOR, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM FORNECEDOR_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 10450
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSFORMASDEPAGAMENTO_V
AS 
SELECT X.NOME AS FORMADEPAGAR, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDFORMADEPAGAR, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM FORMADEPAGAR_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 16258
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSPESSOASBANCARIAS_V
AS 
SELECT X.NOME AS PESSOABANCARIA, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDPESSOABANCARIA, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM PESSOABANCARIA_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 27629
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSESTADOS_V
AS 
SELECT X.NOME AS PROVINCIA, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDPROVINCIA, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM PROVINCIA_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 38170
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSCAIXASCONTAS_V
AS 
SELECT X.NOME AS CAIXABANCARIA, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDCAIXABANCARIA, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM CAIXABANCARIA_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 27024
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSFINANCEIRAS_V
AS 
SELECT X.NOME AS FINANCEIRA, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDFINANCEIRA, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM FINANCEIRA_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 22670
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW PARAMETROSREPRESENTANTES_V
AS 
SELECT X.NOME AS REPRESENTANTE, P.NOME AS PARAMETRO, 
(CASE WHEN ISNULL(LEN(RTRIM(A.SVALOR)),0) > 0 THEN A.SVALOR ELSE P.VALORGERAL END) AS VALOR, 
P.NOMEINTERNO, X.OID AS OIDREPRESENTANTE, A.SVALOR AS VALORINDIVIDUAL, P.VALORGERAL, 
P.OIDPARAMETRO, A.RDEFINICAO, A.OID AS OIDADITIVO
FROM REPRESENTANTE_R X
 JOIN PARAMETROS_R P ON P.OIDUTILIZADO = 20303
 LEFT JOIN ADITIVO A ON A.RITEM = X.OID AND A.RDEFINICAO = P.RDEFINICAO
WHERE X.OID != 7;

CREATE OR REPLACE VIEW FILIAISAUTORIZADAS_V
AS
SELECT US.NOME AS Usuario, F.FILIAL, F.NOME AS NomeFilial, (CASE WHEN UT.RUNIDADE = 10449 THEN 'S' ELSE 'N' END) Padrao, US.OID AS OIDUsuario, F.OID AS OIDFilial
FROM UTILIZACAO UT
 JOIN FILIALCAD F ON F.OID = UT.RUTILIZADO
 JOIN USUARIO_R US ON US.OID = UT.RITEM
WHERE F.OID != 7 AND US.OID != 7;

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;
