@@ -672,6 +688,7 @@
diff --git a/OS/RepServicioDomicilio.aspx.vb b/OS/RepServicioDomicilio.aspx.vb
index 94319395a..825438e5c 100644
--- a/OS/RepServicioDomicilio.aspx.vb
+++ b/OS/RepServicioDomicilio.aspx.vb
@@ -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}
Orden de servicio {FolioAsignar} "
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}