176 lines
6.6 KiB
MySQL
176 lines
6.6 KiB
MySQL
|
|
/*--------------- SQL ---------------*/
|
|||
|
|
|
|||
|
|
CREATE PROCEDURE crosstab
|
|||
|
|
@select varchar(8000),
|
|||
|
|
@sumfunc varchar(100),
|
|||
|
|
@pivot varchar(100),
|
|||
|
|
@table varchar(100)
|
|||
|
|
AS
|
|||
|
|
|
|||
|
|
DECLARE @sql varchar(8000), @delim varchar(1)
|
|||
|
|
SET NOCOUNT ON
|
|||
|
|
SET ANSI_WARNINGS OFF
|
|||
|
|
|
|||
|
|
EXEC ('SELECT ' + @pivot + ' AS pivot INTO ##pivot FROM ' + @table + ' WHERE 1=2')
|
|||
|
|
EXEC ('INSERT INTO ##pivot SELECT DISTINCT ' + @pivot + ' FROM ' + @table + ' WHERE ' + @pivot + ' Is Not Null')
|
|||
|
|
|
|||
|
|
SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' )
|
|||
|
|
|
|||
|
|
SELECT @delim=CASE Sign( CharIndex('char', data_type)+CharIndex('date', data_type) )
|
|||
|
|
WHEN 0 THEN '' ELSE '''' END
|
|||
|
|
FROM tempdb.information_schema.columns
|
|||
|
|
WHERE table_name='##pivot' AND column_name='pivot'
|
|||
|
|
|
|||
|
|
SELECT @sql=@sql + '''' + convert(varchar(100), pivot) + ''' = ' + stuff(@sumfunc,charindex( '(', @sumfunc )+1, 0, ' CASE ' + @pivot + ' WHEN ' + @delim + convert(varchar(100), pivot) + @delim + ' THEN ' ) + ', ' FROM ##pivot
|
|||
|
|
|
|||
|
|
DROP TABLE ##pivot
|
|||
|
|
|
|||
|
|
SELECT @sql=left(@sql, len(@sql)-1)
|
|||
|
|
SELECT @select=stuff(@select, charindex(' FROM ', @select)+1, 0, ', ' + @sql + ' ')
|
|||
|
|
|
|||
|
|
EXEC (@select)
|
|||
|
|
SET ANSI_WARNINGS ON
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
/*--------------- SQL ---------------*/
|
|||
|
|
|
|||
|
|
CREATE PROCEDURE RDX_P_CARGAR_INVENTARIOEDI
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
INSERT INTO RDX_INVENTARIOEDI (
|
|||
|
|
NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN,
|
|||
|
|
VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD,
|
|||
|
|
CENTRO2, FILIAL2, IGNORAR )
|
|||
|
|
SELECT
|
|||
|
|
RDX_CANTINV.NUMDOC,
|
|||
|
|
RDX_CANTINV.NUMLIN,
|
|||
|
|
RDX_CANTINV.NUMCANT,
|
|||
|
|
RDX_CANTINV.TIPOCANT,
|
|||
|
|
RDX_CABINV.FECHALIQ AS FECHA,
|
|||
|
|
RDX_CABINV.CENTRO,
|
|||
|
|
FILIAL = ISNULL(FILIAIS.FILIAL, RDX_CABINV.CENTRO),
|
|||
|
|
RDX_CANTINV.IDVEN AS CODVEN,
|
|||
|
|
VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + ' ' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_CANTINV.IDVEN),
|
|||
|
|
RDX_LININV.CODART AS CODIGO_BARRA,
|
|||
|
|
CODIGO = ISNULL(PRODUTOS.PRODUTO, '107CH.EN.01'),
|
|||
|
|
PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, '*** ERROR REFERENCIA **** LLAMAR AL CI'),
|
|||
|
|
COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, 300),
|
|||
|
|
TALLA = PRODUTOS_BARRA.GRADE,
|
|||
|
|
RDX_CANTINV.CANTIDAD,
|
|||
|
|
CENTRO2 = RDX_CANTINV.CENTRO,
|
|||
|
|
FILIAL2 = ISNULL(FILIAIS2.FILIAL, RDX_CANTINV.CENTRO),
|
|||
|
|
RDX_CABINV.IGNORAR
|
|||
|
|
FROM RDX_CANTINV
|
|||
|
|
INNER JOIN RDX_LININV ON
|
|||
|
|
((RDX_LININV.NUMDOC = RDX_CANTINV.NUMDOC) AND
|
|||
|
|
(RDX_LININV.NUMLIN = RDX_CANTINV.NUMLIN))
|
|||
|
|
INNER JOIN RDX_CABINV ON
|
|||
|
|
(RDX_CABINV.NUMDOC = RDX_LININV.NUMDOC)
|
|||
|
|
LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_CABINV.CENTRO)
|
|||
|
|
LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL)
|
|||
|
|
LEFT OUTER JOIN RDX_FILIALES RDX_FILIALES2 ON (RDX_FILIALES2.CODBARRA = RDX_CANTINV.CENTRO)
|
|||
|
|
LEFT OUTER JOIN FILIAIS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL)
|
|||
|
|
LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG = RDX_CANTINV.IDVEN)
|
|||
|
|
LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_LININV.CODART))
|
|||
|
|
LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)
|
|||
|
|
WHERE RDX_CABINV.FECHALIQ >= CONVERT(DATETIME, '20060601', 112) /* PARA NO COGER A<>OS ANTERIORES */
|
|||
|
|
AND RDX_CABINV.CARGADO IS NULL
|
|||
|
|
|
|||
|
|
UPDATE RDX_CABINV SET
|
|||
|
|
CARGADO = 1
|
|||
|
|
WHERE CARGADO IS NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
/*--------------- SQL ---------------*/
|
|||
|
|
|
|||
|
|
CREATE PROCEDURE RDX_P_CARGAR_VENTASEDI
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
INSERT INTO RDX_VENTASEDI (
|
|||
|
|
NUMINF, CLAVE1, CLAVE2, CLAVE3, PERVENINI, NUMTALON, EANLUG,
|
|||
|
|
FILIAL, EANVEN, CODVEN, VENDEDOR, EANART, CODCOM, PRODUTO,
|
|||
|
|
DESC_PRODUTO, COR_PRODUTO, GRADE, TIPO_PRODUTO, GRUPO_PRODUTO,
|
|||
|
|
DESC_COLECAO, VALVEN, CANVEN, CANDEV, CANVENNET, CANESP )
|
|||
|
|
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)
|
|||
|
|
WHERE RDX_CABVEN.CARGADO IS NULL
|
|||
|
|
|
|||
|
|
|
|||
|
|
UPDATE RDX_CABVEN SET
|
|||
|
|
CARGADO = 1
|
|||
|
|
WHERE CARGADO IS NULL
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
/*--------------- SQL ---------------*/
|
|||
|
|
|
|||
|
|
CREATE PROCEDURE RDX_P_SET_ULTIMOINVENTARIO
|
|||
|
|
AS
|
|||
|
|
BEGIN
|
|||
|
|
DECLARE @CENTRO VARCHAR(17),
|
|||
|
|
@CODIGO VARCHAR(12),
|
|||
|
|
@COLOR VARCHAR(10),
|
|||
|
|
@TALLA VARCHAR(8),
|
|||
|
|
@FECHA DATETIME,
|
|||
|
|
@UPDATECMD VARCHAR(255)
|
|||
|
|
|
|||
|
|
DECLARE ASD CURSOR FOR
|
|||
|
|
SELECT RTRIM(CENTRO), RTRIM(CODIGO), RTRIM(COLOR), RTRIM(TALLA), FECHA
|
|||
|
|
FROM RDX_V_INVENTARIO_MAXFECHAS
|
|||
|
|
OPEN ASD
|
|||
|
|
FETCH NEXT FROM ASD INTO @CENTRO, @CODIGO, @COLOR, @TALLA, @FECHA
|
|||
|
|
|
|||
|
|
IF @@ROWCOUNT >= 0
|
|||
|
|
BEGIN
|
|||
|
|
WHILE @@FETCH_STATUS = 0
|
|||
|
|
BEGIN
|
|||
|
|
UPDATE RDX_INVENTARIOEDI SET ULTIMO_INVENTARIO=NULL
|
|||
|
|
WHERE CENTRO = @CENTRO AND CODIGO = @CODIGO AND COLOR = @COLOR AND TALLA = @TALLA
|
|||
|
|
|
|||
|
|
UPDATE RDX_INVENTARIOEDI SET ULTIMO_INVENTARIO=1
|
|||
|
|
WHERE FECHA = CONVERT(VARCHAR, @FECHA, 112) AND CENTRO = @CENTRO AND CODIGO = @CODIGO AND COLOR = @COLOR AND TALLA = @TALLA AND TIPOCANT = 145
|
|||
|
|
|
|||
|
|
FETCH NEXT FROM ASD INTO @CENTRO, @CODIGO, @COLOR, @TALLA, @FECHA
|
|||
|
|
END
|
|||
|
|
END
|
|||
|
|
CLOSE ASD
|
|||
|
|
DEALLOCATE ASD
|
|||
|
|
END
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
/* EOF */
|