SP_Ingresos_Master.sql 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. USE [Inversiones]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[SP_Ingresos_Master] Script Date: 6/24/2019 9:07:54 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: BC
  10. -- Create date:
  11. -- Description:
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[SP_Ingresos_Master]
  14. -- Add the parameters for the stored procedure here
  15. @FechaI datetime='18000101'
  16. ,@FechaF datetime = '99991231'
  17. ,@SoloPendientes bit = 0
  18. AS
  19. BEGIN
  20. -- SET NOCOUNT ON added to prevent extra result sets from
  21. -- interfering with SELECT statements.
  22. SET NOCOUNT ON;
  23. -- Insert statements for procedure here
  24. PRINT '@FechaI ' + CONVERT(VARCHAR,@FechaI)
  25. PRINT '@FechaF ' + CONVERT(VARCHAR,@FechaF)
  26. --SELECT @SoloPendientes=ISNULL(@SoloPendientes,'N')
  27. DECLARE @query varchar(MAX)
  28. DECLARE @ResultadoTMP TABLE(
  29. [CodEmpr] varchar(10)
  30. ,[IngresoID] int
  31. ,[CodIF] varchar(10)
  32. ,[CodInv] varchar(20)
  33. ,[Fecha] datetime
  34. --,[FechaVenc] datetime
  35. ,[IngresoNeto] numeric(18,6)
  36. ,[Estado] varchar(1)
  37. --,[Validacion] varchar(1)
  38. ,INS0 varchar(10)
  39. ,INS1 varchar(10)
  40. )
  41. /* ACCIONES */
  42. SET @query='
  43. SELECT
  44. T1.CodInv
  45. ,T1.Correlativo
  46. ,T1.Fecha
  47. ,T1.IngresoNeto
  48. ,ISNULL(T1.Estado,''-'')
  49. ,''ACC0''
  50. ,''ACC1''
  51. FROM [dbo].[ACC1] T1
  52. INNER JOIN [dbo].[ACC0] T0 ON T0.CodInv=T1.CodInv
  53. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  54. WHERE 1=1
  55. AND T1.Fecha>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  56. AND T1.Fecha<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  57. IF @SoloPendientes=1
  58. BEGIN
  59. SET @query=@query+'
  60. AND (T1.Estado<>'+char(39)+'R'+char(39)+')'
  61. END
  62. print @query
  63. INSERT INTO @ResultadoTMP(
  64. [CodInv]
  65. ,[IngresoID]
  66. ,[Fecha]
  67. --,[FechaVenc]
  68. ,[IngresoNeto]
  69. ,[Estado]
  70. --,[Validacion]
  71. ,INS0
  72. ,INS1
  73. )EXEC(@query)
  74. /* DEPOSITOS A PLAZO */
  75. SET @query='
  76. SELECT
  77. T1.CodInv
  78. ,T1.Correlativo
  79. ,T1.Fecha
  80. ,T1.IngrNeto
  81. ,ISNULL(T1.Estado,''-'')
  82. ,''DAP0''
  83. ,''DAP1''
  84. FROM [dbo].[DAP1] T1
  85. INNER JOIN [dbo].[DAP0] T0 ON T0.CodInv=T1.CodInv
  86. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  87. WHERE 1=1
  88. AND T1.Fecha>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  89. AND T1.Fecha<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  90. IF @SoloPendientes=1
  91. BEGIN
  92. SET @query=@query+'
  93. AND T1.Estado<>'+char(39)+'R'+char(39)
  94. END
  95. --print @query
  96. INSERT INTO @ResultadoTMP(
  97. [IngresoID]
  98. ,[CodInv]
  99. ,[Fecha]
  100. --,[FechaVenc]
  101. ,[IngresoNeto]
  102. ,[Estado]
  103. ,INS0
  104. ,INS1
  105. ) EXEC(@query)
  106. SELECT
  107. T0.IngresoID
  108. ,INV.[CodEmpr]
  109. ,(SELECT S0.Descrip FROM [dbo].[EMPR] S0 WHERE S0.CodEmpr=INV.CodEmpr) 'Empresa'
  110. ,INV.[CodIF]
  111. ,(SELECT S0.Descrip FROM [dbo].[INFI] S0 WHERE S0.CodIF=INV.CodIF) 'Instrumento'
  112. ,T0.[CodInv]
  113. ,T0.[Fecha]
  114. --,T0.[FechaVenc]
  115. ,T0.[IngresoNeto]
  116. ,T0.[Estado] 'CodEstado'
  117. ,CASE T0.[Estado]
  118. WHEN 'A' THEN 'Abierto'
  119. WHEN 'C' THEN 'Cerrado'
  120. ELSE ''
  121. END 'Estado'
  122. --,T0.[Validacion] 'CodValidacion'
  123. ,('N') 'Contab'
  124. ,INV.CodEmis
  125. ,(SELECT S0.Descrip FROM [dbo].[EMIS] S0 WHERE S0.CodEmis=INV.CodEmis) 'Emisor'
  126. ,INV.CodManIF
  127. ,INV.NombreManIF
  128. ,ISNULL(INV.NumManInv,'') 'NumManInv'
  129. ,T0.[INS0]
  130. ,T0.[INS1]
  131. FROM @ResultadoTMP T0
  132. INNER JOIN [dbo].[INV0] INV ON INV.CodInv=T0.CodInv
  133. END