Files
SIG/CxC/RepCxCPeriodo.aspx.cs
MLopez 7eafa12479 Refactorización/Mejoras en GlobalDTs
CAMBIOS EN BD
- Se MODIFICÓ PA_ProyectosGet en SIG_Resp_MLR
  (se le agregó el parámetro: CveEmpresa)
2023-01-30 21:38:30 -07:00

360 lines
15 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 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("&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 (DdlClientesWS.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Cliente</b>: {0}", DdlClientesWS.SelectedText);
if (DdlVendedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Venedor</b>: {0}", DdlVendedor.SelectedItem.Text);
if (DdlUsuario.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuario.SelectedItem.Text);
if (DdlResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlResponsable.SelectedItem.Text);
if (DdlTipoDocto.GetSelectedText() != "")
StrFiltro.AppendFormat("&emsp;<b>Tipo Documento</b>: {0}", DdlTipoDocto.GetSelectedText());
if (DdlCobranzaEstatus.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Estatus Cobranza</b>: {0}", DdlCobranzaEstatus.SelectedItem.Text);
if (DdlEstatusCliente.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Estatus Cliente</b>: {0}", DdlEstatusCliente.SelectedItem.Text);
if (DdlClienteClasificacion.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Clasificación Cliente</b>: {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<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", 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();
}
}