Query($sql1); $rs2 = $GLOBALS['dbSQL']->Query($sql2); $rs3 = $GLOBALS['dbSQL']->Query($sql3); return ($rs1&&$rs2&&$rs3); } function imprimirNumero($numero, $servicio,&$letra='') { $nextNumero = $numero; $r = getServiciosNombre($servicio); $letra=$r[0]['letra']; $nextServicio = $r[0]['servicio']; include("wsPrintNumero.php"); if(isset($tiket2)) { return $tiket2; } return 0; } function getNumeroServicio() { if( isset($_REQUEST["serviceId"]) && !empty($_REQUEST["serviceId"]) && !is_null($_REQUEST["serviceId"]) && is_numeric($_REQUEST["serviceId"]) ) { $letra = ''; //Llamar al SP que crea el cedulon $params = array(); $param = array( 'name' =>'SerCodigo', 'value' =>$_REQUEST["serviceId"], 'isstr' => false, 'in' => true); array_push($params, $param); $param = array( 'name' =>'DniNro', 'value' =>(isset($_REQUEST["doc"])?$_REQUEST["doc"]:0), 'isstr' => false, 'in' => true); array_push($params, $param); $param = array( 'name' =>'UltimoNroGenerado', 'value' =>0, 'isstr' => false, 'in' => false); array_push($params, $param); //$resultado = $GLOBALS['dbSQL']->QuerySP("dbo.[PP_GetLlamadorUltimoTS]",$params); //-->$resultado = $GLOBALS['dbSQL']->executeSP("dbo.[PP_GetLlamadorUltimoTS]",$_REQUEST["serviceId"]); $resultado = $GLOBALS['dbSQL']->executeSP("dbo.[PP_GetLlamadorUltimoTS_N]",$_REQUEST["serviceId"],(isset($_REQUEST["doc"])?$_REQUEST["doc"]:0)); try { $tiket = imprimirNumero($resultado,$_REQUEST["serviceId"],$letra); } catch ( Exception $e ) { //print_r($e->__toString()); // // return false; } return array($resultado,$tiket,$letra); } else { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "El código de la obra social no fue recibido"; return array(0,0,''); } } function getNumeroServiciotest() { if( isset($_REQUEST["serviceId"]) && !empty($_REQUEST["serviceId"]) && !is_null($_REQUEST["serviceId"]) && is_numeric($_REQUEST["serviceId"]) ) { //Llamar al SP que crea el cedulon $resultado = $GLOBALS['dbSQL']->executeSP("dbo.[PP_test]",$_REQUEST["serviceId"]); $tiket = $resultado; return array($resultado,$tiket); } else { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "El código de la obra social no fue recibido"; return array(0,0); } } function obtenerNumeroServicio(&$resultInfo) { $resultado = 0; $tiket = ""; $letra = ""; list($resultado,$tiket,$letra) = getNumeroServicio(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => 1 ,"nvonro" => $resultado ,"tiket" => $tiket ,"letra" => $letra ,"fems" => date("d/m/Y H:i:s") ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los pacientes en espera"; } } function obtenerNumeroServiciotest(&$resultInfo) { $resultado = 0; $tiket = ""; list($resultado,$tiket) = getNumeroServiciotest(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => 1 ,"nvonro" => $resultado ,"tiket" => $tiket ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los pacientes en espera"; } } function setPacienteEspera() { $sql = " UPDATE dbo.turnos SET tur_llam_procesado = getdate() WHERE tur_numero = " . $_REQUEST["turid"]; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function actualizarColaEspera(&$resultInfo) { $resultado = 0; $resultado = setPacienteEspera(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => 1 ,"turnoid" => $_REQUEST["turid"] ,"resultado" => resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los pacientes en espera"; } } function procesarPool($pantalla,$servicio,$tipo,&$listado,$dinit=false) { $listado = array( "turnos" => array() ,"numeros"=> array() ); // Total de Pantallas del Servicio $totalPantallas = 0; if($servicio) { $sql = "SELECT ser_pantallas FROM llamador_servicios WHERE ser_codigo = " . $servicio; //print_r($sql);print_r("\n");//die; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $servicioInfo = $GLOBALS['dbSQL']->getAll(); if( count($servicioInfo)>0 ) { $totalPantallas = $servicioInfo[0]["ser_pantallas"]; } } } else { $totalPantallas = 1; } if( $totalPantallas > 0 ) { if( $tipo == POOL_LLAMADOR_TURNO) { // --------------------- // Turnos // --------------------- //AND CONVERT(VARCHAR,tt.tur_med_llama, 120) >= CONVERT(VARCHAR,'".$dinit."', 120) $sql = "SELECT TOP 10 tc.cli_nombre as nombre ,tc.cli_dni as dni ,tt.tur_numero as turid ,tcon.con_denom as destino_ ,tcon.con_abrev as destino ,'turno' as tipo ,tcon.ser_codigo FROM dbo.[turnos] as tt, dbo.[clientes] as tc, dbo.[consultorios] as tcon WHERE tt.cli_codigo = tc.cli_codigo AND tt.con_codigo = tcon.con_codigo AND tt.tur_med_llama IS NOT NULL AND tt.tur_llam_procesado IS NULL AND LEFT(CONVERT(VARCHAR,tt.tur_med_llama, 120), 10) = LEFT(CONVERT(VARCHAR,'".$dinit."', 120), 10) ORDER BY tt.tur_med_llama ASC"; //print_r($sql);print_r("\n");die; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $rs["turnos"] = $GLOBALS['dbSQL']->getAll(); if( is_array($rs["turnos"])&&count($rs["turnos"])>0 ) {//print_r("[".count($rs["turnos"])."]");die; //if(isset($_REQUEST["debug"])){print_r($rs["turnos"]);die;} for($i=0;$iQuery($sql); if ( $res ) { $llamadasPantalla = $GLOBALS['dbSQL']->getAll(); if( is_array($llamadasPantalla)&&count($llamadasPantalla) > 0) { $contine_ = false; } } if( $contine_ ) { //Buscar resgistros del turno en el pool // $sql = "SELECT llamp_numero // ,ser_codigo // ,tur_numero // ,llam_id // ,llamp_estado // ,llamp_pantalla // ,con_codigo // ,pue_codigo // FROM llamador_pool // WHERE ser_codigo = ". $rs["turnos"][$i]["ser_codigo"]." // AND tur_numero = ". $rs["turnos"][$i]["turid"]." // AND llamp_pantalla != '". $pantalla."' // AND llamp_estado = 0 // ORDER BY tur_numero ASC, llamp_numero ASC"; //SE QUITO EL SERVICIO, REVISAR EN EL FUTURO SI SE NECESITA QUE SALGA EN UNA/S PANTALLA/S ESPECIFICA/S $sql = "SELECT llamp_numero ,ser_codigo ,tur_numero ,llam_id ,llamp_estado ,llamp_pantalla ,con_codigo ,pue_codigo FROM llamador_pool WHERE tur_numero = ". $rs["turnos"][$i]["turid"]." AND llamp_pantalla != '". $pantalla."' AND llamp_estado = 0 ORDER BY tur_numero ASC, llamp_numero ASC"; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $poolLlamadas = $GLOBALS['dbSQL']->getAll(); //if(isset($_REQUEST["debug"])){print_r("--ok11");die;} if(is_array($poolLlamadas)&&count($poolLlamadas)) {//if(isset($_REQUEST["debug"])){print_r("--ok111111");die;} $totalLlamados = count($poolLlamadas); $flagFoundPantalla = false; $totalPantallasTurno = 0; if( $totalLlamados > 0 ) { $continue = true; for( $k=0; $k<$totalLlamados&&$continue; $k++ ) { if( $poolLlamadas[$k]["llamp_pantalla"] == $pantalla ) { // Pantalla encontrada $flagFoundPantalla = true; $totalPantallasTurno++; $continue = false; } else { // Pantalla encontrada, asignar y actualizar estado $sql = "UPDATE llamador_pool SET llamp_estado = 1, llamp_pantalla = '". $pantalla."' WHERE llamp_numero = " . $poolLlamadas[$k]["llamp_numero"]; $res = $GLOBALS['dbSQL']->Query($sql,true); $totalPantallasTurno++; $continue = false; } } } if( !$flagFoundPantalla ) { $x = array_push($listado["turnos"],$rs["turnos"][$i]); } } } } else { // Verificar si ya no quedan pantallas para procesar, eliminar // $sql = "SELECT tur_numero // FROM llamador_pool // WHERE ser_codigo = ". $rs["turnos"][$i]["ser_codigo"]." // AND tur_numero = ". $rs["turnos"][$i]["turid"]." // AND llamp_pantalla = ''"; //SE QUITO EL SERVICIO, REVISAR EN EL FUTURO SI SE NECESITA QUE SALGA EN UNA/S PANTALLA/S ESPECIFICA/S $sql = "SELECT tur_numero FROM llamador_pool WHERE tur_numero = ". $rs["turnos"][$i]["turid"]." AND llamp_pantalla = ''"; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $llamadasTurnoPantalla = $GLOBALS['dbSQL']->getAll(); if( is_array($llamadasTurnoPantalla)&&count($llamadasTurnoPantalla) <= 0) { // Todas las pantallas, mostraron el turno, actualizar // borrar el pool del turno $sql = "DELETE FROM llamador_pool WHERE tur_numero = ".$rs["turnos"][$i]["turid"]; $res = $GLOBALS['dbSQL']->Query($sql,true); // Actualizar tabla turno, ya que todas las pantallas $sql = "UPDATE dbo.[turnos] SET tur_llam_procesado = GETDATE() WHERE tur_numero = ".$rs["turnos"][$i]["turid"]; $res = $GLOBALS['dbSQL']->Query($sql,true); } } } } } } } else { // --------------------- // Numeros // --------------------- $sql = "SELECT t.llam_id as llam_id , t.llam_numero as numero , t.pue_codigo as puestoid , p.pue_denom as destino , s.ser_denom as servicio , s.ser_letra as serletra , t.ser_codigo as idservicio ,'numero' as tipo ,t.llam_pantalla FROM dbo.[llamador_turno] as t, dbo.[tbl_puestos] as p, dbo.[llamador_servicios] as s WHERE t.pue_codigo = p.pue_codigo AND p.pue_codigo = t.pue_codigo AND s.ser_codigo = t.ser_codigo AND ISNULL(llam_informado,0) = 0 AND CAST(t.llam_tstamp AS DATE) = CAST(getdate() AS DATE) AND t.ser_codigo = " . $servicio ." ORDER BY llam_tstamp ASC"; //print_r($sql);die; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $rs["numeros"] = $GLOBALS['dbSQL']->getAll(); if( is_array($rs["numeros"])&&count($rs["numeros"])>0 ) { for($i=0;$iQuery($sql); if ( $res ) { $llamadasPantalla = $GLOBALS['dbSQL']->getAll(); if( count($llamadasPantalla) > 0) { $contine_ = false; } } } if( $contine_ ) { // Pantalla encontrada, asignar y actualizar estado $sql = "UPDATE llamador_turno SET llam_informado = 1, llam_pantalla = '". $pantalla."' WHERE llam_id = " . $rs["numeros"][$i]["llam_id"]; $res = $GLOBALS['dbSQL']->Query($sql,true); $x = array_push($listado["numeros"],$rs["numeros"][$i]); // Verificar si ya no quedan pantallas para procesar, eliminar $sql = "SELECT llam_numero,ser_codigo FROM llamador_turno WHERE ser_codigo = ". $rs["numeros"][$i]["idservicio"]." AND llam_numero = ". $rs["numeros"][$i]["numero"]." AND llam_pantalla = ''"; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $llamadasTurnoPantalla = $GLOBALS['dbSQL']->getAll(); if( count($llamadasTurnoPantalla) <= 0) { // Todas las pantallas, mostraron el turno, actualizar // borrar el pool del turno $sql = "DELETE FROM llamador_turno WHERE ser_codigo = ".$rs["numeros"][$i]["idservicio"]." AND llam_numero = ". $rs["numeros"][$i]["numero"].""; $res = $GLOBALS['dbSQL']->Query($sql,true); } } } else { // Verificar si ya no quedan pantallas para procesar, eliminar $sql = "SELECT llam_numero,ser_codigo FROM llamador_turno WHERE ser_codigo = ". $rs["numeros"][$i]["idservicio"]." AND llam_numero = ". $rs["numeros"][$i]["numero"]." AND llam_pantalla = ''"; $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $llamadasTurnoPantalla = $GLOBALS['dbSQL']->getAll(); if( count($llamadasTurnoPantalla) <= 0) { // Todas las pantallas, mostraron el turno, actualizar // borrar el pool del turno $sql = "DELETE FROM llamador_turno WHERE ser_codigo = ".$rs["numeros"][$i]["idservicio"]." AND llam_numero = ". $rs["numeros"][$i]["numero"].""; $res = $GLOBALS['dbSQL']->Query($sql,true); } } } } } } } } } function getPacientesEspera() { $rs = array( "turnos" => false ,"numeros"=> false ); $sql1 = false; $sql2 = false; //Turnos if( isset($_REQUEST["serviceId"]) && isset($_REQUEST["idpantalla"]) ) { $pantalla = $_REQUEST["idpantalla"]; $servicio = $_REQUEST["serviceId"]; $tipo = POOL_LLAMADOR_TURNO; $listadoTurnos = false; procesarPool($pantalla,$servicio,$tipo,$listadoTurnos); $rs["turnos"] = $listadoTurnos["turnos"]; $tipo = POOL_LLAMADOR_NUMERO; $listadoNumeros = false; procesarPool($pantalla,$servicio,$tipo,$listadoNumeros); $rs["numeros"] = $listadoNumeros["numeros"]; } return $rs; } function getPacientesEspera_OLD() { $rs = array( "turnos" => false ,"numeros"=> false ); $sql1 = false; $sql2 = false; //Turnos if(isset($_REQUEST["serviceId"])) { $sql = "SELECT TOP 10 tc.cli_nombre as nombre ,tc.cli_dni as dni ,tt.tur_numero as turid ,tcon.con_denom as destino ,'turno' as tipo FROM dbo.[turnos] as tt, dbo.[clientes] as tc, dbo.[consultorios] as tcon dbo.[tbl_puestos] AS mp WHERE tt.cli_codigo = tc.cli_codigo AND tt.con_codigo = tcon.con_codigo AND mp.pue_codigo = tt.con_codigo AND tt.tur_med_llama IS NOT NULL AND tt.tur_llam_procesado IS NULL AND mp.ser_codigo = " . $_REQUEST["serviceId"]." ORDER BY tt.tur_med_llama ASC"; } else { $sql = "SELECT TOP 10 tc.cli_nombre as nombre ,tc.cli_dni as dni ,tt.tur_numero as turid ,tcon.con_denom as destino ,'turno' as tipo FROM dbo.[turnos] as tt, dbo.[clientes] as tc, dbo.[consultorios] as tcon WHERE tt.cli_codigo = tc.cli_codigo AND tt.con_codigo = tcon.con_codigo AND tt.tur_med_llama IS NOT NULL AND tt.tur_llam_procesado IS NULL ORDER BY tt.tur_med_llama ASC"; } $res = $GLOBALS['dbSQL']->Query($sql); if ( $res ) { $rs["turnos"] = $GLOBALS['dbSQL']->getAll(); if( count($rs["turnos"])>0 ) { $turlist=""; for($i=0;$iQuery($sql); if ( $rs["numeros"] ) { $rs["numeros"] = $GLOBALS['dbSQL']->getAll(); if( count($rs["numeros"])>0 ) { $llamlist=""; for($i=0;$iQuery($sql1,true);} if($sql2){$resultado2 = $GLOBALS['dbSQL']->Query($sql2,true);} return $rs; } function obtenerColaEspera(&$resultInfo) { $resultado = 0; $tiket = ""; $resultado = getPacientesEspera(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listEspera" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los pacientes en espera"; } } function getPacientesEsperaMultiple() { $rs = array( "turnos" => false ,"numeros"=> false ); $sql1 = false; $sql2 = false; //Turnos | Numeros /*if( isset($_REQUEST["serviceId"]) && isset($_REQUEST["idpantalla"]) )*/ if( isset($_REQUEST["idpantalla"]) ) { $pantalla = $_REQUEST["idpantalla"]; $dinit = date("Y-m-d H:i:s"); if( isset($_REQUEST["dinit"]) ) { $dinit = $_REQUEST["dinit"]; } //$servicio = $_REQUEST["serviceId"]; $listadoTurnos = false; $listadoNumeros = false; if( isset($_REQUEST["flt"]) ) { $tipo = POOL_LLAMADOR_TURNO; //procesarPool($pantalla,$servicio,$tipo,$listadoTurnos); procesarPool($pantalla,false,$tipo,$listadoTurnos,$dinit); $rs["turnos"] = $listadoTurnos["turnos"]; } if( isset($_REQUEST["fls"]) ) { $tipo = POOL_LLAMADOR_NUMERO; $serviciosLst = getListServicios(); if(is_array($serviciosLst)&&count($serviciosLst)>0) { $rs["numeros"] = array(); /* serid servicio fp ----- ------------------------------ --- 4 EXTRACCIONES LABORATORIO 0 8 OTROS;(EMMAC - REHABILITACIÓN) 0 6 RETIRO;ESTUDIOS O RECETAS 0 7 SOLICITAR NUEVO TURNO 1 3 TURNO CON;ESPECIALISTA 0 5 TURNO CON;MÉDICO CABECERA 0 a: llpm idpantalla: 19e95bbeed5802ee6108b0faf870ce9e fls: 1 fls: 1 */ for($i=0;$i count($resultado) ,"listEspera" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los pacientes en espera"; } } function getListServicios() { $sql = "SELECT ser_codigo AS serid ,LTRIM(RTRIM([ser_denom])) AS servicio ,ser_flag_pac_no_reg as fp FROM dbo.[llamador_servicios] WHERE ser_activo = 1 ORDER BY ser_denom"; $sql = "SELECT ser_codigo AS serid ,LTRIM(RTRIM(ser_denom)) AS servicio ,ser_pacdni as fp ,ser_letra as l ,ser_fontawe as ic FROM dbo.llamador_servicios WHERE ser_activo = 1 ORDER BY ser_orden"; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function getServiciosNombre($idServicio) { $sql = "SELECT [ser_codigo] AS serid ,[ser_denom] AS servicio ,(CASE WHEN ser_letra IS NULL THEN '' ELSE ser_letra END) AS letra FROM dbo.[llamador_servicios] WHERE [ser_codigo] = " . $idServicio; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function consultarServicios(&$resultInfo) { $resultado = getListServicios(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listaServicios" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar los servicios"; } } function limpiarPantallas() { $sql1 = " TRUNCATE TABLE llamador_pool "; $sql2 = " TRUNCATE TABLE llamador_turno "; $sql3 = " UPDATE TURNOS SET tur_llam_procesado = GETDATE() "; $rs1 = $GLOBALS['dbSQL']->Query($sql1); $rs2 = $GLOBALS['dbSQL']->Query($sql2); $rs3 = $GLOBALS['dbSQL']->Query($sql3); if( $rs1&&$rs2&&$rs3 ) { return true; } return false; } function getValidarDUFast(&$existe=0,&$nombre='') { $sql = "SELECT TOP 1 cli_dni,cli_nombre FROM clientes WHERE cli_dni = '".addslashes($_REQUEST["du"])."'"; //die($sql); debug($sql); $rs = $GLOBALS['dbSQL']->Query($sql); if ( $rs ) { $cliente = $GLOBALS['dbSQL']->getAll(); if( is_array($cliente)&&count($cliente)>0 ) { $existe=1; $nombre=$cliente[0]["cli_nombre"]; } return true; } return false; } function validarDUExisteNumeros(&$resultInfo) { $existe=''; $nombre=''; $resultado = getValidarDUFast($existe,$nombre); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array("dures" => $existe,"np"=>$nombre); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el Documento"; } } //-------------------------------------- ?>