Query($sql); if ( $rs ) { $result = $GLOBALS['dbSQL']->getAll(); if( count($result)>0 ) { $cod = $result[0]['COD']; $name = trim($result[0]['NOMBRE']); $email = $result[0]['EMAIL']; $sexo = ''; $telefono = trim($result[0]['TEL']); $alerta = trim($result[0]['COMW']); $fnac = $result[0]['FNAC']; $cesp = $result[0]['ESP']; $tit = $result[0]['TIT']; return $result; } } return false; } function getConveioMed(&$resultInfo,$flagName=true) { if( isset($_REQUEST["idm"]) && !empty($_REQUEST["idm"]) && !is_null($_REQUEST["idm"]) && is_numeric($_REQUEST["idm"]) ) { $idMedico = trim($_REQUEST["idm"]); $resultado = getConveniosMedico($idMedico,$flagName); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => (is_array($resultado)&&count($resultado)>0?count($resultado):0) ,"listObsMed" => $resultado ); } else { $resultInfo['code'] = 0; $resultInfo['errorDes'] = "Se produjo un error al consultar las obras sociales"; } } else { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "El código del usuario no fue recibido"; } } function getListEspecialidadesTotalMedicos() { $sql = "SELECT TT0.Cod ,TT0.Esp ,(TT0.totMed + (CASE WHEN TT0.totMedEspecialidades IS NULL THEN 0 ELSE TT0.totMedEspecialidades END)) AS totMed FROM ( SELECT T0.[esp_codigo] AS Cod ,T0.[esp_denom] AS Esp ,(SELECT COUNT(T1.esp_codigo) FROM dbo.[medicos] AS T1 WHERE T1.esp_codigo = T0.esp_codigo AND T1.med_bloqueado = 0 GROUP BY T1.esp_codigo ) AS totMed ,(SELECT COUNT(T2.esp_codigo) FROM dbo.[med_especialidades] AS T2 INNER JOIN dbo.[medicos] AS T3 ON T2.med_codigo=T3.med_codigo WHERE T2.esp_codigo = T0.esp_codigo AND T3.med_bloqueado = 0 GROUP BY T2.esp_codigo ) AS totMedEspecialidades FROM dbo.[especial] AS T0 ) TT0 INNER JOIN especial as e ON TT0.Cod = e.esp_codigo WHERE TT0.totMed IS NOT NULL AND e.esp_web = 1 ORDER BY TT0.Esp"; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function getLstEspecialidadesTotXMed(&$resultInfo) { $resultado = getListEspecialidadesTotalMedicos(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listEsp" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de especialidades"; } } function getListTitulosMed() { $sql = "SELECT [tit_codigo] AS Cod ,[tit_abrev] AS Tit FROM dbo.[tbl_titulos] ORDER BY tit_abrev"; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function getLstTitulos(&$resultInfo) { $resultado = getListTitulosMed(); if( $resultado ) { $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listTit" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de títulos"; } } function getListEspecialidades($flagDasborad=false) { if(!$flagDasborad) { $sql = "SELECT [esp_codigo] AS Cod ,[esp_denom] AS Esp FROM dbo.[especial] ORDER BY esp_denom"; } else { $where = ""; if(isset($_REQUEST["ew"])) { $where = " WHERE esp_whatsappboot = 1"; } $sql = "SELECT esp_codigo AS Cod ,esp_denom AS Esp ,esp_recordatorio AS email ,esp_web AS web ,esp_whatsappboot AS wt ,0 AS itemselected FROM dbo.especial ".$where." ORDER BY esp_denom"; } $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return true;} return $rs; } function getLstEspecialidades(&$resultInfo) { $flagDasborad = false; if(isset($_REQUEST["d"])){$flagDasborad = true;} $resultado = getListEspecialidades($flagDasborad); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listEsp" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de especialidades"; } } function getLstProfesionalesPorNombre(&$resultInfo) { $resultado = getListProfesionalesNombre(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listProf" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de profesionales"; } } function getLstProfesionalesObs(&$resultInfo) { $resultado = getListProfesionalesObs(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listProf" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de profesionales para la obra social solicitada"; } } function getLstProfesionalesEsp(&$resultInfo) { $resultado = getListProfesionalesEsp(); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($resultado) ,"listProf" => $resultado ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de profesionales para la especialidad solicitada"; } } function updateProfesional(&$resultInfo) { if( isset($_REQUEST["idp"]) && !empty($_REQUEST["idp"]) && !is_null($_REQUEST["idp"]) && is_numeric($_REQUEST["idp"]) ) { $id = trim($_REQUEST["idp"]); $sql = " UPDATE dbo.[medicos] SET [med_nombre] = '".mb_strtoupper($_REQUEST["nombre"])."' ,[med_dni] = " .$_REQUEST["dni"] ." ,[med_mp] = '".$_REQUEST["mat"] ."' ,[esp_codigo] = " .$_REQUEST["esp"] ." ,[med_dir] = '".$_REQUEST["dir"] ."' ,[med_tel] = '".$_REQUEST["tel"] ."' ,[med_email] = '".$_REQUEST["emial"] ."' ,[med_fecnto] = '".($_REQUEST["ea"].'-'.$_REQUEST["em"].'-'.$_REQUEST["ed"].' 00:00:00.000') ."' ,[tit_codigo] = " .$_REQUEST["titulo"] ." ,[med_webcoment]= '".$_REQUEST["comentario"] ."'"; $sql.= " WHERE [med_codigo] = ".$id; //print_r($sql);die; $rs = $GLOBALS['dbSQL']->Query($sql,true); if ( $rs ) { $userInfo = false; $dni = $_REQUEST["dni"]; if( is_numeric($dni) ) { $name = ""; $codP = -1; $mat = false; $nombre = false; $email = ''; $sexo = false; $telefono = false; $alerta = false; $fnac = false; $cesp = false; $tit = false; $resultado = getValidarDNIProfFast($dni, $mat,$codP,$nombre,$email,$sexo,$telefono,$alerta,$fnac,$cesp,$tit); //print_r($resultado);die; if( $resultado ) { $userInfo['dni'] = $dni; $userInfo['mat'] = $mat; $userInfo['cod'] = $codP; $userInfo['name'] = $nombre; $userInfo['email'] = $email; $userInfo['sexo'] = $sexo; $userInfo['tel'] = $telefono; $userInfo['fnacd'] = date("d",strtotime($fnac)); $userInfo['fnacm'] = date("m",strtotime($fnac)); $userInfo['fnaca'] = date("Y",strtotime($fnac)); $userInfo['cweb'] = $alerta; $userInfo['cesp'] = $cesp; $userInfo['tit'] = $tit; } } //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array("userinfo" => $userInfo ); } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al actualizar los datos del profesional"; } } else { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "El código del profesional no fue recibido"; } } function getListProfTurnos() { if( isset($_REQUEST["idpro"]) && !empty($_REQUEST["idpro"]) && !is_null($_REQUEST["idpro"]) && is_numeric($_REQUEST["idpro"]) ) { $rango = false; if( isset($_REQUEST["rfd"]) && !empty($_REQUEST["rfd"]) && !is_null($_REQUEST["rfd"]) && isset($_REQUEST["rfh"]) && !empty($_REQUEST["rfh"]) && !is_null($_REQUEST["rfh"]) ) { $rango = array(); $rango[0] = str_replace(".","-",$_REQUEST["rfd"]); $rango[1] = str_replace(".","-",$_REQUEST["rfh"]); if( strtotime($rango[0])===false || strtotime($rango[1])===false) { $rango = false; } } $fecha = date("Y-m-d"); if( isset($_REQUEST["fecha"]) && !empty($_REQUEST["fecha"]) && !is_null($_REQUEST["fecha"]) ) { $fecha = $_REQUEST["fecha"]; } if( $rango ) { $desde = date("Y-m-d",strtotime($rango[0])); $hasta = date("Y-m-d",strtotime($rango[1])); $rs['fecha'] = $desde . ' - ' . $hasta; //$periodo = " AND ( t.tur_fecha BETWEEN '". $desde ."' AND '". $hasta ."' )"; $periodo = " AND ( LEFT(CONVERT(VARCHAR,t.tur_fecha, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR,'".$desde."', 120), 10) AND LEFT(CONVERT(VARCHAR,'".$hasta."', 120), 10) )"; } else { $rs['fecha'] = $fecha; //$periodo = " AND ( t.tur_fecha BETWEEN '". $fecha ."' AND '". $fecha ."' )"; $periodo = " AND ( LEFT(CONVERT(VARCHAR,t.tur_fecha, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR,'".$fecha."', 120), 10) AND LEFT(CONVERT(VARCHAR,'".$fecha."', 120), 10) )"; } $sql = "SELECT RTRIM(LTRIM(e.esp_denom)) AS Esp , RTRIM(LTRIM(m.med_nombre)) AS Med , CONVERT(VARCHAR(10),t.tur_fecha,103) AS Fec , t.tur_hora AS Hor , t.tur_numero AS CodT , t.med_codigo AS idMed , tt.tit_abrev AS Tit , t.cli_codigo As ID_PACIENTE , RTRIM(LTRIM(c.cli_nombre)) AS PACIENTE , RTRIM(LTRIM(o.obs_denom)) AS Obs , RTRIM(LTRIM(op.obsp_denom)) AS Plan_ , dbo.GetAge(c.cli_fecnto) AS edad , c.cli_tel AS telefono , c.cli_email AS email , t.tur_atendido AS atendido , t.tur_asiste AS asistio , t.tur_visado AS espera , t.tur_asiste_hora AS horallegada ,(CASE WHEN t.tur_telemed IS NULL THEN 0 ELSE ((CASE WHEN t.tur_telemed = 0 THEN 0 ELSE 1 END)) END) AS Telemed ,tur_confirmado as tcnf ,(CASE WHEN cli_fam_nombre IS NULL THEN '' ELSE cli_fam_nombre END) as fname FROM turnos AS t , medicos AS m , especial AS e , tbl_titulos tt , clientes AS c , obrasoc AS o , obsplan As op WHERE t.med_codigo = ".$_REQUEST["idpro"]." ".$periodo." AND t.cli_codigo = c.cli_codigo AND t.med_codigo = m.med_codigo AND m.esp_codigo = e.esp_codigo AND tt.tit_codigo = m.tit_codigo AND t.obs_codigo = o.obs_codigo AND t.obs_codigo = op.obs_codigo AND t.obsp_cod = op.obsp_cod AND t.cli_codigo <> 1 ORDER BY t.tur_fecha, t.tur_hora"; //print_r($sql);die; $resultado = $GLOBALS['dbSQL']->Query($sql); //print_r($rs);die; if ( !$resultado ) { return false; } $resultado = $GLOBALS['dbSQL']->getAll(); $rs['total'] = 0; $rs['fecha'] = date("d/m/Y", strtotime($rs['fecha'])); if( count($resultado) > 0 ) { $rs['turnos'] = $resultado; $rs['total'] = count($resultado); } return $rs; } else { return false; } } function getLstProfTurnos(&$resultInfo,$flagTelemedicina=false) { $resultado = getListProfTurnos($flagTelemedicina); if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => $resultado['total'] ,"listTurnos" => (isset($resultado['turnos'])?$resultado['turnos']:'') ,"fecha" => $resultado['fecha'] ); } else { $resultInfo['code'] = 0; $resultInfo['errorDes'] = "Se produjo un error al consultar los turnos"; } } function getMedicoOtrasEspe($idMed) { $sql = "SELECT m.esp_codigo, e.esp_denom as esp FROM dbo.[med_especialidades] AS m INNER JOIN especial AS e ON m.esp_codigo = e.esp_codigo WHERE [med_codigo] = " .$idMed; $sql = "SELECT m.esp_codigo, e.esp_denom as esp FROM dbo.[med_especialidades] AS m INNER JOIN especial AS e ON m.esp_codigo = e.esp_codigo INNER JOIN medicos as med ON med.med_codigo = m.med_codigo WHERE m.med_codigo = " .$idMed." AND med.esp_codigo <> m.esp_codigo AND e.esp_web = 1"; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return 'false';} return $rs; } function getListProfesionales(&$profesionales,$flagRecientes=false,$especialidad=false,$idCliente=false,$soloactivos=false) { /* DECLARE @startOfCurrentMonth DATETIME SET @startOfCurrentMonth = DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0) SELECT * FROM Member WHERE date_created >= DATEADD(month, -1, @startOfCurrentMonth) -- this was originally misspelled AND date_created < @startOfCurrentMonth */ $sqlFR = array(); $sqlFR[0] = ""; $sqlFR[1] = ""; $sqlSub = ""; /*if( $flagRecientes ) { $sqlFR[0] = ",( SELECT DISTINCT med_codigo FROM dbo.turnos WHERE tur_asiste = 1 AND cli_codigo = ".$idCliente." AND tur_fecha >= DATEADD(month, -6, (DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0))) AND tur_fecha < (DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0)) ) mr "; $sqlFR[1] = " AND m.med_codigo = mr.med_codigo "; }*/ if( $soloactivos ) { $soloactivos = ' AND m.med_bloqueado = 0 '; } else { $soloactivos = ''; } if( $flagRecientes ) { $sqlSub = " INNER JOIN ( SELECT DISTINCT med_codigo FROM dbo.turnos WHERE tur_asiste = 1 AND cli_codigo = ".$idCliente." AND tur_fecha >= DATEADD(month, -6, (DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0))) AND tur_fecha < (DATEADD(month, DATEDIFF(month, 0, CURRENT_TIMESTAMP), 0)) ) AS mr ON m.med_codigo = mr.med_codigo "; } if( $especialidad ) { $sqlSub = " SELECT m.med_codigo AS CodM ,m.med_nombre AS NomM ,e.esp_denom AS EspM ,t.tit_abrev AS TitM ,m.med_webcoment AS MedMsg ,m.med_turnos_web AS turnero ,m.med_rango_dias AS rango FROM medicos AS m INNER JOIN especial AS e ON m.esp_codigo = e.esp_codigo INNER JOIN tbl_titulos as t ON m.tit_codigo = t.tit_codigo WHERE m.med_web IS NOT NULL AND m.med_web = 1 AND m.med_bloqueado = 0 AND e.esp_web = 1 AND m.esp_codigo = ".$especialidad; $sqlSub.= " UNION "; $sqlSub.= " SELECT m.med_codigo AS CodM ,m.med_nombre AS NomM ,e.esp_denom AS EspM ,t.tit_abrev AS TitM ,m.med_webcoment AS MedMsg ,m.med_turnos_web AS turnero ,m.med_rango_dias AS rango FROM medicos AS m INNER JOIN especial AS e ON m.esp_codigo = e.esp_codigo INNER JOIN tbl_titulos as t ON m.tit_codigo = t.tit_codigo LEFT JOIN med_especialidades AS me ON m.med_codigo = me.med_codigo WHERE m.med_web IS NOT NULL AND m.med_web = 1 AND m.med_bloqueado = 0 AND e.esp_web = 1 AND me.esp_codigo = ".$especialidad; $sql = " SELECT TIN.CodM ,TIN.NomM ,TIN.EspM ,TIN.TitM ,TIN.MedMsg ,TIN.turnero ,TIN.rango FROM (".$sqlSub.") AS TIN ORDER BY TIN.NomM ASC"; } else { $where = ""; if(isset($_REQUEST["ew"])) { $where = " AND med_whatsappboot = 1"; } /* $sql = "SELECT m.med_codigo AS CodM ,m.med_nombre AS NomM ,e.esp_denom AS EspM ,t.tit_abrev AS TitM ,m.med_webcoment AS MedMsg ,m.med_turnos_web AS turnero FROM medicos AS m INNER JOIN especial AS AS e ON m.esp_codigo = e.esp_codigo INNER JOIN tbl_titulos as t ON m.tit_codigo = t.tit_codigo ".$sqlFR[0]." WHERE m.med_web = 1 AND m.med_bloqueado = 0 ".$sqlFR[1]." ORDER BY m.med_nombre ASC"; */ $sql = "SELECT m.med_codigo AS CodM ,m.med_nombre AS NomM ,e.esp_denom AS EspM ,t.tit_abrev AS TitM ,m.med_webcoment AS MedMsg ,ISNULL(m.med_turnos_web,0) AS turnero ,m.med_rango_dias AS rango FROM medicos AS m LEFT JOIN especial AS e ON m.esp_codigo = e.esp_codigo LEFT JOIN tbl_titulos AS t ON m.tit_codigo = t.tit_codigo ".$sqlSub." WHERE m.med_web IS NOT NULL AND m.med_web = 1 AND m.med_bloqueado = 0 AND e.esp_web = 1 ".$where." ORDER BY m.med_nombre ASC"; } //die($sql); debug($sql); $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $profesionales = $GLOBALS['dbSQL']->getAll(); for($i=0;$iQuery($sql); if ( !$rs ) { return false; } $profesionales = $GLOBALS['dbSQL']->getAll(); for($i=0;$iQuery($sql); if ( $rs ) { $rs = $GLOBALS['dbSQL']->getAll(); foreach($rs as $row) { $dataMedico[0] = $row["med_codigo"]; $dataMedico[1] = $row["med_nombre"]; $dataMedico[2] = $row["esp_denom"]; $dataMedico[3] = $row["tit_abrev"]; $res=true; } } return $dataMedico; } function getLstProfesionales(&$resultInfo,$flagRecientes=false) { $cli_id = false; if( isset($_REQUEST["idcli"]) && !empty($_REQUEST["idcli"]) && !is_null($_REQUEST["idcli"]) ) { $cli_id = $_REQUEST["idcli"]; } $especialidad = false; if( isset($_REQUEST["espfilter"]) && !empty($_REQUEST["espfilter"]) && !is_null($_REQUEST["espfilter"]) ) { $especialidad = $_REQUEST["espfilter"]; } $soloactivos = false; if( isset($_REQUEST["fma"]) && !is_null($_REQUEST["fma"]) ) { $soloactivos = (intval($_REQUEST["fma"])===0?true:false); } $profesionales=array(); if( isset($_REQUEST["fd"]) && !empty($_REQUEST["fd"]) && !is_null($_REQUEST["fd"]) ) { $resultado = getListProfesionalesDH($profesionales); } else { $resultado = getListProfesionales($profesionales,$flagRecientes,$especialidad,$cli_id,$soloactivos); } if( $resultado ) { //Listar Obras Sociales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => count($profesionales) ,"listProf" => $profesionales ); return true; } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de profesionales"; } } function getListProfesionalesCmp($where,$campo) { $order = " ORDER BY " . $campo; $sql = "SELECT med.med_codigo as medC, med.med_nombre as nombre, med.med_dni as doc, ISNULL(med.med_bloqueado,0) as bloqueado FROM medicos as med WHERE " .$where. $order; //print_r($sql);die; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { return false; } $rs = $GLOBALS['dbSQL']->getAll(); if(count($rs)===0){return array();} return $rs; } function getLstProfesionalesComponente(&$resultInfo,$flagById=false) { if( isset($_REQUEST["campo"]) && !empty($_REQUEST["campo"]) && !is_null($_REQUEST["campo"])&& isset($_REQUEST["valor"]) && !is_null($_REQUEST["valor"]) ) { if(!$flagById) { if(intval($_REQUEST["campo"])==1) { $where = "med_codigo = '".addslashes($_REQUEST["valor"])."'"; $campo = "med_codigo"; } else if(intval($_REQUEST["campo"])==2) { $where = "med_dni LIKE '%".addslashes($_REQUEST["valor"])."%'"; $campo = "med_dni"; } else //if(intval($_REQUEST["campo"])==2) { $where = "UPPER(LTRIM(RTRIM(med_nombre))) LIKE '%".addslashes(strtoupper(trim($_REQUEST["valor"])))."%'"; $campo = "med_nombre"; } /*else { $where = "cli_nombre LIKE '%".addslashes($_REQUEST["valor"])."%'"; $campo = "cli_nombre"; }*/ } else { $where = "med_codigo = '".addslashes($_REQUEST["valor"])."'"; $campo = "med_codigo"; } $resultado = getListProfesionalesCmp($where,$campo); if( $resultado!==false ) { //Listar Profesionales $resultInfo['code'] = 0; $resultInfo['data'] = array( "total" => (is_array($resultado)?count($resultado):0) ,"listProfesionales" => (is_array($resultado)&&count($resultado)>0?$resultado:array()) ); return true; } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Se produjo un error al consultar el listado de profesionales"; } } } //-------------------------------- //DASHBOARD //-------------------------------- function updateprofesionalEstadoBloqueo($codMed) { $sql = "UPDATE medicos SET med_bloqueado = (CASE WHEN med_bloqueado = 1 THEN 0 ELSE 1 END) WHERE med_codigo = '".addslashes($codMed)."'"; //print_r($sql);print_r("\n");//die; $rs = $GLOBALS['dbSQL']->Query($sql,true); if ( $rs ) { return true; } return false; } function cambiarEstadoBloqueoProfesional(&$resultInfo) { try { if( isset($_REQUEST["cod"]) && !empty($_REQUEST["cod"]) && !is_null($_REQUEST["cod"]) ) { $codigo = $_REQUEST["cod"]; $resultado = updateprofesionalEstadoBloqueo($codigo); $resultInfo['code'] = 0; $resultInfo['data'] = array( "resultado" => $resultado ); return true; } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Parámetros incompletos"; } return false; } catch (Exception $e) { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "Se produjo un error al consultar al grabar las imagenes: [".$e->getMessage()."]"; return false; } } function updateprofesionalTipoAtencion($codMed) { $fields=''; if(isset($_REQUEST["dea"])) { $field="med_flag_da = '".addslashes($_REQUEST["dea"])."'"; $sep=","; if($fields==''){$sep="";} $fields.=$sep.$field; } if(isset($_REQUEST["dep"])) { $field="med_flag_dp = '".addslashes($_REQUEST["dep"])."'"; $sep=","; if($fields==''){$sep="";} $fields.=$sep.$field; } if(isset($_REQUEST["aga"])) { $field="med_flag_aa = '".addslashes($_REQUEST["aga"])."'"; $sep=","; if($fields==''){$sep="";} $fields.=$sep.$field; } if(isset($_REQUEST["agp"])) { $field="med_flag_ap = '".addslashes($_REQUEST["agp"])."'"; $sep=","; if($fields==''){$sep="";} $fields.=$sep.$field; } if(isset($_REQUEST["der"])) { $field="med_flag_der = '".addslashes($_REQUEST["der"])."'"; $sep=","; if($fields==''){$sep="";} $fields.=$sep.$field; } // $sql = "UPDATE medicos // SET med_bloqueado = (CASE WHEN med_bloqueado = 1 THEN 0 ELSE 1 END) // WHERE med_codigo = '".addslashes($codMed)."'"; if($fields!='') { $sql = "UPDATE medicos SET ".$fields." WHERE med_codigo = '".addslashes($codMed)."'"; //print_r($sql);print_r("\n");die; $rs = $GLOBALS['dbSQL']->Query($sql,true); if ( $rs ) { return true; } return false; } return true; } function cambiarTipoAtencionProfesional(&$resultInfo) { try { if( isset($_REQUEST["cod"]) && !empty($_REQUEST["cod"]) && !is_null($_REQUEST["cod"]) ) { $codigo = $_REQUEST["cod"]; $resultado = updateprofesionalTipoAtencion($codigo); $resultInfo['code'] = 0; $resultInfo['data'] = array( "resultado" => $resultado ); return true; } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Parámetros incompletos"; } return false; } catch (Exception $e) { $resultInfo['code'] = 2; $resultInfo['errorDes'] = "Se produjo un error al consultar al grabar las imagenes: [".$e->getMessage()."]"; return false; } } //-------------------------------- // -------------------------------------------- // OP PROFESIONALES // -------------------------------------------- function getListaPracticasPreliquidades() { //print_r($_REQUEST);die("ttttt"); //,FORMAT(e.emp_alta,'dd/MM/yyyy') as falta $params = false; $flagMedico = false; if( isset($_REQUEST["med"])&&intval($_REQUEST["med"])!==(-1)) { $flagMedico = true; } $flagFecha = false; if( isset($_REQUEST["f_d"])&&intval($_REQUEST["f_d"])!==(-1) && isset($_REQUEST["f_h"])&&intval($_REQUEST["f_h"])!==(-1)) { $flagFecha = true; } $flagSegmed = false; if( isset($_REQUEST["segmed"])&&intval($_REQUEST["segmed"])!==(-1)) { $flagSegmed = true; } if($flagMedico&&$flagFecha&&$flagSegmed) { $params = ""; $rango = array(); $rango[0] = DateTime::createFromFormat('d/m/Y', $_REQUEST["f_d"]); $rango[1] = DateTime::createFromFormat('d/m/Y', $_REQUEST["f_h"]); $desde = date("Y-m-d",strtotime($rango[0]->format('Y-m-d'))); $hasta = date("Y-m-d",strtotime($rango[1]->format('Y-m-d'))); $subSQL1 = " (t.med_codigo = ".$_REQUEST["med"].") AND (LEFT(CONVERT(VARCHAR,tur_fecha, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR, '".$desde."', 120), 10) AND LEFT(CONVERT(VARCHAR, '".$hasta."', 120), 10))"; $subSQL2 = " (p.med_codigo = ".$_REQUEST["med"].") AND (LEFT(CONVERT(VARCHAR,pra_fecha, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR, '".$desde."', 120), 10) AND LEFT(CONVERT(VARCHAR, '".$hasta."', 120), 10))"; $subSQL3 = " AND (t.med_codigo = ".$_REQUEST["med"].") AND (LEFT(CONVERT(VARCHAR,t.qui_fecha, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR, '".$desde."', 120), 10) AND LEFT(CONVERT(VARCHAR, '".$hasta."', 120), 10))"; /* UNION ALL SELECT oi_fecdes ,0 ,op.pra_numero ,op.pra_codigo ,'I' ,oip_cupon ,c.cli_codigo ,cli_nombre ,p.obs_codigo ,obs_denom ,ISNULL(d.fac_neto, ISNULL (op.oip_total,0)) ,ISNULL(d.fac_neto, ISNULL (op.oip_total,0)) ,0 ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,0 ,ISNULL(d.tdc_codigo,1) ,ISNULL(tdc_signo,1) ,NULL ,NULL ,NULL FROM orden_internacion p (NOLOCK), oi_practicas op (NOLOCK) LEFT JOIN fac_deta d ON op.pra_numero = d.pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo ,clientes c ,medicos m ,obrasoc o WHERE op.med_codigo = 13 AND oi_fecdes BETWEEN '2024-05-01' AND '2024-07-16' AND p.oi_numero = op.oi_numero AND p.obs_codigo = o.obs_codigo AND op.med_codigo = m.med_codigo AND p.cli_codigo = c.cli_codigo AND op_preliquida = 1 AND op.pra_numero IS NOT NULL AND NOT EXISTS (SELECT 1 FROM op_imputacion i (NOLOCK) WHERE i.pra_numero = op.pra_numero) */ $sql = " SELECT FORMAT(t.tur_fecha,'dd/MM/yyyy') as fecha ,t.tur_fecha as fechasf ,t.tur_hora as hora ,t.tur_numero as pcod ,inos_cod as ino ,'T' as tipo ,t.tur_cupon as cupon ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,t.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, t.tur_impobs) as importe ,ISNULL(d.fac_neto, t.tur_impobs) ,ISNULL(t.tur_impart, 0) as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(tur_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,NULL,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t0 WHERE t0.pra_numero = t.tur_numero AND t0.compl_origen='T' AND t0.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t0.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM turnos t LEFT JOIN fac_deta d ON tur_numero = pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero ,obrasoc o ,medicos md ,clientes c WHERE ".$subSQL1." AND t.tur_asiste = 1 AND t.obs_Codigo = o.obs_codigo AND t.med_codigo = md.med_codigo AND t.cli_codigo = c.cli_codigo AND op_preliquida = 1 AND NOT EXISTS (SELECT 1 FROM op_imputacion i WHERE i.pra_numero = t.tur_numero) UNION ALL SELECT FORMAT(pra_fecha,'dd/MM/yyyy') as fecha ,pra_fecha as fechasf ,0 as hora ,p.pra_numero as pcod ,inos_cod as ino ,'P' as tipo ,obs_cupon as cupon ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,p.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, ISNULL(obs_imp,0) * ISNULL(p.pra_cant,0)) as importe ,ISNULL(d.fac_neto, ISNULL(obs_imp,0) * ISNULL(p.pra_cant,0)) ,ISNULL(pra_coseg,0) * ISNULL(p.pra_cant,0) as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(pra_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,qtu_numero ,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t1 WHERE t1.pra_numero = p.pra_numero AND t1.compl_origen='P' AND t1.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t1.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM practica p LEFT JOIN fac_deta d ON p.pra_numero = d.pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero ,clientes c ,medicos m ,obrasoc o WHERE ".$subSQL2." AND p.obs_Codigo = o.obs_codigo AND p.med_codigo = m.med_codigo AND p.cli_codigo = c.cli_codigo AND op_preliquida = 1 AND NOT EXISTS (SELECT 1 FROM op_imputacion i WHERE i.pra_numero = p.pra_numero) UNION ALL SELECT FORMAT(qui_fecha,'dd/MM/yyyy') as fecha ,qui_fecha as fechasf ,0 as hora ,p.pra_numero as pcod ,pra_codigo as ino ,'Q' as tipo ,qpr_cupon as cupon ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,t.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, ISNULL(qpr_importe,0) * ISNULL(p.qpr_cantidad,1)) as importe ,ISNULL(d.fac_neto, ISNULL(qpr_importe,0) * ISNULL(p.qpr_cantidad,1)) ,0 as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(qpr_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,NULL ,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t2 WHERE t2.pra_numero = p.pra_numero AND t2.compl_origen='Q' AND t2.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t2.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM quirofano_turnos_practicas p LEFT JOIN fac_deta d ON p.pra_numero = d.pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero, clientes c, medicos m, obrasoc o, quirofano_turnos t WHERE p.qtu_numero = t.qtu_numero ".$subSQL3." AND t.obs_Codigo = o.obs_codigo AND t.med_codigo = m.med_codigo AND t.cli_codigo = c.cli_codigo AND p.pra_numero IS NOT NULL AND op_preliquida = 1 AND NOT EXISTS (SELECT 1 FROM op_imputacion i WHERE i.pra_numero = p.pra_numero) ORDER BY 1,2,3"; //$sql_old = "SELECT ".$GLOBALS['N_RECORDS']." c.cli_codigo as cod //print_r($sql);die; $rs = $GLOBALS['dbSQL']->Query($sql); if ( $rs ) { $practicas = $GLOBALS['dbSQL']->getAll(); if( is_array($practicas)&&count($practicas)>0 ) { /*for($i=0,$t=count($clientes);$i<$t;$i++) { //Pagos $esp = array(); $pagoslst = getClientePagos($clientes[$i]["cod"]); if($pagoslst==EMPTY_LST) { $clientes[$i]["pglst"] = array(); } else { $clientes[$i]["pglst"] = $pagoslst; // print_r($esp);print_r("\n"); // print_r($esplst);print_r("\n"); // print_r($profesionales[$i]["esplst"]);die; } //Atenciones $grilla = getProfesionalSMIGrilla($profesionales[$i]["cod"]); if($esplst==EMPTY_LST) { $profesionales[$i]["gri"] = $esp; } else { $profesionales[$i]["gri"] = $grilla; } }*/ //print_r($clientes);die; return $practicas; } return EMPTY_LST; } } else { return EMPTY_LST; } return false; } function getListaPracticasPreliquidadesEnvios() { //print_r($_REQUEST);die("ttttt"); //,FORMAT(e.emp_alta,'dd/MM/yyyy') as falta $params = false; $flagMedico = false; if( isset($_REQUEST["med"])&&intval($_REQUEST["med"])!==(-1)) { $flagMedico = true; } $flagFecha = false; if( isset($_REQUEST["f_d"])&&intval($_REQUEST["f_d"])!==(-1) && isset($_REQUEST["f_h"])&&intval($_REQUEST["f_h"])!==(-1)) { $flagFecha = true; } $flagSegmed = false; if( isset($_REQUEST["segmed"])&&intval($_REQUEST["segmed"])!==(-1)) { $flagSegmed = true; } if($flagMedico&&$flagFecha&&$flagSegmed) { $params = ""; $rango = array(); $rango[0] = DateTime::createFromFormat('d/m/Y', $_REQUEST["f_d"]); $rango[1] = DateTime::createFromFormat('d/m/Y', $_REQUEST["f_h"]); $desde = date("Y-m-d",strtotime($rango[0]->format('Y-m-d'))); $hasta = date("Y-m-d",strtotime($rango[1]->format('Y-m-d'))); $subSQL = " (env.med_codigo = ".$_REQUEST["med"].") AND (env.obs_codigo = ".$_REQUEST["segmed"].") AND (LEFT(CONVERT(VARCHAR,compl_tmsp, 120), 10) BETWEEN LEFT(CONVERT(VARCHAR, '".$desde."', 120), 10) AND LEFT(CONVERT(VARCHAR, '".$hasta."', 120), 10))"; $sql = "SELECT TT.fecha,TT.sesion,TT.usu,0 as itemselected FROM ( SELECT FORMAT(env.compl_tmsp,'dd/MM/yyyy') as fecha ,compl_sesion as sesion ,e.emp_nombre as usu FROM com_prac_preliquidacion_envio as env LEFT JOIN empleado AS e ON e.emp_codigo = env.emp_codigo WHERE ".$subSQL.") AS TT GROUP BY sesion,fecha,usu ORDER BY TT.fecha DESC"; //$sql_old = "SELECT ".$GLOBALS['N_RECORDS']." c.cli_codigo as cod //print_r($sql);die; $rs = $GLOBALS['dbSQL']->Query($sql); if ( $rs ) { $envios = $GLOBALS['dbSQL']->getAll(); if( is_array($envios)&&count($envios)>0 ) { //print_r($clientes);die; return $envios; } return EMPTY_LST; } } else { return EMPTY_LST; } return false; } function getListaPracticasPreliquidadesEnviosDetalle($sesion=false) { //print_r($_REQUEST);die("ttttt"); //,FORMAT(e.emp_alta,'dd/MM/yyyy') as falta $params = false; $flagSesion = false; if( isset($_REQUEST["sesion"])&&intval($_REQUEST["sesion"])!==(-1)) { $flagSesion = true; } if($sesion) { $flagSesion = true; $_REQUEST["sesion"] = $sesion; } if($flagSesion) { $params = ""; $subSQL1 = " (t.tur_numero IN (SELECT pra_numero FROM com_prac_preliquidacion_envio WHERE compl_sesion = '".$_REQUEST["sesion"]."' AND compl_origen = 'T'))"; $subSQL2 = " (p.pra_numero IN (SELECT pra_numero FROM com_prac_preliquidacion_envio WHERE compl_sesion = '".$_REQUEST["sesion"]."' AND compl_origen = 'P'))"; $subSQL3 = " (p.pra_numero IN (SELECT pra_numero FROM com_prac_preliquidacion_envio WHERE compl_sesion = '".$_REQUEST["sesion"]."' AND compl_origen = 'Q'))"; $sql = " SELECT FORMAT(t.tur_fecha,'dd/MM/yyyy') as fecha ,t.tur_hora as hora ,t.tur_numero as pcod ,inos_cod as ino ,'T' as tipo ,t.tur_cupon as cupon ,t.med_codigo as medcod ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,t.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, t.tur_impobs) as importe ,ISNULL(d.fac_neto, t.tur_impobs) ,ISNULL(t.tur_impart, 0) as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(tur_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,NULL,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t0 WHERE t0.pra_numero = t.tur_numero AND t0.compl_origen='T' AND t0.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t0.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM turnos t LEFT JOIN fac_deta d ON tur_numero = pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero ,obrasoc o ,medicos md ,clientes c WHERE ".$subSQL1." AND t.tur_asiste = 1 AND t.obs_Codigo = o.obs_codigo AND t.med_codigo = md.med_codigo AND t.cli_codigo = c.cli_codigo UNION ALL SELECT FORMAT(pra_fecha,'dd/MM/yyyy') as fecha ,0 as hora ,p.pra_numero as pcod ,inos_cod as ino ,'P' as tipo ,obs_cupon as cupon ,p.med_codigo as medcod ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,p.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, ISNULL(obs_imp,0) * ISNULL(p.pra_cant,0)) as importe ,ISNULL(d.fac_neto, ISNULL(obs_imp,0) * ISNULL(p.pra_cant,0)) ,ISNULL(pra_coseg,0) * ISNULL(p.pra_cant,0) as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(pra_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,qtu_numero ,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t1 WHERE t1.pra_numero = p.pra_numero AND t1.compl_origen='P' AND t1.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t1.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM practica p LEFT JOIN fac_deta d ON p.pra_numero = d.pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero ,clientes c ,medicos m ,obrasoc o WHERE ".$subSQL2." AND p.obs_Codigo = o.obs_codigo AND p.med_codigo = m.med_codigo AND p.cli_codigo = c.cli_codigo UNION ALL SELECT FORMAT(qui_fecha,'dd/MM/yyyy') as fecha ,0 as hora ,p.pra_numero as pcod ,pra_codigo as ino ,'Q' as tipo ,qpr_cupon as cupon ,t.med_codigo as medcod ,c.cli_codigo as clicod ,c.cli_nombre as cliname ,t.obs_codigo as obscod ,obs_denom as obs ,ISNULL(d.fac_neto, ISNULL(qpr_importe,0) * ISNULL(p.qpr_cantidad,1)) as importe ,ISNULL(d.fac_neto, ISNULL(qpr_importe,0) * ISNULL(p.qpr_cantidad,1)) ,0 as coseg ,0 ,(tdc_abrev+RIGHT('0000' + CAST(d.fac_sede AS VARCHAR(4)), 4) + '-' + d.fac_letra + '-' + RIGHT('00000000' + CAST(d.fac_numero AS VARCHAR(8)), 8) ) AS FacComp ,ISNULL(qpr_exgr,0) as eg ,ISNULL(d.tdc_codigo,1) as tdc ,ISNULL(tdc_signo,1) as tdcs ,RIGHT('0000' + CAST(ci.cob_sede AS VARCHAR(4)), 4) + '-' + RIGHT('00000000' + CAST(ci.cob_numero AS VARCHAR(8)), 8) as cob ,NULL ,op_preliquida ,ISNULL((SELECT 1 FROM com_prac_preliquidacion_envio AS t2 WHERE t2.pra_numero = p.pra_numero AND t2.compl_origen='Q' AND t2.tdc_codigo=ISNULL(d.tdc_codigo,1) AND t2.tdc_signo=ISNULL(tdc_signo,1)),0) as env ,0 as flagpagado ,0 as itemselected FROM quirofano_turnos_practicas p LEFT JOIN fac_deta d ON p.pra_numero = d.pra_numero LEFT JOIN tipdoc td ON td.tdc_codigo = d.tdc_codigo LEFT JOIN cob_imputacion ci ON d.fac_sede = ci.fac_sede AND d.tdc_codigo = ci.tdc_codigo AND d.fac_letra = ci.fac_letra AND d.fac_numero = ci.fac_numero, clientes c, medicos m, obrasoc o, quirofano_turnos t WHERE p.qtu_numero = t.qtu_numero AND t.obs_Codigo = o.obs_codigo AND t.med_codigo = m.med_codigo AND t.cli_codigo = c.cli_codigo AND p.pra_numero IS NOT NULL AND ".$subSQL3." ORDER BY 1,2,3"; //print_r($sql);die; $rs = $GLOBALS['dbSQL']->Query($sql); if ( $rs ) { $envios = $GLOBALS['dbSQL']->getAll(); if( is_array($envios)&&count($envios)>0 ) { //print_r($clientes);die; return $envios; } return EMPTY_LST; } } else { return EMPTY_LST; } return false; } function saveEmailProfesionalPracticasPreliquidadas($lstPracticas,&$errorPoint=false,$usuario) { try { $values = ''; $sesion = randomText(15); $medico = $_REQUEST["med"]; $obs = $_REQUEST["segmed"]; for($i=0,$t=count($lstPracticas);$i<$t;$i++) { $origen = $lstPracticas[$i]["tipo"]; $practica = $lstPracticas[$i]["pcod"]; $tdc = $lstPracticas[$i]["tdc"]; $tdcs = $lstPracticas[$i]["tdcs"]; $cliente = $lstPracticas[$i]["clicod"]; $fecha = $lstPracticas[$i]["fechasf"]; $item = "( '".$practica."' ,'".$cliente."' ,'".$medico."' ,'".$obs."' ,'".$origen."' ,'".$tdc."' ,'".$tdcs."' ,'".$sesion."' ,'".$fecha."' ,0 ,0 ,'".$usuario."' ,GETDATE() )"; $sep=","; if($values==""){$sep="";} $values.= $sep.$item; } $sql = "INSERT INTO com_prac_preliquidacion_envio ( pra_numero ,cli_codigo ,med_codigo ,obs_codigo ,compl_origen ,tdc_codigo ,tdc_signo ,compl_sesion ,compl_fecha ,compl_estado ,compl_resultado ,emp_codigo ,compl_tmsp ) VALUES ". $values; //print_r($sql);print_r("\n"); $rs = $GLOBALS['dbSQL']->Query($sql,true); //$rs = true; if( !$rs ) { $errorPoint = 'Error al procesar el envío de la pre-liquidacion'; return false; //print_r('Rollback['.$res.']');print_r("\n"); //print_r('errorPoint['.$errorPoint.']');print_r("\n"); } return true; } catch ( Exception $e ) { $resultInfo['code'] = CODE_RESULT_ERROR_FATAL; $resultInfo['errorDes'] = "Error:".($e->__toString()); logTrace(debug_backtrace(),$e->__toString()); return false; } } function getListadoPracticasPreliquidar() { $lastPracticasSeleccioandas = array(); $lstPracticas = getListaPracticasPreliquidades(); if($lstPracticas!=EMPTY_LST) { $itemsSeleccionados = json_decode($_REQUEST["lsttur"],true); // print_r("---items");print_r("\n"); // print_r($lstPracticas);print_r("\n"); // print_r("---items sel");print_r("\n"); // print_r($itemsSeleccionados);print_r("\n");die; $total = count($lstPracticas); $totalSel = count($itemsSeleccionados); if($totalSel>0) { for($i=0;$i<$total;$i++) { $continue=true; for($k=0;$k<$totalSel&&$continue;$k++) { if( $lstPracticas[$i]["pcod"]==$itemsSeleccionados[$k]["p"] && $lstPracticas[$i]["tipo"]==$itemsSeleccionados[$k]["t"] && $lstPracticas[$i]["tdc"] ==$itemsSeleccionados[$k]["td"]&& $lstPracticas[$i]["tdcs"]==$itemsSeleccionados[$k]["tds"] ) { $x = array_push($lastPracticasSeleccioandas,$lstPracticas[$i]); $continue=false; } } } } } return $lastPracticasSeleccioandas; } function saveOPPreliquidacionToSend(&$resultInfo) { if( isset($_REQUEST["lstprac"]) && !empty($_REQUEST["lstprac"]) && !is_null($_REQUEST["lstprac"]) && isset($_REQUEST["token"]) && !is_null($_REQUEST["token"]) ) { $continue = true; //Validar el Token $tokenInfo = false; $result = false; $userId = false; $continue = Acl::validateToken($_REQUEST["token"],$tokenInfo,$result); if( $result == Acl::TOKEN_VALID ) { $userId = $tokenInfo->uid; $continue = true; } elseif( $result == Acl::TOKEN_EXPIRED ) { $defaultErrorMsj = 'SU SESION HA EXPIRADO. REINGRESE E INTENTE NUEVAMENTE'; $continue = false; $resultInfo['code'] = -1; $resultInfo['errorDes'] = "SU SESION HA EXPIRADO. REINGRESE E INTENTE NUEVAMENTE"; } else { $defaultErrorMsj = 'SU SESION HA EXPIRADO. REINGRESE E INTENTE NUEVAMENTE'; $continue = false; $resultInfo['code'] = -1; $resultInfo['errorDes'] = "SU SESION HA EXPIRADO. REINGRESE E INTENTE NUEVAMENTE"; } if($continue) { $errorPoint = false; $lstPracticas = getListadoPracticasPreliquidar(); $resultado = saveEmailProfesionalPracticasPreliquidadas($lstPracticas,$errorPoint,$userId); if ( !$resultado ) { $resultInfo['code'] = 2; $resultInfo['errorDes'] = $errorPoint; } else { $resultInfo['code'] = 0; $resultInfo['data'] = true; } } } else { $resultInfo['code'] = 1; $resultInfo['errorDes'] = "Parametros Faltantes"; } } function sendOPPreliquidacionEmail($listadoFacturas,$emaillst=false) { //---------------------------------------------- //Enviar email //---------------------------------------------- //$clienteInfo = $clienteInfo[0]["cli_email"]; //-----!!!!!!!----- //$email=$email;//TEST!!!! COMENTAR EN PRODUCCION $email="juarezgustavoa@gmail.com";//TEST!!!! COMENTAR EN PRODUCCION //-----!!!!!!!----- $listado=""; /*for($i=0,$t=count($listadoFacturas);$i<$t;$i++) { $item = $listadoFacturas[$i]["sede"]; $item.= " ".$listadoFacturas[$i]["nro"]; $item.= " ".$listadoFacturas[$i]["letra"]; $item.= " ".$listadoFacturas[$i]["cod"]; $item.= " ".$listadoFacturas[$i]["denom"]; $item.= " ".$listadoFacturas[$i]["cuit"]; $item.= " ".$listadoFacturas[$i]["vto"]; $item.= " ".$listadoFacturas[$i]["importe"]; $listado.=$item."
"; }*/ $paramsEmail = array(); $paramsEmail["email"] = $email; $paramsEmail["lst"] = encodeDataB64($listado); $paramsEmail["ini"] = $_REQUEST["fd"]; $paramsEmail["fin"] = $_REQUEST["fh"]; $paramsEmail["total"] = ($listadoFacturas!=''?0:count($listadoFacturas)); $paramsEmail["nombre"] = encodeDataB64("GERENCIA IFER"); //----------------------- //CREAR EL ADJUNTO //----------------------- if($listadoFacturas!='') { $headers = array( "Sede", "Numero", "Letra", "Pro.cod.", "Proveedor", "CUIT", "Fecha Vto.", "Importe $", ); $fileName = $_REQUEST["fname"]; flush(); $spreadsheet = new Spreadsheet(); $activeWorksheet = $spreadsheet->getActiveSheet(); for ($i = 0, $l = sizeof($headers); $i < $l; $i++) { $activeWorksheet->setCellValueByColumnAndRow($i + 1, 1, $headers[$i]); } for ($i = 0, $l = sizeof($listadoFacturas); $i < $l; $i++) { // row $i $j = 0; foreach ($listadoFacturas[$i] as $k => $v) { // column $j $activeWorksheet->setCellValueByColumnAndRow($j + 1, ($i + 1 + 1), $v); $j++; } } $writer = new Xlsx($spreadsheet); //ob_clean(); $writer->save("./repodownload/".$fileName); $paramsEmail["file64"] = base64_encode(file_get_contents($GLOBALS['HOST_BE'].'repodownload/'.$fileName)); $paramsEmail["filename"] = $fileName; } else { } //-------------------------------------- $paramsEmail["subject"] = "REPORTE FACTURAS CTO"; $paramsEmail['customer']= "a340e4bd594ea87bf22c565d838ffc39";//$GLOBALS['WS_WHATSAPP_CUSTOMER'];//SPIDER $paramsEmail['template']= 25; //OBTENER DE LA BASE $paramsEmail['tipo'] = 34; //ENVIO DE LISTADO DE FACTURAS CON VTO //grabarLogErrorAfip($paramsEmail,"ENVIAR_EMAIL_FAC","_enviar_email_params"); $paramsEmail["fromn"] = $GLOBALS['FROMN']; $paramsEmail["from"] = $GLOBALS['FROM']; //print_r($paramsEmail);die(" <<<<<<<<< "); $result = false; try { if($emaillst) { $lst = explode(";",$emaillst); for($i=0;$iQuery($sql); if ( $rs ) { $rs = $GLOBALS['dbSQL']->getAll(); if(intval($rs[0]["total"])>=1) { return true; // Hay un proceso activo de envio de mensajes } } return false; //No hay un preoceso activo de envio de mensajes } function openMessagesOPPreliqProgress() { $sql = " INSERT INTO [dbo].[mensajes_in_process] (msgprc_estado,msgprc_tstamp_init,msgprc_type) VALUES (NULL,GETDATE(),'EMAOPPL')"; $rs = $GLOBALS['dbSQL']->Query($sql,true); if ( $rs ) { return true; } return false; } function closeMessagesOPPreliqProgress() { $sql = " UPDATE [dbo].[mensajes_in_process] SET msgprc_estado = 1, msgprc_tstamp = GETDATE() WHERE msgprc_estado IS NULL AND msgprc_type = 'EMAOPPL'"; $rs = $GLOBALS['dbSQL']->Query($sql,true); if ( $rs ) { return true; } return false; } function processOPPreliqQueue() { //setTest(); closeMessagesOPPreliqProgress(); if(!isMessagesOPPreliqInProgress()) //if(true) { //Set in progress try { $debug='<>'."\n"; openMessagesOPPreliqProgress(); $lstMenssagesQueue = array(); $lstMesagesFlowQueue = array(); $flagPodUso=false; $fecha = date("Y-m-d"); $fechaProcesar = date('Y-m-d'); $empresa = getEmpresaInfo(); //DESTINATARIOS A PROCESAR $subSQL = " (env.compl_estado = 0)"; $sql = "SELECT TT.sesion FROM ( SELECT compl_sesion as sesion FROM com_prac_preliquidacion_envio as env WHERE ".$subSQL." )AS TT GROUP BY sesion"; //print_r($sql);die; $resultado = $GLOBALS['dbSQL']->Query($sql); if ( $resultado ) { $sesiones = $GLOBALS['dbSQL']->getAll(); $cantidadSesiones = count($sesiones); if( $cantidadSesiones > 0 ) { for($i=0;$i<$cantidadSesiones;$i++) { $infop = array( "emp" => $empresa ,"med" => '' ,"items"=> '' ); //obtener los items $lstItems = getListaPracticasPreliquidadesEnviosDetalle($sesiones[$i]["sesion"]); $infop["items"] = $lstItems; //Obtener info del profesional $sql = " SELECT med_codigo AS CodM ,med_nombre AS NomM ,med_email email FROM medicos AS m WHERE med_codigo = '".($lstItems[0]["medcod"])."'"; $rs = $GLOBALS['dbSQL']->Query($sql); if ( !$rs ) { //return false; } $medicoinfo = $GLOBALS['dbSQL']->getAll(); $infop["med"] = $medicoinfo; $resultInfo=false; //$lstEmailsQueue = array(); //$x=array_push($lstEmailsQueue,"juarezgustavoa@gmail"); $res = callWebServiceSendEmailRegular($infop,$resultInfo); } } else { //NO HAY TURNOS A PROCESAR print_r("NO SE ENCONRARON TURNOS PARA PROCESAR");print_r("\n"); } //saveDebugProcessCmp($debug); closeMessagesOPPreliqProgress(); } else { //print_r(">> !!ERROR AL BUSCAR DESTINATARIOS PENDIENTES");print_r("\n"); $debug.=">> !!ERROR AL BUSCAR DESTINATARIOS PENDIENTES"."\n"; //saveDebugProcessCmp($debug); closeMessagesOPPreliqProgress(); } } catch (Exception $e) { //saveDebugProcessCmp($e->__toString()); closeMessagesOPPreliqProgress(); } } else { //print_r("Envio en progreso. Se cancela hilo de ejecucion"); //saveDebugProcessCmp("Envio en progreso. Se cancela hilo de ejecucion"); } } // -------------------------------------------- ?>