示例#1
0
        private BE.UI.PlanillaAsistencia PlanillaAsistenciaBeToUi(BE.PlanillaAsistencia bePlanillaAsistencia)
        {
            var uiPlanillaDetalle = new BE.UI.PlanillaAsistencia();

            uiPlanillaDetalle.Codigo = bePlanillaAsistencia.CodigoEmpleado;
            uiPlanillaDetalle.Fecha  = bePlanillaAsistencia.Fecha;
            uiPlanillaDetalle.Semana = bePlanillaAsistencia.Semana;

            uiPlanillaDetalle.FechaHoraInicio = bePlanillaAsistencia.FechaHoraInicio;
            uiPlanillaDetalle.FechaHoraFinal  = bePlanillaAsistencia.FechaHoraFinal;

            //Asistencia Normales
            uiPlanillaDetalle.AsistenciaNormalTotal          = bePlanillaAsistencia.MinutosAsistenciaNormalTotal;
            uiPlanillaDetalle.AsistenciaNormalDiurna         = bePlanillaAsistencia.MinutosAsistenciaNormalDiurna;
            uiPlanillaDetalle.AsistenciaNormalNocturna       = bePlanillaAsistencia.MinutosAsistenciaNormalNocturna;
            uiPlanillaDetalle.AsistenciaNormalDiurnaExtra1   = bePlanillaAsistencia.MinutosAsistenciaNormalDiurnaExtra1;
            uiPlanillaDetalle.AsistenciaNormalNocturnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaNormalNocturnaExtra1;
            uiPlanillaDetalle.AsistenciaNormalDiurnaExtra2   = bePlanillaAsistencia.MinutosAsistenciaNormalDiurnaExtra2;
            uiPlanillaDetalle.AsistenciaNormalNocturnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaNormalNocturnaExtra2;

            //Tardanza Normal
            uiPlanillaDetalle.TardanzaNormalTotal    = bePlanillaAsistencia.MinutosTardanzaNormalTotal;
            uiPlanillaDetalle.TardanzaNormalDiurna   = bePlanillaAsistencia.MinutosTardanzaNormalDiurna;
            uiPlanillaDetalle.TardanzaNormalNocturna = bePlanillaAsistencia.MinutosTardanzaNormalNocturna;

            //Asistencia Feriados
            uiPlanillaDetalle.AsistenciaFeriadoTotal          = bePlanillaAsistencia.MinutosAsistenciaFeriadoTotal;
            uiPlanillaDetalle.AsistenciaFeriadoDiurna         = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurna;
            uiPlanillaDetalle.AsistenciaFeriadoNocturna       = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturna;
            uiPlanillaDetalle.AsistenciaFeriadoDiurnaExtra1   = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurnaExtra1;
            uiPlanillaDetalle.AsistenciaFeriadoNocturnaExtra1 = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturnaExtra1;
            uiPlanillaDetalle.AsistenciaFeriadoDiurnaExtra2   = bePlanillaAsistencia.MinutosAsistenciaFeriadoDiurnaExtra2;
            uiPlanillaDetalle.AsistenciaFeriadoNocturnaExtra2 = bePlanillaAsistencia.MinutosAsistenciaFeriadoNocturnaExtra2;

            //Tardanza Feriado
            uiPlanillaDetalle.TardanzaFeriadoTotal    = bePlanillaAsistencia.MinutosTardanzaFeriadoTotal;
            uiPlanillaDetalle.TardanzaFeriadoDiurna   = bePlanillaAsistencia.MinutosTardanzaFeriadoDiurna;
            uiPlanillaDetalle.TardanzaFeriadoNocturna = bePlanillaAsistencia.MinutosTardanzaFeriadoNocturna;

            //Tardanza Inasistencias
            uiPlanillaDetalle.InasistenciaTotal = bePlanillaAsistencia.MinutosInasistenciaTotal;

            return(uiPlanillaDetalle);
        }
示例#2
0
        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;
            }
        }