SP_Ingresos_Master_20190710.sql 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. USE [Inversiones_20190711]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[SP_Ingresos_Master] Script Date: 10/7/2019 20:55:46 ******/
  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
  16. ,@FechaF datetime
  17. ,@SoloPendientes bit
  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. ,[Registrado] varchar(1)
  41. ,[Validado] varchar(1)
  42. ,[Conciliado] varchar(1)
  43. )
  44. /* ACCIONES */
  45. SET @query='
  46. SELECT
  47. T1.CodInv
  48. ,T1.Correlativo
  49. ,T1.Fecha
  50. ,T1.IngresoNeto
  51. ,ISNULL(T1.Estado,''P'')
  52. ,ISNULL(T3.Registrado,''N'')
  53. ,ISNULL(T3.Validado,''N'')
  54. ,ISNULL(T3.Conciliado,''N'')
  55. FROM [dbo].[ACC1] T1
  56. INNER JOIN [dbo].[ACC0] T0 ON T0.CodInv=T1.CodInv
  57. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  58. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=T1.Correlativo
  59. WHERE 1=1
  60. AND T1.Fecha>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  61. AND T1.Fecha<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  62. IF @SoloPendientes=1
  63. BEGIN
  64. SET @query=@query+'
  65. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  66. END
  67. --print @query
  68. INSERT INTO @ResultadoTMP(
  69. [CodInv]
  70. ,[IngresoID]
  71. ,[Fecha]
  72. ,[IngresoNeto]
  73. ,[Estado]
  74. ,[Registrado]
  75. ,[Validado]
  76. ,[Conciliado]
  77. )EXEC(@query)
  78. PRINT 'DEPOSITOS A PLAZO'
  79. /* DEPOSITOS A PLAZO */
  80. SET @query='
  81. SELECT
  82. T1.CodInv
  83. ,T1.Correlativo
  84. ,T1.Fecha
  85. ,T1.IngrNeto
  86. ,ISNULL(T1.Estado,''P'')
  87. ,ISNULL(T3.Registrado,''N'')
  88. ,ISNULL(T3.Validado,''N'')
  89. ,ISNULL(T3.Conciliado,''N'')
  90. FROM [dbo].[DAP1] T1
  91. INNER JOIN [dbo].[DAP0] T0 ON T0.CodInv=T1.CodInv
  92. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  93. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=T1.Correlativo
  94. WHERE 1=1
  95. AND T1.Fecha>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  96. AND T1.Fecha<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  97. IF @SoloPendientes=1
  98. BEGIN
  99. SET @query=@query+'
  100. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  101. END
  102. --print @query
  103. INSERT INTO @ResultadoTMP(
  104. [CodInv]
  105. ,[IngresoID]
  106. ,[Fecha]
  107. ,[IngresoNeto]
  108. ,[Estado]
  109. ,[Registrado]
  110. ,[Validado]
  111. ,[Conciliado]
  112. ) EXEC(@query)
  113. /* BONOS */
  114. SET @query='
  115. SELECT
  116. T1.CodInv
  117. ,T1.NumCupon
  118. ,T1.[FechaCupon]
  119. ,T1.[Liquido]
  120. ,ISNULL(T1.Estado,''P'')
  121. ,ISNULL(T3.Registrado,''N'')
  122. ,ISNULL(T3.Validado,''N'')
  123. ,ISNULL(T3.Conciliado,''N'')
  124. FROM [dbo].[BON1] T1
  125. INNER JOIN [dbo].[BON0] T0 ON T0.CodInv=T1.CodInv
  126. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  127. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=T1.NumCupon
  128. WHERE 1=1
  129. AND T1.FechaCupon>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  130. AND T1.FechaCupon<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  131. IF @SoloPendientes=1
  132. BEGIN
  133. SET @query=@query+'
  134. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  135. END
  136. --print @query
  137. INSERT INTO @ResultadoTMP(
  138. [CodInv]
  139. ,[IngresoID]
  140. ,[Fecha]
  141. ,[IngresoNeto]
  142. ,[Estado]
  143. ,[Registrado]
  144. ,[Validado]
  145. ,[Conciliado]
  146. )EXEC(@query)
  147. /* CERTIFICADOS DE INVERSION */
  148. SET @query='
  149. SELECT
  150. T1.CodInv
  151. ,T1.NumCupon
  152. ,T1.[FechaCupon]
  153. ,T1.[Liquido]
  154. ,ISNULL(T1.Estado,''P'')
  155. ,ISNULL(T3.Registrado,''N'')
  156. ,ISNULL(T3.Validado,''N'')
  157. ,ISNULL(T3.Conciliado,''N'')
  158. FROM [dbo].[CIN1] T1
  159. INNER JOIN [dbo].[CIN0] T0 ON T0.CodInv=T1.CodInv
  160. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  161. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=T1.NumCupon
  162. WHERE 1=1
  163. AND T1.FechaCupon>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  164. AND T1.FechaCupon<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  165. IF @SoloPendientes=1
  166. BEGIN
  167. SET @query=@query+'
  168. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  169. END
  170. --print @query
  171. INSERT INTO @ResultadoTMP(
  172. [CodInv]
  173. ,[IngresoID]
  174. ,[Fecha]
  175. ,[IngresoNeto]
  176. ,[Estado]
  177. ,[Registrado]
  178. ,[Validado]
  179. ,[Conciliado]
  180. )EXEC(@query)
  181. /* LETES */
  182. SET @query='
  183. SELECT
  184. T1.CodInv
  185. ,1
  186. ,T1.[FVenc]
  187. ,T1.[IngrNeto]
  188. ,ISNULL(T1.Estado,''P'')
  189. ,ISNULL(T3.Registrado,''N'')
  190. ,ISNULL(T3.Validado,''N'')
  191. ,ISNULL(T3.Conciliado,''N'')
  192. FROM [dbo].[LET0] T1
  193. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  194. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=1
  195. WHERE 1=1
  196. AND T1.FVenc>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  197. AND T1.FVenc<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  198. IF @SoloPendientes=1
  199. BEGIN
  200. SET @query=@query+'
  201. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  202. END
  203. --print @query
  204. INSERT INTO @ResultadoTMP(
  205. [CodInv]
  206. ,[IngresoID]
  207. ,[Fecha]
  208. ,[IngresoNeto]
  209. ,[Estado]
  210. ,[Registrado]
  211. ,[Validado]
  212. ,[Conciliado]
  213. )EXEC(@query)
  214. /* CETES */
  215. SET @query='
  216. SELECT
  217. T1.CodInv
  218. ,1
  219. ,T1.[FVenc]
  220. ,T1.[IngrNeto]
  221. ,ISNULL(T1.Estado,''P'')
  222. ,ISNULL(T3.Registrado,''N'')
  223. ,ISNULL(T3.Validado,''N'')
  224. ,ISNULL(T3.Conciliado,''N'')
  225. FROM [dbo].[CET0] T1
  226. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  227. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=1
  228. WHERE 1=1
  229. AND T1.FVenc>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  230. AND T1.FVenc<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  231. IF @SoloPendientes=1
  232. BEGIN
  233. SET @query=@query+'
  234. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  235. END
  236. --print @query
  237. INSERT INTO @ResultadoTMP(
  238. [CodInv]
  239. ,[IngresoID]
  240. ,[Fecha]
  241. ,[IngresoNeto]
  242. ,[Estado]
  243. ,[Registrado]
  244. ,[Validado]
  245. ,[Conciliado]
  246. )EXEC(@query)
  247. /* PAPEL BURSATIL */
  248. SET @query='
  249. SELECT
  250. T1.CodInv
  251. ,1
  252. ,T1.[FVenc]
  253. ,T1.[IngrNeto]
  254. ,ISNULL(T1.Estado,''P'')
  255. ,ISNULL(T3.Registrado,''N'')
  256. ,ISNULL(T3.Validado,''N'')
  257. ,ISNULL(T3.Conciliado,''N'')
  258. FROM [dbo].[PBUR] T1
  259. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  260. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=1
  261. WHERE 1=1
  262. AND T1.FVenc>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  263. AND T1.FVenc<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  264. IF @SoloPendientes=1
  265. BEGIN
  266. SET @query=@query+'
  267. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  268. END
  269. print @query
  270. INSERT INTO @ResultadoTMP(
  271. [CodInv]
  272. ,[IngresoID]
  273. ,[Fecha]
  274. ,[IngresoNeto]
  275. ,[Estado]
  276. ,[Registrado]
  277. ,[Validado]
  278. ,[Conciliado]
  279. )EXEC(@query)
  280. /* VALORES COMERCIALES NEGOCIABLES */
  281. SET @query='
  282. SELECT
  283. T1.CodInv
  284. ,1
  285. ,T1.[FVenc]
  286. ,T1.[IngrNeto]
  287. ,ISNULL(T1.Estado,''P'')
  288. ,ISNULL(T3.Registrado,''N'')
  289. ,ISNULL(T3.Validado,''N'')
  290. ,ISNULL(T3.Conciliado,''N'')
  291. FROM [dbo].[VCN] T1
  292. INNER JOIN [dbo].[INV0] INV ON INV.CodInv = T1.CodInv
  293. LEFT JOIN [dbo].[INGR] T3 ON T3.CodInv=T1.CodInv AND T3.IngresoId=1
  294. WHERE 1=1
  295. AND T1.FVenc>=('+char(39)+CONVERT(VARCHAR,@FechaI,112)+char(39)+')
  296. AND T1.FVenc<=('+char(39)+CONVERT(VARCHAR,@FechaF,112)+char(39)+')'
  297. IF @SoloPendientes=1
  298. BEGIN
  299. SET @query=@query+'
  300. AND (ISNULL(T1.Estado,'''')<>''R'' OR ISNULL(T3.Registrado,'''')<>''S'' OR ISNULL(T3.Validado,'''')<>''S'' OR ISNULL(T3.Conciliado,'''')<>''S'')'
  301. END
  302. print @query
  303. INSERT INTO @ResultadoTMP(
  304. [CodInv]
  305. ,[IngresoID]
  306. ,[Fecha]
  307. ,[IngresoNeto]
  308. ,[Estado]
  309. ,[Registrado]
  310. ,[Validado]
  311. ,[Conciliado]
  312. )EXEC(@query)
  313. SELECT
  314. T0.IngresoID
  315. ,INV.[CodEmpr]
  316. ,(SELECT S0.Descrip FROM [dbo].[EMPR] S0 WHERE S0.CodEmpr=INV.CodEmpr) 'Empresa'
  317. ,INV.[CodIF]
  318. ,(SELECT S0.Descrip FROM [dbo].[INFI] S0 WHERE S0.CodIF=INV.CodIF) 'Instrumento'
  319. ,T0.[CodInv]
  320. ,T0.[Fecha]
  321. ,T0.[IngresoNeto]
  322. ,T0.[Estado] 'CodEstado'
  323. ,CASE T0.[Estado]
  324. WHEN 'R' THEN 'Recibido'
  325. WHEN 'P' THEN 'Pendiente'
  326. ELSE ''
  327. END 'Estado'
  328. --,T0.[Validacion] 'CodValidacion'
  329. ,INV.CodEmis
  330. ,(SELECT S0.Descrip FROM [dbo].[EMIS] S0 WHERE S0.CodEmis=INV.CodEmis) 'Emisor'
  331. ,INV.CodManIF
  332. ,INV.NombreManIF
  333. ,ISNULL(INV.NumManInv,'') 'NumManInv'
  334. ,T0.Registrado
  335. ,T0.Validado
  336. ,T0.Conciliado
  337. FROM @ResultadoTMP T0
  338. INNER JOIN [dbo].[INV0] INV ON INV.CodInv=T0.CodInv
  339. END