Apoyo Logístico, ordenes a domicilio horarios no operativos.

This commit is contained in:
Oscar Irigoyen
2023-01-12 11:54:34 -07:00
parent 65fcada230
commit 62fd8eeb3d
7 changed files with 8033 additions and 4783 deletions

View File

@@ -9,6 +9,7 @@ Imports Telerik.Web.UI
Imports APP_Code_CSharp
Imports AjaxControlToolkit.AsyncFileUpload.Constants
Imports System
Imports System.Globalization
Partial Class OS_RepServicioDomicilio
Inherits ClsPaginas
@@ -740,7 +741,7 @@ Partial Class OS_RepServicioDomicilio
DdlTecnicoAsignar.SelectedValueExist(ObjOS.CveUsuarioAtendio)
CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio
FechaInicioOriginal = ObjOS.FechaInicio
TxtModalFechaOS.Text = ObjOS.FechaInicio.ToString.ToDate.ToString("dd/MM/yyyy hh:mm")
TxtModalFechaOS.Text = ObjOS.FechaInicio.ToString.ToDate.ToString("dd/MM/yyyy HH:mm")
DvModalSubProyecto.Visible = True
'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour)
'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute
@@ -971,11 +972,11 @@ Partial Class OS_RepServicioDomicilio
Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
If Not TieneError And CorreoAsignado.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
MandaCorreOS(CveOSAsignar, CorreoAsignado)
MandaCorreOS(CveOS, CorreoAsignado)
End If
If Not TieneError And TxtEmail.Text.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
MandaCorreOS(CveOSAsignar, TxtEmail.Text, True)
MandaCorreOS(CveOS, TxtEmail.Text, True)
End If
If Not TieneError Then
@@ -1092,7 +1093,7 @@ Partial Class OS_RepServicioDomicilio
params.Add(New ReportParameter("FechaImpresion", Now.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
params.Add(New ReportParameter("Condiciones", dr("Condiciones").ToString))
params.Add(New ReportParameter("FechaAtencion", If(dr("FechaInicio").ToString.Length > 0, dr("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy"), "")))
params.Add(New ReportParameter("FechaAtencion", If(dr("FechaInicio").ToString.Length > 0, dr("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy hh:mm tt"), "")))
params.Add(New ReportParameter("TecnicoAsignado", dr("UsuarioAtendio").ToString))
@@ -1126,7 +1127,7 @@ Partial Class OS_RepServicioDomicilio
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS}
Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTOS}
Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTMaterialesOS}
lrds.Add(rds)
lrds.Add(rds2)
@@ -1247,4 +1248,154 @@ Partial Class OS_RepServicioDomicilio
End Sub
Protected Sub LnkHorariosNoOperativos_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DVModalOSHorarioNoOperativo').modal('show');")
DdlTecnicoAsignarHorario.Items.Clear()
DdlTecnicoAsignarHorario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
DdlTecnicoAsignarHorario.DataBind()
DdlTecnicoAsignarHorario.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
DdlTecnicoAsignarHorario.SelectedValueExist("-1")
TxtHorarioInicio.SetTime(0, 0, 0, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
TxtHorarioFin.SetTime(0, 0, 1, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
UpModalHorariosNoOperativos.Update()
End Sub
Protected Sub DdlTecnicoAsignarHorario_SelectedIndexChanged(sender As Object, e As EventArgs)
TxtHorarioInicio.SetTime(0, 0, 0, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
TxtHorarioFin.SetTime(0, 0, 1, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
If DdlTecnicoAsignarHorario.SelectedValue.ToEntero > 0 Then
Dim objOS As New ClsOS
Dim DTHorarios As New DataTable
If objOS.GetOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignarHorario.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
DTHorarios = objOS.DtResultados
End If
objOS.Dispose()
If DTHorarios IsNot Nothing AndAlso DTHorarios.Rows.Count > 0 Then
Dim HoraInicio As String = DTHorarios.Rows(0)("HoraInicio").ToString
Dim HoraFin As String = DTHorarios.Rows(0)("HoraFin").ToString
TxtHorarioInicio.SetTime(HoraInicio.ToDateTime.Hour, HoraInicio.ToDateTime.Minute, HoraInicio.ToDateTime.Second, If(HoraInicio.ToDateTime.ToString("tt", CultureInfo.InvariantCulture) = "PM", MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM))
TxtHorarioFin.SetTime(HoraFin.ToDateTime.Hour, HoraFin.ToDateTime.Minute, HoraFin.ToDateTime.Second, If(HoraFin.ToDateTime.ToString("tt", CultureInfo.InvariantCulture) = "PM", MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM))
End If
End If
UpModalHorariosNoOperativos.Update()
End Sub
Protected Sub LnkGuardarHorarioNoOpeartivo_Click(sender As Object, e As EventArgs)
If DdlTecnicoAsignarHorario.SelectedValue.ToEntero > 0 Then
Dim HoraInicio = $"{TxtHorarioInicio.Hour}:{TxtHorarioInicio.Minute}:{TxtHorarioInicio.Second} {TxtHorarioInicio.AmPm}".ToDateTime
Dim HoraFin = $"{TxtHorarioFin.Hour}:{TxtHorarioFin.Minute}:{TxtHorarioFin.Second} {TxtHorarioFin.AmPm}".ToDateTime
If HoraInicio > HoraFin Then
Alert("La hora final no debe ser mayor a la hora inicial", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If HoraFin = HoraInicio Then
Alert("la hora de inicio y la hora fin no pueden ser iguales", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim objOS As New ClsOS
If objOS.AddOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignarHorario.SelectedValue.ToEntero, HoraInicio, HoraFin, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("Horario no operativo guardado correntamente.")
RegistraScript("$('#DVModalOSHorarioNoOperativo').modal('hide');")
End If
objOS.Dispose()
End If
End Sub
Protected Sub DdlTecnicoAsignar_SelectedIndexChanged1(sender As Object, e As EventArgs)
ValidaHorarioNoOperativo()
End Sub
Protected Sub LnkValidaHorarioNoOperativo_Click(sender As Object, e As EventArgs)
ValidaHorarioNoOperativo()
End Sub
Private Sub ValidaHorarioNoOperativo()
If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
'If ViewState("Validando") Is Nothing Then
' ViewState("Validando") = True
'Else
' Exit Sub
'End If
Dim objOS As New ClsOS
Dim DTHorarios As New DataTable
If objOS.GetOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
DTHorarios = objOS.DtResultados
End If
objOS.Dispose()
If DTHorarios IsNot Nothing AndAlso DTHorarios.Rows.Count > 0 Then
Dim HoraInicio As TimeSpan = DTHorarios.Rows(0)("HoraInicio").ToString.ToDate.TimeOfDay
Dim HoraFin As TimeSpan = DTHorarios.Rows(0)("HoraFin").ToString.ToDate.TimeOfDay
Dim HoraAsignacion As TimeSpan = TxtModalFechaOS.Text.ToDate.TimeOfDay
If HoraAsignacion >= HoraInicio And HoraAsignacion <= HoraFin Then
Alert($"La hora especificada esta dentro del horario no operativo del Técnico {HoraInicio.ToString()} a {HoraFin.ToString()} .", TipoMensaje.MsgAdvertencia)
End If
End If
'ViewState("Validando") = Nothing
End If
End Sub
End Class