--
-- Definition for view RDX_V_VENTASEDI : 
--

CREATE VIEW RDX_V_VENTASEDI
AS
SELECT
  RDX_CABVEN.NUMINF,
  RDX_ARTVEN.CLAVE1,
  RDX_ARTVEN.CLAVE2,
  RDX_ARTVEN.CLAVE3,
  RDX_LUGVEN.PERVENINI,
  RDX_ARTVEN.NUMTALON,
  RDX_LUGVEN.EANLUG,
  FILIAL = ISNULL(FILIAIS.FILIAL, RDX_LUGVEN.EANLUG),
  RDX_ARTVEN.EANVEN,
  LOJA_VENDEDORES.VENDEDOR AS CODVEN,
  VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN),
  RDX_ARTVEN.EANART,
  RDX_ARTVEN.CODCOM,
  produtos.PRODUTO,
  ISNULL(produtos.DESC_PRODUTO, '*** ERROR REFERENCIA  **** LLAMAR AL CI') AS DESC_PRODUTO,
  PRODUTOS_BARRA.COR_PRODUTO,
  PRODUTOS_BARRA.GRADE,
  produtos.TIPO_PRODUTO,
  produtos.GRUPO_PRODUTO,
  COLECOES.DESC_COLECAO,
  RDX_ARTVEN.VALVEN,
  RDX_ARTVEN.CANVEN,
  RDX_ARTVEN.CANDEV,
  RDX_ARTVEN.CANVENNET,
  RDX_ARTVEN.CANESP
FROM
  RDX_ARTVEN
  INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2)
  INNER JOIN RDX_CABVEN ON (RDX_LUGVEN.CLAVE1 = RDX_CABVEN.CLAVE1)
  left outer join RDX_FILIALES on (RDX_FILIALES.CODBARRA = RDX_LUGVEN.EANLUG)
  left outer join FILIAIS on (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
  LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG LIKE '%' + RDX_ARTVEN.EANVEN + '%')
  LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.EANART) or (PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.CODCOM))
  LEFT OUTER JOIN PRODUTOS on (produtos.PRODUTO = PRODUTOS_BARRA.PRODUTO)
  LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO)
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASEDI]
TO [public]
GO

--
-- Definition for view RDX_V_REFERENCIAS_RESUELTAS : 
--

CREATE VIEW RDX_V_REFERENCIAS_RESUELTAS
AS
SELECT *
FROM RDX_REFERENCIA_GENERICA
WHERE ESTADO = 'R'
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_REFERENCIAS_RESUELTAS]
TO [public]
GO


--
-- Definition for view RDX_V_VENTASEDI_RESUELTAS : 
--

CREATE VIEW RDX_V_VENTASEDI_RESUELTAS
AS
SELECT
  RDX_V_VENTASEDI.NUMINF,
  RDX_V_VENTASEDI.CLAVE1,
  RDX_V_VENTASEDI.CLAVE2,
  RDX_V_VENTASEDI.CLAVE3,
  RDX_V_VENTASEDI.PERVENINI,
  RDX_V_VENTASEDI.NUMTALON,
  RDX_V_VENTASEDI.EANLUG,
  RDX_V_VENTASEDI.FILIAL,
  RDX_V_VENTASEDI.EANVEN,
  RDX_V_VENTASEDI.CODVEN,
  RDX_V_VENTASEDI.VENDEDOR,
  EANART = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART),
  RDX_V_VENTASEDI.CODCOM,
  PRODUTO = ISNULL(PRODUTOS_BARRA.PRODUTO, RDX_V_VENTASEDI.PRODUTO),
  DESC_PRODUTO = ISNULL(PRODUTOS.DESC_PRODUTO, RDX_V_VENTASEDI.DESC_PRODUTO),
  COR_PRODUTO = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, RDX_V_VENTASEDI.COR_PRODUTO),
  GRADE = ISNULL(PRODUTOS_BARRA.GRADE, RDX_V_VENTASEDI.GRADE),
  TIPO_PRODUTO = ISNULL(PRODUTOS.TIPO_PRODUTO, RDX_V_VENTASEDI.TIPO_PRODUTO),
  GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO),
  DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO),
  RDX_V_VENTASEDI.VALVEN,
  RDX_V_VENTASEDI.CANVEN,
  RDX_V_VENTASEDI.CANDEV,
  RDX_V_VENTASEDI.CANVENNET,
  RDX_V_VENTASEDI.CANESP
FROM RDX_V_VENTASEDI
LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON (
     (RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND
     (RDX_V_REFERENCIAS_RESUELTAS.CLAVE1 = RDX_V_VENTASEDI.CLAVE1) AND
     (RDX_V_REFERENCIAS_RESUELTAS.CLAVE2 = RDX_V_VENTASEDI.CLAVE2) AND
     (RDX_V_REFERENCIAS_RESUELTAS.CLAVE3 = RDX_V_VENTASEDI.CLAVE3))
LEFT JOIN PRODUTOS_BARRA ON (
     (PRODUTOS_BARRA.CODIGO_BARRA = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART)))
LEFT JOIN PRODUTOS ON (
     (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO))
LEFT JOIN COLECOES ON (
     (COLECOES.COLECAO = PRODUTOS.COLECAO))
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASEDI_RESUELTAS]
TO [public]
GO


--
-- Definition for view RDX_V_VENTASEDI_ERRONEAS : 
--

CREATE VIEW RDX_V_VENTASEDI_ERRONEAS
AS
SELECT
*
FROM
  RDX_V_VENTASEDI
WHERE PRODUTO = '107CH.EN.01'
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASEDI_ERRONEAS]
TO [public]
GO

--
-- Definition for view RDX_V_VENTASTERMINADAS : 
--

CREATE VIEW RDX_V_VENTASTERMINADAS
AS
SELECT
  NUMINF,
  CLAVE1,
  CLAVE2,
  CLAVE3,
  PERVENINI AS FECHA,
  DAY(PERVENINI) AS DIA,
  DATENAME(DW, PERVENINI) DIASEMANA,
  DATENAME(MONTH, PERVENINI) AS MES,
  YEAR(PERVENINI) AS ANO,
  FILIAL AS CENTRO,
  VENDEDOR,
  NUMTALON,
  PRODUTO AS CODIGO,
  DESC_PRODUTO AS PRODUCTO,
  GRUPO_PRODUTO AS GRUPOPRODUCTO,
  TIPO_PRODUTO AS TIPOPRODUCTO,
  DESC_COLECAO AS COLECCION,
  COR_PRODUTO AS COLOR,
  GRADE AS TALLA,
  TALLA38 = CASE WHEN (GRADE = 38) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  TALLA40 = CASE WHEN (GRADE = 40) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  TALLA42 = CASE WHEN (GRADE = 42) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  TALLA44 = CASE WHEN (GRADE = 44) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  TALLA46 = CASE WHEN (GRADE = 46) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  TALLA48 = CASE WHEN (GRADE = 48) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END,
  VENTAS = CASE WHEN (CANVEN > 0) THEN CANVEN ELSE 0 END +
           CASE WHEN (CANVENNET > 0) THEN CANVENNET ELSE 0 END,

  DEVOLUCIONES = CASE WHEN (CANVEN < 0) THEN CANVEN ELSE 0 END +
           CASE WHEN (CANVENNET < 0) THEN CANVENNET ELSE 0 END,

  TOTAL = ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0),
  VALVEN = CASE WHEN (VALVEN > 0) THEN VALVEN ELSE 0 END,
  VALDEV = CASE WHEN (VALVEN < 0) THEN VALVEN ELSE 0 END,
  VALTOT = VALVEN
FROM
  RDX_V_VENTASEDI_RESUELTAS
WHERE NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0)))	/* QUITAR COMPOSTURAS */
AND (CANESP IS NULL OR CANESP = 0)	/* QUITAR INICIO V.PROCESO */
AND (VALVEN IS NOT NULL)	/* QUITAR CAMBIO DE TALLA */
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASTERMINADAS]
TO [public]
GO


--
-- Definition for view RDX_V_VENTASPROCESO : 
--

CREATE VIEW RDX_V_VENTASPROCESO AS
SELECT
  NUMINF,
  CLAVE1,
  CLAVE2,
  CLAVE3,
  PERVENINI AS FECHA,
  DAY(PERVENINI) AS DIA,
  DATENAME(DW, PERVENINI) DIASEMANA,
  DATENAME(MONTH, PERVENINI) AS MES,
  YEAR(PERVENINI) AS ANO,
  FILIAL AS CENTRO,
  VENDEDOR,
  NUMTALON,
  PRODUTO AS CODIGO,
  DESC_PRODUTO AS PRODUCTO,
  GRUPO_PRODUTO AS GRUPOPRODUCTO,
  TIPO_PRODUTO AS TIPOPRODUCTO,
  DESC_COLECAO AS COLECCION,
  COR_PRODUTO AS COLOR,
  GRADE AS TALLA,
  CANESP AS INICIO,
  CANVENNET AS FINAL,
  VALVEN AS IMPORTE
FROM
  RDX_V_VENTASEDI_RESUELTAS
WHERE ((CANESP IS NOT NULL) OR (CANVENNET IS NOT NULL))
AND NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0)))	/* QUITAR COMPOSTURAS */
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASPROCESO]
TO [public]
GO


--
-- Definition for view RDX_V_VENTASPROCESOPENDIENTES : 
--

CREATE VIEW RDX_V_VENTASPROCESOPENDIENTES AS
SELECT NUMTALON,
	CODIGO,
	COLOR,
	TALLA,
	SUM(ISNULL(INICIO, 0)) AS INICIO,
	SUM(ABS(ISNULL(FINAL, 0))) AS FINAL
FROM RDX_V_VENTASPROCESO
GROUP BY NUMTALON, CODIGO, COLOR, TALLA
HAVING ((SUM(ISNULL(INICIO, 0)) <> 0) AND
			  (SUM(ISNULL(INICIO, 0)) > SUM(ABS(ISNULL(FINAL, 0)))))
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_VENTASPROCESOPENDIENTES]
TO [public]
GO



--------------- SQL ---------------

--
-- Definition for view RDX_V_REFERENCIA_GENERICA : 
--

CREATE VIEW RDX_V_REFERENCIA_GENERICA
AS
SELECT DISTINCT
  VENTAS.NUMINF,
  VENTAS.CLAVE1,
  VENTAS.CLAVE2,
  VENTAS.CLAVE3,
  VENTAS.PERVENINI AS FECHA,
  VENTAS.EANLUG AS CODCENTRO,
  VENTAS.FILIAL AS CENTRO,
  VENTAS.EANVEN AS CODVENDEDOR,
  VENTAS.VENDEDOR,
  VENTAS.NUMTALON,
  CODIGO_BARRA = ISNULL(PRODUTOS_BARRA.CODIGO_BARRA, VENTAS.EANART),
  CODIGO = ISNULL(PRODUTOS_BARRA.PRODUTO, VENTAS.PRODUTO),
  PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, VENTAS.DESC_PRODUTO),
  COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, VENTAS.COR_PRODUTO),
  TALLA = ISNULL(PRODUTOS_BARRA.GRADE, VENTAS.GRADE),
  VENTAS.CANESP AS VTAPROCESO,
  VENTAS.CANVENNET AS VTAFINAL,
  VTATERM = VENTAS.CANVEN,
  VALTOT = VENTAS.VALVEN,
  REF.ESTADO,
  REF.FECHACAMBIO
FROM RDX_V_VENTASEDI_ERRONEAS VENTAS
LEFT OUTER JOIN RDX_REFERENCIA_GENERICA REF ON
     (REF.NUMINF = VENTAS.NUMINF AND REF.CLAVE1 = VENTAS.CLAVE1 AND
      REF.CLAVE2 = VENTAS.CLAVE2 AND REF.CLAVE3 = VENTAS.CLAVE3)
LEFT OUTER JOIN PRODUTOS_BARRA on
     (PRODUTOS_BARRA.CODIGO_BARRA = REF.CODIGO_BARRA)
LEFT OUTER JOIN PRODUTOS ON
     (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
WHERE NOT ((VENTAS.VALVEN < 1) AND (VENTAS.VALVEN > 0)) /* QUITAR COMPOSTURAS */
GO

GRANT SELECT, INSERT, DELETE, REFERENCES, UPDATE
ON [RDX_V_REFERENCIA_GENERICA]
TO [public]
GO


