PrestamoPersonalDAO.vb 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. Imports System.Data.SqlClient
  2. Public Class PrestamoPersonalDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function ProcesoDatos(ByVal Coleccion As Collection, ByVal Coleccion2 As Collection, ByVal Codigo As String, ByVal Diccionario As Dictionary(Of String, Collection), ByVal EstadoDeudor As String, ByVal EstadoDetalles As String)
  5. Dim objCon As New Conexion
  6. Dim retorno As Integer
  7. Dim sql As String
  8. Dim cmd As SqlCommand
  9. Dim myTrans As SqlTransaction
  10. Dim cn As SqlConnection = objCon.Conectar
  11. If cn.State = ConnectionState.Closed Then
  12. cn.Open()
  13. End If
  14. myTrans = cn.BeginTransaction()
  15. Try
  16. If EstadoDeudor = "Nuevo" Then
  17. sql = "INSERT INTO [dbo].[PPER0](
  18. [CodInv]
  19. ,[nombredeudor]
  20. ,[numerodeudor]
  21. ,[fechaotorga]
  22. ,[fechapago]
  23. ,[periodogracia]
  24. ) VALUES(
  25. @CodInv
  26. ,@nombredeudor
  27. ,@numerodeudor
  28. ,@fechaotorga
  29. ,@fechapago
  30. ,@periodogracia
  31. )
  32. "
  33. Else
  34. sql = "UPDATE [dbo].[PPER0] SET
  35. [nombredeudor]=@nombredeudor
  36. ,[numerodeudor]=@numerodeudor
  37. ,[fechaotorga]=@fechaotorga
  38. ,[fechapago]=@fechapago
  39. ,[periodogracia]=@periodogracia
  40. where [CodInv]=@CodInv
  41. "
  42. End If
  43. cmd = New SqlCommand
  44. cmd.CommandText = sql
  45. cmd.Connection = cn
  46. cmd.Transaction = myTrans
  47. With cmd.Parameters
  48. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  49. .Add("@nombredeudor", SqlDbType.VarChar).Value = Coleccion(1).ToString
  50. .Add("@numerodeudor", SqlDbType.VarChar).Value = Coleccion(2).ToString
  51. .Add("@fechaotorga", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  52. .Add("@fechapago", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(4).ToString)
  53. .Add("@periodogracia", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
  54. End With
  55. retorno = cmd.ExecuteNonQuery
  56. If EstadoDetalles = "Nuevo" Then
  57. sql = "INSERT INTO [dbo].[PPER1](
  58. [CodInv]
  59. ,[tasainteres]
  60. ,[duracionprestamo]
  61. ,[totalcuotas]
  62. ,[montoprestamo]
  63. ,[seguro]
  64. ,[CuotaSinSeguro]
  65. ,[CuotaReal]
  66. ) VALUES(
  67. @CodInv
  68. ,@tasainteres
  69. ,@duracionprestamo
  70. ,@totalcuotas
  71. ,@montoprestamo
  72. ,@seguro
  73. ,@CuotaSinSeguro
  74. ,@CuotaReal
  75. )
  76. "
  77. Else
  78. sql = "UPDATE [dbo].[PPER1] SET
  79. [tasainteres]=@tasainteres
  80. ,[duracionprestamo]=@duracionprestamo
  81. ,[totalcuotas]=@totalcuotas
  82. ,[montoprestamo]=@montoprestamo
  83. ,[seguro]=@seguro
  84. ,[CuotaSinSeguro]=@CuotaSinSeguro
  85. ,[CuotaReal]=@CuotaReal
  86. where [CodInv]=@CodInv
  87. "
  88. End If
  89. cmd = New SqlCommand
  90. cmd.CommandText = sql
  91. cmd.Connection = cn
  92. cmd.Transaction = myTrans
  93. With cmd.Parameters
  94. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  95. .Add("@tasainteres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(1).ToString)
  96. .Add("@duracionprestamo", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(2).ToString)
  97. .Add("@totalcuotas", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(3).ToString)
  98. .Add("@montoprestamo", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
  99. .Add("@seguro", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
  100. .Add("@CuotaSinSeguro", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
  101. .Add("@CuotaReal", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString)
  102. End With
  103. retorno = cmd.ExecuteNonQuery
  104. sql = "DELETE FROM [dbo].[PPER2]
  105. WHERE [CodInv]=@CodInv "
  106. cmd = New SqlCommand
  107. cmd.CommandText = sql
  108. cmd.Connection = cn
  109. cmd.Transaction = myTrans
  110. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  111. retorno = cmd.ExecuteNonQuery
  112. If Not Diccionario Is Nothing Then
  113. For Each DatosDiccionario In Diccionario
  114. Dim Coleccion3 As Collection = DatosDiccionario.Value
  115. sql = "INSERT INTO [dbo].[PPER2](
  116. [CodInv]
  117. ,[fecha]
  118. ,[Periodo]
  119. ,[saldoinicial]
  120. ,[pagocuota]
  121. ,[pagointeresIVA]
  122. ,[IVAinteres]
  123. ,[pagointeres]
  124. ,[abono]
  125. ,[prestamoremanente]
  126. ,[pagodanos]
  127. ,[pagovivienta]
  128. ,[totalcuota]
  129. ,[totalpagado]
  130. ,[abonoextra]
  131. ,[correlativo]
  132. ,[fechacorte]
  133. ) VALUES(
  134. @CodInv
  135. ,@fecha
  136. ,@Periodo
  137. ,@saldoinicial
  138. ,@pagocuota
  139. ,@pagointeresIVA
  140. ,@IVAinteres
  141. ,@pagointeres
  142. ,@abono
  143. ,@prestamoremanente
  144. ,@pagodanos
  145. ,@pagovivienta
  146. ,@totalcuota
  147. ,@totalpagado
  148. ,@abonoextra
  149. ,@correlativo
  150. ,@fechacorte
  151. )
  152. "
  153. cmd = New SqlCommand
  154. cmd.CommandText = sql
  155. cmd.Connection = cn
  156. cmd.Transaction = myTrans
  157. With cmd.Parameters
  158. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  159. .Add("@correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion3(1).ToString)
  160. .Add("@fecha", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion3(2).ToString)
  161. .Add("@Periodo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion3(3).ToString)
  162. .Add("@saldoinicial", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(4).ToString)
  163. .Add("@pagocuota", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(5).ToString)
  164. .Add("@pagointeresIVA", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(6).ToString)
  165. .Add("@IVAinteres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(7).ToString)
  166. .Add("@pagointeres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(8).ToString)
  167. .Add("@abono", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(9).ToString)
  168. .Add("@prestamoremanente", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(10).ToString)
  169. .Add("@pagodanos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(11).ToString)
  170. .Add("@pagovivienta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(12).ToString)
  171. .Add("@totalcuota", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(13).ToString)
  172. .Add("@totalpagado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(14).ToString)
  173. .Add("@abonoextra", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion3(15).ToString)
  174. .Add("@fechacorte", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion3(16).ToString)
  175. End With
  176. retorno = cmd.ExecuteNonQuery
  177. Next
  178. End If
  179. ''''''''''''''''''
  180. myTrans.Commit()
  181. MsgBox("Datos Ingresados")
  182. Catch ex As Exception
  183. myTrans.Rollback()
  184. MsgBox(ex.Message)
  185. End Try
  186. cn.Close()
  187. Return retorno
  188. End Function
  189. Public Function NuevaAmortizacion(ByVal Coleccion As Collection, ByVal Codigo As String)
  190. Dim objCon As New Conexion
  191. Dim retorno As Integer
  192. Dim sql As String
  193. Dim cmd As SqlCommand
  194. Dim cn As SqlConnection = objCon.Conectar
  195. If cn.State = ConnectionState.Closed Then
  196. cn.Open()
  197. End If
  198. sql = "INSERT INTO [dbo].[PPER2](
  199. [CodInv]
  200. ,[fecha]
  201. ,[Periodo]
  202. ,[saldoinicial]
  203. ,[pagocuota]
  204. ,[pagointeresIVA]
  205. ,[IVAinteres]
  206. ,[pagointeres]
  207. ,[abono]
  208. ,[prestamoremanente]
  209. ,[pagodanos]
  210. ,[pagovivienta]
  211. ,[totalcuota]
  212. ,[totalpagado]
  213. ,[abonoextra]
  214. ,[correlativo]
  215. ,[fechacorte]
  216. ) VALUES(
  217. @CodInv
  218. ,@fecha
  219. ,@Periodo
  220. ,@saldoinicial
  221. ,@pagocuota
  222. ,@pagointeresIVA
  223. ,@IVAinteres
  224. ,@pagointeres
  225. ,@abono
  226. ,@prestamoremanente
  227. ,@pagodanos
  228. ,@pagovivienta
  229. ,@totalcuota
  230. ,@totalpagado
  231. ,@abonoextra
  232. ,@correlativo
  233. ,@fechacorte
  234. )
  235. "
  236. cmd = New SqlCommand
  237. cmd.CommandText = sql
  238. With cmd.Parameters
  239. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  240. .Add("@correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(1).ToString)
  241. .Add("@fecha", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  242. .Add("@Periodo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(3).ToString)
  243. .Add("@saldoinicial", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  244. .Add("@pagocuota", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
  245. .Add("@pagointeresIVA", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  246. .Add("@IVAinteres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  247. .Add("@pagointeres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(8).ToString)
  248. .Add("@abono", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  249. .Add("@prestamoremanente", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  250. .Add("@pagodanos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(11).ToString)
  251. .Add("@pagovivienta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(12).ToString)
  252. .Add("@totalcuota", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(13).ToString)
  253. .Add("@totalpagado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString)
  254. .Add("@abonoextra", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString)
  255. .Add("@fechacorte", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion(16).ToString)
  256. End With
  257. cmd.Connection = cn
  258. retorno = cmd.ExecuteNonQuery
  259. cn.Dispose()
  260. cn.Close()
  261. Return retorno
  262. End Function
  263. Public Function CargarDeudor(ByVal Codigo As String)
  264. Dim objCon As New Conexion
  265. Dim sql As String
  266. Dim cmd As SqlCommand
  267. Dim Coleccion As New Collection
  268. Dim cn As SqlConnection = objCon.Conectar
  269. If cn.State = ConnectionState.Closed Then
  270. cn.Open()
  271. End If
  272. sql = "SELECT * FROM [dbo].[PPER0] WHERE CodInv=@Codigo"
  273. cmd = New SqlCommand
  274. cmd.CommandText = sql
  275. cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
  276. cmd.Connection = cn
  277. Dim Datos = cmd.ExecuteReader
  278. If Datos.HasRows Then
  279. 'SE ENCONTRO EL REGISTRO
  280. If Datos.Read Then
  281. Coleccion.Add(Datos.Item("nombredeudor"))
  282. Coleccion.Add(Datos.Item("numerodeudor"))
  283. Coleccion.Add(Datos.Item("fechaotorga"))
  284. Coleccion.Add(Datos.Item("fechapago"))
  285. Coleccion.Add(Datos.Item("periodogracia"))
  286. cn.Close()
  287. Return Coleccion
  288. End If
  289. End If
  290. cn.Close()
  291. Return False
  292. End Function
  293. Public Function CargarDetalles(ByVal Codigo As String)
  294. Dim objCon As New Conexion
  295. Dim sql As String
  296. Dim cmd As SqlCommand
  297. Dim Coleccion As New Collection
  298. Dim cn As SqlConnection = objCon.Conectar
  299. If cn.State = ConnectionState.Closed Then
  300. cn.Open()
  301. End If
  302. sql = "SELECT * FROM [dbo].[PPER1] WHERE CodInv=@Codigo"
  303. cmd = New SqlCommand
  304. cmd.CommandText = sql
  305. cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
  306. cmd.Connection = cn
  307. ' Dim Datos = cmd.ExecuteScalar
  308. Dim Datos = cmd.ExecuteReader
  309. If Datos.HasRows Then
  310. 'SE ENCONTRO EL REGISTRO
  311. If Datos.Read Then
  312. Coleccion.Add(Datos.Item("tasainteres"))
  313. Coleccion.Add(Datos.Item("duracionprestamo"))
  314. Coleccion.Add(Datos.Item("totalcuotas"))
  315. Coleccion.Add(Datos.Item("montoprestamo"))
  316. Coleccion.Add(Datos.Item("seguro"))
  317. cn.Close()
  318. Return Coleccion
  319. End If
  320. End If
  321. cn.Close()
  322. Return False
  323. End Function
  324. Public Function CargarAmortizacion(ByVal codigo As String)
  325. Dim objCon As New Conexion
  326. Dim cn As SqlConnection = objCon.Conectar
  327. If cn.State = ConnectionState.Closed Then
  328. cn.Open()
  329. End If
  330. Dim sql = "select * from PPER2 where CodInv='" + codigo + "' order by Correlativo"
  331. Dim cmd As New SqlCommand(sql, cn)
  332. Dim dr As SqlDataReader
  333. dr = cmd.ExecuteReader
  334. Return dr
  335. End Function
  336. Public Sub Eliminar(ByVal Codigo As String)
  337. Dim objCon As New Conexion
  338. Dim retorno As Integer
  339. Dim sql As String
  340. Dim cmd As SqlCommand
  341. Dim myTrans As SqlTransaction
  342. Dim cn As SqlConnection = objCon.Conectar
  343. If cn.State = ConnectionState.Closed Then
  344. cn.Open()
  345. End If
  346. myTrans = cn.BeginTransaction()
  347. Try
  348. sql = "DELETE FROM [dbo].[PPER0]
  349. WHERE [CodInv]=@CodInv"
  350. cmd = New SqlCommand
  351. cmd.CommandText = sql
  352. cmd.Connection = cn
  353. cmd.Transaction = myTrans
  354. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  355. retorno = cmd.ExecuteNonQuery
  356. sql = "DELETE FROM [dbo].[PPER1]
  357. WHERE [CodInv]=@CodInv"
  358. cmd = New SqlCommand
  359. cmd.CommandText = sql
  360. cmd.Connection = cn
  361. cmd.Transaction = myTrans
  362. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  363. retorno = cmd.ExecuteNonQuery
  364. sql = "DELETE FROM [dbo].[PPER2]
  365. WHERE [CodInv]=@CodInv"
  366. cmd = New SqlCommand
  367. cmd.CommandText = sql
  368. cmd.Connection = cn
  369. cmd.Transaction = myTrans
  370. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  371. retorno = cmd.ExecuteNonQuery
  372. myTrans.Commit()
  373. MsgBox("Datos Eliminados")
  374. Catch ex As Exception
  375. myTrans.Rollback()
  376. MsgBox(ex.Message)
  377. End Try
  378. cn.Close()
  379. End Sub
  380. End Class