Commit inicial Ventas Productivo
This commit is contained in:
331
Ventas/RepVentasUtilidad.aspx.vb
Normal file
331
Ventas/RepVentasUtilidad.aspx.vb
Normal file
@@ -0,0 +1,331 @@
|
||||
Option Explicit On
|
||||
Option Strict On
|
||||
|
||||
Imports System.Data
|
||||
Imports System.Drawing
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports CrystalDecisions.CrystalReports.Engine
|
||||
Imports CrystalDecisions.Shared
|
||||
|
||||
Partial Class Ventas_RepVentasUtilidad
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "P R O P I E D A D E S "
|
||||
Private Property DtVentas As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtVentas"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtVentas") = 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
|
||||
DtVentas = Nothing
|
||||
CargaCombos()
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region " INICIALIZA VALORES "
|
||||
Private Sub CargaCombos()
|
||||
|
||||
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
|
||||
txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
|
||||
|
||||
'Carga Clientes
|
||||
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
|
||||
DdlClientes.DataBind()
|
||||
|
||||
'CargaSubProyectos
|
||||
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
||||
DdlSubProyecto.DataBind()
|
||||
|
||||
'Carga Vendedor
|
||||
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
|
||||
DdlVendedor.DataBind()
|
||||
If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then
|
||||
DdlVendedor.SelectedValuesIfExistM(UsuarioActual.CveVendedor.ToString())
|
||||
DdlVendedor.Attributes.Add("disabled", "disabled")
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
|
||||
'Cargo Clasificaciones
|
||||
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
|
||||
DdlClasificacion.DataBind()
|
||||
|
||||
'Carga Productos
|
||||
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
|
||||
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
|
||||
DdlPS.SelectedText = "Todos"
|
||||
DdlPS.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPS.ddl.Items.Clear()
|
||||
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
||||
DdlPS.ddl.DataBind()
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End If
|
||||
|
||||
Dim CveSubProyecto = If(Request("CveSubProyecto") IsNot Nothing, Request("CveSubProyecto").ToString, "-1").ToString
|
||||
Dim CveVendedor = If(Request("CveVendedor") IsNot Nothing AndAlso Request("CveVendedor") <> "", Request("CveVendedor"), "-1").ToString
|
||||
Dim CveCliente = If(Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente") <> "", Request("CveCliente"), "-1").ToString
|
||||
Dim CveGpo = If(Request("CveGpo") IsNot Nothing AndAlso Request("CveGpo") <> "", Request("CveGpo"), "-1").ToString
|
||||
Dim Gpo = If(Request("Gpo") IsNot Nothing AndAlso Request("Gpo") <> "", Request("Gpo"), "-1").ToString
|
||||
Dim FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
|
||||
Dim FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
|
||||
Dim CveClasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion") <> "", Request("CveClasificacion"), "-1").ToString
|
||||
Dim CvePS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS") <> "", Request("CvePS"), "-1").ToString
|
||||
|
||||
DdlSubProyecto.SelectedValuesIfExistM(CveSubProyecto)
|
||||
DdlVendedor.SelectedValuesIfExistM(CveVendedor)
|
||||
DdlClientes.SelectedValueExist(CveCliente)
|
||||
DdlClasificacion.SelectedValueExist(CveClasificacion)
|
||||
DdlPS.SelectedValue = CvePS
|
||||
If CvePS.ToEntero > 0 AndAlso GlobalDTPS(UsuarioActual.CveEmpresa, CvePS.ToEntero).Rows.Count > 0 Then
|
||||
DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS.ToEntero).Rows(0)("PSCodigo").ToString
|
||||
Else
|
||||
DdlPS.SelectedText = "Todos"
|
||||
End If
|
||||
|
||||
txtFechaI.Text = FechaI
|
||||
txtFechaF.Text = FechaF
|
||||
|
||||
|
||||
Select Case Gpo.ToEntero
|
||||
Case 1
|
||||
txtFechaF.Text = $"31/12/{CveGpo}"
|
||||
Case 2
|
||||
Dim Mes = CveGpo.Substring(5, 2)
|
||||
Dim DiaFinal = ""
|
||||
If Mes = "02" Then DiaFinal = "28" Else If Mes.Contiene("01", "03", "05", "07", "08", "10", "12") Then DiaFinal = "31" Else DiaFinal = "30"
|
||||
txtFechaI.Text = $"01/{CveGpo.Substring(5, 2)}/{CveGpo.Substring(0, 4)}"
|
||||
If txtFechaI.Text.ToDate.FirstDayOfMonth = FechaI.ToDate.FirstDayOfMonth Then
|
||||
txtFechaI.Text = FechaI.ToDate.ToShortDateString
|
||||
End If
|
||||
txtFechaF.Text = $"{DiaFinal}/{CveGpo.Substring(5, 2)}/{CveGpo.Substring(0, 4)}"
|
||||
Case 3
|
||||
txtFechaI.Text = CveGpo
|
||||
txtFechaF.Text = CveGpo
|
||||
End Select
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region " CARGA DATOS "
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
||||
CargaDatos()
|
||||
UPDatos.Update()
|
||||
UpIndicador.Update()
|
||||
End Sub
|
||||
Private Sub CargaDatos()
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
Dim FechaI As Date = txtFechaI.Text.ToDate
|
||||
Dim FechaF As Date = txtFechaF.Text.ToDate
|
||||
If txtFechaI.Text = "" Then FechaI = MinFecha
|
||||
If txtFechaF.Text = "" Then FechaF = MaxFecha
|
||||
|
||||
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
|
||||
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
|
||||
|
||||
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero) Then
|
||||
DtVentas = ObjVentas.DtResultados
|
||||
GvDatos.DataSource = ObjVentas.DtResultados
|
||||
GvDatos.DataBind()
|
||||
ObjVentas.Dispose()
|
||||
End If
|
||||
|
||||
Dim Neto As Double = ObjVentas.Neto
|
||||
|
||||
If ObjVentas.Neto >= 0 Then
|
||||
LblNombreNeto.Text = "Utilidad"
|
||||
DivClaseNeto.Attributes.Add("class", "dashboard-stat dashboard-stat-v2 green")
|
||||
LblNetoIndicador.Attributes.Add("data-original-title", "Utilidad")
|
||||
LblNeto.Text = ObjVentas.Neto.ToString("N2")
|
||||
LblPorNeto.Text = ObjVentas.PorNeto.ToString("N2")
|
||||
Else
|
||||
If ObjVentas.Neto < 0 Then
|
||||
Neto = (ObjVentas.Neto * (-1))
|
||||
End If
|
||||
LblNombreNeto.Text = "Pérdida"
|
||||
DivClaseNeto.Attributes.Add("class", "dashboard-stat dashboard-stat-v2 red")
|
||||
LblNetoIndicador.Attributes.Add("data-original-title", "Pérdida")
|
||||
LblNeto.Text = Neto.ToString("N2")
|
||||
LblPorNeto.Text = ObjVentas.PorNeto.ToString("N2")
|
||||
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
|
||||
|
||||
If e.Row.RowIndex = 0 Then
|
||||
e.Row.Cells(0).Text = "Total General"
|
||||
e.Row.BackColor = ColorTranslator.FromHtml("#95A5A6")
|
||||
End If
|
||||
|
||||
If Not e.Row.RowIndex = 0 AndAlso e.Row.DBCampo("CveVenta") <> "" Then
|
||||
e.Row.Cells(0).BackColor = ColorTranslator.FromHtml("#e9e9e9")
|
||||
e.Row.Cells(1).BackColor = ColorTranslator.FromHtml("#e9e9e9")
|
||||
e.Row.Cells(2).BackColor = ColorTranslator.FromHtml("#e9e9e9")
|
||||
e.Row.Cells(3).BackColor = ColorTranslator.FromHtml("#e9e9e9")
|
||||
e.Row.Cells(4).BackColor = ColorTranslator.FromHtml("#f1f1f1")
|
||||
e.Row.Cells(5).BackColor = ColorTranslator.FromHtml("#f1f1f1")
|
||||
e.Row.Cells(6).BackColor = ColorTranslator.FromHtml("#f1f1f1")
|
||||
e.Row.Cells(7).BackColor = ColorTranslator.FromHtml("#f1f1f1")
|
||||
e.Row.Cells(4).BackColor = ColorTranslator.FromHtml("#fafafa")
|
||||
e.Row.Cells(5).BackColor = ColorTranslator.FromHtml("#fafafa")
|
||||
e.Row.Cells(6).BackColor = ColorTranslator.FromHtml("#fafafa")
|
||||
e.Row.Cells(7).BackColor = ColorTranslator.FromHtml("#fafafa")
|
||||
|
||||
End If
|
||||
|
||||
If e.Row.DBCampo("CveMovimiento") = "" Then
|
||||
e.Row.Cells(3).Text = ""
|
||||
End If
|
||||
|
||||
If e.Row.DBCampo("CveVenta") = "" Then
|
||||
e.Row.CssClass = "Totales"
|
||||
End If
|
||||
|
||||
If e.Row.DBCampo("CveVenta") = "" Then
|
||||
e.Row.Cells(7).Text = ""
|
||||
End If
|
||||
|
||||
|
||||
Dim Liga As String = String.Format("/Ventas/RepVentasUtilidadDetalle.aspx?CveVenta={0}&CveVendedor={1}&FechaI={2:d}&FechaF={3:d}&CveCliente={4}&Orden={5}&CveSubProyecto={6}&CvePS={7}&CveClasificacion={8}",
|
||||
e.Row.DBCampo("CveVenta"), e.Row.DBCampo("CveVendedor"), e.Row.DBCampo("FechaI").ToDate, e.Row.DBCampo("FechaF").ToDate, e.Row.DBCampo("CveCliente"), e.Row.DBCampo("Orden"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveClasificacion"))
|
||||
e.Row.FCHyperLink("HLCosto").NavigateUrl = Liga
|
||||
e.Row.FCHyperLink("HlGanancia").NavigateUrl = Liga
|
||||
e.Row.FCHyperLink("HlPorGanancia").NavigateUrl = Liga
|
||||
e.Row.FCHyperLink("HlPerdida").NavigateUrl = Liga
|
||||
e.Row.FCHyperLink("HlPorPerdida").NavigateUrl = Liga
|
||||
|
||||
|
||||
If e.Row.DBCampo("Perdida").ToDouble > 0 Then
|
||||
e.Row.FCHyperLink("HlPerdida").ForeColor = Color.DarkRed
|
||||
e.Row.FCHyperLink("HlPorPerdida").ForeColor = Color.DarkRed
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
Private Sub OrdenaDatos()
|
||||
If (GvDatos.Rows.Count > 0) Then
|
||||
GvDatos.UseAccessibleHeader = True
|
||||
GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader
|
||||
RegistraScript("OrdenarGV();")
|
||||
End If
|
||||
End Sub
|
||||
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
If DdlPS.UsaWebService Then
|
||||
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
|
||||
DdlPS.SelectedText = "Todos"
|
||||
DdlPS.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPS.ddl.Items.Clear()
|
||||
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, DdlClasificacion.SelectedValue.ToEntero())
|
||||
DdlPS.ddl.DataBind()
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region " EXPORTAR EXCEL - PDF "
|
||||
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
|
||||
GenerarPDFCrystal("EXCEL")
|
||||
End Sub
|
||||
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
|
||||
'GenerarPDF()
|
||||
GenerarPDFCrystal()
|
||||
End Sub
|
||||
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
Dim FechaI As Date = txtFechaI.Text.ToDate
|
||||
Dim FechaF As Date = txtFechaF.Text.ToDate
|
||||
If txtFechaI.Text = "" Then FechaI = MinFecha
|
||||
If txtFechaF.Text = "" Then FechaF = MaxFecha
|
||||
|
||||
Dim Cliente = If(DdlClientes.SelectedValue = "", "", $" <b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
|
||||
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $" <b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
|
||||
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $" <b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
|
||||
Dim PS = If(DdlPS.SelectedValue = "-1", "", $" <b>P.S.:</b> {DdlPS.SelectedText}")
|
||||
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" <b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
|
||||
' Dim Grupo = DdlGrupo.SelectedItem.Text
|
||||
|
||||
Dim FechaIn As String = $" <b>Fecha Inicio:</b> {txtFechaI.Text}"
|
||||
Dim FechaFn As String = $" <b>Fecha Fin:</b> {txtFechaF.Text}"
|
||||
If txtFechaI.Text = "" Then FechaIn = ""
|
||||
If txtFechaF.Text = "" Then FechaFn = ""
|
||||
'Dim Registro = If(DdlUsuario.SelectedValue = "-1", "", $" <b>Registró:</b> {DdlUsuario.SelectedItem.Text}")
|
||||
' Dim Responsable = If(DdlResponsable.SelectedValue = "-1", "", $" <b>Responsable:</b> {DdlResponsable.SelectedItem.Text}")
|
||||
|
||||
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
|
||||
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
|
||||
|
||||
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero) Then
|
||||
|
||||
Dim FechaInicio As String = txtFechaI.Text
|
||||
Dim FechaFin As String = txtFechaF.Text
|
||||
If txtFechaI.Text = "" Then FechaInicio = "-1"
|
||||
If txtFechaF.Text = "" Then FechaFin = "-1"
|
||||
|
||||
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 dt As DataTable = ObjVentas.DtResultados
|
||||
Dim params As New List(Of ReportParameter)
|
||||
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
||||
params.Add(New ReportParameter("FechaInicio", FechaInicio))
|
||||
params.Add(New ReportParameter("FechaFin", FechaFin))
|
||||
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
||||
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
|
||||
params.Add(New ReportParameter("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
|
||||
params.Add(New ReportParameter("Neto", LblNeto.Text))
|
||||
params.Add(New ReportParameter("PorNeto", LblPorNeto.Text + " %"))
|
||||
params.Add(New ReportParameter("UtilidadPerdida", LblNombreNeto.Text))
|
||||
|
||||
If Imagen.Exists Then
|
||||
params.Add(New ReportParameter("LogoPath", logouri))
|
||||
Else
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
ImprimirPDF("Empresas/Grales/Formatos/RepVentasUtilidad.rdlc", dt, params, "RepVentasUtilidad", Formato)
|
||||
Else
|
||||
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Sub GenerarPDFCrystal(Optional Formato As String = "PDF")
|
||||
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 Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $" <b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
|
||||
Dim FechaIn As String = $" <b>Fecha Inicio:</b> {txtFechaI.Text}"
|
||||
Dim FechaFn As String = $" <b>Fecha Fin:</b> {txtFechaF.Text}"
|
||||
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $" <b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
|
||||
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $" <b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
|
||||
Dim PS = If(DdlPS.SelectedValue = "-1", "", $" <b>P.S.:</b> {DdlPS.SelectedText}")
|
||||
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" <b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
|
||||
|
||||
Dim lista = New List(Of CrystalParametro)
|
||||
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
|
||||
lista.Add(New CrystalParametro("AgrupadoPor", $"{Sucursal}{FechaIn}{FechaFn}{Cliente}{Vendedor}{PS}{Clasificacion}"))
|
||||
lista.Add(New CrystalParametro("UtilidadPerdida", LblNombreNeto.Text))
|
||||
lista.Add(New CrystalParametro("Neto", LblNeto.Text))
|
||||
lista.Add(New CrystalParametro("PorNeto", LblPorNeto.Text + " %"))
|
||||
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Usuario))
|
||||
|
||||
If Imagen.Exists Then
|
||||
lista.Add(New CrystalParametro("ImagenPath", logouri))
|
||||
Else
|
||||
lista.Add(New CrystalParametro("ImagenPath", ""))
|
||||
End If
|
||||
|
||||
ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/RepVentaUtilidad.rpt"), DtVentas, lista, "RepVentasUtilidades", Formato), "RepVentasUtilidades", Formato)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user