Files
SIG/Inventarios/RepProductosPorCaducar.aspx.cs

243 lines
7.8 KiB
C#

using Extensiones;
using Microsoft.Reporting.WebForms;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Web.UI.WebControls;
public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
{
private DataTable DTDatos
{
get
{
return (DataTable)ViewState["DTDatos"];
}
set
{
ViewState["DTDatos"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaFiltros();
CargarDatos();
CargaAlamacenes();
CargaCompuestos();
}
}
private void CargarDatos()
{
string Cves_Alamcenes = ddlAlmacen.GetSelectedValuesM();
DateTime FI = ModExtensiones.MinFecha;
if (TxtFechaInicio.Text != "") FI = TxtFechaInicio.Text.ToDate();
int CvePS = -1;
if (DdlPS.SelectedValue.ToEntero() > 0) CvePS = DdlPS.SelectedValue.ToEntero();
// aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad
ClsInventarios ObjInventarios = new ClsInventarios();
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
DdlClasificacion.SelectedValue.ToEntero(), CvePS, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion: DdlOpcion.SelectedValue.ToEntero(),
CveCompuesto: DdlCompuesto.SelectedValue.ToEntero() ))
{
GvDatos.DataSource = ObjInventarios.DtResultados;
DTDatos = ObjInventarios.DtResultados;
if (DdlOpcion.SelectedValue == "1")
{
GvDatos.Columns[4].HeaderText = "F.Elaboración";
}
else
{
GvDatos.Columns[4].HeaderText = "F.Caducidad";
}
}
ObjInventarios.Dispose();
GvDatos.DataBind();
}
private void CargaFiltros()
{
CargarFechaText();
CargarProveedores();
CargarSucursales();
CargarClasificaciones();
}
private void CargaCompuestos()
{
ClsProductosServicios ObjPS = new ClsProductosServicios();
ObjPS.GetCompuestosActivos(UsuarioActual.CveEmpresa);
DdlCompuesto.DataSource = ObjPS.DtResultados;
ObjPS.Dispose();
DdlCompuesto.DataBind();
DdlCompuesto.Items.Insert(0, new ListItem("Todos", "-1"));
}
private void CargarFechaText()
{
DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
//TxtFechaInicio.Text = date.AddYears(-5).ToString("dd/MM/yyyy");
TxtFechaFin.Text = date.AddMonths(6).AddDays(-1).ToString("dd/MM/yyyy");
DdlPS.setEsWebService(true);
}
private void CargarProveedores()
{
DdlProveedor.setEsWebService(true);
DdlProveedor.Attributes.Add("data-metodo", "getproveedores");
DdlProveedor.SelectedValue = "-1";
DdlProveedor.SelectedText = "Todos";
}
private void CargarSucursales()
{
//ClsSubProyectos ObjSubProyectos = new ClsSubProyectos();
//if (ObjSubProyectos.GetSubProyectos(UsuarioActual.CveEmpresa))
//{
// DdlSucursal.DataSource = ObjSubProyectos.DtResultados;
//}
//ObjSubProyectos.Dispose();
DdlSucursal.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSucursal.DataBind();
DdlSucursal.Items.Insert(0, new ListItem("Todas", "-1"));
}
private void CargarClasificaciones()
{
//ClsClasificaciones ObjClasificacion = new ClsClasificaciones();
//if (ObjClasificacion.GetClasificaciones(UsuarioActual.CveEmpresa))
//{
// DdlClasificacion.DataSource = ObjClasificacion.DtResultados;
//}
//ObjClasificacion.Dispose();
DdlClasificacion.DataSource = get_GlobalDTClasificaciones(UsuarioActual.CveEmpresa);
DdlClasificacion.DataBind();
DdlClasificacion.Items.Insert(0, new ListItem("Todas", "-1"));
}
private void CargaAlamacenes(int CveSubProyectoFiltro = -1)
{
ddlAlmacen.Items.Clear();
if (CveSubProyectoFiltro > 0)
{
ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveSubProyecto = {CveSubProyectoFiltro}");
}
else
{
ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1);
}
ddlAlmacen.DataBind();
ddlAlmacen.Items.Insert(0, new ListItem("Todos", "-1"));
UPFiltros.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargarDatos();
UpDatos.Update();
}
protected void LnkImprimirPDF_Click(object sender, EventArgs e)
{
ImprimirReporte("PDF");
}
protected void LnkImprimirExcel_Click(object sender, EventArgs e)
{
ImprimirReporte("Excel");
}
private void ImprimirReporte(string formato)
{
StringBuilder Filtros = new StringBuilder();
Filtros.AppendFormat("<strong>Proveedor: </strong>{0}&nbsp;&nbsp;&nbsp;&nbsp;", DdlProveedor.SelectedText);
Filtros.AppendFormat("<strong>Fecha Inicio: </strong>{0}&nbsp;&nbsp;&nbsp;&nbsp;", TxtFechaInicio.Text);
Filtros.AppendFormat("<strong>Fecha Fin: </strong>{0}&nbsp;&nbsp;&nbsp;&nbsp;", TxtFechaFin.Text);
Filtros.AppendFormat("<strong>Sucursal: </strong>{0}&nbsp;&nbsp;&nbsp;&nbsp;", DdlSucursal.SelectedItem.Text);
Filtros.AppendFormat("<strong>Clasificación: </strong>{0}&nbsp;&nbsp;&nbsp;&nbsp;", DdlClasificacion.SelectedItem.Text);
List<ReportParameter> @params = new List<ReportParameter>();
@params.Add(new ReportParameter("Filtros", Filtros.ToString()));
@params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
@params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
@params.Add(new ReportParameter("OcultaCaducidad", ChkTiempoCaducidad.Checked ? "0" : "1"));
var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
if (Imagen.Exists)
{
@params.Add(new ReportParameter("LogoPath", logouri));
}
else
{
@params.Add(new ReportParameter("LogoPath", ""));
}
@params.Add(new ReportParameter("FechaCaducidadHeader", "Fecha Caducidad")); // (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) ? UsuarioActual.Empresa.Funcionalidad(147) : "Fecha Caducidad")));
ImprimirPDF("Empresas/Grales/Formatos/RepProductosCaducidad.rdlc", DTDatos, @params, "Reporte de Productos por Caducar", formato);
}
protected void DdlSucursal_SelectedIndexChanged(object sender, EventArgs e)
{
CargaAlamacenes(DdlSucursal.SelectedValue.ToEntero());
}
protected void BtnPersonalizar_Click(object sender, EventArgs e)
{
Personaliza();
}
private void Personaliza()
{
if (ChkTiempoCaducidad.Checked)
{
GvDatos.Columns[5].Visible = true;
}
else
{
GvDatos.Columns[5].Visible = false;
}
CargarDatos();//Si no se recarga no se muestran los valores dela la columna de tiempo caducindad laprimera vez que pasa de oculta a mostrarse
UpDatos.Update();
}
}