CatEstatus listo en sitio falta checar los PA

This commit is contained in:
Antonio Gonzalez
2019-09-30 13:27:09 -05:00
parent c76043ef66
commit 5796098232
2 changed files with 72 additions and 257 deletions

View File

@@ -114,12 +114,12 @@
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel runat="server" ID="TabConfiguracion" HeaderText="Configuracion"> <ajax:TabPanel runat="server" ID="TabPanel3" HeaderText="Configuración">
<ContentTemplate> <ContentTemplate>
<asp:UpdatePanel ID="UPPEmp" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpPrueba" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvEstatusUsuarios" 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"> <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">
<HeaderStyle VerticalAlign="Middle" /> <HeaderStyle VerticalAlign="Middle" />
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
@@ -129,177 +129,10 @@
<asp:Label Font-Bold="true" Width="250px" ID="LblUsuario" runat="server" Text='<%# Eval("Nombre")%>'></asp:Label> <asp:Label Font-Bold="true" Width="250px" ID="LblUsuario" runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus1" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios1" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus2" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios2" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus3" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios3" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus4" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios4" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus5" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios5" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus6" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios6" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus7" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios7" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus8" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios8" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus9" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios9" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus10" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios10" />
</td>
<td style="width: 50%; text-align: left">
<asp:Label ID="lblSuperior10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</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="btnGuardarEstatusUsuariosREQ" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" /> <asp:Button ID="BtnGuardarPruebas" Text="Guardar" runat="server" Visible="true" CssClass="btn btn-primary" />
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>

View File

@@ -42,18 +42,34 @@ Partial Class OS_CatEstatusOrdenServicio
ViewState("DTEstatusUsuarios") = value ViewState("DTEstatusUsuarios") = value
End Set End Set
End Property End Property
Private Property DTUsuarios As DataTable
Get
Return CType(ViewState("DTUsuarios"), DataTable)
End Get
Set(value As Data.DataTable)
ViewState("DTUsuarios") = value
End Set
End Property
Private Property DtEstatusUsuariosAsociados As DataTable
Get
Return CType(ViewState("DtEstatusUsuariosAsociados"), DataTable)
End Get
Set(value As Data.DataTable)
ViewState("DtEstatusUsuariosAsociados") = value
End Set
End Property
#End Region #End Region
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)
CargaDatos() CargaDatos()
CreaGrid("Req") 'CreaGrid()
CargaGridEstatusUsuarios() 'CargaGridEstatusUsuarios()
ViewState("Orden") = "" AsociarEstatusUsuarios()
CargarUsuarioConEstatus()
CveEstatuOS = -1 CveEstatuOS = -1
End If End If
End Sub End Sub
@@ -171,79 +187,65 @@ Partial Class OS_CatEstatusOrdenServicio
#End Region #End Region
#Region "Configuracion" #Region "Configuracion"
Private Sub CreaGrid(Tipo As String) Private Sub AsociarEstatusUsuarios()
Dim i As Integer = 1 Dim tableResultado As DataTable = DTUsuarios
For Each Estatus As DataRow In DtEstatusOS.Rows
For Each Row As DataRow In GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).Rows Dim CveColumnaEstatus As String = Estatus.Item("CveEstatusOrdenServicio").ToString
tableResultado.Columns.Add(CveColumnaEstatus, Type.GetType("System.Boolean"))
GvEstatusUsuarios.Columns(i).HeaderText = Row("EstatusOrdenServicio").ToString.ToUpper For Each Usuario As DataRow In tableResultado.Rows
GvEstatusUsuarios.Columns(i).FooterText = Row("CveEstatusOrdenServicio").ToString Usuario.Item(CveColumnaEstatus) = Not IsNothing(DTEstatusUsuarios.FiltroPrimero(String.Format("CveUsuario = {0} and CveEstatusOrdenServicio = {1}", Usuario.Item("CveUsuario"), CveColumnaEstatus)))
Next
i += 1
Next Next
DtEstatusUsuariosAsociados = tableResultado
While i <= 10
GvEstatusUsuarios.Columns(i).Visible = False
i += 1
End While
End Sub End Sub
Protected Sub CargaGridEstatusUsuarios() Private Sub CargarUsuarioConEstatus()
GvEstatusUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) For Each Estatus As DataRow In DtEstatusOS.Rows
GvEstatusUsuarios.DataBind() Dim test As New CheckBoxField
'UPPEmp.Update() test.HeaderText = Estatus.Item("EstatusOrdenServicio").ToString
test.DataField = Estatus.Item("CveEstatusOrdenServicio").ToString
Prueba.Columns.Add(test)
Next
Prueba.DataSource = DtEstatusUsuariosAsociados
Prueba.DataBind()
End Sub End Sub
Protected Sub btnGuardarEstatusUsuariosREQ_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosREQ.Click Private Sub Prueba_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Prueba.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
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
If e.Row.RowType = DataControlRowType.DataRow Then
Dim checkBox As CheckBox = TryCast(e.Row.Cells(i).Controls(0), CheckBox)
checkBox.Enabled = True
End If
Next
End If
End Sub
Private Sub GuardarDatosPrueba(sender As Object, e As EventArgs) Handles BtnGuardarPruebas.Click
Dim objEstatusOC As New ClsOS Dim objEstatusOC As New ClsOS
objEstatusOC.IniciaTransacSQL() objEstatusOC.IniciaTransacSQL()
Dim HuboErrores As Boolean = False Dim HuboErrores As Boolean = False
Dim CveSubProyecto = 59 Dim CveSubProyecto = 59
For Each Row As GridViewRow In GvEstatusUsuarios.Rows For Each Row As GridViewRow In Prueba.Rows
Dim r As Integer = 1 Dim controles As Integer = Row.Controls.Count
For i = 0 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 CveEstatus As Integer = If(IsNumeric(GvEstatusUsuarios.Columns(i).FooterText), GvEstatusUsuarios.Columns(i).FooterText.ToEntero, 0) Dim CveEstatus As Integer = DtEstatusOS.FiltroPrimeroValor("CveEstatusOrdenServicio", String.Format("EstatusOrdenServicio = '{0}'", Prueba.Columns(i).HeaderText)).ToEntero
If Not chk.Checked Then
If CveEstatus > 0 Then If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero) Then
HuboErrores = True
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False Then Exit For
'Eliminar el registro existente End If
If Not objEstatusOC.RemoveEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero) Then ElseIf chk.Checked Then
HuboErrores = True 'Guardado masivo cuando sea SubProyecto "Todos"
Exit For If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
End If HuboErrores = True
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True Then Exit For
'Guardado masivo cuando sea SubProyecto "Todos"
If CveSubProyecto = -2 Then
For Each dr As DataRow In GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).Rows
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
HuboErrores = True
Exit For
End If
Next
If HuboErrores Then
Exit For
End If
'Insertar el nuevo registro
Else
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, Row.DataKey("CveUsuario").ToString.ToEntero, CveSubProyecto) Then
HuboErrores = True
Exit For
End If
End If
End If End If
r += 1
End If End If
Next Next
'Si tubo algun error terminamos el proceso (FOR)
If HuboErrores Then
Exit For
End If
Next Next
If Not HuboErrores Then If Not HuboErrores Then
@@ -253,27 +255,7 @@ Partial Class OS_CatEstatusOrdenServicio
objEstatusOC.RollBack() objEstatusOC.RollBack()
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError) Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If End If
objEstatusOC.Dispose() objEstatusOC.Dispose()
CargaDatos()
CargaGridEstatusUsuarios()
End Sub
Protected Sub GvEstatusUsuarios_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuarios.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim PermisosDeUsuario As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
Dim CveUsuario As String = e.Row.DBCampo("CveUsuario").ToString
For i As Integer = 1 To 10
Dim CveEstatus As Integer = GvEstatusUsuarios.Columns(i).FooterText.ToEntero
If CveEstatus > 0 Then
Dim auxiliarBandera As DataRow = PermisosDeUsuario.FiltroPrimero(String.Format("CveEstatusOrdenServicio = {0}", CveEstatus.ToString))
If auxiliarBandera IsNot Nothing Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i))
chkEstatus.Checked = True
End If
End If
Next
End If
End Sub End Sub
#End Region #End Region
End Class End Class