RequisicionDePagoDAO.vb 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. Module RequisicionDePagoDAO
  2. Dim Operaciones As New Operaciones
  3. Public Function ExisteRequisicion(ByVal pCodigoInversion As String) As Boolean
  4. Dim retorno As Boolean = False
  5. Dim resultado As Integer
  6. Dim query As String
  7. Dim cmd As SqlClient.SqlCommand
  8. Dim cn As SqlClient.SqlConnection
  9. Dim oConexion = New Conexion
  10. If String.IsNullOrEmpty(pCodigoInversion) Then
  11. GoTo Salida
  12. End If
  13. query = "SELECT COUNT('A') FROM [dbo].[RPAG] T0 WHERE T0.[CodInv]=@CodInv"
  14. cmd = New SqlClient.SqlCommand
  15. cmd.CommandText = query
  16. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = pCodigoInversion
  17. cn = oConexion.Conectar
  18. If Not cn.State = ConnectionState.Open Then
  19. cn.Open()
  20. End If
  21. cmd.Connection = cn
  22. resultado = cmd.ExecuteScalar
  23. If resultado = 1 Then retorno = True
  24. Salida:
  25. Return retorno
  26. End Function
  27. Public Function CargarRegistro(ByVal pCodigoInversion As String) As RequisicionDePagoCE
  28. Dim oRequisicionDePagoCE As New RequisicionDePagoCE
  29. Dim cn As SqlClient.SqlConnection
  30. Dim cmd As SqlClient.SqlCommand
  31. Dim query As String
  32. Dim dr As SqlClient.SqlDataReader
  33. Dim oConexion As New Conexion
  34. If ExisteRequisicion(pCodigoInversion) Then
  35. oRequisicionDePagoCE = New RequisicionDePagoCE
  36. query = "SELECT * FROM [dbo].[RPAG] T0 WHERE T0.[CodInv]=@CodInv"
  37. cmd = New SqlClient.SqlCommand
  38. cmd.CommandText = query
  39. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = pCodigoInversion
  40. cn = oConexion.Conectar
  41. If Not cn.State = ConnectionState.Open Then
  42. cn.Open()
  43. End If
  44. cmd.Connection = cn
  45. dr = cmd.ExecuteReader
  46. If dr.HasRows Then
  47. While dr.Read
  48. oRequisicionDePagoCE.CodigoInversion = dr.Item("CodInv").ToString
  49. oRequisicionDePagoCE.CodigoReq = dr.Item("CodReq").ToString
  50. oRequisicionDePagoCE.UsuarioSolicitante = dr.Item("UCodigo").ToString
  51. oRequisicionDePagoCE.AFavorDe = dr.Item("AFavorDe").ToString
  52. oRequisicionDePagoCE.FormaDePago = dr.Item("FormaPagID").ToString
  53. oRequisicionDePagoCE.MontoDelPago = dr.Item("MontoPago").ToString
  54. oRequisicionDePagoCE.FechaDelPago = dr.Item("FechaPago").ToString
  55. oRequisicionDePagoCE.CodigoBanco = dr.Item("CodBanco")
  56. oRequisicionDePagoCE.NumeroCuenta = dr.Item("NumCuenta").ToString
  57. oRequisicionDePagoCE.Concepto = dr.Item("Concepto").ToString
  58. oRequisicionDePagoCE.SaldoContable = dr.Item("SaldoContable").ToString
  59. End While
  60. End If
  61. End If
  62. If String.IsNullOrEmpty(pCodigoInversion) Then
  63. GoTo Salida
  64. End If
  65. Salida:
  66. Return oRequisicionDePagoCE
  67. End Function
  68. Public Function GuardarNuevaRequisicion(ByVal pRequisicionDePagoCE As RequisicionDePagoCE, ByVal TipoOperacion As String) As Integer
  69. Dim query As String
  70. Dim cmd As SqlClient.SqlCommand
  71. Dim cn As SqlClient.SqlConnection
  72. Dim oConexion As New Conexion
  73. Dim retorno As Integer
  74. If TipoOperacion = "N" Then
  75. query = "INSERT INTO [dbo].[RPAG]
  76. ([UCodigo]
  77. ,[CodInv]
  78. ,[CodReq]
  79. ,[AFavorDe]
  80. ,[FormaPagID]
  81. ,[MontoPago]
  82. ,[FechaPago]
  83. ,[CodBanco]
  84. ,[NumCuenta]
  85. ,[SaldoContable]
  86. ,[Concepto])
  87. VALUES
  88. (@UCodigo
  89. ,@CodInv
  90. ,@CodReq
  91. ,@AFavorDe
  92. ,@FormaPagID
  93. ,@MontoPago
  94. ,@FechaPago
  95. ,@CodBanco
  96. ,@NumCuenta
  97. ,@SaldoContable
  98. ,@Concepto
  99. )"
  100. Else
  101. query = "UPDATE [dbo].[RPAG] SET
  102. [UCodigo]= @UCodigo
  103. ,[CodReq]= @CodReq
  104. ,[AFavorDe]=@AFavorDe
  105. ,[FormaPagID]=@FormaPagID
  106. ,[MontoPago]=@MontoPago
  107. ,[FechaPago]=@FechaPago
  108. ,[CodBanco]=@CodBanco
  109. ,[NumCuenta]=@NumCuenta
  110. ,[SaldoContable]=@SaldoContable
  111. ,[Concepto]=@Concepto
  112. WHERE [CodInv]=@CodInv
  113. "
  114. End If
  115. cmd = New SqlClient.SqlCommand
  116. cmd.CommandText = query
  117. cmd.Parameters.Add("@UCodigo", SqlDbType.VarChar).Value = pRequisicionDePagoCE.UsuarioSolicitante
  118. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = pRequisicionDePagoCE.CodigoInversion
  119. cmd.Parameters.Add("@AFavorDe", SqlDbType.VarChar).Value = pRequisicionDePagoCE.AFavorDe
  120. cmd.Parameters.Add("@FormaPagID", SqlDbType.VarChar).Value = pRequisicionDePagoCE.FormaDePago
  121. cmd.Parameters.Add("@MontoPago", SqlDbType.Float).Value = pRequisicionDePagoCE.MontoDelPago
  122. cmd.Parameters.Add("@FechaPago", SqlDbType.DateTime).Value = pRequisicionDePagoCE.FechaDelPago
  123. cmd.Parameters.Add("@CodBanco", SqlDbType.VarChar).Value = pRequisicionDePagoCE.CodigoBanco
  124. cmd.Parameters.Add("@NumCuenta", SqlDbType.VarChar).Value = pRequisicionDePagoCE.NumeroCuenta
  125. cmd.Parameters.Add("@SaldoContable", SqlDbType.Float).Value = pRequisicionDePagoCE.SaldoContable
  126. cmd.Parameters.Add("@Concepto", SqlDbType.VarChar).Value = pRequisicionDePagoCE.Concepto
  127. cmd.Parameters.Add("@CodReq", SqlDbType.VarChar).Value = pRequisicionDePagoCE.CodigoReq
  128. cn = oConexion.Conectar
  129. If Not cn.State = ConnectionState.Open Then
  130. cn.Open()
  131. End If
  132. cmd.Connection = cn
  133. retorno = cmd.ExecuteNonQuery
  134. Salida:
  135. Return retorno
  136. End Function
  137. Function NuevoCodigo()
  138. Dim objCon As New Conexion
  139. Dim valor As String = String.Empty
  140. Dim cn As SqlClient.SqlConnection = objCon.Conectar
  141. If cn.State = ConnectionState.Closed Then
  142. cn.Open()
  143. End If
  144. Dim sql = "[dbo].[SP_CodigoNuevoReq]"
  145. Dim cmd As New SqlClient.SqlCommand(sql, cn)
  146. cmd.CommandType = CommandType.StoredProcedure
  147. valor = cmd.ExecuteScalar
  148. cmd.Dispose()
  149. cn.Dispose()
  150. Return valor
  151. End Function
  152. Function Monto(ByVal CodigoInversion As String)
  153. Dim objCon As New Conexion
  154. Dim valor As Double = 0
  155. Dim cn As SqlClient.SqlConnection = objCon.Conectar
  156. If cn.State = ConnectionState.Closed Then
  157. cn.Open()
  158. End If
  159. Dim sql = "[dbo].[SP_MontoTituloUnico]"
  160. Dim cmd As New SqlClient.SqlCommand(sql, cn)
  161. cmd.CommandType = CommandType.StoredProcedure
  162. cmd.Parameters.Add("@CodigoInversion", SqlDbType.VarChar).Value = CodigoInversion
  163. valor = Operaciones.ConvertirDecimal(cmd.ExecuteScalar)
  164. cmd.Dispose()
  165. cn.Dispose()
  166. Return valor
  167. End Function
  168. End Module