Exemple #1
0
        public HttpResponseMessage ObtenerReporteExcel(EDCarguePerfil cargue)
        {
            HttpResponseMessage response = null;

            try
            {
                LNCargueDx logica  = new LNCargueDx();
                var        archivo = logica.CargarPlantillaDx(cargue);
                if (archivo != null)
                {
                    response = Request.CreateResponse <EDCarguePerfil>(HttpStatusCode.Created, archivo);
                    return(response);
                }
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.ExpectationFailed);
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError);
                return(response);
            }
        }
        /// <summary>
        /// Carga una hoja de excel y retorna un datatable con la información de la misma
        /// </summary>
        /// <param name="rutaArchivo"></param>
        /// <param name="nombreHoja"></param>
        /// <returns></returns>
        public EDCarguePerfil CargarArchivoPlanificacion(EDCarguePerfil cargue)
        {
            RegistraLog    registraLog = new RegistraLog();
            EDCarguePerfil edCargue    = new EDCarguePerfil();

            try
            {
                using (ExcelPackage package = new ExcelPackage(new FileInfo(cargue.path)))
                {
                    var sheet = package.Workbook.Worksheets["PlantillaPerfilSocioDemografico"];
                    //

                    bool validaEstruc = ValidarNombreColumnas(sheet);
                    if (validaEstruc)
                    {
                        edCargue = ProcesarCargue(sheet, cargue);
                    }
                    else
                    {
                        edCargue.Message = "El cargue falló: Los nombres de las columnas de la plantilla fueron modificados.";
                    }

                    return(edCargue);
                }
            }
            catch (Exception ex)
            {
                registraLog.RegistrarError(typeof(LNCargue), string.Format("Error en el método CargarArchivoPerfil {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El proceso  falló: La estructura del archivo no es valida";
                return(edCargue);
            }
        }
        public bool ValidarDocumento(string documento, EDCarguePerfil cargue)
        {
            try
            {
                List <EDTipoDocumento> ListaDocumentos = lnausencia.ObtenerTipoDocumento();
                if (!string.IsNullOrEmpty(documento))
                {
                    var esValido = false;
                    foreach (var tdoc in ListaDocumentos)
                    {
                        var cliente = new RestSharp.RestClient(cargue.rutaServicio);
                        var request = new RestRequest("wssst/afiliadoEmpresaActivo?", RestSharp.Method.GET);


                        request.Parameters.Clear();
                        request.AddParameter("tpEm", cargue.SiglaTipoDocumentoEmpresa);
                        request.AddParameter("docEm", cargue.NitEmpresa);
                        request.AddParameter("tpAfiliado", tdoc.Sigla.ToLower());
                        request.AddParameter("docAfiliado", documento);
                        request.AddHeader("Content-Type", "application/json");
                        request.AddHeader("Accept", "application/json");

                        ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };
                        IRestResponse <List <EDPerfilSocioDemograficoWS> > response = cliente.Execute <List <EDPerfilSocioDemograficoWS> >(request);
                        var result      = response.Content;
                        var respuesta   = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EDPerfilSocioDemograficoWS> >(result);
                        var nitEmpresaU = "";
                        if (respuesta.Count != 0)
                        {
                            nitEmpresaU = respuesta[0].documentoEmp;
                        }

                        if (nitEmpresaU.Equals(nitEmpresa))
                        {
                            esValido = true;
                            break;
                        }
                        else
                        {
                            esValido = false;
                        }
                    }

                    if (esValido)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                return(false);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Exemple #4
0
        public EDCarguePerfil CargarPlantillaDx(EDCarguePerfil cargueP)
        {
            RegistraLog    registraLog = new RegistraLog();
            EDCarguePerfil edCargue    = new EDCarguePerfil();

            try
            {
                edCargue = CargarArchivoDx(cargueP);
            }
            catch (Exception ex)
            {
                registraLog.RegistrarError(typeof(LNCargue), string.Format("Error en el método Cargar Plantilla Dx  {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El cargue fallo: la estructura del archivo no es valida";
                return(edCargue);
            }

            return(edCargue);
        }
        private EDCarguePerfil ProcesarCargue(ExcelWorksheet sheet, EDCarguePerfil cargue)
        {
            EDCarguePerfil edCargue = new EDCarguePerfil();
            List <EDPerfilSocioDemografico> perfiles = new List <EDPerfilSocioDemografico>();

            string mensaje                   = "";
            string nFilaD                    = "";
            string nFilaS                    = "";
            string nFilaBla                  = "";
            string nfilaRep                  = "";
            string nfilaP                    = "";
            string nfilaRPel                 = "";
            string mensajeEspBlancos         = "Existen campos en blanco, es obligatorio diligenciar todas las columnas hasta la columna W, la columna R(Cod Proceso) no es obligatoria , revisar la(s) fila(s).";
            string mensajeDocumento          = "Revisar la columna A(Número Identificación) ya que el documento no pertenece a la empresa,revisar la(s) fila(s)";
            string mensajeSede               = "Revisar la  Columna  s(CodSede) ya que la sede no pertenece a la empresa, revisar la(s) fila(s)";
            string mensajeRepetidos          = "No se pudo realizar el cargue, debido a que algunos perfiles a cargar ya existen, revisar la(s) fila(s)";
            string mensajeProceso            = "Revisar la  Columna  R(Cod Proceso) ya que el proceso no pertenece a la empresa, revisar la(s) fila(s)";
            string mensajeRepetidosPlantilla = "";
            string mensajeDescPeligros       = "Revisar las descripciones de peligro, ya que se ha  ingresado una descripción no valida, revisar la(s) fila(s)";
            bool   esValidoDescripcionPel    = true;

            try
            {
                var dt     = new DataTable();
                var rowCnt = 0;

                rowCnt = sheet.Dimension.End.Row;


                bool noBlancos      = true;
                bool esValidoPerfil = true;

                bool resu            = false;
                bool documentoValido = false;
                //Verificamos los nombres de las columnas
                // Loop through Columns
                List <EDProceso> procesos = per.ObtenerProcesoEmpresa(cargue.NitEmpresa);
                List <EDSede>    sedes    = em.ObtenernerSedesPorEmpresa(cargue.NitEmpresa);
                for (var fila = 2; fila <= rowCnt; fila++)
                {
                    esValidoDescripcionPel = true;
                    string numeroIdentificacion;
                    List <EDCondicionesRiesgoPerfil> condincionesRiesgo = new List <EDCondicionesRiesgoPerfil>();
                    EDCondicionesRiesgoPerfil        condicionRiesgo    = new EDCondicionesRiesgoPerfil();
                    EDPerfilSocioDemografico         perfil             = new EDPerfilSocioDemografico();
                    bool companeroPer = false;
                    bool tieneHijos   = false;
                    if (sheet.Cells[fila, 1].Value != null)
                    {
                        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, 19].Value == null ||
                            sheet.Cells[fila, 20].Value == null || sheet.Cells[fila, 21].Value == null || sheet.Cells[fila, 22].Value == null ||
                            sheet.Cells[fila, 23].Value == null)
                        {
                            nFilaBla      += " " + fila;
                            esValidoPerfil = false;
                            noBlancos      = false;
                        }

                        if (noBlancos)
                        {
                            int?codProceso = null;
                            numeroIdentificacion = sheet.Cells[fila, 1].Value.ToString();
                            string gradoEscolaridad    = sheet.Cells[fila, 2].Value.ToString();
                            string ingresos            = sheet.Cells[fila, 3].Value.ToString();
                            int    municipioResidencia = int.Parse(sheet.Cells[fila, 44].Value.ToString());
                            string companeroPermanente = sheet.Cells[fila, 6].Value.ToString();
                            if (companeroPermanente.Equals("SI"))
                            {
                                companeroPer = true;
                            }
                            else
                            {
                                companeroPer = false;
                            }

                            string hijos = sheet.Cells[fila, 7].Value.ToString();

                            if (hijos.Equals("SI"))
                            {
                                tieneHijos = true;
                            }
                            else
                            {
                                tieneHijos = false;
                            }
                            int    estratoSocioEconomico = int.Parse(sheet.Cells[fila, 8].Value.ToString());
                            int    estadoCivil           = int.Parse(sheet.Cells[fila, 45].Value.ToString());
                            int    etnia = int.Parse(sheet.Cells[fila, 46].Value.ToString());
                            string sexo  = sheet.Cells[fila, 11].Value.ToString();
                            int    vinculacionLaboral = int.Parse(sheet.Cells[fila, 47].Value.ToString());
                            string turnoTrabajo       = sheet.Cells[fila, 13].Value.ToString();
                            //  DateTime fechaUltimoCargo = Convert.ToDateTime(sheet.Cells[fila, 14].Value.ToString());
                            DateTime fechaUltimoCargo            = DateTime.FromOADate(double.Parse(sheet.Cells[fila, 43].Value.ToString()));
                            string   caracteristicasFisicas      = sheet.Cells[fila, 15].Value.ToString();
                            string   caracteristicasPsicologicas = sheet.Cells[fila, 16].Value.ToString();
                            string   evaluacionMedicaRequerida   = sheet.Cells[fila, 17].Value.ToString();


                            if (sheet.Cells[fila, 18].Value != null)
                            {
                                codProceso = int.Parse(sheet.Cells[fila, 18].Value.ToString());
                            }


                            var    Otro = "Otro";
                            int    clasificacionPeligroA = 0;
                            int    sede = int.Parse(sheet.Cells[fila, 19].Value.ToString());
                            string zona = sheet.Cells[fila, 20].Value.ToString();
                            if (sheet.Cells[fila, 49].Value != "")
                            {
                                clasificacionPeligroA = int.Parse(sheet.Cells[fila, 49].Value.ToString());
                            }
                            else
                            {
                                //  nfilaRPel += " " + fila;
                                esValidoDescripcionPel = false;
                                esValidoPerfil         = false;
                            }

                            string tiempoExposicionA = sheet.Cells[fila, 23].Value.ToString();
                            if (clasificacionPeligroA == 46)
                            {
                                condicionRiesgo.Otro = Otro;
                            }



                            condicionRiesgo.FK_Clasificacion_De_Peligro = clasificacionPeligroA;
                            condicionRiesgo.tiempoExpos = tiempoExposicionA;
                            condincionesRiesgo.Add(condicionRiesgo);

                            EDCondicionesRiesgoPerfil condicionRiesgo2 = new EDCondicionesRiesgoPerfil();

                            if (sheet.Cells[fila, 25].Value != null && sheet.Cells[fila, 26].Value != null)
                            {
                                int clasificacionPeligroB = 0;
                                if (sheet.Cells[fila, 50].Value != "")
                                {
                                    clasificacionPeligroB = int.Parse(sheet.Cells[fila, 50].Value.ToString());
                                }
                                else
                                {
                                    // nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoPerfil         = false;
                                }


                                if (clasificacionPeligroB == 46)
                                {
                                    condicionRiesgo2.Otro = Otro;
                                }
                                string tiempoExposicionB = sheet.Cells[fila, 26].Value.ToString();
                                condicionRiesgo2.FK_Clasificacion_De_Peligro = clasificacionPeligroB;
                                condicionRiesgo2.tiempoExpos = tiempoExposicionB;
                                condincionesRiesgo.Add(condicionRiesgo2);
                            }
                            EDCondicionesRiesgoPerfil condicionRiesgo3 = new EDCondicionesRiesgoPerfil();

                            if (sheet.Cells[fila, 28].Value != null && sheet.Cells[fila, 29].Value != null)
                            {
                                int clasificacionPeligroC = 0;
                                if (sheet.Cells[fila, 51].Value != "")
                                {
                                    clasificacionPeligroC = int.Parse(sheet.Cells[fila, 51].Value.ToString());
                                }
                                else
                                {
                                    //   nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoPerfil         = false;
                                }

                                if (clasificacionPeligroC == 46)
                                {
                                    condicionRiesgo3.Otro = Otro;
                                }
                                string tiempoExposicionC = sheet.Cells[fila, 29].Value.ToString();
                                condicionRiesgo3.FK_Clasificacion_De_Peligro = clasificacionPeligroC;
                                condicionRiesgo3.tiempoExpos = tiempoExposicionC;
                                condincionesRiesgo.Add(condicionRiesgo3);
                            }



                            documentoValido = ValidarDocumento(numeroIdentificacion, cargue);

                            if (documentoValido == false)
                            {
                                nFilaD += " " + fila;

                                esValidoPerfil = false;
                            }


                            //registros repetidos
                            var perfilesdb = db.Tbl_PerfilSocioDemograficoPlanificacion.Where(e => e.PK_Numero_Documento_Empl.Equals(numeroIdentificacion)).FirstOrDefault();


                            if (perfilesdb != null)
                            {
                                nfilaRep      += " " + fila;
                                esValidoPerfil = false;
                            }


                            if (!sedes.Exists(s => s.IdSede == sede))
                            {
                                nFilaS += " " + fila;

                                esValidoPerfil = false;
                            }

                            if (codProceso > 0)
                            {
                                if (!procesos.Exists(p => p.Id_Proceso == codProceso))
                                {
                                    nfilaP += " " + fila;

                                    esValidoPerfil = false;
                                }
                            }

                            if (esValidoDescripcionPel == false)
                            {
                                nfilaRPel += " " + fila;
                            }

                            if (esValidoPerfil)
                            {
                                perfil.condicionesRiesgo        = condincionesRiesgo;
                                perfil.PK_Numero_Documento_Empl = numeroIdentificacion;
                                perfil.GradoEscolaridad         = gradoEscolaridad;

                                perfil.Ingresos                      = ingresos;
                                perfil.Fk_Id_Municipio               = municipioResidencia;
                                perfil.Conyuge                       = companeroPer;
                                perfil.Hijos                         = tieneHijos;
                                perfil.FK_Estrato                    = estratoSocioEconomico;
                                perfil.FK_Estado_Civil               = estadoCivil;
                                perfil.FK_Etnia                      = etnia;
                                perfil.Sexo                          = sexo;
                                perfil.FK_VinculacionLaboral         = vinculacionLaboral;
                                perfil.TurnoTrabajo                  = turnoTrabajo;
                                perfil.FechaIngresoUltimoCargo       = fechaUltimoCargo;
                                perfil.caracteristicasFisicas        = caracteristicasFisicas;
                                perfil.caracteristicasPsicologicas   = caracteristicasPsicologicas;
                                perfil.evaluacionesMedicasRequeridas = evaluacionMedicaRequerida;
                                perfil.Pk_Id_Sede                    = sede;
                                perfil.Procesos                      = codProceso;
                                perfil.ZonaLugar                     = zona;
                                perfil.nitEmpresa                    = cargue.NitEmpresa;
                                perfil.EDInfoAuditoria               = cargue.EDInfoAuditoria;
                                perfiles.Add(perfil);
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                }


                //Listo aca va mensajes y resto


                string[] documento = new string[perfiles.Count()];

                for (int i = 0; i < perfiles.Count(); i++)
                {
                    documento[i] = Convert.ToString(perfiles[i].PK_Numero_Documento_Empl);
                }

                bool resultado = documento.Distinct().Count() == documento.Length;

                if (resultado == false)
                {
                    mensajeRepetidosPlantilla = "Revisar la Columna A(Número Identificación) ya que existen registros repetidos" + "\n";
                    esValidoPerfil            = false;
                }
                if (nfilaRep.Equals(""))
                {
                    mensajeRepetidos = "";
                }
                else
                {
                    mensajeRepetidos += nfilaRep + "\n";
                }

                if (nfilaRPel.Equals(""))
                {
                    mensajeDescPeligros = "";
                }
                else
                {
                    mensajeDescPeligros += nfilaRPel + "\n";
                }



                if (nFilaBla.Equals(""))
                {
                    mensajeEspBlancos = "";
                }
                else
                {
                    mensajeEspBlancos += nFilaBla + "\n";
                }


                if (nFilaD.Equals(""))
                {
                    mensajeDocumento = "";
                }
                else
                {
                    mensajeDocumento += nFilaD + "\n";
                }


                if (nFilaS.Equals(""))
                {
                    mensajeSede = "";
                }
                else
                {
                    mensajeSede += nFilaS + "\n";
                }

                if (nfilaP.Equals(""))
                {
                    mensajeProceso = "";
                }
                else
                {
                    mensajeProceso += nfilaP + "\n";
                }

                mensaje = mensajeRepetidosPlantilla + " " + mensajeRepetidos + " " + mensajeEspBlancos + " " + mensajeDocumento + " " + mensajeSede + mensajeProceso + " " + mensajeDescPeligros + " ";


                if (esValidoPerfil == false)
                {
                    edCargue.Message = mensaje;
                    return(edCargue);
                }


                if (esValidoPerfil == true)
                {
                    resu = per.InsertarCargueMasivoPerfil(perfiles);
                }
                else
                {
                    edCargue.Message = "No se puede realizar la carga,revise e intente de nuevo";
                    return(edCargue);
                }

                if (resu)
                {
                    if (esValidoPerfil)
                    {
                        edCargue.Message = "OK";
                    }
                    else
                    {
                        edCargue.Message = mensaje;
                    }
                }
                else
                {
                    edCargue.Message = "El proceso de cargue falló";
                }
            }

            catch (Exception ex)
            {
                RegistraLog registraLog = new RegistraLog();
                registraLog.RegistrarError(typeof(LNCarguePerfilSocioDemografico), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El proceso falló: revise la información y por favor intentelo de nuevo.";
                return(edCargue);
            }

            return(edCargue);
        }
Exemple #6
0
        public ActionResult CargueMasivo(object form_data)
        {
            try
            {
                var objEvaluacion = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

                if (System.Web.HttpContext.Current.Request.Files.AllKeys.Any())
                {
                    var pic = System.Web.HttpContext.Current.Request.Files["cargarArchivo"];

                    HttpPostedFileBase file = new HttpPostedFileWrapper(pic);
                    if (file.FileName.EndsWith("xls") || file.FileName.EndsWith("xlsx"))
                    {
                        var    fileName = Path.GetFileName(file.FileName);
                        string path     = string.Empty;
                        path = Path.Combine(rutaPlantillaAusentismo, objEvaluacion.NitEmpresa);
                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }


                        path = Path.Combine(path, fileName);
                        if (System.IO.File.Exists(path))
                        {
                            System.IO.File.Delete(path);
                        }
                        file.SaveAs(path);

                        EDCarguePerfil cargue = new EDCarguePerfil();
                        cargue.path       = path;
                        cargue.NitEmpresa = objEvaluacion.NitEmpresa;

                        EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria()//Auditoria
                        {
                            IdentificacionUsuario = objEvaluacion.Documento,
                            NombreUsuario         = objEvaluacion.NombreUsuario,
                            NitEmpresa            = objEvaluacion.NitEmpresa,
                            NombreEmpresa         = objEvaluacion.RazonSocialEmpresa,
                            IpUsuario             = System.Web.HttpContext.Current.Request.Form["ipUsuario"].ToString()
                        };
                        cargue.EDInfoAuditoria = edInfoauditoria;
                        ServiceClient.EliminarParametros();
                        var result = ServiceClient.RealizarPeticionesPostJsonRestFul <EDCarguePerfil>(urlServicioPlanificacion, CapacidadCargarDx, cargue);


                        if (result != null)
                        {
                            if (result.Message.Equals("OK"))
                            {
                                return(Json(new { Data = "Plantilla cargada correctamente!.", Mensaje = "Success" }));
                            }
                            else
                            {
                                return(Json(new { Data = result.Message, Mensaje = "ERROR" }));
                            }
                        }
                        else
                        {
                            return(Json(new { Data = "Se presentó un error de comunicación con el servidor; por favor intente nuevamente o comuníquese con el administrador del sistema.", Mensaje = "ERROR" }));
                        }
                    }
                    else
                    {
                        return(Json(new { Data = "Debe seleccionar un archivo en formato Excel con extensión .xls o .xlsx", Mensaje = "ERROR" }));
                    }
                }
                else
                {
                    return(Json(new { Data = "Se presentó un error en la carga del archivo; por favor intente ingresando nuevamente o comuníquese con el administrador del sistema.", Mensaje = "ERROR" }));
                }
            }
            catch (Exception e)
            {
                return(Json(new { Data = "Se presentó un error con la conexión.", Mensaje = "CONEXION" }));
            }
        }
Exemple #7
0
        private EDCarguePerfil ProcesarCargue(ExcelWorksheet sheet, EDCarguePerfil cargue)
        {
            EDCarguePerfil   edCargue               = new EDCarguePerfil();
            List <EDDxSalud> diagnosticos           = new List <EDDxSalud>();
            bool             resu                   = false;
            bool             esValidoDx             = true;
            bool             noBlancos              = true;
            string           nFilaBla               = "";
            string           nFilaS                 = "";
            string           nfilaP                 = "";
            string           nfilaT                 = "";
            string           nFilaPV                = "";
            string           nfilaRPel              = "";
            string           nfilaV                 = "";
            string           nFilaFr                = "";
            string           nFilaNit               = "";
            string           nFilaRango             = "";
            string           nFilaCodDiag           = "";
            string           mensajePlantillaVacia  = "La plantilla ingresada no tiene datos";
            string           mensajeTamano          = "El número de trabajadores no puede ser superior al total de trabajadores de la zona o lugar, revisar la(s) fila(s):";
            string           mensajeRangoFecha      = "La fecha final no puede ser menor que la fecha inicial, revisar la(s) fila(s):";
            string           mensajeNitEmpresa      = "El Nit ingresado no es válido, revisar la(s) fila(s):";
            string           mensajesFechas         = "Las fechas final e inicial no pueden ser mayores a la fecha actual, revisar la(s) fila(s):";
            string           mensajeVigencia        = "La vigencia seleccionada no puede ser superior al año actual, revisar la(s) fila(s):";
            string           mensajeSede            = "Revisar la  Columna  E(Código de la Sede) ya que la sede no pertenece a la empresa, revisar la(s) fila(s):";
            string           mensajeEspBlancos      = "Existen campos en blanco, es obligatorio diligenciar  por lo menos un registro de cada grupo, los otros campos son obligatorios exceptuado G (Código del Proceso) , revisar la(s) fila(s):";
            string           mensajeProceso         = "Revisar la  Columna  G (Código del Proceso) ya que el proceso no pertenece a la empresa, revisar la(s) fila(s):";
            string           mensajeCodDiagnostico  = "El código de diagnóstico ingresado no es válido, revisar la(s) fila(s):";
            string           mensajeDescPeligros    = "Revisar las descripciones de peligro, ya que se ha  ingresado una descripción no valida, revisar la(s) fila(s)";
            bool             esValidoDescripcionPel = true;
            bool             esValidoTrabajadores   = true;
            string           mensaje                = "";


            try
            {
                var dt     = new DataTable();
                var rowCnt = 0;

                rowCnt = sheet.Dimension.End.Row;



                //Verificamos los nombres de las columnas
                // Loop through Columns
                List <EDProceso> procesos = per.ObtenerProcesoEmpresa(cargue.NitEmpresa);
                List <EDSede>    sedes    = em.ObtenernerSedesPorEmpresa(cargue.NitEmpresa);
                for (var fila = 2; fila <= rowCnt; fila++)
                {
                    esValidoTrabajadores   = true;
                    esValidoDescripcionPel = true;
                    List <EDClasificacionPeligroDx> peligros            = new List <EDClasificacionPeligroDx>();
                    List <EDSintomatologiaDx>       sintomologias       = new List <EDSintomatologiaDx>();
                    List <EDPruebasClinicasDx>      pruebasClinicas     = new List <EDPruebasClinicasDx>();
                    List <EDPruebasPClinicasDx>     pruebasParaClinicas = new List <EDPruebasPClinicasDx>();
                    List <EDDiagnosticoCie10Dx>     diagnosticosCie     = new List <EDDiagnosticoCie10Dx>();

                    EDDxSalud diagnostico = new EDDxSalud();

                    //g string NumeroIdentificacion = sheet.Cells[fila, 1].Value.ToString();
                    if (sheet.Cells[fila, 1].Value != null)
                    {
                        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, 8].Value == null || sheet.Cells[fila, 9].Value == null ||
                            sheet.Cells[fila, 10].Value == null

                            || sheet.Cells[fila, 19].Value == null || sheet.Cells[fila, 20].Value == null ||
                            sheet.Cells[fila, 29].Value == null || sheet.Cells[fila, 30].Value == null ||
                            sheet.Cells[fila, 39].Value == null || sheet.Cells[fila, 40].Value == null ||
                            sheet.Cells[fila, 49].Value == null || sheet.Cells[fila, 50].Value == null || sheet.Cells[fila, 51].Value == null ||
                            sheet.Cells[fila, 64].Value == null || sheet.Cells[fila, 65].Value == null || sheet.Cells[fila, 66].Value == null

                            )
                        {
                            nFilaBla  += " " + fila;
                            esValidoDx = false;
                            noBlancos  = false;
                        }

                        if (noBlancos)
                        {
                            int?codProceso = null;

                            //   DateTime Fecha_Inicial_Dx = Convert.ToDateTime(sheet.Cells[fila, 2].Value.ToString());

                            // DateTime Fecha_Final_Dx = Convert.ToDateTime(sheet.Cells[fila, 3].Value.ToString());

                            DateTime Fecha_Inicial_Dx = DateTime.FromOADate(double.Parse(sheet.Cells[fila, 196].Value.ToString()));
                            DateTime Fecha_Final_Dx   = DateTime.FromOADate(double.Parse(sheet.Cells[fila, 197].Value.ToString()));



                            DateTime FechaDx    = DateTime.Now;
                            var      vigencia   = int.Parse(sheet.Cells[fila, 4].Value.ToString());
                            var      anyoActual = DateTime.Now.Year;
                            var      vigencia2  = 0;
                            if (vigencia <= anyoActual)
                            {
                                vigencia2 = int.Parse(sheet.Cells[fila, 4].Value.ToString());
                            }
                            else
                            {
                                nfilaV    += " " + fila;
                                esValidoDx = false;
                            }

                            if (Fecha_Inicial_Dx > DateTime.Now || Fecha_Final_Dx > DateTime.Now)
                            {
                                nFilaFr   += " " + fila;
                                esValidoDx = false;
                            }


                            if (Fecha_Inicial_Dx > Fecha_Final_Dx)
                            {
                                nFilaRango += " " + fila;
                                esValidoDx  = false;
                            }

                            var sede = int.Parse(sheet.Cells[fila, 5].Value.ToString());
                            var zona = sheet.Cells[fila, 6].Value.ToString();

                            var totalTraZonaLugar      = int.Parse(sheet.Cells[fila, 8].Value.ToString());
                            var responsableInformacion = sheet.Cells[fila, 64].Value.ToString();
                            var Profesion_Responsable  = sheet.Cells[fila, 65].Value.ToString();
                            var Tarjeta_Profesional    = sheet.Cells[fila, 66].Value.ToString();
                            var nitEmpresa             = sheet.Cells[fila, 1].Value.ToString();

                            if (sheet.Cells[fila, 7].Value != null)
                            {
                                codProceso = int.Parse(sheet.Cells[fila, 7].Value.ToString());
                            }

                            if (!nitEmpresa.Equals(cargue.NitEmpresa))
                            {
                                nFilaNit  += " " + fila;
                                esValidoDx = false;
                            }

                            EDClasificacionPeligroDx clasificacinPeligroA = new EDClasificacionPeligroDx();

                            if (sheet.Cells[fila, 9].Value != null && sheet.Cells[fila, 10].Value != null)
                            {
                                if (sheet.Cells[fila, 186].Value != "")
                                {
                                    clasificacinPeligroA.idClasifiacionPeligro = int.Parse(sheet.Cells[fila, 186].Value.ToString());
                                    peligros.Add(clasificacinPeligroA);
                                }
                                else
                                {
                                    // nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoDx             = false;
                                }
                            }

                            EDClasificacionPeligroDx clasificacinPeligroB = new EDClasificacionPeligroDx();

                            if (sheet.Cells[fila, 11].Value != null && sheet.Cells[fila, 12].Value != null)
                            {
                                if (sheet.Cells[fila, 187].Value != "")
                                {
                                    clasificacinPeligroB.idClasifiacionPeligro = int.Parse(sheet.Cells[fila, 187].Value.ToString());
                                    peligros.Add(clasificacinPeligroB);
                                }
                                else
                                {
                                    //  nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoDx             = false;
                                }
                            }

                            EDClasificacionPeligroDx clasificacinPeligroC = new EDClasificacionPeligroDx();

                            if (sheet.Cells[fila, 13].Value != null && sheet.Cells[fila, 14].Value != null)
                            {
                                if (sheet.Cells[fila, 188].Value != "")
                                {
                                    clasificacinPeligroC.idClasifiacionPeligro = int.Parse(sheet.Cells[fila, 188].Value.ToString());
                                    peligros.Add(clasificacinPeligroC);
                                }
                                else
                                {
                                    // nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoDx             = false;
                                }
                            }



                            EDClasificacionPeligroDx clasificacinPeligroD = new EDClasificacionPeligroDx();

                            if (sheet.Cells[fila, 15].Value != null && sheet.Cells[fila, 16].Value != null)
                            {
                                if (sheet.Cells[fila, 189].Value != "")
                                {
                                    clasificacinPeligroD.idClasifiacionPeligro = int.Parse(sheet.Cells[fila, 189].Value.ToString());
                                    peligros.Add(clasificacinPeligroD);
                                }
                                else
                                {
                                    // nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoDx             = false;
                                }
                            }

                            EDClasificacionPeligroDx clasificacinPeligroE = new EDClasificacionPeligroDx();

                            if (sheet.Cells[fila, 17].Value != null && sheet.Cells[fila, 18].Value != null)
                            {
                                if (sheet.Cells[fila, 190].Value != "")
                                {
                                    clasificacinPeligroE.idClasifiacionPeligro = int.Parse(sheet.Cells[fila, 190].Value.ToString());
                                    peligros.Add(clasificacinPeligroE);
                                }
                                else
                                {
                                    //  nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoDx             = false;
                                }
                            }

                            EDSintomatologiaDx sintomologiaA = new EDSintomatologiaDx();

                            if (sheet.Cells[fila, 19].Value != null && sheet.Cells[fila, 20].Value != null)
                            {
                                sintomologiaA.Trabajadores_Sintomatologia = int.Parse(sheet.Cells[fila, 20].Value.ToString());
                                sintomologiaA.Sintomatologia = sheet.Cells[fila, 19].Value.ToString();
                                if (sintomologiaA.Trabajadores_Sintomatologia <= totalTraZonaLugar)
                                {
                                    sintomologias.Add(sintomologiaA);
                                }
                                else
                                {
                                    // nfilaT += " " + fila;
                                    esValidoTrabajadores = false;
                                    esValidoDx           = false;
                                }
                            }

                            EDSintomatologiaDx sintomologiaB = new EDSintomatologiaDx();

                            if (sheet.Cells[fila, 21].Value != null && sheet.Cells[fila, 22].Value != null)
                            {
                                sintomologiaB.Sintomatologia = sheet.Cells[fila, 21].Value.ToString();
                                sintomologiaB.Trabajadores_Sintomatologia = int.Parse(sheet.Cells[fila, 22].Value.ToString());

                                if (sintomologiaB.Trabajadores_Sintomatologia <= totalTraZonaLugar)
                                {
                                    sintomologias.Add(sintomologiaB);
                                }
                                else
                                {
                                    //   nfilaT += " " + fila;

                                    esValidoTrabajadores = false;
                                    esValidoDx           = false;
                                }
                            }

                            EDSintomatologiaDx sintomologiaC = new EDSintomatologiaDx();

                            if (sheet.Cells[fila, 23].Value != null && sheet.Cells[fila, 24].Value != null)
                            {
                                sintomologiaC.Sintomatologia = sheet.Cells[fila, 23].Value.ToString();
                                sintomologiaC.Trabajadores_Sintomatologia = int.Parse(sheet.Cells[fila, 24].Value.ToString());


                                if (sintomologiaC.Trabajadores_Sintomatologia <= totalTraZonaLugar)
                                {
                                    sintomologias.Add(sintomologiaC);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }


                            EDSintomatologiaDx sintomologiaD = new EDSintomatologiaDx();

                            if (sheet.Cells[fila, 25].Value != null && sheet.Cells[fila, 26].Value != null)
                            {
                                sintomologiaD.Sintomatologia = sheet.Cells[fila, 25].Value.ToString();
                                sintomologiaD.Trabajadores_Sintomatologia = int.Parse(sheet.Cells[fila, 26].Value.ToString());
                                if (sintomologiaD.Trabajadores_Sintomatologia <= totalTraZonaLugar)
                                {
                                    sintomologias.Add(sintomologiaD);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    //  nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDSintomatologiaDx sintomologiaE = new EDSintomatologiaDx();

                            if (sheet.Cells[fila, 27].Value != null && sheet.Cells[fila, 28].Value != null)
                            {
                                sintomologiaE.Sintomatologia = sheet.Cells[fila, 27].Value.ToString();
                                sintomologiaE.Trabajadores_Sintomatologia = int.Parse(sheet.Cells[fila, 28].Value.ToString());
                                if (sintomologiaE.Trabajadores_Sintomatologia <= totalTraZonaLugar)
                                {
                                    sintomologias.Add(sintomologiaE);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    //nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }


                            EDPruebasClinicasDx pruebaClinicaA = new EDPruebasClinicasDx();
                            if (sheet.Cells[fila, 29].Value != null && sheet.Cells[fila, 30].Value != null)
                            {
                                pruebaClinicaA.Prueba_Clinica          = sheet.Cells[fila, 29].Value.ToString();
                                pruebaClinicaA.Trabajadores_Con_Prueba = int.Parse(sheet.Cells[fila, 30].Value.ToString());
                                if (pruebaClinicaA.Trabajadores_Con_Prueba <= totalTraZonaLugar)
                                {
                                    pruebasClinicas.Add(pruebaClinicaA);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }


                            EDPruebasClinicasDx pruebaClinicaB = new EDPruebasClinicasDx();
                            if (sheet.Cells[fila, 31].Value != null && sheet.Cells[fila, 32].Value != null)
                            {
                                pruebaClinicaB.Prueba_Clinica          = sheet.Cells[fila, 31].Value.ToString();
                                pruebaClinicaB.Trabajadores_Con_Prueba = int.Parse(sheet.Cells[fila, 32].Value.ToString());


                                if (pruebaClinicaB.Trabajadores_Con_Prueba <= totalTraZonaLugar)
                                {
                                    pruebasClinicas.Add(pruebaClinicaB);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasClinicasDx pruebaClinicaC = new EDPruebasClinicasDx();
                            if (sheet.Cells[fila, 33].Value != null && sheet.Cells[fila, 34].Value != null)
                            {
                                pruebaClinicaC.Prueba_Clinica          = sheet.Cells[fila, 33].Value.ToString();
                                pruebaClinicaC.Trabajadores_Con_Prueba = int.Parse(sheet.Cells[fila, 34].Value.ToString());
                                if (pruebaClinicaC.Trabajadores_Con_Prueba <= totalTraZonaLugar)
                                {
                                    pruebasClinicas.Add(pruebaClinicaC);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    //  nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasClinicasDx pruebaClinicaD = new EDPruebasClinicasDx();
                            if (sheet.Cells[fila, 35].Value != null && sheet.Cells[fila, 36].Value != null)
                            {
                                pruebaClinicaD.Prueba_Clinica          = sheet.Cells[fila, 35].Value.ToString();
                                pruebaClinicaD.Trabajadores_Con_Prueba = int.Parse(sheet.Cells[fila, 36].Value.ToString());
                                if (pruebaClinicaD.Trabajadores_Con_Prueba <= totalTraZonaLugar)
                                {
                                    pruebasClinicas.Add(pruebaClinicaD);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasClinicasDx pruebaClinicaE = new EDPruebasClinicasDx();
                            if (sheet.Cells[fila, 37].Value != null && sheet.Cells[fila, 38].Value != null)
                            {
                                pruebaClinicaE.Prueba_Clinica          = sheet.Cells[fila, 37].Value.ToString();
                                pruebaClinicaE.Trabajadores_Con_Prueba = int.Parse(sheet.Cells[fila, 38].Value.ToString());
                                if (pruebaClinicaE.Trabajadores_Con_Prueba <= totalTraZonaLugar)
                                {
                                    pruebasClinicas.Add(pruebaClinicaE);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }



                            EDPruebasPClinicasDx pruebaParaClinicaA = new EDPruebasPClinicasDx();

                            if (sheet.Cells[fila, 39].Value != null && sheet.Cells[fila, 40].Value != null)
                            {
                                pruebaParaClinicaA.Prueba_P_Clinica          = sheet.Cells[fila, 39].Value.ToString();
                                pruebaParaClinicaA.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 40].Value.ToString());
                                if (pruebaParaClinicaA.Trabajadores_Con_Prueba_P <= totalTraZonaLugar)
                                {
                                    pruebasParaClinicas.Add(pruebaParaClinicaA);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasPClinicasDx pruebaParaClinicaB = new EDPruebasPClinicasDx();

                            if (sheet.Cells[fila, 41].Value != null && sheet.Cells[fila, 42].Value != null)
                            {
                                pruebaParaClinicaB.Prueba_P_Clinica          = sheet.Cells[fila, 41].Value.ToString();
                                pruebaParaClinicaB.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 42].Value.ToString());
                                if (pruebaParaClinicaB.Trabajadores_Con_Prueba_P <= totalTraZonaLugar)
                                {
                                    pruebasParaClinicas.Add(pruebaParaClinicaB);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasPClinicasDx pruebaParaClinicaC = new EDPruebasPClinicasDx();

                            if (sheet.Cells[fila, 43].Value != null && sheet.Cells[fila, 44].Value != null)
                            {
                                pruebaParaClinicaC.Prueba_P_Clinica          = sheet.Cells[fila, 43].Value.ToString();
                                pruebaParaClinicaC.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 44].Value.ToString());
                                if (pruebaParaClinicaC.Trabajadores_Con_Prueba_P <= totalTraZonaLugar)
                                {
                                    pruebasParaClinicas.Add(pruebaParaClinicaC);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    //  nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }


                            EDPruebasPClinicasDx pruebaParaClinicaD = new EDPruebasPClinicasDx();

                            if (sheet.Cells[fila, 45].Value != null && sheet.Cells[fila, 46].Value != null)
                            {
                                pruebaParaClinicaD.Prueba_P_Clinica          = sheet.Cells[fila, 45].Value.ToString();
                                pruebaParaClinicaD.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 46].Value.ToString());
                                if (pruebaParaClinicaD.Trabajadores_Con_Prueba_P <= totalTraZonaLugar)
                                {
                                    pruebasParaClinicas.Add(pruebaParaClinicaD);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDPruebasPClinicasDx pruebaParaClinicaE = new EDPruebasPClinicasDx();

                            if (sheet.Cells[fila, 47].Value != null && sheet.Cells[fila, 48].Value != null)
                            {
                                pruebaParaClinicaE.Prueba_P_Clinica          = sheet.Cells[fila, 47].Value.ToString();
                                pruebaParaClinicaE.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 48].Value.ToString());
                                pruebaParaClinicaD.Trabajadores_Con_Prueba_P = int.Parse(sheet.Cells[fila, 46].Value.ToString());
                                if (pruebaParaClinicaE.Trabajadores_Con_Prueba_P <= totalTraZonaLugar)
                                {
                                    pruebasParaClinicas.Add(pruebaParaClinicaE);
                                }
                                else
                                {
                                    esValidoTrabajadores = false;
                                    // nfilaT += " " + fila;
                                    esValidoDx = false;
                                }
                            }

                            EDDiagnosticoCie10Dx diagnosticoCIE100A = new EDDiagnosticoCie10Dx();

                            if (sheet.Cells[fila, 49].Value != null && sheet.Cells[fila, 51].Value != null)
                            {
                                var valDiagnostic = sheet.Cells[fila, 50].Value.ToString();
                                if (!valDiagnostic.Equals("NO ES VÁLIDO"))
                                {
                                    diagnosticoCIE100A.IdDiagnostico = int.Parse(sheet.Cells[fila, 191].Value.ToString());
                                    diagnosticoCIE100A.NumeroTrabajadoresConDiagnostico = int.Parse(sheet.Cells[fila, 51].Value.ToString());
                                    if (diagnosticoCIE100A.NumeroTrabajadoresConDiagnostico <= totalTraZonaLugar)
                                    {
                                        diagnosticosCie.Add(diagnosticoCIE100A);
                                    }
                                    else
                                    {
                                        esValidoTrabajadores = false;
                                        // nfilaT += " " + fila;
                                        esValidoDx = false;
                                    }
                                }
                                else
                                {
                                    nFilaCodDiag += " " + fila;
                                    esValidoDx    = false;
                                }
                            }

                            EDDiagnosticoCie10Dx diagnosticoCIE100B = new EDDiagnosticoCie10Dx();

                            if (sheet.Cells[fila, 52].Value != null && sheet.Cells[fila, 54].Value != null)
                            {
                                var valDiagnostic = sheet.Cells[fila, 53].Value.ToString();
                                if (!valDiagnostic.Equals("NO ES VÁLIDO"))
                                {
                                    diagnosticoCIE100B.IdDiagnostico = int.Parse(sheet.Cells[fila, 192].Value.ToString());
                                    diagnosticoCIE100B.NumeroTrabajadoresConDiagnostico = int.Parse(sheet.Cells[fila, 54].Value.ToString());

                                    if (diagnosticoCIE100B.NumeroTrabajadoresConDiagnostico <= totalTraZonaLugar)
                                    {
                                        diagnosticosCie.Add(diagnosticoCIE100B);
                                    }
                                    else
                                    {
                                        esValidoTrabajadores = false;
                                        // nfilaT += " " + fila;
                                        esValidoDx = false;
                                    }
                                }
                                else
                                {
                                    nFilaCodDiag += " " + fila;
                                    esValidoDx    = false;
                                }
                            }


                            EDDiagnosticoCie10Dx diagnosticoCIE100C = new EDDiagnosticoCie10Dx();

                            if (sheet.Cells[fila, 55].Value != null && sheet.Cells[fila, 57].Value != null)
                            {
                                var valDiagnostic = sheet.Cells[fila, 56].Value.ToString();
                                if (!valDiagnostic.Equals("NO ES VÁLIDO"))
                                {
                                    diagnosticoCIE100C.IdDiagnostico = int.Parse(sheet.Cells[fila, 193].Value.ToString());
                                    diagnosticoCIE100C.NumeroTrabajadoresConDiagnostico = int.Parse(sheet.Cells[fila, 57].Value.ToString());

                                    if (diagnosticoCIE100C.NumeroTrabajadoresConDiagnostico <= totalTraZonaLugar)
                                    {
                                        diagnosticosCie.Add(diagnosticoCIE100C);
                                    }
                                    else
                                    {
                                        //  nfilaT += " " + fila;
                                        esValidoTrabajadores = false;
                                        esValidoDx           = false;
                                    }
                                }
                                else
                                {
                                    nFilaCodDiag += " " + fila;
                                    esValidoDx    = false;
                                }
                            }

                            EDDiagnosticoCie10Dx diagnosticoCIE100D = new EDDiagnosticoCie10Dx();

                            if (sheet.Cells[fila, 58].Value != null && sheet.Cells[fila, 60].Value != null)
                            {
                                var valDiagnostic = sheet.Cells[fila, 59].Value.ToString();
                                if (!valDiagnostic.Equals("NO ES VÁLIDO"))
                                {
                                    diagnosticoCIE100D.IdDiagnostico = int.Parse(sheet.Cells[fila, 194].Value.ToString());
                                    diagnosticoCIE100D.NumeroTrabajadoresConDiagnostico = int.Parse(sheet.Cells[fila, 60].Value.ToString());
                                    if (diagnosticoCIE100D.NumeroTrabajadoresConDiagnostico <= totalTraZonaLugar)
                                    {
                                        diagnosticosCie.Add(diagnosticoCIE100D);
                                    }
                                    else
                                    {
                                        esValidoTrabajadores = false;
                                        // nfilaT += " " + fila;
                                        esValidoDx = false;
                                    }
                                }
                                else
                                {
                                    nFilaCodDiag += " " + fila;
                                    esValidoDx    = false;
                                }
                            }

                            EDDiagnosticoCie10Dx diagnosticoCIE100E = new EDDiagnosticoCie10Dx();

                            if (sheet.Cells[fila, 61].Value != null && sheet.Cells[fila, 63].Value != null)
                            {
                                var valDiagnostic = sheet.Cells[fila, 62].Value.ToString();
                                if (!valDiagnostic.Equals("NO ES VÁLIDO"))
                                {
                                    diagnosticoCIE100E.IdDiagnostico = int.Parse(sheet.Cells[fila, 195].Value.ToString());
                                    diagnosticoCIE100E.NumeroTrabajadoresConDiagnostico = int.Parse(sheet.Cells[fila, 63].Value.ToString());

                                    if (diagnosticoCIE100E.NumeroTrabajadoresConDiagnostico <= totalTraZonaLugar)
                                    {
                                        diagnosticosCie.Add(diagnosticoCIE100E);
                                    }
                                    else
                                    {
                                        esValidoTrabajadores = false;
                                        //  nfilaT += " " + fila;
                                        esValidoDx = false;
                                    }
                                }
                                else
                                {
                                    nFilaCodDiag += " " + fila;
                                    esValidoDx    = false;
                                }
                            }


                            if (!sedes.Exists(s => s.IdSede == sede))
                            {
                                nFilaS += " " + fila;

                                esValidoDx = false;
                            }


                            if (codProceso > 0)
                            {
                                if (!procesos.Exists(p => p.Id_Proceso == codProceso))
                                {
                                    nfilaP += " " + fila;

                                    esValidoDx = false;
                                }
                            }

                            if (esValidoTrabajadores == false)
                            {
                                nfilaT += " " + fila;
                            }

                            if (esValidoDescripcionPel == false)
                            {
                                nfilaRPel += " " + fila;
                            }

                            if (esValidoDx)
                            {
                                diagnostico.nitEmpresa               = nitEmpresa;
                                diagnostico.ZonaLugar                = zona;
                                diagnostico.Fecha_Inicial_Dx         = Fecha_Inicial_Dx;
                                diagnostico.Fecha_Final_Dx           = Fecha_Final_Dx;
                                diagnostico.vigencia                 = vigencia2;
                                diagnostico.Pk_Id_Sede               = sede;
                                diagnostico.Procesos                 = codProceso;
                                diagnostico.NumeroTrabajadoresLugar  = totalTraZonaLugar;
                                diagnostico.Responsable_informacion  = responsableInformacion;
                                diagnostico.Profesion_Responsable    = Profesion_Responsable;
                                diagnostico.Tarjeta_Profesional      = Tarjeta_Profesional;
                                diagnostico.EDClasificacionPeligroDx = peligros;
                                diagnostico.EDSintomatologiaDx       = sintomologias;
                                diagnostico.EDPruebasClinicasDx      = pruebasClinicas;
                                diagnostico.EDPruebasPClinicasDx     = pruebasParaClinicas;
                                diagnostico.EDDiagnosticoCie10Dx     = diagnosticosCie;
                                diagnostico.FechaCreacionDiagnostico = FechaDx;
                                diagnostico.EDInfoAuditoria          = cargue.EDInfoAuditoria;
                                diagnosticos.Add(diagnostico);
                            }
                        }
                    }
                    else
                    {
                        if (fila == 2)
                        {
                            nFilaPV   += "" + fila;
                            esValidoDx = false;
                        }
                        break;
                    }
                }


                //Listo aca va mensajes y resto


                if (nFilaPV.Equals(""))
                {
                    mensajePlantillaVacia = "";
                }
                else
                {
                    mensajePlantillaVacia += "\n";
                }


                if (nFilaBla.Equals(""))
                {
                    mensajeEspBlancos = "";
                }
                else
                {
                    mensajeEspBlancos += nFilaBla + "\n";
                }



                if (nFilaS.Equals(""))
                {
                    mensajeSede = "";
                }
                else
                {
                    mensajeSede += nFilaS + "\n";
                }

                if (nfilaP.Equals(""))
                {
                    mensajeProceso = "";
                }
                else
                {
                    mensajeProceso += nfilaP + "\n";
                }

                if (nfilaV.Equals(""))
                {
                    mensajeVigencia = "";
                }
                else
                {
                    mensajeVigencia += nfilaV + "\n";
                }


                if (nfilaT.Equals(""))
                {
                    mensajeTamano = "";
                }
                else
                {
                    mensajeTamano += nfilaT + "\n";
                }



                if (nFilaRango.Equals(""))
                {
                    mensajeRangoFecha = "";
                }
                else
                {
                    mensajeRangoFecha += nFilaRango + "\n";
                }

                if (nFilaFr.Equals(""))
                {
                    mensajesFechas = "";
                }
                else
                {
                    mensajesFechas += nFilaFr + "\n";
                }

                if (nFilaNit.Equals(""))
                {
                    mensajeNitEmpresa = "";
                }
                else
                {
                    mensajeNitEmpresa += nFilaNit + "\n";
                }

                if (nFilaCodDiag.Equals(""))
                {
                    mensajeCodDiagnostico = "";
                }
                else
                {
                    mensajeCodDiagnostico += nFilaCodDiag + "\n";
                }


                if (nfilaRPel.Equals(""))
                {
                    mensajeDescPeligros = "";
                }
                else
                {
                    mensajeDescPeligros += nfilaRPel + "\n";
                }


                mensaje = mensajePlantillaVacia + " " + mensajeEspBlancos + " " + mensajeSede + mensajeProceso + " " + mensajeVigencia + " " + mensajeTamano + " " + mensajeRangoFecha + " " + mensajesFechas + " " + mensajeNitEmpresa + " " + mensajeCodDiagnostico + " " + mensajeDescPeligros + " ";


                if (esValidoDx == false)
                {
                    edCargue.Message = mensaje;
                    return(edCargue);
                }


                if (esValidoDx == true)
                {
                    resu = dia.InsertarCargueMasivoDx(diagnosticos);
                }
                else
                {
                    edCargue.Message = "No se puede realizar la carga,revise e intente de nuevo";
                    return(edCargue);
                }

                if (resu)
                {
                    if (esValidoDx)
                    {
                        edCargue.Message = "OK";
                    }
                    else
                    {
                        edCargue.Message = mensaje;
                    }
                }
                else
                {
                    edCargue.Message = "El proceso de cargue falló";
                }
            }

            catch (Exception ex)
            {
                RegistraLog registraLog = new RegistraLog();
                registraLog.RegistrarError(typeof(LNCarguePerfilSocioDemografico), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El proceso falló: revise la información y por favor intentelo de nuevo.";
                return(edCargue);
            }

            return(edCargue);
        }