211 lines
9.6 KiB
VB.net
211 lines
9.6 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
Imports System.Data
|
|
Imports Extensiones.ModExtensiones
|
|
|
|
Partial Class ListadoViajes
|
|
Inherits ClsPaginas
|
|
|
|
#Region "Propiedades"
|
|
Private Property CveContrato As String
|
|
Get
|
|
Return ViewState("CveContrato").ToString()
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("CveContrato") = value
|
|
End Set
|
|
End Property
|
|
Private Property Ruta As String
|
|
Get
|
|
Return ViewState("Ruta").ToString()
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Ruta") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
|
|
If Not IsPostBack Then
|
|
CargaDatos()
|
|
InicializaCombos()
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub InicializaCombos()
|
|
'Lista Rutas'
|
|
DdlRutas.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("CveSubProyecto in (12699,12700)")
|
|
DdlRutas.DataBind()
|
|
|
|
Dim ObjRutas As New ClsTransportes()
|
|
'If ObjRutas.GetRutas(-1, -1, -1, "", True, DateTime.Now) Then
|
|
|
|
' If ObjRutas.DtResultados.Rows.Count > 0 Then
|
|
' DdlRutas.DataSource = ObjRutas.DtResultados
|
|
' DdlRutas.DataBind()
|
|
' DdlRutas.Items.Insert(0, New ListItem("Seleccione Ruta", ""))
|
|
' End If
|
|
'End If
|
|
'DdlRutas.DataSource = ObjRutas.DtResultados
|
|
' DdlRutas.DataBind()
|
|
' DdlRutas.Items.Insert(0, New ListItem("Seleccione Ruta", ""))
|
|
'Lista Destinos'
|
|
If ObjRutas.GetDestinos() Then
|
|
|
|
If ObjRutas.DtResultados.Rows.Count > 0 Then
|
|
DdlPartida.DataSource = ObjRutas.DtResultados
|
|
DdlPartida.DataBind()
|
|
DdlPartida.Items.Insert(0, New ListItem("Seleccione Partida", ""))
|
|
|
|
DdlDestino.DataSource = ObjRutas.DtResultados
|
|
DdlDestino.DataBind()
|
|
DdlDestino.Items.Insert(0, New ListItem("Seleccione Destino", ""))
|
|
End If
|
|
End If
|
|
ObjRutas.Dispose()
|
|
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
'Carga Viajes
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.GetContratosReporte(UsuarioActual.CveEmpresa, MinFecha, MaxFecha, -1, CveEstatus:=-1, CveTipoContrato:=35) Then
|
|
GvContratos.DataSource = ObjContratos.DtResultados
|
|
End If
|
|
ObjContratos.Dispose()
|
|
GvContratos.DataBind()
|
|
'If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, TipoContrato:=35) Then
|
|
' GvContratos.DataSource = ObjContratos.DtResultados
|
|
' GvContratos.DataBind()
|
|
'End If
|
|
|
|
End Sub
|
|
|
|
Private Sub LBAgregarViaje_Click(sender As Object, e As EventArgs) Handles LBAgregarViaje.Click
|
|
MostrarModal()
|
|
End Sub
|
|
|
|
Public Sub MostrarModal()
|
|
'Generar Folio
|
|
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
|
|
Dim ObjFolio As New ClsGralFolios
|
|
If ObjFolio.GetFolios("Con", UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto) Then
|
|
If ObjFolio.DtResultados.Rows.Count > 0 Then
|
|
Dim drr As DataRow = ObjFolio.DtResultados.FiltroPrimero("")
|
|
LbFolio.Text = $"{drr("Serie").ToString}-{drr("FActual").ToString}"
|
|
End If
|
|
End If
|
|
|
|
IsMasivo.Visible = True
|
|
TxtFechaViaje.Text = ""
|
|
DdlPartida.Text = ""
|
|
DdlDestino.SelectedValue = ""
|
|
BtnGuardar.Text = "Agregar"
|
|
ModalLabel.InnerHtml = "Agregar Nuevo Viaje"
|
|
|
|
RegistraScript(String.Format("$('#{0}').modal('show');", "ModalAgregar"))
|
|
End Sub
|
|
|
|
Protected Sub AddViaje(sender As Object, e As EventArgs)
|
|
'Generador de Viajes Masivos
|
|
Dim CveSubProyecto As Integer = DdlRutas.SelectedValue.ToEntero 'GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
|
|
If IsMasivo.Checked = True Then
|
|
If TxtFechaInicial.Text = "" Or TxtFrecuencia.Text = "" Then
|
|
Alert("Es necesario agregar la fecha inicial y la frecuencia", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim CveMasivo As Integer = DateTimeOffset.Now.ToUnixTimeSeconds().ToEntero
|
|
Dim fechaInicial As DateTime = TxtFechaInicial.Text.ToDate
|
|
Dim fechasGeneradas As New List(Of DateTime)()
|
|
|
|
While fechaInicial.Year = DateTime.Now.Year
|
|
fechasGeneradas.Add(fechaInicial)
|
|
fechaInicial = fechaInicial.AddDays(TxtFrecuencia.Text.ToEntero)
|
|
End While
|
|
Try
|
|
For Each fecha As DateTime In fechasGeneradas
|
|
Dim ObjFolio As New ClsGralFolios
|
|
Dim ObjContratos As New ClsContratos
|
|
|
|
'Generamos folio
|
|
If ObjFolio.GetFolios("Con", UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto) Then
|
|
If ObjFolio.DtResultados.Rows.Count > 0 Then
|
|
Dim drr As DataRow = ObjFolio.DtResultados.FiltroPrimero("")
|
|
LbFolio.Text = $"{drr("Serie").ToString}-{drr("FActual").ToString}"
|
|
End If
|
|
End If
|
|
'Agregamos contrato
|
|
ObjContratos.IniciaTransacSQL()
|
|
If ObjContratos.AddContratos(LbFolio.Text, "", "", UsuarioActual.CveProveedor, -1, -1, fecha, fecha, "", "", CveSubProyecto, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, -1, -1, -1, -1, 0, CveContratoTipo:=35, CveContratosEstatus:=50, CvePartida:=DdlPartida.SelectedValue.ToEntero, CveDestino:=DdlDestino.SelectedValue.ToEntero, CveMasivo:=CveMasivo, CveVendedor:=UsuarioActual.CveVendedor) > 0 Then
|
|
ObjContratos.Commit()
|
|
End If
|
|
'Actualizamos Folio
|
|
If ObjFolio.UpdateFolioActual(CveSubProyecto, "Con", True, UsuarioActual.CveEmpresa) Then
|
|
ObjFolio.Dispose()
|
|
End If
|
|
Next
|
|
Alert("Viajes Masivos generados correctamente.")
|
|
Catch ex As Exception
|
|
Dim ObjContratos As New ClsContratos
|
|
ObjContratos.RollBack()
|
|
Alert("Ocurrió un error al generar viajes masivo", TipoMensaje.MsgError)
|
|
Finally
|
|
|
|
TxtFechaViaje.Text = ""
|
|
DdlPartida.Text = ""
|
|
DdlDestino.SelectedValue = ""
|
|
|
|
CargaDatos()
|
|
End Try
|
|
Else
|
|
Dim ObjContratos As New ClsContratos
|
|
ObjContratos.IniciaTransacSQL()
|
|
|
|
Try
|
|
'Agregamos Viaje
|
|
If BtnGuardar.Text = "Agregar" Then
|
|
If ObjContratos.AddContratos(LbFolio.Text, "", "", UsuarioActual.CveProveedor, -1, -1, TxtFechaViaje.Text.ToDate, TxtFechaViaje.Text.ToDate, "", "", CveSubProyecto, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, 0, 0, 0, 2, 0, CveContratoTipo:=35, CveContratosEstatus:=50, CvePartida:=DdlPartida.SelectedValue.ToEntero, CveDestino:=DdlDestino.SelectedValue.ToEntero) > 0 Then
|
|
ObjContratos.Commit()
|
|
Alert("Viaje agregado correctamente.")
|
|
End If
|
|
Else
|
|
'Actualizamos Viaje
|
|
If ObjContratos.UpdateContratos(CveContrato.ToEntero, LbFolio.Text, "", "", UsuarioActual.CveProveedor, -1, -1, TxtFechaInicial.Text.ToDate, TxtFechaInicial.Text.ToDate, "", "", CveSubProyecto, -1, -1, -1, -1, "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, -1, -1, -1, 2, 0, CveContratoTipo:=35, CveContratosEstatus:=50, CvePartida:=DdlPartida.SelectedValue.ToEntero, CveDestino:=DdlDestino.SelectedValue.ToEntero) = True Then
|
|
ObjContratos.Commit()
|
|
Alert("El viaje se actualizó correctamente.")
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Alert("Ocurrió un error al generar viaje", TipoMensaje.MsgError)
|
|
ObjContratos.RollBack()
|
|
Finally
|
|
'Reiniciamos modal
|
|
TxtFechaViaje.Text = ""
|
|
'Actualizamos Folio
|
|
Dim ObjFolios As New ClsGralFolios
|
|
If ObjFolios.UpdateFolioActual(CveSubProyecto, "Con", True, UsuarioActual.CveEmpresa) Then
|
|
ObjFolios.Dispose()
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
CargaDatos()
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub ToggleMasivo(sender As Object, e As EventArgs)
|
|
DivFechaMasivo.Visible = IsMasivo.Checked
|
|
RegistraScript(String.Format("$('#{0}').modal('show');", "ModalAgregar"))
|
|
End Sub
|
|
Protected Sub GoContratoDetalle(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Response.Redirect($"~/Transportes/RepContratoDetalle.aspx?CveContrato={GvRow.DataKey("CveContrato")}")
|
|
End Sub
|
|
Protected Sub GoBoletos(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim CveViaje As String = GvRow.DataKey("CveViaje")
|
|
Dim Ruta As String = GvRow.DataKey("Ruta")
|
|
Response.Redirect(String.Format("~/Transportes/RepBoletos.aspx?CveViaje={0}&Ruta={1}", CveViaje, Ruta))
|
|
End Sub
|
|
End Class
|