Option Explicit On Option Strict On Imports Extensiones Partial Class OC_PopUpBuscarReq Inherits ClsPaginas #Region "PROPIEDADES" Private ReadOnly Property VinculacionOC As String Get Return ViewState("VinculacionOC").ToString End Get End Property Private ReadOnly Property CveProveedor As String Get Return ViewState("CveProveedor").ToString End Get End Property Private ReadOnly Property Ruta As String Get Return UsuarioActual.Empresa.Ruta End Get End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then CType(Me.Master, BaseMasterPage).EsPopup = True Dim UsaParametros = False ViewState("VinculacionOC") = "" ViewState("CveProveedor") = "" DivDatos.Attributes.Add("style", "overflow-y: auto; width: 750px; height: 220px;") GV.Width = 750 If Request("V") IsNot Nothing AndAlso Request("V").ToString <> "" Then If Request("P") IsNot Nothing AndAlso Request("P").ToString <> "" Then CargarVinculacionCompras() DivDatos.Attributes.Add("style", "overflow-y: auto; width: 950px; height: 700px;") GV.Width = 950 GV.Columns(4).Visible = False If UsuarioActual.Empresa.MetodoOC <> 2 Then BtnVincularOC.Visible = True End If UsaParametros = True End If End If If Request("Op") IsNot Nothing AndAlso Request("Op").ToString <> "" Then ViewState("VinculacionOC") = Request("Op").ToString If ViewState("VinculacionOC").ToString = "FactFle" Then DdlTipo.SelectedValue = "OC" DdlTipo.Enabled = False End If End If If Not UsaParametros Then GV.Columns(7).Visible = False CargaURLParametros() End If End If End Sub #Region " CARGA URL PARAMETROS " Private Sub CargaURLParametros() txtFechaI.Text = Now.FirstDayOfMonth.AddMonths(-3).ToShortDateString CargaEstatus() CargarCentrosDeCosto(DdlProyectos, DdlSubProyectos, LblProyecto, LtSubProyecto) 'If UsuarioActual.Empresa.GralSoloProyecto Then ' TdProyecto.Visible = False ' TdProyecto2.Visible = False ' LtSubProyecto.Text = "Proyecto:" 'Else ' 'DdlProyectos.DataSource = DtEstatusUsuarios.FiltraParametros("", "", {"CveProyecto", "Proyecto"}) 'GlobalDTProyectos(UsuarioActual.CveEmpresa, 1) ' 'DdlProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), ' ' GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1)) ' DdlProyectos.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) ' DdlProyectos.DataBind() ' DdlProyectos.Items.Insert(0, New ListItem("Todos", "-1")) 'End If 'DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) 'DdlProveedor.DataBind() 'DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1")) DdlProveedor.setEsWebService(True) DdlProveedor.Attributes.Add("data-metodo", "getproveedores") DdlProveedor.SelectedText = "Todos" DdlProveedor.SelectedValue = "-1" 'DdlSubProyectos.DataSource = DtEstatusUsuarios.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) 'GlobalDTSubProyectos(DdlProyectos.SelectedValue.ToEntero).FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) DdlSubProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1)) DdlSubProyectos.DataBind() DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) End Sub #End Region #Region " DDLS " Private Sub DdlTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipo.SelectedIndexChanged CargaEstatus() End Sub Private Sub CargaEstatus() DdlEstatus.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format(" (Tipo = '{0}' OR '{0}' = '-1')", DdlTipo.SelectedValue.ToString)) DdlEstatus.DataBind() If DdlTipo.SelectedValue = "-1" Or DdlTipo.SelectedValue = "REQ" Then DdlEstatus.Items.Insert(0, New ListItem("Pre Requisicion", "0")) DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub DdlProyectos_SelectedIndexChanged(sender As Object, e As EventArgs) CargaSubProyectos(DdlProyectos.SelectedValue.ToEntero) End Sub Private Sub CargaSubProyectos(CveProyecto As Integer) DdlSubProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(CveProyecto, -1, UsuarioActual.CveEmpresa, 1)) DdlSubProyectos.DataBind() DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) End Sub #End Region #Region " CARGA DATOS " Protected Sub CargarVinculacionCompras() ' CUANDO VIENE DESDE COMPRAS ViewState("VinculacionOC") = Request("V") ViewState("CveProveedor") = Request("P") UPFiltros.Visible = False Dim NombreProv As String = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, ViewState("CveProveedor").ToString.ToEntero).FiltroPrimeroValor("RazonSocial") LbTitulo.Text = String.Format("Órdenes de Compra - {0}", NombreProv) 'Dim ObjPro As New ClsCompProveedores 'ObjPro.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, ViewState("CveProveedor").ToString.ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) 'If ObjPro.DtResultados.Rows.Count > 0 Then ' LbTitulo.Text = String.Format("Órdenes de Compra - {0}", ObjPro.DtResultados.Rows(0)("RazonSocial").ToString) 'End If 'ObjPro.Dispose() 'Cargar Datos Dim ObjOC As New ClsOC 'ObjOC.GetOC(-1, UsuarioActual.CveEmpresa) ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, -1, ViewState("CveProveedor").ToString.ToEntero, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Dim DtOC = ObjOC.DtResultados.FiltraParametros("TipoTermino = 3") ' tipotermino, esattus inicial ObjOC.Dispose() If DtOC.Rows.Count > 0 Then ' tipotermino, esattus inicial BtnVincularOC.Visible = True End If 'SOLO CARGAMOS OC'S QUE ESTEN PENDIENTES POR SURTIR GV.DataSource = DtOC.FiltraParametros("CveOrdenCompraDisponible > 0") GV.DataBind() LtlTotalRegistros.Text = GV.Rows.Count.ToString LblTotalRegistros.Text = "Número de registros: " UPDatos.Update() End Sub Protected Sub BtnBuscar_Click(sender As Object, e As EventArgs) Dim CveProyecto = -1 Dim CveSubProyecto = -1 If LblProyecto.Visible Then CveProyecto = DdlProyectos.SelectedValue.ToEntero CveSubProyecto = DdlSubProyectos.SelectedValue.ToEntero Else CveSubProyecto = DdlSubProyectos.SelectedValue.ToEntero End If Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate) Dim guia As String = If(TxtGuia.Text.Trim = "", "-1", TxtGuia.Text) 'Cargar Datos If ValidarFiltrosSeleccionado() Then Dim CveProveedor As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) Dim ObjOC As New ClsOC ObjOC.GetOrdenesCompraRep(DdlTipo.SelectedValue, CveProyecto, CveSubProyecto, -1, DdlEstatus.SelectedValue.ToEntero, FI, MaxFecha, -1, CveProveedor, If(TxtFolio.Text.ToEntero <= 0, -1, TxtFolio.Text.ToEntero), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Guia:=guia, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), TopSelect:=100) Dim DtOC = ObjOC.DtResultados ' tipotermino, esattus inicial ObjOC.Dispose() GV.DataSource = DtOC GV.DataBind() LtlTotalRegistros.Text = GV.Rows.Count.ToString LblTotalRegistros.Text = "Número de registros: " UPDatos.Update() Else Alert("Asigne un valor a cualquiera de los filtros", TipoMensaje.MsgAdvertencia) End If End Sub Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then 'Si la empresa es MetodoOC 2 habilitamos la opcion de Hyperlink para vincular OC If ViewState("VinculacionOC").ToString = "VOCCOMP" AndAlso UsuarioActual.Empresa.MetodoOC = 2 Then GV.Columns(2).Visible = False e.Row.FCHyperLink("HLFolio").Visible = True e.Row.FCLabel("LbFolio").Visible = False e.Row.FCHyperLink("HLDescripcion").Visible = True e.Row.FCLabel("LbDescripcion").Visible = False Dim Link = String.Format("javascript:Ir3('{0}','{1}','{2}');", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"), e.Row.DBCampo("CveEstatusSiguiente")) e.Row.FCHyperLink("HLFolio").NavigateUrl = Link e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link ElseIf ViewState("VinculacionOC").ToString = "FactFle" Then e.Row.FCHyperLink("HLFolio").Visible = True e.Row.FCLabel("LbFolio").Visible = False e.Row.FCHyperLink("HLDescripcion").Visible = True e.Row.FCLabel("LbDescripcion").Visible = False Dim Link = String.Format("javascript:Ir4('{0}');", e.Row.DBCampo("CveOrdenCompra")) e.Row.FCHyperLink("HLFolio").NavigateUrl = Link e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link ElseIf ViewState("VinculacionOC").ToString = "" Then e.Row.FCHyperLink("HLFolio").Visible = True e.Row.FCLabel("LbFolio").Visible = False e.Row.FCHyperLink("HLDescripcion").Visible = True e.Row.FCLabel("LbDescripcion").Visible = False Dim Link = String.Format("javascript:Ir(""{0}"");", e.Row.DBCampo("CveOrdenCompra")) e.Row.FCHyperLink("HLFolio").NavigateUrl = Link e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OC&CVEOC={0}", e.Row.DBCampo("CveOrdenCompra")))) 'HLImprimir.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OC&CVEOC={0}", CveOrdenCompra))) End If If e.Row.DataKey("FolioREQ").ToString.Trim.Length > 0 Then Dim LbFolio As Label = e.Row.FCLabel("LbFolio") LbFolio.Attributes.Add("data-toggle", "tooltip") LbFolio.Attributes.Add("data-placement", "top") LbFolio.Attributes.Add("title", "REQ: " & e.Row.DataKey("FolioREQ").ToString) End If If ViewState("CveProveedor").ToString <> "" And UsuarioActual.CveEmpresa.Contiene(72) Then GV.Columns(2).Visible = False End If e.Row.Cells(6).Text = e.Row.DBCampo("DetallePS").Replace("^", "
") End If End Sub Private Function ValidarFiltrosSeleccionado() As Boolean If DdlTipo.SelectedValue = "REQ" OrElse DdlTipo.SelectedValue = "OC" Then Return True If DdlEstatus.SelectedValue.ToEntero > 0 Then Return True If DdlProveedor.SelectedValue.ToEntero > 0 Then Return True If TxtFolio.Text.ToEntero > 0 Then Return True If DdlSubProyectos.SelectedValue.ToEntero > 0 Then Return True If DdlProyectos.SelectedValue.ToEntero > 0 Then Return True Return False End Function #End Region #Region " VINCULA CON COMPRAS " Protected Sub BtnVincularOC_Click(sender As Object, e As EventArgs) Dim CveOC As String = "" Dim Folio As String = "" Dim CveEstatus As String = "" For i As Integer = 0 To (GV.Rows.Count - 1) If GV.Rows(i).FCCheckBox("CheckVincular").Checked = True Then If CveOC <> "" Then CveOC &= String.Format(", {0}", GV.Rows(i).DataKey("CveOrdenCompra").ToString) Folio &= String.Format(", {0}", GV.Rows(i).DataKey("Folio").ToString) CveEstatus &= String.Format(", {0}", GV.Rows(i).DataKey("CveEstatusSiguiente").ToString) Else CveOC = GV.Rows(i).DataKey("CveOrdenCompra").ToString Folio = GV.Rows(i).DataKey("Folio").ToString CveEstatus = GV.Rows(i).DataKey("CveEstatusSiguiente").ToString End If End If Next If CveOC <> "" AndAlso CveOC.Length > 0 Then RegistraScript(String.Format("javascript: Ir3('{0}','{1}','{2}');", CveOC, Folio, CveEstatus)) Else Alert("No seleccionó ninguna Orden de Compra, Por lo cual no se puede vincular.", TipoMensaje.MsgAdvertencia) End If End Sub #End Region End Class