Esempio n. 1
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"));
        }
Esempio n. 2
0
        private bool VerificarCrucesEnCargueMasivo(EDAusencia ausencia, List <EDAusencia> Ausenciastmp)
        {
            List <EDAusencia> AusenciasList = ValidarCruceAusentismo(ausencia);

            AusenciasList.AddRange(Ausenciastmp);
            bool puedeCrear = true;

            foreach (var item in AusenciasList.Where(a => a.Documento.Equals(ausencia.Documento)).Select(a => a).ToList())
            {
                if (DateTime.Compare(ausencia.FechaFin, item.FechaInicio) >= 0 && DateTime.Compare(ausencia.FechaFin, item.FechaFin) <= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(ausencia.FechaInicio, item.FechaFin) <= 0 && DateTime.Compare(ausencia.FechaInicio, item.FechaInicio) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(ausencia.FechaInicio, item.FechaInicio) <= 0 && DateTime.Compare(ausencia.FechaFin, item.FechaFin) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
            }
            return(puedeCrear);
        }
Esempio n. 3
0
        //Creado por Javier García (Kerocorp) 30/03/2018
        public List <EDAusencia> ConsultarAusenciaProrrogas(string NitEmpresa, int idAusencia)
        {
            List <EDAusencia> ListaEDAusencia = new List <EDAusencia>();

            using (var context = new SG_SSTContext())
            {
                var aus = (from s in context.Tbl_Ausencias
                           where s.FK_Id_Ausencias_Padre == idAusencia && s.NitEmpresa == NitEmpresa
                           select s).ToList <Ausencia>();
                if (aus != null)
                {
                    foreach (var item in aus)
                    {
                        EDAusencia EDAusencia = new EDAusencia();
                        EDAusencia.consecutivoPadre = item.FK_Id_Ausencias_Padre;
                        EDAusencia.Costo            = item.Costo;
                        EDAusencia.DiasAusencia     = item.DiasAusencia;
                        EDAusencia.Documento        = item.Documento_Persona;
                        ListaEDAusencia.Add(EDAusencia);
                    }
                    if (ListaEDAusencia.Count > 0)
                    {
                        return(ListaEDAusencia);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
            return(ListaEDAusencia);
        }
Esempio n. 4
0
        public IEnumerable <Resultados> ConsultarAusencia(EDAusencia edAusencia)
        {
            try
            {
                List <Resultados> resultAusencias = new List <Resultados>();
                using (var context = new SG_SSTContext())
                {
                    var AusenciasPadre = context.Database.SqlQuery <Resultados>("SP_AUSENTISMO_CONSULTAR @documento, @fechaInicial, @fechaFin, @idSede, @idDiagnostico, @idEmpresaUsuaria, @nitEmpresa",
                                                                                new SqlParameter("@documento", int.Parse(edAusencia.Documento)),
                                                                                new SqlParameter("@fechaInicial", string.IsNullOrEmpty(edAusencia.strFechaInicio) ? "" : string.Format("{0}/{1}/{2}", edAusencia.strFechaInicio.Split('/')[2], edAusencia.strFechaInicio.Split('/')[1], edAusencia.strFechaInicio.Split('/')[0])),
                                                                                new SqlParameter("@fechaFin", string.IsNullOrEmpty(edAusencia.strFechaFin) ? "" : string.Format("{0}/{1}/{2}", edAusencia.strFechaFin.Split('/')[2], edAusencia.strFechaFin.Split('/')[1], edAusencia.strFechaFin.Split('/')[0])),
                                                                                new SqlParameter("@idSede", edAusencia.IdSede),
                                                                                new SqlParameter("@idDiagnostico", edAusencia.IdDiagnostico),
                                                                                new SqlParameter("@idEmpresaUsuaria", edAusencia.IdEmpresaUsuaria),
                                                                                new SqlParameter("@nitEmpresa", edAusencia.IdEmpresa)).ToList();

                    foreach (var ausencia in AusenciasPadre)
                    {
                        resultAusencias.Add(ausencia);
                        var AusenciasProrrogas = context.Database.SqlQuery <Resultados>("SP_PRORROGAS_CONSULTAR @idAusenciaPadre, @documento",
                                                                                        new SqlParameter("@idAusenciaPadre", ausencia.IdAusencias),
                                                                                        new SqlParameter("@documento", ausencia.Documento)).ToList();
                        resultAusencias.AddRange(AusenciasProrrogas);
                    }
                };

                return(resultAusencias);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Esempio n. 5
0
        public bool  ValidarCruceDeAusencias(EDAusencia ausencia)
        {
            List <EDAusencia> AusenciasList = ausenciaMg.ValidarCruceAusentismo(ausencia);
            bool puedeCrear = true;

            foreach (var item in AusenciasList)
            {
                if (DateTime.Compare(ausencia.FechaFin, item.FechaInicio) >= 0 && DateTime.Compare(ausencia.FechaFin, item.FechaFin) <= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(ausencia.FechaInicio, item.FechaFin) <= 0 && DateTime.Compare(ausencia.FechaInicio, item.FechaInicio) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(ausencia.FechaInicio, item.FechaInicio) <= 0 && DateTime.Compare(ausencia.FechaFin, item.FechaFin) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
            }
            return(puedeCrear);
        }
Esempio n. 6
0
        //TODO se comenta por que se debe cambiar el guardado
        public bool ProrrogarAusencia(EDAusencia prorrogar)
        {
            try
            {
                var result = false;
                using (var context = new SG_SSTContext())
                {
                    var ausenciaPadre = context.Tbl_Ausencias.Where(au => au.Pk_Id_Ausencias == prorrogar.IdAusencia).Select(au => au.FK_Id_Ausencias_Padre).FirstOrDefault();
                    if (ausenciaPadre > 0)
                    {
                        prorrogar.IdAusenciaPadre = ausenciaPadre;
                    }
                    else
                    {
                        prorrogar.IdAusenciaPadre = prorrogar.IdAusencia;
                    }

                    var datosAusenciaPadre = context.Tbl_Ausencias.Where(au => au.Pk_Id_Ausencias == prorrogar.IdAusencia).Select(au => au).FirstOrDefault();

                    var nuevaAusencia = new Ausencia();
                    nuevaAusencia.FK_Id_Ausencias_Padre = prorrogar.IdAusenciaPadre;
                    nuevaAusencia.Documento_Persona     = datosAusenciaPadre.Documento_Persona;
                    nuevaAusencia.NitEmpresa            = datosAusenciaPadre.NitEmpresa;
                    nuevaAusencia.FK_Id_EmpresaUsuaria  = datosAusenciaPadre.FK_Id_EmpresaUsuaria;
                    nuevaAusencia.FK_Id_Departamento    = datosAusenciaPadre.FK_Id_Departamento;
                    nuevaAusencia.FK_Id_Municipio       = datosAusenciaPadre.FK_Id_Municipio;
                    nuevaAusencia.FK_Id_Contingencia    = datosAusenciaPadre.FK_Id_Contingencia;
                    nuevaAusencia.FK_Id_Diagnostico     = datosAusenciaPadre.FK_Id_Diagnostico;
                    nuevaAusencia.FK_Id_Sede            = datosAusenciaPadre.FK_Id_Sede;
                    nuevaAusencia.FechaInicio           = prorrogar.FechaInicio;
                    nuevaAusencia.Fecha_Fin             = prorrogar.FechaFin;
                    nuevaAusencia.FK_Id_Proceso         = datosAusenciaPadre.FK_Id_Proceso;
                    nuevaAusencia.DiasAusencia          = prorrogar.DiasAusencia;
                    nuevaAusencia.Costo = prorrogar.Costo;
                    nuevaAusencia.Factor_Prestacional = prorrogar.FactorPrestacional;
                    nuevaAusencia.FK_Id_Ocupacion     = datosAusenciaPadre.FK_Id_Ocupacion;
                    nuevaAusencia.Sexo             = datosAusenciaPadre.Sexo;
                    nuevaAusencia.Tipo_Vinculacion = datosAusenciaPadre.Tipo_Vinculacion;
                    nuevaAusencia.Edad             = datosAusenciaPadre.Edad;
                    nuevaAusencia.Eps               = datosAusenciaPadre.Eps;
                    nuevaAusencia.NombrePersona     = datosAusenciaPadre.NombrePersona;
                    nuevaAusencia.FechaModificacion = DateTime.Now;
                    nuevaAusencia.FechaRegistro     = DateTime.Now;

                    context.Tbl_Ausencias.Add(nuevaAusencia);
                    context.SaveChanges();
                    result = true;
                }
            }
            catch (Exception ex)
            {
                var log = new RegistraLog();
                log.RegistrarError(typeof(AusenciaManager), string.Format("Error Prorrogando la ausencias: {0}, {1}. Error: {2}", DateTime.Now, prorrogar.FechaInicio.ToString(), prorrogar.FechaFin.ToString(), ex.StackTrace), ex);
                return(false);
            }
            return(true);
        }
Esempio n. 7
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." }));
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Guarda en base de datos una nueva ausencia asociada
        /// a un afiliado
        /// </summary>
        /// <param name="ausencia"></param>
        /// <returns></returns>
        public bool GuardarAusencia(EDAusencia ausencia)
        {
            try
            {
                var result = false;
                using (var context = new SG_SSTContext())
                {
                    var nuevaAusencia = new Ausencia();
                    nuevaAusencia.NombrePersona        = ausencia.NombrePersona;
                    nuevaAusencia.Documento_Persona    = ausencia.Documento;
                    nuevaAusencia.NitEmpresa           = ausencia.IdEmpresa;
                    nuevaAusencia.FK_Id_EmpresaUsuaria = ausencia.IdEmpresaUsuaria;
                    nuevaAusencia.FK_Id_Departamento   = ausencia.idDepartamento;
                    nuevaAusencia.FK_Id_Municipio      = ausencia.idMunicipio;
                    nuevaAusencia.FK_Id_Contingencia   = ausencia.IdContingencia;
                    nuevaAusencia.FK_Id_Diagnostico    = ausencia.IdDiagnostico;
                    nuevaAusencia.FK_Id_Sede           = ausencia.IdSede;
                    nuevaAusencia.FK_Id_Proceso        = ausencia.IdProceso;
                    nuevaAusencia.FechaInicio          = ausencia.FechaInicio;
                    nuevaAusencia.Fecha_Fin            = ausencia.FechaFin;
                    nuevaAusencia.DiasAusencia         = ausencia.DiasAusencia;
                    nuevaAusencia.Costo = ausencia.Costo;
                    nuevaAusencia.Factor_Prestacional = ausencia.FactorPrestacional;
                    nuevaAusencia.Observaciones       = ausencia.Observaciones;
                    nuevaAusencia.FK_Id_Ocupacion     = ausencia.IdOcupacion;
                    nuevaAusencia.Sexo             = ausencia.Sexo;
                    nuevaAusencia.Tipo_Vinculacion = ausencia.TipoVinculacion;
                    nuevaAusencia.Edad             = ausencia.Edad;
                    nuevaAusencia.Eps = ausencia.Eps;
                    nuevaAusencia.FechaModificacion = DateTime.Now;
                    nuevaAusencia.FechaRegistro     = DateTime.Now;

                    context.Tbl_Ausencias.Add(nuevaAusencia);
                    context.SaveChanges();
                    result = true;
                    return(result);

                    var log = new RegistraLog();
                    log.RegistrarError(typeof(AusenciaManager), string.Format("Guardado la ausencias: {0}, {1}", DateTime.Now, nuevaAusencia.FechaInicio.ToString(), nuevaAusencia.Fecha_Fin.ToString()), new Exception());
                }
            }
            catch (Exception ex)
            {
                var log = new RegistraLog();
                log.RegistrarError(typeof(AusenciaManager), string.Format("Erorr en el guardado de ausencias: {0}, {1}. Error: {2}", DateTime.Now, ausencia.FechaInicio.ToString(), ausencia.FechaFin.ToString(), ex.StackTrace), ex);
                return(false);
            }
        }
Esempio n. 9
0
        //Creado por Javier García (Kerocorp) 30/03/2018
        public EDAusencia ConsultarAusenciaEliminar(string NitEmpresa, int idAusencia)
        {
            EDAusencia EDAusencia = new EDAusencia();

            using (var context = new SG_SSTContext())
            {
                var aus = (from s in context.Tbl_Ausencias
                           where s.Pk_Id_Ausencias == idAusencia && s.NitEmpresa == NitEmpresa
                           select s).FirstOrDefault <Ausencia>();
                if (aus != null)
                {
                    EDAusencia.consecutivoPadre = aus.FK_Id_Ausencias_Padre;
                    EDAusencia.IdAusencia       = aus.Pk_Id_Ausencias;
                }
            }
            return(EDAusencia);
        }
Esempio n. 10
0
        //Creado por Javier García (Kerocorp) 30/03/2018
        public bool EliminarAusencia(string NitEmpresa, int idAusencia)
        {
            EDAusencia EDAusencia = new EDAusencia();

            using (var context = new SG_SSTContext())
            {
                var aus = (from s in context.Tbl_Ausencias
                           where s.Pk_Id_Ausencias == idAusencia && s.NitEmpresa == NitEmpresa
                           select s).FirstOrDefault <Ausencia>();
                if (aus != null)
                {
                    context.Entry(aus).State = System.Data.Entity.EntityState.Deleted;
                    context.SaveChanges();
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 11
0
        public EDAusencia ProrrogarAusencia(EDAusencia prorrogar)
        {
            List <EDAusencia> AusenciasList = ausenciaMg.ValidarCruceAusentismo(prorrogar);
            bool puedeCrear = true;

            foreach (var item in AusenciasList)
            {
                if (DateTime.Compare(prorrogar.FechaFin, item.FechaInicio) >= 0 && DateTime.Compare(prorrogar.FechaFin, item.FechaFin) <= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(prorrogar.FechaInicio, item.FechaFin) <= 0 && DateTime.Compare(prorrogar.FechaInicio, item.FechaInicio) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
                else if (DateTime.Compare(prorrogar.FechaInicio, item.FechaInicio) <= 0 && DateTime.Compare(prorrogar.FechaFin, item.FechaFin) >= 0)
                {
                    puedeCrear = false;
                    break;
                }
            }

            if (!puedeCrear)
            {
                prorrogar.Result = "CRUCE";
            }
            else
            {
                var resultado = ausenciaMg.ProrrogarAusencia(prorrogar);
                if (resultado)
                {
                    prorrogar.Result = "OK";
                }
                else
                {
                    prorrogar.Result = "FAIL";
                }
            }

            return(prorrogar);
        }
Esempio n. 12
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 = "" }));
            }
        }
Esempio n. 13
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." }));
     }
 }
Esempio n. 14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ausencia"></param>
        /// <returns></returns>
        public EDAusencia GuardarAusencia(EDAusencia ausencia)
        {
            bool puedeCrear = ValidarCruceDeAusencias(ausencia);

            if (!puedeCrear)
            {
                ausencia.Result = "CRUCE";
            }
            else
            {
                var resultado = ausenciaMg.GuardarAusencia(ausencia);
                if (resultado)
                {
                    ausencia.Result = "OK";
                }
                else
                {
                    ausencia.Result = "FAIL";
                }
            }

            return(ausencia);
        }
Esempio n. 15
0
        private EDCargueMasivo ProcesarCargue(ExcelWorksheet sheet, EDCargueMasivo cargue)
        {
            EDCargueMasivo    edCargue  = new EDCargueMasivo();
            List <EDAusencia> Ausencias = new List <EDAusencia>();
            LNAusencia        use       = new LNAusencia();
            bool tieneDatos             = false;
            bool result = false;

            int      consecutivo;
            int      conscutivopadre;
            int      CodTipoDocumento;
            string   Nit_Empresa;
            int      Cod_Departamento;
            int      Cod_Municipio;
            int      Cod_Sede;
            int      Cod_Tipo_Documento;
            string   Num_Documento;
            string   Nombre_Trabajador;
            int      Edad;
            string   Genero;
            int      Cod_Ocupacion;
            string   Nombre_EPS;
            string   Tipo_Vinculacion;
            int      Salario_Base;
            int      Cod_Contingencia;
            int      Cod_Area;
            DateTime Fecha_Inicio;
            DateTime Fecha_Fin;
            int      Cod_Diagnostico;
            decimal  Factor_Prestacional;
            string   Observacion;

            int DiasLaborables = 5;
            int diasCalculados = 0;

            try
            {
                var        dt         = new DataTable();
                var        rowCnt     = sheet.Dimension.End.Row;
                LNAusencia lnAusencia = new LNAusencia();


                //Verificamos los nombres de las columnas
                // Loop through Columns
                for (var fila = 2; fila <= rowCnt; fila++)
                {
                    EDAusencia Ausencia = new EDAusencia();

                    if (sheet.Cells[fila, 1].Value == null || sheet.Cells[fila, 2].Value == null || sheet.Cells[fila, 3].Value == null ||
                        sheet.Cells[fila, 4].Value == null || sheet.Cells[fila, 5].Value == null || sheet.Cells[fila, 6].Value == null || sheet.Cells[fila, 7].Value == null ||
                        sheet.Cells[fila, 8].Value == null || sheet.Cells[fila, 9].Value == null || sheet.Cells[fila, 10].Value == null || sheet.Cells[fila, 11].Value == null ||
                        sheet.Cells[fila, 12].Value == null || sheet.Cells[fila, 13].Value == null || sheet.Cells[fila, 14].Value == null ||
                        sheet.Cells[fila, 15].Value == null || sheet.Cells[fila, 16].Value == null || sheet.Cells[fila, 17].Value == null ||
                        sheet.Cells[fila, 18].Value == null || sheet.Cells[fila, 19].Value == null || sheet.Cells[fila, 20].Value == null ||
                        sheet.Cells[fila, 21].Value == null || sheet.Cells[fila, 22].Value == null)
                    {
                        edCargue.Message = "Existen campos en blanco por favor revise la fila " + fila + "; es obligatorio diligenciar todas las columnas excepto observaciones.";
                        return(edCargue);
                    }
                    try { consecutivo = int.Parse(sheet.Cells[fila, 1].Value.ToString()); }
                    catch
                    {
                        edCargue.Message = "El valor del campo consecutivo en la fila " + fila + ", tiene que ser un número entero.";
                        return(edCargue);
                    }
                    try { conscutivopadre = int.Parse(sheet.Cells[fila, 2].Value.ToString()); }
                    catch
                    {
                        edCargue.Message = "El valor del campo consecutivopadre en la fila " + fila + ", tiene que ser un número entero.";
                        return(edCargue);
                    }
                    if (conscutivopadre > 0 && fila == 2)
                    {
                        edCargue.Message = "El primer resgistro no puede ser un registro que indica prorroga, debe tener un registro padre que indica la ausencia inicial.";
                        return(edCargue);
                    }
                    try
                    {
                        CodTipoDocumento = VerificarTipoDocumento(int.Parse(sheet.Cells[fila, 3].Value.ToString()));
                        if (CodTipoDocumento < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Tipo_Documento ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Documentos. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Tipo_Documento en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Documentos.";
                        return(edCargue);
                    }

                    Nit_Empresa = sheet.Cells[fila, 4].Value.ToString();
                    if (fila < 3)
                    {
                        DiasLaborables = lnAusencia.ObtenerDiasLaborablesEmpresa(Nit_Empresa);
                    }
                    try
                    {
                        Cod_Departamento = VerificarDepartamento(int.Parse(sheet.Cells[fila, 5].Value.ToString()));
                        if (Cod_Departamento < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Departamento ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Departamentos. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Departamento en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Departamentos.";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Municipio = VerificarMunicipio(int.Parse(sheet.Cells[fila, 6].Value.ToString()), Cod_Departamento);
                        if (Cod_Municipio < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Municipio de la fila " + fila + " asociado al Cod_Departamento ingresado, por favor verifique con la lista en la hoja Municipios. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Municipio en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Municipios.";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Sede = VerificarSede(int.Parse(sheet.Cells[fila, 7].Value.ToString()), Nit_Empresa);
                        if (Cod_Sede < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Sede de la fila " + fila + " asociada al Nit ingresado, por favor verifique con la lista en la hoja Sedes. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Sede en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Sedes.";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Tipo_Documento = VerificarTipoDocumento(int.Parse(sheet.Cells[fila, 8].Value.ToString()));
                        if (Cod_Tipo_Documento < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Tipo_Documento ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Documentos. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Tipo_Documento en la fila" + fila + ", tiene que ser un número entero tomado de lista en la hoja Documentos.";
                        return(edCargue);
                    }

                    Num_Documento     = sheet.Cells[fila, 9].Value.ToString();
                    Nombre_Trabajador = sheet.Cells[fila, 10].Value.ToString();
                    try { Edad = int.Parse(sheet.Cells[fila, 11].Value.ToString()); }
                    catch
                    {
                        edCargue.Message = "El valor del campo Edad en la fila " + fila + ", tiene que ser un número entero.";
                        return(edCargue);
                    }

                    if (sheet.Cells[fila, 12].Value.ToString().ToUpper().Equals("F") || sheet.Cells[fila, 12].Value.ToString().ToUpper().Equals("M"))
                    {
                        Genero = sheet.Cells[fila, 12].Value.ToString().ToUpper();
                    }
                    else
                    {
                        edCargue.Message = "El valor ingresado en Genero fila " + fila + ", no es un valor de genero valido,  por favor ingrese F o M. ";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Ocupacion = VerificarOcupacion(int.Parse(sheet.Cells[fila, 13].Value.ToString()));
                        if (Cod_Ocupacion < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Ocupacion ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Ocupaciones. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Ocupacion en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Ocupaciones.";
                        return(edCargue);
                    }

                    Nombre_EPS       = sheet.Cells[fila, 14].Value.ToString();
                    Tipo_Vinculacion = sheet.Cells[fila, 15].Value.ToString();
                    try { Salario_Base = int.Parse(sheet.Cells[fila, 16].Value.ToString()); }
                    catch
                    {
                        edCargue.Message = "El valor del campo Salario_Base en la fila " + fila + ", tiene que ser un número entero sin puntos.";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Contingencia = VerificarContingencia(int.Parse(sheet.Cells[fila, 17].Value.ToString()));
                        if (Cod_Contingencia < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Contingencia ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Contingencias. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Contingencia en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Contingencias.";
                        return(edCargue);
                    }
                    try
                    {
                        Cod_Area = VerificarProceso(int.Parse(sheet.Cells[fila, 18].Value.ToString()), Nit_Empresa);
                        if (Cod_Area < 1)
                        {
                            edCargue.Message = "No se encontró el Cod_Area de la fila " + fila + " asociado al Nit ingresado, por favor verifique con la lista en la hoja Areas. ";
                            return(edCargue);
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Area en la fila " + fila + ", tiene que ser un número entero tomado de lista en la hoja Areas.";
                        return(edCargue);
                    }
                    try { Fecha_Inicio = Convert.ToDateTime(sheet.Cells[fila, 19].Value, CultureInfo.InvariantCulture); }
                    catch
                    {
                        edCargue.Message = "El valor del campo Fecha_Inicio en la fila " + fila + ", no es una fecha valida o no tiene el formato DD/MM/YYYY.";
                        return(edCargue);
                    }
                    try { Fecha_Fin = Convert.ToDateTime(sheet.Cells[fila, 20].Value, CultureInfo.InvariantCulture); }
                    catch
                    {
                        edCargue.Message = "El valor del campo Fecha_Fin en la fila " + fila + ", no es una fecha valida o no tiene el formato DD/MM/YYYY.";
                        return(edCargue);
                    }
                    try
                    {
                        if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.AccidenteTrabajo || Cod_Contingencia == (int)EnumAusentismo.Contingencias.EnfermedadGeneral || Cod_Contingencia == (int)EnumAusentismo.Contingencias.EnfermedadLaboral)
                        {
                            Cod_Diagnostico = VerificarDiagnostico(sheet.Cells[fila, 21].Value.ToString());
                            if (Cod_Diagnostico < 1)
                            {
                                edCargue.Message = "No se encontró el Cod_Diagnostico ingresado en la fila " + fila + ", por favor verifique con la lista en la hoja Diagnosticos. ";
                                return(edCargue);
                            }
                        }
                        else
                        {
                            Cod_Diagnostico = 0;
                        }
                    }
                    catch
                    {
                        edCargue.Message = "El valor del campo Cod_Diagnostico en la fila " + fila + ", debe ser alfanumerico tomado de lista en la hoja Diagnosticos.";
                        return(edCargue);
                    }
                    try { Factor_Prestacional = Convert.ToDecimal(sheet.Cells[fila, 22].Value, CultureInfo.InvariantCulture); }
                    catch
                    {
                        edCargue.Message = "El valor del campo Factor_Prestacional en la fila " + fila + ", no es valido.";
                        return(edCargue);
                    }

                    if (Fecha_Inicio > Fecha_Fin)
                    {
                        edCargue.Message = "La fecha de inicio es mayor que la fecha fin en la fila " + fila + ".";
                        return(edCargue);
                    }

                    Observacion = string.Empty;
                    if (sheet.Cells[fila, 23].Value != null)
                    {
                        Observacion = sheet.Cells[fila, 23].Value.ToString();
                    }

                    if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.LicenciaPaternidad)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados != 8)
                        {
                            edCargue.Message = "La licencia de paternidad debe ser de 8 dias habiles, por favor verifique las fechas de inicio y fin en la fila " + fila;
                            return(edCargue);
                        }
                    }
                    else if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.LicenciaLuto)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados != 5)
                        {
                            edCargue.Message = "La licencia de luto debe ser de 5 dias habiles, por favor verifique las fechas de inicio y fin en la fila " + fila;
                            return(edCargue);
                        }
                    }
                    else if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.LicenciaMaternidad)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados != 126)
                        {
                            edCargue.Message = "La licencia de maternidad debe ser de 126 días calendario, por favor verifique las fechas de inicio y fin en la fila " + fila;
                            return(edCargue);
                        }
                    }
                    else if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.LicenciaMaternidadMultiple)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados != 140)
                        {
                            edCargue.Message = "La licencia de maternidad por Parto Múltiple debe ser de 140 días calendario, por favor verifique las fechas de inicio y fin en la fila " + fila;
                            return(edCargue);
                        }
                    }
                    else if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.LicenciaMaternidadPrematuro)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados <= 126 || diasCalculados > 217)
                        {
                            edCargue.Message = "La licencia de maternidad por Nacimiento Prematura debe ser superior a 126 dias y no sobrepasar los 217 días calendario, por favor verifique las fechas de inicio y fin en la fila " + fila;
                            return(edCargue);
                        }
                    }

                    else if (Cod_Contingencia == (int)EnumAusentismo.Contingencias.PermisoPorHorasDia)
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                        if (diasCalculados > 1)
                        {
                            edCargue.Message = "El permiso por dias no debe superar 1 dia, por favor verifique que las fechas de inicio y fin sean iguales en la fila " + fila;
                            return(edCargue);
                        }
                    }
                    else
                    {
                        diasCalculados = lnAusencia.CalcularDiasLaborales(Fecha_Inicio, Fecha_Fin, DiasLaborables, Cod_Contingencia);
                    }

                    // Ausencia.IdAusencia = consecutivo;
                    Ausencia.consecutivoPadre   = conscutivopadre;
                    Ausencia.Documento          = Num_Documento;
                    Ausencia.IdEmpresa          = Nit_Empresa;
                    Ausencia.IdEmpresaUsuaria   = cargue.Id_Empresa_Usuaria;
                    Ausencia.idDepartamento     = Cod_Departamento;
                    Ausencia.idMunicipio        = Cod_Municipio;
                    Ausencia.IdContingencia     = Cod_Contingencia;
                    Ausencia.IdDiagnostico      = Cod_Diagnostico;
                    Ausencia.IdSede             = Cod_Sede;
                    Ausencia.IdProceso          = Cod_Area;
                    Ausencia.FechaInicio        = Fecha_Inicio;
                    Ausencia.FechaFin           = Fecha_Fin;
                    Ausencia.DiasAusencia       = diasCalculados;
                    Ausencia.Costo              = ((Salario_Base / 30) * Ausencia.DiasAusencia) * Factor_Prestacional;
                    Ausencia.FactorPrestacional = Factor_Prestacional;
                    Ausencia.Observaciones      = Observacion;
                    Ausencia.IdOcupacion        = Cod_Ocupacion;
                    Ausencia.Sexo            = Genero;
                    Ausencia.Edad            = Edad;
                    Ausencia.Eps             = Nombre_EPS;
                    Ausencia.TipoVinculacion = Tipo_Vinculacion;
                    Ausencia.NombrePersona   = Nombre_Trabajador;

                    Ausencias.Add(Ausencia);
                    tieneDatos = true;
                }
                if (tieneDatos)
                {
                    return(aus.InsertarAusenciasCargueMasivo(Ausencias));
                }
                else
                {
                    edCargue.Message = "El proceso de cargue fallo, El archivo no contiene información valida";
                }
            }
            catch (Exception ex)
            {
                RegistraLog registraLog = new RegistraLog();
                registraLog.RegistrarError(typeof(LNCargue), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El proceso de cargue fallo: La estructura del archivo no es valida";
                return(edCargue);
            }
            return(edCargue);
        }
Esempio n. 16
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" }));
            }
        }
Esempio n. 17
0
        /// <summary>
        /// vALIDA QUE NO SE ESTE RPORTANDO UN AUSENTISMO EN FECHAS YA REPORTADAS
        /// </summary>
        /// <param name="ausencia"></param>
        /// <returns></returns>
        public List <EDAusencia> ValidarCruceAusentismo(EDAusencia ausencia)
        {
            DateTime fecha = ausencia.FechaInicio;

            fecha = fecha.AddDays(-365);
            string            documento = string.Empty;
            string            nit       = string.Empty;
            int               idempresusuario;
            List <EDAusencia> AusenciasList = new List <EDAusencia>();

            try
            {
                using (var context = new SG_SSTContext())
                {
                    if (ausencia.IdAusencia > 0)
                    {
                        var ausenciaPadre = context.Tbl_Ausencias.Where(au => au.Pk_Id_Ausencias == ausencia.IdAusencia).Select(au => au.FK_Id_Ausencias_Padre).FirstOrDefault();
                        if (ausenciaPadre > 0)
                        {
                            ausencia.IdAusenciaPadre = ausenciaPadre;
                        }
                        else
                        {
                            ausencia.IdAusenciaPadre = ausencia.IdAusencia;
                        }

                        var datosAusenciaPadre = context.Tbl_Ausencias.Where(au => au.Pk_Id_Ausencias == ausencia.IdAusencia).Select(au => au).FirstOrDefault();
                        documento       = datosAusenciaPadre.Documento_Persona;
                        nit             = datosAusenciaPadre.NitEmpresa;
                        idempresusuario = datosAusenciaPadre.FK_Id_EmpresaUsuaria;
                    }
                    else
                    {
                        documento = ausencia.Documento;
                        nit       = ausencia.IdEmpresa;
                        //idempresusuario = ausencia.IdEmpresaUsuaria;
                    }


                    AusenciasList = (from a in context.Tbl_Ausencias
                                     where a.FechaInicio >= fecha &&
                                     a.NitEmpresa.Equals(nit) &&
                                     a.Documento_Persona.Equals(documento)
                                     //&& a.FK_Id_EmpresaUsuaria == idempresusuario
                                     select new EDAusencia()
                    {
                        FechaInicio = a.FechaInicio,
                        FechaFin = a.Fecha_Fin,
                        Documento = a.Documento_Persona
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
                var log = new RegistraLog();
                log.RegistrarError(typeof(AusenciaManager), string.Format("Erorr en el guardado de ausencias - verificando cruce: {0}, {1}. Error: {2}", DateTime.Now, ausencia.FechaInicio.ToString(), ausencia.FechaFin.ToString(), ex.StackTrace), ex);
                return(AusenciasList);
            }

            return(AusenciasList);
        }
Esempio n. 18
0
        public byte [] GenararExcelConsultaAusencias(EDAusencia edAusencia)
        {
            var resultado = ausenciaMg.ConsultarAusencia(edAusencia);

            ExcelPackage excel = new ExcelPackage();

            excel.Workbook.Worksheets.Add("Reporte de Ausentismo");

            ExcelWorksheet hoja = excel.Workbook.Worksheets[1];

            hoja.Cells["A1:M1"].Merge = true;
            hoja.Cells["A1"].Value    = "REPORTE DE AUSENTISMO ";
            hoja.Cells["A1"].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
            hoja.Cells["A1"].Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
            hoja.Cells["A1"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
            hoja.Cells["A1"].Style.Font.Bold           = true;
            hoja.Cells["A1"].Style.WrapText            = true;

            hoja.Cells["A2"].Value           = "Tipo";
            hoja.Cells["A2"].Style.Font.Bold = true;
            hoja.Cells["B2"].Value           = "Fecha Registro";
            hoja.Cells["B2"].Style.Font.Bold = true;
            hoja.Cells["C2"].Value           = "Nombre Persona";
            hoja.Cells["C2"].Style.Font.Bold = true;
            hoja.Cells["D2"].Value           = "Nro. Documento";
            hoja.Cells["D2"].Style.Font.Bold = true;
            hoja.Cells["E2"].Value           = "Departamento";
            hoja.Cells["E2"].Style.Font.Bold = true;
            hoja.Cells["F2"].Value           = "Municipio";
            hoja.Cells["F2"].Style.Font.Bold = true;
            hoja.Cells["G2"].Value           = "Sede";
            hoja.Cells["G2"].Style.Font.Bold = true;
            hoja.Cells["H2"].Value           = "Contingencia";
            hoja.Cells["H2"].Style.Font.Bold = true;
            hoja.Cells["I2"].Value           = "Fecha Inicio";
            hoja.Cells["I2"].Style.Font.Bold = true;
            hoja.Cells["J2"].Value           = "Fecha Fin";
            hoja.Cells["J2"].Style.Font.Bold = true;
            hoja.Cells["K2"].Value           = "Dias Ausencia";
            hoja.Cells["K2"].Style.Font.Bold = true;
            hoja.Cells["L2"].Value           = "Diagnóstico";
            hoja.Cells["L2"].Style.Font.Bold = true;
            hoja.Cells["M2"].Value           = "Costo";
            hoja.Cells["M2"].Style.Font.Bold = true;
            hoja.Cells["N2"].Value           = "Observacion";
            hoja.Cells["N2"].Style.Font.Bold = true;

            int nunInicial = 3;

            foreach (var dato in resultado)
            {
                hoja.Cells[string.Format("A{0}", nunInicial)].Value          = dato.TipoRegistro;
                hoja.Cells[string.Format("A{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("B{0}", nunInicial)].Value          = string.Format("{0}/{1}/{2}", dato.FechaModificacion.Value.Day, dato.FechaModificacion.Value.Month, dato.FechaModificacion.Value.Year);
                hoja.Cells[string.Format("B{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("C{0}", nunInicial)].Value          = dato.NombrePersona;
                hoja.Cells[string.Format("C{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("D{0}", nunInicial)].Value          = dato.Documento;
                hoja.Cells[string.Format("D{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("E{0}", nunInicial)].Value          = dato.Departamento;
                hoja.Cells[string.Format("E{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("F{0}", nunInicial)].Value          = dato.Municipio;
                hoja.Cells[string.Format("F{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("G{0}", nunInicial)].Value          = dato.nombreRegional;
                hoja.Cells[string.Format("G{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("H{0}", nunInicial)].Value          = dato.Detalle;
                hoja.Cells[string.Format("H{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("I{0}", nunInicial)].Value          = string.Format("{0}/{1}/{2}", dato.fechainicio.Day, dato.fechainicio.Month, dato.fechainicio.Year);;
                hoja.Cells[string.Format("I{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("J{0}", nunInicial)].Value          = string.Format("{0}/{1}/{2}", dato.fechafin.Day, dato.fechafin.Month, dato.fechafin.Year);;
                hoja.Cells[string.Format("J{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("K{0}", nunInicial)].Value          = Utilidades.Utilitarios.ObtenerValorConformato(dato.diasausencia.ToString());
                hoja.Cells[string.Format("K{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("L{0}", nunInicial)].Value          = dato.Descripcion;
                hoja.Cells[string.Format("L{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("M{0}", nunInicial)].Value          = dato.costo;
                hoja.Cells[string.Format("M{0}", nunInicial)].Style.WrapText = true;
                hoja.Cells[string.Format("M{0}", nunInicial)].OfType <decimal>();
                hoja.Cells[string.Format("N{0}", nunInicial)].Value          = dato.Observaciones;
                hoja.Cells[string.Format("N{0}", nunInicial)].Style.WrapText = true;

                nunInicial++;
            }

            for (int i = 1; i < 14; i++)
            {
                hoja.Column(i).Width = 30;
            }

            foreach (var cel in hoja.Cells[string.Format("A1:N{0}", resultado.Count() + 2)])
            {
                cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
            }

            //FileInfo fileInfo = new FileInfo(@"D:\Archivos\Actividades.xlsx");
            //excel.SaveAs(fileInfo);

            return(excel.GetAsByteArray());
        }
Esempio n. 19
0
        public IEnumerable <Resultados> ConsultarDatosAusencia(EDAusencia edAusencia)
        {
            var resultado = ausenciaMg.ConsultarAusencia(edAusencia);

            return(resultado);
        }
Esempio n. 20
0
        public JsonResult EliminarAusencia(string IdAus)
        {
            bool   probar    = false;
            string resultado = "El registro de ausentismo no se ha eliminado";

            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                resultado = "El usuario no ha iniciado sesión en el sistema";
                return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
            }

            int  IdElemento   = 0;
            bool probarNumero = int.TryParse(IdAus, out IdElemento);

            if (probarNumero && IdElemento != 0)
            {
                EDAusencia EDAusencia = lnausencia.ConsultarAusenciaEliminar(usuarioActual.NitEmpresa, IdElemento);
                if (EDAusencia != null && EDAusencia.IdAusencia != 0)
                {
                    //Examinar si es padre
                    if (EDAusencia.consecutivoPadre != 0)
                    {
                        bool eliminacion = lnausencia.EliminarAusencia(usuarioActual.NitEmpresa, IdElemento);
                        if (eliminacion)
                        {
                            probar    = true;
                            resultado = "El registro de esta prórroga de austentismo se ha eliminado correctamente";
                            return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            resultado = "Ha ocurrido un error en el proceso de eliminación, por favor vuelva a intentar";
                            return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        //Examinar si tiene prórrogas
                        List <EDAusencia> ListaProrrogas = lnausencia.ConsultarAusenciaProrrogas(usuarioActual.NitEmpresa, IdElemento);
                        if (ListaProrrogas != null)
                        {
                            if (ListaProrrogas.Count > 0)
                            {
                                resultado = "No se ha eliminado este registro por que tiene prórrogas registradas, por favor elimine todas las prórrogas de este registro y vuelva a intentar";
                                return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                            }
                            else
                            {
                                bool eliminacion = lnausencia.EliminarAusencia(usuarioActual.NitEmpresa, IdElemento);
                                if (eliminacion)
                                {
                                    probar    = true;
                                    resultado = "El registro de esta prórroga de austentismo se ha eliminado correctamente";
                                    return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                                }
                                else
                                {
                                    resultado = "Ha ocurrido un error en el proceso de eliminación, por favor vuelva a intentar";
                                    return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                                }
                            }
                        }
                        else
                        {
                            bool eliminacion = lnausencia.EliminarAusencia(usuarioActual.NitEmpresa, IdElemento);
                            if (eliminacion)
                            {
                                probar    = true;
                                resultado = "El registro de esta prórroga de austentismo se ha eliminado correctamente";
                                return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                            }
                            else
                            {
                                resultado = "Ha ocurrido un error en el proceso de eliminación, por favor vuelva a intentar";
                                return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                }
                else
                {
                    resultado = "El registro no se ha eliminado compruebe que el registro exista, es posible que haya sido eliminado con anterioridad";
                    return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { probar, resultado }, JsonRequestBehavior.AllowGet));
        }