Files
SIG/Compras/RepCxPPeriodo.aspx.cs
rrene 1c14bceea9 -- cambio de GlobalDTSubProyectos
- cambio en GlobalDTUsuarios
2024-08-01 05:46:28 -07:00

316 lines
14 KiB
C#

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("&emsp;<b>Fecha Corte</b>: {0}", txtCorteA.Text.ToDate().ToShortDateString());
if (DdlSubProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Sucursal</b>: {0}", DdlSubProyecto.SelectedItem.Text);
if (DdlGrupo.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
if (DdlProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proveedor</b>: {0}", DdlProveedor.ddl.SelectedItem.Text);
if (DdlProveedoresClasificaciones.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Clasificación Proveedor</b>: {0}", DdlProveedoresClasificaciones.SelectedItem.Text);
if (DdlTipoProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Tipo Proveedor</b>: {0}", DdlTipoProveedor.SelectedItem.Text);
if (DdlEstatusCompra.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Estatus Compra</b>: {0}", DdlEstatusCompra.SelectedItem.Text);
if (DdlUsuarioResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlUsuarioResponsable.SelectedItem.Text);
if (DdlUsuarioRegistro.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {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<ReportParameter> para = new List<ReportParameter>();
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();
}
}