public ActionResult ExportarMovimientosInv(int idTipo, DateTime? FechaInicio, DateTime? FechaFin) { if (FechaInicio == null || FechaFin == null) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_FILE_DETAIL); return RedirectToAction("Index", "Admin"); } EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); Reportes_InventariosBL objBL = new Reportes_InventariosBL(); List<MovimientoInvDTO> lstMovsInv = objBL.getMovimientoInvsEnEmpresaPorTipo(objEmpresa.IdEmpresa, idTipo, FechaInicio.GetValueOrDefault(), FechaFin.GetValueOrDefault()); string sTipo = idTipo == 1 ? "Ingreso" : "Egreso"; if (lstMovsInv == null || lstMovsInv.Count == 0) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_EMPTY); return RedirectToAction("Inventarios" + sTipo, "Admin"); } System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); dt.Columns.Add("Fecha"); dt.Columns.Add("Movimiento"); dt.Columns.Add("Documento"); dt.Columns.Add("Cod-Item"); dt.Columns.Add("Cantidad"); dt.Columns.Add("U. Med"); dt.Columns.Add("Lote"); dt.Columns.Add("Stock Lote"); if (idTipo == 1) { dt.Columns.Add("Guia de Remision"); dt.Columns.Add("Vencimiento"); dt.Columns.Add("Proveedor"); } dt.Columns.Add("Usuario"); dt.Columns.Add("Ubicacion"); dt.Columns.Add("Comentario"); foreach (var obj in lstMovsInv) { System.Data.DataRow row = dt.NewRow(); row["Fecha"] = obj.FechaInicial.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture); row["Movimiento"] = obj.nForma; row["Documento"] = obj.NroDocumento; row["Cod-Item"] = obj.nItem; row["Cantidad"] = obj.Cantidad; row["U. Med"] = obj.UnidadMedida; row["Lote"] = obj.SerieLote; row["Stock Lote"] = obj.StockLote; if (idTipo == 1) { row["Guia de Remision"] = obj.GuiaRemision; row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-"; row["Proveedor"] = obj.nEntidadResponsable; } row["Usuario"] = obj.nUsuario; row["Ubicacion"] = obj.nUbicacion; row["Comentario"] = obj.Comentario; dt.Rows.Add(row); } GenerarPdf4(dt, "Detalle de Inventarios de " + sTipo, "DetalleInventarios" + sTipo, objEmpresa, FechaInicio, FechaFin, Response); createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_FILE); return RedirectToAction("Inventarios" + sTipo, "Admin"); }
public ActionResult GenerarRep_Stock_De_Items(DateTime? FechaFin) { if (FechaFin == null) { return RedirectToAction("ReportesInventarios", new { message = 1 }); } //FechaFin = DateTime.Now; EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); Reportes_InventariosBL repBL = new Reportes_InventariosBL(); List<ItemDTO> lista = repBL.Get_Reporte_Stock_De_Items(objEmpresa.IdEmpresa, FechaFin.GetValueOrDefault()); if (lista == null) return RedirectToAction("ReportesInventarios", new { message = 2 }); System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); dt.Columns.Add("Código"); dt.Columns.Add("Item"); dt.Columns.Add("Unidad Medida"); dt.Columns.Add("Categoría"); dt.Columns.Add("Stock por Item"); foreach (var obj in lista) { DataRow row = dt.NewRow(); row["Código"] = obj.Codigo; row["Item"] = obj.Nombre; row["Unidad Medida"] = obj.UnidadMedida; row["Categoría"] = obj.nCategoriaItem; row["Stock por Item"] = obj.SaldoItem; dt.Rows.Add(row); } GenerarPdf7(dt, "Stock Por Items", "StockPorItems", objEmpresa, FechaFin, Response); return RedirectToAction("ReportesInventarios", new { message = 2 }); }
public ActionResult GenerarRep_Inventarios(DateTime? FechaInicio, DateTime? FechaFin) { if (FechaInicio == null || FechaFin == null) { return RedirectToAction("ReportesInventarios", new { message = 1 }); } EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); ItemBL itemBL = new ItemBL(); List<ItemDTO> lstItems = itemBL.getItemsEnEmpresa(objEmpresa.IdEmpresa); Reportes_InventariosBL repBL = new Reportes_InventariosBL(); List<MovimientoInvDTO> lstInventarios = repBL.Get_Reporte_De_Inventarios(objEmpresa.IdEmpresa, FechaInicio.GetValueOrDefault(), FechaFin.GetValueOrDefault()); if (lstInventarios == null) return RedirectToAction("ReportesInventarios", new { message = 2 }); System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); dt.Columns.Add("Código"); dt.Columns.Add("Item"); dt.Columns.Add("Fecha"); dt.Columns.Add("Movimiento"); dt.Columns.Add("Tipo"); dt.Columns.Add("Numero Documento"); dt.Columns.Add("Guia de Remision"); dt.Columns.Add("Entidad"); dt.Columns.Add("Categoría"); dt.Columns.Add("Cantidad"); dt.Columns.Add("Unid Med"); dt.Columns.Add("Ubicacion"); dt.Columns.Add("Lote"); dt.Columns.Add("Stock por Lote"); dt.Columns.Add("Stock por Item"); dt.Columns.Add("Vencimiento"); dt.Columns.Add("Comentario"); dt.Columns.Add("Usuario"); foreach (var item in lstItems) { DataRow row = dt.NewRow(); row["Código"] = item.Codigo; row["Item"] = item.Nombre; dt.Rows.Add(row); List<MovimientoInvDTO> movsItm = lstInventarios.Where(x => x.nItemCodigo == item.Codigo).ToList(); foreach (var mov in movsItm) { DataRow row1 = dt.NewRow(); row1["Fecha"] = mov.FechaInicial.ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")); //row1["Movimiento"] = mov.IdTipoMovimientoInv == 1 ? "Ingreso" : "Egreso"; row1["Movimiento"] = mov.nTipo; row1["Tipo"] = mov.nForma; row1["Numero Documento"] = mov.NroDocumento; row1["Guia de Remision"] = mov.GuiaRemision; row1["Entidad"] = mov.nEntidadResponsable; row1["Categoría"] = mov.nCategoria; row1["Cantidad"] = mov.Cantidad; row1["Unid Med"] = mov.UnidadMedida; row1["Ubicacion"] = mov.nUbicacion; row1["Lote"] = mov.SerieLote; row1["Stock por Lote"] = mov.StockLote; row1["Stock por Item"] = mov.SaldoItem; row1["Vencimiento"] = mov.FechaFin != null ? mov.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-"; row1["Comentario"] = mov.Comentario; row1["Usuario"] = mov.nUsuario; dt.Rows.Add(row1); } } /*foreach (var obj in lstInventarios) { DataRow row = dt.NewRow(); row["Código"] = obj.nItemCodigo; row["Item"] = obj.nItem; row["Categoría"] = obj.nCategoria; row["Lote"] = obj.SerieLote; row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-"; row["Stock por Lote"] = obj.StockLote; row["Saldo Por Item"] = obj.SaldoItem; row["Ubicación"] = obj.nUbicacion; dt.Rows.Add(row); }*/ GenerarPdf4(dt, "Movimientos de todos los items", "MovimientosDeTodosLosItems", objEmpresa, FechaInicio, FechaFin, Response); return RedirectToAction("ReportesInventarios", new { message = 2 }); }
public ActionResult GenerarRep_Items_Por_Vencimiento(DateTime? rFechaFin) { if (rFechaFin == null) { return RedirectToAction("ReportesInventarios", new { message = 1 }); } EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); Reportes_InventariosBL repBL = new Reportes_InventariosBL(); List<MovimientoInvDTO> lstInventarios = repBL.Get_Reporte_Items_Por_Vencimiento(objEmpresa.IdEmpresa, rFechaFin.GetValueOrDefault()); if (lstInventarios == null) return RedirectToAction("ReportesInventarios", new { message = 2 }); System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); dt.Columns.Add("Código"); dt.Columns.Add("Item"); dt.Columns.Add("Unidad Medida"); dt.Columns.Add("Categoría"); dt.Columns.Add("Lote"); dt.Columns.Add("Vencimiento"); dt.Columns.Add("Stock Por Lote"); dt.Columns.Add("Stock Por Item"); dt.Columns.Add("Ubicación"); foreach (var obj in lstInventarios) { DataRow row = dt.NewRow(); row["Código"] = obj.nItemCodigo; row["Item"] = obj.nItem; row["Unidad Medida"] = obj.UnidadMedida; row["Categoría"] = obj.nCategoria; row["Lote"] = obj.SerieLote; row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-"; row["Stock Por Lote"] = obj.StockLote; row["Stock Por Item"] = obj.SaldoItem; row["Ubicación"] = obj.nUbicacion; dt.Rows.Add(row); } GenerarPdf7(dt, "Stock de Items con Fecha de Vencimiento", "StockDeItemsConFechaDeVencimiento", objEmpresa, rFechaFin, Response); return RedirectToAction("ReportesInventarios", new { message = 2 }); }
public ActionResult GenerarRep_Movimiento_De_Inventarios(int? idItem, DateTime? FechaInicio, DateTime? FechaFin) { if (FechaInicio == null || FechaFin == null) { return RedirectToAction("ReportesInventarios", new { message = 1 }); } EmpresaDTO objEmpresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa); Reportes_InventariosBL repBL = new Reportes_InventariosBL(); ItemBL itemBL = new ItemBL(); ItemDTO item = itemBL.getItemEnEmpresa(objEmpresa.IdEmpresa, idItem.GetValueOrDefault()); List<MovimientoInvDTO> lstMovs = repBL.Get_Reporte_De_Movimientos_De_Inventarios(idItem.GetValueOrDefault(), objEmpresa.IdEmpresa, FechaInicio.GetValueOrDefault(), FechaFin.GetValueOrDefault()); if (lstMovs == null) return RedirectToAction("ReportesInventarios", new { message = 2 }); System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); dt.Columns.Add("Fecha"); dt.Columns.Add("Movimiento"); dt.Columns.Add("Tipo"); dt.Columns.Add("Numero Documento"); dt.Columns.Add("Guia de Remision"); dt.Columns.Add("Proveedor"); dt.Columns.Add("Cantidad"); dt.Columns.Add("Unid Med"); dt.Columns.Add("Ubicacion"); dt.Columns.Add("Lote"); dt.Columns.Add("Stock por Lote"); dt.Columns.Add("Vencimiento"); dt.Columns.Add("Comentario"); dt.Columns.Add("Usuario"); foreach (var obj in lstMovs) { DataRow row = dt.NewRow(); row["Fecha"] = obj.FechaInicial.ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")); row["Movimiento"] = obj.nTipo; row["Tipo"] = obj.nForma; row["Numero Documento"] = obj.NroDocumento; row["Guia de Remision"] = obj.GuiaRemision; row["Proveedor"] = obj.nEntidadResponsable; row["Cantidad"] = obj.Cantidad; row["Unid Med"] = obj.UnidadMedida; row["Ubicacion"] = obj.nUbicacion; row["Lote"] = obj.SerieLote; row["Stock por Lote"] = obj.StockLote; row["Vencimiento"] = obj.FechaFin != null ? obj.FechaFin.GetValueOrDefault().ToString("dd/MMM/yyyy", CultureInfo.CreateSpecificCulture("en-GB")) : "-"; row["Comentario"] = obj.Comentario; row["Usuario"] = obj.nUsuario; dt.Rows.Add(row); } GenerarPdf3(dt, "Movimiento por item", "MovimientoPorItem", item.Codigo, item.Nombre, objEmpresa, FechaInicio, FechaFin, Response); return RedirectToAction("ReportesInventarios", new { message = 2 }); }