718 lines
36 KiB
VB.net
718 lines
36 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
|
|
Partial Class OC_CatEstatus
|
|
Inherits ClsPaginas
|
|
|
|
#Region "Propiedades"
|
|
'Local
|
|
Private Property DTEstatusUsuarios As DataTable
|
|
Get
|
|
Return CType(ViewState("DTEstatusUsuarios"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTEstatusUsuarios") = value
|
|
End Set
|
|
End Property
|
|
Private Property Tipo As String
|
|
Get
|
|
Return CType(ViewState("Tipo"), String)
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Tipo") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveSubProyecto As Integer
|
|
Get
|
|
Return CType(ViewState("CveSubProyecto"), String).ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveSubProyecto") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveProyecto As Integer
|
|
Get
|
|
Return CType(ViewState("CveProyecto"), String).ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveProyecto") = value
|
|
End Set
|
|
End Property
|
|
Private Property TipoSeleccionado As String
|
|
Get
|
|
Return CType(ViewState("TipoSeleccionado"), String)
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("TipoSeleccionado") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveEstatus As Integer
|
|
Get
|
|
Return ViewState("CveEstatus").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveEstatus") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
CreaGrid("Req")
|
|
CreaGrid("OC")
|
|
|
|
ViewState("Orden") = ""
|
|
ViewState("TipoSeleccionado") = DdlTipo.SelectedValue
|
|
CargaDatos()
|
|
CargaEstatus()
|
|
CargaProyectos()
|
|
CargaUsuarios()
|
|
|
|
'SOLO MUESTRA SUBPROYECTO
|
|
|
|
'TdProyecto.Visible = False
|
|
'TdSubProyectoTitulo.Visible = False
|
|
|
|
DivProyecto.Visible = False
|
|
LblSubproyecto.Visible = False
|
|
|
|
|
|
CboSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
|
|
CboSubProyecto.DataBind()
|
|
CboSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
CboSubProyecto_SelectedIndexChanged(CboSubProyecto, EventArgs.Empty)
|
|
|
|
|
|
chkMostrarLimites.Attributes.Add("onchange", "javascript:chkMostrarLimitesCambio();")
|
|
MaintainScrollPositionOnPostBack = True
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#Region "C A T A L O G O "
|
|
Public Sub CargaDatos()
|
|
|
|
Dim ObjEstatus As New ClsOC
|
|
If ObjEstatus.GetEstatus() Then
|
|
ViewState("DTOCEstatus") = ObjEstatus.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
|
|
GlobalDTOCEstatus(UsuarioActual.CveEmpresa) = ObjEstatus.DtResultados
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
ObjEstatus.Dispose()
|
|
|
|
If ViewState("Orden").ToString() <> String.Empty Then
|
|
CargaGrid(ViewState("Orden").ToString())
|
|
Else
|
|
CargaGrid("")
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub CargaEstatus()
|
|
DdlEstatusSiguiente.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format(" Tipo = '{0}'", TipoSeleccionado))
|
|
DdlEstatusSiguiente.DataBind()
|
|
End Sub
|
|
Protected Sub DdlTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipo.SelectedIndexChanged
|
|
ViewState("TipoSeleccionado") = DdlTipo.SelectedValue
|
|
DdlEstatusSiguiente.Items.Clear()
|
|
DdlEstatusSiguiente.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
CargaEstatus()
|
|
End Sub
|
|
Private Sub LnkAddEstatus_Click(sender As Object, e As EventArgs) Handles LnkAddEstatus.Click
|
|
CveEstatus = -1
|
|
HdnModalidad.Value = "I"
|
|
TxtEstatus.Text = ""
|
|
ChkEstatus.Checked = True
|
|
ChkCancelable.Checked = False
|
|
DivCancelable.Visible = False
|
|
DivEstatus.Visible = False
|
|
|
|
DdlTipo.SelectedIndex = 0
|
|
DdlEstatusSiguiente.SelectedIndex = 0
|
|
DdlTipoTermino.SelectedIndex = 0
|
|
|
|
BtnGuardar.Text = "Agregar"
|
|
UpCatalogo.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarEstatus"))
|
|
End Sub
|
|
Public Sub Edit_Click(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
|
|
CveEstatus = (GvRow.DataKey("CveEstatus")).ToEntero
|
|
HdnModalidad.Value = "U"
|
|
|
|
TxtEstatus.Text = (GvRow.DataKey("Estatus"))
|
|
DdlTipo.SelectedValueExist(GvRow.DataKey("Tipo"))
|
|
ViewState("TipoSeleccionado") = GvRow.DataKey("Tipo")
|
|
|
|
CargaEstatus()
|
|
DdlEstatusSiguiente.SelectedValueExist(GvRow.DataKey("CveEstatusSiguiente"))
|
|
DdlTipoTermino.SelectedValueExist(GvRow.DataKey("TipoTermino"))
|
|
ChkEstatus.Checked = If(GvRow.DataKey("EstatusActivo").ToString = "True", True, False)
|
|
ChkCancelable.Checked = If(GvRow.DataKey("Cancelable").ToString = "Sí", True, False)
|
|
DivCancelable.Visible = True
|
|
DivEstatus.Visible = True
|
|
|
|
BtnGuardar.Text = "Actualizar"
|
|
UpAddEstatus.Update()
|
|
|
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarEstatus"))
|
|
End Sub
|
|
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
|
|
Dim TieneError = False
|
|
|
|
Dim ObjEstatus As New ClsOC
|
|
|
|
'No quitar transacción la transacción es por que el update puede generar recursividad en la vista Vw_OC_Estatus error 530
|
|
ObjEstatus.IniciaTransacSQL()
|
|
|
|
If HdnModalidad.Value = "I" Then
|
|
If Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
End If
|
|
Else
|
|
If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus, DdlEstatusSiguiente.SelectedItem.Text) Then
|
|
TieneError = True
|
|
End If
|
|
End If
|
|
|
|
If TieneError Then
|
|
ObjEstatus.RollBack()
|
|
Else
|
|
ObjEstatus.Commit()
|
|
End If
|
|
|
|
ObjEstatus.Dispose()
|
|
|
|
If Not TieneError Then
|
|
DdlTipo.SelectedIndex = 0
|
|
DdlEstatusSiguiente.SelectedIndex = 0
|
|
DdlTipoTermino.SelectedIndex = 0
|
|
TxtEstatus.Text = ""
|
|
ChkEstatus.Checked = True
|
|
ChkCancelable.Checked = False
|
|
|
|
Alert("El estatus de órden de compra se guardó/editó correctamente.", TipoMensaje.MsgInformacion)
|
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus"))
|
|
CargaDatos()
|
|
Else
|
|
'Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#Region "O R D E N A M I E N T O"
|
|
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
|
|
Dim Orden As String = ""
|
|
Dim Campo As String = ""
|
|
Dim Literal As Literal = Nothing
|
|
Const OrdenInicial As String = ""
|
|
Dim Arg(2) As String
|
|
|
|
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
|
|
Campo = Arg(0)
|
|
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
|
|
|
|
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
|
|
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
|
|
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
|
|
Else
|
|
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
|
|
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
|
|
End If
|
|
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
|
|
ViewState("Orden") = Orden
|
|
CargaGrid(Orden)
|
|
End Sub
|
|
|
|
Private Sub CargaGrid(Orden As String)
|
|
If Orden <> String.Empty Then
|
|
Dim DV As New DataView(CType(ViewState("DTOCEstatus"), DataTable), "", Orden, DataViewRowState.CurrentRows)
|
|
GvDatos.DataSource = DV.ToTable()
|
|
DV.Dispose()
|
|
Else
|
|
GvDatos.DataSource = CType(ViewState("DTOCEstatus"), DataTable)
|
|
End If
|
|
|
|
GvDatos.DataBind()
|
|
UpCatalogo.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "G V D A T O S"
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
|
|
Dim TieneError = False
|
|
|
|
Dim ObjEstatus As New ClsOC
|
|
If ObjEstatus.RemoveEstatus(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
|
|
GvDatos.EditIndex = -1
|
|
Alert("El Estatus se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
ObjEstatus.Dispose()
|
|
|
|
If Not TieneError Then
|
|
CargaDatos()
|
|
Else
|
|
Alert("Ocurrió un error al eliminar el estatus. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
End Sub
|
|
#End Region
|
|
#End Region
|
|
|
|
#Region "C O N F I G U R A C I O N "
|
|
Public Sub CargaUsuarios()
|
|
ddlSuperior.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
|
|
ddlSuperior.DataBind()
|
|
End Sub
|
|
Protected Sub BtnGuardarSuperior_Click(sender As Object, e As EventArgs) Handles BtnGuardarSuperior.Click
|
|
Dim objOC As New ClsOC
|
|
Dim LimiteInferior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteInferior.Text.Trim = "" Or txtLimiteInferior.Text.ToDecimal <= 0, -1, txtLimiteInferior.Text.Trim.ToDecimal)
|
|
Dim LimiteSuperior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteSuperior.Text.Trim = "" Or txtLimiteSuperior.Text.ToDecimal <= 0, -1, txtLimiteSuperior.Text.Trim.ToDecimal)
|
|
Dim CveSuperior As Integer = If(tblSuperior.Visible = True, ddlSuperior.SelectedValue.ToEntero, -1)
|
|
|
|
If hdnCveEstatusUsuarios.Value.ToEntero = -1 Then
|
|
If objOC.AddEstatusUsuarios(hdnCveEstatus.Value.ToEntero, CboSubProyecto.SelectedValue.ToEntero, hdnCveUsuario.Value.ToEntero, True, CveSuperior, LimiteSuperior, LimiteInferior, UsuarioActual.CveUsuario) Then
|
|
RegistraScript(String.Format("{0}.style.background-color='yellow'", IDCellYellow.Value))
|
|
|
|
End If
|
|
Else
|
|
If objOC.UpdateEstatusUsuarios(hdnCveEstatusUsuarios.Value.ToEntero, CveSuperior, LimiteSuperior, LimiteInferior) Then
|
|
|
|
End If
|
|
End If
|
|
|
|
objOC.Dispose()
|
|
|
|
If tabEstatusUsuarios.ActiveTabIndex = 0 Then
|
|
CargaGridEstatusUsuarios("Req")
|
|
Else
|
|
CargaGridEstatusUsuarios("OC")
|
|
End If
|
|
End Sub
|
|
Protected Sub GvEstatusUsuariosREQ_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosREQ.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim tmpT As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
|
|
|
|
For i As Integer = 1 To 10
|
|
Dim CveEstatus As Integer = GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero
|
|
|
|
If CveEstatus > 0 Then
|
|
Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i))
|
|
Dim ibOpciones As ImageButton = e.Row.FCImageButton(String.Format("ibOpciones{0}", i))
|
|
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField(String.Format("hdnCveEstatusUsuarios{0}", i))
|
|
Dim lblSuperior As Label = e.Row.FCLabel(String.Format("lblSuperior{0}", i))
|
|
Dim lblLimites As Label = e.Row.FCLabel(String.Format("lblLimites{0}", i))
|
|
|
|
|
|
|
|
ibOpciones.CommandArgument = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows(0)("CveEstatusSiguiente").ToString
|
|
|
|
Dim RowEU As DataRowCollection = tmpT.FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows
|
|
Dim CveEstatusUsuarios As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveEstatusUsuarios")), RowEU(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
|
|
Dim LimiteInferior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteInferior")), RowEU(0)("LimiteInferior").ToString.ToDecimal, -1)
|
|
Dim LimiteSuperior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteSuperior")), RowEU(0)("LimiteSuperior").ToString.ToDecimal, -1)
|
|
Dim CveSuperior As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveSuperior")), RowEU(0)("CveSuperior").ToString.ToEntero, -1)
|
|
Dim CveUsuario As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveUsuario")), RowEU(0)("CveUsuario").ToString.ToEntero, -1)
|
|
Dim TipoTermino As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("TipoTermino")), RowEU(0)("TipoTermino").ToString.ToEntero, -1) ' 0. supervisada, 1. autorizada, 2. rechazada
|
|
|
|
If RowEU.Count > 0 Then
|
|
chkEstatus.Checked = True
|
|
chkEstatus.Attributes.Add("onclick", String.Format("javascript:chk1Change(this, '{0}');", ibOpciones.ClientID))
|
|
hdnCveEstatusUsuarios.Value = RowEU(0)("CveEstatusUsuarios").ToString
|
|
|
|
ibOpciones.Style.Add("display", "inline")
|
|
|
|
Dim script As New StringBuilder
|
|
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
|
|
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
|
|
script.Append("hdnCveEstatus.value = '-1';")
|
|
script.Append("hdnCveUsuario.value = '-1';")
|
|
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
|
|
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0 Or TipoTermino.Contiene(0, 1, 2), "true", "false"))
|
|
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
|
|
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.FormatoNumero, ""))
|
|
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.FormatoNumero, ""))
|
|
ibOpciones.Attributes.Add("onclick", script.ToString)
|
|
|
|
lblSuperior.Text = RowEU(0)("Superior").ToString
|
|
|
|
If LimiteSuperior = -1 And LimiteInferior = -1 Then
|
|
'Sin Limite
|
|
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
|
|
'Solo Limite Superior
|
|
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
|
|
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
|
|
'Solo limite Inferior
|
|
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
|
|
Else
|
|
'Con Limites
|
|
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
|
|
End If
|
|
|
|
e.Row.Cells(i).BackColor = Drawing.Color.Yellow
|
|
|
|
If DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
|
|
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
|
|
End If
|
|
Else
|
|
chkEstatus.Checked = False
|
|
hdnCveEstatusUsuarios.Value = "-1"
|
|
ibOpciones.Style.Add("display", "none")
|
|
Dim script As New StringBuilder
|
|
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
|
|
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
|
|
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
|
|
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveUsuario").ToString)
|
|
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
|
|
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
|
|
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
|
|
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
|
|
ibOpciones.Attributes.Add("onclick", script.ToString)
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
Protected Sub GvEstatusUsuariosOC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosOC.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim tmpT As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
|
|
|
|
For i As Integer = 1 To 10
|
|
Dim CveEstatus As Integer = GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero
|
|
|
|
If CveEstatus > 0 Then
|
|
Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i))
|
|
Dim ibOpciones As ImageButton = e.Row.FCImageButton(String.Format("ibOpciones{0}", i))
|
|
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField(String.Format("hdnCveEstatusUsuarios{0}", i))
|
|
Dim lblSuperior As Label = e.Row.FCLabel(String.Format("lblSuperior{0}", i))
|
|
Dim lblLimites As Label = e.Row.FCLabel(String.Format("lblLimites{0}", i))
|
|
|
|
|
|
ibOpciones.CommandArgument = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows(0)("CveEstatusSiguiente").ToString
|
|
|
|
Dim RowEU As DataRowCollection = tmpT.FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows
|
|
Dim CveEstatusUsuarios As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveEstatusUsuarios")), RowEU(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
|
|
Dim LimiteInferior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteInferior")), RowEU(0)("LimiteInferior").ToString.ToDecimal, -1)
|
|
Dim LimiteSuperior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteSuperior")), RowEU(0)("LimiteSuperior").ToString.ToDecimal, -1)
|
|
Dim CveSuperior As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveSuperior")), RowEU(0)("CveSuperior").ToString.ToEntero, -1)
|
|
Dim CveUsuario As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveUsuario")), RowEU(0)("CveUsuario").ToString.ToEntero, -1)
|
|
|
|
If RowEU.Count > 0 Then
|
|
chkEstatus.Checked = True
|
|
chkEstatus.Attributes.Add("onclick", "javascript:chk1Change(this, '" + ibOpciones.ClientID + "');")
|
|
hdnCveEstatusUsuarios.Value = RowEU(0)("CveEstatusUsuarios").ToString
|
|
|
|
ibOpciones.Style.Add("display", "inline")
|
|
Dim script As New StringBuilder
|
|
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
|
|
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
|
|
script.Append("hdnCveEstatus.value = '-1';")
|
|
script.Append("hdnCveUsuario.value = '-1';")
|
|
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
|
|
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
|
|
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
|
|
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.ToString, ""))
|
|
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.ToString, ""))
|
|
ibOpciones.Attributes.Add("onclick", script.ToString)
|
|
|
|
lblSuperior.Text = RowEU(0)("Superior").ToString
|
|
|
|
If LimiteSuperior = -1 And LimiteInferior = -1 Then
|
|
'Sin Limite
|
|
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
|
|
'Solo Limite Superior
|
|
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
|
|
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
|
|
'Solo limite Inferior
|
|
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
|
|
Else
|
|
'Con Limites
|
|
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
|
|
End If
|
|
|
|
e.Row.Cells(i).BackColor = Drawing.Color.Yellow
|
|
|
|
If DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
|
|
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
|
|
End If
|
|
Else
|
|
chkEstatus.Checked = False
|
|
hdnCveEstatusUsuarios.Value = "-1"
|
|
ibOpciones.Style.Add("display", "none")
|
|
Dim script As New StringBuilder
|
|
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
|
|
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
|
|
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
|
|
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveUsuario").ToString)
|
|
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
|
|
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
|
|
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
|
|
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
|
|
ibOpciones.Attributes.Add("onclick", script.ToString)
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
Protected Sub ibOpciones1_Click(sender As Object, e As ImageClickEventArgs)
|
|
Dim imgBtn As ImageButton = DirectCast(sender, System.Web.UI.WebControls.ImageButton)
|
|
|
|
ddlSuperior.Items.Clear()
|
|
|
|
If imgBtn.CommandArgument <> "" Then
|
|
'chkMostrarLimites.Visible = If(GlobalDTOCEstatus.FiltraParametros("CveEstatusSiguiente = " + imgBtn.CommandArgument)(0)("TipoTermino").ToString.ToEntero = 3, False, True)
|
|
chkMostrarLimites.Style("display") = If(GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusSiguiente = " + imgBtn.CommandArgument)(0)("TipoTermino").ToString.ToEntero = 3, "none", "inline")
|
|
|
|
|
|
ddlSuperior.DataSource = DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatus = {0}", imgBtn.CommandArgument), "Nombre DESC")
|
|
ddlSuperior.DataBind()
|
|
ddlSuperior.Items.Insert(0, New ListItem("Todos los Superiores", "-1"))
|
|
Try
|
|
ddlSuperior.SelectedValue = hdnCveSuperior.Value
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
tblSuperior.Visible = True
|
|
Else
|
|
tblSuperior.Visible = False
|
|
End If
|
|
|
|
UPSuperior.Update()
|
|
UPPEmp.Update()
|
|
RegistraScript("$('#DivSuperior').show(1000); PosicionaObjeto('" + imgBtn.ClientID + "','DivSuperior'); chkMostrarLimitesCambio();")
|
|
End Sub
|
|
|
|
#Region "E S T A T U S U S U A R I O S"
|
|
Private Sub CargaProyectos()
|
|
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", "-1"))
|
|
End Sub
|
|
Private Sub CreaGrid(Tipo As String)
|
|
Dim i As Integer = 1
|
|
|
|
For Each Row As DataRow In GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("Tipo = '{0}' ", Tipo), "Orden").Rows
|
|
If Tipo = "OC" Then
|
|
GvEstatusUsuariosOC.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
|
|
GvEstatusUsuariosOC.Columns(i).FooterText = Row("CveEstatus").ToString
|
|
Else
|
|
GvEstatusUsuariosREQ.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
|
|
GvEstatusUsuariosREQ.Columns(i).FooterText = Row("CveEstatus").ToString
|
|
End If
|
|
i += 1
|
|
Next
|
|
|
|
While i <= 10
|
|
If Tipo = "OC" Then
|
|
GvEstatusUsuariosOC.Columns(i).Visible = False
|
|
Else
|
|
GvEstatusUsuariosREQ.Columns(i).Visible = False
|
|
End If
|
|
i += 1
|
|
End While
|
|
End Sub
|
|
Protected Sub CargaGridEstatusUsuarios(Tipo As String)
|
|
If CboSubProyecto.SelectedValue.ToEntero > 0 And (Tipo = "OC" Or Tipo = "Req") Or CboSubProyecto.SelectedValue.ToEntero = -2 Then
|
|
'If Tipo = "OC" Then TmpDTOC.Rows.Clear() Else TmpDTReq.Rows.Clear()
|
|
|
|
Dim CveSubProyecto = If(CboSubProyecto.SelectedValue.ToEntero = -2, -1, CboSubProyecto.SelectedValue.ToEntero)
|
|
Dim objEstatusOC As New ClsOC
|
|
|
|
If objEstatusOC.GetEstatusUsuarios(-1, -1, CveSubProyecto, -1, UsuarioActual.CveEmpresa, -1, 1) Then
|
|
DTEstatusUsuarios = objEstatusOC.DtResultados
|
|
End If
|
|
|
|
|
|
If Tipo = "OC" Then
|
|
GvEstatusUsuariosOC.DataSource = DTEstatusUsuarios.FiltraParametros("", "Nombre", {"CveUsuario", "Nombre"}) 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre")
|
|
GvEstatusUsuariosOC.DataBind()
|
|
Else
|
|
GvEstatusUsuariosREQ.DataSource = DTEstatusUsuarios.FiltraParametros("", "Nombre", {"CveUsuario", "Nombre"})
|
|
GvEstatusUsuariosREQ.DataBind()
|
|
End If
|
|
|
|
objEstatusOC.Dispose()
|
|
UPPEmp.Update()
|
|
Else
|
|
|
|
'Si se vuelve a seleccionar "Seleccione" en el Ddl se limpian los grids
|
|
GvEstatusUsuariosOC.DataSource = Nothing
|
|
GvEstatusUsuariosOC.DataBind()
|
|
|
|
GvEstatusUsuariosREQ.DataSource = Nothing
|
|
GvEstatusUsuariosREQ.DataBind()
|
|
End If
|
|
End Sub
|
|
Protected Sub CboProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProyecto.SelectedIndexChanged
|
|
If CboProyecto.SelectedValue.ToEntero > 0 Then
|
|
GvEstatusUsuariosOC.Enabled = False
|
|
GvEstatusUsuariosREQ.Enabled = False
|
|
btnGuardarEstatusUsuariosOC.Visible = False
|
|
btnGuardarEstatusUsuariosREQ.Visible = False
|
|
|
|
CargaSubProyectos()
|
|
End If
|
|
End Sub
|
|
Protected Sub CboSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboSubProyecto.SelectedIndexChanged
|
|
GvEstatusUsuariosOC.Enabled = True
|
|
GvEstatusUsuariosREQ.Enabled = True
|
|
btnGuardarEstatusUsuariosOC.Visible = True
|
|
btnGuardarEstatusUsuariosREQ.Visible = True
|
|
|
|
CargaGridEstatusUsuarios("Req")
|
|
CargaGridEstatusUsuarios("OC")
|
|
End Sub
|
|
Protected Sub btnGuardarEstatusUsuariosREQ_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosREQ.Click
|
|
Dim objEstatusOC As New ClsOC
|
|
objEstatusOC.IniciaTransacSQL()
|
|
Dim HuboErrores As Boolean = False
|
|
Dim CveSubProyecto = CboSubProyecto.SelectedValue.ToEntero
|
|
|
|
|
|
For Each Row As GridViewRow In GvEstatusUsuariosREQ.Rows
|
|
Dim aux As Integer = Row.DataKey("CveUsuario").ToString.ToEntero
|
|
Dim r As Integer = 1
|
|
For i = 0 To Row.Cells.Count - 1
|
|
|
|
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosREQ.Columns(i).FooterText), GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero, 0)
|
|
|
|
If CveEstatus > 0 Then
|
|
|
|
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
|
|
'Eliminar el registro existente
|
|
If Not objEstatusOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, UsuarioActual.CveUsuario) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
|
|
|
|
'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, dr("CveSubProyecto").ToString.ToEntero, Row.DataKey("CveUsuario").ToString.ToEntero, True) 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, CveSubProyecto, Row.DataKey("CveUsuario").ToString.ToEntero, True, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
r += 1
|
|
End If
|
|
Next
|
|
|
|
'Si tubo algun error terminamos el proceso (FOR)
|
|
If HuboErrores Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not HuboErrores Then
|
|
objEstatusOC.Commit()
|
|
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()
|
|
CargaGridEstatusUsuarios("Req")
|
|
End Sub
|
|
Protected Sub btnGuardarEstatusUsuariosOC_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosOC.Click
|
|
Dim objEstatusOC As New ClsOC
|
|
objEstatusOC.IniciaTransacSQL()
|
|
Dim HuboErrores As Boolean = False
|
|
Dim CveSubProyecto = CboSubProyecto.SelectedValue.ToEntero
|
|
|
|
|
|
For Each Row As GridViewRow In GvEstatusUsuariosOC.Rows
|
|
|
|
Dim r As Integer = 1
|
|
For i = 0 To Row.Cells.Count - 1
|
|
|
|
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosOC.Columns(i).FooterText), GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero, 0)
|
|
|
|
If CveEstatus > 0 Then
|
|
|
|
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
|
|
'Eliminar el registro existente
|
|
If Not objEstatusOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero, UsuarioActual.CveUsuario) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
|
|
|
|
'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, dr("CveSubProyecto").ToString.ToEntero, Row.DataKey("CveUsuario").ToString.ToEntero, True) 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, CveSubProyecto, Row.DataKey("CveUsuario").ToString.ToEntero, True) Then
|
|
HuboErrores = True
|
|
Exit For
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
r += 1
|
|
End If
|
|
Next
|
|
|
|
'Si tubo algun error terminamos el proceso (FOR)
|
|
If HuboErrores Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If Not HuboErrores Then
|
|
objEstatusOC.Commit()
|
|
GlobalDTSubProyectosUsuarios(-1, -1, UsuarioActual.CveEmpresa) = Nothing
|
|
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()
|
|
CargaGridEstatusUsuarios("OC")
|
|
End Sub
|
|
#End Region
|
|
#End Region
|
|
|
|
|
|
|
|
End Class
|