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