345 lines
17 KiB
VB.net
345 lines
17 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class AF_RepAF
|
|
Inherits ClsPaginas
|
|
|
|
#Region " PROPIEDADES "
|
|
Private Property DtActivosFijos As DataTable
|
|
Get
|
|
Return CType(ViewState("DtActivosFijos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtActivosFijos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private ReadOnly Property CveActivoFijo As Integer
|
|
Get
|
|
Return ViewState("CveActivoFijo").ToString.ToEntero
|
|
End Get
|
|
End Property
|
|
|
|
Private Property DTAFCaracteristicas As DataTable
|
|
Get
|
|
Return CType(ViewState("DTAFCaracteristicas"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTAFCaracteristicas") = 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
|
|
CargaFiltros()
|
|
'CargaDatos()
|
|
|
|
' If UsuarioActual.Empresa.GralSoloProyecto Then
|
|
DivProyecto.Visible = False
|
|
LblSubProyecto.Text = "Proyecto: "
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
' End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#Region " CARGA COMBOS "
|
|
Protected Sub CargaFiltros()
|
|
DdlSubTipoActivo.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlEstatus.DataSource = GlobalDTEstadoActivoFijo
|
|
DdlEstatus.DataBind()
|
|
DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)
|
|
DdlProyecto.DataBind()
|
|
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlResponsable.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto")
|
|
DdlResponsable.DataBind()
|
|
DdlResponsable.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlTipoActivo.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("", "TipoActivoFijo")
|
|
DdlTipoActivo.DataBind()
|
|
DdlTipoActivo.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
End Sub
|
|
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
DdlSubProyecto.Items.Clear()
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region " CARGA DATOS "
|
|
Protected Sub BtnFiltrar_Click1(sender As Object, e As EventArgs)
|
|
CargaDatos()
|
|
End Sub
|
|
Public Sub CargaDatos()
|
|
Dim ObjAF As New ClsAF()
|
|
Dim Codigo As String = "-1"
|
|
Dim Descripcion As String = "-1"
|
|
Dim CveMarcaActivoFijo As Integer = -1
|
|
Dim NoSerie As String = "-1"
|
|
Dim Año As Integer = -1
|
|
Dim CvePersonaResponsable As Integer = -1
|
|
If TxtAño.Text.Trim <> String.Empty Then Año = TxtAño.Text.Trim.ToEntero
|
|
|
|
Dim strSQL1 As New StringBuilder
|
|
Dim booPrimerCampo As Boolean = False
|
|
Dim intContador As Integer = 0
|
|
For Each DR As GridViewRow In GvCaracteristicas.Rows
|
|
Dim CveCaracteristicaOpcion As Integer = -1
|
|
Dim CveValor As Integer = DR.FCHiddenField("HdnCveValor").Value.ToEntero
|
|
Dim Valor As String = DR.FCTextBox("TxtValor").Text.Trim
|
|
Dim CveCaracteristica As Integer = DR.FCHiddenField("HdnCveCaracteristica").Value.ToEntero
|
|
Select Case DR.FCHiddenField("HdnEsOpcion").Value
|
|
Case "0", "4"
|
|
If booPrimerCampo = True And Valor.Length <> 0 Then strSQL1.Append(" or ")
|
|
If Valor.Length <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and Valor like '%{1}%') ", CveCaracteristica, Valor)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
Case "1" 'Listado o DropDownList
|
|
CveCaracteristicaOpcion = DR.FCDropDownList("DdlRespuesta").SelectedValue.ToEntero
|
|
If booPrimerCampo = True And CveCaracteristicaOpcion <> 0 Then strSQL1 = strSQL1.Append(" or ")
|
|
If CveCaracteristicaOpcion <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1 = strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and CveOpcion = {1} ) ", CveCaracteristica, CveCaracteristicaOpcion)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
Case "2" 'Radio o RadioButtonList
|
|
CveCaracteristicaOpcion = DR.FCRadioButtonList("RbRespuesta").SelectedValue.ToEntero
|
|
If booPrimerCampo = True And CveCaracteristicaOpcion <> 0 Then strSQL1 = strSQL1.Append(" or ")
|
|
If CveCaracteristicaOpcion <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1 = strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and CveOpcion = {1} ) ", CveCaracteristica, CveCaracteristicaOpcion)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
Case "3"
|
|
If booPrimerCampo = True And Valor.Length <> 0 Then strSQL1.Append(" or ")
|
|
If Valor.Length <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and Valor = '{1}') ", CveCaracteristica, Valor)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
Case "5"
|
|
Valor = DR.FCCheckBox("ChbValor").Checked.ToString
|
|
If booPrimerCampo = True And Valor.Length <> 0 Then strSQL1.Append(" or ")
|
|
If Valor.Length <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and Valor = '{1}') ", CveCaracteristica, Valor)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
Case "6"
|
|
Valor = DR.FCTextBox("TxtValorNum").Text.Trim
|
|
If booPrimerCampo = True And Valor.Length <> 0 Then strSQL1.Append(" or ")
|
|
If Valor.Length <> 0 Then
|
|
If booPrimerCampo = False Then strSQL1.Append("Select CveActivoFijo from AF_ActivosFijosValores where ")
|
|
strSQL1.AppendFormat(" (CveCaracteristica = {0} and Valor like '{1}') ", CveCaracteristica, Valor)
|
|
If booPrimerCampo = False Then booPrimerCampo = True
|
|
intContador += 1
|
|
End If
|
|
End Select
|
|
Next
|
|
If intContador > 0 Then strSQL1.AppendFormat(" group by CveActivoFijo having count(*)={0}", intContador)
|
|
|
|
If ObjAF.GetRepActivosFijos(-1, UsuarioActual.CveEmpresa, Codigo, Descripcion, DdlTipoActivo.SelectedValue.ToEntero, DdlSubTipoActivo.SelectedValue.ToEntero, NoSerie, Año, DdlResponsable.SelectedValue.ToEntero, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, strSQL1.ToString, -1, DdlAgrupador.SelectedValue.ToEntero) Then
|
|
If ObjAF.DtResultados.Rows.Count > 0 Then
|
|
DtActivosFijos = ObjAF.DtResultados
|
|
'If DdlAgrupador.SelectedValue = "6" Then
|
|
' CargaDdlResponsable()
|
|
'End If
|
|
Else
|
|
DtActivosFijos = Nothing
|
|
Alert("No se encontraron registros con los parámetros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
ObjAF.Dispose()
|
|
|
|
CargaGV()
|
|
End Sub
|
|
|
|
Private Sub CargaGV()
|
|
GvDatos.DataSource = DtActivosFijos
|
|
GvDatos.DataBind()
|
|
UpGV.Update()
|
|
If (GvDatos.Rows.Count > 0) Then
|
|
GvDatos.UseAccessibleHeader = True
|
|
GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
RegistraScript("OrdenarGV();")
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
e.Row.FCHyperLink("Hpl").NavigateUrl = $"/AF/CatAF.aspx?GPO={DdlAgrupador.SelectedValue}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CvePersonaResponsable={e.Row.DBCampo("CvePersonaResponsable")}&CveSubProyecto={e.Row.DBCampo("CveSubProyecto")}&CveEstadoActivoFijo={e.Row.DBCampo("CveEstadoActivoFijo")}&Anio={e.Row.DBCampo("Anio")}"
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region " CARACTERISTICAS "
|
|
Protected Sub DdlTipoActivo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
DdlSubTipoActivo.Items.Clear()
|
|
DdlSubTipoActivo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo = {0}", DdlTipoActivo.SelectedValue), "SubTipoActivoFijo")
|
|
DdlSubTipoActivo.DataBind()
|
|
DdlSubTipoActivo.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
CargaCaracteristicas()
|
|
End Sub
|
|
|
|
Protected Sub DdlSubTipoActivo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaCaracteristicas()
|
|
End Sub
|
|
|
|
Private Sub CargaCaracteristicas()
|
|
Dim ObjAFCaracteristicas As New ClsAF
|
|
If ObjAFCaracteristicas.GetActivosFijosValores(-1, UsuarioActual.CveEmpresa) Then
|
|
If DdlSubTipoActivo.SelectedIndex <> 0 Then
|
|
GvCaracteristicas.DataSource = ObjAFCaracteristicas.DtResultados.FiltraParametros("CveSubTipoActivoFijo = '" + DdlSubTipoActivo.SelectedValue + "'")
|
|
Else
|
|
GvCaracteristicas.DataSource = Nothing
|
|
End If
|
|
If ObjAFCaracteristicas.GetCaracteristicasOpcionesSubTipo(-1, DdlSubTipoActivo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
|
DTAFCaracteristicas = ObjAFCaracteristicas.DtResultados '.FiltraParametros("SubtipoActivoFijo = '" + DdlSubTipoActivoFijo.SelectedValue + "'") 'FiltraParametros("EstatusOpcion = 'True'")
|
|
End If
|
|
|
|
End If
|
|
ObjAFCaracteristicas.Dispose()
|
|
GvCaracteristicas.DataBind()
|
|
UpFiltro.Update()
|
|
End Sub
|
|
|
|
Protected Sub GvCaracteristicas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCaracteristicas.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
Dim TipoCampo As Integer = e.Row.DBCampo("TipoCampo").ToEntero
|
|
Dim CveCaracteristica As Integer = e.Row.DBCampo("CveCaracteristica").ToEntero
|
|
|
|
Select Case TipoCampo
|
|
Case 0, 4 'Texto, Multiline
|
|
With e.Row.FCTextBox("TxtValor")
|
|
.Visible = True
|
|
If TipoCampo = 4 Then
|
|
.Rows = 3
|
|
.TextMode = TextBoxMode.MultiLine
|
|
End If
|
|
.Text = e.Row.DBCampo("Valor")
|
|
If e.Row.DBCampo("Requerida") = "True" Then
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").Enabled = True
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").ControlToValidate = "TxtValor"
|
|
End If
|
|
|
|
End With
|
|
|
|
Case 1, 2 'DropDownList, Radios
|
|
Dim dt As DataTable = DTAFCaracteristicas.FiltraParametros(String.Format("CveCaracteristica = {0} AND EstatusOpcion ='True' AND CveCaracteristicaOpcion > 0 ", CveCaracteristica))
|
|
|
|
If TipoCampo = 1 Then
|
|
With e.Row.FCDropDownList("DdlRespuesta")
|
|
.Visible = True
|
|
.DataTextField = "CaracteristicaOpcion"
|
|
.DataValueField = "CveCaracteristicaOpcion"
|
|
.DataSource = dt
|
|
|
|
.DataBind()
|
|
.Items.Insert(0, New ListItem("Seleccione", ""))
|
|
.SelectedValue = e.Row.DBCampo("CveOpcion")
|
|
|
|
If e.Row.DBCampo("Requerida") = "True" Then
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").Enabled = True
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").ControlToValidate = "DdlRespuesta"
|
|
End If
|
|
|
|
End With
|
|
ElseIf TipoCampo = 2 Then
|
|
With e.Row.FCRadioButtonList("RbRespuesta")
|
|
.Visible = True
|
|
.DataSource = dt
|
|
.DataBind()
|
|
|
|
End With
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").ErrorMessage = String.Format("ERROR: Falta contestar la pregunta: <b>{0}</b>", e.Row.DBCampo("Caracteristica"))
|
|
End If
|
|
|
|
Case 3 'Fecha
|
|
With e.Row.FCTextBox("TxtValor")
|
|
|
|
.Visible = True
|
|
.Width = New Unit(80)
|
|
End With
|
|
e.Row.FCImageButton("ImgTxtValor").Visible = True
|
|
e.Row.FCMaskedEditExtender("MEETxtValor").Enabled = True
|
|
e.Row.FCCalendarExtender("CETxtValor").Enabled = True
|
|
e.Row.FCCompareValidator("CVTxtValor").Enabled = True
|
|
e.Row.FCCompareValidator("CVTxtValor").Type = ValidationDataType.Date
|
|
|
|
Case 5 'Checkbox
|
|
With e.Row.FCCheckBox("ChbValor")
|
|
.Visible = True
|
|
.Text = e.Row.DBCampo("Caracteristica")
|
|
.Checked = CBool(e.Row.DBCampo("Valor").ToEntero)
|
|
End With
|
|
|
|
Case 6 ' Numerico
|
|
With e.Row.FCTextBox("TxtValorNum")
|
|
.Visible = True
|
|
.Text = e.Row.DBCampo("Valor")
|
|
e.Row.FCCompareValidator("CVTxtValor").Enabled = True
|
|
e.Row.FCCompareValidator("CVTxtValor").Type = ValidationDataType.Integer
|
|
|
|
If e.Row.DBCampo("Requerida") = "True" Then
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").Enabled = True
|
|
e.Row.FCRequiredFieldValidator("RFVRbRespuesta").ControlToValidate = "TxtValorNum"
|
|
End If
|
|
End With
|
|
End Select
|
|
End If
|
|
'End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "I M P R I M I R P D F/Excel"
|
|
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
|
|
GenerarPDF()
|
|
End Sub
|
|
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
|
GenerarPDF("EXCEL")
|
|
End Sub
|
|
|
|
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
|
If DtActivosFijos.Rows.Count > 0 Then
|
|
Dim params As New List(Of ReportParameter)
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
|
|
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
ImprimirPDF(String.Format("{0}Formatos\RepAF.rdlc", UsuarioActual.Empresa.Ruta), DtActivosFijos, params, "ReporteActivosFijos", Formato:=Formato)
|
|
|
|
Else
|
|
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
End Class
|