ReportosDAO.vb 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. Imports System.Data.SqlClient
  2. Public Class ReportosDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function ProcesoDatos(ByVal Diccionario As Dictionary(Of String, Collection), ByVal Codigo As String, ByVal Tabla 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. sql = "DELETE FROM " + Tabla + "
  17. WHERE [CodInv]=@CodInv "
  18. cmd = New SqlCommand
  19. cmd.CommandText = sql
  20. cmd.Connection = cn
  21. cmd.Transaction = myTrans
  22. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  23. retorno = cmd.ExecuteNonQuery
  24. If Not Diccionario Is Nothing Then
  25. For Each DatosDiccionario In Diccionario
  26. Dim Coleccion As Collection = DatosDiccionario.Value
  27. If Tabla = "REP0" Then
  28. sql = "INSERT INTO " + Tabla + "(
  29. [CodInv]
  30. ,[codigo]
  31. ,[Nombre]
  32. ,[FCompra]
  33. ,[ValTrans]
  34. ,[Dias]
  35. ,[FVenc]
  36. ,[Rend]
  37. ,[CostoTransfr]
  38. ,[ComisionCasa]
  39. ,[ComisionBolsa]
  40. ,[Casa]
  41. ,[IOF]
  42. ,[Renta]
  43. ,[Base]
  44. ,[ComisionCasaValor]
  45. ,[ComisionBolsaValor]
  46. ,[IOFValor]
  47. ,[OtrosCostos]
  48. ,[TotalCostos]
  49. ,[MontoLiq]
  50. ,[IntGenerar]
  51. ,[RendAntImp]
  52. ,[RendDesImp]
  53. ,[ImpLiq]
  54. ,[IngrNet]
  55. ,[ValorNet]
  56. ,[EstadoIOF]
  57. ,[EstadoRenta]
  58. ) VALUES(
  59. @CodInv
  60. ,@codigo
  61. ,@Nombre
  62. ,@FCompra
  63. ,@ValTrans
  64. ,@Dias
  65. ,@FVenc
  66. ,@Rend
  67. ,@CostoTransfr
  68. ,@ComisionCasa
  69. ,@ComisionBolsa
  70. ,@Casa
  71. ,@IOF
  72. ,@Renta
  73. ,@Base
  74. ,@ComisionCasaValor
  75. ,@ComisionBolsaValor
  76. ,@IOFValor
  77. ,@OtrosCostos
  78. ,@TotalCostos
  79. ,@MontoLiq
  80. ,@IntGenerar
  81. ,@RendAntImp
  82. ,@RendDesImp
  83. ,@ImpLiq
  84. ,@IngrNet
  85. ,@ValorNet
  86. ,@EstadoIOF
  87. ,@EstadoRenta
  88. )
  89. "
  90. Else
  91. sql = "INSERT INTO " + Tabla + "(
  92. [CodInv]
  93. ,[codigo]
  94. ,[Nombre]
  95. ,[FCompra]
  96. ,[ValTrans]
  97. ,[Dias]
  98. ,[FVenc]
  99. ,[Rend]
  100. ,[CostoTransfr]
  101. ,[ComisionCasa]
  102. ,[ComisionBolsa]
  103. ,[Casa]
  104. ,[IOF]
  105. ,[Renta]
  106. ,[Base]
  107. ,[ComisionCasaValor]
  108. ,[ComisionBolsaValor]
  109. ,[IOFValor]
  110. ,[OtrosCostos]
  111. ,[TotalCostos]
  112. ,[MontoLiq]
  113. ,[IntGenerar]
  114. ,[RendAntImp]
  115. ,[RendDesImp]
  116. ,[ImpLiq]
  117. ,[IngrNet]
  118. ,[ValorNet]
  119. ,[EstadoIOF]
  120. ,[EstadoRenta]
  121. ) VALUES(
  122. @CodInv
  123. ,@codigo
  124. ,@Nombre
  125. ,@FCompra
  126. ,@ValTrans
  127. ,@Dias
  128. ,@FVenc
  129. ,@Rend
  130. ,@CostoTransfr
  131. ,@ComisionCasa
  132. ,@ComisionBolsa
  133. ,@Casa
  134. ,@IOF
  135. ,@Renta
  136. ,@Base
  137. ,@ComisionCasaValor
  138. ,@ComisionBolsaValor
  139. ,@IOFValor
  140. ,@OtrosCostos
  141. ,@TotalCostos
  142. ,@MontoLiq
  143. ,@IntGenerar
  144. ,@RendAntImp
  145. ,@RendDesImp
  146. ,@ImpLiq
  147. ,@IngrNet
  148. ,@ValorNet
  149. ,@EstadoIOF
  150. ,@EstadoRenta
  151. )
  152. "
  153. End If
  154. cmd = New SqlCommand
  155. cmd.CommandText = sql
  156. cmd.Connection = cn
  157. cmd.Transaction = myTrans
  158. With cmd.Parameters
  159. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  160. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1).ToString
  161. .Add("@FCompra", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  162. .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString)
  163. .Add("@Dias", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  164. .Add("@FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(5).ToString)
  165. .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  166. .Add("@CostoTransfr", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  167. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8).ToString
  168. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  169. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  170. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11).ToString
  171. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  172. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  173. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  174. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString)
  175. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString)
  176. .Add("@IOFValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString)
  177. .Add("@OtrosCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
  178. .Add("@TotalCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString)
  179. .Add("@MontoLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString)
  180. .Add("@IntGenerar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString)
  181. .Add("@RendAntImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString)
  182. .Add("@RendDesImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString)
  183. .Add("@ImpLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString)
  184. .Add("@IngrNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  185. .Add("@ValorNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  186. .Add("@EstadoIOF", SqlDbType.Bit).Value = CByte(Coleccion(27))
  187. .Add("@EstadoRenta", SqlDbType.Bit).Value = CByte(Coleccion(28))
  188. End With
  189. retorno = cmd.ExecuteNonQuery
  190. Next
  191. End If
  192. ''''''''''''''''''
  193. myTrans.Commit()
  194. MsgBox("Datos Ingresados")
  195. Catch ex As Exception
  196. myTrans.Rollback()
  197. MsgBox(ex.Message)
  198. End Try
  199. cn.Close()
  200. Return retorno
  201. End Function
  202. Public Function CargarReporto(ByVal codigo As String, ByVal Tabla As String)
  203. Dim objCon As New Conexion
  204. Dim cn As SqlConnection = objCon.Conectar
  205. If cn.State = ConnectionState.Closed Then
  206. cn.Open()
  207. End If
  208. Dim sql = "select * from " + Tabla + " where CodInv='" + codigo + "' order by codigo"
  209. Dim cmd As New SqlCommand(sql, cn)
  210. Dim dr As SqlDataReader
  211. dr = cmd.ExecuteReader
  212. If (Not dr.HasRows) Then
  213. cn.Close()
  214. Return Nothing
  215. End If
  216. Return dr
  217. End Function
  218. Public Sub Eliminar(ByVal Codigo As String, ByVal clave As String, ByVal Tabla As String)
  219. Dim objCon As New Conexion
  220. Dim sql As String
  221. Dim cmd As SqlCommand
  222. Dim res As Integer
  223. Dim cn As SqlConnection = objCon.Conectar
  224. If cn.State = ConnectionState.Closed Then
  225. cn.Open()
  226. End If
  227. If (String.IsNullOrEmpty(clave)) Then
  228. sql = "DELETE FROM " + Tabla + "
  229. WHERE [CodInv]=@CodInv AND codigo is null"
  230. Else
  231. sql = "DELETE FROM " + Tabla + "
  232. WHERE [CodInv]=@CodInv AND codigo=@codigo"
  233. End If
  234. cmd = New SqlCommand
  235. cmd.CommandText = sql
  236. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  237. cmd.Parameters.Add("@codigo", SqlDbType.VarChar).Value = clave
  238. cmd.Connection = cn
  239. res = cmd.ExecuteNonQuery
  240. cn.Close()
  241. End Sub
  242. Public Function Nuevo(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Tabla As String)
  243. Dim objCon As New Conexion
  244. Dim retorno As Integer
  245. Dim sql As String
  246. Dim cmd As SqlCommand
  247. Dim cn As SqlConnection = objCon.Conectar
  248. If cn.State = ConnectionState.Closed Then
  249. cn.Open()
  250. End If
  251. If Tabla = "REP0" Then
  252. sql = "INSERT INTO " + Tabla + "(
  253. [CodInv]
  254. ,[codigo]
  255. ,[Nombre]
  256. ,[FCompra]
  257. ,[ValTrans]
  258. ,[Dias]
  259. ,[FVenc]
  260. ,[Rend]
  261. ,[CostoTransfr]
  262. ,[ComisionCasa]
  263. ,[ComisionBolsa]
  264. ,[Casa]
  265. ,[IOF]
  266. ,[Renta]
  267. ,[Base]
  268. ,[ComisionCasaValor]
  269. ,[ComisionBolsaValor]
  270. ,[IOFValor]
  271. ,[OtrosCostos]
  272. ,[TotalCostos]
  273. ,[MontoLiq]
  274. ,[IntGenerar]
  275. ,[RendAntImp]
  276. ,[RendDesImp]
  277. ,[ImpLiq]
  278. ,[IngrNet]
  279. ,[ValorNet]
  280. ,[EstadoIOF]
  281. ,[EstadoRenta]
  282. ) VALUES(
  283. @CodInv
  284. ,@codigo
  285. ,@Nombre
  286. ,@FCompra
  287. ,@ValTrans
  288. ,@Dias
  289. ,@FVenc
  290. ,@Rend
  291. ,@CostoTransfr
  292. ,@ComisionCasa
  293. ,@ComisionBolsa
  294. ,@Casa
  295. ,@IOF
  296. ,@Renta
  297. ,@Base
  298. ,@ComisionCasaValor
  299. ,@ComisionBolsaValor
  300. ,@IOFValor
  301. ,@OtrosCostos
  302. ,@TotalCostos
  303. ,@MontoLiq
  304. ,@IntGenerar
  305. ,@RendAntImp
  306. ,@RendDesImp
  307. ,@ImpLiq
  308. ,@IngrNet
  309. ,@ValorNet
  310. ,@EstadoIOF
  311. ,@EstadoRenta
  312. )
  313. "
  314. Else
  315. sql = "INSERT INTO " + Tabla + "(
  316. [CodInv]
  317. ,[codigo]
  318. ,[Nombre]
  319. ,[FCompra]
  320. ,[ValTrans]
  321. ,[Dias]
  322. ,[FVenc]
  323. ,[Rend]
  324. ,[CostoTransfr]
  325. ,[ComisionCasa]
  326. ,[ComisionBolsa]
  327. ,[Casa]
  328. ,[IOF]
  329. ,[Renta]
  330. ,[Base]
  331. ,[ComisionCasaValor]
  332. ,[ComisionBolsaValor]
  333. ,[IOFValor]
  334. ,[OtrosCostos]
  335. ,[TotalCostos]
  336. ,[MontoLiq]
  337. ,[IntGenerar]
  338. ,[RendAntImp]
  339. ,[RendDesImp]
  340. ,[ImpLiq]
  341. ,[IngrNet]
  342. ,[ValorNet]
  343. ,[EstadoIOF]
  344. ,[EstadoRenta]
  345. ) VALUES(
  346. @CodInv
  347. ,@codigo
  348. ,@Nombre
  349. ,@FCompra
  350. ,@ValTrans
  351. ,@Dias
  352. ,@FVenc
  353. ,@Rend
  354. ,@CostoTransfr
  355. ,@ComisionCasa
  356. ,@ComisionBolsa
  357. ,@Casa
  358. ,@IOF
  359. ,@Renta
  360. ,@Base
  361. ,@ComisionCasaValor
  362. ,@ComisionBolsaValor
  363. ,@IOFValor
  364. ,@OtrosCostos
  365. ,@TotalCostos
  366. ,@MontoLiq
  367. ,@IntGenerar
  368. ,@RendAntImp
  369. ,@RendDesImp
  370. ,@ImpLiq
  371. ,@IngrNet
  372. ,@ValorNet
  373. ,@EstadoIOF
  374. ,@EstadoRenta
  375. )
  376. "
  377. End If
  378. cmd = New SqlCommand
  379. cmd.CommandText = sql
  380. With cmd.Parameters
  381. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  382. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1).ToString
  383. .Add("@FCompra", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  384. .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString)
  385. .Add("@Dias", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  386. .Add("@FVenc", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(5).ToString)
  387. .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  388. .Add("@CostoTransfr", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  389. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8).ToString
  390. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  391. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  392. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11).ToString
  393. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  394. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  395. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  396. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString)
  397. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString)
  398. .Add("@IOFValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString)
  399. .Add("@OtrosCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
  400. .Add("@TotalCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString)
  401. .Add("@MontoLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString)
  402. .Add("@IntGenerar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString)
  403. .Add("@RendAntImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString)
  404. .Add("@RendDesImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString)
  405. .Add("@ImpLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString)
  406. .Add("@IngrNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  407. .Add("@ValorNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  408. .Add("@EstadoIOF", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  409. .Add("@EstadoRenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  410. End With
  411. cmd.Connection = cn
  412. retorno = cmd.ExecuteNonQuery
  413. cn.Close()
  414. Return retorno
  415. End Function
  416. Public Function TraerImpuesto(ByVal Codigo As String, ByVal codigoElemento As String)
  417. Dim objCon As New Conexion
  418. Dim cn As SqlConnection = objCon.Conectar
  419. If cn.State = ConnectionState.Closed Then
  420. cn.Open()
  421. End If
  422. If (Not String.IsNullOrEmpty(Codigo)) Then
  423. Dim sql As String
  424. Dim cmd As SqlCommand
  425. Dim Impuesto As String
  426. sql = "SELECT * FROM REP0 WHERE CodInv=@Codigo and [codigo]=@codigoElemento"
  427. cmd = New SqlCommand
  428. cmd.CommandText = sql
  429. cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
  430. cmd.Parameters.Add("@codigoElemento", SqlDbType.VarChar).Value = codigoElemento
  431. cmd.Connection = cn
  432. Dim Datos = cmd.ExecuteReader
  433. cn.Close()
  434. If Datos.HasRows Then
  435. 'SE ENCONTRO EL REGISTRO
  436. Try
  437. If Datos.Read Then
  438. Impuesto = Datos.Item("Impuestos")
  439. Return Impuesto
  440. Else
  441. Return 0
  442. End If
  443. Catch ex As Exception
  444. Return 0
  445. End Try
  446. Else
  447. Return 0
  448. End If
  449. Else
  450. Return 0
  451. End If
  452. End Function
  453. Public Function FiltroReportoVenta(ByRef FechaVenOperacion1 As String, ByRef FechaVenOperacion2 As String, ByRef Estado As String, ByRef Empresa As String, ByRef CasaCorredora As String) As DataSet
  454. Dim objCon As New Conexion
  455. Dim da As New SqlDataAdapter
  456. Dim ds As New DataSet
  457. Dim cn As SqlConnection = objCon.Conectar
  458. If cn.State = ConnectionState.Closed Then
  459. cn.Open()
  460. End If
  461. Dim sql = "SP_CargarReportoVentas"
  462. Dim cmd As New SqlCommand(sql, cn)
  463. cmd.CommandType = CommandType.StoredProcedure
  464. cmd.Parameters.Add("@FechaOperacion1", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion1)
  465. cmd.Parameters.Add("@FechaOperacion2", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion2)
  466. cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = Empresa
  467. cmd.Parameters.Add("@CasaCorredora", SqlDbType.VarChar).Value = CasaCorredora
  468. cmd.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado
  469. da = New SqlDataAdapter(cmd)
  470. da.Fill(ds)
  471. cn.Close()
  472. Return ds
  473. End Function
  474. End Class