public ActionResult GetConsultor()
 {
     UsuarioDTO currentUser = getCurrentUser();
     ComprobanteBL objBL = new ComprobanteBL();
     var lista = objBL.getListaResponsablesEnEmpresa(currentUser.IdEmpresa);
     return Json(lista, JsonRequestBehavior.AllowGet);
 }
Beispiel #2
0
        public string ActualizarEjecucionComprobante(int idComprobante, bool ejecutado, DateTime fecha)
        {
            if (!this.currentUser() || isUsuarioExterno()) { return "false"; }

            ComprobanteBL objBL = new ComprobanteBL();
            if (objBL.actualizarEjecutado(idComprobante, ejecutado, fecha, getCurrentUser().IdEmpresa))
            { return "true"; }
            return "false";
        }
Beispiel #3
0
        public ActionResult NuevaProforma()
        {
            UsuarioDTO currentUser = getCurrentUser();
            ComprobanteBL objBL = new ComprobanteBL();
            ViewBag.lstClientes = new SelectList(objBL.getListaClientesEnEmpresa(currentUser.IdEmpresa),"IdEntidadResponsable", "Nombre");
            ViewBag.lstResponsables = new SelectList(objBL.getListaResponsablesEnEmpresa(currentUser.IdEmpresa), "IdResponsable", "Nombre");
            ViewBag.lstUbicacion = new SelectList(new UbicacionBL().getUbicacionsActivasEnEmpresa(currentUser.IdEmpresa), "IdUbicacion", "Nombre");
            ViewBag.lstItem = new SelectList(new ItemBL().getItemsActivosEnEmpresa(currentUser.IdEmpresa), "IdItem", "Nombre");

            return View();
        }
Beispiel #4
0
        public JsonResult Buscar_Elementos(string texto, int page = 0)
        {
            texto = texto.ToLower();
            EmpresaDTO empresa = (new EmpresaBL()).getEmpresa(getCurrentUser().IdEmpresa);

            MovimientoBL movimientoBL = new MovimientoBL();
            ComprobanteBL comprobanteBL = new ComprobanteBL();
            MovimientoInvBL movimientoInvBL = new MovimientoInvBL();

            List<MovimientoDTO> lstMovimientos = movimientoBL.getMovimientos_EnEmpresa(empresa.IdEmpresa);
            List<ComprobanteDTO> lstComprobantes = comprobanteBL.getComprobantesEnEmpresa(empresa.IdEmpresa);
            List<MovimientoInvDTO> lstMovimientoInv = movimientoInvBL.getMovimientoInvsEnEmpresa(empresa.IdEmpresa);

            List<sItem> ListaS1, ListaS2, ListaS3;

            ListaS1 = lstMovimientos.Where(x => 
                            (x.NroOperacion.ToLower() ?? "").Contains(texto)||
                            (x.Monto.ToString()).Contains(texto)||
                            (x.NombreCategoria.ToLower() ?? "").Contains(texto)||
                            x.nTipoDocumento.ToLower().Contains(texto)||
                            (x.NumeroDocumento.ToLower() ?? "").Contains(texto)||
                            x.NombreEntidadR.ToLower().Contains(texto)
                            ).Select(x => new sItem {
                                id = x.IdMovimiento,
                                nombre = x.NroOperacion,
                                monto = x.Monto,
                                idElemento = 1,
                                elemento = "Movimiento",
                                tipo = x.IdCuentaBancaria.ToString(), //LibroBancario
                                simboloMoneda = x.SimboloMoneda,
                                s1 = x.NombreCategoria,
                                s2 = x.nTipoDocumento,
                                s3 = x.NumeroDocumento,
                                s4 = x.NombreEntidadR
                            }).ToList();

            ListaS2 = lstComprobantes.Where(x => 
                            (x.NroDocumento).Contains(texto)||
                            (x.Monto.ToString()).Contains(texto)||
                            x.NombreTipoDocumento.ToLower().Contains(texto)||
                            x.NombreEntidad.ToLower().Contains(texto)
                            ).Select(x => new sItem
                            {
                                id = x.IdComprobante,
                                nombre = x.NroDocumento,
                                monto = x.Monto,
                                idElemento = 2,
                                elemento = "Comprobante",
                                tipo = x.IdTipoComprobante.ToString(),
                                simboloMoneda = x.SimboloMoneda,
                                s1 = x.NombreTipoDocumento,
                                s2 = x.NombreEntidad
                            }).ToList();

            ListaS3 = lstMovimientoInv.Where(x => 
                            (x.NroDocumento.ToLower()).Contains(texto)||
                            (x.Cantidad.ToString()).Contains(texto)||
                            x.nItem.ToLower().Contains(texto)||
                            x.UnidadMedida.ToLower().Contains(texto)||
                            x.nForma.ToLower().Contains(texto)||
                            x.SerieLote.ToLower().Contains(texto)
                            ).Select(x => new sItem
                            {
                                id = x.IdMovimientoInv,
                                nombre = x.NroDocumento,
                                monto = x.Cantidad,
                                idElemento = 3,
                                elemento = "Movimiento Inv.",
                                tipo = x.IdTipoMovimientoInv.ToString(),
                                s1 = x.nItem,
                                s2 = x.UnidadMedida,
                                s3 = x.nForma,
                                s4 = x.SerieLote
                            }).ToList();

            ListaS1.AddRange(ListaS2);
            ListaS1.AddRange(ListaS3);

            InfoSItem elem = new InfoSItem();
            elem.total_count = ListaS1.Count();
            //elem.items = ListaS1.Skip(5 * page).Take(5).ToList();
            elem.items = ListaS1;

            return Json(new { elem }, JsonRequestBehavior.AllowGet);
        }
Beispiel #5
0
 public JsonResult BuscarComprobante(int idComprobante, int idCuentaBancaria)
 {
     ComprobanteBL objBL = new ComprobanteBL();
     var comprobante = objBL.getComprobanteEjecutadoEnEmpresa(idComprobante, idCuentaBancaria, getCurrentUser().IdEmpresa);
     return Json(new { comprobante }, JsonRequestBehavior.AllowGet);
 }
Beispiel #6
0
        public ActionResult Index()
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            MenuNavBarSelected(0);

            UsuarioDTO user = getCurrentUser();

            EmpresaBL objBL = new EmpresaBL();

            EmpresaDTO empresaOld = objBL.getEmpresa(user.IdEmpresa);
            EmpresaDTO empresa = objBL.getEmpresa(user.IdEmpresa);
            ViewBag.FechaConciliacion = empresa.FechaConciliacion.GetValueOrDefault().ToString("dd/MM/yy", CultureInfo.CreateSpecificCulture("en-GB"));
            ViewBag.TotalSoles = empresa.TotalSoles.GetValueOrDefault();
            ViewBag.TotalDolares = empresa.TotalDolares.GetValueOrDefault();
            ViewBag.TotalSolesOld = empresa.TotalSolesOld.GetValueOrDefault();
            ViewBag.TotalDolaresOld = empresa.TotalDolaresOld.GetValueOrDefault();

            if (empresa.IdMoneda == 1)
            { ViewBag.TotalConsolidado = empresa.TotalSoles.GetValueOrDefault() + empresa.TotalDolares.GetValueOrDefault() * empresa.TipoCambio; }
            else
            { ViewBag.TotalConsolidado = empresa.TotalDolares.GetValueOrDefault() + empresa.TotalSoles.GetValueOrDefault() / empresa.TipoCambio; }

            ViewBag.TipoCambio = empresa.TipoCambio;
            ViewBag.TipoMoneda = empresa.IdMoneda;
            ViewBag.sMoneda = empresa.SimboloMoneda;
            //Liquidez
            ViewBag.lstLiquidezSoles = objBL.getLiquidezEnEmpresaPorMoneda(user.IdEmpresa, 1);
            ViewBag.lstLiquidezDolares = objBL.getLiquidezEnEmpresaPorMoneda(user.IdEmpresa, 2);
            //Rentabilidad
            ViewBag.lstRentabilidad = objBL.getRentabilidadEnEmpresaSegunMoneda(user.IdEmpresa, empresa.IdMoneda);
            //Facturacion y Variacion Porcentual
            List<LiquidezDTO> lista1 = objBL.getFacturacionEnEmpresaPorMoneda(user.IdEmpresa, empresa.IdMoneda, DateTime.Now);
            List<LiquidezDTO> lista2 = objBL.getFacturacionEnEmpresaPorMoneda(user.IdEmpresa, empresa.IdMoneda, DateTime.Now.AddYears(-1));
            ViewBag.lstFacturacion = lista1; ViewBag.lstFacturacionLastYear = lista2;
            ViewBag.lstVPorcentual = objBL.getVariacionPorcentual_12Meses(lista1, lista2);
            //Ejecucion de Presupuesto
            ViewBag.EjecucionIngresos = objBL.getEjecucionDePresupuestoEnEmpresa(user.IdEmpresa, empresa.IdMoneda, empresa.IdPeriodo.GetValueOrDefault(), 1);
            ViewBag.EjecucionEgresos = objBL.getEjecucionDePresupuestoEnEmpresa(user.IdEmpresa, empresa.IdMoneda, empresa.IdPeriodo.GetValueOrDefault(), 2);
            //Cuentas por Cobrar y Cuentas por Pagar
            ViewBag.CuentasXCobrar_Soles = objBL.Get_CuentasPorCobrar(empresa.IdEmpresa, 1);
            ViewBag.CuentasXCobrar_Dolares = objBL.Get_CuentasPorCobrar(empresa.IdEmpresa, 2);
            ViewBag.CuentasXPagar_Soles = objBL.Get_CuentasPorPagar(empresa.IdEmpresa, 1);
            ViewBag.CuentasXPagar_Dolares = objBL.Get_CuentasPorPagar(empresa.IdEmpresa, 2);
            //Cartera Morosa - dias vencidos
            ComprobanteBL cmpBL = new ComprobanteBL();
            List<ComprobanteDTO> lstCarteraMorosa = cmpBL.getComprobantesIngresosYEgresosEnEmpresa_diasVencidos(empresa.IdEmpresa, 1);
            ViewBag.CarteraM_Soles = cmpBL.CarteraMorosa_porMoneda(1, lstCarteraMorosa);
            ViewBag.CarteraM_Dolares = cmpBL.CarteraMorosa_porMoneda(2, lstCarteraMorosa);
            ViewBag.CarteraM_Soles_Count = cmpBL.CarteraMorosa_Count_porMoneda(1, lstCarteraMorosa);
            ViewBag.CarteraM_Dolares_Count = cmpBL.CarteraMorosa_Count_porMoneda(2, lstCarteraMorosa);

            //Principales clientes y proveedores
            ViewBag.top5Clientes = objBL.getTop5Clientes(user.IdEmpresa, empresa.IdPeriodo.GetValueOrDefault());
            ViewBag.top5Proveedores = objBL.getTop5Proveedores(user.IdEmpresa, empresa.IdPeriodo.GetValueOrDefault());
            //Ingresos por Area
            ViewBag.topIngAreas = objBL.getTopIngArea(user.IdEmpresa, empresa.IdPeriodo.GetValueOrDefault());
            ViewBag.topEgrAreas = objBL.getTopEgrArea(user.IdEmpresa, empresa.IdPeriodo.GetValueOrDefault());
            //Contador de Movimientos y Comprobantes en los meses
            //ViewBag.contMovimientos = objBL.getContadorDeMovimientos(user.IdEmpresa);
            //ViewBag.contComprobantes = objBL.getContadorDeComprobantes(user.IdEmpresa);

            return View();
        }
Beispiel #7
0
        public JsonResult GetComprobantes(int idMovimiento, int idEntidad, int idTipoDoc)
        {
            ComprobanteBL objBL = new ComprobanteBL();

            //var listaComp = objBL.getComprobantesPorEntXTDoc(getCurrentUser().IdEmpresa, idEntidad, idTipoDoc);
            List<Select2DTO_B> lista = objBL.getComprobantes_EntidadXDocumento_Pendientes(getCurrentUser().IdEmpresa, idEntidad, idTipoDoc);
            if(idMovimiento > 0)
            {
                MovimientoDTO mov = (new MovimientoBL()).getMovimiento(idMovimiento);
                if(mov != null && mov.IdComprobante != null && mov.IdComprobante > 0 && mov.IdEntidadResponsable == idEntidad && mov.IdTipoDocumento == idTipoDoc)
                {
                    ComprobanteDTO item = objBL.getComprobanteEnEmpresa(getCurrentUser().IdEmpresa, mov.IdComprobante.GetValueOrDefault());
                    Select2DTO_B aux = new Select2DTO_B() { id = item.IdComprobante, text = item.NroDocumento, ejecutado = item.Ejecutado };
                    lista.Insert(0, aux);
                }
                
            }
            return Json(new { lista }, JsonRequestBehavior.AllowGet);
        }
Beispiel #8
0
        public ActionResult AnularComprobante(int id, string comentario)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (getCurrentUser().IdRol == 4) { return RedirectToAction("Comprobantes", "Admin"); }

            ComprobanteDTO dto;
            try
            {
                ComprobanteBL objBL = new ComprobanteBL();
                dto = objBL.getComprobanteEnEmpresa(getCurrentUser().IdEmpresa, id);
                if (objBL.ban(id, comentario))
                {
                    createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_BAN);
                }
                else
                {
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_BAN);
                }
            }
            catch (Exception e)
            {
                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_NO_BAN);
                throw;
            }
            string cadena = "Ingreso";
            if (dto != null) { cadena = dto.IdTipoComprobante == 1 ? "Ingreso" : "Egreso"; }
            return RedirectToAction("Comprobantes" + cadena, "Admin");
        }
Beispiel #9
0
        public ActionResult RestablecerComprobante(int id)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (getCurrentUser().IdRol == 4) { return RedirectToAction("Comprobantes", "Admin"); }

            ComprobanteDTO dto;
            try
            {
                ComprobanteBL objBL = new ComprobanteBL();
                dto = objBL.getComprobanteEnEmpresa(getCurrentUser().IdEmpresa, id);
                if (objBL.unban(id))
                {
                    createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_UNBAN);
                }
                else
                {
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UNBAN);
                }
            }
            catch (Exception e)
            {
                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_NO_UNBAN);
                throw;
            }
            return RedirectToAction("ComprobantesAnulados", "Admin");
        }
Beispiel #10
0
        public ActionResult AddComprobante(ComprobanteDTO dto)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            if (getCurrentUser().IdRol == 4) { return RedirectToAction("Comprobantes", "Admin"); }
            try
            {
                string sTipoComprobante = dto.IdTipoComprobante == 1 ? "Ingreso" : "Egreso";
                int TipoComprobante = 1; //Por defecto tipo de comprobante Ingreso
                if (dto != null)
                {
                    TipoComprobante = dto.IdTipoComprobante;
                    dto.lstMontos = (List<AreaPorComprobanteDTO>)TempData["AreasXMontos"] ?? new List<AreaPorComprobanteDTO>();
                }

                ComprobanteBL objBL = new ComprobanteBL();
                int nDocRepetido = objBL.repeatedNroDocumento(dto.IdEmpresa, dto.IdComprobante, dto.NroDocumento);

                if (dto.IdComprobante == 0)
                {
                    //Si el numero de documento se repite en los ingresos no permitir el registro
                    if (nDocRepetido > 0 && dto.IdTipoComprobante == 1)
                    {
                        switch (nDocRepetido)
                        {
                            case 1:
                                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DOCUMENTO_INGRESO_REPETIDO_1);
                                break;
                            case 3:
                                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DOCUMENTO_INGRESO_REPETIDO_3);
                                break;
                        }
                    }
                    else if (objBL.add(dto))
                    {
                        createResponseMessage(CONSTANTES.SUCCESS);
                        return RedirectToAction("Comprobantes" + sTipoComprobante, "Admin");
                    }
                }
                else if (dto.IdComprobante != 0)
                {
                    //Si el numero de documento se repite en los ingresos no permitir el registro
                    if (nDocRepetido > 0 && dto.IdTipoComprobante == 1)
                    {
                        switch (nDocRepetido)
                        {
                            case 1:
                                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DOCUMENTO_INGRESO_REPETIDO_1);
                                break;
                            case 3:
                                createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_DOCUMENTO_INGRESO_REPETIDO_3);
                                break;
                        }
                    }
                    else if (objBL.update(dto))
                    {
                        createResponseMessage(CONSTANTES.SUCCESS);
                        return RedirectToAction("Comprobantes" + sTipoComprobante, "Admin");
                    }
                    else
                    {
                        createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE);
                    }

                }
                else
                {
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE);
                }
            }
            catch (Exception e)
            {
                if (dto.IdComprobante != 0)
                    createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE);
                else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE);
            }
            TempData["Comprobante"] = dto;
            return RedirectToAction("Comprobante", "Admin", new { id = dto.IdComprobante, idTipoComprobante = dto.IdTipoComprobante });
        }
Beispiel #11
0
        public ActionResult Comprobante(int? id = null, int? idTipoComprobante = null)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            ViewBag.Title = "Comprobante";

            int tipoComprobante = 1;
            if (idTipoComprobante != null) { tipoComprobante = idTipoComprobante.GetValueOrDefault(); }
            MenuNavBarSelected(3, tipoComprobante - 1);
            //MenuNavBarSelected(2);
            UsuarioDTO currentUser = getCurrentUser();
            EmpresaDTO empresa = (new EmpresaBL()).getEmpresa(currentUser.IdEmpresa);

            ComprobanteBL objBL = new ComprobanteBL();
            ViewBag.lstTipoDocumento = objBL.getTipoDeDocumentos();
            ViewBag.lstClientes = objBL.getListaClientesEnEmpresa(currentUser.IdEmpresa);
            ViewBag.lstProveedores = objBL.getListaProveedoresEnEmpresa(currentUser.IdEmpresa);
            ViewBag.lstMonedas = objBL.getListaMonedas();
            ViewBag.lstAreas = objBL.getListaAreasEnEmpresa(currentUser.IdEmpresa, false);
            ViewBag.lstResponsables = objBL.getListaResponsablesEnEmpresa(currentUser.IdEmpresa);
            ViewBag.lstHonorarios = objBL.getListaHonorariosEnEmpresa(currentUser.IdEmpresa);
            ViewBag.Proyectos = new List<ProyectoDTO>();
            ViewBag.Categorias = CategoriasBucle(empresa.IdEmpresa, (int)empresa.IdPeriodo, null, null);

            //Lista de Movimientos Asociados al comprobante
            ViewBag.lstMovimientos = objBL.getMovimientos_AsocComprobante(empresa.IdEmpresa, id.GetValueOrDefault());

            var objSent = TempData["Comprobante"];
            if (objSent != null) { TempData["Comprobante"] = null; return View(objSent); }

            ComprobanteDTO obj;
            if (id != null && id != 0)
            {
                obj = objBL.getComprobanteEnEmpresa((int)currentUser.IdEmpresa, (int)id);
                if (obj == null) return RedirectToAction("Comprobantes");
                if (obj.IdEmpresa != currentUser.IdEmpresa) return RedirectToAction("Comprobantes");
                obj.UsuarioCreacion = currentUser.IdUsuario;
                ViewBag.Montos = obj.lstMontos;

                //Movimientos asociados
                MovimientoBL objMov = new MovimientoBL();
                ViewBag.Movimientos = objMov.getMovimientos_Asoc_Comprobante(obj.IdComprobante);

                return View(obj);
            }
            obj = new ComprobanteDTO();
            obj.IdEmpresa = currentUser.IdEmpresa;
            obj.TipoCambio = (new EmpresaBL()).getEmpresa(currentUser.IdEmpresa).TipoCambio;
            obj.UsuarioCreacion = currentUser.IdUsuario;
            obj.FechaEmision = DateTime.Now;

            if (idTipoComprobante != null && idTipoComprobante != 0) obj.IdTipoComprobante = idTipoComprobante.GetValueOrDefault();
            return View(obj);
        }
Beispiel #12
0
        public ActionResult ComprobantesAnulados()
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            ViewBag.Title = "Comprobantes Anulados";

            MenuNavBarSelected(3, 2);

            UsuarioDTO user = getCurrentUser();

            ComprobanteBL objBL = new ComprobanteBL();
            //int tipo = 3; //Anulados
            //ViewBag.idTipoComprobante = tipo;

            if (user.IdEmpresa > 0)
            {
                List<ComprobanteDTO> lista = objBL.getComprobantesEnEmpresaPorTipo(user.IdEmpresa, 3);
                List<ComprobanteDTO> lista2 = objBL.getComprobantesEnEmpresaPorTipo(user.IdEmpresa, 4);
                lista.AddRange(lista2);
                return View(lista);
            }
            return View();
        }
Beispiel #13
0
        public ActionResult ComprobantesEgreso()
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            ViewBag.Title = "Comprobantes de Egreso";

            MenuNavBarSelected(3, 1);

            UsuarioDTO user = getCurrentUser();

            ComprobanteBL objBL = new ComprobanteBL();
            int tipo = 2; //Egresos
            ViewBag.idTipoComprobante = tipo;

            if (user.IdEmpresa > 0)
            {
                List<ComprobanteDTO> lista = objBL.getComprobantesEnEmpresaPorTipo(user.IdEmpresa, tipo);
                return View(lista);
            }
            return View();
        }
Beispiel #14
0
        public ActionResult Comprobantes(int? idTipoComprobante = null, string sortOrder = null, string currentFilter = null, string searchString = null, int? page = null)
        {
            if (!this.currentUser()) { return RedirectToAction("Ingresar"); }
            ViewBag.Title = "Comprobantes";
            MenuNavBarSelected(2);

            UsuarioDTO currentUser = getCurrentUser();

            ComprobanteBL objBL = new ComprobanteBL();
            List<ComprobanteDTO> listaIngresos = new List<ComprobanteDTO>();
            List<ComprobanteDTO> listaEgresos = new List<ComprobanteDTO>();
            ViewBag.lstTipoComprobantes = objBL.getTipoDeComprobantes();
            ViewBag.idTipoComprobante = idTipoComprobante;

            if (currentUser.IdEmpresa > 0)
            {
                listaIngresos = objBL.getComprobantesEnEmpresaPorTipo(currentUser.IdEmpresa, 1);
                listaEgresos = objBL.getComprobantesEnEmpresaPorTipo(currentUser.IdEmpresa, 2);
                List<IPagedList<ComprobanteDTO>> matrix = new List<IPagedList<ComprobanteDTO>>();
                matrix.Add(BusquedaYPaginado_Comprobantes(listaIngresos, sortOrder, currentFilter, searchString, page));
                matrix.Add(BusquedaYPaginado_Comprobantes(listaEgresos, sortOrder, currentFilter, searchString, page));
                return View(matrix);
            }
            return View();
        }