public RespuestaGenerica GenerarSolicitudPermiso(string Identificacion, string CodigoMotivo, string Observacion, string UsuarioIngreso, string TerminalIngreso, DateTime FechaSalida, DateTime FechaRegreso) { try { if (string.IsNullOrEmpty(Identificacion) || string.IsNullOrEmpty(CodigoMotivo) || string.IsNullOrEmpty(UsuarioIngreso) || string.IsNullOrEmpty(TerminalIngreso)) { return(new RespuestaGenerica { Respuesta = false, Mensaje = "Faltan Parametros" }); } clsDSolicitudPermiso clsDSolicitudPermiso = new clsDSolicitudPermiso(); clsDEmpleado clsDEmpleado = new clsDEmpleado(); var poEmpleado = clsDEmpleado.ConsultaEmpleado(Identificacion).FirstOrDefault(); SOLICITUD_PERMISO solicitud = new SOLICITUD_PERMISO { IdSolicitudPermiso = 0, CodigoLinea = poEmpleado.CODIGOLINEA, CodigoArea = poEmpleado.CODIGOAREA, CodigoCargo = poEmpleado.CODIGOCARGO, CodigoRecurso = poEmpleado.CODIGORECURSO, Identificacion = Identificacion, CodigoMotivo = CodigoMotivo, Observacion = Observacion, FechaSalida = FechaSalida, FechaRegreso = FechaRegreso, Nivel = clsDSolicitudPermiso.ConsultarNivelUsuario(Identificacion), FechaIngresoLog = DateTime.Now, UsuarioIngresoLog = UsuarioIngreso, TerminalIngresoLog = TerminalIngreso, Origen = clsAtributos.SolicitudOrigenGeneral, EstadoRegistro = clsAtributos.EstadoRegistroActivo, EstadoSolicitud = clsAtributos.EstadoSolicitudPendiente }; var mensaje = clsDSolicitudPermiso.GuargarModificarSolicitud(solicitud); return(new RespuestaGenerica { Respuesta = true, Mensaje = mensaje.Descripcion }); } catch (Exception ex) { return(new RespuestaGenerica { Respuesta = false, Mensaje = ex.Message }); } }
public ActionResult Home() { try { ViewBag.dataTableJS = "1"; ViewBag.JavaScrip = RouteData.Values["controller"] + "/" + RouteData.Values["action"]; ViewBag.Apexcharts = "1"; clsDEmpleado = new clsDEmpleado(); clsDSolicitudPermiso = new clsDSolicitudPermiso(); clsVacaciones = new ClsVacaciones(); clsDGeneral = new clsDGeneral(); clsDLogin PsLogin = new clsDLogin(); lsUsuario = User.Identity.Name.Split('_'); string psrolid = lsUsuario[1]; if (PsLogin.ValidarUsuarioRol(lsUsuario[1], clsAtributos.RolGarita)) { ViewBag.Garita = "1"; } var resultado = PsLogin.ConsultarRolesDeUsuario(psrolid); Session.Timeout = 1480; Session["Padre"] = resultado[0]; Session["Hijo"] = resultado[1]; Session["Modulos"] = resultado[2]; Session["Busqueda"] = resultado[3]; var Roles = PsLogin.ConsultaRolesUsuario(lsUsuario[1]); var Empleado = clsDEmpleado.ConsultaEmpleado(lsUsuario[1]).FirstOrDefault(); if (Empleado != null) { ViewBag.Nombre = Empleado.NOMBRES; } ViewBag.Vacaciones = JsonConvert.SerializeObject(clsVacaciones.ConsultarVacaciones(lsUsuario[1], "E").FirstOrDefault()); ViewBag.Marcacion = clsDGeneral.ConsultarBiometricoxFecha(lsUsuario[1], DateTime.Now); Notificaciones(Roles, lsUsuario[1]); var BD = clsDGeneral.getDataBase(); if (BD == clsAtributos.DesarrolloBD) { Session["BaseDatos"] = clsAtributos.BDDesarrollo; } if (BD == clsAtributos.PreProduccionBD) { Session["BaseDatos"] = clsAtributos.BDPreProduccion; } if (BD == clsAtributos.ProduccionBD) { Session["BaseDatos"] = clsAtributos.BDProduccion; } Session["Version"] = Assembly.GetExecutingAssembly().GetName().Version; return(View()); } catch (DbEntityValidationException e) { clsDError = new clsDError(); lsUsuario = User.Identity.Name.Split('_'); string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(), "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e); SetErrorMessage(Mensaje); return(View()); } catch (Exception ex) { clsDError = new clsDError(); lsUsuario = User.Identity.Name.Split('_'); string Mensaje = clsDError.ControlError(lsUsuario[0], Request.UserHostAddress, this.ControllerContext.RouteData.Values["controller"].ToString(), "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null); SetErrorMessage(Mensaje); return(View()); } }
public IHttpActionResult PostGenerarSolicitudPermiso(ParamSolicitud parametros) { try { RespuestaGeneral respuestaGeneral = new RespuestaGeneral(); if (string.IsNullOrEmpty(parametros.Identificacion) || string.IsNullOrEmpty(parametros.CodigoMotivo) || string.IsNullOrEmpty(parametros.UsuarioIngreso) || string.IsNullOrEmpty(parametros.TerminalIngreso)) { //return new RespuestaGeneral { Respuesta = false, Mensaje = "Faltan Parametros" }; respuestaGeneral.Respuesta = false; respuestaGeneral.Mensaje = "Faltan Parametros"; } else { clsDSolicitudPermiso clsDSolicitudPermiso = new clsDSolicitudPermiso(); clsDEmpleado clsDEmpleado = new clsDEmpleado(); var poEmpleado = clsDEmpleado.ConsultaEmpleado(parametros.Identificacion).FirstOrDefault(); SOLICITUD_PERMISO solicitud = new SOLICITUD_PERMISO { IdSolicitudPermiso = 0, CodigoLinea = poEmpleado.CODIGOLINEA, CodigoArea = poEmpleado.CODIGOAREA, CodigoCargo = poEmpleado.CODIGOCARGO, CodigoRecurso = poEmpleado.CODIGORECURSO, Identificacion = parametros.Identificacion, CodigoMotivo = parametros.CodigoMotivo, Observacion = parametros.Observacion, FechaSalida = parametros.FechaSalida, FechaRegreso = parametros.FechaRegreso, Nivel = clsDSolicitudPermiso.ConsultarNivelUsuario(parametros.Identificacion), FechaIngresoLog = DateTime.Now, UsuarioIngresoLog = parametros.UsuarioIngreso, TerminalIngresoLog = parametros.TerminalIngreso, Origen = clsAtributos.SolicitudOrigenGeneral, EstadoRegistro = clsAtributos.EstadoRegistroActivo, EstadoSolicitud = clsAtributos.EstadoSolicitudPendiente }; var mensaje = clsDSolicitudPermiso.GuargarModificarSolicitud(solicitud); //return new RespuestaGeneral { Respuesta = true, Mensaje = mensaje }; respuestaGeneral.Respuesta = true; respuestaGeneral.Mensaje = mensaje.Mensaje; } return(Json(respuestaGeneral)); } catch (DbEntityValidationException e) { //Response.StatusCode = (int)HttpStatusCode.InternalServerError; clsDError = new clsDError(); string Mensaje = clsDError.ControlError(parametros.UsuarioIngreso, parametros.TerminalIngreso, this.ControllerContext.RouteData.Values["controller"].ToString(), "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), null, e); return(InternalServerError(new Exception(Mensaje))); } catch (Exception ex) { // Response.StatusCode = (int)HttpStatusCode.InternalServerError; clsDError = new clsDError(); string Mensaje = clsDError.ControlError(parametros.UsuarioIngreso, parametros.TerminalIngreso, this.ControllerContext.RouteData.Values["controller"].ToString(), "Metodo: " + this.ControllerContext.RouteData.Values["action"].ToString(), ex, null); return(InternalServerError(new Exception(Mensaje))); } }
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; } }