client/frmChequeCaja.vb

561 lines
25 KiB
VB.net

Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Serialization
Imports System.Collections.Generic
Public Class frmChequeCaja
Dim notAuditoria As ClassMyUtils
Dim dsGral As DataSet
Private Sub frmTInternacional_Load(sender As Object, e As System.EventArgs) Handles Me.Load
notAuditoria = New ClassMyUtils
notAuditoria.RT_Auditoria(clsVaribles.varUsuario, 125, 28, "Ingreso Reporte Cheques de Caja")
notAuditoria = Nothing
'----------------------
Dim dictionary As New Dictionary(Of String, Integer)
dictionary.Add("Enero - Marzo", 1)
dictionary.Add("Abril - Junio", 2)
dictionary.Add("Julio - Septiembre", 3)
dictionary.Add("Octubre - Diciembre", 4)
cboMes.DisplayMember = "Key"
cboMes.ValueMember = "Value"
cboMes.DataSource = New BindingSource(dictionary, Nothing)
cboMes.SelectedIndex = -1
Dim aYear As Integer = Year(Now)
For i As Integer = 0 To 6
cboYear.Items.Add(aYear + 3 - i)
Next
cboMes.SelectedIndex = 0
cboYear.SelectedIndex = 0
End Sub
Private Sub btnGenerarReporte_Click(sender As Object, e As EventArgs) Handles btnGenerarReporte.Click
'If dsGral Is Nothing Then
' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds")
' Exit Sub
'Else
' If dsGral.Tables("Table") Is Nothing Then
' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds")
' Exit Sub
' Else
' If dsGral.Tables("Table").Rows.Count = 0 Then
' MsgBox("No hay registros para generar el reporte.", MsgBoxStyle.Information, "Minds")
' Exit Sub
' End If
' End If
'End If
Dim SINREGISTROS As Boolean = False
If dsGral Is Nothing Then
SINREGISTROS = True
Else
If dsGral.Tables(0).Rows.Count = 0 Then
SINREGISTROS = True
End If
End If
If SINREGISTROS = False Then
Dim fileSave As New SaveFileDialog
Dim File As String = Nothing
Dim Dia As String
Dim Anio As String
'"\FTI_" & cboYear.Text & "_" & cboMes.Text & ".xml"
fileSave.Filter = "Archivos XML | *.XML"
fileSave.FileName = "FCC_" & cboYear.Text & "_" & cboMes.Text & ".xml"
fileSave.Title = "Guardar Archivo"
File = fileSave.ShowDialog()
If File = 1 Then
AddData(fileSave.FileName)
MsgBox("El archivo cheques de caja se ha generado correctamente", MsgBoxStyle.OkOnly, "Mensaje")
End If
Else
If MsgBox("No existen registros, ¿Está seguro de generar un reporte en ceros?", MsgBoxStyle.OkCancel, "Mensaje") = MsgBoxResult.Ok Then
Dim fileSave As New SaveFileDialog
Dim File As String = Nothing
Dim Dia As String
Dim Anio As String
'"\FTI_" & cboYear.Text & "_" & cboMes.Text & ".xml"
fileSave.Filter = "Archivos XML | *.XML"
fileSave.FileName = "FCC_" & cboYear.Text & "_" & cboMes.Text & ".xml"
fileSave.Title = "Guardar Archivo"
File = fileSave.ShowDialog()
If File = 1 Then
Dim StrMFile As System.IO.FileStream
Dim StrMRead As System.IO.StreamWriter
StrMFile = New System.IO.FileStream(fileSave.FileName, IO.FileMode.OpenOrCreate, IO.FileAccess.Write)
StrMRead = New System.IO.StreamWriter(StrMFile)
Dim strCadenaIN As String = "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbCrLf &
"<reporte xmlns=""http://www.uif.shcp.gob.mx/recepcion/fcc"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & vbCrLf & _
"<trimestre_reportado>" & cboYear.Text & "-" & (cboMes.SelectedIndex + 1).ToString() & "</trimestre_reportado>" & vbCrLf & _
"<entidad>" & vbCrLf & _
"<clave_organo_regulador>01-002</clave_organo_regulador>" & vbCrLf & _
"<clave_entidad>40-060</clave_entidad>" & vbCrLf & _
"</entidad>" & vbCrLf & _
"<operaciones/>" & vbCrLf & _
"</reporte>"
StrMRead.WriteLine(strCadenaIN)
StrMRead.Close()
MsgBox("El archivo cheques de caja se ha generado correctamente", MsgBoxStyle.OkOnly, "Mensaje")
End If
End If
End If
End Sub
Private Sub btnSalir_Click(sender As System.Object, e As System.EventArgs) Handles btnSalir.Click
Close()
End Sub
Private Sub btnConsultar_Click_1(sender As System.Object, e As System.EventArgs) Handles btnConsultar.Click
FillGrid()
End Sub
Public Function estaAbieta(ByVal Forma As String) As Boolean
Dim abierta As Boolean = False
For cont As Integer = 0 To Application.OpenForms.Count - 1
If Forma.Equals(Application.OpenForms.Item(cont).Name) Then
abierta = True
End If
Next
estaAbieta = abierta
End Function
Protected Sub FillGrid()
Dim Classcom As New clsComplejo
Dim ClassCatalogos As New ClassCatalogos
Dim SQL As String = String.Empty
SQL = "sp_ConsultaFCC '" & cboYear.Text & "-" & cboMes.SelectedValue & "'"
'SQL = "sp_ConsultaFDE '" & cboYear.Text & "-" & cboMes.SelectedValue & "', " &
'IIf(cboTipoOperacion.SelectedIndex = 0, "NULL", cboTipoOperacion.SelectedValue)
dsGral = Classcom.fdtDataSet(SQL)
gridFCC.SetDataBinding(dsGral, "Table")
Me.gridFCC.Splits(0).DisplayColumns("IdFCC").Visible = False
'ClassCatalogos.LlenaGrid(SQL, Me.GridMaster)
lblRegistros.Text = "Total de Registros " & gridFCC.RowCount
End Sub
Private Function GetPath(ByVal FileName As String) As String
Dim cls1 As New clsComplejo
Dim path As String
Dim ds2 As New DataSet
ds2 = cls1.fdtDataSet("select top 1 rutarelevantes from paramrep")
path = ds2.Tables(0).Rows(0).Item(0).ToString() & FileName
ds2.Clear()
ds2.Dispose()
Return path
End Function
Private Sub AddData(NombreArchivo As String)
Dim dsData As New DataSet
Dim dsPersonas As New DataSet
Dim dsPersonasE As New DataSet
Dim NomArchivoXml As String
Dim claveSujeto As String
Dim apoderado As String
Dim tipoPersona As String
Dim consecutivo As String
Dim anio As String
Dim mes As String
Dim trimestreReportado As String
'------------------------------------------------
Dim nombreComisionista As String
Dim nombreusuario As String
Dim domicilioNacionalUnificadoU As String
Dim domicilioNacionalSeparadoU As String
Dim pais_extranjero As String
Dim domicilioExtranjeroUnificadoU As String
Dim domicilioExtranjeroSeparadoU As String
Dim clientePfNombre As String
Dim DomicilioClientePfUnificado As String
Dim DomicilioClientePfSeparado As String
Dim paisExtranjeroCliente As String
Dim direccionClienteExtranjeroUnificado As String
Dim direccionClienteExtranjeroSeparado As String
Dim ClienteRazonPm As String
Dim DomicilioClienteNaUnificadoPm As String
Dim DomicilioClienteNaSeparadoPm As String
Dim paisClienteExtranjeropm As String
Dim DomicilioClienteExtranjeroPmUnificado As String
Dim DomicilioClienteExtranjeroPmSeparado As String
Dim clavesucursal As String
Dim extension As String
Dim FolioPrevio As String
'------------------------------------------------
NomArchivoXml = NombreArchivo
Dim myXmlTextWriter As New XmlTextWriter(NomArchivoXml, System.Text.Encoding.UTF8)
myXmlTextWriter.Formatting = System.Xml.Formatting.Indented
myXmlTextWriter.WriteStartDocument()
myXmlTextWriter.WriteStartElement("reporte") 'reporte abre
myXmlTextWriter.WriteAttributeString("xmlns", "xsi", Nothing, "http://www.w3.org/2001/XMLSchema-instance")
myXmlTextWriter.WriteAttributeString("xmlns", "xsd", Nothing, "http://www.w3.org/2001/XMLSchema")
myXmlTextWriter.WriteAttributeString("xmlns", "http://www.uif.shcp.gob.mx/recepcion/fcc")
'dsData = GetData()
dsData = dsGral
trimestreReportado = dsData.Tables(0).Rows(0).Item("trimestre_reportado")
myXmlTextWriter.WriteElementString("trimestre_reportado", trimestreReportado)
'If FolioPrevio.Trim <> "" Then
' FolioPrevio = dsData.Tables(0).Rows(0).Item("folio_previo")
'End If
myXmlTextWriter.WriteStartElement("entidad") 'abre entidad
myXmlTextWriter.WriteElementString("clave_organo_regulador", dsData.Tables(0).Rows(0).Item("clave_organo_regulador"))
myXmlTextWriter.WriteElementString("clave_entidad", dsData.Tables(0).Rows(0).Item("clave_entidad"))
myXmlTextWriter.WriteEndElement() 'CIERRA entidad
myXmlTextWriter.WriteStartElement("operaciones") 'abre operaciones
For Each row As DataRow In dsData.Tables(0).Rows '------COMIENZA RECORRIDO
consecutivo = row("folio_consecutivo")
FolioPrevio = row("folio_previo")
myXmlTextWriter.WriteStartElement("operacion") 'abre operacion
'nombreComisionista = row("nombre_comisionista")
'nombreusuario = row("nombre_usuario")
'domicilioNacionalUnificadoU = row("domicilio_usuario_nacional_unificado")
''domicilioNacionalSeparadoU = row("entidad_federativa_usuario_nacional_separado")
'pais_extranjero = row("pais_usuario_extranjero")
'domicilioExtranjeroUnificadoU = row("domicilio_usuario_extranjero_unificado")
''domicilioExtranjeroSeparadoU = row("estado_provincia_usuario_extranjero_separado")
'clientePfNombre = row("nombre_pf_cliente")
'DomicilioClientePfUnificado = row("domicilio_nacional_unificado_pf_cliente")
''DomicilioClientePfSeparado = row("entidad_federativa_nacional_separado_pf_cliente")
'paisExtranjeroCliente = row("pais_extranjero_pf_cliente")
'direccionClienteExtranjeroUnificado = row("domicilio_extranjero_unificado_pf_cliente")
''direccionClienteExtranjeroSeparado = row("estado_provincia_extranjero_separado_pf_cliente")
'ClienteRazonPm = row("denominacion_razon_pm_cliente")
'DomicilioClienteNaUnificadoPm = row("domicilio_nacional_unificado_pm_cliente")
''DomicilioClienteNaSeparadoPm = row("entidad_federativa_nacional_separado_pm_cliente")
'paisClienteExtranjeropm = row("pais_extranjero_pm_cliente")
'DomicilioClienteExtranjeroPmUnificado = row("domicilio_extranjero_unificado_pm_cliente")
''DomicilioClienteExtranjeroPmSeparado = row("estado_provincia_extranjero_separado_pm_cliente")
'clavesucursal = row("clave_sucursal")
myXmlTextWriter.WriteElementString("folio_consecutivo", consecutivo)
If FolioPrevio <> "" Then
myXmlTextWriter.WriteStartElement("modificatorio") 'abre modificatorio
myXmlTextWriter.WriteElementString("folio_previo", FolioPrevio)
myXmlTextWriter.WriteEndElement() 'cierra modificatorio
End If
myXmlTextWriter.WriteElementString("fecha", row("fecha"))
myXmlTextWriter.WriteElementString("clave_sucursal", row("clave_sucursal"))
myXmlTextWriter.WriteStartElement("datos_cheque") 'abre datos_cheque
myXmlTextWriter.WriteElementString("numero_cheque", row("numero_cheque"))
myXmlTextWriter.WriteElementString("moneda_cheque", row("moneda_cheque"))
myXmlTextWriter.WriteElementString("monto_cheque", row("monto_cheque"))
myXmlTextWriter.WriteEndElement() 'cierra datos_cheque
myXmlTextWriter.WriteStartElement("tipo_operacion") 'abre tipo_operacion
If row("nombre_beneficiario") <> "" Then
myXmlTextWriter.WriteStartElement("datos_beneficiario") 'abre datos_beneficiario
myXmlTextWriter.WriteElementString("nombre", row("nombre_beneficiario"))
myXmlTextWriter.WriteEndElement() 'cierra datos_beneficiario
myXmlTextWriter.WriteStartElement("liquidacion_expedicion") 'abre liquidacion_expedicion
myXmlTextWriter.WriteStartElement("liquidacion") 'abre liquidacion
myXmlTextWriter.WriteElementString("medio_liquidacion", row("medio_liquidacion_expedicion"))
myXmlTextWriter.WriteElementString("numero_cuenta_cargo", row("numero_cuenta_cargo_expedicion"))
myXmlTextWriter.WriteElementString("moneda_liquidacion", row("moneda_liquidacion_expedicion"))
myXmlTextWriter.WriteElementString("monto_liquidacion", row("monto_liquidacion_expedicion"))
myXmlTextWriter.WriteEndElement() 'cierra liquidacion
myXmlTextWriter.WriteEndElement() 'cierra liquidacion_expedicion
Else 'liquidacion
myXmlTextWriter.WriteElementString("institucion_emisora", row("institucion_emisora"))
myXmlTextWriter.WriteStartElement("liquidacion_cobro") 'abre liquidacion_cobro
myXmlTextWriter.WriteStartElement("liquidacion") 'abre liquidacion
myXmlTextWriter.WriteElementString("medio_liquidacion", row("medio_liquidacion_cobro"))
myXmlTextWriter.WriteElementString("numero_cuenta_abono", row("numero_cuenta_abono_cobro"))
myXmlTextWriter.WriteElementString("moneda_liquidacion", row("moneda_liquidacion_cobro"))
myXmlTextWriter.WriteElementString("monto_liquidacion", row("monto_liquidacion_cobro"))
myXmlTextWriter.WriteEndElement() 'cierra liquidacion
myXmlTextWriter.WriteEndElement() 'cierra liquidacion_cobro
End If
myXmlTextWriter.WriteEndElement() 'cierra tipo_operacion
myXmlTextWriter.WriteStartElement("datos_persona_reportar") 'abre datos_persona_reportar
myXmlTextWriter.WriteStartElement("tipo_persona") 'abre tipo_persona
If row("nombre_usuario_pf") <> "" Then
myXmlTextWriter.WriteStartElement("usuario") 'abre usuario
myXmlTextWriter.WriteStartElement("persona_fisica") 'abre usuario
myXmlTextWriter.WriteElementString("nombre", row("nombre_usuario_pf"))
myXmlTextWriter.WriteElementString("apellido_paterno", row("apellido_paterno_usuario_pf"))
myXmlTextWriter.WriteElementString("apellido_materno", row("apellido_materno_usuario_pf"))
If row("fecha_nacimiento_usuario_pf") <> "" Then
myXmlTextWriter.WriteElementString("fecha_nacimiento", row("fecha_nacimiento_usuario_pf"))
End If
If row("curp_usuario_pf") <> "" Then
myXmlTextWriter.WriteElementString("curp", row("curp_usuario_pf"))
End If
If row("rfc_usuario_pf") <> "" Then
myXmlTextWriter.WriteElementString("rfc", row("rfc_usuario_pf"))
End If
If row("pais_nacionalidad_usuario_pf") <> "" Then
myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_usuario_pf"))
End If
If row("correo_electronico_usuario_pf") <> "" Then
myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_usuario_pf"))
End If
myXmlTextWriter.WriteEndElement() 'cierra persona_fisica
myXmlTextWriter.WriteEndElement() 'cierra usuario
End If
If row("denominacion_razon_usuario_pm") <> "" Then
myXmlTextWriter.WriteStartElement("usuario") 'abre usuario
myXmlTextWriter.WriteStartElement("persona_moral") 'abre usuario
myXmlTextWriter.WriteElementString("denominacion_razon", row("denominacion_razon_usuario_pm"))
If row("fecha_constitucion_usuario_pm") <> "" Then
myXmlTextWriter.WriteElementString("fecha_constitucion", row("fecha_constitucion_usuario_pm"))
End If
If row("rfc_usuario_pm") <> "" Then
myXmlTextWriter.WriteElementString("rfc", row("rfc_usuario_pm"))
End If
If row("pais_nacionalidad_usuario_pm") <> "" Then
myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_usuario_pm"))
End If
If row("correo_electronico_usuario_pm") <> "" Then
myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_usuario_pm"))
End If
myXmlTextWriter.WriteEndElement() 'cierra persona_moral
myXmlTextWriter.WriteEndElement() 'cierra usuario
End If
If row("nombre_cliente_pf") <> "" Then
myXmlTextWriter.WriteStartElement("cliente") 'abre cliente
myXmlTextWriter.WriteStartElement("persona_fisica") 'abre usuario
myXmlTextWriter.WriteElementString("nombre", row("nombre_cliente_pf"))
myXmlTextWriter.WriteElementString("apellido_paterno", row("apellido_paterno_cliente_pf"))
myXmlTextWriter.WriteElementString("apellido_materno", row("apellido_materno_cliente_pf"))
If row("fecha_nacimiento_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("fecha_nacimiento", row("fecha_nacimiento_cliente_pf"))
End If
If row("curp_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("curp", row("curp_cliente_pf"))
End If
If row("rfc_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("rfc", row("rfc_cliente_pf"))
End If
If row("pais_nacimiento_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("pais_nacimiento", row("pais_nacimiento_cliente_pf"))
End If
If row("pais_nacionalidad_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_cliente_pf"))
End If
myXmlTextWriter.WriteElementString("actividad_economica", row("actividad_economica_cliente_pf"))
If row("correo_electronico_cliente_pf") <> "" Then
myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_cliente_pf"))
End If
myXmlTextWriter.WriteEndElement() 'cierra persona_fisica
myXmlTextWriter.WriteEndElement() 'cierra cliente
End If
If row("denominacion_razon_cliente_pm") <> "" Then
myXmlTextWriter.WriteStartElement("cliente") 'abre cliente
myXmlTextWriter.WriteStartElement("persona_moral") 'abre persona moral
myXmlTextWriter.WriteElementString("denominacion_razon", row("denominacion_razon_cliente_pm"))
If row("fecha_constitucion_cliente_pm") <> "" Then
myXmlTextWriter.WriteElementString("fecha_constitucion", row("fecha_constitucion_cliente_pm"))
End If
If row("rfc_cliente_pm") <> "" Then
myXmlTextWriter.WriteElementString("rfc", row("rfc_cliente_pm"))
End If
If row("pais_nacionalidad_cliente_pm") <> "" Then
myXmlTextWriter.WriteElementString("pais_nacionalidad", row("pais_nacionalidad_cliente_pm"))
End If
myXmlTextWriter.WriteElementString("giro_mercantil", row("giro_mercantil_cliente_pm"))
If row("correo_electronico_cliente_pm") <> "" Then
myXmlTextWriter.WriteElementString("correo_electronico", row("correo_electronico_cliente_pm"))
End If
myXmlTextWriter.WriteElementString("apoderado_legal", row("apoderado_legal_cliente_pm"))
myXmlTextWriter.WriteEndElement() 'cierra persona_moral
myXmlTextWriter.WriteEndElement() 'cierra cliente
End If
myXmlTextWriter.WriteEndElement() 'cierra tipo_persona
'-------
myXmlTextWriter.WriteStartElement("domicilio") 'abre domicilio
If row("domicilio_nacional_unificado") <> "" Then
myXmlTextWriter.WriteStartElement("nacional") 'abre nacional-------------
myXmlTextWriter.WriteStartElement("tipo_domicilio") 'abre tipo_domicilio
myXmlTextWriter.WriteStartElement("unificado") 'abre unificado----------------------
myXmlTextWriter.WriteElementString("domicilio_unificado", row("domicilio_nacional_unificado"))
myXmlTextWriter.WriteElementString("ciudad_poblacion", row("ciudad_poblacion_nacional_unificado"))
myXmlTextWriter.WriteElementString("colonia", row("colonia_nacional_unificado"))
myXmlTextWriter.WriteElementString("codigo_postal", row("codigo_postal_nacional_unificado"))
myXmlTextWriter.WriteEndElement() 'cierra unificado----------------------
myXmlTextWriter.WriteEndElement() 'cierra tipo de domicilio
myXmlTextWriter.WriteEndElement() 'cierra nacional
End If
If row("domicilio_extranjero_unificado") <> "" Then
myXmlTextWriter.WriteStartElement("extranjero") 'abre nacional-------------
myXmlTextWriter.WriteElementString("pais", row("pais_extranjero"))
myXmlTextWriter.WriteStartElement("tipo_domicilio") 'abre tipo_domicilio
myXmlTextWriter.WriteStartElement("unificado") 'abre unificado----------------------
myXmlTextWriter.WriteElementString("domicilio_unificado", row("domicilio_extranjero_unificado"))
myXmlTextWriter.WriteElementString("ciudad_poblacion", row("ciudad_poblacion_extranjero_unificado"))
myXmlTextWriter.WriteElementString("colonia", row("colonia_extranjero_unificado"))
myXmlTextWriter.WriteElementString("codigo_postal", row("codigo_postal_extranjero_unificado"))
myXmlTextWriter.WriteEndElement() 'cierra unificado----------------------
myXmlTextWriter.WriteEndElement() 'cierra tipo de domicilio
myXmlTextWriter.WriteEndElement() 'cierra nacional
End If
myXmlTextWriter.WriteEndElement() 'cierra domicilio
'--------
If row("numero_telefono") <> "" Then
myXmlTextWriter.WriteStartElement("telefono") 'abre telefono
If row("clave_pais_telefono") <> "" Then
myXmlTextWriter.WriteElementString("clave_pais", row("clave_pais_telefono"))
End If
myXmlTextWriter.WriteElementString("numero_telefono", row("numero_telefono"))
If row("extension_telefono") <> "" Then
myXmlTextWriter.WriteElementString("extension", row("extension_telefono"))
End If
myXmlTextWriter.WriteEndElement() 'cierra telefono
End If
myXmlTextWriter.WriteEndElement() 'cierra datos_persona_reportar
'============================
myXmlTextWriter.WriteEndElement() 'cierra operacion
Next
myXmlTextWriter.WriteEndElement() 'cierra operaciones
myXmlTextWriter.WriteEndElement() 'cierra reporte
myXmlTextWriter.Flush()
myXmlTextWriter.Close()
End Sub
Private Sub btnModificatorio_Click(sender As System.Object, e As System.EventArgs) Handles btnModificatorio.Click
If gridFCC.SelectedRows.Count > 0 Then
Dim detalle As New frmChequeCaja_Detalle
'Valida Trimestre
'Dim Trimestre As Boolean = False
'Trimestre = ValidaTrimestre(GridMaster.Row())
'detalle.ValPeriodo = Trimestre
'Get Trimestre
'detalle.Trimestre = GridMaster.Columns(1).CellValue(GridMaster.Row)
detalle.valIndex = Me.gridFCC.Columns("IdFCC").Value
detalle.ShowDialog()
'Actualiza Grid
FillGrid()
Else
MessageBox.Show("Debe seleccionar un elemento de la lista.", "Minds", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
End Class