using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI.WebControls; using Extensiones; using System.Data; using static Extensiones.ModExtensiones; using Microsoft.Reporting.WebForms; using System.Web.UI.HtmlControls; using System.Text; public partial class CxC_RepCxCPeriodo : ClsPaginas { #region PROPIEDADES private DataTable DtDatos { get { return DtDatos = (DataTable)ViewState["DtDatos"]; } set { ViewState["DtDatos"] = value; } } private int TipoCambio { get { return (ViewState["TipoCambio"] == null) ? -1 : Convert.ToInt32(ViewState["TipoCambio"]); } set { ViewState["TipoCambio"] = value; } } private double TCEspecifico { get { return (ViewState["TCEspecifico"] == null) ? 0 : Convert.ToDouble(ViewState["TCEspecifico"]); } set { ViewState["TCEspecifico"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InicializaValores(); } } private void InicializaValores() { TipoCambio = 1; TCEspecifico = -1; //CargaClientes if (UsuarioActual.Empresa.Funcionalidad(105) == "1") { DdlClientesWS.setEsWebService(true); } else { DdlClientesWS.setEsWebService(false); DdlClientesWS.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1); DdlClientesWS.DataBind(); DdlClientesWS.ddl.Items.Insert(0, new ListItem("Todos", "-1")); } //CargaSubProyectos DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1); DdlSubProyecto.DataBind(); //Carga Vendedor DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa); DdlVendedor.DataBind(); DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor); //CargaUsuarios DdlUsuario.DataSource = get_GlobalDTUsuarios().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}"); DdlUsuario.DataBind(); //CargaResponsable DdlResponsable.DataSource = get_GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa); DdlResponsable.DataBind(); txtCorteA.Text = $"31/12/{DateTime.Now.Year}"; //Carga Cobranza Estatus DdlCobranzaEstatus.DataSource = get_GlobalDTVtaCobranzaEstatus(UsuarioActual.CveEmpresa); DdlCobranzaEstatus.DataBind(); DdlCobranzaEstatus.Items.Insert(0, new ListItem("Todos", "-1")); //Carga Clasificacion Cliente DdlClienteClasificacion.DataSource = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa); DdlClienteClasificacion.DataBind(); DdlClienteClasificacion.Items.Insert(0, new ListItem("Todos", "-1")); } private void Consulta() { string TipoDocto = ""; if (DdlTipoDocto.GetSelectedValuesM() == "") { TipoDocto = "-1"; } else { TipoDocto = DdlTipoDocto.GetSelectedValuesM(); } if (RblTipoCambio.SelectedValue.ToEntero() == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } int CveCliente = DdlClientesWS.SelectedValue.ToEntero() > 0 ? DdlClientesWS.SelectedValue.ToEntero() : -1; ClsMovimientos ObjMov = new ClsMovimientos(); if (ObjMov.GetCxCPeriodo(CveCliente, DdlSubProyecto.SelectedValue.ToEntero(),DdlVendedor.SelectedValue.ToEntero(),DdlUsuario.SelectedValue.ToEntero(), -1,"-1",UsuarioActual.CveEmpresa,DdlGrupo.SelectedValue.ToEntero(),DdlResponsable.SelectedValue.ToEntero(),TipoCambio,TCEspecifico, TipoDocto,txtCorteA.Text.ToDate(), DdlEstatusCliente.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, DdlCobranzaEstatus.SelectedValue.ToEntero(), DdlClienteClasificacion.SelectedValue.ToEntero())){ GvDatos.DataSource = ObjMov.DtResultados; DtDatos = ObjMov.DtResultados; } ObjMov.Dispose(); GvDatos.DataBind(); UpDatos.Update(); } private void CargaClientes() { if (UsuarioActual.Empresa.Funcionalidad(105) == "1") { DdlClientesWS.setEsWebService(true); if( DdlClienteClasificacion.SelectedValue.ToEntero() > 0) { DdlClientesWS.ddlWS.Attributes.Add("data-cveclienteclasificacion", DdlClienteClasificacion.SelectedValue); DdlClientesWS.txtValue.Value = ""; DdlClientesWS.txtText.Value = ""; } else { DdlClientesWS.ddlWS.Attributes.Add("data-cveclienteclasificacion", "-1"); } } else { DdlClientesWS.ddl.Items.Clear(); DdlClientesWS.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero()} OR {DdlClienteClasificacion.SelectedValue.ToEntero()} = -1"); DdlClientesWS.DataBind(); DdlClientesWS.ddl.Items.Insert(0, new ListItem("Todos", "-1")); } UPFiltros.Update(); } protected void DdlClienteClasificacion_SelectedIndexChanged(object sender, EventArgs e) { CargaClientes(); } protected void BtnTipoCambio_Click(object sender, EventArgs e) { Consulta(); } protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e) { TipoCambio = RblTipoCambio.SelectedValue.ToEntero(); if (TipoCambio == 3) { LiEspecifico.Visible = true; TCEspecifico = get_GlobalTipoCambio(DateTime.Now); TxtEspecifico.Text = TCEspecifico.ToString(); } else { LiEspecifico.Visible = false; } UpBodyTipoCambio.Update(); } protected void LnkVerGrafica_Click(object sender, EventArgs e) { if (DtDatos != null) { if (DtDatos.Rows.Count > 0) { DataTable Dt = new DataTable(); Dt.Columns.Add("mes"); DataTable Dt2 = new DataTable(); Dt2.Columns.Add("balloonText"); Dt2.Columns.Add("bullet"); Dt2.Columns.Add("title"); Dt2.Columns.Add("valueField"); Dt2.Columns.Add("fillAlphas"); foreach (DataRow Row in DtDatos.Rows) { if (Row["GPO"].ToString() != "") { Dt.Columns.Add($"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"); DataRow Row2 = Dt2.NewRow(); Row2["balloonText"] = "Saldo [[category]]: [[value]]"; Row2["bullet"] = "round"; Row2["title"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"; Row2["valueField"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"; Row2["fillAlphas"] = 0; Dt2.Rows.Add(Row2); } } DataRow RowEnero = Dt.NewRow(); DataRow RowFebrero = Dt.NewRow(); DataRow RowMarzo = Dt.NewRow(); DataRow RowAbril = Dt.NewRow(); DataRow RowMayo = Dt.NewRow(); DataRow RowJunio = Dt.NewRow(); DataRow RowJulio = Dt.NewRow(); DataRow RowAgosto = Dt.NewRow(); DataRow RowSeptiembre = Dt.NewRow(); DataRow RowOctubre = Dt.NewRow(); DataRow RowNoviembre = Dt.NewRow(); DataRow RowDiciembre = Dt.NewRow(); foreach (DataRow Row in DtDatos.Rows) { if (Row["GPO"].ToString() != "") { RowEnero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Enero"].ToString(); RowEnero["mes"] = "Enero"; RowFebrero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Febrero"].ToString(); RowFebrero["mes"] = "Febrero"; RowMarzo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Marzo"].ToString(); RowMarzo["mes"] = "Marzo"; RowAbril[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Abril"].ToString(); RowAbril["mes"] = "Abril"; RowMayo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Mayo"].ToString(); RowMayo["mes"] = "Mayo"; RowJunio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Junio"].ToString(); RowJunio["mes"] = "Junio"; RowJulio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Julio"].ToString(); RowJulio["mes"] = "Julio"; RowAgosto[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Agosto"].ToString(); RowAgosto["mes"] = "Agosto"; RowSeptiembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Septiembre"].ToString(); RowSeptiembre["mes"] = "Septiembre"; RowOctubre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Octubre"].ToString(); RowOctubre["mes"] = "Octubre"; RowNoviembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Noviembre"].ToString(); RowNoviembre["mes"] = "Noviembre"; RowDiciembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Diciembre"].ToString(); RowDiciembre["mes"] = "Diciembre"; } } Dt.Rows.Add(RowEnero); Dt.Rows.Add(RowFebrero); Dt.Rows.Add(RowMarzo); Dt.Rows.Add(RowAbril); Dt.Rows.Add(RowMayo); Dt.Rows.Add(RowJunio); Dt.Rows.Add(RowJulio); Dt.Rows.Add(RowAgosto); Dt.Rows.Add(RowSeptiembre); Dt.Rows.Add(RowOctubre); Dt.Rows.Add(RowNoviembre); Dt.Rows.Add(RowDiciembre); RegistraScript($"CargaGraficaLineas({Dt.ToJson()},{Dt2.ToJson()})", "11"); RegistraScript(String.Format("$('#{0}').modal();", "DivModalGrafica"), "22"); UpGrafica.Update(); } else { Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia); } } else { Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia); } } protected void LnkPdf_Click(object sender, EventArgs e) { GenerarPDF("PDF"); } protected void LnkExcel_Click(object sender, EventArgs e) { GenerarPDF("EXCEL"); } private void GenerarPDF(string Opcion) { if (DtDatos.Rows.Count < 1) { Alert("Tiene que haber datos consultados para imprimir.", TipoMensaje.MsgAdvertencia); return; } StringBuilder StrFiltro = new StringBuilder(); if (txtCorteA.Text != "") StrFiltro.AppendFormat(" Fecha Corte: {0}", txtCorteA.Text.ToDate().ToShortDateString()); if (DdlSubProyecto.SelectedValue != "-1") StrFiltro.AppendFormat(" Sucursal: {0}", DdlSubProyecto.SelectedItem.Text); if (DdlGrupo.SelectedValue != "-1") StrFiltro.AppendFormat(" Grupo: {0}", DdlGrupo.SelectedItem.Text); if (DdlClientesWS.SelectedValue != "-1") StrFiltro.AppendFormat(" Cliente: {0}", DdlClientesWS.SelectedText); if (DdlVendedor.SelectedValue != "-1") StrFiltro.AppendFormat(" Venedor: {0}", DdlVendedor.SelectedItem.Text); if (DdlUsuario.SelectedValue != "-1") StrFiltro.AppendFormat(" Registro: {0}", DdlUsuario.SelectedItem.Text); if (DdlResponsable.SelectedValue != "-1") StrFiltro.AppendFormat(" Responsable: {0}", DdlResponsable.SelectedItem.Text); if (DdlTipoDocto.GetSelectedText() != "") StrFiltro.AppendFormat(" Tipo Documento: {0}", DdlTipoDocto.GetSelectedText()); if (DdlCobranzaEstatus.SelectedValue != "-1") StrFiltro.AppendFormat(" Estatus Cobranza: {0}", DdlCobranzaEstatus.SelectedItem.Text); if (DdlEstatusCliente.SelectedValue != "-1") StrFiltro.AppendFormat(" Estatus Cliente: {0}", DdlEstatusCliente.SelectedItem.Text); if (DdlClienteClasificacion.SelectedValue != "-1") StrFiltro.AppendFormat(" Clasificación Cliente: {0}", DdlClienteClasificacion.SelectedItem.Text); string RutaPDF = ""; string Ruta = UsuarioActual.Empresa.Ruta; RutaPDF = $"{Ruta}/Formatos/RepCxCPeriodo.rdlc"; if (!System.IO.File.Exists(RutaPDF)) { RutaPDF = "Empresas/Grales/Formatos/RepCxCPeriodo.rdlc"; } System.IO.FileInfo Imagen = new System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png"); string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); List para = new List(); para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)); para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString())); para.Add(new ReportParameter("Filtros", StrFiltro.ToString())); if (Imagen.Exists) { para.Add(new ReportParameter("LogoPath", logouri)); } else { para.Add(new ReportParameter("LogoPath", "")); } ImprimirPDF(RutaPDF, DtDatos, para, "RepCxCPeriodo" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion); } protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.DBCampo("GPO").ToString() == "") { e.Row.CssClass = "Totales"; e.Row.Cells[0].Text= e.Row.DBCampo("Moneda"); } } } protected void BtnConsultar_Click(object sender, EventArgs e) { Consulta(); } }