366 lines
17 KiB
VB.net
366 lines
17 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
|
|
Partial Class PV_PVRepVentas
|
|
Inherits ClsPaginas
|
|
|
|
#Region "Propiedades"
|
|
'Local
|
|
Private Property TmpDT As DataTable
|
|
Get
|
|
Return CType(ViewState("TmpDT"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("TmpDT") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Init(sender As Object, e As EventArgs) Handles Me.Init
|
|
CreaGrid()
|
|
End Sub
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not IsPostBack Then
|
|
' If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
|
|
CargaCombos()
|
|
'ImgPersonalizar.Attributes.Add("onclick", "javascript:$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaCombos()
|
|
'CargaClientes
|
|
Dim ObjClientes As New ClsClientes
|
|
If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
DdlClientes.DataSource = ObjClientes.DtResultados
|
|
Else
|
|
DdlClientes.DataSource = Nothing
|
|
End If
|
|
ObjClientes.Dispose()
|
|
DdlClientes.DataBind()
|
|
|
|
'CargaSucursales
|
|
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlSubProyecto.DataBind()
|
|
DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectos(-1).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlSubProyectoEjecucion.DataBind()
|
|
|
|
'Vendedor
|
|
|
|
'CargaUsuarios
|
|
DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlUsuario.DataBind()
|
|
|
|
'CargaEstatus
|
|
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura NOT IN (1, 4, 5) ")
|
|
DdlEstatus.DataBind()
|
|
DdlEstatus.Items.Add(New ListItem("Canceladas", "4"))
|
|
'If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then
|
|
' DdlEstatus.SelectedIndex = 2
|
|
'Else
|
|
DdlEstatus.SelectedIndex = 1
|
|
'End If
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
|
CargaDatos()
|
|
ConfiguraEmpresa()
|
|
UPDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub CreaGrid()
|
|
Dim TotalAncho As Integer = 150
|
|
Dim TotalAnchoSucursal As Integer = 0
|
|
Dim SucursalTitulo As String = ""
|
|
|
|
TmpDT = New DataTable
|
|
TmpDT.Columns.Add("GPO", GetType(String))
|
|
|
|
Dim ObjVentas As New ClsPV()
|
|
|
|
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As String
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
|
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim(), "-1")
|
|
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim(), "-1")
|
|
If ObjVentas.GetRepPVVentas(FechaI, FechaF, FechaIEjec, FechaFEjec, DdlClientes.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyectoEjecucion.SelectedValue.ToEntero, DdlVendedor.SelectedValue,
|
|
DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero) Then
|
|
Dim gv As New GridView
|
|
|
|
For Each Col As DataColumn In ObjVentas.DtResultados.Columns
|
|
If Col.ColumnName.Split(CChar("_")).Length >= 3 AndAlso Col.ColumnName.Substring(0, 2).ToUpper = "T_" Then
|
|
Dim Sucursal As String = Col.ColumnName.Split(CChar("_"))(1).ToUpper()
|
|
Dim Categoria As String = Col.ColumnName.Split(CChar("_"))(2).ToUpper()
|
|
' Dim CveSucursal As Integer = Col.ColumnName.Split(CChar("_"))(3).ToEntero
|
|
|
|
|
|
Dim bfield As New TemplateField
|
|
' Dim iTemplate As System.Web.UI.ITemplate
|
|
bfield.HeaderText = Categoria
|
|
'bfield.FooterText = Row("CveEstatus").ToString
|
|
bfield.ItemStyle.HorizontalAlign = HorizontalAlign.Right
|
|
|
|
If Sucursal = "TOTAL" Or Categoria = "TOTAL" Then
|
|
bfield.ItemStyle.Width = 97
|
|
TotalAnchoSucursal = TotalAnchoSucursal + 100
|
|
TotalAncho = TotalAncho + 100
|
|
Else
|
|
bfield.ItemStyle.Width = 87
|
|
TotalAnchoSucursal = TotalAnchoSucursal + 90
|
|
TotalAncho = TotalAncho + 90
|
|
End If
|
|
|
|
bfield.ItemTemplate = New GridViewTemplate(ListItemType.Item, Col.ColumnName)
|
|
' bfield.ItemTemplate
|
|
gv.Columns.Add(bfield)
|
|
|
|
TmpDT.Columns.Add(Col.ColumnName, GetType(Integer))
|
|
|
|
If SucursalTitulo <> Sucursal And Categoria.ToUpper = "TOTAL" Then
|
|
SucursalTitulo = Sucursal
|
|
Dim Celda As New HtmlTableCell()
|
|
'Celda.InnerHtml = String.Format("<font color='White'>{0}</font>", SucursalTitulo)
|
|
Celda.InnerText = SucursalTitulo
|
|
'Celda.BorderColor = "White"
|
|
'Celda.BgColor = "Gray"
|
|
Celda.Attributes.Add("class", "Titulos")
|
|
Celda.Attributes.Add("style", "border-width: 1px;border-right-style: solid;")
|
|
Celda.Width = TotalAnchoSucursal.ToString
|
|
tblSucursales.Rows(0).Cells.Add(Celda)
|
|
TotalAnchoSucursal = 0
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
For Each Columna In gv.Columns
|
|
GvDatos.Columns.Add(CType(Columna, DataControlField))
|
|
Next
|
|
GvDatos.Width = TotalAncho
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
ObjVentas.Dispose()
|
|
UPDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub CargaDatos()
|
|
Dim ObjVentas As New ClsPV()
|
|
|
|
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As String
|
|
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
|
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
|
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim(), "-1")
|
|
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim(), "-1")
|
|
If ObjVentas.GetRepPVVentas(FechaI, FechaF, FechaIEjec, FechaFEjec, DdlClientes.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyectoEjecucion.SelectedValue.ToEntero, DdlVendedor.SelectedValue,
|
|
DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero) Then
|
|
GvDatos.DataSource = ObjVentas.DtResultados
|
|
tblSucursales.Visible = True
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
ObjVentas.Dispose()
|
|
GvDatos.DataBind()
|
|
|
|
End Sub
|
|
|
|
Private Sub ConfiguraEmpresa()
|
|
'If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(6).Visible = False
|
|
'If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(7).Visible = False
|
|
End Sub
|
|
|
|
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
|
|
If ChkRetIVA.Checked Then
|
|
GvDatos.Columns(6).Visible = True
|
|
Else
|
|
GvDatos.Columns(6).Visible = False
|
|
End If
|
|
|
|
If ChkRetISR.Checked Then
|
|
GvDatos.Columns(7).Visible = True
|
|
Else
|
|
GvDatos.Columns(7).Visible = False
|
|
End If
|
|
|
|
If ChkMinSub.Checked Then
|
|
GvDatos.Columns(9).Visible = True
|
|
Else
|
|
GvDatos.Columns(9).Visible = False
|
|
End If
|
|
|
|
If ChkAVGSub.Checked Then
|
|
GvDatos.Columns(10).Visible = True
|
|
Else
|
|
GvDatos.Columns(10).Visible = False
|
|
End If
|
|
|
|
If ChkMaxSub.Checked Then
|
|
GvDatos.Columns(11).Visible = True
|
|
Else
|
|
GvDatos.Columns(11).Visible = False
|
|
End If
|
|
|
|
If ChkMinTot.Checked Then
|
|
GvDatos.Columns(12).Visible = True
|
|
Else
|
|
GvDatos.Columns(12).Visible = False
|
|
End If
|
|
|
|
If ChkAvgTot.Checked Then
|
|
GvDatos.Columns(13).Visible = True
|
|
Else
|
|
GvDatos.Columns(13).Visible = False
|
|
End If
|
|
|
|
If ChkMaxTot.Checked Then
|
|
GvDatos.Columns(14).Visible = True
|
|
Else
|
|
GvDatos.Columns(14).Visible = False
|
|
End If
|
|
|
|
UPDatos.Update()
|
|
End Sub
|
|
|
|
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
|
|
GvDatos.ExportToExcel("ReporteVentas" & Now.ToShortDateString)
|
|
End Sub
|
|
|
|
|
|
'Region "TEMPLATE"
|
|
Public Class GridViewTemplate
|
|
Implements ITemplate
|
|
'A variable to hold the type of ListItemType.
|
|
Private _templateType As ListItemType
|
|
|
|
'A variable to hold the column name.
|
|
Private _columnName As String
|
|
|
|
|
|
'Constructor where we define the template type and column name.
|
|
Public Sub New(type As ListItemType, colname As String)
|
|
'Stores the template type.
|
|
_templateType = type
|
|
|
|
'Stores the column name.
|
|
_columnName = colname
|
|
|
|
End Sub
|
|
|
|
Private Sub ITemplate_InstantiateIn(container As System.Web.UI.Control) Implements ITemplate.InstantiateIn
|
|
Select Case _templateType
|
|
Case ListItemType.Header
|
|
'Creates a new label control and add it to the container.
|
|
Dim lbl As New Label()
|
|
'Allocates the new label object.
|
|
lbl.Text = _columnName
|
|
'Assigns the name of the column in the lable.
|
|
container.Controls.Add(lbl)
|
|
'Adds the newly created label control to the container.
|
|
Exit Select
|
|
|
|
Case ListItemType.Item
|
|
'Creates a new text box control and add it to the container.
|
|
Dim ltl1 As New Literal
|
|
ltl1.ID = String.Format("ltl{0}", _columnName)
|
|
AddHandler ltl1.DataBinding, AddressOf ltl_DataBinding
|
|
|
|
'AddHandler hdn1.DataBinding, AddressOf hdn_DataBinding
|
|
|
|
'Creates a column with size 4.
|
|
container.Controls.Add(ltl1)
|
|
'Adds the newly created textbox to the container.
|
|
Exit Select
|
|
|
|
Case ListItemType.EditItem
|
|
'As, I am not using any EditItem, I didnot added any code here.
|
|
Exit Select
|
|
|
|
Case ListItemType.Footer
|
|
Dim chkColumn As New CheckBox()
|
|
chkColumn.ID = Convert.ToString("Chk") & _columnName
|
|
container.Controls.Add(chkColumn)
|
|
Exit Select
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub hdn_DataBinding(sender As Object, e As EventArgs)
|
|
Dim hidden As HiddenField = DirectCast(sender, HiddenField)
|
|
Dim row As GridViewRow = DirectCast(hidden.NamingContainer, GridViewRow)
|
|
Dim value As String = DataBinder.Eval(row.DataItem, _columnName).ToString()
|
|
hidden.Value = If(value Is Nothing OrElse value = String.Empty, "-1", value)
|
|
End Sub
|
|
|
|
Private Sub ltl_DataBinding(sender As Object, e As EventArgs)
|
|
Dim ltl As Literal = DirectCast(sender, Literal)
|
|
Dim row As GridViewRow = DirectCast(ltl.NamingContainer, GridViewRow)
|
|
Dim celda As DataControlFieldCell = DirectCast(ltl.Parent, DataControlFieldCell)
|
|
Dim value As String = DataBinder.Eval(row.DataItem, _columnName).ToString()
|
|
ltl.Text = value.FormatoNumero
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' This is the event, which will be raised when the binding happens.
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
Private Sub tb1_DataBinding(sender As Object, e As EventArgs)
|
|
Dim txtdata As TextBox = DirectCast(sender, TextBox)
|
|
Dim container As GridViewRow = DirectCast(txtdata.NamingContainer, GridViewRow)
|
|
Dim dataValue As Object = DataBinder.Eval(container.DataItem, _columnName)
|
|
If dataValue Is DBNull.Value Then
|
|
txtdata.Text = dataValue.ToString()
|
|
End If
|
|
End Sub
|
|
End Class
|
|
|
|
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.RowIndex = 0 Then
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
|
|
' e.Row.Cells(0).Width = Unit.Pixel(150)
|
|
e.Row.CssClass = "Totales"
|
|
Css = "Totales"
|
|
End If
|
|
|
|
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")
|
|
|
|
Dim Liga As String = String.Format("/Ventas/RepVentaDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveCliente={5}&CveSucursal={6}&Vendedor={7}&CveUsuario={8}&CveEstatusFactura={9}&FechaI={10}&FechaF={11}&IVA={12}&CveCorte={13}",
|
|
DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyecto"),
|
|
e.Row.DBCampo("Vendedor"), e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("GPO_IVA"), e.Row.DBCampo("CveCorte"))
|
|
|
|
e.Row.FCLiteral("LtlGrupo").Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral("LtlGrupo").Text & "</a>"
|
|
'e.Row.FCLiteral("LtlCantidad").Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral("LtlCantidad").Text & "</a>"
|
|
|
|
For Each Col As DataColumn In DirectCast(e.Row.DataItem, System.Data.DataRowView).Row.Table.Columns
|
|
If Col.ColumnName.Split(CChar("_")).Count = 4 Then
|
|
Dim CveSubProyecto As Integer = Col.ColumnName.Split(CChar("_"))(3).ToEntero
|
|
Liga = String.Format("/Ventas/RepVentaDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveCliente={5}&CveSucursal={6}&Vendedor={7}&CveUsuario={8}&CveEstatusFactura={9}&FechaI={10}&FechaF={11}&IVA={12}&CveCorte={13}",
|
|
DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveCliente"), CveSubProyecto,
|
|
e.Row.DBCampo("Vendedor"), e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("GPO_IVA"), e.Row.DBCampo("CveCorte"))
|
|
|
|
e.Row.FCLiteral(String.Format("ltl{0}", Col.ColumnName)).Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral(String.Format("ltl{0}", Col.ColumnName)).Text & "</a>"
|
|
End If
|
|
Next
|
|
|
|
'If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlSubTotal").Text = ""
|
|
'If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.FCLiteral("LtlDescuento").Text = ""
|
|
'If e.Row.DBCampo("Amortizacion").ToDouble = 0 Then e.Row.FCLiteral("LtlAmortizacion").Text = ""
|
|
'If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.FCLiteral("LtlIVA").Text = ""
|
|
'If e.Row.DBCampo("RetIVA").ToDouble = 0 Then e.Row.FCLiteral("LtlRetIVA").Text = ""
|
|
'If e.Row.DBCampo("RetISR").ToDouble = 0 Then e.Row.FCLiteral("LtlRetISR").Text = ""
|
|
'If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.FCLiteral("LtlTotal").Text = ""
|
|
'If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxSubTotal").Text = ""
|
|
'If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGSubTotal").Text = ""
|
|
'If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMinSubTotal").Text = ""
|
|
'If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxTotal").Text = ""
|
|
'If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGTotal").Text = ""
|
|
'If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMinTotal").Text = ""
|
|
End If
|
|
End Sub
|
|
End Class
|