DROP VIEW [RDX_V_CONTROL_INVENTARIO]
GO
DROP VIEW [RDX_V_INVENTARIO_STOCK_DESGLOSADO]
GO
DROP VIEW [RDX_V_STOCK_CALCULADO_DESGLOSADO]
GO
DROP VIEW [RDX_V_STOCK_CALCULADO]
GO
DROP VIEW [RDX_V_STOCK]
GO
DROP VIEW [RDX_V_STOCK_VENTAS]
GO
DROP VIEW [RDX_V_STOCK_INVENTARIO]
GO
DROP VIEW [RDX_V_STOCK_VARELA]
GO


/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_STOCK_VARELA AS
SELECT ESTOQUE_PRODUTOS.FILIAL,
       ESTOQUE_PRODUTOS.PRODUTO AS CODIGO,
       ESTOQUE_PRODUTOS.COR_PRODUTO AS COLOR,
       PRODUCTO = PRODUTOS.DESC_PRODUTO,
       PRODUTOS.TIPO_PRODUTO,
       PRODUTOS.GRUPO_PRODUTO,
       COLECCION = PRODUTOS.COLECAO,
       ESTOQUE_PRODUTOS.ES1 as K38,
       ESTOQUE_PRODUTOS.ES2 as K40,
       ESTOQUE_PRODUTOS.ES3 as K42,
       ESTOQUE_PRODUTOS.ES4 as K44,
       ESTOQUE_PRODUTOS.ES5 as K46,
       ESTOQUE_PRODUTOS.ES6 as K48,
       ESTOQUE_PRODUTOS.ESTOQUE as KT

FROM ESTOQUE_PRODUTOS
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO)
WHERE FILIAL LIKE '%VARELA IMAGEN Y DISEÑO%'
GO

/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_STOCK_INVENTARIO AS
SELECT
      FECHA = ISNULL(RDX_V_INVENTARIOEDI.FECHA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA))),
      CENTRO = ISNULL(RDX_V_INVENTARIOEDI.CENTRO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO))),
      FILIAL = ISNULL(RDX_V_INVENTARIOEDI.FILIAL, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FILIAL, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FILIAL, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FILIAL))),
      CODIGO = ISNULL(RDX_V_INVENTARIOEDI.CODIGO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO))),
      PRODUCTO = ISNULL(RDX_V_INVENTARIOEDI.PRODUCTO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.PRODUCTO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.PRODUCTO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.PRODUCTO))),
      COLOR = ISNULL(RDX_V_INVENTARIOEDI.COLOR, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR))),
      TALLA = ISNULL(RDX_V_INVENTARIOEDI.TALLA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA))),
      CANTIDAD = ISNULL(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_INVENTARIOEDI.CANTIDAD))),
      OPERACION = CASE RDX_V_INVENTARIOEDI.TIPOCANT
                       WHEN '194' THEN 'R'
                       WHEN '46' THEN 'E'
                       WHEN '145' THEN 'RM'
                       WHEN '48' THEN 'S'
                       WHEN '61' THEN 'D'
                       WHEN '65' THEN 'T'
                       ELSE
                            CASE
                                WHEN RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN 'R'
                                WHEN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN 'D'
                                ELSE RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO
                            END
                  END
FROM RDX_V_INVENTARIOEDI
FULL OUTER JOIN RDX_V_RECEPCION_AJUSTES_DESGLOSADO ON
     (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
     (RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
     (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
     (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
     (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
     (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
FULL OUTER JOIN RDX_V_TRASPASOS_AJUSTES_DESGLOSADO ON
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO2 = RDX_V_INVENTARIOEDI.CENTRO2) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) AND
     (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO = RDX_V_INVENTARIOEDI.TIPOCANT)
FULL OUTER JOIN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO ON
     (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND
     (RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND
     (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND
     (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND
     (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND
     (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA)
GO

/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_STOCK_VENTAS AS
SELECT
  PERVENINI AS FECHA,
  DAY(PERVENINI) AS DIA,
  DATENAME(DW, PERVENINI) DIASEMANA,
  DATENAME(MONTH, PERVENINI) AS MES,
  YEAR(PERVENINI) AS ANO,
  EANLUG AS CENTRO,
  FILIAL AS FILIAL,
  CODIGO = ISNULL(PRODUTO, '107CH.EN.01'),
  DESC_PRODUTO AS PRODUCTO,
  GRUPO_PRODUTO AS GRUPOPRODUCTO,
  TIPO_PRODUTO AS TIPOPRODUCTO,
  COLECAO AS COLECCION,
  COLOR = ISNULL(COR_PRODUTO, '300'),
  GRADE AS TALLA,
  CANTIDAD = ISNULL(CANVEN, 0)
             +
             CASE
                 WHEN ISNULL(CANVENNET, 0) < 0 THEN
                      ISNULL(CANVENNET, 0)
                 ELSE 0
             END
             +
             ISNULL(CANESP, 0)
FROM
  RDX_V_VENTASEDI_RESUELTAS
WHERE NOT ((DESC_PRODUTO LIKE '%ERROR REFERENCIA%') AND ((VALVEN < 1) AND (VALVEN > 0)))	/* QUITAR COMPOSTURAS */
GO

/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_STOCK AS
SELECT
      FECHA = ISNULL(RDX_V_STOCK_INVENTARIO.FECHA, RDX_V_STOCK_VENTAS.FECHA),
      CENTRO = ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO),
      FILIAL = ISNULL(RDX_V_STOCK_INVENTARIO.FILIAL, RDX_V_STOCK_VENTAS.FILIAL),
      CODIGO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO),
      PRODUCTO = ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO),
      TIPO_PRODUCTO = PRODUTOS.TIPO_PRODUTO,
      GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO,
      COLECCION = PRODUTOS.COLECAO,
      COLOR = ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR),
      E38 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '38') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'S')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      E40 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '40') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'M')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      E42 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '42') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'L')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      E44 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '44') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'XL')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      E46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
                 WHEN '46' THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      E48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
                 WHEN '48' THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'RM' THEN 0
                           WHEN 'R' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           WHEN 'E' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S38 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '38') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'S')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S40 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '40') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'M')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S42 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '42') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'L')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S44 = SUM(CASE 
                 WHEN ((ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) = '44') OR (UPPER(ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)) = 'XL')) THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
                 WHEN '46' THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END),

      S48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA)
                 WHEN '48' THEN
                      CASE RDX_V_STOCK_INVENTARIO.OPERACION
                           WHEN 'D' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'S' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           WHEN 'T' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1)
                           ELSE
                               0
                      END
                      +
                      CASE
                          WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN
                              RDX_V_STOCK_VENTAS.CANTIDAD * (-1)
                          ELSE
                              0
                      END
                 END)
FROM
  RDX_V_STOCK_INVENTARIO
FULL OUTER JOIN RDX_V_STOCK_VENTAS ON
     (RDX_V_STOCK_INVENTARIO.CENTRO = RDX_V_STOCK_VENTAS.CENTRO)
     AND (RDX_V_STOCK_INVENTARIO.CODIGO = RDX_V_STOCK_VENTAS.CODIGO)
     AND (RDX_V_STOCK_INVENTARIO.COLOR = RDX_V_STOCK_VENTAS.COLOR)
     AND (RDX_V_STOCK_INVENTARIO.TALLA = RDX_V_STOCK_VENTAS.TALLA)
     AND (RDX_V_STOCK_INVENTARIO.FECHA = RDX_V_STOCK_VENTAS.FECHA)
LEFT OUTER JOIN PRODUTOS ON
     (PRODUTOS.PRODUTO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO))
GROUP BY
      ISNULL(RDX_V_STOCK_INVENTARIO.FECHA, RDX_V_STOCK_VENTAS.FECHA),
      ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO),
      ISNULL(RDX_V_STOCK_INVENTARIO.FILIAL, RDX_V_STOCK_VENTAS.FILIAL),
      ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO),
      ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO),
      PRODUTOS.TIPO_PRODUTO,
      PRODUTOS.GRUPO_PRODUTO,
      PRODUTOS.COLECAO,
      ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR)
GO

/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_STOCK_CALCULADO AS
SELECT
      FECHA,
      CENTRO,
      FILIAL,
      CODIGO,
      PRODUCTO,
      TIPO_PRODUCTO,
      GRUPO_PRODUCTO,
      COLECCION,
      COLOR,
      E38,
      E40,
      E42,
      E44,
      E46,
      E48,
      TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0),
      S38,
      S40,
      S42,
      S44,
      S46,
      S48,
      TS = ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0),
      K38 = ISNULL(E38, 0) + ISNULL(S38, 0),
      K40 = ISNULL(E40, 0) + ISNULL(S40, 0),
      K42 = ISNULL(E42, 0) + ISNULL(S42, 0),
      K44 = ISNULL(E44, 0) + ISNULL(S44, 0),
      K46 = ISNULL(E46, 0) + ISNULL(S46, 0),
      K48 = ISNULL(E48, 0) + ISNULL(S48, 0),
      KT = ISNULL(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) +
           ISNULL(E42, 0) + ISNULL(S42, 0) + ISNULL(E44, 0) + ISNULL(S44, 0) +
           ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0)

FROM RDX_V_STOCK
GO

/*--------------- SQL ---------------*/
/*AQUI TENGO INCLUIDAS LAS S CON LAS 38 LA M CON LA 40..... EL PROBLEMA LO TENEMOS AL HACER EL JOIN CON RDX_TALLAS QUE TENDRÁ TODAS (DEBEREMOS ELEGIR SOLO LAS DE TIPO1(38,40,42,44,48) */
/*Y NO LAS DE TIPO2(S,M,L,XL)*/

CREATE VIEW RDX_V_STOCK_CALCULADO_DESGLOSADO AS
SELECT FECHA, 
		  CENTRO,
      FILIAL,
      CODIGO,
      PRODUCTO,
      TIPO_PRODUCTO,
      GRUPO_PRODUCTO,
      COLECCION,
      COLOR,
      RDX_TALLAS.TALLA,
      CANTIDAD = CASE RDX_TALLAS.TALLA
                      WHEN '38' THEN RDX_V_STOCK_CALCULADO.K38
                      WHEN '40' THEN RDX_V_STOCK_CALCULADO.K40
                      WHEN '42' THEN RDX_V_STOCK_CALCULADO.K42
                      WHEN '44' THEN RDX_V_STOCK_CALCULADO.K44
                      WHEN '46' THEN RDX_V_STOCK_CALCULADO.K46
                      WHEN '48' THEN RDX_V_STOCK_CALCULADO.K48
                 END

FROM RDX_TALLAS, RDX_V_STOCK_CALCULADO
WHERE RDX_TALLAS.TIPO_TALLAJE = 1
GO

/*--------------- SQL ---------------*/
/*PROBLEMA CON TALLA RDX_ULTIMO_INVENTARIO VIENE LAS TALLAS DE TIPO2 Y EL RDX_STOK_CALCULADO_DESGLOSADO YA HEMOS METIDO LS TALLAS DE TIPO2 EN TIPO1*/
/*El problema se arregla en la vista RDX_V_ULTIMO_INVENTARIO*/

CREATE VIEW RDX_V_INVENTARIO_STOCK_DESGLOSADO AS
SELECT
	    ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.FECHA, RDX_V_ULTIMO_INVENTARIO.FECHA) as FECHA,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.CENTRO, RDX_V_ULTIMO_INVENTARIO.CENTRO) as CENTRO,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.FILIAL, RDX_V_ULTIMO_INVENTARIO.FILIAL) as FILIAL,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.CODIGO, RDX_V_ULTIMO_INVENTARIO.CODIGO) as CODIGO,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.PRODUCTO, RDX_V_ULTIMO_INVENTARIO.PRODUCTO) as PRODUCTO,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.COLOR, RDX_V_ULTIMO_INVENTARIO.COLOR) as COLOR,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.TALLA, RDX_V_ULTIMO_INVENTARIO.TALLA) as TALLA,

      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.TIPO_PRODUCTO, RDX_V_ULTIMO_INVENTARIO.TIPO_PRODUCTO) as TIPO_PRODUCTO,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.GRUPO_PRODUCTO, RDX_V_ULTIMO_INVENTARIO.GRUPO_PRODUCTO) as GRUPO_PRODUCTO,
      ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.COLECCION, RDX_V_ULTIMO_INVENTARIO.COLECCION) as COLECCION,

      RDX_V_STOCK_CALCULADO_DESGLOSADO.CANTIDAD as CANTIDAD_STOCK,
      RDX_V_ULTIMO_INVENTARIO.CANTIDAD as CANTIDAD_INVENTARIO

FROM RDX_V_ULTIMO_INVENTARIO
FULL OUTER JOIN RDX_V_STOCK_CALCULADO_DESGLOSADO ON
(RDX_V_ULTIMO_INVENTARIO.FILIAL = RDX_V_STOCK_CALCULADO_DESGLOSADO.CENTRO)
AND (RDX_V_ULTIMO_INVENTARIO.CODIGO = RDX_V_STOCK_CALCULADO_DESGLOSADO.CODIGO)
AND (RDX_V_ULTIMO_INVENTARIO.COLOR = RDX_V_STOCK_CALCULADO_DESGLOSADO.COLOR)
AND (RDX_V_ULTIMO_INVENTARIO.TALLA = RDX_V_STOCK_CALCULADO_DESGLOSADO.TALLA)
AND (RDX_V_ULTIMO_INVENTARIO.FECHA = RDX_V_STOCK_CALCULADO_DESGLOSADO.FECHA)
GO

/*--------------- SQL ---------------*/

CREATE VIEW RDX_V_CONTROL_INVENTARIO AS
select
		  FECHA,
      CENTRO,
      FILIAL,
      CODIGO,
      PRODUCTO,
      COLOR,
      TIPO_PRODUCTO,
      GRUPO_PRODUCTO,
      COLECCION,
      I38 = SUM(CASE TALLA
            WHEN '38' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,I40 = SUM(CASE TALLA
            WHEN '40' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,I42 = SUM(CASE TALLA
            WHEN '42' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,I44 = SUM(CASE TALLA
            WHEN '44' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,I46 = SUM(CASE TALLA
            WHEN '46' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,I48 = SUM(CASE TALLA
            WHEN '48' THEN
                 CANTIDAD_INVENTARIO
            ELSE 0
            END)

     ,K38 = SUM(CASE TALLA
            WHEN '38' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

     ,K40 = SUM(CASE TALLA
            WHEN '40' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

     ,K42 = SUM(CASE TALLA
            WHEN '42' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

     ,K44 = SUM(CASE TALLA
            WHEN '44' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

     ,K46 = SUM(CASE TALLA
            WHEN '46' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

     ,K48 = SUM(CASE TALLA
            WHEN '48' THEN
                 CANTIDAD_STOCK
            ELSE 0
            END)

from RDX_V_INVENTARIO_STOCK_DESGLOSADO

group by FECHA,
				 CENTRO,
         FILIAL,
         CODIGO,
         PRODUCTO,
         COLOR,
         TIPO_PRODUCTO,
         GRUPO_PRODUCTO,
         COLECCION
GO

/*--------------- SQL ---------------*/

