client/Reportes/frmReporteJ13.vb
2023-02-22 07:21:57 -06:00

156 lines
6.5 KiB
VB.net

Imports System.Collections.Generic
Imports System.IO
Public Class frmReporteJ13
Dim comboKey As String
Dim year As String
Dim semester As String
Dim canExport As Boolean
Private Sub frmReporteJ13_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim initialYear As Integer
Dim currentYear As Integer
Dim comboSource As New Dictionary(Of String, String)()
initialYear = 2019
currentYear = Now.Year
For year As Integer = initialYear To currentYear
comboSource.Add(year.ToString + "1", year.ToString + " - 1")
comboSource.Add(year.ToString + "2", year.ToString + " - 2")
Next
cmbSemester.DataSource = New BindingSource(comboSource, Nothing)
cmbSemester.DisplayMember = "Value"
cmbSemester.ValueMember = "Key"
canExport = False
btnExport.Enabled = canExport
btnExport.Visible = canExport
btnExportXLS.Enabled = canExport
btnExportXLS.Visible = canExport
Dim ClassAud As New ClassMyUtils
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Entrando Reporte J13")
End Sub
Private Sub frmReporteJ13_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
Dim ClassAud As New ClassMyUtils
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Cerrando Reporte J13")
End Sub
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
Dim Classcom As New clsComplejo
Dim SQL As String = String.Empty
Dim idInherent As Integer
Dim idConrolEffect As Integer
Dim incluyeInvalidos As Integer
comboKey = DirectCast(cmbSemester.SelectedItem, KeyValuePair(Of String, String)).Key
year = comboKey.Substring(0, 4)
semester = comboKey.Substring(comboKey.Length - 1)
canExport = False
btnExport.Enabled = canExport
btnExport.Visible = canExport
btnExportXLS.Enabled = canExport
btnExportXLS.Visible = canExport
dgvResult.DataSource = Nothing
incluyeInvalidos = 0
Dim result As DialogResult = MessageBox.Show("¿Incluir registros sin NIC válido?",
"Reporte J13",
MessageBoxButtons.YesNo)
If result = DialogResult.Yes Then
incluyeInvalidos = 1
End If
Try
SQL = "sp_Consulta_ReporteJ13 " + year + ", " + semester + ", " + incluyeInvalidos.ToString
Dim dsGral As DataSet = Classcom.fdtDataSet(SQL)
If dsGral.Tables.Count = 0 Then
MessageBox.Show("No existen registros para el semestre seleccionado")
Exit Sub
ElseIf dsGral.Tables(0).Rows.Count = 0 Then
MessageBox.Show("No existen registros para el semestre seleccionado")
Exit Sub
Else
canExport = True
End If
btnExport.Enabled = canExport
btnExport.Visible = canExport
btnExportXLS.Enabled = canExport
btnExportXLS.Visible = canExport
dgvResult.DataSource = dsGral.Tables(0)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim ClassAud As New ClassMyUtils
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Consulta Reporte J13")
End Sub
Private Sub btnExport_Click(sender As Object, e As EventArgs) Handles btnExport.Click
Dim fileName As String = year.ToString + "_" + semester.ToString + "_ R03 J-0313.txt"
Dim repDirectory As String = ""
Dim fullPath As String = fileName
Dim sr As StreamWriter
Dim strDelimiter As String = ";"
Dim intColumnCount As Integer = dgvResult.Columns.Count - 1
Dim strRowData As String = ""
Dim Classcom As New clsComplejo
Try
Classcom.fdtDataSet("SELECT * FROM ParamRep")
If Classcom.ds.Tables(0).Rows.Count <> 0 Then
repDirectory = Classcom.ds.Tables(0).Rows(0).Item("rutacarteras").ToString()
If Directory.Exists(repDirectory) = False Then ' si no existe la carpeta se crea
Directory.CreateDirectory(repDirectory)
End If
fullPath = repDirectory & "\" & fileName
End If
sr = File.CreateText(fullPath)
For intX As Integer = 0 To dgvResult.Rows.Count - 1
strRowData = ""
For intRowData As Integer = 0 To intColumnCount
strRowData += Replace(dgvResult.Rows(intX).Cells(intRowData).Value, strDelimiter, "") & IIf(intRowData < intColumnCount, strDelimiter, "") '''''''''highlights this row
Next intRowData
sr.WriteLine(strRowData)
Next intX
MessageBox.Show("Reporte generado correctamente")
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub
End Try
Dim ClassAud As New ClassMyUtils
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Generando Reporte J13")
sr.Close()
End Sub
Private Sub btnExportarXLS_Click(sender As Object, e As EventArgs) Handles btnExportXLS.Click
Dim fileName As String = year.ToString + "_" + semester.ToString + "_ R03 J-0313"
Dim fullPath As String = fileName
Dim clsExcel As aExcel
Dim ds As New DataSet
Try
clsExcel = New aExcel
clsExcel.Titulo = fileName
ds.Tables.Add("ReporteJ13")
' Add Columns
Dim col As DataColumn
For Each dgvCol As DataGridViewColumn In dgvResult.Columns
col = New DataColumn(dgvCol.Name)
ds.Tables("ReporteJ13").Columns.Add(col)
Next
'Add Rows from the datagridview
Dim row As DataRow
Dim colcount As Integer = dgvResult.Columns.Count - 1
For i As Integer = 0 To dgvResult.Rows.Count - 1
row = ds.Tables("ReporteJ13").Rows.Add
For Each column As DataGridViewColumn In dgvResult.Columns
row.Item(column.Index) = dgvResult.Rows.Item(i).Cells(column.Index).Value
Next
Next
clsExcel.ExportDataset(ds)
'MessageBox.Show("Reporte generado correctamente")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim ClassAud As New ClassMyUtils
ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Exportando Reporte J13")
End Sub
End Class