315 lines
14 KiB
C#
315 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_RepPagado : ClsPaginas
|
|
{
|
|
|
|
#region PROPIEDADES
|
|
private DataTable DtPagado
|
|
{
|
|
get { return DtPagado = (DataTable)ViewState["DtPagado"]; }
|
|
set { ViewState["DtPagado"] = value; }
|
|
}
|
|
private string Agrupador
|
|
{
|
|
get { return (ViewState["Agrupador"] == null) ? "" : (ViewState["Agrupador"]).ToString(); }
|
|
set { ViewState["Agrupador"] = value; }
|
|
}
|
|
#endregion
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
InicializaValores();
|
|
ProcesaRequest();
|
|
}
|
|
}
|
|
|
|
private void InicializaValores()
|
|
{
|
|
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:DivProyecto);
|
|
|
|
//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();
|
|
}
|
|
|
|
|
|
private void ProcesaRequest()
|
|
{
|
|
if (DateTime.TryParse(Request["FechaInicio"], out DateTime fechaInicio))
|
|
{
|
|
txtFechaI.Text = fechaInicio.ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
if (DateTime.TryParse(Request["FechaFin"], out DateTime fechaFin))
|
|
{
|
|
txtFechaF.Text = fechaFin.ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
//if (Request["TipoDocto"] != null && Request["TipoDocto"].Length > 0)
|
|
//{
|
|
// string[] tipodoctos = Request["TipoDocto"].Split(',');
|
|
// foreach (ListItem itemTipoDocto in DdlTipoDocto.Items)
|
|
// {
|
|
// foreach (string tipoDocto in tipodoctos)
|
|
// {
|
|
// itemTipoDocto.Selected = tipoDocto.ToUpper() == itemTipoDocto.Value.ToUpper();
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
if (Request["CveMoneda"] != null && Request["CveMoneda"].ToEntero() != 0)
|
|
{
|
|
DdlMoneda.SelectedValueExist(Request["CveMoneda"].ToEntero());
|
|
}
|
|
|
|
if (Request["CveSubProyecto"] != null && Request["CveSubProyecto"].ToEntero() != 0)
|
|
{
|
|
DdlSubProyecto.SelectedValueExist(Request["CveSubProyecto"].ToEntero());
|
|
}
|
|
|
|
|
|
|
|
if ((DateTime.TryParse(Request["FechaInicio"], out DateTime fechaInicio2)) && (DateTime.TryParse(Request["FechaFin"], out DateTime fechaFin2)))
|
|
{
|
|
CargaDatos();
|
|
}
|
|
}
|
|
|
|
|
|
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 LnkPdf_Click(object sender, EventArgs e)
|
|
{
|
|
GenerarPDF("PDF");
|
|
}
|
|
|
|
protected void LnkExcel_Click(object sender, EventArgs e)
|
|
{
|
|
GenerarPDF("EXCEL");
|
|
}
|
|
|
|
protected void BtnConsultar_Click(object sender, EventArgs e)
|
|
{
|
|
CargaDatos();
|
|
}
|
|
|
|
protected void DdlProyecto_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue);
|
|
}
|
|
|
|
protected void DdlBanco_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
CargaCuentasBancarias();
|
|
}
|
|
|
|
private void CargaDatos()
|
|
{
|
|
ClsCompras ObjComp = new ClsCompras();
|
|
if (ObjComp.GetRepPagado(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(),CveTipoProveedor: DdlTipoProveedor.SelectedValue.ToEntero(),
|
|
ConComprobacion: DdlComprobacion.SelectedValue.ToEntero()))
|
|
{
|
|
GvDatos.DataSource = ObjComp.DtResultados;
|
|
DtPagado= ObjComp.DtResultados;
|
|
}
|
|
ObjComp.Dispose();
|
|
GvDatos.DataBind();
|
|
UpDatos.Update();
|
|
Agrupador = DdlGrupo.SelectedItem.Text;
|
|
}
|
|
|
|
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|
{
|
|
if (e.Row.DBCampo("Orden").ToString() == "")
|
|
{
|
|
e.Row.CssClass = "Totales";
|
|
}
|
|
|
|
string Liga4 = String.Format("/Compras/RepPagadoDetalle.aspx?Grupo={0}&CveProveedor={1}&CveProyecto={2}&CveSubProyecto={3}&CveUsuario={4}&FechaI={5}&FechaF={6}&CveResponsable={7}&CveBanco{8}&CveCuenta{9}&GPO={10}&CveMoneda={11}&FechaICompra={12}&FechaFCompra={13}&CveTipoProveedor={14}&Tipo=2&ConComprobacion={15}",
|
|
e.Row.DBCampo("Grupo"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"),
|
|
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("FechaI").ToString().ToDate().ToShortDateString(),
|
|
e.Row.DBCampo("FechaF").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveUsuarioResponsable"),
|
|
e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"),e.Row.DBCampo("CveMoneda"),
|
|
e.Row.DBCampo("FechaICompra").ToString().ToDate().ToShortDateString(),
|
|
e.Row.DBCampo("FechaFCompra").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveTipoProveedor"), e.Row.DBCampo("CveComprobacion"));
|
|
e.Row.FCHyperLink("HplPagado").NavigateUrl = Liga4;
|
|
|
|
string Liga5 = String.Format("/Compras/RepPagadoDetalle.aspx?Grupo={0}&CveProveedor={1}&CveProyecto={2}&CveSubProyecto={3}&CveUsuario={4}&FechaI={5}&FechaF={6}&CveResponsable={7}&CveBanco{8}&CveCuenta{9}&GPO={10}&CveMoneda={11}&FechaICompra={12}&FechaFCompra={13}&CveTipoProveedor={14}&Tipo=1&ConComprobacion={15}",
|
|
e.Row.DBCampo("Grupo"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"),
|
|
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("FechaI").ToString().ToDate().ToShortDateString(),
|
|
e.Row.DBCampo("FechaF").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveUsuarioResponsable"),
|
|
e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("CveMoneda"),
|
|
e.Row.DBCampo("FechaICompra").ToString().ToDate().ToShortDateString(),
|
|
e.Row.DBCampo("FechaFCompra").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveTipoProveedor"), e.Row.DBCampo("CveComprobacion"));
|
|
e.Row.FCHyperLink("HplComprado").NavigateUrl = Liga5;
|
|
}
|
|
}
|
|
|
|
private void GenerarPDF(string Opcion)
|
|
{
|
|
if (DtPagado.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/RepRecuperacion.rdlc";
|
|
if (!System.IO.File.Exists(RutaPDF))
|
|
{
|
|
RutaPDF = "Empresas/Grales/Formatos/RepPagado.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,DtPagado, para, "RepPagado" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion);
|
|
}
|
|
|
|
protected void LnkVerGrafica_Click(object sender, EventArgs e)
|
|
{
|
|
if (DtPagado != null)
|
|
{
|
|
if (DtPagado.Rows.Count < 1)
|
|
{
|
|
Alert("No hay datos disponibles", ModExtensiones.TipoMensaje.MsgAdvertencia);
|
|
return;
|
|
}
|
|
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}";
|
|
RegistraScript("$('#DivModalGrafica').modal('show')");
|
|
DataTable Dt = new DataTable();
|
|
Dt.Columns.Add("gpo");
|
|
Dt.Columns.Add("comprado");
|
|
Dt.Columns.Add("pagado");
|
|
Dt.Columns.Add("moneda");
|
|
|
|
foreach (DataRow Dr in DtPagado.Rows)
|
|
{
|
|
if (Dr["Orden"].ToString() != "")
|
|
{
|
|
DataRow Row = Dt.NewRow();
|
|
Row["gpo"] = $"{Dr["GPO"].ToString()} {GlobalDTMonedas.FiltraParametros($"CveMoneda = {Dr["CveMoneda"].ToString()}").Rows[0]["Abreviatura"].ToString()}";
|
|
Row["comprado"] = Dr["Comprado"].ToString().FormatoNumero();
|
|
Row["pagado"] = Dr["Pagado"].ToString().FormatoNumero();
|
|
Row["moneda"] = Dr["Moneda"].ToString();
|
|
Dt.Rows.Add(Row);
|
|
}
|
|
}
|
|
|
|
var query = from s in Dt.AsEnumerable()
|
|
select new
|
|
{
|
|
gpo = s["gpo"].ToString(),
|
|
comprado = s["comprado"].ToString().ToDouble(),
|
|
pagado = s["pagado"].ToString().ToDouble(),
|
|
moneda = s["moneda"].ToString()
|
|
};
|
|
var json = Newtonsoft.Json.JsonConvert.SerializeObject(query);
|
|
RegistraScript($"CargaGraficaCompracion({json})", "22");
|
|
UPModalProd.Update();
|
|
}
|
|
else
|
|
{
|
|
Alert("No hay datos disponibles", ModExtensiones.TipoMensaje.MsgAdvertencia);
|
|
}
|
|
}
|
|
} |