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

202 lines
6.7 KiB
C#

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using Microsoft.Reporting.WebForms;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
public partial class GPS_RepParardas : ClsPaginas
{
#region "P R O P I E D A D E S"
private DataTable DtParadas
{
get
{
return ((DataTable)(ViewState["DtParadas"]));
}
set
{
ViewState["DtParadas"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaFecha();
CargaGrupos();
}
}
private void CargaGrupos()
{
ClsGPS ObjGPS = new ClsGPS();
if (ObjGPS.GruposGet(-1,UsuarioActual.CveCliente))
{
DdlGrupo.DataSource = ObjGPS.DtResultados;
}
ObjGPS.Dispose();
DdlGrupo.DataBind();
UPFiltros.Update();
}
private void CargaFecha()
{
txtFechaI.Text = DateTime.Now.ToString("dd/MM/yyyy") + " 00:00";
txtFechaF.Text = DateTime.Now.ToString("dd/MM/yyyy") + " 23:59";
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
int CveGrupo = DdlGrupo.SelectedValue.ToEntero();
if (CveGrupo > -2)
{
DateTime FechaI = txtFechaI.Text.ToDateTime();
DateTime FechaF = txtFechaF.Text.ToDateTime();
ClsGPS ObjGPS = new ClsGPS();
if (ObjGPS.GetRepParadas(CveGrupo, FechaI, FechaF, UsuarioActual.CveCliente))
{
DtParadas = ObjGPS.DtResultados.Copy();
}
ObjGPS.Dispose();
if (DtParadas != null)
{
CargaDashboard(DtParadas);
CargaGrafica(DtParadas);
GvDatos.DataSource = DtParadas;
GvDatos.DataBind();
}
UpDash.Update();
UpDatos.Update();
UpModalGrafica.Update();
}
else
{
Alert("Debe seleccionar un grupo", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
private void CargaDashboard(DataTable Dt)
{
try
{
if (Dt != null)
{
DataRow Dr = Dt.FiltroPrimero("TipoColumna=1");
if (Dr != null)
{
var Total = Dr["Importe"].ToString().FormatoNumero();
var NumEventos = Dr["TotalEventos"].ToString();
var MejorConductor = Dt.FiltroPrimeroValor("Conductor", "CveConductor IS NOT NULL AND TotalEventos IS NOT NULL", "TotalEventos ASC");
LtlGrupo.Text = DdlGrupo.SelectedItem.Text;
LtlTotal.Text = Total;
LtlNumEventos.Text = NumEventos;
LtlMejorC.Text = MejorConductor;
DivIndicadores.Visible = true;
LinkPDF.Visible = true;
LnkExportar.Visible = true;
}
}
}
catch (Exception ex)
{
ModExtensiones.OnError(this, "Ocurrió un error al cargar los indicadores", ex);
}
}
private void CargaGrafica(DataTable Dt)
{
try
{
var DtTop = Dt.FiltraParametros("CveConductor IS NOT NULL AND TotalEventos IS NOT NULL", "TotalEventos ASC").AsEnumerable().Take<DataRow>(10);
decimal Total = DtTop.Sum(dr => dr["Importe"].ToString().ToDecimal());
decimal PorcentajeTotal = 100m;
var JsonArray = new JArray()
{
from d in DtTop
select new JObject()
{
new JProperty("name",d["NoEconomico"].ToString()),
new JProperty("Importe",d["Importe"].ToString().ToDecimal()),
new JProperty("y", (d["Importe"].ToString().ToDecimal()/Total) * PorcentajeTotal)
}
};
HpGrafica.Visible = true;
HdnJsonChart.Value = JsonArray.ToString();
}
catch (Exception)
{
}
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
switch (e.Row.DBCampo("TipoColumna"))
{
case "1":
e.Row.CssClass = "Totales";
break;
case "2":
e.Row.CssClass = "SubTotales";
break;
}
}
}
private void ImprimirPDFParadas(string TipoDoc = "PDF")
{
if (DtParadas != null)
{
byte[] retorno;
string RutaReporte = "Empresas/Grales/ReportesProgramados/RPTParadas.rdlc";
string NombreReporte = "ReporteRutas";
try
{
var TotalGeneral = LtlTotal.Text;
var Grupo = LtlGrupo.Text;
var NumEventos = LtlNumEventos.Text;
var MejorC = LtlMejorC.Text;
List<ReportParameter> RptParametro = new List<ReportParameter>();
RptParametro.Add(new ReportParameter("FechaInicio", txtFechaI.Text.ToString()));
RptParametro.Add(new ReportParameter("FechaFin", txtFechaF.Text.ToString()));
RptParametro.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Usuario));
RptParametro.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
RptParametro.Add(new ReportParameter("Grupo", Grupo));
RptParametro.Add(new ReportParameter("TotalGeneral", TotalGeneral));
RptParametro.Add(new ReportParameter("NumEventos", NumEventos));
RptParametro.Add(new ReportParameter("MejorConductor", MejorC));
retorno = StreamPDF(RutaReporte, DtParadas, RptParametro, string.Format("{0}{1}", NombreReporte, DateTime.Now.ToShortDateString()), TipoDoc, "DsOC");
ImprimirbytesPDF(retorno, string.Format("{0}{1}", NombreReporte, DateTime.Now.ToShortDateString()));
}
catch (Exception ex)
{
ModExtensiones.GuardaLog(string.Format("Ocurrio un error al generar el reporte RLDC {0}", ex));
}
}
}
protected void LinkPDF_Click(object sender, EventArgs e)
{
ImprimirPDFParadas();
}
protected void LnkExportar_Click(object sender, EventArgs e)
{
//var table = new System.Web.UI.HtmlControls.HtmlTable();
// table.InnerHtml = DivIndicadores.InnerHtml;
GvDatos.ExportToExcelx("ReporteRutas");
}
}