コード例 #1
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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");
        }
コード例 #2
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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 });
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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 });
        }
コード例 #4
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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 });
        }
コード例 #5
0
ファイル: AdminController.cs プロジェクト: EvertNube/nbLibros
        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 });
        }