예제 #1
0
function fntSalvaResultadoExame()
{
    if (isset($_SESSION['caso']) && $_SESSION['caso'] != 0) {
        if (isset($_SESSION['exame']) && $_SESSION['exame'] > 0) {
            $e = new Exame();
            $e->setCodcaso($_SESSION['caso']);
            $e->setCodexame($_SESSION['exame']);
            foreach ($_POST as $campo => $valor) {
                if (substr($campo, 0, 8) == "txtValRe") {
                    $componente = split("_", $campo);
                    $componente = $componente[1];
                    $resultado = $valor;
                    $observacao = $_POST["txtObsRe_" . $componente];
                    $observacao = $observacao == "" ? null : $observacao;
                    $ret = $e->SalvaResultados($componente, $resultado, $observacao);
                    if ($ret == false) {
                        throw new Exception(Comuns::Idioma("@lng[Erro ao gravar resultados do exame.] " . $e->getErro()), 1234);
                    }
                } else {
                    if (substr($campo, 0, 8) == "txtLaudo") {
                        $e->setLaudo($valor);
                        $ret = $e->SalvaLaudo();
                        if ($ret == false) {
                            throw new Exception(Comuns::Idioma("@lng[Erro ao salvar o laudo do exame.] " . $e->getErro()), 1235);
                        }
                    }
                }
            }
        } else {
            throw new Exception(Comuns::Idioma("@lng[Exame não selecionado]"), 1005);
        }
    } else {
        throw new Exception(Comuns::Idioma("@lng[Caso não encontrado]"), 1003);
    }
}