diff --git a/OS/Asignaciones.aspx b/OS/Asignaciones.aspx
index ea189147a..fb112083e 100644
--- a/OS/Asignaciones.aspx
+++ b/OS/Asignaciones.aspx
@@ -175,7 +175,7 @@
-
diff --git a/OS/Asignaciones.aspx.vb b/OS/Asignaciones.aspx.vb
index ce7b69d13..ddec422b5 100644
--- a/OS/Asignaciones.aspx.vb
+++ b/OS/Asignaciones.aspx.vb
@@ -26,6 +26,15 @@ Partial Class OS_Asignaciones
ViewState("DtOSSubProyectos") = value
End Set
End Property
+
+ Private Property DtTecnicosSubProyectos As DataTable
+ Get
+ Return CType(ViewState("DtTecnicosSubProyectos"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DtTecnicosSubProyectos") = value
+ End Set
+ End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -163,6 +172,7 @@ Partial Class OS_Asignaciones
dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"})
TecnicosResultado.Merge(dtAuxiliar)
Next
+ DtTecnicosSubProyectos = TecnicosResultado
DdlTecnico.DataSource = TecnicosResultado
DdlTecnico.DataBind()
DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
@@ -184,10 +194,21 @@ Partial Class OS_Asignaciones
If row.FCCheckBox("ChbxAsignar").Checked Then
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", row.FCTextBox("FechaOS").Text, picker.Hour, picker.Minute, picker.AmPm))
- If Not ObjOS.UpdateOrdenesServiciosAsignadas(row.DataKey("CveOSDetalle").ToEntero, DdlTecnico.SelectedValue.ToEntero, row.FCTextBox("FechaOS").Text.ToDate, time, UsuarioActual.CveEmpresa) Then
- TieneError = True
+
+ If ObjOS.GetSubProyectosEstatusInicial(DdlTecnico.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
+ Dim subProyectoDelTecnico As DataTable
+ subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros(String.Format("CveSubProyecto = {0}", row.DataKey("CveSubProyecto")))
+ If subProyectoDelTecnico.Rows.Count > 0 Then
+ If Not ObjOS.UpdateOrdenesServiciosAsignadas(row.DataKey("CveOSDetalle").ToEntero, DdlTecnico.SelectedValue.ToEntero, row.FCTextBox("FechaOS").Text.ToDate, time, 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
If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusOS.ToEntero, UsuarioActual.CveUsuario, row.DataKey("CveOS").ToEntero) Then
TieneError = True