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; }