예제 #1
0
        public ActionResult FiniquitoFiscal()
        {
            var             periodo = Session["periodo"] as NOM_PeriodosPago;
            PeriodosPago    pdo     = new PeriodosPago();
            finiquitosClass fini    = new finiquitosClass();
            //var idemp = pdo.GetIdEmpleados(periodo.IdPeriodoPago);
            var             emp       = fini.EmpleadoPeriodoById(periodo.IdPeriodoPago);
            finiquitosClass finiquito = new finiquitosClass();


            var fin = finiquito.FiniquitoFiscal(periodo.IdPeriodoPago);

            if (fin != null)
            {
                var finDet = finiquito.FiniquitoDetalle(fin.IdFiniquito);
                ViewBag.finDet = finDet;
            }
            else
            {
                var finDet = finiquito.FiniquitoDetalle(0);
                ViewBag.finDet = finDet;
            }


            ViewBag.empleado = emp;

            return(PartialView(fin));
        }
예제 #2
0
        public PartialViewResult GetPeriodosPago(int id = 0)
        {
            var          idusuario = SessionHelpers.GetIdUsuario();
            SYA_Usuarios usuarios;

            using (var context = new RHEntities())
            {
                usuarios = context.SYA_Usuarios.FirstOrDefault(x => x.IdUsuario == idusuario);
            }

            var sucursal = Session["sucursal"] as SucursalDatos;
            var periodos = new List <NOM_PeriodosPago>();

            if (sucursal != null)
            {
                PeriodosPago ctx = new PeriodosPago();
                periodos = ctx.GetPeriodosPagoBySucursal(sucursal.IdSucursal, id);
                periodos = periodos.OrderByDescending(x => x.IdPeriodoPago).ToList();

                ViewBag.SelectedEf = id;
                ViewBag.Ejercicios = sucursal.Ejercicios;
            }



            ViewBag.usuarios = usuarios;
            return(PartialView(periodos));
        }
예제 #3
0
        public JsonResult SetPeriodoPagado(int IdPeriodo)
        {
            PeriodosPago pp     = new PeriodosPago();
            var          result = pp.SetPeriodoPago(IdPeriodo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #4
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));
        }
예제 #5
0
        public async Task <JsonResult> eliminarPeriodo(int idPeriodo)
        {
            PeriodosPago p      = new PeriodosPago();
            var          result = await p.EliminarPeriodoAsync(idPeriodo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public JsonResult agregarEmpleadosPeriodo(int [] arrayE, int idPeriodo)
        {
            PeriodosPago p      = new PeriodosPago();
            var          result = p.agregarEmpleadosAPeriodo(arrayE, idPeriodo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        public JsonResult CerrarPeriodo(int id)
        {
            PeriodosPago p      = new PeriodosPago();
            var          result = p.CerrarPeriodo(id);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        public JsonResult cambiarDescripcion(int idPeriodo, string nombreNuevo)
        {
            PeriodosPago p = new PeriodosPago();

            var result = p.cambiarNombre(idPeriodo, nombreNuevo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public JsonResult eliminarLista(int [] arrayE, int idPeriodo)
        {
            var          sucursal = Session["sucursal"] as SucursalDatos;
            PeriodosPago p        = new PeriodosPago();
            var          result   = p.eliminarEmpLista(arrayE, idPeriodo);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public JsonResult SelectPeriodo(int id)
        {
            PeriodosPago ctx     = new PeriodosPago();
            var          periodo = ctx.GetPeriodoPagoById(id);

            Session["periodo"] = periodo;
            return(Json(periodo, JsonRequestBehavior.AllowGet));
        }
예제 #11
0
        public ActionResult EmpleadoRFCInvalido(int idPeriocidadPago, int rfc)
        {
            var          sucursal = Session["sucursal"] as SucursalDatos;
            PeriodosPago p        = new PeriodosPago();
            var          datos    = p.GetEmpleadoByTipoNomina(idPeriocidadPago, sucursal.IdSucursal, rfc);

            return(PartialView(datos));
        }
예제 #12
0
        public ActionResult empleadoFiniquitoC(int idPeriocidadPago, int rfc)
        {
            var          sucursal = Session["sucursal"] as SucursalDatos;
            PeriodosPago p        = new PeriodosPago();
            var          datos    = p.empleadoFiniquitoC(sucursal.IdSucursal, rfc);

            return(PartialView(datos));
        }
예제 #13
0
        public ActionResult EmpleadosBaja(int idPeriocidadPago)

        {
            var          sucursal = Session["sucursal"] as SucursalDatos;
            PeriodosPago p        = new PeriodosPago();
            var          datos    = p.EmpleadosBaja(idPeriocidadPago, sucursal.IdSucursal);

            return(PartialView(datos));
        }
예제 #14
0
        public PartialViewResult NuevoPeriodo()
        {
            var          ctx            = new PeriodosPago();
            var          periodicidades = ctx.GetPeriodicidadPagos();
            var          sucursal       = Session["sucursal"] as SucursalDatos;
            PeriodosPago p = new PeriodosPago();

            ViewBag.Periodicidades = periodicidades;
            return(PartialView());
        }
예제 #15
0
        public ActionResult GetPeriodosPago()
        {
            var sucursal = Session["sucursal"] as SucursalDatos;
            var ctx      = new PeriodosPago();
            var periodos = ctx.GetPeriodosPagoBySucursal(sucursal.IdSucursal);

            var modeloLista = periodos.OrderByDescending(x => x.IdPeriodoPago).ToList();

            return(PartialView(modeloLista));
        }
예제 #16
0
        public JsonResult CrearPeriodo(int [] arrayE, string [] periodoDatos)
        {
            var          sucursal  = Session["sucursal"] as SucursalDatos;
            PeriodosPago crear     = new PeriodosPago();
            int          idUsuario = SessionHelpers.GetIdUsuario();

            crear.guardarPeriodo(arrayE, periodoDatos, sucursal.IdSucursal, sucursal.IdCliente, idUsuario);

            return(Json("success", JsonRequestBehavior.AllowGet));
        }
예제 #17
0
        public JsonResult GetPeriodosBySucursal(int id, int idEjercicio, int idEmisor)
        {
            PeriodosPago pp            = new PeriodosPago();
            var          listaPeriodos = pp.GetPeriodosBySucursalTimbrados(id, idEjercicio, idEmisor);

            Tuple <int, string> item0 = new Tuple <int, string>(0, "Todos -");

            listaPeriodos.Insert(0, item0);

            return(Json(listaPeriodos, JsonRequestBehavior.AllowGet));
        }
예제 #18
0
        public ActionResult empleadosAgregados(int idPeriodo)
        {
            var sucursal = Session["sucursal"] as SucursalDatos;

            PeriodosPago p = new PeriodosPago();

            var empleadoPeri = p.empleadosDetalle(idPeriodo);

            ViewBag.idPeriodo = idPeriodo;
            return(PartialView(empleadoPeri));
        }
예제 #19
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));
        }
예제 #20
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));
        }
예제 #21
0
        public JsonResult PeriodoProcesando()
        {
            var periodo = Session["periodo"] as NOM_PeriodosPago;

            if (periodo == null)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }

            PeriodosPago pp         = new PeriodosPago();
            var          procesando = pp.PeriodoEnProceso(periodo.IdPeriodoPago);

            periodo.Procesando = procesando;
            Session["periodo"] = periodo;
            return(Json(procesando, JsonRequestBehavior.AllowGet));
        }
예제 #22
0
        // GET: Finiquito
        public ActionResult Index()
        {
            var             periodo = Session["periodo"] as NOM_PeriodosPago;
            PeriodosPago    pdo     = new PeriodosPago();
            finiquitosClass fini    = new finiquitosClass();
            //var idemp = pdo.GetIdEmpleados(periodo.IdPeriodoPago);
            var             emp       = fini.EmpleadoPeriodoById(periodo.IdPeriodoPago);
            finiquitosClass finiquito = new finiquitosClass();


            var fin = finiquito.FiniquitoFiscal(periodo.IdPeriodoPago);

            ViewBag.empleado      = emp;
            ViewBag.esLiquidacion = false;
            return(PartialView(fin));
        }
예제 #23
0
        public JsonResult GetPeriodoInfo(int id = 0)
        {
            var sucursal = Session["sucursal"] as SucursalDatos;

            if (sucursal != null)
            {
                PeriodosPago pp     = new PeriodosPago();
                var          result = pp.GetPeriodoInfo(sucursal.IdSucursal, id);


                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("{}", JsonRequestBehavior.AllowGet));
            }
        }
예제 #24
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));
        }
예제 #25
0
        public ActionResult empleadosDisponibles(int idPeriodo, int idtiponomina)
        {
            PeriodosPago p = new PeriodosPago();

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

            if (idtiponomina == 11)
            {
                var emp = p.IdempleadosDetalleFiniquito(idPeriodo, sucursal.IdSucursal);
                ViewBag.idPeriodo    = idPeriodo;
                ViewBag.idTipoNomina = idtiponomina;
                return(PartialView(emp));
            }
            else
            {
                var emp = p.IdempleadosDetalle(idPeriodo, sucursal.IdSucursal);
                ViewBag.idPeriodo    = idPeriodo;
                ViewBag.idTipoNomina = idtiponomina;
                return(PartialView(emp));
            }
        }
예제 #26
0
        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));
        }
예제 #27
0
        public PartialViewResult GetPeriodosPago(int id = 0)
        {
            var idusuario    = SessionHelpers.GetIdUsuario();
            int departamento = 0;

            var sucursal = Session["sucursal"] as SucursalDatos;
            var periodos = new List <NOM_PeriodosPago>();

            if (sucursal != null)
            {
                PeriodosPago ctx = new PeriodosPago();

                var periodosYDepartamento = ctx.GetPeriodosPagoBySucursal(sucursal.IdSucursal, id, idusuario);
                departamento = periodosYDepartamento.Item2;
                periodos     = periodosYDepartamento.Item1;
                periodos     = periodos.OrderByDescending(x => x.IdPeriodoPago).ToList();

                ViewBag.SelectedEf = id;
                ViewBag.Ejercicios = sucursal.Ejercicios;
            }

            ViewBag.usuarios = departamento;
            return(PartialView(periodos));
        }
예제 #28
0
        private static void TuplasSelect()
        {
            PeriodosPago pp = new PeriodosPago();

            pp.GetPeriodosBySucursalTimbrados(5, 8, 8);
        }
예제 #29
0
        public void AsignarEmpleadosAPeriodo(int IdPeriodoPago, int[] empleados = null)
        {
            PeriodosPago p = new PeriodosPago();

            p.UpdatePeriodoPagoEmpleados(IdPeriodoPago, empleados);
        }
예제 #30
0
        public void UpdatePeriodoPago(NOM_PeriodosPago updatedModel)
        {
            PeriodosPago p = new PeriodosPago();

            p.UpdatePeriodoPago(updatedModel);
        }