示例#1
0
        public ActionResult CargueMasivo()
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            var ausenccia     = new AusenciaModel();

            ServiceClient.EliminarParametros();
            ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
            var result = ServiceClient.ObtenerArrayJsonRestFul <EDEmpresa_Usuaria>(urlServicioEmpresas, CapacidadObtenerEmpresasusuarias, RestSharp.Method.GET);

            if (result != null && result.Count() > 0)
            {
                ausenccia.EmpresasUsuarias = result.Select(c => new SelectListItem()
                {
                    Value = c.IdEmpresaUsuaria.ToString(),
                    Text  = c.RazonSocial
                }).ToList();
            }
            else
            {
                ausenccia.EmpresasUsuarias = new List <SelectListItem>();
            }

            ausenccia.RazonSocial = usuarioActual.RazonSocialEmpresa;

            return(View(ausenccia));
        }
示例#2
0
        public FileResult DescargarExcelAusencias()
        {
            var           usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            AusenciaModel Ausmodel      = new AusenciaModel();

            if (TempData["Informeausen"] != null)
            {
                Ausmodel = (AusenciaModel)TempData["Informeausen"];
            }

            EDAusencia edAusencia = new EDAusencia
            {
                Documento        = string.IsNullOrEmpty(Ausmodel.Documento) ? "0" : Ausmodel.Documento,
                strFechaInicio   = string.IsNullOrEmpty(Ausmodel.FechaInicio) ? "" : Ausmodel.FechaInicio,
                strFechaFin      = string.IsNullOrEmpty(Ausmodel.FechaFin) ? "" : Ausmodel.FechaFin,
                IdSede           = Ausmodel.idSede,
                IdDiagnostico    = Ausmodel.IdDiagnostico,
                IdEmpresaUsuaria = string.IsNullOrEmpty(Ausmodel.IdEmpresaUsuaria) ? 0 : Convert.ToInt32(Ausmodel.IdEmpresaUsuaria),
                IdEmpresa        = usuarioActual.NitEmpresa
            };

            var bufer = lnausencia.GenararExcelConsultaAusencias(edAusencia);

            return(File(bufer, "application/vnd.ms-excel", "Informe Ausencias.xlsx"));
        }
示例#3
0
        public ActionResult RegistrarAusencia()
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.Mensaje = "Debe estar autenticado para registrar una Ausencia.";
                return(View());
            }
            var ausenccia = new AusenciaModel();

            ausenccia.DatosTrabajor = new AfiliadoModel();
            ausenccia.IdEmpresa     = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current) == null ? string.Empty : ObtenerUsuarioEnSesion(System.Web.HttpContext.Current).NitEmpresa;
            ausenccia.RazonSocial   = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current) == null ? string.Empty : ObtenerUsuarioEnSesion(System.Web.HttpContext.Current).RazonSocialEmpresa;
            ServiceClient.EliminarParametros();
            ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
            var result = ServiceClient.ObtenerArrayJsonRestFul <EDEmpresa_Usuaria>(urlServicioEmpresas, CapacidadObtenerEmpresasusuarias, RestSharp.Method.GET);

            if (result != null && result.Count() > 0)
            {
                if (result[0] != null)
                {
                    ausenccia.EmpresasUsuarias = result.Select(c => new SelectListItem()
                    {
                        Value = c.IdEmpresaUsuaria.ToString(),
                        Text  = c.RazonSocial
                    }).ToList();
                }
            }
            else
            {
                ausenccia.EmpresasUsuarias = new List <SelectListItem>();
            }

            ServiceClient.EliminarParametros();
            ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
            var resultSede = ServiceClient.ObtenerArrayJsonRestFul <EDSede>(urlServicioEmpresas, CapacidadObtenerSedesPorNit, RestSharp.Method.GET);

            if (resultSede != null && resultSede.Count() > 0)
            {
                ausenccia.Sedes = resultSede.Select(c => new SelectListItem()
                {
                    Value = c.IdSede.ToString(),
                    Text  = c.NombreSede
                }).ToList();
            }
            else
            {
                ausenccia.Sedes = new List <SelectListItem>();
            }
            ausenccia.Departamentos = lnDepartamento.ObtenerListadoDepartamento().Select(d => new SelectListItem()
            {
                Value = d.IdDepartamento.ToString(), Text = d.Nombre
            }).ToList();
            ausenccia.Municipios = new List <SelectListItem>();// lnMunicipio.ObtenerListadoMunicipio().Select(m => new SelectListItem() { Value = m.IdMunicipio.ToString(), Text = m.Nombre }).ToList();
            return(View(ausenccia));
        }
示例#4
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult ConsultarAusencia()
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            var Ausencia    = new AusenciaModel();
            var diagnostico = lndiagnostico.ObtenerListadoDisagnostico(usuarioActual.NitEmpresa);

            Ausencia.Diagnostico = new DiagnosticoModel()
            {
                Diagnosticos = diagnostico.Select(d => new SelectListItem()
                {
                    Value = d.IdDiagnostico.ToString(),
                    Text  = string.Format("{0} {1}", d.Codigo, d.Descripcion)
                }).ToList()
            };
            ServiceClient.EliminarParametros();
            ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
            var result = ServiceClient.ObtenerArrayJsonRestFul <EDEmpresa_Usuaria>(urlServicioEmpresas, CapacidadObtenerEmpresasusuarias, RestSharp.Method.GET);

            if (result != null && result.Count() > 0)
            {
                Ausencia.EmpresasUsuarias = result.Select(c => new SelectListItem()
                {
                    Value = c.IdEmpresaUsuaria.ToString(),
                    Text  = c.RazonSocial
                }).ToList();
            }
            else
            {
                Ausencia.EmpresasUsuarias = new List <SelectListItem>();
            }

            Ausencia.RazonSocial = usuarioActual.RazonSocialEmpresa;

            ServiceClient.EliminarParametros();
            ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
            var resultSede = ServiceClient.ObtenerArrayJsonRestFul <EDSede>(urlServicioEmpresas, CapacidadObtenerSedesPorNit, RestSharp.Method.GET);

            if (resultSede != null && resultSede.Count() > 0)
            {
                Ausencia.Sedes = resultSede.Select(c => new SelectListItem()
                {
                    Value = c.IdSede.ToString(),
                    Text  = c.NombreSede
                }).ToList();
            }
            else
            {
                Ausencia.Sedes = new List <SelectListItem>();
            }

            var datos = RenderRazorViewToString("ConsultarAusencia", Ausencia);

            return(View());
        }
示例#5
0
        public ActionResult NuevaAusencia(AusenciaModel objNuevaAusencia)
        {
            var Ausencia    = new EDAusencia();
            var objAfiliado = ObtenerAfiliadoEnSesion();

            Ausencia.NombrePersona      = objNuevaAusencia.DatosTrabajor == null ? string.Empty : objNuevaAusencia.DatosTrabajor.Nombre1;
            Ausencia.Documento          = objNuevaAusencia.Documento;
            Ausencia.IdEmpresa          = objNuevaAusencia.IdEmpresa;
            Ausencia.IdEmpresaUsuaria   = Convert.ToInt32(objNuevaAusencia.IdEmpresaUsuaria);
            Ausencia.idDepartamento     = objNuevaAusencia.idDepartamento;
            Ausencia.idMunicipio        = objNuevaAusencia.idMunicipio;
            Ausencia.IdContingencia     = objNuevaAusencia.Contingencia.IdContingenciaSeleccionada;
            Ausencia.IdDiagnostico      = objNuevaAusencia.Diagnostico.IdDiagnoticoSeleccionado;
            Ausencia.IdSede             = objNuevaAusencia.idSede;
            Ausencia.IdProceso          = objNuevaAusencia.idProceso;
            Ausencia.FechaInicio        = DateTime.ParseExact(objNuevaAusencia.FechaInicio, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
            Ausencia.FechaFin           = DateTime.ParseExact(objNuevaAusencia.FechaFin, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
            Ausencia.DiasAusencia       = Convert.ToDecimal(objNuevaAusencia.DiasAusencia, CultureInfo.InvariantCulture);
            Ausencia.Costo              = Convert.ToDecimal(objNuevaAusencia.Costo, CultureInfo.InvariantCulture);
            Ausencia.FactorPrestacional = Convert.ToDecimal(objNuevaAusencia.FactorPrestacional, CultureInfo.InvariantCulture);
            Ausencia.Observaciones      = objNuevaAusencia.Observaciones;
            Ausencia.IdOcupacion        = objAfiliado.IdOcupacion;
            Ausencia.Sexo            = objNuevaAusencia.Sexo;
            Ausencia.Edad            = objNuevaAusencia.Edad;
            Ausencia.Eps             = objNuevaAusencia.Eps;
            Ausencia.TipoVinculacion = objNuevaAusencia.TipoVinculacion;
            var result = lnausencia.GuardarAusencia(Ausencia);

            if (result != null)
            {
                if (result.Result.Equals("OK"))
                {
                    return(Json(new { status = "Success", Message = "La nueva Ausencia se registró con éxito." }));
                }
                else if (result.Result.Equals("CRUCE"))
                {
                    return(Json(new { status = "CRUCE", Message = "El afiliado ya presenta ausentismos registrados en las fechas ingresadas." }));
                }
                else
                {
                    return(Json(new { status = "Error", Message = "No fue posible registrar la nueva Ausencia. Intente nuevamente." }));
                }
            }
            else
            {
                return(Json(new { status = "Error", Message = "No fue posible registrar la nueva Ausencia. Intente nuevamente." }));
            }
        }
示例#6
0
        public JsonResult ConsultarMunicipiosPorDepto(int idDepto)
        {
            var ausenccia = new AusenciaModel();

            ausenccia.Municipios = lnMunicipio.ObtenerListadoMunicipio(idDepto).Select(m => new SelectListItem()
            {
                Value = m.IdMunicipio.ToString(), Text = m.Nombre
            }).ToList();
            if (ausenccia.Municipios.Count > 0)
            {
                return(Json(new { Data = ausenccia.Municipios, Mensaje = "Success" }));
            }
            else
            {
                return(Json(new { Data = "No fue posible realizar obtener los municipios", Mensaje = "Fail" }));
            }
        }
示例#7
0
        /// <summary>
        /// Alertas de Ausentismo.
        /// Visualiza una alerta de ausentismo en rangos de días de 60 a 120 y mayores a 120 días.
        /// </summary>
        /// <returns></returns>
        /// <remarks>Caso de uso 22.5</remarks>
        public ActionResult AlertarAusencia()
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            // Llenar la información que requiere el modelo.
            var Ausencia = new AusenciaModel()
            {
                IdEmpresa        = ObtenerEmpresaIdUsuario(),
                RazonSocial      = ObtenerEmpresaRazonSocialUsuario(),
                EmpresasUsuarias = ObtenerListaEmpresasUsuarias(),
                Anios            = (new AlertasModel()).ConfigurarAnios()
            };

            // Dejar siempre seleccionado el año más reciente.
            Ausencia.AnioSeleccionado = Convert.ToInt32(Ausencia.Anios.First().Value);

            return(View(Ausencia));
        }
示例#8
0
        public JsonResult ValidarCruceDeFechas(AusenciaModel objNuevaAusencia)
        {
            var Ausencia    = new EDAusencia();
            var objAfiliado = ObtenerAfiliadoEnSesion();

            Ausencia.Documento   = objNuevaAusencia.Documento;
            Ausencia.IdEmpresa   = objNuevaAusencia.IdEmpresa;
            Ausencia.FechaInicio = DateTime.ParseExact(objNuevaAusencia.FechaInicio, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
            Ausencia.FechaFin    = DateTime.ParseExact(objNuevaAusencia.FechaFin, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);

            bool cruce = lnausencia.ValidarCruceDeAusencias(Ausencia);

            if (!cruce)
            {
                return(Json(new { status = "CRUCE", Message = "" }));
            }
            else
            {
                return(Json(new { status = "Success", Message = "" }));
            }
        }
示例#9
0
 public ActionResult Prorrogar(AusenciaModel objprorroga)
 {
     if (objprorroga != null)
     {
         var Prorroga = new EDAusencia();
         Prorroga.IdAusencia         = objprorroga.IdAusencia;
         Prorroga.FechaInicio        = DateTime.ParseExact(objprorroga.FechaInicio, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
         Prorroga.FechaFin           = DateTime.ParseExact(objprorroga.FechaFin, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None);
         Prorroga.DiasAusencia       = Convert.ToInt32(objprorroga.DiasAusencia);
         objprorroga.Costo           = objprorroga.Costo.Replace("$", "");
         objprorroga.Costo           = objprorroga.Costo.Replace(".", "");
         Prorroga.Costo              = Convert.ToInt32(objprorroga.Costo, CultureInfo.InvariantCulture);
         Prorroga.FactorPrestacional = Convert.ToDecimal(objprorroga.FactorPrestacional);
         var result = lnausencia.ProrrogarAusencia(Prorroga);
         if (result != null)
         {
             if (result.Result.Equals("OK"))
             {
                 return(Json(new { status = "Success", Message = "La información se actualizó con éxito." }));
             }
             else if (result.Result.Equals("CRUCE"))
             {
                 return(Json(new { status = "CRUCE", Message = "El afiliado ya presenta ausentismos registrados en las fechas ingresadas." }));
             }
             else
             {
                 return(Json(new { status = "Error", Message = "No fue posible registrar la prorroga. Intente nuevamente." }));
             }
         }
         else
         {
             return(Json(new { status = "Error", Message = "No fue posible registrar la prorroga. Intente nuevamente." }));
         }
     }
     else
     {
         return(Json(new { status = "Error", Message = "No fue posible registrar la prorroga. Intente nuevamente." }));
     }
 }
示例#10
0
 public JsonResult GenerarExcelAusencias(AusenciaModel Ausencia, int tipoVIsta = 0)
 {
     TempData["Informeausen"] = Ausencia;
     return(Json(new { Data = "/DescargarExcelAusencias", Mensaje = "Success" }));
 }
示例#11
0
        public JsonResult ConsultarAusencia(AusenciaModel Ausencia, int tipoVIsta = 0)
        {
            List <AusenciaModel> objAusencias = null;
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);


            EDAusencia edAusencia = new EDAusencia
            {
                Documento = string.IsNullOrEmpty(Ausencia.Documento) ? "0" : Ausencia.Documento,

                strFechaInicio   = string.IsNullOrEmpty(Ausencia.FechaInicio) ? "" : Ausencia.FechaInicio,
                strFechaFin      = string.IsNullOrEmpty(Ausencia.FechaFin) ? "" : Ausencia.FechaFin,
                IdSede           = Ausencia.idSede,
                IdDiagnostico    = Ausencia.IdDiagnostico,
                IdEmpresaUsuaria = string.IsNullOrEmpty(Ausencia.IdEmpresaUsuaria) ? 0 : Convert.ToInt32(Ausencia.IdEmpresaUsuaria),
                IdEmpresa        = usuarioActual.NitEmpresa
            };
            var result = lnausencia.ConsultarDatosAusencia(edAusencia);

            if (result != null)
            {
                objAusencias = result.Select(d => new AusenciaModel()
                {
                    IdAusencia    = d.IdAusencias,
                    NombrePersona = d.NombrePersona,
                    Documento     = d.Documento,
                    FechaRegistro = string.Format("{0}/{1}/{2}", d.FechaModificacion.Value.Day, d.FechaModificacion.Value.Month, d.FechaModificacion.Value.Year),
                    Departamento  = d.Departamento,
                    Municipio     = d.Municipio,
                    Sede          = d.nombreRegional,
                    Tipo          = d.TipoRegistro,
                    FechaInicio   = string.Format("{0}/{1}/{2}", d.fechainicio.Day, d.fechainicio.Month, d.fechainicio.Year),
                    FechaFin      = string.Format("{0}/{1}/{2}", d.fechafin.Day, d.fechafin.Month, d.fechafin.Year),
                    Contingencia  = new ContingeciaModel()
                    {
                        IdContingenciaSeleccionada = 0,
                        TipoContingencia           = d.Detalle
                    },
                    DiasAusencia = ObtenerValorConformato(d.diasausencia.ToString()),
                    Diagnostico  = new DiagnosticoModel()
                    {
                        TipoDiagnostico = d.Descripcion
                    },
                    Costo = d.costo.ToString(),
                    FactorPrestacional = d.FactorPrestacional.ToString(),
                    Observaciones      = d.Observaciones
                }).ToList();
            }

            if (objAusencias != null)
            {
                var datos = string.Empty;
                if (tipoVIsta == 0)
                {
                    datos = RenderRazorViewToString("_DetallesAusencias", objAusencias);
                    if (objAusencias.Count > 0)
                    {
                        return(Json(new { Data = datos, Mensaje = "Success" }));
                    }
                    else
                    {
                        return(Json(new { Data = datos, Mensaje = "" }));
                    }
                }
                else
                {
                    if (objAusencias.Count < 1)
                    {
                        return(Json(new { Data = "El afiliado aún no presenta registros de ausentismo, para generar un registro de ausencia seleccecione la opcion Si.", Mensaje = "Fail" }));
                    }
                    else
                    {
                        datos = RenderRazorViewToString("_ProrrogasAusencias", objAusencias);
                        return(Json(new { Data = datos, Mensaje = "Success" }));
                    }
                }
            }
            else
            {
                return(Json(new { Data = "El afiliado aún no presenta registros de ausentismo", Mensaje = "Fail" }));
            }
        }
示例#12
0
        public JsonResult RegistrarNuevaAusencia()
        {
            try
            {
                var usuarioActual    = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
                var objNuevaAusencia = new AusenciaModel();
                var diagnostico      = lndiagnostico.ObtenerListadoDisagnostico();
                objNuevaAusencia.Contingecias = lncontingencia.ObtenerListadoContingencia().Select(c => new SelectListItem()
                {
                    Value = c.IdContingencia.ToString(), Text = c.Detalle
                }).ToList();
                objNuevaAusencia.HorasConfigurables = new List <SelectListItem>()
                {
                    new SelectListItem()
                    {
                        Value = "0", Text = "6:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "1", Text = "7:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "2", Text = "8:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "3", Text = "9:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "4", Text = "10:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "5", Text = "11:00 am"
                    },
                    new SelectListItem()
                    {
                        Value = "6", Text = "12:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "7", Text = "1:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "8", Text = "2:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "9", Text = "3:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "10", Text = "4:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "11", Text = "5:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "12", Text = "6:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "13", Text = "7:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "14", Text = "8:00 pm"
                    },
                    new SelectListItem()
                    {
                        Value = "15", Text = "9:00 pm"
                    }
                };

                ServiceClient.EliminarParametros();
                ServiceClient.AdicionarParametro("NIT", usuarioActual.NitEmpresa);
                var resultProceso = ServiceClient.ObtenerArrayJsonRestFul <EDProceso>(urlServicioEmpresas, CapacidadObtenerprocesosEmpresa, RestSharp.Method.GET);
                if (resultProceso != null && resultProceso.Count() > 0)
                {
                    objNuevaAusencia.Procesos = resultProceso.Select(c => new SelectListItem()
                    {
                        Value = c.Id_Proceso.ToString(),
                        Text  = c.Descripcion
                    }).ToList();
                }
                else
                {
                    objNuevaAusencia.Procesos = new List <SelectListItem>();
                }


                objNuevaAusencia.Diagnostico = new DiagnosticoModel()
                {
                    Diagnosticos = diagnostico.Select(d => new SelectListItem()
                    {
                        Value = d.IdDiagnostico.ToString(),
                        Text  = d.Descripcion
                    }).ToList()
                };
                var datos = RenderRazorViewToString("_NuevaAusencia", objNuevaAusencia);

                return(Json(new { Data = datos, Mensaje = "Success" }));
            }
            catch (Exception ex)
            {
                registroLog.RegistrarError(typeof(AusenciasController), string.Format("Error en la acción RegistrarNuevaAusencia. Hora: {0}, Error: {1}", DateTime.Now, ex.StackTrace), ex);
                return(Json(new { Data = "", Mensaje = "Error" }));
            }
        }