Files
SIG/Inventarios/RepApartados2.aspx.vb
JORGE LUIS CAUDILLO ESPARZA c35cf91883 Commit inicial Ventas Productivo
2019-08-14 16:40:54 -07:00

161 lines
7.2 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_RepApartados
Inherits ClsPaginas
#Region " PROPIEDADES "
Private Property DtApartados As DataTable
Get
Return DirectCast(ViewState("DtApartados"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtApartados") = 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
SetValues()
End If
End Sub
#Region " SET VALUES "
Private Sub SetValues()
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem(" Todas ", "-1"))
DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
DdlCliente.DataBind()
DdlCliente.Items.Insert(0, New ListItem(" Todos ", "-1"))
Dim DTVendedores As New DataTable
DTVendedores = GlobalDTVendedores(UsuarioActual.CveEmpresa, True)
DTVendedores.Merge(GlobalDTVendedores(UsuarioActual.CveEmpresa, False))
DdlVendedor.DataSource = DTVendedores
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem(" Todos ", "-1"))
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPS.DataBind()
DdlPS.Items.Insert(0, New ListItem(" Todos ", "-1"))
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
txtFechaF.Text = Now.ToShortDateString
CargaGrupo()
End Sub
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Año", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Mes", "2"))
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
DdlGrupo.Items.Insert(4, New ListItem("Cliente", "5"))
DdlGrupo.Items.Insert(5, New ListItem("Vendedor", "7"))
DdlGrupo.Items.Insert(6, New ListItem("Sucursal", "8"))
DdlGrupo.Items.Insert(7, New ListItem("Producto/Servicio", "9"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("7")
End Sub
#End Region
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim CveAlmacenApartado = -1
If DdlSubProyectos.SelectedValue.ToEntero > 0 Then
CveAlmacenApartado = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen IN (9) And Estatus = 'Activo' And CveSubProyecto = {DdlSubProyectos.SelectedValue.ToEntero}").ToEntero
If CveAlmacenApartado <= 0 Then
Alert("No se encontro el almacen de Apartado de la sucursal seleccionada. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim ObjInventarios As New ClsInventarios
If ObjInventarios.ApartadosRep2(CveAlmacenApartado, DdlCliente.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlGrupo.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjInventarios.DtResultados
DtApartados = ObjInventarios.DtResultados
GvDatos.DataBind()
UpDatos.Update()
End If
ObjInventarios.Dispose()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Css As String = "Texto"
If e.Row.DBCampo("GPO") = "Total Pesos" Or e.Row.DBCampo("GPO") = "Total Dólares" Then
e.Row.CssClass = "Totales"
End If
' PARA LIGA
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
'LIGA A DETALLE
Dim Liga As String = $"/Inventarios/RepApartados.aspx?Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveCliente={e.Row.DBCampo("CveCliente")}&CveVendedor={e.Row.DBCampo("CveVendedor")}&CveSubProyecto={e.Row.DBCampo("CveSubProyecto")}&CvePS={e.Row.DBCampo("CvePS")}&FechaI={FechaI}&FechaF={FechaF}"
e.Row.FCLiteral("LtlGrupo").Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral("LtlGrupo").Text & "</a>"
End If
End Sub
#Region "IMPRESION"
Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
GeneraImpresion()
End Sub
Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GeneraImpresion("Excel")
End Sub
Private Sub GeneraImpresion(Optional Formato As String = "PDF")
If DtApartados IsNot Nothing Then
Dim StrFiltro As New StringBuilder
If DdlGrupo.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Agrupado por:</b> {0}", DdlGrupo.SelectedItem.Text)
If txtFechaI.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio:</b>&nbsp;{0}", txtFechaI.Text)
If txtFechaF.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Fin:</b>&nbsp;{0}", txtFechaF.Text)
If DdlSubProyectos.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Sucursal:</b> {0}", DdlSubProyectos.SelectedItem.Text)
If DdlVendedor.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Vendedor:</b> {0}", DdlVendedor.SelectedItem.Text)
If DdlCliente.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Cliente:</b> {0}", DdlCliente.SelectedItem.Text)
If DdlPS.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Producto/Servicio:</b> {0}", DdlPS.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("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepApartados2.rdlc", DtApartados, params, String.Format("ReporteApartados-{0}", Now.ToDateTime.ToShortDateString), Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class