Exemple #1
0
        public PartialViewResult SeleccionEmpleadosPeriodo(int id)
        {
            var sucursal = Session["sucursal"] as SucursalDatos;

            ViewBag.IdPeriodo = id;

            //Obtiene los empleados seleccionados en el periodo
            PeriodosPago p       = new PeriodosPago();
            var          periodo = p.GetPeriodoPagoById(id);

            Empleados emp       = new Empleados();
            var       empleados = new List <DatosEmpleado>();

            if (periodo.Especial == true) //si el periodo es especial se muestran todos los empleados, independientemente de su tipo de nómina
            {
                empleados = emp.GetEmpleadosBySucursalConTipoNomina(sucursal.IdSucursal);
            }
            else //si no pues no
            {
                empleados = emp.GetEmpleadosByTipoNomina(sucursal.IdSucursal, periodo.IdTipoNomina);
            }

            ViewBag.EmpleadosSeleccionados = p.GetIdEmpleados(id);
            return(PartialView(empleados));
        }
Exemple #2
0
        public JsonResult SelectPeriodo(int id)
        {
            PeriodosPago ctx     = new PeriodosPago();
            var          periodo = ctx.GetPeriodoPagoById(id);

            Session["periodo"] = periodo;
            return(Json(periodo, JsonRequestBehavior.AllowGet));
        }
Exemple #3
0
        public PartialViewResult PeriodoDetalle(int id)
        {
            var ctx            = new PeriodosPago();
            var periodicidades = ctx.GetPeriodicidadPagos();

            ViewBag.Periodicidades = periodicidades;

            PeriodosPago p     = new PeriodosPago();
            var          model = p.GetPeriodoPagoById(id);

            ViewBag.empleadoPeri = p.empleadosDetalle(id);
            return(PartialView(model));
        }
Exemple #4
0
        //[PeriodoAutorizado]
        //[PeriodoProcesado]
        public PartialViewResult Index()
        {
            var            periodoPago = Session["periodo"] as NOM_PeriodosPago;
            HomeController home        = new HomeController();

            if (periodoPago == null)
            {
                return(home.NoPeriodo());
            }

            //GET Status Actual del periodo
            var ctx           = new PeriodosPago();
            var periodoActual = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago);

            if (periodoActual == null)
            {
                return(home.NoPeriodo());
            }

            //if (periodoActual.Procesado != true) return home.PeriodoNoProcesado(periodoPago.IdTipoNomina == 11);// 11 finiquito

            //Enviaremos a la vista si es finiquito o nomina normal
            ViewBag.isFiniquito = periodoPago.IdTipoNomina == 11;
            ViewBag.idPeriodo   = periodoPago.IdPeriodoPago;

            if (periodoActual.Autorizado != true)
            {
                return(home.PeriodoNoAutorizado(periodoPago.IdTipoNomina == 11));
            }

            Session["periodo"] = periodoActual;

            //TipoNomina = 11 es finiquito
            var modelo = periodoPago.IdTipoNomina == 11 ? _fe.GetDatosCfdiFiniquito(periodoPago.IdPeriodoPago) : _fe.GetDatosCfdi(periodoPago.IdPeriodoPago, periodoPago.IdTipoNomina);


            List <NotificationSummary> listSummary = new List <NotificationSummary>();

            if (TempData["summary"] != null)
            {
                listSummary = TempData["summary"] as List <NotificationSummary>;
            }

            ViewBag.Summary = listSummary;


            return(PartialView(modelo));
        }
Exemple #5
0
        public JsonResult UploadFile(HttpPostedFileBase file)
        {
            int idPeriodo = 0;

            //Validar que el file no este vacio o null
            if (file != null)
            {
                try
                {
                    var periodoPago = Session["periodo"] as NOM_PeriodosPago;
                    //idPeriodo = periodoPago.IdPeriodoPago;

                    PeriodosPago ctx = new PeriodosPago();
                    var          periodoActualizado = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago);


                    if (periodoActualizado.Autorizado)
                    {
                        return(Json(new { error = "ERROR: No se puede subir datos a un periodo Autorizado" }, JsonRequestBehavior.AllowGet));
                    }

                    DataTable dt = new DataTable();
                    dt = Utils.ExcelToDataTable(file);
                    //Validar que sea el formato correcto

                    if (dt == null)
                    {
                        return(Json(new { error = "ERROR: El archivo no tiene el formato correcto" }, JsonRequestBehavior.AllowGet));
                    }

                    DatoComplemento dc = new DatoComplemento();
                    dc.ImportarDatosComplemento(dt, periodoPago.IdPeriodoPago);
                }
                catch (Exception)
                {
                    return(Json(new { error = "ERROR: El archivo no contiene datos correctos o esta dañado." }, JsonRequestBehavior.AllowGet));
                }
            }
            //filebatchuploadsuccess
            return(Json(new { fileuploaded = "agregado", filebatchuploadsuccess = "Batch success" }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> ProcesarAguinaldo(int[] empleados, string[] faltas, bool[] generarPensionAlimenticia, bool anual = false)
        {
            //Validar que la Sesion del periodo este activa
            if (Session["periodo"] != null)
            {
                var periodoPago = Session["periodo"] as NOM_PeriodosPago;

                //Actualizar los datos del periodo en la variable de session
                PeriodosPago ctx = new PeriodosPago();
                var          periodoActualizado = ctx.GetPeriodoPagoById(periodoPago.IdPeriodoPago);
                Session["periodo"] = periodoActualizado;

                //Validar que el periodo no este Autorizado
                if (periodoActualizado.Autorizado)
                {
                    return(Json(new { status = "El periodo ya esta Autorizado, no se puede volver a procesar" }, JsonRequestBehavior.AllowGet));
                }

                if (periodoActualizado.Procesando)
                {
                    return(Json(new { status = "El periodo esta siendo procesado en este momento ... Favor de Esperar... " }, JsonRequestBehavior.AllowGet));
                }

                var sucursal = Session["sucursal"] as SucursalDatos;

                //INICIA EL PROCESADO DE LA NOMINA
                if (sucursal != null)
                {
                    var summary = await ProcesoNomina.ProcesarAguinaldoAsync(empleados, faltas, generarPensionAlimenticia, periodoActualizado.IdPeriodoPago, sucursal.IdCliente, sucursal.IdSucursal, SessionHelpers.GetIdUsuario(), anual);

                    if (summary != null)
                    {
                        TempData["summary"] = summary;
                    }
                }
            }

            return(Json(new { status = "OK - nominas" }, JsonRequestBehavior.AllowGet));
        }