/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo Horario /// En la BASE de DATO la Tabla : [Asistencia.Horario] /// <summary> /// <param name = >itemHorario</param> public bool Update(BEHorario itemHorario) { int codigoRetorno = -1; try { using (_CROMTimeDataContext SQLDC = new _CROMTimeDataContext(conexion)) { codigoRetorno = SQLDC.omgc_mnt_UpdateHorario( itemHorario.CodigoHorario, itemHorario.Descripcion, itemHorario.HorasLabor, itemHorario.HEntrada, itemHorario.HSalida, itemHorario.Tolerancia, itemHorario.CodigoArguTipoHorario, itemHorario.CodigoHorarioRefer, itemHorario.DiaSabado, itemHorario.MinAlmuerzo, itemHorario.RefrigerioSalida, itemHorario.RefrigerioEntrada, itemHorario.Estado, itemHorario.SegUsuarioEdita); } } catch (Exception ex) { throw ex; } return(codigoRetorno == 0 ? true : false); }
/// <summary> /// Retorna una ENTIDAD de registro de la Entidad Asistencia.Horario /// En la BASE de DATO la Tabla : [Asistencia.Horario] /// <summary> /// <returns>Entidad</returns> public BEHorario Find(int prm_CodigoHorario) { BEHorario miEntidad = new BEHorario(); try { miEntidad = oHorarioData.Find(prm_CodigoHorario); } catch (Exception ex) { throw ex; } return(miEntidad); }
/// <summary> /// Almacena el registro de una ENTIDAD de registro de Tipo Horario /// En la BASE de DATO la Tabla : [Asistencia.Horario] /// <summary> /// <param name = >itemHorario</param> public ReturnValor Insert(BEHorario itemHorario) { try { using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required)) { oReturnValor.Exitosa = oHorarioData.Insert(itemHorario); if (oReturnValor.Exitosa) { oReturnValor.Message = HelpEventos.MessageEvento(HelpEventos.Process.NEW); tx.Complete(); } } } catch (Exception ex) { oReturnValor = HelpException.mTraerMensaje(ex); } return(oReturnValor); }
/// <summary> /// Retorna una ENTIDAD de registro de la Entidad Asistencia.Horario /// En la BASE de DATO la Tabla : [Asistencia.Horario] /// <summary> /// <returns>Entidad</returns> public BEHorario Find(int prm_CodigoHorario) { BEHorario miEntidad = new BEHorario(); try { using (_CROMTimeDataContext SQLDC = new _CROMTimeDataContext(conexion)) { var resul = SQLDC.omgc_mnt_GetByIdCodeHorario(prm_CodigoHorario); foreach (var item in resul) { miEntidad = new BEHorario() { CodigoHorario = item.CodigoHorario, Descripcion = item.Descripcion, HorasLabor = item.HorasLabor, HEntrada = item.HEntrada, HSalida = item.HSalida, Tolerancia = item.Tolerancia, CodigoArguTipoHorario = item.CodigoArguTipoHorario, CodigoHorarioRefer = item.CodigoHorarioRefer, DiaSabado = item.DiaSabado, MinAlmuerzo = item.MinAlmuerzo, RefrigerioSalida = item.RefrigerioSalida, RefrigerioEntrada = item.RefrigerioEntrada, Estado = item.Estado, SegUsuarioCrea = item.SegUsuarioCrea, SegUsuarioEdita = item.SegUsuarioEdita, SegFechaHoraCrea = item.SegFechaHoraCrea, SegFechaHoraEdita = item.SegFechaHoraEdita, SegMaquinaOrigen = item.SegMaquinaOrigen, }; } } } catch (Exception ex) { throw ex; } return(miEntidad); }
private bool DetectaFERIADO(BEHorario itemHorario, DateTime FechaBuscar, ref string prm_DescripcionAusencia) { bool ESFERIADO = false; string prm_descripcionAusencia = string.Empty; // Se Obtiene Todas las Marcaciones del EMPLEADO por la Fecha actual del BUCLE var queryFERIADO = from ListaMarcasFECHA_Actual in listaFeriados where ListaMarcasFECHA_Actual.Feriado.Substring(4, 4) == HelpTime.ConvertYYYYMMDD(FechaBuscar).Substring(4, 4) select ListaMarcasFECHA_Actual; List <BEFeriado> ListaFeriado = new List <BEFeriado>(); ListaFeriado = queryFERIADO.ToList <BEFeriado>(); if (itemHorario.CodigoHorario == Convert.ToInt32(ConfigurationManager.AppSettings["DEFAULT_HorarioFeriado"])) { prm_descripcionAusencia = itemHorario.Descripcion; prm_DescripcionAusencia = prm_descripcionAusencia; ESFERIADO = true; return(ESFERIADO); } else if (ListaFeriado.Count > 0) { prm_descripcionAusencia = ListaFeriado[0].Descripcion; prm_DescripcionAusencia = prm_descripcionAusencia; ESFERIADO = true; } else { prm_descripcionAusencia = "¡ NO TIENE MARCACIONES !"; prm_DescripcionAusencia = prm_descripcionAusencia; ESFERIADO = false; } return(ESFERIADO); }
private void CalcularTiempoPersona(BETimeMarcacion itemTimeMarcaciones, BEHorario itemHorario, int veces_MARCA) { double HORAS_PERMAN_NUME = 0; string HORAS_PERMAN_HORA = string.Empty; double HORAS_LABORA_NUME = 0; string HORAS_LABORA_HORA = string.Empty; string HORA_SALIR_REFRIG = string.Empty; string HORA_ENTRA_REFRIG = string.Empty; if (HelpTime.CantidadTiempoEn_DECIMAL(itemTimeMarcaciones.Entra01) < HelpTime.CantidadTiempoEn_DECIMAL(itemHorario.HEntrada)) { if (itemTimeMarcaciones.Salid01 == string.Empty) { if (itemHorario.RefrigerioSalida != "00:00") { itemTimeMarcaciones.Salid01 = itemHorario.RefrigerioSalida.ToString(); } } } if (itemTimeMarcaciones.Entra01 != string.Empty) { if (itemHorario.HEntrada != "00:00") { string NUEVA_ENTRADA = string.Empty; if (itemHorario.Tolerancia > 0) { double H_ENTRADA = HelpTime.CantidadTiempoEn_DECIMAL(itemHorario.HEntrada); double M_ENTRADA = Convert.ToDouble(Convert.ToDouble(itemHorario.Tolerancia) / 60); H_ENTRADA = H_ENTRADA + M_ENTRADA; NUEVA_ENTRADA = HelpTime.CantidadTiempoEn_HH_MM(H_ENTRADA); } else { NUEVA_ENTRADA = itemHorario.HEntrada; } double MINUTOS_TARDE = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + NUEVA_ENTRADA), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra01), HelpTime.TotalTiempo.Minutos); if (MINUTOS_TARDE > 0) { itemTimeMarcaciones.CONTADOR_MinutosTarde = Convert.ToInt32(MINUTOS_TARDE); itemTimeMarcaciones.CONTADOR_VecesTarde = 1; } } } if (itemTimeMarcaciones.Entra01 != string.Empty && itemTimeMarcaciones.Salid01 != string.Empty) { HORA_SALIR_REFRIG = itemTimeMarcaciones.Salid01; if (SeCalculaTiempoEn60) { HORAS_PERMAN_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra01), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid01), HelpTime.TotalTiempo.Horas); HORAS_PERMAN_HORA = HelpTime.CantidadTiempoEn_HH_MM(HORAS_PERMAN_NUME); if (itemHorario.HEntrada.ToString() != "00:00") { if (HelpTime.CantidadTiempoEn_DECIMAL(itemTimeMarcaciones.Salid01) < HelpTime.CantidadTiempoEn_DECIMAL(itemHorario.RefrigerioEntrada)) { HORAS_LABORA_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra01.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid01), HelpTime.TotalTiempo.Horas); HORAS_LABORA_HORA = HelpTime.CantidadTiempoEn_HH_MM(HORAS_LABORA_NUME); } else { double HORA_TRABAJO = HelpTime.CantidadTiempoEn_DECIMAL(itemTimeMarcaciones.Entra01) - HelpTime.CantidadTiempoEn_DECIMAL(itemHorario.HEntrada); if (HelpTime.CantidadTiempoEn_DECIMAL(itemTimeMarcaciones.Salid01) < HelpTime.CantidadTiempoEn_DECIMAL(itemHorario.HSalida)) { HORAS_LABORA_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HEntrada.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid01), HelpTime.TotalTiempo.Horas) - HORA_TRABAJO; } else { HORAS_LABORA_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HEntrada.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HSalida), HelpTime.TotalTiempo.Horas) - HORA_TRABAJO; } if (HORAS_LABORA_NUME > 0) { HORAS_LABORA_HORA = HelpTime.CantidadTiempoEn_HH_MM(HORAS_LABORA_NUME); } else { HORAS_LABORA_HORA = "00:00"; } } } else { HORAS_LABORA_NUME = HORAS_PERMAN_NUME; HORAS_LABORA_HORA = HORAS_PERMAN_HORA; } } else { HORAS_PERMAN_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra01), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid01), HelpTime.TotalTiempo.Horas); HORAS_PERMAN_HORA = Math.Round((decimal)HORAS_PERMAN_NUME, 2).ToString(); HORAS_LABORA_NUME = HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HEntrada.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid01), HelpTime.TotalTiempo.Horas); HORAS_LABORA_HORA = Math.Round((decimal)HORAS_LABORA_NUME, 2).ToString(); } } if (itemTimeMarcaciones.Entra02 != string.Empty && itemTimeMarcaciones.Salid02 != string.Empty) { HORA_ENTRA_REFRIG = itemTimeMarcaciones.Entra02; if (SeCalculaTiempoEn60) { HORAS_PERMAN_NUME = HORAS_PERMAN_NUME + (HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra02), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid02), HelpTime.TotalTiempo.Horas)); HORAS_PERMAN_HORA = HelpTime.CantidadTiempoEn_HH_MM(HORAS_PERMAN_NUME); if (itemHorario.HEntrada.ToString() != "00:00") { HORAS_LABORA_NUME = HORAS_LABORA_NUME + (HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra02.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HSalida), HelpTime.TotalTiempo.Horas)); HORAS_LABORA_HORA = HelpTime.CantidadTiempoEn_HH_MM(HORAS_LABORA_NUME); } else { HORAS_LABORA_NUME = HORAS_PERMAN_NUME; HORAS_LABORA_HORA = HORAS_PERMAN_HORA; } } else { HORAS_PERMAN_NUME = HORAS_PERMAN_NUME + (HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Entra02), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid02), HelpTime.TotalTiempo.Horas)); HORAS_PERMAN_HORA = Math.Round((decimal)HORAS_PERMAN_NUME, 2).ToString(); HORAS_LABORA_NUME = HORAS_LABORA_NUME + (HelpTime.CantidadTiempoEn_100(Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemHorario.HEntrada.ToString()), Convert.ToDateTime(itemTimeMarcaciones.FechaHora.ToShortDateString() + " " + itemTimeMarcaciones.Salid02), HelpTime.TotalTiempo.Horas)); if (HORAS_LABORA_NUME > 0) { HORAS_LABORA_HORA = Math.Round((decimal)HORAS_LABORA_NUME, 2).ToString(); } else { HORAS_LABORA_HORA = "00.00"; } } } else { HORAS_PERMAN_HORA = "00:00"; HORAS_LABORA_HORA = "00:00"; } if (itemTimeMarcaciones.Entra01 != string.Empty) { itemTimeMarcaciones.MarcacionesDescripcion = " E " + itemTimeMarcaciones.Entra01; } if (itemTimeMarcaciones.Salid01 != string.Empty) { itemTimeMarcaciones.MarcacionesDescripcion = itemTimeMarcaciones.MarcacionesDescripcion + " S " + itemTimeMarcaciones.Salid01; } if (itemTimeMarcaciones.Entra02 != string.Empty) { itemTimeMarcaciones.MarcacionesDescripcion = itemTimeMarcaciones.MarcacionesDescripcion + " E " + itemTimeMarcaciones.Entra02; } if (itemTimeMarcaciones.Salid02 != string.Empty) { itemTimeMarcaciones.MarcacionesDescripcion = itemTimeMarcaciones.MarcacionesDescripcion + " S " + itemTimeMarcaciones.Salid02; } itemTimeMarcaciones.HorasPermanenTIME60 = HORAS_PERMAN_HORA; itemTimeMarcaciones.HorasLaboradaTIME60 = HORAS_LABORA_HORA; double HORAS_DEBE = HelpTime.CantidadTiempoEn_DECIMAL(itemTimeMarcaciones.HorasTeoricasTIME60) - HelpTime.CantidadTiempoEn_DECIMAL(HORAS_LABORA_HORA); if (HORAS_DEBE > 0) { itemTimeMarcaciones.HorasDebeTiemDOUBLE = HORAS_DEBE; itemTimeMarcaciones.HorasDebeTiemTIME60 = HelpTime.CantidadTiempoEn_HH_MM(HORAS_DEBE); } itemTimeMarcaciones.HorasPermanenDOUBLE = HelpTime.CantidadTiempoEn_DECIMAL(HORAS_PERMAN_HORA); itemTimeMarcaciones.HorasLaboradaDOUBLE = HelpTime.CantidadTiempoEn_DECIMAL(HORAS_LABORA_HORA); itemTimeMarcaciones.RefrigerTeoriTIME60 = HelpTime.CantidadTiempoEn_HH_MM((double)itemHorario.MinAlmuerzo / 60); itemTimeMarcaciones.RefrigerTeoriDOUBLE = itemHorario.MinAlmuerzo / 60; if (HORA_ENTRA_REFRIG != string.Empty && HORA_SALIR_REFRIG != string.Empty) { itemTimeMarcaciones.RefrigerRealiDOUBLE = HelpTime.CantidadTiempoEn_DECIMAL(HORA_ENTRA_REFRIG) - HelpTime.CantidadTiempoEn_DECIMAL(HORA_SALIR_REFRIG); itemTimeMarcaciones.RefrigerRealiTIME60 = HelpTime.CantidadTiempoEn_HH_MM(itemTimeMarcaciones.RefrigerRealiDOUBLE); if (itemTimeMarcaciones.RefrigerRealiDOUBLE > (itemHorario.MinAlmuerzo / 60)) { itemTimeMarcaciones.RefrigerExcesDOUBLE = (itemTimeMarcaciones.RefrigerRealiDOUBLE - (itemHorario.MinAlmuerzo / 60)); itemTimeMarcaciones.RefrigerExcesTIME60 = HelpTime.CantidadTiempoEn_HH_MM((itemTimeMarcaciones.RefrigerRealiDOUBLE - (itemHorario.MinAlmuerzo / 60))); } } }