-- mejoras

This commit is contained in:
2024-02-22 20:45:08 -07:00
parent 39b308733a
commit 5525605976
4 changed files with 145 additions and 138 deletions

View File

@@ -5233,6 +5233,7 @@ Namespace Modelos
Dim ObjVentas As New ClsVentas() Dim ObjVentas As New ClsVentas()
Dim ObjTransportes As New ClsTransportes(ObjVentas.IniciaTransacSQL()) Dim ObjTransportes As New ClsTransportes(ObjVentas.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL()) Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
Dim ObjEventos As New ClsOIEventos(ObjVentas.IniciaTransacSQL())
Try Try
Dim Row As DataRow = Me.DtDetalle.Select($"CveViajePasajero={CveViajePasajero}").FirstOrDefault() Dim Row As DataRow = Me.DtDetalle.Select($"CveViajePasajero={CveViajePasajero}").FirstOrDefault()
@@ -5258,6 +5259,9 @@ Namespace Modelos
TieneError = True TieneError = True
End If End If
End If End If
If Not ObjEventos.AddEventoBitacora("se canceló el boleto:" & Row("Obs").ToString(), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then
ErrorList.Add("Ocurrió un error al agregar la bitacora de cancelación de boleto.")
End If
If Not TieneError Then If Not TieneError Then
TieneError = Not RegenerarPrePolizas(ObjVentas.IniciaTransacSQL()) TieneError = Not RegenerarPrePolizas(ObjVentas.IniciaTransacSQL())

View File

@@ -31,6 +31,14 @@ Partial Class Boletos
ViewState("CveViaje") = value ViewState("CveViaje") = value
End Set End Set
End Property End Property
Private Property CveSubProyecto As Integer
Get
Return ViewState("CveSubProyecto").ToString().ToEntero
End Get
Set(value As Integer)
ViewState("CveSubProyecto") = value
End Set
End Property
Private Property Contrato As DataTable Private Property Contrato As DataTable
Get Get
@@ -66,7 +74,7 @@ Partial Class Boletos
Response.Redirect("/Transportes/RepViajes.aspx") Response.Redirect("/Transportes/RepViajes.aspx")
End If End If
AsientoSeleccionado = "" AsientoSeleccionado = ""
CveViaje = Request.QueryString("CveViaje").ToEntero CveViaje = IfNull(Request("CveViaje"), "0").ToString.ToEntero
If CveViaje > 0 Then If CveViaje > 0 Then
CargaDatos() CargaDatos()
End If End If
@@ -84,6 +92,7 @@ Partial Class Boletos
If ObjContratos.DtResultados IsNot Nothing AndAlso ObjContratos.DtResultados.Rows.Count > 0 Then If ObjContratos.DtResultados IsNot Nothing AndAlso ObjContratos.DtResultados.Rows.Count > 0 Then
TxtRuta.Text = Contrato.Rows(0)("SubProyecto").ToString TxtRuta.Text = Contrato.Rows(0)("SubProyecto").ToString
TxtFecha.Text = Contrato.Rows(0)("FechaInicial").ToString.ToDate.ToShortDateString TxtFecha.Text = Contrato.Rows(0)("FechaInicial").ToString.ToDate.ToShortDateString
CveSubProyecto = Contrato.Rows(0)("CveSubProyecto").ToString.ToEntero
DtPasajeros = New DataTable DtPasajeros = New DataTable
DtPasajeros.Columns.Add("CveViajePasajero", GetType(Integer)) DtPasajeros.Columns.Add("CveViajePasajero", GetType(Integer))
DtPasajeros.Columns.Add("Numero", GetType(Integer)) DtPasajeros.Columns.Add("Numero", GetType(Integer))
@@ -126,15 +135,11 @@ Partial Class Boletos
Response.Redirect($"~/Transportes/RepContratos.aspx") Response.Redirect($"~/Transportes/RepContratos.aspx")
End If End If
'Boletos Vendidos 'Boletos Vendidos
End Sub End Sub
Protected Sub InicializaCombos() Protected Sub InicializaCombos()
Dim CveSubProyecto As Integer = Contrato.Rows(0)("CveSubProyecto").ToString.ToEntero
'Lista Destinos''carga específicos 'Lista Destinos''carga específicos
Dim ObjDestinos As New ClsTransportes() Dim ObjDestinos As New ClsTransportes()
@@ -144,25 +149,10 @@ Partial Class Boletos
DdlPartida.DataSource = DtDestinos.FiltraParametros("", DistinctColumns:={"CveDestinoOrigen", "Partida"}) DdlPartida.DataSource = DtDestinos.FiltraParametros("", DistinctColumns:={"CveDestinoOrigen", "Partida"})
DdlPartida.DataBind() DdlPartida.DataBind()
DdlPartida.Items.Insert(0, New ListItem("Seleccione Partida", "-1")) DdlPartida.Items.Insert(0, New ListItem("Seleccione Partida", "-1"))
'DdlDestino.DataSource = DtDestinos
'DdlDestino.DataBind()
'DdlDestino.Items.Insert(0, New ListItem("Seleccione Destino", "-1"))
End If End If
End If End If
'If ObjDestinos.GetDestinos(CveSubProyecto:=CveSubProyecto) Then
' If ObjDestinos.DtResultados.Rows.Count > 0 Then
' DdlPartida.DataSource = ObjDestinos.DtResultados
' DdlPartida.DataBind()
' DdlPartida.Items.Insert(0, New ListItem("Seleccione Partida", "-1"))
' DdlDestino.DataSource = ObjDestinos.DtResultados
' DdlDestino.DataBind()
' DdlDestino.Items.Insert(0, New ListItem("Seleccione Destino", "-1"))
' End If
'End If
ObjDestinos.Dispose() ObjDestinos.Dispose()
End Sub End Sub
Protected Sub CotizarTarifa() Protected Sub CotizarTarifa()
@@ -211,112 +201,99 @@ Partial Class Boletos
Dim SbAlert As New StringBuilder() Dim SbAlert As New StringBuilder()
Dim Retorno As New Modelos.Factura.MMensajeFactura() Dim Retorno As New Modelos.Factura.MMensajeFactura()
Dim ObjTransporte As New ClsTransportes() Dim ObjTransporte As New ClsTransportes()
ObjTransporte.IniciaTransacSQL() ObjTransporte.IniciaTransacSQL()
Dim TieneError As Boolean = False Dim TieneError As Boolean = False
Try For Each dr As DataRow In DtPasajeros.Rows
For Each dr As DataRow In DtPasajeros.Rows Dim Nombre, Visa, Celular, Obs, Asiento As String
Dim Nombre, Visa, Celular, Obs, Asiento As String Dim Sexo As Boolean
Dim Sexo As Boolean Dim Importe As Decimal = 0
Dim Importe As Decimal = 0 Dim CveDestinoOrigen, CveDestinoFinal As Integer
Dim CveDestinoOrigen, CveDestinoFinal As Integer
CveDestinoOrigen = dr("CveDestinoOrigen").ToString.ToEntero CveDestinoOrigen = dr("CveDestinoOrigen").ToString.ToEntero
CveDestinoFinal = dr("CveDestinoFinal").ToString.ToEntero CveDestinoFinal = dr("CveDestinoFinal").ToString.ToEntero
Importe = dr("Importe").ToString.ToDecimal Importe = dr("Importe").ToString.ToDecimal
Asiento = dr("Asiento").ToString Asiento = dr("Asiento").ToString
Nombre = dr("Nombre").ToString Nombre = dr("Nombre").ToString
Visa = dr("Visa").ToString Visa = dr("Visa").ToString
Celular = dr("Celular").ToString Celular = dr("Celular").ToString
Sexo = dr("CveSexo").ToString.ToBool Sexo = dr("CveSexo").ToString.ToBool
Obs = dr("Observaciones").ToString Obs = dr("Observaciones").ToString
Dim CveViajePasajero = ObjTransporte.AddViajesPasajeros(CveViaje, CveDestinoOrigen, CveDestinoFinal, Importe, Asiento.ToEntero, Nombre, Visa, Celular, Sexo, Obs, UsuarioActual.CveUsuario, UsuarioActual.CveVendedor) Dim CveViajePasajero As Integer = ObjTransporte.AddViajesPasajeros(CveViaje, CveDestinoOrigen, CveDestinoFinal, Importe, Asiento.ToEntero, Nombre, Visa, Celular, Sexo, Obs, UsuarioActual.CveUsuario, UsuarioActual.CveVendedor)
If CveViajePasajero < 1 Then
TieneError = True
SbAlert.Append("Ocurrió un error al generar el viaje")
Exit For
End If
If CveViajePasajero < 1 Then dr("CveViajePasajero") = CveViajePasajero
TieneError = True Next
SbAlert.Append("Ocurrió un error al generar el viaje")
Exit For
End If
dr("CveViajePasajero") = CveViajePasajero If Not TieneError Then Retorno = CrearRemision(ObjTransporte)
Next
If Retorno IsNot Nothing Then
TieneError = Retorno.TieneError
If Not TieneError Then If Not TieneError Then
Retorno = CrearRemision(ObjTransporte)
End If
If Retorno IsNot Nothing Then If Not Retorno.TieneError Then
TieneError = Retorno.TieneError If Retorno.CveVenta <= 0 Then
Retorno.TieneError = True
If Not TieneError Then
If Not Retorno.TieneError Then
If Retorno.CveVenta <= 0 Then
Retorno.TieneError = True
End If
Else
TieneError = True
SbAlert.Append("Ocurrió un error al generar la factura")
End If
If Retorno.Mensajes IsNot Nothing AndAlso Retorno.Mensajes.Count > 0 Then
For Each Mensaje As String In Retorno.Mensajes
SbAlert.AppendFormat("{0} <br/>", Mensaje)
Next
Else
TieneError = True
End If End If
Else Else
If Retorno.Mensajes IsNot Nothing AndAlso Retorno.Mensajes.Count > 0 Then TieneError = True
For Each Mensaje As String In Retorno.Mensajes SbAlert.Append("Ocurrió un error al generar la factura")
SbAlert.AppendFormat("{0} <br/>", Mensaje) End If
Next
End If If Retorno.Mensajes IsNot Nothing AndAlso Retorno.Mensajes.Count > 0 Then
For Each Mensaje As String In Retorno.Mensajes
SbAlert.AppendFormat("{0} <br/>", Mensaje)
Next
Else
TieneError = True
End If End If
Else Else
TieneError = True If Retorno.Mensajes IsNot Nothing AndAlso Retorno.Mensajes.Count > 0 Then
SbAlert.Append("Ocurrió un error al generar la factura") For Each Mensaje As String In Retorno.Mensajes
SbAlert.AppendFormat("{0} <br/>", Mensaje)
Next
End If
End If End If
Else
If SbAlert.Length = 0 Then
SbAlert.Append("Ocurrió un error al generar la factura")
End If
Catch ex As Exception
TieneError = True TieneError = True
SbAlert.Append("Ocurrió un error al generar la factura." + ex.ToString()) SbAlert.Append("Ocurrió un error al generar la factura")
GuardaLog(ex.ToString()) End If
Finally
If TieneError Then
ObjTransporte.RollBack()
ObjTransporte.Dispose()
Else
ObjTransporte.Commit()
ObjTransporte.Dispose()
SbAlert.Append("El boleto se genero correctamente.") If SbAlert.Length = 0 Then
SbAlert.Append("Ocurrió un error al generar la factura")
End If
DtPasajeros.Clear() If TieneError Then
GvB.DataSource = DtPasajeros ObjTransporte.RollBack()
GvB.DataBind() ObjTransporte.Dispose()
Else
ObjTransporte.Commit()
ObjTransporte.Dispose()
DdlPartida.SelectedIndex = -1 SbAlert.Append("El boleto se genero correctamente.")
'DdlPartida.SelectedValueExist("-1")
DdlDestino.SelectedIndex = -1 DtPasajeros.Clear()
'DdlDestino.SelectedValueExist("-1") GvB.DataSource = DtPasajeros
GvB.DataBind()
AsientoSeleccionado = "" DdlPartida.SelectedIndex = -1
CargaDatos() 'DdlPartida.SelectedValueExist("-1")
End If
Alert(SbAlert.ToString(), If(TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion), ShowCloseButton:=False) DdlDestino.SelectedIndex = -1
End Try 'DdlDestino.SelectedValueExist("-1")
AsientoSeleccionado = ""
CargaDatos()
End If
Alert(SbAlert.ToString(), If(TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion), ShowCloseButton:=False)
UpPanel.Update() UpPanel.Update()
@@ -394,13 +371,16 @@ Partial Class Boletos
End Sub End Sub
Private Function CrearRemision(ByRef objTrans As ClsTransportes) As Modelos.Factura.MMensajeFactura Private Function CrearRemision(ByRef objTrans As ClsTransportes) As Modelos.Factura.MMensajeFactura
Dim Retorno As New Modelos.Factura.MMensajeFactura Dim Retorno As New Modelos.Factura.MMensajeFactura
Dim CveCliente As Integer = 1172306 ' 1154164
Dim CveCliente As Integer = 1154164
Dim CveMoneda As Integer = 2 Dim CveMoneda As Integer = 2
Dim CveSubProyecto As Integer = -1 Dim CvePSBoleto As Integer = 986337 '912720
Dim CvePSBoleto As Integer = 912720 If CveSubProyecto <= 0 Then
Retorno.Mensajes.Add("No se pudo cargar el subproyecto")
Return Retorno
End If
If EsProduccion Then If EsProduccion Then
CvePSBoleto = 986337 CvePSBoleto = 986337
@@ -415,14 +395,8 @@ Partial Class Boletos
Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, -1, CveCliente, CveMoneda, "Rem") Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, -1, CveCliente, CveMoneda, "Rem")
If ObjFactura IsNot Nothing Then If ObjFactura IsNot Nothing Then
'TOMA EL SUBPROYECTO DEL CLIENTE ObjFactura.CveMoneda = CveMoneda
CveSubProyecto = ObjFactura.Cliente.CveSubProyecto ObjFactura.TipoCambio = GlobalTipoCambio(DateTime.Now).ToDecimal
If CveSubProyecto <= 0 Then
Retorno.Mensajes.Add("No se pudo cargar el subproyecto")
Return Retorno
End If
ObjFactura.CveSubProyecto = CveSubProyecto ObjFactura.CveSubProyecto = CveSubProyecto
ObjFactura.CveSubProyectoCobranza = CveSubProyecto ObjFactura.CveSubProyectoCobranza = CveSubProyecto
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto ObjFactura.CveSubProyectoEjecucion = CveSubProyecto
@@ -430,7 +404,7 @@ Partial Class Boletos
ObjFactura.SetSubProyectoMatriz() ObjFactura.SetSubProyectoMatriz()
For Each Dr As DataRow In DtPasajeros.Rows For Each Dr As DataRow In DtPasajeros.Rows
Dim Obs = Dr("Observaciones").ToString Dim Obs = "Asiento #" & Dr("Asiento").ToString
Dim Importe = Dr("Importe").ToString.ToDecimal() Dim Importe = Dr("Importe").ToString.ToDecimal()
If Importe <= 0 Then If Importe <= 0 Then
@@ -439,9 +413,7 @@ Partial Class Boletos
End If End If
Dim PorcentajeIVA As Decimal = 0 Dim PorcentajeIVA As Decimal = 0
Dim DrPS As DataRow = ClsPaginas.GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSBoleto).FiltroPrimero("") ' Estado = -1
Dim DrPS As DataRow = ClsPaginas.GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSBoleto).FiltroPrimero("") ' Estado = -1
If DrPS Is Nothing Then If DrPS Is Nothing Then
Retorno.Mensajes.Add("No se pudo agregar el producto") Retorno.Mensajes.Add("No se pudo agregar el producto")
Return Retorno Return Retorno
@@ -464,7 +436,6 @@ Partial Class Boletos
Next Next
ObjFactura.CalculaTotales() ObjFactura.CalculaTotales()
Try Try
Retorno = ObjFactura.EmitirFactura(False, Transac:=objTrans.IniciaTransacSQL()) Retorno = ObjFactura.EmitirFactura(False, Transac:=objTrans.IniciaTransacSQL())
Catch ex As Exception Catch ex As Exception
@@ -482,10 +453,4 @@ Partial Class Boletos
Return Retorno Return Retorno
End Function End Function
'Protected Sub TimerActualizar_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles timerActualizar.Tick
' ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ActualizarTiempo", "actualizarTiempo();", True)
' UpTimer.Update()
'End Sub
End Class End Class

View File

@@ -264,7 +264,7 @@
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvViajesPasajeros" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningún boleto registrado" <asp:GridView ID="GvViajesPasajeros" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningún boleto registrado"
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"
data-sort="true" DataKeyNames="CveViajePasajero, CveViaje, CveDestinoFinal, CveVendedor, Importe, Asiento, Nombre, Visa, Celular, Observacion, Estatus, CveUsuario, FechaIng, Sexo, Partida, Destino"> data-sort="true" DataKeyNames="CveViajePasajero, CveContrato, CveDestinoFinal, CveVendedor, Importe, Asiento, Nombre, Visa, Celular, Observacion, Estatus, CveUsuario, FechaIng, Sexo, Partida, Destino">
<Columns> <Columns>
<asp:TemplateField HeaderText="No. Asiento"> <asp:TemplateField HeaderText="No. Asiento">
<ItemTemplate> <ItemTemplate>

View File

@@ -99,25 +99,63 @@ Partial Class RepContratoDetalle
Protected Sub BtnCancelar_Click(sender As Object, e As EventArgs) Protected Sub BtnCancelar_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveViajePasajero As String = GvRow.DataKey("CveViajePasajero") Dim CveViajePasajero As Integer = GvRow.DataKey("CveViajePasajero").ToEntero()
Dim Estatus As String = GvRow.DataKey("Estatus") Dim Estatus As String = GvRow.DataKey("Estatus")
Dim cambiarEstatus As Boolean = Not Estatus.ToBool Dim cambiarEstatus As Boolean = Not Estatus.ToBool
Dim ObjTransportes As New ClsTransportes
ObjTransportes.IniciaTransacSQL() Dim TieneError As Boolean = False
Try Try
If ObjTransportes.UpdateViajesPasajeros(CveViajePasajero.ToEntero, Activar:=cambiarEstatus, Estatus:=cambiarEstatus) Then Dim DtRem As DataTable = Nothing
If Not cambiarEstatus Then Dim ObjTran As New ClsTransportes
Alert($"El boleto ha sido cancelado correctamente.") If ObjTran.GetRemisionBoleto(CveViajePasajero.ToEntero, UsuarioActual.CveEmpresa) Then
DtRem = ObjTran.DtResultados.Copy()
End If
ObjTran.Dispose()
If DtRem IsNot Nothing Then
If DtRem.Rows.Count > 0 Then
Dim CveVenta As Integer = DtRem.Rows(0)("CveVenta").ToString().ToEntero()
Dim BoletosVigentes As Integer = DtRem.Rows(0)("BoletosVigentes").ToString().ToEntero()
If CveVenta > 0 Then
Dim ObjRem As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False)
If ObjRem.DtDetalle.Rows.Count > 0 Then
'SI SOLO TIENE UNA PARTIDA CANCELAR LA REMISION
If ObjRem.DtDetalle.Rows.Count = 1 OrElse BoletosVigentes <= 1 Then
Dim RespCancelacion = ObjRem.CancelarFactura(False, ValidarSAT:=False, CancelarBoletos:=True, ListaRemisionesCancelar:=New List(Of Integer))
If RespCancelacion IsNot Nothing Then
TieneError = RespCancelacion.HuboError
Else
TieneError = True
End If
Else
TieneError = Not ObjRem.CancelarBoleto(CveViajePasajero)
End If
Else
TieneError = True
End If
End If
Else Else
Alert($"El boleto ha sido reactivado correctamente.") 'SI NO TIENE VENTA, SOLO CANCELAR EL BOLETO
Dim ObjTran2 As New ClsTransportes
If Not ObjTran2.UpdateViajesPasajeros(CveViajePasajero, Activar:=cambiarEstatus, Estatus:=cambiarEstatus) Then
TieneError = True
End If
ObjTran2.Dispose()
End If End If
End If End If
ObjTransportes.Commit()
Catch ex As Exception Catch ex As Exception
ObjTransportes.RollBack() TieneError = True
Alert($"No se pudo cambiar el estatus del boleto {ex}", TipoMensaje.MsgError) GuardaLog(ex.ToString())
Finally Finally
ObjTransportes.Dispose() If TieneError Then
Alert($"Ocurrió un error al cancelar el boleto.", TipoMensaje.MsgError)
Else
Alert($"El boleto ha sido cancelado correctamente.")
End If
CargaDatos() CargaDatos()
End Try End Try
End Sub End Sub