/// <summary> /// Obtiene un resumen de las asistencias, inasistencias y tardanzas del empleado /// </summary> /// <param name="codigoEmpleado">Codigo del Empleado o Candidato</param> /// <returns></returns> public BE.UI.PlanillaAsistenciaResumenEmpleado ObtenerResumenAsistenciaEmpleado(string codigoEmpleado) { BE.UI.PlanillaAsistenciaResumenEmpleado uiResumenAsistencia = null; try { DataTable dtAsistencia = new DA.Planilla().ListarAsistenciaResumen(this.anho, this.mes, codigoEmpleado); foreach (DataRow drItem in dtAsistencia.Rows) { uiResumenAsistencia = new BE.UI.PlanillaAsistenciaResumenEmpleado(); uiResumenAsistencia.IdPlanilla = int.Parse(drItem["IdPlanilla"].ToString()); uiResumenAsistencia.CodigoEmpleado = drItem["CodigoEmpleado"].ToString(); uiResumenAsistencia.CantidadAsistencias = int.Parse(drItem["CantidadAsistencias"].ToString()); uiResumenAsistencia.CantidadTardanzas = int.Parse(drItem["CantidadTardanzas"].ToString()); uiResumenAsistencia.CantidadInasistenciasNormales = int.Parse(drItem["CantidadInasistenciasNormales"].ToString()); uiResumenAsistencia.CantidadInasistenciasFeriados = int.Parse(drItem["CantidadInasistenciasFeriados"].ToString()); break; } return(uiResumenAsistencia); } catch (Exception ex) { throw ex; } }
/// <summary> /// Lista la asistencia que es parte del descuento por inasistencia de la planilla /// </summary> /// <param name="idPlanilla">ID de la planilla</param> /// <param name="codigoEmpleado">Codigo del Empleado</param> /// <returns></returns> public List <BE.UI.PlanillaAsistencia> ListarAsistenciaFaltas(int idPlanilla, string codigoEmpleado) { try { var lstDetalleFaltas = new List <BE.UI.PlanillaAsistencia>(); var lstBePlanillaAsistencias = new DA.Planilla().ListarPlanillaAsistencia(idPlanilla); lstBePlanillaAsistencias = lstBePlanillaAsistencias.Where(x => x.CodigoEmpleado == codigoEmpleado && x.MinutosInasistenciaTotal > 0 ).ToList(); foreach (BE.PlanillaAsistencia bePlanillaAsistencia in lstBePlanillaAsistencias) { var uiPlanillaAsistencia = this.PlanillaAsistenciaBeToUi(bePlanillaAsistencia); lstDetalleFaltas.Add(uiPlanillaAsistencia); } return(lstDetalleFaltas); } catch (Exception ex) { throw ex; } }
/// <summary> /// Lista la asistencia que es parte del bono Feriado de la planilla /// </summary> /// <param name="idPlanilla">ID de la planilla</param> /// <param name="codigoEmpleado">Codigo del Empleado</param> /// <returns></returns> public List <BE.UI.PlanillaAsistencia> ListarAsistenciaFeriado(int idPlanilla, string codigoEmpleado) { try { var lstDetalleHorarioNocturno = new List <BE.UI.PlanillaAsistencia>(); var lstBePlanillaAsistencias = new DA.Planilla().ListarPlanillaAsistencia(idPlanilla); lstBePlanillaAsistencias = lstBePlanillaAsistencias.Where(x => x.CodigoEmpleado == codigoEmpleado && (x.MinutosAsistenciaFeriadoDiurna > 0 || x.MinutosAsistenciaFeriadoNocturna > 0) ).ToList(); foreach (BE.PlanillaAsistencia bePlanillaAsistencia in lstBePlanillaAsistencias) { var uiPlanillaAsistencia = this.PlanillaAsistenciaBeToUi(bePlanillaAsistencia); lstDetalleHorarioNocturno.Add(uiPlanillaAsistencia); } return(lstDetalleHorarioNocturno); } catch (Exception ex) { throw ex; } }
public bool Eliminar() { try { int rowsAffected = new DA.Planilla().Eliminar(this.anho, this.mes); return(rowsAffected > 0); } catch (Exception ex) { throw ex; } }
public BE.Planilla Obtener() { BE.Planilla bePlanilla = null; try { var daPlanilla = new DA.Planilla(); bePlanilla = daPlanilla.Obtener(this.anho, this.mes); //if (bePlanilla != null) // bePlanilla.Detalles = daPlanilla.Detalle(bePlanilla.ID); return(bePlanilla); } catch (Exception ex) { throw ex; } }
public void Resumen(out int cantidadEmpleados, out double totalSueldos, out double totalPagos, out double totalEssalud, out double totalSnp, out double totalAfp) { int cntEmpleados = 0; double ttlSueldos = 0.0; double ttlPagos = 0.0; double ttlEssalud = 0.0; double ttlSnp = 0.0; double ttlAfp = 0.0; try { DataTable dt = new DA.Planilla().Resumen(this.anho, this.mes); if (dt != null) { if (dt.Rows.Count == 1) { cntEmpleados = int.Parse(dt.Rows[0]["CantidadEmpleados"].ToString()); ttlSueldos = double.Parse(dt.Rows[0]["TotalSueldos"].ToString()); ttlPagos = double.Parse(dt.Rows[0]["TotalPagos"].ToString()); ttlEssalud = double.Parse(dt.Rows[0]["TotalEsSalud"].ToString()); ttlSnp = double.Parse(dt.Rows[0]["TotalSNP"].ToString()); ttlAfp = double.Parse(dt.Rows[0]["TotalAFP"].ToString()); } } cantidadEmpleados = cntEmpleados; totalSueldos = ttlSueldos; totalPagos = ttlPagos; totalEssalud = ttlEssalud; totalSnp = ttlSnp; totalAfp = ttlAfp; } catch (Exception ex) { throw ex; } }
public List <BE.UI.PlanillaAsistencia> ListarAsistencia() { var lstUiPlanillaAsistencias = new List <BE.UI.PlanillaAsistencia>(); try { var daPlanilla = new DA.Planilla(); DataTable dtAsistencia = daPlanilla.ListarAsistencias(this.anho, this.mes); foreach (DataRow drItem in dtAsistencia.Rows) { #region Obtener datos de asistencia string codEmpleado = drItem["Codigo"].ToString(); string nomEmpleado = drItem["Empleado"].ToString(); DateTime fecha = DateTime.Parse(drItem["Fecha"].ToString()); int semana = int.Parse(drItem["Semana"].ToString()); DateTime fechaHoraNocturnoInicio = DateTime.Parse(drItem["FechaHoraNocheInicial"].ToString()); DateTime fechaHoraNocturnoFinal = DateTime.Parse(drItem["FechaHoraNocheFinal"].ToString()); //Fecha y Hora segun horario programado DateTime fechaHoraHorarioInicio = DateTime.Parse(drItem["FechaHoraHorarioInicial"].ToString()); DateTime fechaHoraHorarioFinal = DateTime.Parse(drItem["FechaHoraHorarioFinal"].ToString()); int horasHorario = int.Parse(drItem["HorasHorario"].ToString()); //Fecha y Hora segun horario Asistencia int horasAsistencia = int.Parse(drItem["HorasAsistencia"].ToString()); DateTime fechaHoraAsistenciaInicio = new DateTime(1900, 01, 01); DateTime fechaHoraAsistenciaFinal = new DateTime(1900, 01, 01); if (horasAsistencia > 0) //Si Asistio { fechaHoraAsistenciaInicio = DateTime.Parse(drItem["FechaHoraAsistenciaInicial"].ToString()); fechaHoraAsistenciaFinal = DateTime.Parse(drItem["FechaHoraAsistenciaFinal"].ToString()); } #endregion int minutosAsistenciaNormalesTotales = 0; int minutosAsistenciaNormalesDiurnas = 0; int minutosAsistenciaNormalesNocturnas = 0; int minutosAsistenciaNormalesDiurnasPrimerasExtras = 0; int minutosAsistenciaNormalesNocturnasPrimerasExtras = 0; int minutosAsistenciaNormalesDiurnasPosterioresExtras = 0; int minutosAsistenciaNormalesNocturnasPosterioresExtras = 0; int minutosTardanzaNormalesTotales = 0; int minutosTardanzaNormalesDiurnas = 0; int minutosTardanzaNormalesNocturnas = 0; int minutosAsistenciaFeriadosTotales = 0; int minutosAsistenciaFeriadosDiurnas = 0; int minutosAsistenciaFeriadosNocturnas = 0; int minutosAsistenciaFeriadosDiurnasPrimerasExtras = 0; int minutosAsistenciaFeriadosNocturnasPrimerasExtras = 0; int minutosAsistenciaFeriadosDiurnasPosterioresExtras = 0; int minutosAsistenciaFeriadosNocturnasPosterioresExtras = 0; int minutosTardanzaFeriadosTotales = 0; int minutosTardanzaFeriadosDiurnas = 0; int minutosTardanzaFeriadosNocturnas = 0; int minutosInasistenciasTotales = 0; int minutosInasistenciasNormales = 0; int minutosInasistenciasFeriados = 0; #region Calcular Horas Normales y Extras if (horasAsistencia > 0) { #region Calcular Minutos de Asistencias this.ObtenerMinutosAsistencia(fechaHoraNocturnoInicio, fechaHoraNocturnoFinal, fechaHoraHorarioInicio, fechaHoraHorarioFinal, out minutosAsistenciaNormalesDiurnas, out minutosAsistenciaNormalesNocturnas, out minutosAsistenciaNormalesDiurnasPrimerasExtras, out minutosAsistenciaNormalesNocturnasPrimerasExtras, out minutosAsistenciaNormalesDiurnasPosterioresExtras, out minutosAsistenciaNormalesNocturnasPosterioresExtras, out minutosAsistenciaFeriadosDiurnas, out minutosAsistenciaFeriadosNocturnas, out minutosAsistenciaFeriadosDiurnasPrimerasExtras, out minutosAsistenciaFeriadosNocturnasPrimerasExtras, out minutosAsistenciaFeriadosDiurnasPosterioresExtras, out minutosAsistenciaFeriadosNocturnasPosterioresExtras); minutosAsistenciaNormalesTotales = minutosAsistenciaNormalesDiurnas + minutosAsistenciaNormalesNocturnas + minutosAsistenciaNormalesDiurnasPrimerasExtras + minutosAsistenciaNormalesNocturnasPrimerasExtras + minutosAsistenciaNormalesDiurnasPosterioresExtras + minutosAsistenciaNormalesNocturnasPosterioresExtras; minutosAsistenciaFeriadosTotales = minutosAsistenciaFeriadosDiurnas + minutosAsistenciaFeriadosNocturnas + minutosAsistenciaFeriadosDiurnasPrimerasExtras + minutosAsistenciaFeriadosNocturnasPrimerasExtras + minutosAsistenciaFeriadosDiurnasPosterioresExtras + minutosAsistenciaFeriadosNocturnasPosterioresExtras; #endregion #region Calcular Minutos de Tardanza this.ObtenerMinutosTardanza(fechaHoraNocturnoInicio, fechaHoraNocturnoFinal, fechaHoraHorarioInicio, fechaHoraAsistenciaInicio, out minutosTardanzaNormalesDiurnas, out minutosTardanzaNormalesNocturnas, out minutosTardanzaFeriadosDiurnas, out minutosTardanzaFeriadosNocturnas); minutosTardanzaNormalesTotales = minutosTardanzaNormalesDiurnas + minutosTardanzaNormalesNocturnas; minutosTardanzaFeriadosTotales = minutosTardanzaFeriadosDiurnas + minutosTardanzaFeriadosNocturnas; #endregion } else { #region Calcular Minutos de Inasistencia this.ObtenerMinutosInasistencia(fechaHoraHorarioInicio, fechaHoraHorarioFinal, out minutosInasistenciasNormales, out minutosInasistenciasFeriados); minutosInasistenciasTotales = minutosInasistenciasNormales + minutosInasistenciasFeriados; #endregion } #endregion var uiPlanillaAsistencia = new BE.UI.PlanillaAsistencia(); uiPlanillaAsistencia.Codigo = codEmpleado; //uiPlanillaAsistencia.NombreEmpleado = nomEmpleado; uiPlanillaAsistencia.Fecha = fecha; uiPlanillaAsistencia.Semana = semana; uiPlanillaAsistencia.FechaHoraInicio = fechaHoraHorarioInicio; uiPlanillaAsistencia.FechaHoraFinal = fechaHoraHorarioFinal; //Asistencia Normales uiPlanillaAsistencia.AsistenciaNormalTotal = minutosAsistenciaNormalesTotales; uiPlanillaAsistencia.AsistenciaNormalDiurna = minutosAsistenciaNormalesDiurnas; uiPlanillaAsistencia.AsistenciaNormalNocturna = minutosAsistenciaNormalesNocturnas; uiPlanillaAsistencia.AsistenciaNormalDiurnaExtra1 = minutosAsistenciaNormalesDiurnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaNormalNocturnaExtra1 = minutosAsistenciaNormalesNocturnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaNormalDiurnaExtra2 = minutosAsistenciaNormalesDiurnasPosterioresExtras; uiPlanillaAsistencia.AsistenciaNormalNocturnaExtra2 = minutosAsistenciaNormalesNocturnasPosterioresExtras; //Tardanza Normales uiPlanillaAsistencia.TardanzaNormalTotal = minutosTardanzaNormalesTotales; uiPlanillaAsistencia.TardanzaNormalDiurna = minutosTardanzaNormalesDiurnas; uiPlanillaAsistencia.TardanzaNormalNocturna = minutosTardanzaNormalesNocturnas; //Asistencia Feriados uiPlanillaAsistencia.AsistenciaFeriadoTotal = minutosAsistenciaFeriadosTotales; uiPlanillaAsistencia.AsistenciaFeriadoDiurna = minutosAsistenciaFeriadosDiurnas; uiPlanillaAsistencia.AsistenciaFeriadoNocturna = minutosAsistenciaFeriadosNocturnas; uiPlanillaAsistencia.AsistenciaFeriadoDiurnaExtra1 = minutosAsistenciaFeriadosDiurnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaFeriadoNocturnaExtra1 = minutosAsistenciaFeriadosNocturnasPrimerasExtras; uiPlanillaAsistencia.AsistenciaFeriadoDiurnaExtra2 = minutosAsistenciaFeriadosDiurnasPosterioresExtras; uiPlanillaAsistencia.AsistenciaFeriadoNocturnaExtra2 = minutosAsistenciaFeriadosNocturnasPosterioresExtras; //Tardanza Feriado uiPlanillaAsistencia.TardanzaFeriadoTotal = minutosTardanzaFeriadosTotales; uiPlanillaAsistencia.TardanzaFeriadoDiurna = minutosTardanzaFeriadosDiurnas; uiPlanillaAsistencia.TardanzaFeriadoNocturna = minutosTardanzaFeriadosNocturnas; //Tardanza Inasistencias uiPlanillaAsistencia.InasistenciaTotal = minutosInasistenciasTotales; uiPlanillaAsistencia.InasistenciaNormal = minutosInasistenciasNormales; uiPlanillaAsistencia.InasistenciaFeriado = minutosInasistenciasFeriados; lstUiPlanillaAsistencias.Add(uiPlanillaAsistencia); } return(lstUiPlanillaAsistencias); } catch (Exception ex) { throw ex; } }
public List <BE.UI.PlanillaDetalle> ListarPlantillaDetalle() { try { var lstUiPlantillaDetalle = new List <BE.UI.PlanillaDetalle>(); var daPlanilla = new DA.Planilla(); var bePlanilla = daPlanilla.Obtener(this.anho, this.mes); if (bePlanilla != null) { int idPlanilla = bePlanilla.ID; var lstBePlanillaDetalle = new DA.Planilla().Detalle(idPlanilla); foreach (BE.PlanillaDetalle beDetalle in lstBePlanillaDetalle) { var uiPlanillaDetalle = new BE.UI.PlanillaDetalle(); uiPlanillaDetalle.Periodo = this.anho.ToString() + "/" + this.mes.ToString(); uiPlanillaDetalle.EmpleadoCodigo = beDetalle.CodigoEmpleado; uiPlanillaDetalle.EmpleadoNombre = new DA.Trabajador().ObtenerNombreCompleto(beDetalle.CodigoEmpleado); var beCargo = new DA.Cargo().Obtener(beDetalle.IdCargo); if (beCargo != null) { uiPlanillaDetalle.CargoID = beDetalle.IdCargo; uiPlanillaDetalle.CargoNombre = beCargo.Nombre; } uiPlanillaDetalle.Base = beDetalle.SueldoBase; uiPlanillaDetalle.AsignacionFamiliar = beDetalle.AsignacionFamiliar; uiPlanillaDetalle.CalcularPor = "M"; uiPlanillaDetalle.BonoNocturnoCantidad = beDetalle.CantidadMinutosBonoNocturno; uiPlanillaDetalle.BonoNocturnoTotal = beDetalle.TotalMinutoBonoNocturno; uiPlanillaDetalle.BonoHorasExtrasCantidad = beDetalle.CantidadMinutosBonoHorasExtras; uiPlanillaDetalle.BonoHorasExtrasTotal = beDetalle.TotalMinutoBonoHorasExtras; uiPlanillaDetalle.BonoFeriadoCantidad = beDetalle.CantidadMinutosBonoFeriado; uiPlanillaDetalle.BonoFeriadoTotal = beDetalle.TotalMinutoBonoFeriado; uiPlanillaDetalle.DescuentoTardanzaCantidad = beDetalle.CantidadMinutosDescuentoTardanza; uiPlanillaDetalle.DescuentoTardanzaTotal = beDetalle.TotalMinutoDescuentoTardanza; uiPlanillaDetalle.DescuentoInasistenciaCantidad = beDetalle.CantidadMinutosDescuentoInasistencia; uiPlanillaDetalle.DescuentoInasistenciaTotal = beDetalle.TotalDescuentoInasistencia; uiPlanillaDetalle.SnpNombre = "ONP"; uiPlanillaDetalle.SnpTotal = beDetalle.SnpTotal; if (beDetalle.Afp != null && beDetalle.Afp.IdAfp > 0) { var beAfp = new BE.Afp() { IdAfp = beDetalle.Afp.IdAfp }; if (new DA.Afp().Obtener(ref beAfp)) { uiPlanillaDetalle.AfpID = beAfp.IdAfp; uiPlanillaDetalle.AfpNombre = beAfp.Nombre; } } uiPlanillaDetalle.AfpTipo = beDetalle.AfpTipo; uiPlanillaDetalle.AfpAporteObligatorio = beDetalle.AfpAporteObligatorio; uiPlanillaDetalle.AfpAporteVoluntario = beDetalle.AfpAporteVoluntario; uiPlanillaDetalle.AfpSeguro = beDetalle.AfpSeguro; uiPlanillaDetalle.AfpComision = beDetalle.AfpComision; uiPlanillaDetalle.AfpTotal = beDetalle.AfpTotal; uiPlanillaDetalle.ImpuestoTotal = beDetalle.ImpuestoTotal; uiPlanillaDetalle.RetencionJudicialTotal = beDetalle.RetencionJudicialTotal; uiPlanillaDetalle.AdelantoTotal = beDetalle.AdelantoTotal; uiPlanillaDetalle.PrestamoTotal = beDetalle.PrestamoTotal; uiPlanillaDetalle.GratificacionTotal = 0.0; uiPlanillaDetalle.EsSaludTotal = beDetalle.EsSaludTotal; uiPlanillaDetalle.MovilidadTotal = beDetalle.TotalMovilidad; uiPlanillaDetalle.TotalBase = beDetalle.TotalSueldoBase; uiPlanillaDetalle.TotalBruto = beDetalle.TotalSueldoBruto; uiPlanillaDetalle.TotalNeto = beDetalle.TotalSueldoNeto; uiPlanillaDetalle.TotalPagar = beDetalle.TotaPago; lstUiPlantillaDetalle.Add(uiPlanillaDetalle); } } bePlanilla = null; return(lstUiPlantillaDetalle); } catch (Exception ex) { throw ex; } }