Example #1
0
        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
                });
            }
        }
Example #2
0
        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)));
            }
        }
Example #4
0
        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;
            }
        }