public function listar() { $template = new Template(); $str = " WHERE 1 = 1 "; $dataini = Formatacao::datatosql($_GET['dataini']) . ' 00:00'; $datafim = Formatacao::datatosql($_GET['datafim']) . ' 23:59'; if ($_GET['nome']) { $str .= " AND evento_nome like '%{$_GET['nome']}%'"; } if ($_GET['dataini']) { $str .= " AND evento_datainicio >= '{$dataini}'"; } if ($_GET['datafim']) { $str .= " AND evento_datainicio <= '{$datafim}'"; } if ($_GET['tipo']) { $str .= " AND tipoevento.tipoevento_id = {$_GET['tipo']} "; } $template->assignParam('objetos', Evento::listar($str)); return $template->render("evento/listar.phtml"); }
if ($_POST[form] == "ok"){ $data_cadastro = date("Y-m-d H:i:s"); $con = new Convenio($_POST["con_id"]); $hos = new Hospital($con->get("hos_id")); $exa = new Exame($_POST["exa_id"]); $o->set("hos_id" , $con->get("hos_id")); $o->set("con_id" , $_POST["con_id"]); $o->set("exa_id" , $_POST["exa_id"]); $o->set("int_status" , "nao_interpretado"); $o->set("int_data_cadastro" , $data_cadastro); $o->set("int_paciente_nome" , $_POST["int_paciente_nome"]); $o->set("int_paciente_sexo" , $_POST["int_paciente_sexo"]); $o->set("int_paciente_nascimento" , Formatacao::formatData($_POST["int_paciente_nascimento"])); $o->set("int_paciente_prontuario" , $_POST["int_paciente_prontuario"]); $o->set("int_opcional" , $_POST["int_opcional"]); $o->set("int_tecnico_rx" , $_POST["int_tecnico_rx"]); $o->set("int_requisitante" , $_POST["int_requisitante"]); $valor_absoluto = $exa->getValorAbsoluto($_POST["con_id"]); $valor_contraste = $exa->getValorContraste($_POST["con_id"]); $ch = $exa->getCh($_POST["con_id"]); $filme = $exa->getFilme($_POST["con_id"]); $valor_ch = $con->get("con_valor_ch"); $valor_filme = $con->get("con_valor_filme"); $o->set("int_percentual" , $hos->get("hos_percentual")); $o->set("int_valor_absoluto" , $valor_absoluto); $o->set("int_valor_contraste" , $valor_contraste);
/** * validação de numeros com casas decimais * * @param mixed $var numero a ser validado. * @return bool. * */ function isFloat4($var){ $var = Formatacao::formatFloat4($var); return ereg('^[\+-]{0,1}[0-9]+(\.[0-9]+){0,1}$', trim(strval($var))); }
/** * Faz a depuração do valor para um arquivo de texto. * Se o arquivo não existir, ele é criado. Se ele já existir, o arquivo é aberto. * * @access public * @static * @param string $arquivo Endereço físico do arquivo. * @param string $valor Valor a ser depurado. * @param boolean $append Indica se o arquivo deve ser aberto para anexação (preservando * o conteúdo existente) ou não (o arquivo é apagado antes da escrita dos dados). * @param boolean $interromperScript Indica se o script deve ser interrompido após * a exibição do valor. */ public static function arquivoRaw($arquivo, $valor, $append = false, $interromperScript = false) { $fp = $append ? fopen($arquivo, 'a+') : fopen($arquivo, 'w+'); fwrite($fp, Formatacao::raw($valor)); fclose($fp); if ($interromperScript) { exit; } }
/** * gera um pdf dos laudos * * @param array $r */ function pdfLaudos($rs){ //error_reporting(E_ALL); set_time_limit(1800); include 'lib/php/classes/class.ezpdf.php'; $pdf = new Cezpdf('a4','portrait'); $pdf -> ezSetMargins(50,70,50,50); $all = $pdf->openObject(); $pdf->saveState(); $pdf->setStrokeColor(0,0,0,1); $pdf->restoreState(); $pdf->closeObject(); $pdf->addObject($all,'all'); $mainFont = './fonts/Courier.afm'; $codeFont = './fonts/Courier.afm'; $pdf->selectFont($mainFont); $n_rows = sizeof($rs); $c = 0; $t=945; $fator = 25; foreach($rs as $id => $r){ $o = new Interpretacao($r["int_id"]); $hos = new Hospital($o->get("hos_id")); $hos_nome = $hos->get("hos_nome"); $con = new Convenio($o->get("con_id")); $con_nome = $con->get("con_nome"); $exa = new Exame($o->get("exa_id")); $exa_nome = $exa->get("exa_nome"); $pdf->ezText($hos_nome,18,array('justification'=>'center')); $pdf->ezText(" ",20,array('justification'=>'left')); $pdf->ezText("PACIENTE : ".$r["int_paciente_prontuario"]." ".$r["int_paciente_nome"],10,array('justification'=>'left')); if ($r["int_paciente_nascimento"] == "0000-00-00") $pdf->ezText("NASCIMENTO : SEXO: ".$r["int_paciente_sexo"],10,array('justification'=>'left')); else $pdf->ezText("NASCIMENTO : ".Formatacao::formatBrData($r["int_paciente_nascimento"])." SEXO: ".$r["int_paciente_sexo"],10,array('justification'=>'left')); $pdf->ezText("CONVÊNIO : ".$con_nome,10,array('justification'=>'left')); $pdf->ezText("EXAME : ".$exa_nome,10,array('justification'=>'left')); $pdf->ezText(" ",20,array('justification'=>'left')); $pdf->ezText(" DATA: ".Formatacao::formatBrDataHoraminSeg($r["int_data_interpretacao"]),10,array('justification'=>'left')); $pdf->ezText("N DO EXAME : ".$r["int_opcional"],10,array('justification'=>'left')); $pdf->ezText("MÉDICO REQUISITANTE : ".$r["int_requisitante"],10,array('justification'=>'left')); $pdf->ezText("EXAME INTERPRETADO POR : 9679 Ernesto Sousa Nunes",10,array('justification'=>'left')); $pdf->ezText("TÉCNICO RX : ".$r["int_tecnico_rx"],10,array('justification'=>'left')); $pdf->ezText(" ",20,array('justification'=>'left')); $pdf->ezText("I N T E R P R E T A Ç Ã O",18,array('justification'=>'center')); $pdf->ezText(" ",20,array('justification'=>'left')); $vet_txt = split("\n",$r["int_texto"]); $pdf->ezText("============================================================================",10,array('justification'=>'left')); $pdf->ezText(" ",8,array('justification'=>'left')); foreach($vet_txt as $linha){ $pdf->ezText(" ".$linha,10,array('justification'=>'left')); } $pdf->ezText(" ",8,array('justification'=>'left')); $pdf->ezText("============================================================================",10,array('justification'=>'left')); $pdf->ezText(" Exame interpretado por: 9676 - Dr. Ernesto Sousa Nunes",10,array('justification'=>'left')); $pdf->addJpegFromFile('ass.jpg',250, 0); $pdf->openHere('Fit'); if ($c+1 < $n_rows) $pdf->ezNewPage(); $c++; $o->informaImpressao(); //$sql = "update laudo set LAU_DATA_EXPORTACAO = now() where LAU_ID = ".$r["LAU_ID"]." LIMIT 1"; //$up = mysql_query($sql, $db) or die(mysql_error()); } $pdfcode = $pdf->Output(); //$pdfcode = str_replace("\n","\n<br>",htmlspecialchars($pdfcode)); //$cont = trim($pdfcode); $fh = fopen("laudos_prontos.pdf", 'w+'); fwrite($fh, $pdfcode); fclose($fh); ?><script language="javascript">document.location.href="laudos_prontos.pdf";</script><? }
/** * realiza descontos nos valoes dos exames deste convenio de acordo com outro convênio * * @param string $desconto * @param string $convenio_origem */ function descontaValores($desconto, $convenio_origem){ if (($convenio_origem != $this->get("con_id")) && ($convenio_origem != "") && (floatval(Formatacao::formatFloat($desconto)) > 0)){ $desconto = Formatacao::formatFloat($desconto); $sql = "select * from valor_exame where con_id = ".$this->get("con_id"); $rs = Db::sql($sql, "convenio::descontaValores() - busca todos os valores do convenio que sofrerá o desconto."); if (mysql_num_rows($rs)){ $exames_convenio_origem_equivalentes = "0"; //para cada valor existente, ele buscará o valor do mesmo exame no convenio de origem para aplicar o desconto while ($r = mysql_fetch_assoc($rs)){ $sql = "select * from valor_exame where con_id = ".$convenio_origem." and exa_id = ".$r["exa_id"]." and vex_valor_absoluto > 0 limit 1"; $rs2 = Db::sql($sql, "convenio::descontaValores() - busca o valor do convenio base para cada exame do convenio que sofrerá o desconto"); if (mysql_num_rows($rs2)){ $r2 = mysql_fetch_assoc($rs2); $sql = "update valor_exame set vex_valor_absoluto = ((".$r2["vex_valor_absoluto"].") - ((".$r2["vex_valor_absoluto"]." * ".$desconto.") / 100) ) where exa_id = ".$r["exa_id"]." and con_id = ".$this->get("con_id")." and vex_valor_absoluto > 0"; $upd = Db::sql($sql, "convenio::descontaValores() - aplica o desconto no convênio"); $exames_convenio_origem_equivalentes .= ",".$r2["vex_id"]; } } //depois de aplicar o desconto nos exames que existem nos dosi convênios, realiza uma busca nos exames existentes somente no convenio de origem, inserindo o valor com desconto para o convênio atual $sql = "select * from valor_exame where con_id = ".$convenio_origem." and vex_valor > 0 and vex_id not in (".$exames_convenio_origem_equivalentes.")"; $rs = Db::sql($sql, "convenio::descontaValores() - busca os valores de exames que so existem no convenio de origem"); while ($r = mysql_fetch_assoc($rs)){ $sql = "insert into valor_exame (vex_valor_absoluto, exa_id, con_id) values (((".$r["vex_valor_absoluto"].") - ((".$r["vex_valor_absoluto"]." * ".$desconto.") / 100) ),".$r["exa_id"].",".$this->get("con_id").")"; $upd = Db::sql($sql, "convenio::descontaValores() - aplica o desconto no convênio"); } } else { //esta rotina acontecerá caso o convenio alvo não possua nenhum valor de exame //busca todos o valores de exames do convenio de origem e insere no conveni alvo, aplicando o desconto. $sql = "select * from valor_exame where con_id = ".$convenio_origem." and vex_valor_absoluto > 0"; $rs = Db::sql($sql, "convenio::descontaValores() - busca os valores de exames do convenio de origem"); while ($r = mysql_fetch_assoc($rs)){ $sql = "insert into valor_exame (vex_valor_absoluto, exa_id, con_id) values (((".$r["vex_valor_absoluto"].") - ((".$r["vex_valor_absoluto"]." * ".$desconto.") / 100) ),".$r["exa_id"].",".$this->get("con_id").")"; $upd = Db::sql($sql, "convenio::descontaValores() - aplica o desconto no convênio"); } } } }
/** * formatacao de numeros float 1000.1512 para decimal 1.000,1512 * * @param string $s numero a ser formatado. * @return string. * */ function formatFloat4ToDecimal4($s) { if (substr($s,0,1) == "-"){ $add = "-"; $s=str_replace("-","",$s); } $s=str_replace(".","",Formatacao::dddd($s)); ////echo $s."<br><br>"; $t = strlen($s); //echo $t."<br><br>"; $a = $t; $a--; //echo $a."<br><br>"; $novopreco = ""; for($i=0; $i<=$t-1; $i++) { $x = $s{$i}; $novopreco .= $x; //echo $x."<br>"; if ($i==$a-4) $novopreco.=","; if ($i==$a-7) $novopreco.="."; if ($i==$a-10) $novopreco.="."; if ($i==$a-12) $novopreco.="."; if ($i==$a-16) $novopreco.="."; if ($i==$a-19) $novopreco.="."; if ($i==$a-22) $novopreco.="."; } return($add.$novopreco); }