예제 #1
0
function TratarDadosExamesDlg()
{
    $dados = new HashTable();
    if (isset($_SESSION['caso']) && $_SESSION['caso'] != 0) {
        $e = new Exame();
        $tiporesp = Caso::BuscaConfiguracao($_SESSION['caso'], "exames", "TipoResp");
        if ($_POST['r'] != "") {
            $codexame = base64_decode($_POST['r']);
            $_SESSION['exame'] = $codexame;
            $e->Carrega($_SESSION['caso'], $codexame);
            $dados->AddItem("txtDescricao", $e->getDescricao());
            $dados->AddItem("selTipoExame", TipoExame::RetornaSelect($e->getTipo()));
            $dados->AddItem("txtBateria", $e->getBateria());
            $dados->AddItem("txtJustificativa", $e->getJustificativa());
            $dados->AddItem("txtAdicional", $e->getConteudoadicional());
            $dados->AddItem("divRelacoes", $e->ListaRelacoesExame($_SESSION['caso'], $codexame));
            $dados->AddItem("selMostraQuando", MostraQuando::SelectMostraQuando($e->getMostraQuando()));
            $dados->AddItem("chkMostraIsolado", $e->getMostrarAgrupado() == 0 ? "1" : "0");
            if ($tiporesp == "CE") {
                $dados->AddItem("selCorreto", SimNao::SelectSimNao($e->getCorreto()));
            } else {
                if ($tiporesp == "ORD") {
                    $n = $e->getNExames();
                    $opcoes = SelectNumerico::MontaSelect($n, 1, "@lng[Selecione]", $e->getCorreto());
                    $dados->AddItem("selCorreto", $opcoes);
                }
            }
        } else {
            $_SESSION['exame'] = 0;
            $dados->AddItem("txtDescricao", "");
            $dados->AddItem("selTipoExame", TipoExame::RetornaSelect());
            $dados->AddItem("txtBateria", "1");
            $dados->AddItem("txtJustificativa", "");
            $dados->AddItem("txtAdicional", "");
            $dados->AddItem("divRelacoes", $e->ListaRelacoesExame($_SESSION['caso'], 0));
            $dados->AddItem("selMostraQuando", MostraQuando::SelectMostraQuando());
            $dados->AddItem("chkMostraIsolado", "0");
            if ($tiporesp == "CE") {
                $dados->AddItem("selCorreto", SimNao::SelectSimNao());
            } else {
                $e->setCodcaso($_SESSION['caso']);
                $n = $e->getNExames() + 1;
                $dados->AddItem("selCorreto", SelectNumerico::MontaSelect($n, 1, "@lng[Selecione]"));
            }
        }
        return $dados->ToXML();
    } else {
        return "@lng[Erro ao localizar o caso de estudo]";
    }
}