SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

IF EXISTS (SELECT * FROM sys.objects 
   WHERE object_id = OBJECT_ID(N'WINV_Cuadre_Diario_RepInfo') )
DROP Procedure WINV_Cuadre_Diario_RepInfo
GO
 
Create PROCEDURE WINV_Cuadre_Diario_RepInfo
				 @Lista_Almacen nvarchar(1000),
				 @Lista_Seccion nvarchar(1000),
				 @Fecha_Desde datetime,
				 @Fecha_Hasta datetime
AS

BEGIN

/*
    Date: Mar 31,2016  
	      
    Reportes: 
	   Cuadre de Diario
  

*/
Set Language us_english

--select * from Temp_80

--return



--  Declare @Lista_Almacen nvarchar(1000),
--		  @Lista_Seccion nvarchar(1000),
--		  @Fecha_Desde datetime,
--		  @Fecha_Hasta datetime

--Set @Lista_Almacen = '100'
--Set @Lista_Seccion = ''
--Set @Fecha_Desde = '2016-01-01 00:00:00'
--Set @Fecha_Hasta = '2016-01-31 00:00:00'

----	drop table #Temp_CuadreDiario
--	drop table #Lista_cFirst


/* ==================================================================
   Region 01 
   Creación de tablas 
   ==================================================================
*/

	CREATE TABLE #Temp_CuadreDiario
       (cRow      int identity(1,1),
		cFirst    tinyint default 0,
		Fec_Con   nvarchar(50) NULL,
		Id_Alma   int NULL,
		Id_Secc   int NULL,
		Id_Empr   int NULL,
		Id_Cuenta int NULL,
		Importe   Money default 0.00 NULL,
		Debito    bit NULL,
		AlCod     nvarchar(50) NULL,
		AlDes	  nvarchar(250) NULL,
		SeCod	  nvarchar(50) Default 0 NULL,
		SeDes	  nvarchar(250) NULL,
		Empresa   nvarchar(50) NULL,
		Tit_Emp   nvarchar(250) NULL,
		Cuenta    nvarchar(50) NULL,
		Cto_Gto   nvarchar(50) NULL,
		Tit_Cta   nvarchar(250) NULL,
		Tit_Ctgt  nvarchar(250) NULL)

		Create Table #Lista_cFirst
		 	        (cRow int)	

/* ==================================================================
   Region 02
   Creación de Variables y Filtros
   ==================================================================
*/

--	Declare @Filtro_Almacen nvarchar(1000) = '',
--	        @Filtro_Seccion nvarchar(1000) = ''

	Delete #Temp_CuadreDiario
	Delete #Lista_cFirst

   Insert Into #Temp_CuadreDiario
          (fec_con,id_alma,id_secc,id_empr,
		   id_cuenta,importe,debito,
		   alcod,aldes,
		   secod,sedes,
		   empresa,tit_emp,
		   cuenta,cto_gto,
		   tit_cta,tit_ctgt)
	Exec CuadreDiario 
	     @Lista_Almacen,@Lista_Seccion,
		 @Fecha_Desde,@Fecha_Hasta

    Update #Temp_CuadreDiario
	   Set SeCod = -1
	   Where SeCod is null

    Update #Temp_CuadreDiario
	   Set Importe = -1 * Importe
	   Where Debito = 0 

	Select * 
	  -- Into Temp_80
	   From #Temp_CuadreDiario

--drop table Temp_80		 

--/* ==================================================================
--   Region 03
--   Insert información
--   ==================================================================
--*/
--	Insert Into #Lista_cFirst(cRow)
-- 		Select cRow  
--		From 
--			(SELECT ROW_NUMBER() OVER(PARTITION BY 
--					Id_Tmov,Id_DMov,Consecutivo 
--				ORDER BY Consecutivo DESC ) AS r,
--					cRow
--				FROM #Temp_ResumenDiario) as r 
--				Where r.r=1

--	Update #Temp_ResumenDiario
--				Set cFirst = 1
--				From #Temp_ResumenDiario a
--					 Inner join #Lista_cFirst b on b.cRow = a.cRow

   
--   Select  * 
--      From #Temp_ResumenDiario

----------- Fin ---------------------

	-- Descripción de la Selección
    DECLARE @Fil VARCHAR(4000) = ''
    DECLARE @vElementos VARCHAR(8000) = ''
	DECLARE @vAux VARCHAR(20) = NULL
  
	IF LEN(LTRIM(RTRIM(@Lista_Almacen))) = ''
	BEGIN
		SET @Fil = @Fil + 'LblGENAll'
	END
	ELSE
	BEGIN
		SET @vElementos = @Lista_Almacen
		WHILE LEN(@vElementos) > 0
		BEGIN
			IF PATINDEX('%,%',@vElementos) > 0
			BEGIN
				SET @vAux = SUBSTRING(@vElementos, 0, PATINDEX('%,%',@vElementos))
				IF LEN(LTRIM(RTRIM(@Fil))) > 0
				BEGIN
					SET @Fil = @Fil + ', '
				END
				SET @Fil = @Fil + ISNULL((SELECT LTRIM(RTRIM(codigo)) + '-' + LTRIM(RTRIM(descripcion)) FROM STOKALMA WHERE id_alma = CONVERT(INT, @vAux)), '???')
				SET @vElementos = SUBSTRING(@vElementos, LEN(@vAux + ',') + 1, LEN(@vElementos))
			END
			ELSE
			BEGIN
				SET @vAux = @vElementos
				SET @vElementos = NULL
				IF LEN(LTRIM(RTRIM(@Fil))) > 0
				BEGIN
					SET @Fil = @Fil + ', '
				END
				SET @Fil = @Fil + ISNULL((SELECT LTRIM(RTRIM(codigo)) + '-' + LTRIM(RTRIM(descripcion)) FROM STOKALMA WHERE id_alma = CONVERT(INT, @vAux)), '???')
			END
		END
	END
	
	SELECT @Fil FilAlmacen
	
	SET @Fil = ''
	
	IF LEN(LTRIM(RTRIM(@Lista_Seccion))) = ''
	BEGIN
		SET @Fil = @Fil + 'LblGENAll'
	END
	ELSE
	BEGIN
		SET @vElementos = @Lista_Seccion
		WHILE LEN(@vElementos) > 0
		BEGIN
			IF PATINDEX('%,%',@vElementos) > 0
			BEGIN
				SET @vAux = SUBSTRING(@vElementos, 0, PATINDEX('%,%',@vElementos))
				IF LEN(LTRIM(RTRIM(@Fil))) > 0
				BEGIN
					SET @Fil = @Fil + ', '
				END
				SET @Fil = @Fil + ISNULL((SELECT LTRIM(RTRIM(codigo)) + '-' + LTRIM(RTRIM(descripcion)) FROM STOKSECC WHERE id_secc = CONVERT(INT, @vAux)), '???')
				SET @vElementos = SUBSTRING(@vElementos, LEN(@vAux + ',') + 1, LEN(@vElementos))
			END
			ELSE
			BEGIN
				SET @vAux = @vElementos
				SET @vElementos = NULL
				IF LEN(LTRIM(RTRIM(@Fil))) > 0
				BEGIN
					SET @Fil = @Fil + ', '
				END
				SET @Fil = @Fil + ISNULL((SELECT LTRIM(RTRIM(codigo)) + '-' + LTRIM(RTRIM(descripcion)) FROM STOKSECC WHERE id_secc = CONVERT(INT, @vAux)), '???')
			END
		END
	END
	
	SELECT @Fil FilSeccion


END
