public function acreditarBusqueda1($datos) { $numConexionesActivas = 0; $existeArchivoEssalud = 0; //1: fue creado archivo, 0: no fue creado archivo $pacientesEssalud = ""; $ipEssalud = "192.168.30"; //Generalizando se le asigna el número de red $tipo = $datos["tipoBusqueda"]; $dniPaciente = $datos["dni"]; $apaterno = $datos["apellidoPaterno"]; $amaterno = $datos["apellidoMaterno"]; $primerNombre = $datos["primerNombre"]; $segundoNombre = $datos["segundoNombre"]; $adscripciondepartamental = $datos["adscripciondepartamental"]; $nomArchivoTxt = ""; $tiempoRetardo = 1; $fechaActualUnix = time(); //Formamos el nombre del archivo que se obtendrá desde Essalud if ($tipo == 1) { $nomArchivoTxt = $dniPaciente . "_" . $fechaActualUnix; $tiempoRetardo = 1; } else { if ($tipo == "A") { $nomArchivoTxt = $apaterno . "_" . $amaterno . "_" . $primerNombre . "_" . $segundoNombre . "_" . $fechaActualUnix; $nomArchivoTxt = $this->reemplazaCaracteresEspeciales($nomArchivoTxt); $tiempoRetardo = 3; } } $longitud = strlen($nomArchivoTxt) - 2; $nomArchivoTxt = substr($nomArchivoTxt, 0, $longitud); $rutaHost = realpath("../../../"); $i = 0; //Buscar IPs servidores que se encuentren conectados a Essalud $arrayConexionesActivas = array(); $ipClienteWeb = $_SERVER['REMOTE_ADDR']; $arrayIpClienteWeb = explode(".", $ipClienteWeb); $mascaraSubRedSedeEmpresa = $arrayIpClienteWeb[0] . "." . $arrayIpClienteWeb[1] . "." . $arrayIpClienteWeb[2]; //$arrayConexionesActivas=$this->getArrayConexionesActivasEssalud($mascaraSubRedSedeEmpresa); $mascaraSubRedSedePrincipal = "192.168.31"; if ($mascaraSubRedSedeEmpresa == $mascaraSubRedSedePrincipal) { //Mascara de la principal que es el HMLO $arrayConexionesActivas = $this->getArrayConexionesActivasEssalud($mascaraSubRedSedeEmpresa); } else { $arrayConexionesActivas = $this->getArrayConexionesActivasEssalud($mascaraSubRedSedeEmpresa); if (count($arrayConexionesActivas) == 0) { //En caso de no encontrar conexiones en su sede, busca en el HMLO $arrayConexionesActivas = $this->getArrayConexionesActivasEssalud($mascaraSubRedSedePrincipal); } } $numConexionesActivas = count($arrayConexionesActivas); $encontroIP = 0; $indiceRandom = -1; if ($numConexionesActivas > 0) { $indiceRandom = rand(0, $numConexionesActivas - 1); $ipServidor = $arrayConexionesActivas[$indiceRandom]["vNumeroIpAcreditacion"]; //$encontroIP=1; $salida = ""; //java -jar "D:\ClienteCreaArchivo\dist\ClienteCreaArchivo.jar" ipServidor ipEssalud tipo dniPaciente apaterno amaterno primerNombre segundoNombre nomArchivoTxt $comandoExisteArchivoEssalud = "java -jar " . $rutaHost . "/essalud/JarSimedh/ClienteCreaArchivo.jar " . $ipServidor . " " . $ipEssalud . " " . $tipo . " " . $dniPaciente . " " . $apaterno . " " . $amaterno . " " . $primerNombre . " " . $segundoNombre . " " . $nomArchivoTxt; // echo $comandoExisteArchivoEssalud; //java -jar "D:\ClienteAcredita\dist\ClienteAcredita.jar" ipServidor ipEssalud dniPaciente $comandoLeerArchivoEssalud = "java -jar " . $rutaHost . "/essalud/JarSimedh/ClienteAcredita.jar " . $ipServidor . " " . $ipEssalud . " " . $nomArchivoTxt; //echo $comandoLeerArchivoEssalud; $existeArchivoEssalud = shell_exec($comandoExisteArchivoEssalud); if ($existeArchivoEssalud == 1) { //sleep($tiempoRetardo); $pacientesEssalud = shell_exec($comandoLeerArchivoEssalud); $pacientesEssalud = str_replace("[N]", "Ñ", $pacientesEssalud); $pacientesEssalud = str_replace("[A]", "Á", $pacientesEssalud); $pacientesEssalud = str_replace("[E]", "É", $pacientesEssalud); $pacientesEssalud = str_replace("[I]", "Í", $pacientesEssalud); $pacientesEssalud = str_replace("[O]", "Ó", $pacientesEssalud); $pacientesEssalud = str_replace("[U]", "Ú", $pacientesEssalud); $pacientesEssalud = str_replace("[A1]", "Ä", $pacientesEssalud); $pacientesEssalud = str_replace("[E1]", "Ë", $pacientesEssalud); $pacientesEssalud = str_replace("[I1]", "Ï", $pacientesEssalud); $pacientesEssalud = str_replace("[O1]", "Ö", $pacientesEssalud); $pacientesEssalud = str_replace("[U1]", "Ü", $pacientesEssalud); $pacientesEssalud = str_replace("#", "_", $pacientesEssalud); //Para los caracteres basura de ESSALUD $pacientesEssalud = str_replace("?", "_", $pacientesEssalud); //Para los caracteres basura de ESSALUD $salida = $pacientesEssalud; //if($salida=="" || $salida==null) { if ($salida != "" && $salida != null) { $o_Lpersona2 = new LPersona(); $vlineas = explode("*", $salida); //print_r($array1); $numeroFilas = count($vlineas) - 1; //print_r($vlineas); $arrayFilasValidas = array(); $j = 0; $ubigeo = $datos["departamento"] . $datos["provincia"] . $datos["distrito"]; for ($i = 0; $i < $numeroFilas; $i++) { $arrayPersona = ''; $arrayFilas[$i] = str_replace('|', '', explode(",", $vlineas[$i])); if ($adscripciondepartamental == '0') { if ($arrayFilas[$i][6] == '150117' || $arrayFilas[$i][6] == '150194') { $arrayPersona = $o_Lpersona2->personaRegistrada($arrayFilas[$i][5]); //busca segun el dni if (isset($arrayPersona[0][0])) { $arrayFilas[$i][17] = $arrayPersona[0][0]; } else { $arrayFilas[$i][17] = ''; } $arrayFilas[$i][18] = "|" . $arrayFilas[$i][0] . "|" . $arrayFilas[$i][1] . "|" . $arrayFilas[$i][2] . "|" . $arrayFilas[$i][3] . "|" . $arrayFilas[$i][4] . "|" . $arrayFilas[$i][5] . "|" . $arrayFilas[$i][6] . "|" . $arrayFilas[$i][7] . "|" . $arrayFilas[$i][8] . "|"; $arrayFilas[$i][18] .= "|" . $arrayFilas[$i][9] . "|" . $arrayFilas[$i][10] . "|" . $arrayFilas[$i][11] . "|" . $arrayFilas[$i][12] . "|" . $arrayFilas[$i][13] . "|" . $arrayFilas[$i][14] . "|" . $arrayFilas[$i][15] . "|" . $arrayFilas[$i][16] . "|" . $arrayFilas[$i][17] . "|"; $arrayFilas[$i][1] = utf8_decode($arrayFilas[$i][1]); $arrayFilas[$i][2] = utf8_decode($arrayFilas[$i][2]); $arrayFilas[$i][3] = utf8_decode($arrayFilas[$i][3]); $arrayFilas[$i][4] = utf8_decode($arrayFilas[$i][4]); $arrayFilasValidas[$j] = $arrayFilas[$i]; $j = $j + 1; } } else { // if (substr($arrayFilas[$i][6],0,-2) == $datos["departamento"] . $datos["provincia"]) { $arrayPersona = $o_Lpersona2->personaRegistrada($arrayFilas[$i][5]); //busca segun el dni if (isset($arrayPersona[0][0])) { $arrayFilas[$i][17] = $arrayPersona[0][0]; } else { $arrayFilas[$i][17] = ''; } $arrayFilas[$i][18] = "|" . $arrayFilas[$i][0] . "|" . $arrayFilas[$i][1] . "|" . $arrayFilas[$i][2] . "|" . $arrayFilas[$i][3] . "|" . $arrayFilas[$i][4] . "|" . $arrayFilas[$i][5] . "|" . $arrayFilas[$i][6] . "|" . $arrayFilas[$i][7] . "|" . $arrayFilas[$i][8] . "|"; $arrayFilas[$i][18] .= "|" . $arrayFilas[$i][9] . "|" . $arrayFilas[$i][10] . "|" . $arrayFilas[$i][11] . "|" . $arrayFilas[$i][12] . "|" . $arrayFilas[$i][13] . "|" . $arrayFilas[$i][14] . "|" . $arrayFilas[$i][15] . "|" . $arrayFilas[$i][16] . "|" . $arrayFilas[$i][17] . "|"; $arrayFilas[$i][1] = utf8_decode($arrayFilas[$i][1]); $arrayFilas[$i][2] = utf8_decode($arrayFilas[$i][2]); $arrayFilas[$i][3] = utf8_decode($arrayFilas[$i][3]); $arrayFilas[$i][4] = utf8_decode($arrayFilas[$i][4]); $arrayFilasValidas[$j] = $arrayFilas[$i]; $j = $j + 1; // } } } // print_r($arrayFilas); $funcion = 'acreditarPersonaEncontrada'; $arrayTipo = array("5" => "c", "10" => "c", "1" => "c", "2" => "c", "3" => "c", "4" => "c", "7" => "c", "8" => "c", "17" => "c", "11" => "c"); $arrayColorEstado = array("2" => "7"); $arrayCabecera = array("5" => "Autogenerado", "10" => "Nº DOC.", "1" => "A.Paterno", "2" => "A.Materno", "3" => "1er Nombre", "4" => "2do Nombre", "7" => "De", "8" => "Hasta", "17" => "Código", "11" => "..."); $o_Html = new Tabla1($arrayCabecera, 7, $arrayFilasValidas, 'tablaOrden', 'filax', 'filay', 'filaSeleccionada', 'onClick', $funcion, 18, $arrayTipo, 7, $arrayColorEstado); $o_Html->setColumnasOrdenar(array("0", "1", "2", "3", "4", "5", "6")); $respuestaFinal = $o_Html->getTabla(); } else { $respuestaFinal = "<h2><font color=\"red\">Congestión en la red,intente otra vez</font></h2>"; //Esto ya no ocurre porque se espera hasta que se genere el archivo } } else { $respuestaFinal = "<h2><font color=\"red\">No se generó archivo de Essalud correctamente</font></h2>"; } } else { $respuestaFinal = "<h2><font color=\"red\">No hay conexión con Essalud o con usuario acredita</font></h2>"; } return $respuestaFinal; }