Actualizacion sobre la asignacion y permisos en las ordenes de servicio mayormente todo enfocado a la lógica de subProyecto

This commit is contained in:
Antonio Gonzalez
2019-10-05 17:03:03 -05:00
parent a97d4cc137
commit 0ad131aa45
5 changed files with 181 additions and 71 deletions

View File

@@ -1556,7 +1556,7 @@ Public Class ClsOS
#End Region #End Region
#Region "ESTATUS USUARIOS OS" #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 Dim Retorno As Boolean = False
DataAdapter("PA_OS_EstatusUsuariosGet") DataAdapter("PA_OS_EstatusUsuariosGet")
@@ -1564,6 +1564,7 @@ Public Class ClsOS
.Add("@CveEstatusUsuario", SqlDbType.Int).Value = CveEstatusUsuario .Add("@CveEstatusUsuario", SqlDbType.Int).Value = CveEstatusUsuario
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
@@ -1574,7 +1575,7 @@ Public Class ClsOS
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("PA_OS_EstatusUsuariosRemove") DataAdapter("PA_OS_EstatusUsuariosRemove")
@@ -1582,6 +1583,7 @@ Public Class ClsOS
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatus .Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
End With End With
Try Try
@@ -1599,7 +1601,7 @@ Public Class ClsOS
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("PA_OS_EstatusUsuarioAdd") DataAdapter("PA_OS_EstatusUsuarioAdd")
@@ -1608,6 +1610,7 @@ Public Class ClsOS
.Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatusOrdenServicio .Add("@CveEstatusOrdenServicio", SqlDbType.Int).Value = CveEstatusOrdenServicio
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
End With End With
Try Try
@@ -1626,6 +1629,25 @@ Public Class ClsOS
Return Retorno Return Retorno
End Function 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 #End Region

View File

@@ -17,12 +17,20 @@ Partial Class OS_Asignaciones
ViewState("TmpDT") = value ViewState("TmpDT") = value
End Set End Set
End Property 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 #End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
CargaEstatusOS() CargaEstatusOS()
CargaUsuarios() 'CargaUsuarios()
CargaClientes() CargaClientes()
CargaSubProyecto() CargaSubProyecto()
@@ -38,6 +46,7 @@ Partial Class OS_Asignaciones
DivAsignacionPersona.Visible = False DivAsignacionPersona.Visible = False
'CargaOrdenesServiciosAsignadas() 'CargaOrdenesServiciosAsignadas()
End If End If
CargarTecnico()
Dim ObjEstatusPermisos As New ClsOS Dim ObjEstatusPermisos As New ClsOS
If ObjEstatusPermisos.GetEstatusUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then 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") 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 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 GvNA.DataSource = ObjOS.DtResultados
TmpDT = ObjOS.DtResultados TmpDT = ObjOS.DtResultados
Else Else
@@ -138,6 +148,26 @@ Partial Class OS_Asignaciones
End If End If
UPFiltros.Update() UPFiltros.Update()
End Sub 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 #End Region
#Region "BTN'S" #Region "BTN'S"

View File

@@ -4,10 +4,11 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
.columnaUsuarios{ .columnaUsuarios {
text-align:left; text-align: left;
font-weight:bold; font-weight: bold;
} }
.Widthall { .Widthall {
width: 100% !important; width: 100% !important;
} }
@@ -95,17 +96,18 @@
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right"> <div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<label for="TxtBusquedaEstatus">Buscar: </label> <label for="TxtBusquedaEstatus">Buscar: </label>
<input type="text" id="TxtBusquedaEstatus" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <input type="text" id="TxtBusquedaEstatus" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", Prueba.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuariosEstatus.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:HiddenField ClientIDMode="Static" runat="server" ID="HdnCveEstatus" Value="-1" /> <asp:HiddenField ClientIDMode="Static" runat="server" ID="HdnCveEstatus" Value="-1" />
<asp:GridView ID="GvDatos" runat="server" GridLines="None" DataKeyNames="CveEstatusOrdenServicio,TipoEstatus,TipoEstatusTexto,EstatusOrdenServicio,EstatusBool,Estado" CssClass="table table-striped table-advance table-hover Widthall" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de Estatus de Ordenes de Servicios"> <asp:GridView ID="GvDatos" runat="server" GridLines="None" DataKeyNames="CveEstatusOrdenServicio,TipoEstatus,TipoEstatusTexto,EstatusOrdenServicio,EstatusBool,Estado,Orden" CssClass="table table-striped table-advance table-hover Widthall" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de Estatus de Ordenes de Servicios">
<Columns> <Columns>
<asp:BoundField DataField="EstatusOrdenServicio" HeaderText="Estatus Orden Servicio" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="EstatusOrdenServicio" HeaderText="Estatus Orden Servicio" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Estado" HeaderText="Estado" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="Estado" HeaderText="Estado" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoEstatusTexto" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="TipoEstatusTexto" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Orden" HeaderText="Orden" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right"> <asp:TemplateField ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="Edit_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" /> <asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="Edit_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
@@ -125,27 +127,40 @@
<ajax:TabPanel runat="server" ID="TabPanel3" HeaderText="Configuración"> <ajax:TabPanel runat="server" ID="TabPanel3" HeaderText="Configuración">
<ContentTemplate> <ContentTemplate>
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right"> <div class="portlet solid grey-cascade portlet-filter">
<label for="TxtBusqueda">Buscar: </label> <div class="portlet-title portlet-filterT smalltitle">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", Prueba.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" /> <div class="tools">
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", Prueba.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1">Proyecto: </label>
<div class="col-md-2" id="DivProyecto" runat="server">
<asp:DropDownList ID="CboProyecto" runat="server" DataTextField="Proyecto" DataValueField="CveProyecto" CssClass="form-control input-sm select2me" Width="250px" AutoPostBack="true"></asp:DropDownList>
</div>
<label class="col-md-1" id="LblSubproyecto" runat="server">SubProyecto: </label>
<div class="col-md-2" id="DivSubProyecto" runat="server">
<asp:DropDownList ID="CboSubProyecto" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Width="250px" AutoPostBack="true"></asp:DropDownList>
</div>
</div>
</div>
</div>
</div> </div>
<asp:UpdatePanel ID="UpPrueba" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpGvUsuariosEstatus" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="Prueba" GridLines="None" CssClass="table table-striped table-advance table-hover" Width="100%" runat="server" AutoGenerateColumns="false" DataKeyNames="CveUsuario" EmptyDataText="No se encontraron Usuarios Registrados" ToolTip="Listado de Usuarios" Style="text-align: center">
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<label for="TxtBusqueda">Buscar: </label>
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuariosEstatus.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuariosEstatus.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:GridView ID="GvUsuariosEstatus" GridLines="None" CssClass="table table-striped table-advance table-hover" Width="100%" runat="server" AutoGenerateColumns="false" DataKeyNames="CveUsuario" EmptyDataText="No se encontraron Usuarios Registrados" ToolTip="Listado de Usuarios" Style="text-align: center">
<HeaderStyle VerticalAlign="Middle" /> <HeaderStyle VerticalAlign="Middle" />
<Columns> <Columns>
<%--<asp:TemplateField>
<HeaderTemplate>Estatus</HeaderTemplate>
<ItemStyle Width="150px" BorderStyle="None" />
<ItemTemplate>
<asp:Label Font-Bold="true" Style="text-align: left" Width="250px" ID="LblUsuario" runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
</Columns> </Columns>
</asp:GridView> </asp:GridView>
<div style="width: 100%; text-align: center"> <div style="width: 100%; text-align: center">
<asp:Button ID="BtnGuardarPruebas" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" /> <asp:Button ID="BtnGuardarUsuariosEstatus" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" />
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>

View File

@@ -64,13 +64,23 @@ Partial Class OS_CatEstatusOrdenServicio
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then If Not Page.IsPostBack Then
'DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) 'DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
CargaDatos() 'CargaDatos()
AsociarEstatusUsuarios() 'AsociarEstatusUsuarios()
CargarUsuarioConEstatus() 'CargarUsuarioConEstatus()
'CargarSubProyectos()
CargarProyectos()
CargarTodosLosDatos()
CveEstatuOS = -1 CveEstatuOS = -1
End If End If
End Sub End Sub
Private Sub CargarTodosLosDatos()
'CargarSubProyectos()
CargaDatos()
AsociarEstatusUsuarios()
CargarUsuarioConEstatus()
End Sub
Public Sub CargaDatos() Public Sub CargaDatos()
DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) DTUsuarios = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
Using ObjEstatusOrdenServicios As New ClsOS Using ObjEstatusOrdenServicios As New ClsOS
@@ -83,7 +93,7 @@ Partial Class OS_CatEstatusOrdenServicio
End If End If
If ObjEstatusOrdenServicios.GetEstatusUsuarios(-1, -1) Then If ObjEstatusOrdenServicios.GetEstatusUsuarios(-1, -1, CveSubProyecto:=CboSubProyecto.SelectedValue.ToEntero) Then
DTEstatusUsuarios = ObjEstatusOrdenServicios.DtResultados DTEstatusUsuarios = ObjEstatusOrdenServicios.DtResultados
End If End If
@@ -131,7 +141,7 @@ Partial Class OS_CatEstatusOrdenServicio
AsociarEstatusUsuarios() AsociarEstatusUsuarios()
CargarUsuarioConEstatus() CargarUsuarioConEstatus()
UpDatos.Update() UpDatos.Update()
UpPrueba.Update() UpGvUsuariosEstatus.Update()
'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True) 'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
End Sub End Sub
Public Sub Edit_Click(sender As Object, e As EventArgs) Public Sub Edit_Click(sender As Object, e As EventArgs)
@@ -175,7 +185,7 @@ Partial Class OS_CatEstatusOrdenServicio
EstatusUsuariosGridActualizar() EstatusUsuariosGridActualizar()
AsociarEstatusUsuarios() AsociarEstatusUsuarios()
CargarUsuarioConEstatus() CargarUsuarioConEstatus()
UpPrueba.Update() UpGvUsuariosEstatus.Update()
'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True) 'Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)
End Sub End Sub
Protected Sub GvDatos_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating Protected Sub GvDatos_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
@@ -218,18 +228,18 @@ Partial Class OS_CatEstatusOrdenServicio
nombresUsuarios.DataField = "Nombre" nombresUsuarios.DataField = "Nombre"
nombresUsuarios.HeaderText = "Usuario" nombresUsuarios.HeaderText = "Usuario"
nombresUsuarios.ItemStyle.CssClass = "columnaUsuarios" nombresUsuarios.ItemStyle.CssClass = "columnaUsuarios"
Prueba.Columns.Add(nombresUsuarios) GvUsuariosEstatus.Columns.Add(nombresUsuarios)
For Each Estatus As DataRow In DtEstatusOS.Rows For Each Estatus As DataRow In DtEstatusOS.Rows
Dim test As New CheckBoxField Dim test As New CheckBoxField
test.HeaderText = Estatus.Item("EstatusOrdenServicio").ToString test.HeaderText = Estatus.Item("EstatusOrdenServicio").ToString
test.DataField = Estatus.Item("CveEstatusOrdenServicio").ToString test.DataField = Estatus.Item("CveEstatusOrdenServicio").ToString
Prueba.Columns.Add(test) GvUsuariosEstatus.Columns.Add(test)
Next Next
Prueba.DataSource = DtEstatusUsuariosAsociados GvUsuariosEstatus.DataSource = DtEstatusUsuariosAsociados
Prueba.DataBind() GvUsuariosEstatus.DataBind()
End Sub End Sub
Private Sub Prueba_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Prueba.RowDataBound Private Sub GvUsuariosEstatus_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvUsuariosEstatus.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
Dim PermisosDeUsuario As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString)) Dim PermisosDeUsuario As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
For i As Integer = 1 To e.Row.Cells.Count - 1 For i As Integer = 1 To e.Row.Cells.Count - 1
@@ -241,48 +251,78 @@ Partial Class OS_CatEstatusOrdenServicio
End If End If
End Sub End Sub
Private Sub GuardarDatosPrueba(sender As Object, e As EventArgs) Handles BtnGuardarPruebas.Click Private Sub GuardarDatosGvUsuariosEstatus(sender As Object, e As EventArgs) Handles BtnGuardarUsuariosEstatus.Click
Dim objEstatusOC As New ClsOS If CboSubProyecto.SelectedValue.ToEntero > 0 Then
objEstatusOC.IniciaTransacSQL() Dim objEstatusOC As New ClsOS
Dim HuboErrores As Boolean = False objEstatusOC.IniciaTransacSQL()
Dim CveSubProyecto = 59 Dim HuboErrores As Boolean = False
Dim CveSubProyecto As Integer = CboSubProyecto.SelectedValue.ToEntero
For Each Row As GridViewRow In Prueba.Rows For Each Row As GridViewRow In GvUsuariosEstatus.Rows
Dim controles As Integer = Row.Controls.Count Dim controles As Integer = Row.Controls.Count
For i = 1 To Row.Cells.Count - 1 For i = 1 To Row.Cells.Count - 1
Dim chk As CheckBox = CType(Row.Cells(i).Controls(0), CheckBox) Dim chk As CheckBox = CType(Row.Cells(i).Controls(0), CheckBox)
Dim CveEstatus As Integer = DtEstatusOS.FiltroPrimeroValor("CveEstatusOrdenServicio", String.Format("EstatusOrdenServicio = '{0}'", Prueba.Columns(i).HeaderText)).ToEntero Dim CveEstatus As Integer = DtEstatusOS.FiltroPrimeroValor("CveEstatusOrdenServicio", String.Format("EstatusOrdenServicio = '{0}'", GvUsuariosEstatus.Columns(i).HeaderText)).ToEntero
If Not chk.Checked Then If Not chk.Checked Then
If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero) Then If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
HuboErrores = True HuboErrores = True
Exit For Exit For
End If
ElseIf chk.Checked Then
'Guardado masivo cuando sea SubProyecto "Todos"
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto, UsuarioActual.CveUsuario) Then
HuboErrores = True
Exit For
End If
End If End If
ElseIf chk.Checked Then Next
'Guardado masivo cuando sea SubProyecto "Todos"
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
HuboErrores = True
Exit For
End If
End If
Next Next
Next
If Not HuboErrores Then If Not HuboErrores Then
objEstatusOC.Commit() objEstatusOC.Commit()
Alert("Se guardaron los Cambios exitosamente", TipoMensaje.MsgInformacion) Alert("Se guardaron los Cambios exitosamente", TipoMensaje.MsgInformacion)
Else
objEstatusOC.RollBack()
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
objEstatusOC.Dispose()
Else Else
objEstatusOC.RollBack() Alert("Se debe seleccionar un SubProyecto valido", TipoMensaje.MsgAdvertencia)
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError) EstatusUsuariosGridActualizar()
CargarTodosLosDatos()
End If End If
objEstatusOC.Dispose()
End Sub End Sub
Private Sub EstatusUsuariosGridActualizar() Private Sub EstatusUsuariosGridActualizar()
DtEstatusUsuariosAsociados = Nothing DtEstatusUsuariosAsociados = Nothing
Prueba.DataBind() GvUsuariosEstatus.DataBind()
For Contador As Integer = (Prueba.Columns.Count - 1) To 0 Step -1 For Contador As Integer = (GvUsuariosEstatus.Columns.Count - 1) To 0 Step -1
Prueba.Columns.RemoveAt(Contador) GvUsuariosEstatus.Columns.RemoveAt(Contador)
Next Next
End Sub End Sub
Private Sub CargarProyectos()
CboProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa, 1).FiltraParametros("", "", {"CveProyecto", "Proyecto"})
CboProyecto.DataBind()
CboProyecto.Items.Insert(0, New ListItem("Seleccione el Proyecto", "-1"))
End Sub
Private Sub CargaSubProyectos()
CboSubProyecto.DataSource = GlobalDTSubProyectos(CboProyecto.SelectedValue.ToEntero)
CboSubProyecto.DataBind()
CboSubProyecto.Items.Insert(0, New ListItem("Seleccione el SubProyecto", "-2"))
End Sub
Private Sub Proyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProyecto.SelectedIndexChanged
CargaSubProyectos()
'CargaDatos()
EstatusUsuariosGridActualizar()
CargarTodosLosDatos()
UpGvUsuariosEstatus.Update()
End Sub
Private Sub SubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboSubProyecto.SelectedIndexChanged
EstatusUsuariosGridActualizar()
CargarTodosLosDatos()
End Sub
#End Region #End Region
End Class End Class

View File

@@ -413,11 +413,14 @@ Partial Class OS_OrdenesServicios
#Region "C A R G A S" #Region "C A R G A S"
Private Sub CargaSubProyecto(Optional CveSubProyecto As Integer = -1) Private Sub CargaSubProyecto(Optional CveSubProyecto As Integer = -1)
DdlSubProyecto.Items.Clear() Dim ObjOS As New ClsOS
DdlSubProyecto.SelectedValue = Nothing If ObjOS.GetSubProyectosEstatusInicial(UsuarioActual.CveUsuario, 1, UsuarioActual.CveEmpresa) Then
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataBind() DdlSubProyecto.SelectedValue = Nothing
If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto) DdlSubProyecto.DataSource = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
DdlSubProyecto.DataBind()
If CveSubProyecto > 0 Then DdlSubProyecto.SelectedValueExist(CveSubProyecto)
End If
End Sub End Sub
Private Sub CargaTiposOrden() Private Sub CargaTiposOrden()
Dim ObjOS As New ClsOS Dim ObjOS As New ClsOS