Apoyo logistico, ordenes de servicio

This commit is contained in:
Oscar Irigoyen
2023-01-10 12:23:17 -07:00
parent 0f31351535
commit 23a419b9f6
17 changed files with 465 additions and 90 deletions

View File

@@ -280,6 +280,15 @@ Partial Class OS_RepServicioDomicilio
cargaDropsModal()
CargaClientePublicoGeneral()
If UsuarioActual.TienePermisoProceso(348) Then
DVModalAsignacion.Visible = True
End If
'RegistraScript(" PrimeraCargaCalendario = true;")
End If
End Sub
@@ -595,7 +604,7 @@ Partial Class OS_RepServicioDomicilio
End If
'DdlSubProyectoOS.Items.Clear()
CargarCentrosDeCosto(Nothing, DdlSubProyectoOS, Nothing, LblSubProyectoOS)
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoOS)
'DdlModeloAuto.Items.Clear()
Dim ObjGral As New ClsGenerales
@@ -607,6 +616,7 @@ Partial Class OS_RepServicioDomicilio
DdlModeloAuto.Items.Insert(0, New ListItem("Sin Asignar", "-1"))
End Sub
Private Sub CargaClientes()
@@ -623,7 +633,7 @@ Partial Class OS_RepServicioDomicilio
TxtSolicito.Text = ""
TxtDescripcion.Text = ""
TxtFechaOS.Text = ""
DdlSubProyectoOS.SelectedValueExist("-1")
'DdlSubProyectoOS.SelectedValueExist("-1")
TxtDireccion.Text = ""
TxtEmail.Text = ""
TxtTelefono.Text = ""
@@ -645,6 +655,9 @@ Partial Class OS_RepServicioDomicilio
FechaInicioOriginal = DateTime.Now
DVFolio.Visible = False
DvModalSubProyecto.Visible = False
TxtCondiciones.Text = ""
End Sub
@@ -707,7 +720,7 @@ Partial Class OS_RepServicioDomicilio
TxtDescripcion.Text = ObjOS.Descripcion
TxtSolicito.Text = ObjOS.PersonaSolicito
TxtFechaOS.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy")
DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto)
'DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto)
TxtDireccion.Text = ObjOS.DtResultados.Rows(0)("DireccionOS").ToString
TxtEmail.Text = ObjOS.CorreoOS
TxtTelefono.Text = ObjOS.Telefono
@@ -718,6 +731,9 @@ Partial Class OS_RepServicioDomicilio
DdlModeloAuto.SelectedValueExist(ObjOS.CveModeloAuto)
TxtAnio.Text = ObjOS.Año
LblModalSubproyecto.Text = ObjOS.SubProyecto
TxtCondiciones.Text = ObjOS.Condiciones
If TipoAccion = OSModalTipoAccion.Actualizacion Then
@@ -725,6 +741,7 @@ Partial Class OS_RepServicioDomicilio
CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio
FechaInicioOriginal = ObjOS.FechaInicio
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
'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
@@ -786,6 +803,15 @@ Partial Class OS_RepServicioDomicilio
Dim CveOS As Integer = HFCveOS.Value.ToEntero
Dim CveOsDetalle As Integer = HFCveOsDetalle.Value.ToEntero
Dim CveSubProyectoTecnico As Integer = If(DdlTecnicoAsignar.SelectedValue.ToEntero > 0, GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto").ToEntero, -1)
If TipoAccion = OSModalTipoAccion.Asignacion AndAlso Not CveSubProyectoTecnico > 0 Then
Alert("No se encontro el subproyecto o centro de costo del tecnico seleccionado.")
Exit Sub
End If
If Not CvePSDetalle > 0 Then
Alert("No esta asiganado el producto del detalle a la funcionalidad.")
Exit Sub
@@ -822,9 +848,10 @@ Partial Class OS_RepServicioDomicilio
CveEstatosOrdenNueva = CveEstatusAsiganada
End If
If ObjOS.AddOrdenesServicios(CveCliente, DdlSubProyectoOS.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaOS.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatosOrdenNueva,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, CveOrdenServicioTipo, CveClienteSucursal:=-1,
Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, Correo:=TxtEmail.Text) Then
If ObjOS.AddOrdenesServicios(CveCliente, CveSubProyectoTecnico, TxtSolicito.Text, TxtFechaOS.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatosOrdenNueva,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, CveOrdenServicioTipo, CveClienteSucursal:=-1, Direccion:=TxtDireccion.Text,
Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, Correo:=TxtEmail.Text,
Condiciones:=TxtCondiciones.Text.Trim) Then
CveOS = ObjOS.CveOS
CveOsDetalle = ObjOS.AddOrdenesServiciosDetalle(CveOS, CvePSDetalle, 1, -1, -1, "", False, True, False, -1, "-1", "-1", "-1", "", UsuarioActual.CveUsuario, "")
@@ -854,8 +881,8 @@ Partial Class OS_RepServicioDomicilio
If CveOS > 0 Then
If Not ObjOS.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaOS.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatusOrden, CveOS, UsuarioActual.CveUsuario,
-1, CveClienteSucursal:=-1, Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text,
CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text, CveSubProyecto:=DdlSubProyectoOS.SelectedValue.ToEntero, Correo:=TxtEmail.Text) Then
-1, CveClienteSucursal:=-1, Direccion:=TxtDireccion.Text, Telefono:=TxtTelefono.Text, CveModeloAuto:=DdlModeloAuto.SelectedValue.ToEntero, Año:=TxtAnio.Text,
CveSubProyecto:=CveSubProyectoTecnico, Correo:=TxtEmail.Text, Condiciones:=TxtCondiciones.Text.Trim) Then
TieneError = True
End If
@@ -876,21 +903,26 @@ Partial Class OS_RepServicioDomicilio
If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
Dim subProyectoDelTecnico As DataTable
subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {DdlSubProyectoOS.SelectedValue.ToEntero}")
If subProyectoDelTecnico.Rows.Count > 0 Then
If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
TieneError = True
End If
Else
Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
TieneError = True
End If
'If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
' Dim subProyectoDelTecnico As DataTable
' subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoTecnico}")
' If subProyectoDelTecnico.Rows.Count > 0 Then
' If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
' TieneError = True
' End If
' Else
' Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia)
' TieneError = True
' End If
'End If
If Not TieneError Then
@@ -916,7 +948,7 @@ Partial Class OS_RepServicioDomicilio
Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} <b><a href='/OS/OrdenesServicios.aspx?CveOS={CveOS}' target='_blank' class='Texto' >Orden de servicio {FolioAsignar} </a></b>"
If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, TxtModalFechaOS.Text.ToDateTime(), TxtModalFechaOS.Text.ToDateTime().AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
Importe:=0, CveOS:=CveOS, CveSubProyecto:=DdlSubProyectoOS.SelectedValue.ToEntero) Then
Importe:=0, CveOS:=CveOS, CveSubProyecto:=CveSubProyectoTecnico, CveUsuarioPara:=DdlTecnicoAsignar.SelectedValue.ToEntero) Then
TieneError = True
End If
End If
@@ -942,6 +974,10 @@ Partial Class OS_RepServicioDomicilio
MandaCorreOS(CveOSAsignar, CorreoAsignado)
End If
If Not TieneError And TxtEmail.Text.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
MandaCorreOS(CveOSAsignar, TxtEmail.Text, True)
End If
If Not TieneError Then
ConsultaOrdenesServiciosNoAsignadas()
@@ -961,7 +997,7 @@ Partial Class OS_RepServicioDomicilio
End Sub
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String)
Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, Optional EsCliente As Boolean = False)
@@ -1023,9 +1059,8 @@ Partial Class OS_RepServicioDomicilio
params.Add(New ReportParameter("Solicito", dr("PersonaSolicito").ToString))
params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString))
params.Add(New ReportParameter("Recibio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString))
params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString.ToDate.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("FolioOS", dr("Folio").ToString))
FolioOS = dr("Folio").ToString
params.Add(New ReportParameter("ClienteTelefono", dr("Telefono").ToString))
params.Add(New ReportParameter("ClienteCalle", dr("Direccion").ToString))
params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString))
@@ -1033,19 +1068,40 @@ Partial Class OS_RepServicioDomicilio
params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString))
CveFolio = dr("Folio").ToString
If RutaReporte.Exists Then
params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString))
params.Add(New ReportParameter("RFC", dr("RFC").ToString))
params.Add(New ReportParameter("Vendedor", " "))
params.Add(New ReportParameter("Correo", dr("Correo").ToString))
params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString))
params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString))
params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString))
params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString))
params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString))
params.Add(New ReportParameter("Copia", "Copia: Original"))
params.Add(New ReportParameter("Equipo", dr("Equipo").ToString))
End If
'If RutaReporte.Exists Then
params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString))
params.Add(New ReportParameter("RFC", dr("RFC").ToString))
params.Add(New ReportParameter("Vendedor", " "))
params.Add(New ReportParameter("Correo", dr("Correo").ToString))
params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString))
params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString))
params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString))
params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString))
'params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString))
params.Add(New ReportParameter("Copia", "Copia: Original"))
params.Add(New ReportParameter("Equipo", dr("Equipo").ToString))
params.Add(New ReportParameter("DireccionOS", dr("DireccionOS").ToString))
params.Add(New ReportParameter("Telefono", dr("Telefono").ToString))
params.Add(New ReportParameter("CorreoOS", dr("CorreoOS").ToString))
params.Add(New ReportParameter("ModeloMarca", dr("ModeloMarca").ToString))
params.Add(New ReportParameter("Año", dr("Año").ToString))
params.Add(New ReportParameter("TelefonoContacto", dr("TelefonoContacto").ToString))
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("TecnicoAsignado", dr("UsuarioAtendio").ToString))
'End If
End If
End If
@@ -1063,13 +1119,11 @@ Partial Class OS_RepServicioDomicilio
End If
If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then
TmpDTOS = ObjOS.DtResultados
End If
If ObjOS.GetDetalleMateriales(-1, CveOS) Then
If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then
TmpDTMaterialesOS = ObjOS.DtResultados
End If
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}