function fntRetornaExames($tipo) { if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) { $exames = new Exame(); $lista = $exames->ListaRecordSet($_SESSION['caso']); if ($lista != false && count($lista) > 0) { $html = Comuns::TopoTabelaListagem("", "tabExames", array(' ', 'Exame', 'Correto')); foreach ($lista as $exa) { $html .= '<tr>'; $html .= '<td><input type="checkbox" id="chk_' . $tipo . '_' . $exa->CodExame . '" class="item_arvore"></td>'; $html .= '<td><span id="spn_' . $tipo . '_' . $exa->CodExame . '">' . $exa->Descricao . '</span></td>'; $html .= '<td>' . SimNao::Descreve($exa->Correto) . '</td>'; $html .= '</tr>'; } $html .= "</tbody></table>"; return $html; } else { return "@lng[Nenhum exame cadastrado]"; } } else { return "@lng[Caso não encontrado]"; } }
function Main() { if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) { $u = unserialize($_SESSION['usu']); $menu = Menus::MenusConteudosExames(); $e = new Exame(); $c = new Conteudo(); //$rsbaterias = $e->ListaRecordSetBaterias($_SESSION['caso']); $rsexames = $e->ListaRecordSet($_SESSION['caso']); $rsconteudos = $c->ListaRecordSet($_SESSION['caso']); $javinculados = $e->ListaConteudosVinculados($_SESSION['caso']); $javinculados .= $e->ListaMidiasVinculados($_SESSION['caso']); // Opções das baterias if (count($rsexames) > 0) { $options = '<option value="">@lng[Selecione]</option>'; foreach ($rsexames as $item) { $options .= '<option value="' . base64_encode($item->CodExame) . '">' . $item->Descricao . '</option>'; } } else { $options .= '<option value="">@lng[Nenhum bateria encontrada]</option>'; } // Opções dos conteudos $numReg = 0; $optconteudos = '<option value="">@lng[Selecione]</option>'; if (!($rsconteudos === false)) { $optconteudos .= '<optgroup label="@lng[Hipertexto]">'; foreach ($rsconteudos as $item) { $numReg++; $optconteudos .= '<option value="C' . base64_encode($item->CodConteudo) . '">' . $item->Descricao . '</option>'; } $optconteudos .= '</optgroup>'; } $m = new Midia(); $m->setCodCaso($_SESSION['caso']); $rsconteudos = $m->ListaRecordSetPorTipo(Comuns::TIPO_MIDIA_DOCUMENTO); if (!($rsconteudos === false)) { $optconteudos .= '<optgroup label="@lng[Documentos]">'; foreach ($rsconteudos as $item) { $numReg++; $optconteudos .= '<option value="M' . base64_encode($item->CodMidia) . '">' . $item->Descricao . '</option>'; } $optconteudos .= '</optgroup>'; } $rsconteudos = $m->ListaRecordSetPorTipo(Comuns::TIPO_MIDIA_VIDEO); if (!($rsconteudos === false)) { $optconteudos .= '<optgroup label="@lng[Vídeo]">'; foreach ($rsconteudos as $item) { $numReg++; $optconteudos .= '<option value="M' . base64_encode($item->CodMidia) . '">' . $item->Descricao . '</option>'; } $optconteudos .= '</optgroup>'; } $rsconteudos = $m->ListaRecordSetPorTipo(Comuns::TIPO_MIDIA_IMAGEM); if (!($rsconteudos === false)) { $optconteudos .= '<optgroup label="@lng[Imagem]">'; foreach ($rsconteudos as $item) { $numReg++; $optconteudos .= '<option value="M' . base64_encode($item->CodMidia) . '">' . $item->Descricao . '</option>'; } $optconteudos .= '</optgroup>'; } $rsconteudos = $m->ListaRecordSetPorTipo(Comuns::TIPO_MIDIA_AUDIO); if (!($rsconteudos === false)) { $optconteudos .= '<optgroup label="@lng[Áudio]">'; foreach ($rsconteudos as $item) { $numReg++; $optconteudos .= '<option value="M' . base64_encode($item->CodMidia) . '">' . $item->Descricao . '</option>'; } $optconteudos .= '</optgroup>'; } if ($numReg == 0) { $optconteudos = '<option value="">@lng[Nenhum registro encontrado]</option>'; } $tpl = file_get_contents("tpl/frm-cad-cont-exames.html"); //$tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl); $tpl = str_replace("<!--itens-toolbar-->", $menu, $tpl); $tpl = str_replace("<!--selExames-->", $options, $tpl); $tpl = str_replace("<!--selConteudos-->", $optconteudos, $tpl); $tpl = str_replace("<!--jaVinculados-->", $javinculados, $tpl); //$tpl = str_replace("<!--caminho-->", Caminhos::MontaCaminhoExamesConteudos(), $tpl); echo $tpl; } else { echo "@lng[Caso de estudo não encontrado]"; } }
private function BuscaConteudoExames($prefixo, $chave, $tipocaso) { $hash = new HashTable(); $exa = new Exame(); $sql = "select ex.CodCaso "; $sql .= "\t\t,ex.NumBateria "; $sql .= "\t\t,ex.TipoRegistro "; $sql .= "\t\t,ex.Agrupado "; $sql .= "\t\t,case when ex.TipoRegistro = 1 then expg.Texto else concat('Resultados da ', ex.NumBateria, 'ª bateria de exames') end as Texto "; $sql .= "from mescasoexameschaves ex "; $sql .= "left join mescasoexamesperguntaguia expg "; $sql .= "\t\ton expg.CodCaso = ex.CodCaso and expg.NumBateria = ex.NumBateria "; $sql .= "where ex.CodCaso = :pCodCaso and chave = :pChave;"; $cnn = Conexao2::getInstance(); $cmd = $cnn->prepare($sql); $cmd->bindParam(":pCodCaso", $this->codigo, PDO::PARAM_INT); $cmd->bindParam(":pChave", $chave, PDO::PARAM_STR); $cmd->execute(); $rs = $cmd->fetch(PDO::FETCH_OBJ); $pergunta = $rs->Texto; $bateria = $rs->NumBateria; $tipoetapa = $rs->TipoRegistro; if ($tipoetapa == 1) { // É um teste... $exames = $exa->ListaRecordSet($this->codigo, $bateria, "S"); if (count($exames) > 0) { $conteudo .= '<div class="item-cont">' . $pergunta . "</div>"; $cont = 0; $conteudo .= '<div class="options">'; foreach ($exames as $reg) { $cont++; $conteudo .= '<div class="item-option"><label for="chkRespExa_' . $cont . '"><input type="checkbox" name="chkRespExa[]" id="chkRespExa_' . $cont . '" value="' . base64_encode($reg->CodExame) . '" onclick="javascript:fntMarcaDesmarca(\'chkRespExa_' . $cont . '\');" class="opcao-resposta" /> ' . $reg->Descricao . '</label></div>'; } $conteudo .= '</div>'; $conteudo .= '<div class="organizador"></div>'; $hash->AddItem("Obrigatorio", true); } else { $conteudo = "Erro"; } } else { // São os resultados //$exames = $exa->ListaRecordSet($this->codigo, $bateria); $sql = "select ex.CodCaso "; $sql .= "\t\t,ex.CodExame "; $sql .= "\t\t,ex.Descricao as Exame "; $sql .= "\t\t,ex.Laudo "; $sql .= "\t\t,te.Descricao as TipoExame "; $sql .= "\t\t,itens.descricao as Componente "; $sql .= "\t\t,case when (itens.tipoitem = 'vlr' and itens.descricao <> 0) then "; $sql .= "\t\t\t(select Descricao "; $sql .= "\t\t\t\tfrom mestipoexamecomponente comp "; $sql .= "\t\t\t\twhere comp.codexame = te.codigo "; $sql .= "\t\t\t\t and comp.codigo = itens.descricao) "; $sql .= "\t\t else null end as DescComponente "; $sql .= "\t\t,itens.TipoItem "; $sql .= "\t\t,itens.Valor "; $sql .= "\t\t,itens.Complemento "; $sql .= "from mescasoexameschaves exch "; $sql .= "inner join mescasoexames ex "; $sql .= "\t\ton ex.codcaso = exch.codcaso "; $sql .= "\t and ex.numbateria = exch.numbateria "; $sql .= "inner join mestipoexame te "; $sql .= "\t\ton te.Codigo = ex.Tipo "; $sql .= "inner join mescasoexamesitens itens "; $sql .= "\t\ton itens.codcaso = ex.codcaso "; $sql .= "\t and itens.codexame = ex.codexame "; $sql .= "where exch.CodCaso = :pCodCaso and exch.chave = :pCodChave "; $sql .= " and \t( "; $sql .= "\t\t\t(exch.Agrupado = 0 and ex.codexame = exch.codexame) "; $sql .= "\t\t\tor "; $sql .= "\t\t\t( "; $sql .= "\t\t\t\texch.Agrupado = 1 "; $sql .= "\t\t\t\tand "; $sql .= "\t\t\t\tex.codexame not in\t( "; $sql .= "\t\t\t\t\t\t\t\t\tselect distinct codexame "; $sql .= "\t\t\t\t\t\t\t\t\tfrom mescasoexameschaves exch2 "; $sql .= "\t\t\t\t\t\t\t\t\twhere exch2.codcaso = exch.codcaso "; $sql .= "\t\t\t\t\t\t\t\t\t and exch2.NumBateria = exch.NumBateria "; $sql .= "\t\t\t\t\t\t\t\t\t and exch2.Agrupado = 0 "; $sql .= "\t\t\t\t\t\t\t\t\t and exch2.CodExame <> -1 "; $sql .= "\t\t\t\t\t\t\t\t\t and exch2.TipoRegistro = 2 "; $sql .= "\t\t\t\t\t\t\t\t\t) "; $sql .= "\t\t\t) "; $sql .= "\t\t);"; $cnn = Conexao2::getInstance(); $cmd = $cnn->prepare($sql); $cmd->bindParam(":pCodCaso", $this->codigo, PDO::PARAM_INT); $cmd->bindParam(":pCodChave", $chave, PDO::PARAM_STR); $cmd->execute(); if ($cmd->errorCode() == Comuns::QUERY_OK) { if ($cmd->rowCount() > 0) { $conteudo = '<div class="item-cont">' . $pergunta . '</div>'; $conteudotab = ""; $conteudoimg = ""; $exameatual = ""; $cont = 1; while ($linha = $cmd->fetch(PDO::FETCH_OBJ)) { if ($linha->TipoItem == 'vlr') { if ($linha->CodExame != $exameatual) { if ($linha->Componente != 0) { $conteudotab .= '<tr class="linha-exame"><td colspan="2" class="tab-tipo-exame">' . $linha->Exame . '</td></tr>'; if ($linha->Laudo != null && $linha->Laudo != "") { $conteudotab .= '<tr class="linha-laudo"><td colspan="2" class="tab-laudo-exame"><strong>@lng[Laudo]</strong>: ' . $linha->Laudo . '</td></tr>'; } } else { $conteudotab .= '<tr class="tab-espacador"><td colspan="2"> </td></tr>'; } $exameatual = $linha->CodExame; } $conteudotab .= '<tr ' . ($linha->Componente != 0 ? 'class="linha-componente' . ($cont % 2 == 0 ? ' claro' : '') . '"' : 'class="linha-exame"') . '>'; $conteudotab .= ' <td ' . ($linha->Componente != 0 ? 'class="tab-tipo-componente"' : 'class="tab-tipo-exame"') . '>' . ($linha->Componente != 0 ? $linha->DescComponente : $linha->Exame) . '</td>'; $conteudotab .= ' <td ' . ($linha->Componente == 0 ? 'class="claro-resp"' : '') . '>' . $linha->Valor . '</td>'; $conteudotab .= '</tr>'; } else { if ($linha->TipoItem == 'img') { if ($exameatual != $linha->CodExame) { $conteudoimg .= '<div class="nome-exame"><strong>@lng[Exame:]</strong> ' . $linha->Exame . '</div>'; $conteudoimg .= '<div class="laudo-exame"><strong>@lng[Laudo:]</strong> ' . $linha->Laudo . '</div>'; $exameatual = $linha->CodExame; } $conteudoimg .= '<div class="resultado-exame-img">'; $conteudoimg .= ' <div class="exp-imagem">' . $linha->Componente . '</div>'; $conteudoimg .= ' <div class="img-exame-img">'; $conteudoimg .= ' <img src="' . $linha->Valor . '" alt="' . $linha->Componente . '" title="' . $linha->Componente . '" class="view-img-exame-img" />'; $conteudoimg .= ' </div>'; if ($linha->Complemento != null && $linha->Complemento != "") { $conteudoimg .= ' <div class="complemento-exame-img">' . $linha->Complemento . '</div>'; } $conteudoimg .= '</div>'; } } $cont++; } if ($conteudotab != "") { $conteudo .= '<table class="res-exame-tab">' . $conteudotab . '</table>'; } $conteudo .= $conteudoimg; } $hash->AddItem("Obrigatorio", false); } else { $msg = $cmd->errorInfo(); $conteudo = $msg[2]; } } if ($tipoetapa == 2) { $contanexados = $exa->ListaRecordSetConteudosVinculados($this->codigo, $chave); if ($contanexados !== false && count($contanexados) > 0) { $conteudo .= '<div class="caixa-saiba-mais">'; $conteudo .= ' <div class="titulo-saiba-mais">@lng[Saiba mais]</div><br />'; foreach ($contanexados as $ajuda) { $conteudo .= '<a href="javascript:void(0);" id="lnk-conteudo-' . $ajuda->CodConteudo . '" class="cor-avermelhada" onclick="javascript:fntApresentaConteudo(' . $ajuda->CodConteudo . ');">' . $ajuda->Descricao . '</a>'; $conteudo .= '<div id="mais-conteudo-' . $ajuda->CodConteudo . '" class="content-saiba-mais">' . $ajuda->Texto . '</div>'; } $conteudo .= '</div>'; } } $comandos = $this->MontaAcoesVisualizacaoCaso($prefixo, $tipocaso, $chave); $hash->AddItem("titulosecao", "Exames"); $hash->AddItem("conteudo", $conteudo); $hash->AddItem("menu", $comandos); return $hash; }