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_RepPagadoPeriodo : 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; //Carga Moneda DdlMoneda.DataSource = GlobalDTMonedas; DdlMoneda.Items.Insert(0, new ListItem("Todos", "-1")); DdlMoneda.DataBind(); //Carga Proveedor DdlProveedores.setEsWebService(true); DdlProveedores.Attributes.Add("data-metodo", "getproveedores"); DdlProveedores.SelectedText = "Todos"; DdlProveedores.SelectedValue = "-1"; //Carga Usuarios DdlUsuario.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa); DdlUsuario.Items.Insert(0, new ListItem("Todos", "-1")); DdlUsuario.DataBind(); //Carga Responsable DdlResponsable.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa); DdlResponsable.Items.Insert(0, new ListItem("Todos", "-1")); DdlResponsable.DataBind(); //Carga Bancos DdlBanco.DataSource = GlobalDTBancos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}"); DdlBanco.Items.Insert(0, new ListItem("Todos", "-1")); DdlBanco.DataBind(); CargaCuentasBancarias(); txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}"; txtFechaF.Text = DateTime.Now.ToShortDateString(); TxtFechaICompra.Text = MinFecha.ToShortDateString(); //'$"01/01/{DateTime.Now.Year}"; TxtFechaFCompra.Text = DateTime.Now.ToShortDateString(); CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:DivProyecto); } private void CargaCuentasBancarias() { DdlCuentaBancaria.Items.Clear(); if (DdlBanco.SelectedValue.ToEntero() > 0) { DdlCuentaBancaria.DataSource = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero()}"); } DdlCuentaBancaria.Items.Insert(0, new ListItem("Todos", "-1")); DdlCuentaBancaria.DataBind(); } 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["Orden"].ToString() != "") { Dt.Columns.Add($"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"); DataRow Row2 = Dt2.NewRow(); Row2["balloonText"] = "Pagado [[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["Orden"].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 (txtFechaI.Text != "") StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate().ToShortDateString()); if (txtFechaF.Text != "") StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate().ToShortDateString()); if (TxtFechaICompra.Text != "") StrFiltro.AppendFormat(" Fecha Inicio Compra: {0}", TxtFechaICompra.Text.ToDate().ToShortDateString()); if (TxtFechaFCompra.Text != "") StrFiltro.AppendFormat(" Fecha Fin Compra: {0}", TxtFechaFCompra.Text.ToDate().ToShortDateString()); if (DdlProyecto.SelectedValue != "-1") StrFiltro.AppendFormat(" Proyecto: {0}", DdlProyecto.SelectedItem.Text); if (DdlSubProyecto.SelectedValue != "-1") StrFiltro.AppendFormat(" SubProyecto: {0}", DdlSubProyecto.SelectedItem.Text); if (DdlGrupo.SelectedValue != "-1") StrFiltro.AppendFormat(" Grupo: {0}", DdlGrupo.SelectedItem.Text); if (DdlProveedores.SelectedValue != "-1") StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedores.txtText.Value); if (DdlUsuario.SelectedValue != "-1") StrFiltro.AppendFormat(" Registro: {0}", DdlUsuario.SelectedItem.Text); if (DdlResponsable.SelectedValue != "-1") StrFiltro.AppendFormat(" Responsable: {0}", DdlResponsable.SelectedItem.Text); if (DdlBanco.SelectedValue != "-1") StrFiltro.AppendFormat(" Banco: {0}", DdlBanco.SelectedItem.Text); if (DdlCuentaBancaria.SelectedValue != "-1") StrFiltro.AppendFormat(" Cuenta Bancaria: {0}", DdlCuentaBancaria.SelectedItem.Text); if (DdlMoneda.SelectedValue != "-1") StrFiltro.AppendFormat(" Moneda: {0}", DdlMoneda.SelectedItem.Text); string RutaPDF = ""; string Ruta = UsuarioActual.Empresa.Ruta; RutaPDF = $"{Ruta}/Formatos/RepPagadoPeriodo.rdlc"; if (!System.IO.File.Exists(RutaPDF)) { RutaPDF = "Empresas/Grales/Formatos/RepPagadoPeriodo.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, "RepPagadoPeriodo" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion); } protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.DBCampo("Orden").ToString() == "") { e.Row.CssClass = "Totales"; } } } private void Consulta() { if (RblTipoCambio.SelectedValue.ToEntero() == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } ClsCompras ObjCompras = new ClsCompras(); if(ObjCompras.GetRepPagadoPeriodo(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlProveedores.SelectedValue.ToEntero(), DdlProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedValue.ToEntero(), DdlUsuario.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero(), DdlResponsable.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, DdlBanco.SelectedValue.ToEntero(), DdlCuentaBancaria.SelectedValue.ToEntero(), DdlMoneda.SelectedValue.ToEntero(), TxtFechaICompra.Text.ToDate(), TxtFechaFCompra.Text.ToDate(), TipoCambio, TCEspecifico)){ GvDatos.DataSource = ObjCompras.DtResultados; DtDatos = ObjCompras.DtResultados; } ObjCompras.Dispose(); GvDatos.DataBind(); UpDatos.Update(); } protected void BtnConsultar_Click(object sender, EventArgs e) { Consulta(); } protected void DdlProyecto_SelectedIndexChanged(object sender, EventArgs e) { CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue); } protected void DdlBanco_SelectedIndexChanged(object sender, EventArgs e) { CargaCuentasBancarias(); } 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(); } }