From 0ad131aa45444e2df7d7edda7cdc912e6b7849ea Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 5 Oct 2019 17:03:03 -0500 Subject: [PATCH 1/4] =?UTF-8?q?Actualizacion=20sobre=20la=20asignacion=20y?= =?UTF-8?q?=20permisos=20en=20las=20ordenes=20de=20servicio=20mayormente?= =?UTF-8?q?=20todo=20enfocado=20a=20la=20l=C3=B3gica=20de=20subProyecto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsOS.vb | 28 ++++++- OS/Asignaciones.aspx.vb | 34 +++++++- OS/CatEstatusOrdenServicio.aspx | 53 +++++++----- OS/CatEstatusOrdenServicio.aspx.vb | 124 +++++++++++++++++++---------- OS/OrdenesServicios.aspx.vb | 13 +-- 5 files changed, 181 insertions(+), 71 deletions(-) diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb index c425d7c80..565017490 100644 --- a/App_Code/ClsOS.vb +++ b/App_Code/ClsOS.vb @@ -1556,7 +1556,7 @@ Public Class ClsOS #End Region #Region "ESTATUS USUARIOS OS" - Public Function GetEstatusUsuarios(CveUsuario As Integer, CveEmpresa As Integer, Optional CveEstatusUsuario As Integer = -1) As Boolean + Public Function GetEstatusUsuarios(CveUsuario As Integer, CveEmpresa As Integer, Optional CveSubProyecto As Integer = -1, Optional CveEstatusUsuario As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_EstatusUsuariosGet") @@ -1564,6 +1564,7 @@ Public Class ClsOS .Add("@CveEstatusUsuario", SqlDbType.Int).Value = CveEstatusUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto End With Try SqlAdapter.Fill(Data) @@ -1574,7 +1575,7 @@ Public Class ClsOS Return Retorno End Function - Public Function RemoveEstatusUsuarios(CveEstatus As Integer, CveUsuario As Integer) As Boolean + Public Function RemoveEstatusUsuarios(CveEstatus As Integer, CveUsuario As Integer, CveSubProyecto As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_EstatusUsuariosRemove") @@ -1582,6 +1583,7 @@ Public Class ClsOS With SqlAdapter.SelectCommand.Parameters .Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatus .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto End With Try @@ -1599,7 +1601,7 @@ Public Class ClsOS Return Retorno End Function - Public Function AddEstatusUsuarios(CveEstatusOrdenServicio As Integer, CveUsuario As Integer, CveSubProyecto As Integer) As Boolean + Public Function AddEstatusUsuarios(CveEstatusOrdenServicio As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveUsuarioModifico As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_EstatusUsuarioAdd") @@ -1608,6 +1610,7 @@ Public Class ClsOS .Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatusOrdenServicio .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico End With Try @@ -1626,6 +1629,25 @@ Public Class ClsOS Return Retorno End Function + + Public Function GetSubProyectosEstatusInicial(CveUsuario As Integer, TipoEstatus As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OS_SubProyectoInicialGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@TipoEstatus", SqlDbType.Int).Value = TipoEstatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el Catálogo de Estatus de Usuarios para Ordenes de servicio.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function #End Region diff --git a/OS/Asignaciones.aspx.vb b/OS/Asignaciones.aspx.vb index f54cc4ea9..591aed260 100644 --- a/OS/Asignaciones.aspx.vb +++ b/OS/Asignaciones.aspx.vb @@ -17,12 +17,20 @@ Partial Class OS_Asignaciones ViewState("TmpDT") = value End Set End Property + + Private Property DtOSSubProyectos As DataTable + Get + Return CType(ViewState("DtOSSubProyectos"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtOSSubProyectos") = value + End Set + End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then - CargaEstatusOS() - CargaUsuarios() + 'CargaUsuarios() CargaClientes() CargaSubProyecto() @@ -38,6 +46,7 @@ Partial Class OS_Asignaciones DivAsignacionPersona.Visible = False 'CargaOrdenesServiciosAsignadas() End If + CargarTecnico() Dim ObjEstatusPermisos As New ClsOS If ObjEstatusPermisos.GetEstatusUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then @@ -79,6 +88,7 @@ Partial Class OS_Asignaciones FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") If ObjOS.GetOrdenesServiciosNoAsignadas(DdlCliente.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaI, FechaF) Then + DtOSSubProyectos = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) GvNA.DataSource = ObjOS.DtResultados TmpDT = ObjOS.DtResultados Else @@ -138,6 +148,26 @@ Partial Class OS_Asignaciones End If UPFiltros.Update() End Sub + Private Sub CargarTecnico() + Dim ObjOS As New ClsOS + Dim TecnicosSubProyectos As New DataTable + Dim TecnicosResultado As New DataTable + + If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then + TecnicosSubProyectos = ObjOS.DtResultados + End If + + For Each SubProyecto As DataRow In DtOSSubProyectos.Rows + Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto"))).Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero + Dim dtAuxiliar As New DataTable + dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"}) + TecnicosResultado.Merge(dtAuxiliar) + Next + DdlTecnico.DataSource = TecnicosResultado + DdlTecnico.DataBind() + DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1")) + ObjOS.Dispose() + End Sub #End Region #Region "BTN'S" diff --git a/OS/CatEstatusOrdenServicio.aspx b/OS/CatEstatusOrdenServicio.aspx index fc7f2c5ef..f08ec053f 100644 --- a/OS/CatEstatusOrdenServicio.aspx +++ b/OS/CatEstatusOrdenServicio.aspx @@ -4,10 +4,11 @@