예제 #1
0
        public async Task <JsonResult> finiquito(int idEmpleado, int idFiniquito, ParametrosFiniquitos arrayF, bool calcularLiquidacion)
        {
            finiquitosClass finiq = new finiquitosClass();

            var periodo = Session["periodo"] as NOM_PeriodosPago;

            //idFiniquito = await finiquitosClass.ProcesarFiniquitoAsync(periodo, idEmpleado, false);

            idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, periodo.IdSucursal, arrayF, calcularLiquidacion);

            //var fin = finiq.FiniquitoFiscal(periodo.IdPeriodoPago);
            ViewBag.esLiquidacion = calcularLiquidacion;

            return(Json(new { status = "OK - Fin Procesado de nominas", idFiniquito = idFiniquito }));
        }
예제 #2
0
        public async Task <JsonResult> finiquito(int idEmpleado, int idFiniquito, ParametrosFiniquitos arrayF, bool calcularLiquidacion, bool paramArt174)
        {
            //finiquitosClass finiq = new finiquitosClass();

            var periodo  = Session["periodo"] as NOM_PeriodosPago;
            var sucursal = Session["sucursal"] as SucursalDatos;
            //idFiniquito = await finiquitosClass.ProcesarFiniquitoAsync(periodo, idEmpleado, false);
            int idUsuario = SessionHelpers.GetIdUsuario();

            idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, sucursal.IdCliente, periodo.IdSucursal, arrayF, idUsuario, calcularLiquidacion, null, isArt174 : paramArt174);

            //var fin = finiq.FiniquitoFiscal(periodo.IdPeriodoPago);
            ViewBag.esLiquidacion = calcularLiquidacion;


            return(Json(new { status = "OK - Fin Procesado de nominas", idFiniquito = idFiniquito }));
        }
예제 #3
0
        public async Task <JsonResult> SaveCustomData()
        {
            int  idFiniquito            = 0;
            int  idEmpleado             = 0;
            bool esLiquidacion          = false;
            bool isArt174               = false;
            ParametrosFiniquitos arrayF = null;

            try
            {
                string strTotal3MesesF = Request.Form["totalTresMesesF"];
                string strTotal3MesesC = Request.Form["totalTresMesesC"];

                string strTotal20DiasF = Request.Form["totalVeinteF"];
                string strTotal20DiasC = Request.Form["totalVeinteC"];

                string strTotalPrimaF = Request.Form["totalPrimaF"];
                string strTotalPrimaC = Request.Form["totalPrimaC"];

                idFiniquito   = Convert.ToInt32(Request.Form["idFiniquito"]);
                idEmpleado    = Convert.ToInt32(Request.Form["idEmpleado"]);
                esLiquidacion = Convert.ToBoolean(Request.Form["esLiquidacion"]);

                isArt174 = Convert.ToBoolean(Request.Form["esArt174"]);

                string strTotalPrimaVacF = Request.Form["totalPrimaVacacionesF"];
                string strTotalPrimaVacC = Request.Form["totalPrimaVacacionesC"];

                if (idFiniquito <= 0)
                {
                    return(Json(new { strMensaje = "Es necesario procesar el finiquito para generar sus datos.", status = 1 }));
                }

                //if es null o vacio retorna -1
                decimal total3mesesF = Utils.ConvertToDecimal(strTotal3MesesF);
                decimal total3mesesC = Utils.ConvertToDecimal(strTotal3MesesC);

                decimal total20DiasF = Utils.ConvertToDecimal(strTotal20DiasF);
                decimal total20DiasC = Utils.ConvertToDecimal(strTotal20DiasC);

                decimal totalPrimaF = Utils.ConvertToDecimal(strTotalPrimaF);
                decimal totalPrimaC = Utils.ConvertToDecimal(strTotalPrimaC);

                decimal totalPrimaVacF = Utils.ConvertToDecimal(strTotalPrimaVacF);
                decimal totalPrimaVacC = Utils.ConvertToDecimal(strTotalPrimaVacC);

                //string[] keys = Request.Form.AllKeys;
                //for (int i = 0; i < keys.Length; i++)
                //{
                //}

                //Validar el finiquito guardado si existen cambios en sus totales antes de volver a procesar

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

                int idUsuario = SessionHelpers.GetIdUsuario();

                TotalPersonalizablesFiniquitos customTotal = new TotalPersonalizablesFiniquitos();
                customTotal.TotalTresMesesFiscalPersonalizado  = total3mesesF;
                customTotal.TotalTresMesesCompPersonalizado    = total3mesesC;
                customTotal.TotalVeinteDiasFiscalPersonalizado = total20DiasF;
                customTotal.TotalVienteDiasCompPersonalizado   = total20DiasC;
                customTotal.TotalPrimaFiscalPersonalizado      = totalPrimaF;
                customTotal.TotalPrimaCompPersonalizado        = totalPrimaC;
                customTotal.TotalPrimaVacPersonalizado         = totalPrimaVacF;
                customTotal.TotalPrimaVacCompPersonalizado     = totalPrimaVacC;

                ParametrosFiniquitos arrayFF = new ParametrosFiniquitos();

                arrayFF.FechaBajaF            = Convert.ToDateTime(Request.Form["fechaBaja"]);
                arrayFF.FechaAltaF            = Convert.ToDateTime(Request.Form["fechaAltaF"]);
                arrayFF.FechaAguinaldoF       = Convert.ToDateTime(Request.Form["fechaAguinaldoF"]);
                arrayFF.FechaVacacionesF      = Convert.ToDateTime(Request.Form["fechaVacacionesF"]);
                arrayFF.FechaAguinaldoC       = Convert.ToDateTime(Request.Form["fechaAguinaldo"]);
                arrayFF.FechaVacacionesC      = Convert.ToDateTime(Request.Form["fechaVacaciones"]);
                arrayFF.DiasSueldoPendientesF = Utils.ConvertToDecimal(Request.Form["diasSueldoPendienteF"].ToString());

                arrayFF.DiasVacacionesPendientesF = Utils.ConvertToDecimal(Request.Form["diasVacacionesPendientesF"]);
                arrayFF.DiasSueldoPendientesC     = Utils.ConvertToDecimal(Request.Form["diasSueldoPendiente"]);
                arrayFF.DiasVacacionesPendientesC = Utils.ConvertToDecimal(Request.Form["diasVacacionesPendientes"]);

                arrayFF.MesesSalarioF   = Utils.ConvertToDecimal(Request.Form["mesesSalarioF"]);
                arrayFF.MesesSalarioC   = Utils.ConvertToDecimal(Request.Form["mesesSalarioC"]);
                arrayFF.VeinteDiasPorAF = Utils.ConvertToDecimal(Request.Form["veinteXAF"]);
                arrayFF.VeinteDiasPorAC = Utils.ConvertToDecimal(Request.Form["veinteXAC"]);

                arrayFF.DiasVacCorrespondientesF = Utils.ConvertToInt(Request.Form["diasVacacionesF"]);
                arrayFF.DiasVacCorrespondientesC = Utils.ConvertToInt(Request.Form["diasVacacionesC"]);

                arrayFF.PorcentajePimaVacPendienteF = Utils.ConvertToDecimal(Request.Form["primaVacacionalPendienteF"]);
                arrayFF.PorcentajePimaVacPendienteC = Utils.ConvertToDecimal(Request.Form["primaVacacionalPendienteC"]);

                arrayFF.TipoTarifa = Utils.ConvertToInt(Request.Form["selectTarifa"]);

                arrayFF.DiasAguinaldoF = Utils.ConvertToInt(Request.Form["diasAguinaldoF"]);
                arrayFF.DiasAguinaldoC = Utils.ConvertToInt(Request.Form["diasAguinaldoC"]);


                idFiniquito = await ProcesoNomina.ProcesarFiniquitoIndemnizacionAsync(periodo.IdPeriodoPago, periodo.IdEjercicio, idEmpleado, sucursal.IdCliente, periodo.IdSucursal, arrayFF, idUsuario, esLiquidacion, customTotal, isArt174);

                return(Json(new { strMensaje = "OK - Procesado de Finiquito", status = 1 }));
            }
            catch (Exception ex)
            {
                return(Json(new { strMensaje = ex.Message, status = 0 }));
            }
        }
예제 #4
0
        public static async Task <int> ProcesarFiniquitoIndemnizacionAsync(int idPeriodo, int idEjercicio, int idEmpleado, int idCliente, int idSucursal, ParametrosFiniquitos arrayF, int idUsuario, bool calcularLiquidacion = false, TotalPersonalizablesFiniquitos totalesPerson = null, bool isArt174 = false)
        {
            try
            {
                NominaCore nc = new NominaCore();
                var        id = await nc.ProcesarFiniquitoIndemnizacionAsync(idPeriodo, idEjercicio, idEmpleado, idCliente, idSucursal, arrayF, calcularLiquidacion, idUsuario, totalesPerson, isArt174);

                return(id);
            }
            catch (MissingMethodException ex)
            {
                return(0);
            }
        }