public int GenerarControlHueso(CONTROL_HUESO doControl) { using (ASIS_PRODEntities entities = new ASIS_PRODEntities()) { clsDAsistencia = new clsDAsistencia(); List <spConsultaMovimientoPersonalDiario> detalle = null; var ControlHueso = entities.CONTROL_HUESO.FirstOrDefault(x => x.Linea == doControl.Linea && x.HoraFin == doControl.HoraFin && x.HoraInicio == doControl.HoraInicio && x.Fecha == doControl.Fecha && x.Linea == doControl.Linea && ((doControl.Turno == clsAtributos.TurnoUno && (x.Turno == clsAtributos.TurnoUno || x.Turno == null)) || (doControl.Turno == clsAtributos.TurnoDos && x.Turno == doControl.Turno)) // && x.Turno==doControl.Turno && x.TipoControlHueso == doControl.TipoControlHueso && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo); if (ControlHueso == null) { if (doControl.TipoControlHueso == clsAtributos.Hueso || doControl.TipoControlHueso == clsAtributos.Roto) { TimeSpan HoraIni = new TimeSpan(doControl.HoraInicio.Hour, doControl.HoraInicio.Minute, 0); detalle = clsDAsistencia.ConsultaMovimientoPersonalDiario(doControl.HoraInicio, HoraIni, doControl.Linea, doControl.Turno).Where(x => x.CodCargo == clsAtributos.CargoLimpiadora).ToList(); foreach (var x in detalle) { doControl.CONTROL_HUESO_DETALLE.Add(new CONTROL_HUESO_DETALLE { CantidadHueso = 0, Cedula = x.Cedula, EstadoRegistro = clsAtributos.EstadoRegistroActivo, FechaIngresoLog = DateTime.Now, UsuarioIngresoLog = doControl.UsuarioIngresoLog, TerminalIngresoLog = doControl.TerminalIngresoLog }); } } entities.CONTROL_HUESO.Add(doControl); entities.SaveChanges(); return(doControl.IdControlHueso); } else { return(0); } } }
public string GuardarControlToallaCab(int?Id, string Turno, DateTime?Fecha, DateTime?Hora, string Linea, string Observacion, string psterminal, string psusuario, string estadoRegistro) { using (ASIS_PRODEntities db = new ASIS_PRODEntities()) { if (estadoRegistro == clsAtributos.EstadoRegistroActivo && Id == null) { var buscarregistroToalla = db.CONTROL_TOALLA.Where(x => x.Fecha == Fecha && x.Turno == Turno && x.Linea == Linea && x.Hora == Hora && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo).FirstOrDefault(); if (buscarregistroToalla == null) { List <DETALLE_CONTROL_TOALLA> ListEmpleado = new List <DETALLE_CONTROL_TOALLA>(); List <spConsultaMovimientoPersonalDiario> Empleados = new List <spConsultaMovimientoPersonalDiario>(); clsDAsistencia = new clsDAsistencia(); //if (Linea == "52") //linea 52=pouch //{ // Empleados = clsDAsistencia.ConsultaMovimientoPersonalDiario(Fecha.Value, Hora.Value, Linea).Where( // x => new string[7] { "133", "143", "258", "138", "126", "119", "147" }.Contains(x.CodCargo)).ToList(); //} //else //{ Empleados = clsDAsistencia.ConsultaMovimientoPersonalDiario(Hora.Value, Hora.Value.TimeOfDay.Add(new TimeSpan(0, 15, 0)), Linea, Turno).Where(x => x.Turno == Turno).ToList(); //} //var Empleados = clsDAsistencia.ConsultaMovimientoPersonalDiario(Convert.ToDateTime("2020-01-10"), TimeSpan.Parse("07:00"), "05").ToList(); foreach (var item in Empleados) { ListEmpleado.Add(new DETALLE_CONTROL_TOALLA { Cedula = item.Cedula, UsuarioCreacionLog = psusuario, TerminalCreacionLog = psterminal, FechaCreacionLog = DateTime.Now, EstadoRegistro = clsAtributos.EstadoRegistroActivo }); } db.CONTROL_TOALLA.Add(new CONTROL_TOALLA { FechaCreacionLog = DateTime.Now, Fecha = Fecha, EstadoRegistro = estadoRegistro, Hora = Hora, Linea = Linea, Observacion = Observacion, TerminalCreacionLog = psterminal, Turno = Turno, UsuarioCreacionLog = psusuario, DETALLE_CONTROL_TOALLA = ListEmpleado }); db.SaveChanges(); return("Registro guardado con éxito"); } else { return("999"); //ya existe el registro } } if (estadoRegistro == clsAtributos.EstadoRegistroInactivo && Id != null)//significa que se va a desactivar el registro { var buscarControlToallaCab = db.CONTROL_TOALLA.Find(Id); buscarControlToallaCab.EstadoRegistro = clsAtributos.EstadoRegistroInactivo; buscarControlToallaCab.FechaModificacionLog = DateTime.Now; buscarControlToallaCab.UsuarioModificacionLog = psusuario; buscarControlToallaCab.TerminalModificacionLog = psterminal; db.SaveChanges(); return("Registro Inactivado con éxito"); } else //si se va a actualizar una cabecera de toalla { var buscarCabToalla = db.CONTROL_TOALLA.Where(z => z.Fecha == Fecha && z.Hora == Hora && z.Turno == Turno && z.EstadoRegistro == clsAtributos.EstadoRegistroActivo).FirstOrDefault(); if (buscarCabToalla == null) { var RegistroCabToallaAModificar = db.CONTROL_TOALLA.Find(Id); RegistroCabToallaAModificar.Turno = Turno; RegistroCabToallaAModificar.Fecha = Fecha; RegistroCabToallaAModificar.Hora = Hora; RegistroCabToallaAModificar.Observacion = Observacion; db.SaveChanges(); return("registro actualizado con éxito"); } else if (buscarCabToalla.Observacion != Observacion)//si quiere actualizar solo la observacion { var RegistroCabToallaAModificar = db.CONTROL_TOALLA.Find(Id); RegistroCabToallaAModificar.Observacion = Observacion; db.SaveChanges(); return("registro actualizado con éxito"); } else { return("555");//ya existe un registro en esa fecha, hora y turno } } } }
public void Notificaciones(List <int?> Roles, string Cedula) { clsDParametro = new clsDParametro(); clsDGeneral = new clsDGeneral(); clsDSolicitudPermiso = new clsDSolicitudPermiso(); List <RespuestaGeneral> MensajesNotificaciones = new List <RespuestaGeneral>(); //INICIO -- NOTIFICACIONES ENVIADOS DESDE LA BASE DE DATOS 2020-06-25 var Notificaciones = clsDGeneral.ConsultaNotificaciones(Cedula); foreach (var x in Notificaciones) { MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = x.Mensaje, Observacion = "/" + x.Url }); } Session["MensajesNotificacionesMenu"] = Notificaciones; //ViewBag.MensajesNotificacionesMenu = Notificaciones; //2020-06-25 -- FIN var MensajeUrgente = clsDParametro.ConsultaParametros(new PARAMETRO { Codigo = clsAtributos.ParaMensajeUrgente, EstadoRegistro = clsAtributos.EstadoRegistroActivo }).FirstOrDefault(); if (MensajeUrgente != null) { ViewBag.MensajeUrgente = MensajeUrgente.Observacion; } var MensajeAviso = clsDParametro.ConsultaParametros(new PARAMETRO { Codigo = clsAtributos.ParaMensajeAviso, EstadoRegistro = clsAtributos.EstadoRegistroActivo }).FirstOrDefault(); if (MensajeAviso != null) { ViewBag.MensajeAviso = MensajeAviso.Observacion; } if (Roles.Any(x => x.Value == clsAtributos.RolAprobacionSolicitud)) { var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoNotificaciones(clsAtributos.EstadoSolicitudPendiente, lsUsuario[1]); if (solicitudes > 0) { string enlace = "/SolicitudPermiso/BandejaAprobacion"; string Mensaje = "Tienes " + solicitudes + " solicitudes en su bandeja por aprobar"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } if (Roles.Any(x => x.Value == clsAtributos.RolRRHH)) { var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoNotificaciones(clsAtributos.EstadoSolicitudAprobado, lsUsuario[1]); if (solicitudes > 0) { string enlace = "/SolicitudPermiso/BandejaRRHH"; string Mensaje = "Tiene " + solicitudes + " solicitudes en su bandeja por revisar"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } if (Roles.Any(x => x.Value == clsAtributos.RolMedico)) { var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermiso(new SOLICITUD_PERMISO { EstadoSolicitud = clsAtributos.EstadoSolicitudAprobado, Origen = clsAtributos.SolicitudOrigenMedico, ValidaMedico = true }); if (solicitudes.Any()) { string enlace = "/SolicitudPermiso/BandejaMedico"; string Mensaje = "Tiene " + solicitudes.Count + " solicitudes en su bandeja por revisar"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } if (Roles.Any(x => x.Value == clsAtributos.RolGarita)) { var solicitudes = clsDSolicitudPermiso.ConsultaSolicitudesPermisoReporte(null, null, clsAtributos.EstadoSolicitudAprobado, true, null, null).ToList(); if (solicitudes.Any()) { string enlace = "/SolicitudPermiso/ReporteSolicitud"; string Mensaje = "Tiene " + solicitudes.Count + " solicitudes en su bandeja"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } if (Roles.Any(x => x.Value == clsAtributos.RolControladorGeneral)) { clsDProyeccionProgramacion = new clsDProyeccionProgramacion(); clsDAsistencia = new clsDAsistencia(); clsDEmpleado = new clsDEmpleado(); var programaciones = clsDProyeccionProgramacion.ConsultaProyeccionProgramacion(); if (programaciones != null && programaciones.EditaProduccion) { string dia = ci.DateTimeFormat.GetDayName(programaciones.FechaProduccion.DayOfWeek); string enlace = "/ProyeccionProgramacion/EditarProyeccionProgramacionProduccion"; string Mensaje = "Tiene la proyección de la programación pendiente de finalizar del dia " + dia + ", " + programaciones.FechaProduccion.ToString("dd-MM-yyyy"); MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } lsUsuario = User.Identity.Name.Split('_'); var empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault(); if (empleado != null) { var finalizarAsistencia = clsDAsistencia.ConsultaFaltantesFinalizarAsistencia(empleado.CODIGOLINEA, DateTime.Now.AddDays(-1)); if (finalizarAsistencia.Any()) { foreach (var x in finalizarAsistencia) { string dia = ci.DateTimeFormat.GetDayName(x.FechaInicio.Value.DayOfWeek); string enlace = "/Asistencia/FinalizarAsistencia"; string Mensaje = "No ha finalizado la Asistencia del: " + dia + ", " + x.FechaInicio.Value.ToString("dd-MM-yyyy"); MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } } } if (Roles.Any(x => x.Value == clsAtributos.RolControladorLinea || x.Value == clsAtributos.RolEnlatado || x.Value == clsAtributos.RolEtiquetadoLata || x.Value == clsAtributos.RolEtiquetadoPouch || x.Value == clsAtributos.RolLimpiezaPouch || x.Value == clsAtributos.RolLimpiezaPouch || x.Value == clsAtributos.RolAutoclave || x.Value == clsAtributos.RolFrio || x.Value == clsAtributos.RolEvicerado)) { clsDAsistencia = new clsDAsistencia(); clsDEmpleado = new clsDEmpleado(); lsUsuario = User.Identity.Name.Split('_'); var empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault(); if (empleado != null) { var finalizarAsistencia = clsDAsistencia.ConsultaFaltantesFinalizarAsistencia(empleado.CODIGOLINEA, DateTime.Now.AddDays(-1)); var finalizarCantidadFecha = finalizarAsistencia.Select(x => x.FechaInicio).Distinct(); if (finalizarAsistencia.Any()) { foreach (var x in finalizarCantidadFecha) { int cantidad = finalizarAsistencia.Count(y => y.FechaInicio == x.Value); string dia = ci.DateTimeFormat.GetDayName(x.Value.DayOfWeek); string enlace = "/Asistencia/AsistenciaFinalizar"; string Mensaje = "No ha finalizado la Asistencia del día: " + dia + ", " + x.Value.ToString("dd-MM-yyyy") + " Existen " + cantidad + " empleados sin finalizar"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, Observacion = enlace }); } } } } if (Roles.Any(x => x.Value == clsAtributos.AsistenteProduccion)) { clsDAsistencia = new clsDAsistencia(); clsDEmpleado = new clsDEmpleado(); clsDGeneral = new clsDGeneral(); var finalizarAsistencia = clsDAsistencia.ConsultaFaltantesFinalizarAsistenciaTodos(DateTime.Now.AddDays(-1)); var finalizarCantidadFecha = finalizarAsistencia.Select(x => new { Fecha = x.FechaInicio, Linea = x.CodLinea }).Distinct(); if (finalizarAsistencia.Any()) { foreach (var x in finalizarCantidadFecha) { var linea = clsDGeneral.ConsultaLineas(x.Linea).FirstOrDefault(); int cantidad = finalizarAsistencia.Count(y => y.FechaInicio == x.Fecha && y.CodLinea == x.Linea); string dia = ci.DateTimeFormat.GetDayName(x.Fecha.Value.DayOfWeek); string Mensaje = "No ha finalizado la Asistencia " + linea.Descripcion + " del día: " + dia + ", " + x.Fecha.Value.ToString("dd-MM-yyyy") + " Existen " + cantidad + " empleados sin finalizar"; MensajesNotificaciones.Add(new RespuestaGeneral { Mensaje = Mensaje, }); } } } if (MensajesNotificaciones.Any()) { ViewBag.MensajesNotificaciones = MensajesNotificaciones; } }