309 lines
14 KiB
VB.net
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
|