private IEnumerable <PlanillaRemuneracion> GenerarPlanillaGratificacion(int Anio, int Mes) { IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>(); IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>(); string Periodo = Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2); List <PlanillaRemuneracion> resultado = new List <PlanillaRemuneracion>(); var planillasPeriodo = planillaRemuneracionRepository.PlanillasEnPeriodoPorGrati(Mes, Anio); IEnumerable <Personal> personalActivo = personalRepository.GetPersonalActivo(); foreach (Personal personal in personalActivo) { var planillas = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N"); int nroPlanillas = planillas.Count(); decimal TotalIngresos = planillas.Sum(o => o.TotIng ?? 0); decimal Gratificacion = Math.Round(TotalIngresos / nroPlanillas, 2, MidpointRounding.AwayFromZero); decimal Extra = Convert.ToDecimal(Math.Round(Convert.ToDouble(Gratificacion) * 0.09, 2, MidpointRounding.AwayFromZero)); PlanillaRemuneracion gratificacion = new PlanillaRemuneracion(0, Periodo, personal.IdPersonal, personal.CodPer, personal.IdCargo, personal.CodCar, personal.IdFondoPen, personal.CodFon, personal.TipComAFP, 0, 0, 0, Gratificacion, 0, 0, 0, 0, Extra, 0, 0, 0, 0, 0, 0, 0, 0, 27, 216, null, null, 0, null, null, 0, null, null, 0, "F", "G"); resultado.Add(gratificacion); } return(resultado); }
public IEnumerable <PlanillaCTS> GenerarPlanillaCTS(int Anio, int Mes) { IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>(); IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>(); string Periodo = Anio.ToString() + Utiles.CerosIzquierda((Mes - 1).ToString(), 2); List <PlanillaCTS> resultado = new List <PlanillaCTS>(); var planillasPeriodo = planillaRemuneracionRepository.PlanillasEnPeriodoPorCTS(Mes, Anio); IEnumerable <Personal> personalActivo = personalRepository.GetPersonalActivo(); foreach (Personal personal in personalActivo) { var planillas = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N"); var planillaGrati = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "G"); var UltimoIngresoValido = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N" && o.Periodo == Periodo).FirstOrDefault(); decimal UltimoSueldo = UltimoIngresoValido != null ? UltimoIngresoValido.TotIng ?? 0 : 0; // UltimoIngresoValido.TotIng ?? 0; int nroPlanillas = planillas != null?planillas.Count() : 0; int nroGratis = planillaGrati != null?planillaGrati.Count() : 0; decimal TotalIngresos = planillas.Sum(o => o.TotIng ?? 0); decimal TotalGrati = planillaGrati.Sum(o => o.Gratif ?? 0); decimal SextoGrati = Math.Round(TotalGrati / 6, 2, MidpointRounding.AwayFromZero); resultado.Add(new PlanillaCTS(personal.IdPersonal, personal.CodPer, personal.DNI, personal.GetNombre(), personal.FecNac ?? DateTime.Now, personal.FecIngreso ?? DateTime.Now, personal.NumCtaCTS, UltimoSueldo, SextoGrati, nroPlanillas, personal.EntidadCTS)); } return(resultado); }
public Personal AddPersonalComplete(Personal entity) { using (PlanillaContext entityContext = new PlanillaContext()) { string nCodPer = "P001"; var topPersonal = (from e in entityContext.PersonalSet orderby e.CodPer descending select e).FirstOrDefault(); if (topPersonal != null) { nCodPer = topPersonal.CodPer.Substring(1, topPersonal.CodPer.Length - 1); int Cod = Convert.ToInt32(nCodPer) + 1; nCodPer = 'P' + Utiles.CerosIzquierda(Cod.ToString(), 3); } entity.CodPer = nCodPer; return(Add(entity)); } }
public FondoPensiones AddFondoPensionesComplete(FondoPensiones entity) { using (PlanillaContext entityContext = new PlanillaContext()) { string nCodFon = "F01"; var topFondo = (from e in entityContext.FondoPensionesSet orderby e.CodFon descending select e).FirstOrDefault(); if (topFondo != null) { nCodFon = topFondo.CodFon.Substring(1, topFondo.CodFon.Length - 1); int Cod = Convert.ToInt32(nCodFon) + 1; nCodFon = 'F' + Utiles.CerosIzquierda(Cod.ToString(), 2); } entity.CodFon = nCodFon; return(Add(entity)); } }
public Especialidad AddEspecialidadComplete(Especialidad entity) { using (PlanillaContext entityContext = new PlanillaContext()) { string newCodEsp = "E001"; var topEspecialidad = (from e in entityContext.EspecialidadSet orderby e.CodEsp descending select e).FirstOrDefault(); if (topEspecialidad != null) { newCodEsp = topEspecialidad.CodEsp.Substring(1, topEspecialidad.CodEsp.Length - 1); int Cod = Convert.ToInt32(newCodEsp) + 1; newCodEsp = 'E' + Utiles.CerosIzquierda(Cod.ToString(), 3); } entity.CodEsp = newCodEsp; return(Add(entity)); } }
public TablaAnalisis AddTablaAnalisisComplete(TablaAnalisis entity) { using (PlanillaContext entityContext = new PlanillaContext()) { string nCodAna = "A0001"; var topPro = (from e in entityContext.TablaAnalisisSet orderby e.CodAna descending select e).FirstOrDefault(); if (topPro != null) { nCodAna = topPro.CodAna.Substring(1, topPro.CodAna.Length - 1); int Cod = Convert.ToInt32(nCodAna) + 1; nCodAna = 'P' + Utiles.CerosIzquierda(Cod.ToString(), 4); } entity.CodAna = nCodAna; return(Add(entity)); } }
public Procedimiento AddProcedimientoComplete(Procedimiento entity) { using (PlanillaContext entityContext = new PlanillaContext()) { string nCodPro = "P001"; var topPro = (from e in entityContext.ProcedimientoSet orderby e.CodPro descending select e).FirstOrDefault(); if (topPro != null) { nCodPro = topPro.CodPro.Substring(1, topPro.CodPro.Length - 1); int Cod = Convert.ToInt32(nCodPro) + 1; nCodPro = 'P' + Utiles.CerosIzquierda(Cod.ToString(), 3); } entity.CodPro = nCodPro; return(Add(entity)); } }
public IEnumerable <PlanillaRemuneracion> GetPlanillaGratificacion(int Anio, int Mes) { IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>(); IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>(); var planillaGrati = planillaRemuneracionRepository.GetPlanillaGratificacionSimple(Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2)); if (planillaGrati != null && planillaGrati.Count() > 0) { var personal = personalRepository.Get(); foreach (PlanillaRemuneracion registro in planillaGrati) { var persona = personal.Where(o => o.IdPersonal == registro.IdPersonal).FirstOrDefault(); registro.NombrePersona = persona.ApePaterno + " " + persona.ApeMaterno + ", " + persona.Nombre; //registro.VacacionesPeriodo = vacacionesRepository.GetVacacionesPorPeriodoPersona(Anio, registro.IdPersonal ?? 0); registro.ApellidoPaterno = persona.ApePaterno; registro.ApellidoMaterno = persona.ApeMaterno; registro.Nombre = persona.Nombre; registro.CUSPP = persona.CUSPP; registro.Dni = persona.DNI; registro.FechaIngreso = persona.FecIngreso ?? DateTime.Now; } return(planillaGrati); } IEnumerable <PlanillaRemuneracion> planillaGratiNuevo = GenerarPlanillaGratificacion(Anio, Mes); if (planillaGratiNuevo != null && planillaGratiNuevo.Count() > 0) { foreach (PlanillaRemuneracion _planilla in planillaGratiNuevo) { planillaRemuneracionRepository.Add(_planilla); } return(GetPlanillaGratificacion(Anio, Mes)); } return(planillaGrati); }
public IEnumerable <PlanillaRemuneracion> GetPlanillaNormalPorPeriodo(int Anio, int Mes) { IPlanillaRemuneracionRepository planillaRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>(); IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>(); IVacacionesRepository vacacionesRepository = _DataRepositoryFactory.GetDataRepository <IVacacionesRepository>(); IFondoPensionesRepository fondoPensionesRepository = _DataRepositoryFactory.GetDataRepository <IFondoPensionesRepository>(); IAreaServicioRepository areaServicioRepository = _DataRepositoryFactory.GetDataRepository <IAreaServicioRepository>(); ICargoRepository cargoRepository = _DataRepositoryFactory.GetDataRepository <ICargoRepository>(); string Periodo = Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2); var planilla = planillaRepository.GetPlanillaPorPeriodo(Periodo, "N"); IEnumerable <VacacionesPersona> vacaciones = vacacionesRepository.GetVacacionesPorPeriodo(Anio); if (vacaciones == null || vacaciones.Count() == 0) { throw new InvalidOperationException("No se han registrado las vacaciones para este periodo. Imposible continuar con la operación."); } if (planilla != null && planilla.Count() > 0) { var personal = personalRepository.Get(); var fondoPen = fondoPensionesRepository.Get(); var areasServicio = areaServicioRepository.Get(); var cargos = cargoRepository.Get(); foreach (PlanillaRemuneracion registro in planilla) { var persona = personal.Where(o => o.IdPersonal == registro.IdPersonal).FirstOrDefault(); var fondo = fondoPen.Where(o => o.IdFondoPen == registro.IdFondoPen).FirstOrDefault(); var area = areasServicio.Where(o => o.IdAreaServicio == persona.IdAreaServicio).FirstOrDefault(); var cargo = cargos.Where(o => o.IdCargo == persona.IdCargo).FirstOrDefault(); registro.NombrePersona = persona.ApePaterno + " " + persona.ApeMaterno + ", " + persona.Nombre; registro.VacacionesPeriodo = vacacionesRepository.GetVacacionesPorPeriodoPersona(Anio, registro.IdPersonal ?? 0); registro.ApellidoPaterno = persona.ApePaterno; registro.ApellidoMaterno = persona.ApeMaterno; registro.Nombre = persona.Nombre; registro.CUSPP = persona.CUSPP; registro.Dni = persona.DNI; registro.FechaIngreso = persona.FecIngreso ?? DateTime.Now; registro.AFP = fondo.Entidad; registro.Cargo = cargo.Cargo1; registro.Area = area.Area; } //planilla = planilla.OrderBy(o => o.NombrePersona); return(planilla); } IEnumerable <PlanillaRemuneracion> planillas = GenerarPlanilla(Periodo); if (planillas != null && planillas.Count() > 0) { foreach (PlanillaRemuneracion _planilla in planillas) { planillaRepository.Add(_planilla); } return(GetPlanillaNormalPorPeriodo(Anio, Mes)); } return(planilla); }