383 lines
16 KiB
C#
383 lines
16 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_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();
|
|
|
|
//Carga Proyectos
|
|
DdlProyecto.DataSource = get_GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.Empresa.CveEmpresa, 1);
|
|
DdlProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
|
|
DdlProyecto.DataBind();
|
|
|
|
CargaSubProyectos();
|
|
|
|
CargaTipoCentroCosto();
|
|
}
|
|
|
|
private void CargaTipoCentroCosto()
|
|
{
|
|
if (UsuarioActual.Empresa.Tipo_CentroCosto == 1)
|
|
{
|
|
DdlSubProyecto.Items.Clear();
|
|
DivProyecto.Visible = false;
|
|
LblProyecto.Visible = false;
|
|
LblSubProyecto.InnerText = "Sucursal:";
|
|
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
|
|
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
|
|
DdlSubProyecto.DataBind();
|
|
}
|
|
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 2)
|
|
{
|
|
DdlSubProyecto.Items.Clear();
|
|
DivProyecto.Visible = false;
|
|
LblProyecto.Visible = false;
|
|
LblSubProyecto.InnerText = "Proyecto:";
|
|
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
|
|
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
|
|
DdlSubProyecto.DataBind();
|
|
}
|
|
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 4)
|
|
{
|
|
LblProyecto.InnerText = "Sucursal:";
|
|
LblSubProyecto.InnerText = "Proyecto:";
|
|
}
|
|
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 5)
|
|
{
|
|
LblProyecto.InnerText = "Proyecto:";
|
|
LblSubProyecto.InnerText = "Sucursal:";
|
|
}
|
|
}
|
|
|
|
private void CargaSubProyectos()
|
|
{
|
|
DdlSubProyecto.Items.Clear();
|
|
if (DdlProyecto.SelectedValue.ToEntero() > 0)
|
|
{
|
|
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1, 1);
|
|
}
|
|
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
|
|
DdlSubProyecto.DataBind();
|
|
}
|
|
|
|
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(" <b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate().ToShortDateString());
|
|
if (txtFechaF.Text != "")
|
|
StrFiltro.AppendFormat(" <b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate().ToShortDateString());
|
|
if (TxtFechaICompra.Text != "")
|
|
StrFiltro.AppendFormat(" <b>Fecha Inicio Compra</b>: {0}", TxtFechaICompra.Text.ToDate().ToShortDateString());
|
|
if (TxtFechaFCompra.Text != "")
|
|
StrFiltro.AppendFormat(" <b>Fecha Fin Compra</b>: {0}", TxtFechaFCompra.Text.ToDate().ToShortDateString());
|
|
if (DdlProyecto.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Proyecto</b>: {0}", DdlProyecto.SelectedItem.Text);
|
|
if (DdlSubProyecto.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>SubProyecto</b>: {0}", DdlSubProyecto.SelectedItem.Text);
|
|
if (DdlGrupo.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
|
|
if (DdlProveedores.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Proveedor</b>: {0}", DdlProveedores.txtText.Value);
|
|
if (DdlUsuario.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Registro</b>: {0}", DdlUsuario.SelectedItem.Text);
|
|
if (DdlResponsable.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Responsable</b>: {0}", DdlResponsable.SelectedItem.Text);
|
|
if (DdlBanco.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
|
|
if (DdlCuentaBancaria.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Cuenta Bancaria</b>: {0}", DdlCuentaBancaria.SelectedItem.Text);
|
|
if (DdlMoneda.SelectedValue != "-1")
|
|
StrFiltro.AppendFormat(" <b>Moneda</b>: {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<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, "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)
|
|
{
|
|
CargaSubProyectos();
|
|
}
|
|
|
|
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();
|
|
}
|
|
} |