167 lines
7.0 KiB
VB.net
167 lines
7.0 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.Data
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Ventas_RepPS
|
|
Inherits ClsPaginas
|
|
|
|
#Region "P R O P I E D A D E S"
|
|
Private Property DtReporte As DataTable
|
|
Get
|
|
Return DirectCast(ViewState("DtReporte"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtReporte") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
CargaDatosIniciales()
|
|
CargaCombos()
|
|
CargaDatos()
|
|
End If
|
|
End Sub
|
|
Private Sub CargaDatosIniciales()
|
|
txtFechaI.Text = $"01/{Now.Month}/{Now.Year}"
|
|
txtFechaF.Text = Now.ToString("dd/MM/yyyy")
|
|
End Sub
|
|
|
|
Private Sub CargaCombos()
|
|
CargaTipoCentroCosto()
|
|
End Sub
|
|
|
|
Private Sub CargaTipoCentroCosto()
|
|
|
|
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
|
|
DdlSubProyecto.Items.Clear()
|
|
LblSubProyecto.InnerText = "Sucursal:"
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
DdlSubProyecto.DataBind()
|
|
|
|
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
|
|
DdlSubProyecto.Items.Clear()
|
|
|
|
LblSubProyecto.InnerText = "Proyecto:"
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
|
|
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
DdlSubProyecto.DataBind()
|
|
|
|
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
|
|
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
|
|
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
|
|
DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19"))
|
|
DdlGrupo.DataBind()
|
|
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
|
|
LblSubProyecto.InnerText = "Proyecto:"
|
|
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
|
|
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
|
|
DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19"))
|
|
DdlGrupo.DataBind()
|
|
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
|
|
LblSubProyecto.InnerText = "Sucursal:"
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaDatos()
|
|
|
|
Dim CveSubProyecto As Integer = DdlSubProyecto.SelectedValue.ToEntero()
|
|
Dim Grupo As Integer = DdlGrupo.SelectedValue.ToEntero()
|
|
Dim CvePS As Integer = -1
|
|
Dim CveMoneda As Integer = -1
|
|
Dim TC As Integer = 1
|
|
Dim TCEspecifico As Decimal = -1
|
|
Dim FechaI, FechaF As DateTime
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha)
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha)
|
|
|
|
Dim ObjVentas As New ClsVentas()
|
|
If ObjVentas.GetRepPSEcono(CveSubProyecto, CvePS, FechaI, FechaF, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, GPO:=Grupo, CveMoneda:=CveMoneda, TipoCambio:=TC, TCEspecifico:=TCEspecifico) Then
|
|
DtReporte = ObjVentas.DtResultados.Copy()
|
|
GvDatos.DataSource = DtReporte
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
GvDatos.DataBind()
|
|
|
|
UPDatos.Update()
|
|
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
|
|
Select Case e.Row.DBCampo("Orden").ToString.ToEntero()
|
|
Case 4
|
|
e.Row.CssClass = "Totales"
|
|
Case 3
|
|
e.Row.CssClass = "SubTotales2"
|
|
Case 2
|
|
e.Row.CssClass = "SubTotales"
|
|
Case 1
|
|
e.Row.CssClass = "SubTotalesB"
|
|
Case 0
|
|
e.Row.CssClass = "Texto"
|
|
End Select
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
CargaDatos()
|
|
End Sub
|
|
|
|
|
|
#Region " IMPRIMIR "
|
|
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
|
|
If GvDatos.Rows.Count > 0 Then
|
|
GenerarPDF()
|
|
Else
|
|
Alert("No hay datos para imprimir")
|
|
End If
|
|
End Sub
|
|
Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
|
|
GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString)
|
|
End Sub
|
|
Private Sub GenerarPDF()
|
|
Dim FechaI, FechaF As Date
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha)
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha)
|
|
If DtReporte IsNot Nothing AndAlso DtReporte.Rows.Count > 0 Then
|
|
Dim SbParametros As New StringBuilder
|
|
SbParametros.AppendFormat("Sucursal:{0}", DdlSubProyecto.SelectedItem.Text)
|
|
SbParametros.AppendFormat(", Orden:{0}", DdlGrupo.SelectedItem.Text)
|
|
|
|
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
Dim params As New List(Of ReportParameter)
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("FechaInicio", If(txtFechaI.Text <> "", FechaI.ToShortDateString, "")))
|
|
params.Add(New ReportParameter("FechaFin", If(txtFechaF.Text <> "", FechaF.ToShortDateString, "")))
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
params.Add(New ReportParameter("Parametros", SbParametros.ToString()))
|
|
|
|
If System.IO.File.Exists($"{Server.MapPath("/")}/Empresas/{UsuarioActual.CveEmpresa}/Formatos/RepPS.rdlc") Then
|
|
ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/RepPS.rdlc", DtReporte, params, "ReportePS")
|
|
Else
|
|
ImprimirPDF($"Empresas/Grales/Formatos/RepPS.rdlc", DtReporte, params, "ReportePS")
|
|
End If
|
|
Else
|
|
Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
End Class
|