git-svn-id: https://192.168.0.254/svn/Proyectos.Varela_PuntosVenta/trunk@107 1c943782-d109-9647-9548-93b3ac332352
274 lines
8.9 KiB
Transact-SQL
274 lines
8.9 KiB
Transact-SQL
/*--------------- SQL ---------------*/
|
||
DROP PROCEDURE crosstab
|
||
GO
|
||
|
||
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 ---------------*/
|
||
DROP PROCEDURE RDX_P_CARGAR_INVENTARIOEDI
|
||
GO
|
||
|
||
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
|
||
|
||
IF @@ERROR = 0
|
||
UPDATE RDX_CABINV SET
|
||
CARGADO = 1
|
||
WHERE CARGADO IS NULL
|
||
END
|
||
GO
|
||
|
||
/*--------------- SQL ---------------*/
|
||
DROP PROCEDURE RDX_P_CARGAR_VENTASEDI
|
||
GO
|
||
|
||
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, IGNORAR )
|
||
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,
|
||
ISNULL(produtos.PRODUTO, '107CH.EN.01') AS 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,
|
||
RDX_CABVEN.IGNORAR
|
||
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
|
||
|
||
IF @@error = 0
|
||
UPDATE RDX_CABVEN SET
|
||
CARGADO = 1
|
||
WHERE CARGADO IS NULL
|
||
END
|
||
GO
|
||
|
||
/*--------------- SQL ---------------*/
|
||
DROP PROCEDURE RDX_P_SET_ULTIMOINVENTARIO
|
||
GO
|
||
|
||
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
|
||
|
||
/*--------------- SQL ---------------*/
|
||
CREATE PROCEDURE RDX_P_DELETE_CARGA_VENTAS
|
||
AS
|
||
BEGIN
|
||
DECLARE @CLAVE1 NUMERIC(10,0)
|
||
|
||
DECLARE ASD CURSOR FOR
|
||
SELECT RDX_CABVEN.CLAVE1
|
||
FROM RDX_CABVEN
|
||
WHERE RDX_CABVEN.FECINF = '2007/09/01'
|
||
OPEN ASD
|
||
FETCH NEXT FROM ASD INTO @CLAVE1
|
||
|
||
IF @@ROWCOUNT >= 0
|
||
BEGIN
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
DELETE FROM RDX_ARTVEN
|
||
WHERE CLAVE1 = @CLAVE1
|
||
|
||
DELETE FROM RDX_LUGVEN
|
||
WHERE CLAVE1 = @CLAVE1
|
||
|
||
DELETE FROM RDX_CABVEN
|
||
WHERE CLAVE1 = @CLAVE1
|
||
|
||
DELETE FROM RDX_VENTASEDI
|
||
WHERE CLAVE1 = @CLAVE1
|
||
|
||
FETCH NEXT FROM ASD INTO @CLAVE1
|
||
END
|
||
END
|
||
CLOSE ASD
|
||
DEALLOCATE ASD
|
||
END
|
||
GO
|
||
|
||
|
||
/*--------------- SQL ---------------*/
|
||
CREATE PROCEDURE RDX_P_DELETE_CARGA_INVENTARIO
|
||
AS
|
||
BEGIN
|
||
DECLARE @NUMDOC VARCHAR(25)
|
||
|
||
DECLARE ASD CURSOR FOR
|
||
SELECT RDX_CABINV.NUMDOC
|
||
FROM RDX_CABINV
|
||
WHERE RDX_CABINV.FECHALIQ = '2007/09/01'
|
||
OPEN ASD
|
||
FETCH NEXT FROM ASD INTO @NUMDOC
|
||
|
||
IF @@ROWCOUNT >= 0
|
||
BEGIN
|
||
WHILE @@FETCH_STATUS = 0
|
||
BEGIN
|
||
DELETE FROM RDX_LININV
|
||
WHERE NUMDOC = @NUMDOC
|
||
|
||
DELETE FROM RDX_CANTINV
|
||
WHERE NUMDOC = @NUMDOC
|
||
|
||
DELETE FROM RDX_CABINV
|
||
WHERE NUMDOC = @NUMDOC
|
||
|
||
DELETE FROM RDX_INVENTARIOEDI
|
||
WHERE NUMDOC = @NUMDOC
|
||
|
||
FETCH NEXT FROM ASD INTO @NUMDOC
|
||
END
|
||
END
|
||
CLOSE ASD
|
||
DEALLOCATE ASD
|
||
END
|
||
GO
|
||
|
||
CREATE PROCEDURE dbo.RDX_P_TIPO_TALLAJE
|
||
@PRODUCTO VARCHAR(12), @TIPO_TALLAJE smallint OUT
|
||
AS
|
||
BEGIN
|
||
set @TIPO_TALLAJE = (SELECT DISTINCT RDX_TALLAS.TIPO_TALLAJE
|
||
FROM PRODUTOS_BARRA
|
||
LEFT JOIN RDX_TALLAS ON (PRODUTOS_BARRA.GRADE = RDX_TALLAS.TALLA)
|
||
WHERE PRODUTOS_BARRA.PRODUTO = @PRODUCTO)
|
||
END
|
||
GO
|
||
|
||
/* EOF */
|
||
|