Files
SIG/OC/PopUpBuscarReq.aspx.vb
2021-06-09 07:41:39 -07:00

309 lines
14 KiB
VB.net

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 ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\"
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("^", "<br />")
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