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 Compras_RepCxPPeriodo : 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; //DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); //DdlProveedor.DataBind(); if (UsuarioActual.Empresa.Funcionalidad(105) == "1") { DdlProveedor.setEsWebService(true); DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); DdlProveedor.SelectedText = "Todos"; DdlProveedor.SelectedValue = "-1"; } else { DdlProveedor.setEsWebService(false); DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa); DdlProveedor.ddl.DataBind(); DdlProveedor.ddl.Items.Insert(0, new ListItem("Todos", "-1")); } DdlUsuarioResponsable.DataSource = get_GlobalDTUsuarioResponsable ( UsuarioActual.CveEmpresa ); DdlUsuarioResponsable.DataBind(); DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1); DdlSubProyecto.DataBind(); DdlProveedoresClasificaciones.DataSource = get_GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa); DdlProveedoresClasificaciones.DataBind(); DdlProveedoresClasificaciones.Items.Insert(1, new ListItem("Sin Clasificación", "0")); DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1, 2)"); if (UsuarioActual.CveEmpresa == 66) { DdlEstatusCompra.SelectedIndex = 2; DdlGrupo.SelectedValue = "8"; } DdlUsuarioRegistro.DataSource = get_GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros( "", "Nombre"); DdlUsuarioRegistro.DataBind(); DdlUsuarioRegistro.Items.Insert(0, new ListItem("Todos", "-1")); txtCorteA.Text = $"31/12/{NowADS().Year}"; } private void Consulta() { if (RblTipoCambio.SelectedValue.ToEntero() == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1; string TipoDocto = (DdlTipoDocto.GetSelectedValuesM() == "") ? "-1" : DdlTipoDocto.GetSelectedValuesM(); ClsMovimientos ObjMov = new ClsMovimientos(); if (ObjMov.GetCxPPeriodo(CveProveedor, DdlSubProyecto.SelectedValue.ToEntero(),DdlProveedoresClasificaciones.SelectedValue.ToEntero(), DdlUsuarioResponsable.SelectedValue.ToEntero(),DdlUsuarioRegistro.SelectedValue.ToEntero(),DdlEstatusCompra.SelectedValue.ToEntero(),UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero(),DdlSubProyecto.SelectedValue.ToEntero(),TipoCambio,TCEspecifico,txtCorteA.Text.ToDate(),UsuarioActual.CveUsuario, DdlTipoProveedor.SelectedValue.ToEntero(), TipoDocto: TipoDocto)) { GvDatos.DataSource = ObjMov.DtResultados; DtDatos = ObjMov.DtResultados; } ObjMov.Dispose(); GvDatos.DataBind(); UpDatos.Update(); } 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(NowADS()); 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 (DdlProveedor.SelectedValue != "-1") StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedor.ddl.SelectedItem.Text); if (DdlProveedoresClasificaciones.SelectedValue != "-1") StrFiltro.AppendFormat(" Clasificación Proveedor: {0}", DdlProveedoresClasificaciones.SelectedItem.Text); if (DdlTipoProveedor.SelectedValue != "-1") StrFiltro.AppendFormat(" Tipo Proveedor: {0}", DdlTipoProveedor.SelectedItem.Text); if (DdlEstatusCompra.SelectedValue != "-1") StrFiltro.AppendFormat(" Estatus Compra: {0}", DdlEstatusCompra.SelectedItem.Text); if (DdlUsuarioResponsable.SelectedValue != "-1") StrFiltro.AppendFormat(" Responsable: {0}", DdlUsuarioResponsable.SelectedItem.Text); if (DdlUsuarioRegistro.SelectedValue != "-1") StrFiltro.AppendFormat(" Registro: {0}", DdlUsuarioRegistro.SelectedItem.Text); string RutaPDF = ""; string Ruta = UsuarioActual.Empresa.Ruta; RutaPDF = $"{Ruta}/Formatos/RepCxPPeriodo.rdlc"; if (!System.IO.File.Exists(RutaPDF)) { RutaPDF = "Empresas/Grales/Formatos/RepCxPPeriodo.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", NowADS().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, "RepCxPPeriodo" + NowADS().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(); } }