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 CveProveedorMultiple As String Get Return ViewState("CveProveedorMultiple").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 As Boolean = 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 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) If UsuarioActual.Empresa.Funcionalidad(267) = "1" Then UPProveedorCompra.Visible = True 'DdlProveedorMultiple.setEsWebService(True) 'DdlProveedorMultiple.Attributes.Add("data-metodo", "getproveedores") ' proveedores tipo productores // proveedores DdlProveedorMultiple.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros("ProveedorClasificacion like '%PRODUCTOR%'") DdlProveedorMultiple.DataBind() DdlProveedorMultiple.Items.Insert(0, New ListItem("-", "-1")) End If CargarVinculacionCompras() DivDatos.Attributes.Add("style", "overflow-y: auto; width: 950px; height: 700px;") GV.Width = 930 GV.Columns(1).Visible = False ' folio req GV.Columns(2).Visible = False ' tipo 'oc/req GV.Columns(5).Visible = False ' nombre proveedor GV.Columns(9).Visible = False ' descarga pdf 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 = NowADS().FirstDayOfMonth.AddMonths(-3).ToShortDateString CargaEstatus() CargarCentrosDeCosto(DdlProyectos, DdlSubProyectos, LblProyecto, LtSubProyecto) '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 Dim tCveProveedor As Integer = ViewState("CveProveedor").ToString.ToEntero If DdlProveedorMultiple.SelectedValue.ToEntero > 0 Then ViewState("CveProveedorMultiple") = DdlProveedorMultiple.SelectedValue ViewState("CveProveedor") = DdlProveedorMultiple.SelectedValue tCveProveedor = DdlProveedorMultiple.SelectedValue.ToEntero End If 'Cargar Datos Dim ObjOC As New ClsOC ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, -1, tCveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Dim DtOC As Data.DataTable = 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() LblTotalRegistros.Text = "Número de registros: " & GV.Rows.Count.ToString UPDatos.Update() End Sub Protected Sub BtnBuscar_Click(sender As Object, e As EventArgs) Dim CveProyecto As Integer = -1 Dim CveSubProyecto As Integer = -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 As Data.DataTable = 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 As String = String.Format("javascript:Ir3('{0}','{1}','{2}');", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"), e.Row.DBCampo("CveEstatusSiguiente"), e.Row.DBCampo("CveProveedor")) 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 As String = 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 As String = 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 Protected Sub DdlProveedoresmultiple_selectedindexchange(sender As Object, e As EventArgs) CargarVinculacionCompras() End Sub #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) 'código para cambiar de proveedor a la oc, para caso 172 'If UsuarioActual.Empresa.Funcionalidad(267) = "1" AndAlso CveProveedorMultiple.ToEntero <> 0 Then ' Dim OC As New ClsOC ' If OC.UpdateProveedorOrdenCompra(CveProveedor.ToEntero, GV.Rows(i).DataKey("CveOrdenCompra").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then ' End If ' OC.Dispose() 'End If 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}','{3}');", CveOC, Folio, CveEstatus, CveProveedor)) 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