Option Explicit On Option Strict On Imports Extensiones Imports System.Data Imports System.IO Partial Class Acarreos_EditarAcarreo Inherits ClsPaginas #Region " PROPIEDADES" Private Property CveAcarreo As Integer Get If ViewState("CveAcarreo") Is Nothing Then Return -1 Else Return ViewState("CveAcarreo").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveAcarreo") = value End Set End Property Private Property CveAcarreoProyecto As Integer Get If ViewState("CveAcarreoProyecto") Is Nothing Then Return -1 Else Return ViewState("CveAcarreoProyecto").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveAcarreoProyecto") = value End Set End Property Private Property CveSubProyectoOrigen As Integer Get If ViewState("CveSubProyectoOrigen") Is Nothing Then Return -1 Else Return ViewState("CveSubProyectoOrigen").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveSubProyectoOrigen") = value End Set End Property Private Property CveSubProyectoDestino As Integer Get If ViewState("CveSubProyectoDestino") Is Nothing Then Return -1 Else Return ViewState("CveSubProyectoDestino").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveSubProyectoDestino") = value End Set End Property Private Property CveEstatus As Integer Get If ViewState("CveEstatus") Is Nothing Then Return -1 Else Return ViewState("CveEstatus").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveEstatus") = value End Set End Property Private Property CveTipoAcarreo As Integer Get If ViewState("CveTipoAcarreo") Is Nothing Then Return -1 Else Return ViewState("CveTipoAcarreo").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveTipoAcarreo") = value End Set End Property Private Property Localizacion As String Get If ViewState("Localizacion") Is Nothing Then Return "-1" Else Return ViewState("Localizacion").ToString End If End Get Set(value As String) ViewState("Localizacion") = value End Set End Property Private Property Localizacion2 As String Get If ViewState("Localizacion2") Is Nothing Then Return "-1" Else Return ViewState("Localizacion2").ToString End If End Get Set(value As String) ViewState("Localizacion2") = value End Set End Property Private Property LocalizacionTipo1 As String Get If ViewState("Localizacion") Is Nothing Then Return "-1" Else Return ViewState("Localizacion").ToString End If End Get Set(value As String) ViewState("Localizacion") = value End Set End Property Private Property LocalizacionTipo2 As String Get If ViewState("Localizacion2") Is Nothing Then Return "-1" Else Return ViewState("Localizacion2").ToString End If End Get Set(value As String) ViewState("Localizacion2") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then DdlTransportista.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMaterial.Items.Insert(0, New ListItem("Seleccione", "-1")) CargaDdlNumContrato() TxtFecha.Text = Now.AddDays(0).ToShortDateString CargaDatos() divEstatus.Visible = False SetPermisos() End If End Sub Private Sub SetPermisos() If CveAcarreo > 0 Then If Not UsuarioActual.TienePermisoProceso(188) Then BtnAgregarAcarreo.Visible = False End If End If End Sub Private Sub CargaDatos() Dim script As New StringBuilder script.Append($"markers = [];") CveAcarreo = IfNull(Request("CveAcarreo"), "-1").ToString.ToEntero CargaGvBitacora() BtnAgregarAcarreo.Text = "Agregar" If CveAcarreo <> -1 Then DdlChofer.Items.Clear() DdlMaterial.Items.Clear() DdlUnidad.Items.Clear() DdlTransportista.Items.Clear() Dim ObjAcar As New ClsAcarreos If ObjAcar.GetAcarreo(UsuarioActual.CveEmpresa, CveAcarreo) Then divImagenes.Visible = True divBitacora.Visible = True divGPS.Visible = True Dim dr As DataRow = ObjAcar.DtResultados.Rows(0) DdlNumContrato.SelectedValue = dr("NumContrato").ToString If ObjAcar.GetAcarreosProyectos(-1, UsuarioActual.CveEmpresa, -1, DdlNumContrato.SelectedValue) Then Dim drp As DataRow = ObjAcar.DtResultados.Rows(0) CveAcarreoProyecto = drp("CveAcarreoProyecto").ToString.ToEntero CveSubProyectoOrigen = drp("CveSubProyectoOrigen").ToString.ToEntero CveSubProyectoDestino = drp("CveSubProyectoDestino").ToString.ToEntero End If If ObjAcar.GetAcarreosMaterialVolumen(CveAcarreoProyecto, UsuarioActual.CveEmpresa, -1) Then DdlMaterial.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMaterial.DataSource = ObjAcar.DtResultados DdlMaterial.DataBind() End If If Not DdlMaterial.SelectedValue = "-1" Then If ObjAcar.GetAcarreosMaterialVolumen(CveAcarreoProyecto, UsuarioActual.CveEmpresa, -1) Then Dim drm As DataRow = ObjAcar.DtResultados.Rows(DdlMaterial.SelectedIndex) TxtVolumen.Text = drm("VolumenTipo").ToString End If End If If ObjAcar.GetTarifasTransportista(CveAcarreoProyecto, UsuarioActual.CveEmpresa) Then DdlTransportista.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlTransportista.DataSource = ObjAcar.DtResultados DdlTransportista.DataBind() End If If ObjAcar.GetChofer(-1, UsuarioActual.CveEmpresa, 1, DdlTransportista.SelectedValue.ToEntero) Then DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.DataSource = ObjAcar.DtResultados DdlChofer.DataBind() End If If ObjAcar.GetUnidad(-1, 1, UsuarioActual.CveEmpresa, DdlTransportista.SelectedValue.ToEntero) Then DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.DataSource = ObjAcar.DtResultados DdlUnidad.DataBind() End If DdlTransportista.SelectedValue = dr("CveTransportista").ToString DdlChofer.SelectedValue = dr("CveChofer").ToString DdlUnidad.SelectedValue = dr("CveUnidad").ToString DdlMaterial.SelectedValue = dr("CveMaterial").ToString TxtFolio.Text = dr("Folio").ToString TxtKm.Text = dr("Km").ToString TxtVolumen.Text = dr("Volumen").ToString TxtFecha.Text = dr("Fecha").ToString BtnAgregarAcarreo.Text = "Guardar Cambios" CveEstatus = dr("CveEstatus").ToString.ToEntero CveTipoAcarreo = dr("CveTipoAcarreo").ToString.ToEntero If CveTipoAcarreo = 1 Then LocalizacionTipo1 = "Destino" Else LocalizacionTipo1 = "Origen" If LocalizacionTipo1 = "Destino" Then LocalizacionTipo2 = "Origen" Else LocalizacionTipo2 = "Destino" If dr("Localizacion").ToString <> Nothing Then Localizacion = SQLToGmaps(dr("Localizacion").ToString, "POINT") script.Append($"CreaMarcador({Localizacion},'{LocalizacionTipo1}');") If dr("Localizacion2").ToString <> Nothing Then Localizacion2 = SQLToGmaps(dr("Localizacion2").ToString, "POINT") script.Append($"CreaMarcador({Localizacion2},'{LocalizacionTipo2}');") script.Append($"calculateAndDisplayRoute({Localizacion}, {Localizacion2});") End If End If If CveTipoAcarreo = 1 Then RBDestino.Checked = True Else RBOrigen.Checked = True End If If CveEstatus = 1 Then ChkEstatus.Checked = True Else ChkEstatus.Checked = False End If divEstatus.Visible = True If dr("ImagenRemision").ToString <> Nothing Then ImagenRemision.ImageUrl = String.Format("/Empresas/{0}/Acarreos/{1}", UsuarioActual.CveEmpresa, dr("ImagenRemision").ToString) ImagenRemision.Visible = True End If If dr("ImagenTransporte").ToString <> Nothing Then ImagenTransporte.ImageUrl = String.Format("/Empresas/{0}/Acarreos/{1}", UsuarioActual.CveEmpresa, dr("ImagenTransporte").ToString) ImagenTransporte.Visible = True End If If dr("ImagenCarga").ToString <> Nothing Then ImagenCarga.ImageUrl = String.Format("/Empresas/{0}/Acarreos/{1}", UsuarioActual.CveEmpresa, dr("ImagenCarga").ToString) ImagenCarga.Visible = True End If End If ObjAcar.Dispose() Else divEstatus.Visible = False End If RegistraScript(script.ToString()) End Sub Private Sub CargaDdlNumContrato() Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetAcarreosProyectos(-1, UsuarioActual.CveEmpresa, -1, "-1") Then DdlNumContrato.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlNumContrato.DataSource = ObjAcar.DtResultados DdlNumContrato.DataBind() End If ObjAcar.Dispose() UpDatos.Update() End Sub Private Sub CargaGvBitacora() Dim ObjGral As New ClsGenerales() If ObjGral.GetHistorialBitacora(CveAcarreo, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then GvBitacora.DataSource = ObjGral.DtResultados GvBitacora.DataBind() End If ObjGral.Dispose() UpDatos.Update() End Sub Private Sub BtnAgregarAcarreo_Click(sender As Object, e As EventArgs) Handles BtnAgregarAcarreo.Click If DdlNumContrato.SelectedValue = "-1" Then Alert("Tiene que seleccionar un contrato.", TipoMensaje.MsgInformacion) ElseIf DdlUnidad.SelectedValue = "-1" Then Alert("Tiene que seleccionar una unidad.", TipoMensaje.MsgInformacion) ElseIf DdlTransportista.SelectedValue = "-1" Then Alert("Tiene que seleccionar un transportista.", TipoMensaje.MsgInformacion) ElseIf DdlChofer.SelectedValue = "-1" Then Alert("Tiene que seleccionar un chofer.", TipoMensaje.MsgInformacion) ElseIf DdlMaterial.SelectedValue = "-1" Then Alert("Tiene que seleccionar un material.", TipoMensaje.MsgInformacion) ElseIf RBOrigen.Checked = False And RBDestino.Checked = False Then Alert("Tiene que seleccionar un tipo de acarreo.", TipoMensaje.MsgInformacion) Else Dim ObjAcar As New ClsAcarreos Dim Estatus = 0 Dim Folio As Integer Dim TipoAcarreo As Integer If ChkEstatus.Checked Then Estatus = 1 If RBOrigen.Checked Then TipoAcarreo = 0 If RBDestino.Checked Then TipoAcarreo = 1 If CveAcarreo = -1 Then If ObjAcar.AddAcarreo(DdlUnidad.SelectedValue.ToEntero, DdlChofer.SelectedValue.ToEntero, TxtFolio.Text.ToEntero, TxtFecha.Text.ToDate, CveSubProyectoOrigen, TxtVolumen.Text.ToDouble, 1, TipoAcarreo, UsuarioActual.CveEmpresa, CveSubProyectoDestino, DdlMaterial.SelectedValue.ToEntero, TxtKm.Text.ToDouble, UsuarioActual.CveUsuario, "", "", "", "0", "0", CveAcarreoProyecto) Then Folio = ObjAcar._Folio Alert("Agregado Correctamente con el folio: " + Folio.ToString + ".", TipoMensaje.MsgInformacion) TxtFecha.Text = "" TxtVolumen.Text = "" TxtKm.Text = "" TxtFolio.Text = "" DdlChofer.Items.Clear() DdlMaterial.Items.Clear() DdlUnidad.Items.Clear() DdlTransportista.Items.Clear() RBDestino.Checked = False RBOrigen.Checked = False TxtFecha.Text = Now.AddDays(0).ToShortDateString DdlNumContrato.SelectedIndex = -1 DdlTransportista.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMaterial.Items.Insert(0, New ListItem("Seleccione", "-1")) End If Else If ObjAcar.UpdateAcarreo(CveAcarreo, DdlUnidad.SelectedValue.ToEntero, DdlChofer.SelectedValue.ToEntero, TxtFolio.Text.ToEntero, TxtFecha.Text.ToDate, CveSubProyectoOrigen, TxtVolumen.Text.ToDouble, Estatus, TipoAcarreo, CveSubProyectoDestino, DdlMaterial.SelectedValue.ToEntero, TxtKm.Text.ToDouble, UsuarioActual.CveUsuario, CveAcarreoProyecto) Then Alert("Actualizado Correctamente.", TipoMensaje.MsgInformacion) CargaGvBitacora() End If End If ObjAcar.Dispose() UpDatos.Update() End If End Sub Private Function SQLToGmaps(CoordsSQL As String, Tipo As String) As String Dim CoordsPoligono As String = CoordsSQL.Replace($"{Tipo}", "").Replace(")", "").Replace("(", "") Dim CoordsPuntos() As String = CoordsPoligono.Split(","c) Dim Var As String = "" For Each coordenada As String In CoordsPuntos If coordenada Is CoordsPuntos.Last Then Dim latlng() As String = coordenada.Trim.Split(CType(" ", Char())) Var = $"{Var}{{lat: {latlng(1)}, lng: {latlng(0)} }}" Else Dim latlng() As String = coordenada.Trim.Split(CType(" ", Char())) Var = $"{Var}{{lat: {latlng(1)}, lng: {latlng(0)} }}," End If Next Return Var End Function Private Sub DdlNumContrato_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlNumContrato.SelectedIndexChanged If DdlNumContrato.SelectedValue = "-1" Then DdlMaterial.Items.Clear() DdlChofer.Items.Clear() DdlTransportista.Items.Clear() DdlUnidad.Items.Clear() TxtVolumen.Text = "" DdlTransportista.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMaterial.Items.Insert(0, New ListItem("Seleccione", "-1")) Else DdlMaterial.Items.Clear() DdlChofer.Items.Clear() DdlTransportista.Items.Clear() DdlUnidad.Items.Clear() TxtVolumen.Text = "" Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetAcarreosProyectos(-1, UsuarioActual.CveEmpresa, -1, DdlNumContrato.SelectedValue) Then Dim dr As DataRow = ObjAcar.DtResultados.Rows(0) CveAcarreoProyecto = dr("CveAcarreoProyecto").ToString.ToEntero CveSubProyectoOrigen = dr("CveSubProyectoOrigen").ToString.ToEntero CveSubProyectoDestino = dr("CveSubProyectoDestino").ToString.ToEntero End If If ObjAcar.GetAcarreosMaterialVolumen(CveAcarreoProyecto, UsuarioActual.CveEmpresa, -1) Then DdlMaterial.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlMaterial.DataSource = ObjAcar.DtResultados DdlMaterial.DataBind() End If If Not DdlMaterial.SelectedValue = "-1" Then If ObjAcar.GetAcarreosMaterialVolumen(CveAcarreoProyecto, UsuarioActual.CveEmpresa, -1) Then Dim dr As DataRow = ObjAcar.DtResultados.Rows(DdlMaterial.SelectedIndex.ToEntero) TxtVolumen.Text = dr("VolumenTipo").ToString End If End If If ObjAcar.GetTarifasTransportista(CveAcarreoProyecto, UsuarioActual.CveEmpresa) Then DdlTransportista.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlTransportista.DataSource = ObjAcar.DtResultados DdlTransportista.DataBind() End If If Not DdlTransportista.SelectedValue = "-1" Then If ObjAcar.GetChofer(-1, UsuarioActual.CveEmpresa, 1, DdlTransportista.SelectedValue.ToEntero) Then DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.DataSource = ObjAcar.DtResultados DdlChofer.DataBind() End If Else DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) End If If Not DdlTransportista.SelectedValue = "-1" Then If ObjAcar.GetUnidad(-1, 1, UsuarioActual.CveEmpresa, DdlTransportista.SelectedValue.ToEntero) Then DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.DataSource = ObjAcar.DtResultados DdlUnidad.DataBind() End If Else DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) End If ObjAcar.Dispose() End If UpDatos.Update() End Sub Private Sub DdlTransportista_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTransportista.SelectedIndexChanged DdlChofer.Items.Clear() DdlUnidad.Items.Clear() If Not DdlTransportista.SelectedValue = "-1" Then Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetChofer(-1, UsuarioActual.CveEmpresa, 1, DdlTransportista.SelectedValue.ToEntero) Then DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlChofer.DataSource = ObjAcar.DtResultados DdlChofer.DataBind() End If If ObjAcar.GetUnidad(-1, 1, UsuarioActual.CveEmpresa, DdlTransportista.SelectedValue.ToEntero) Then DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.DataSource = ObjAcar.DtResultados DdlUnidad.DataBind() End If ObjAcar.Dispose() Else DdlChofer.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlUnidad.Items.Insert(0, New ListItem("Seleccione", "-1")) End If UpDatos.Update() End Sub Private Sub DdlMaterial_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlMaterial.SelectedIndexChanged If Not DdlMaterial.SelectedValue = "-1" Then Dim ObjAcar As New ClsAcarreos() If ObjAcar.GetAcarreosMaterialVolumen(CveAcarreoProyecto, UsuarioActual.CveEmpresa, -1) Then Dim dr As DataRow = ObjAcar.DtResultados.Rows(DdlMaterial.SelectedIndex.ToEntero - 1) TxtVolumen.Text = dr("VolumenTipo").ToString End If ObjAcar.Dispose() UpDatos.Update() Else TxtVolumen.Text = "" End If End Sub End Class