frmRegistroReportos.vb 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. Public Class frmRegistroReportos
  2. Dim RegistroConsulta As New RegistrosDAO
  3. Dim Operaciones As New Operaciones
  4. Dim ReportosCalculos As New ReportosCE
  5. Const PorcentajeComisionCasa As Double = 0.2825
  6. Const PorcentajeComisionBolsa As Double = 0.2825
  7. Const PorcentajeComisionIOF As Double = 0.25
  8. Dim CodEmpr = Operaciones.CodEmpr
  9. Dim CodEmis = Operaciones.CodEmis
  10. Dim CodECalRi = Operaciones.CodECalRi
  11. Dim ListaPlazo = Operaciones.ListaPlazo
  12. Dim ListaTiposMercado = Operaciones.ListaTiposMercados
  13. Dim ListaPeriodos = Operaciones.ListaPeriodos
  14. Dim ListaTipoTasa = Operaciones.ListaTipoTasa
  15. Dim ListaTipoRenta = Operaciones.ListaTipoRenta
  16. Dim ListaEstado = Operaciones.ListaEstado
  17. Dim CodPais = Operaciones.CodPais
  18. Dim ValorCambiado As Boolean = False
  19. Dim Direccion As String = String.Empty
  20. Private Sub frmRegistroReportos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  21. AgregarColumnasInv()
  22. AgregarColumnasIns()
  23. txtPosicion.Text = "1"
  24. txtConta.Text = RegistroConsulta.Contador("REPO")
  25. ValorCambiado = False
  26. CargarReporto("REPO", 1, 100)
  27. End Sub
  28. Sub AgregarColumnasInv()
  29. Dim Empresa, Instrumento, Emisor, CalRiesgo, Calif, Pais, TipoMercado, Nombre, Periodicidad, Plazo As New DataGridViewTextBoxColumn
  30. Dim CantidadPlazo, TipoRenta, TipoTasa, Numero, Fecha, Codigo, Estado As New DataGridViewTextBoxColumn
  31. Codigo.Name = "Codigo de Inversion"
  32. Empresa.Name = "Empresa"
  33. Instrumento.Name = "Instrumento"
  34. Emisor.Name = "Emisor"
  35. CalRiesgo.Name = "Calificadora Riesgo"
  36. Calif.Name = "Calificadora"
  37. Pais.Name = "Pais"
  38. TipoMercado.Name = "Tipo Mercado"
  39. Nombre.Name = "Nombre"
  40. Periodicidad.Name = "Periodicidad"
  41. CantidadPlazo.Name = "Cantidad Plazo"
  42. Plazo.Name = "Plazo"
  43. TipoRenta.Name = "Tipo de Renta"
  44. TipoTasa.Name = "Tipo de Tasa"
  45. Numero.Name = "Numero"
  46. Fecha.Name = "Fecha"
  47. Estado.Name = "Estado"
  48. dgvReportes.Columns.Add(Codigo)
  49. dgvReportes.Columns.Add(Estado)
  50. dgvReportes.Columns.Add(Empresa)
  51. dgvReportes.Columns.Add(Instrumento)
  52. dgvReportes.Columns.Add(Emisor)
  53. dgvReportes.Columns.Add(CalRiesgo)
  54. dgvReportes.Columns.Add(Calif)
  55. dgvReportes.Columns.Add(CantidadPlazo)
  56. dgvReportes.Columns.Add(Plazo)
  57. dgvReportes.Columns.Add(Fecha)
  58. dgvReportes.Columns.Add(TipoMercado)
  59. dgvReportes.Columns.Add(Pais)
  60. dgvReportes.Columns.Add(Nombre)
  61. dgvReportes.Columns.Add(Periodicidad)
  62. dgvReportes.Columns.Add(TipoTasa)
  63. dgvReportes.Columns.Add(TipoRenta)
  64. dgvReportes.Columns.Add(Numero)
  65. End Sub
  66. Sub AgregarColumnasIns()
  67. Dim ValTrans, Dias, FVen, Rend, IOF, ComisionCB, CB, OtrosCostos, TotCostos, MontoLiq, InterGen, codigo As New DataGridViewTextBoxColumn
  68. Dim CostoTransfv, RendNetoAntImp, ValReCompra, ImpLiquidacion, IngrNeto, ValNeto, RendNetoDespImp As New DataGridViewTextBoxColumn
  69. Dim PComisionC, PComisionB, PIOF, Titulo, FechaC, Casa As New DataGridViewTextBoxColumn
  70. codigo.Name = "Codigo"
  71. ValTrans.Name = "Valor Trasado"
  72. Dias.Name = "Dias"
  73. FVen.Name = "Fecha de Vencimiento"
  74. Rend.Name = "Rendimiento"
  75. IOF.Name = "IOF"
  76. ComisionCB.Name = "Comision CB"
  77. CB.Name = "Comision Bolsa"
  78. OtrosCostos.Name = "Otros Costos"
  79. TotCostos.Name = "Total Costos"
  80. MontoLiq.Name = "Monto a Liquidar"
  81. InterGen.Name = "Interes a Genrerar"
  82. CostoTransfv.Name = "Costo de Transferencia"
  83. RendNetoAntImp.Name = "R% Neto (Antes de Impuesto)"
  84. ValReCompra.Name = "Valor de ReCompra"
  85. ImpLiquidacion.Name = "Impuesto de Liquidacion"
  86. IngrNeto.Name = "Ingreso Neto"
  87. ValNeto.Name = "Valor Neto"
  88. RendNetoDespImp.Name = "R% Neto (Despues de Impuesto)"
  89. PComisionC.Name = "% Comision Casa"
  90. PComisionB.Name = "% Comision Bolsa"
  91. PIOF.Name = "% IOF"
  92. Titulo.Name = "Titulo"
  93. FechaC.Name = "Fecha de Compra"
  94. Casa.Name = "Casa"
  95. dgvReportes.Columns.Add(Casa)
  96. dgvReportes.Columns.Add(Titulo)
  97. dgvReportes.Columns.Add(FechaC)
  98. dgvReportes.Columns.Add(ValTrans)
  99. dgvReportes.Columns.Add(Dias)
  100. dgvReportes.Columns.Add(FVen)
  101. dgvReportes.Columns.Add(Rend)
  102. dgvReportes.Columns.Add(ComisionCB)
  103. dgvReportes.Columns.Add(CB)
  104. dgvReportes.Columns.Add(IOF)
  105. dgvReportes.Columns.Add(OtrosCostos)
  106. dgvReportes.Columns.Add(TotCostos)
  107. dgvReportes.Columns.Add(MontoLiq)
  108. dgvReportes.Columns.Add(InterGen)
  109. dgvReportes.Columns.Add(CostoTransfv)
  110. dgvReportes.Columns.Add(RendNetoAntImp)
  111. dgvReportes.Columns.Add(ValReCompra)
  112. dgvReportes.Columns.Add(ImpLiquidacion)
  113. dgvReportes.Columns.Add(IngrNeto)
  114. dgvReportes.Columns.Add(ValNeto)
  115. dgvReportes.Columns.Add(RendNetoDespImp)
  116. dgvReportes.Columns.Add(codigo)
  117. dgvReportes.Columns.Add(PComisionC)
  118. dgvReportes.Columns.Add(PComisionB)
  119. dgvReportes.Columns.Add(PIOF)
  120. End Sub
  121. Sub CargarReporto(ByVal Cod As String, ByVal Inicio As Integer, ByVal Final As Integer)
  122. Dim CodigoEmpresa As String = " "
  123. Dim CodigoEmisor As String = " "
  124. Dim CodigoECal As String = " "
  125. Dim PlazoF As String = " "
  126. Dim TiposMercado As String = " "
  127. Dim Pais As String = " "
  128. Dim Periodos As String = " "
  129. Dim TipoTasa As String = " "
  130. Dim TipoRenta As String = " "
  131. Dim Estado As String = " "
  132. Dim codigo As String = Variables.Codigo
  133. Dim dr = RegistroConsulta.CargarInv(Cod, Inicio, Final)
  134. While dr.Read
  135. For Each pair In CodEmpr
  136. If (pair.Key.ToString = dr("CodEmpr").ToString) Then
  137. CodigoEmpresa = pair.Value
  138. Exit For
  139. ElseIf (String.IsNullOrEmpty(dr("CodEmpr").ToString)) Then
  140. CodigoEmpresa = " ---- ---- ---- ---- "
  141. Exit For
  142. End If
  143. Next
  144. For Each pair In CodEmis
  145. If (pair.Key.ToString = dr("CodEmis").ToString) Then
  146. CodigoEmisor = pair.Value
  147. Exit For
  148. ElseIf (String.IsNullOrEmpty(dr("CodEmis").ToString)) Then
  149. CodigoEmisor = " ---- ---- ---- ---- "
  150. Exit For
  151. End If
  152. Next
  153. For Each pair In CodECalRi
  154. If (pair.Key.ToString = dr("CodECalRi").ToString) Then
  155. CodigoECal = pair.Value
  156. Exit For
  157. ElseIf (String.IsNullOrEmpty(dr("CodECalRi").ToString)) Then
  158. CodigoECal = " ---- ---- ---- ---- "
  159. Exit For
  160. End If
  161. Next
  162. For Each pair In ListaPlazo
  163. If (pair.Key.ToString = dr("PlazoFact").ToString) Then
  164. PlazoF = pair.Value
  165. Exit For
  166. ElseIf (String.IsNullOrEmpty(dr("PlazoFact").ToString)) Then
  167. PlazoF = " ---- ---- ---- ---- "
  168. Exit For
  169. End If
  170. Next
  171. For Each pair In ListaTiposMercado
  172. If (pair.Key.ToString = dr("TipoMerc").ToString) Then
  173. TiposMercado = pair.Value
  174. Exit For
  175. ElseIf (String.IsNullOrEmpty(dr("TipoMerc").ToString)) Then
  176. TiposMercado = " ---- ---- ---- ---- "
  177. Exit For
  178. End If
  179. Next
  180. For Each pair In CodPais
  181. If (pair.Key.ToString = dr("CodPais").ToString) Then
  182. Pais = pair.Value
  183. Exit For
  184. ElseIf (String.IsNullOrEmpty(dr("CodPais").ToString)) Then
  185. Pais = " ---- ---- ---- ---- "
  186. Exit For
  187. End If
  188. Next
  189. For Each pair In ListaPeriodos
  190. If (pair.Key.ToString = dr("Periodicidad").ToString) Then
  191. Periodos = pair.Value
  192. Exit For
  193. ElseIf (String.IsNullOrEmpty(dr("Periodicidad").ToString)) Then
  194. Periodos = " ---- ---- ---- ---- "
  195. Exit For
  196. End If
  197. Next
  198. For Each pair In ListaTipoTasa
  199. If (pair.Key.ToString = dr("TipTasa").ToString) Then
  200. TipoTasa = pair.Value
  201. Exit For
  202. ElseIf (String.IsNullOrEmpty(dr("TipTasa").ToString)) Then
  203. TipoTasa = " ---- ---- ---- ---- "
  204. Exit For
  205. End If
  206. Next
  207. For Each pair In ListaTipoRenta
  208. If (pair.Key.ToString = dr("TipRenta").ToString) Then
  209. TipoRenta = pair.Value
  210. Exit For
  211. ElseIf (String.IsNullOrEmpty(dr("TipRenta").ToString)) Then
  212. TipoRenta = " ---- ---- ---- ---- "
  213. Exit For
  214. End If
  215. Next
  216. For Each pair In ListaEstado
  217. If (pair.Key.ToString = dr("DocEst").ToString) Then
  218. Estado = pair.Value
  219. Exit For
  220. ElseIf (String.IsNullOrEmpty(dr("DocEst").ToString)) Then
  221. Estado = " ---- ---- ---- ---- "
  222. Exit For
  223. End If
  224. Next
  225. 'Dim ComisionCasa = ReportosCalculos.Comision(dr("ValTrans"), dr("Dias"), PorcentajeComisionCasa)
  226. 'Dim ComisionBolsa = ReportosCalculos.Comision(dr("ValTrans"), dr("Dias"), PorcentajeComisionBolsa)
  227. 'Dim IOF = ReportosCalculos.IOF(dr("ValTrans"), ComisionCasa, ComisionBolsa, dr("Dias"), PorcentajeComisionIOF)
  228. 'Dim TotalCostos = ReportosCalculos.TotCostos(ComisionCasa, ComisionBolsa, IOF, 0)
  229. ''Dim MontoLiq = ReportosCalculos.MontoLiquidacion(dr("ValTrans"), TotalCostos)
  230. 'Dim InteresGenerar = ReportosCalculos.InteresGenerar(dr("ValTrans"), dr("Rend"), dr("Dias"))
  231. 'Dim RendimientoAntes = ReportosCalculos.RendimientoAntes(InteresGenerar, TotalCostos, dr("ValTrans"), dr("Dias"))
  232. 'Dim ValorRecompra = ReportosCalculos.ValorRecompras(dr("ValTrans"), InteresGenerar)
  233. 'Dim Renta = ReportosCalculos.Renta(InteresGenerar, 0.1)
  234. 'Dim IngresoNeto = ReportosCalculos.IngresoNet(InteresGenerar, Renta)
  235. 'Dim ValorNeto = ReportosCalculos.ValorNet(dr("ValTrans"), IngresoNeto, dr("CostoTransfr"))
  236. 'Dim RendimientoDespues = ReportosCalculos.RendimientoDespues(IngresoNeto, TotalCostos, dr("ValTrans"), dr("Dias"))
  237. 'dgvReportes.Rows.Add(dr("CodInv"), Estado, CodigoEmpresa, "Reportos", CodigoEmisor, dr("CodCalRi"), CodigoECal, dr("Plazo"), PlazoF, dr("FechaDoc"), TiposMercado, Pais, dr("NombreManIF"), Periodos, TipoTasa, TipoRenta, dr("NumManInv"), "", dr("Nombre"), dr("FCompra"), dr("ValTrans"), dr("Dias"), dr("FVenc"), dr("Rend"), ComisionCasa, ComisionBolsa, IOF, 0, TotalCostos, MontoLiq, InteresGenerar, dr("CostoTransfr"), RendimientoAntes, ValorRecompra, Renta, IngresoNeto, ValorNeto, RendimientoDespues, "", PorcentajeComisionCasa, PorcentajeComisionBolsa, PorcentajeComisionIOF)
  238. End While
  239. End Sub
  240. Private Sub navSiguienteRegistro_Click(sender As Object, e As EventArgs)
  241. Direccion = "D"
  242. Mover(Direccion)
  243. ValorCambiado = False
  244. End Sub
  245. Sub Mover(ByVal Direccion As String)
  246. Dim ReferenciaD = txtPosicion.Text + 1
  247. Dim ReferenciaI = txtPosicion.Text - 1
  248. Dim Cantidad = txtConta.Text
  249. Dim ValorExacto = txtPosicion.Text
  250. Dim Inicio, Final As Integer
  251. If (Direccion = "D") Then
  252. If (Cantidad >= ValorExacto) Then
  253. dgvReportes.Rows.Clear()
  254. If (Not ValorCambiado) Then
  255. txtPosicion.Text = ReferenciaD
  256. ValorCambiado = False
  257. End If
  258. Inicio = txtPosicion.Text - 1
  259. Inicio = Inicio * 100
  260. Final = Inicio + 100
  261. CargarReporto("REPO", Inicio, Final)
  262. Else
  263. MsgBox("Rango Fuera de Valor")
  264. End If
  265. ElseIf (Direccion = "I") Then
  266. If (ReferenciaI >= 1) Then
  267. dgvReportes.Rows.Clear()
  268. If (Not ValorCambiado) Then
  269. If (Not ValorExacto = 1) Then
  270. txtPosicion.Text = ReferenciaI
  271. End If
  272. Else
  273. ValorCambiado = False
  274. End If
  275. Inicio = txtPosicion.Text - 1
  276. Inicio = Inicio * 100
  277. Final = Inicio + 100
  278. CargarReporto("REPO", Inicio, Final)
  279. Else
  280. MsgBox("Rango Fuera de Valor")
  281. End If
  282. ElseIf (Direccion = "SD") Then
  283. Final = txtConta.Text * 100
  284. Inicio = Final - 100
  285. dgvReportes.Rows.Clear()
  286. CargarReporto("REPO", Inicio, Final)
  287. txtPosicion.Text = Cantidad
  288. ElseIf (Direccion = "SI") Then
  289. Final = 100
  290. Inicio = Final - 100
  291. dgvReportes.Rows.Clear()
  292. CargarReporto("REPO", Inicio, Final)
  293. txtPosicion.Text = 1
  294. End If
  295. End Sub
  296. Private Sub navRegistroAnterior_Click(sender As Object, e As EventArgs) Handles navRegistroAnterior.Click
  297. Direccion = "I"
  298. Mover(Direccion)
  299. ValorCambiado = False
  300. End Sub
  301. Private Sub txtPosicion_TextChanged(sender As Object, e As EventArgs) Handles txtPosicion.TextChanged
  302. ValorCambiado = True
  303. End Sub
  304. Private Sub navUltimoRegistro_Click(sender As Object, e As EventArgs) Handles navUltimoRegistro.Click
  305. Direccion = "SD"
  306. Mover(Direccion)
  307. ValorCambiado = False
  308. End Sub
  309. Private Sub navPrimerRegistro_Click(sender As Object, e As EventArgs) Handles navPrimerRegistro.Click
  310. Direccion = "SI"
  311. Mover(Direccion)
  312. ValorCambiado = False
  313. End Sub
  314. End Class