Exemplo n.º 1
0
 /**
  * Descrição
  * @param type $matricula
  * @return \Anamnese
  */
 public function selectDadosAntropometricos($matricula)
 {
     $dadosAntropometricos = NULL;
     // Montar consulta.
     $sql = "SELECT nr_peso, nr_altura, nr_nivel_esporte " . "FROM tb_anamnese " . "WHERE nr_matricula = ?";
     $stmt = $this->conn->prepare($sql);
     // Parâmetros: tipos das entradas, entradas.
     $stmt->bind_param("i", $matricula);
     $resultStmt = $stmt->execute();
     $stmt->store_result();
     if ($resultStmt && $stmt->num_rows > 0) {
         $stmt->bind_result($peso, $altura, $nivelEsporte);
         $stmt->fetch();
         $dadosAntropometricos = new Anamnese();
         $dadosAntropometricos->setPeso($peso);
         $dadosAntropometricos->setAltura($altura);
         $dadosAntropometricos->setNivelEsporte($nivelEsporte);
     }
     $stmt->close();
     return $dadosAntropometricos;
 }
Exemplo n.º 2
0
/**
 * 
 * Calcular os Valores Calóricos Totais baseado no peso, altura, nível esportivo
 * e data de nascimento do entrevistado.
 * 
 * @param $anamnese
 * {
 *  "peso": [0-9].[0-9],
 *  "altura": [0-9].[0-9], {cm}
 *  "nivelEsporte": 1 | 2 | 3,
 *  "entrevistado":{
 *      "nascimento": "YYYY/MM/DD",
 *      "sexo" 'M' | 'F':
 *  }
 * }
 * 
 * @return $vct
 * {
 *  "valor":[0-9].[0-9],
 *  "anamnese":{
 *      "entrevistado":{
 *          "nascimento":"YYYY/MM/DD",
 *          "sexo":'M' | 'F'},
 *      "peso":[0-9].[0-9],
 *      "altura":[0-9].[0-9],
 *      "nivelEsporte": 1 | 2 | 3
 *  }
 * }
 */
function calcularVCT()
{
    $request = \Slim\Slim::getInstance()->request();
    $body = $request->getBody();
    $anamneseJson = json_decode($body);
    // Entrevistado
    $nascimento = $anamneseJson->entrevistado->nascimento;
    $sexo = strtoupper($anamneseJson->entrevistado->sexo);
    // Anamnese.
    $peso = $anamneseJson->peso;
    $altura = $anamneseJson->altura;
    $nivelEsporte = $anamneseJson->nivelEsporte;
    // Validação dos dados: peso, altura, nível esportivo, sexo, data de
    // nascimento.
    $validacao = VCTValidate::validate($peso, $altura, $nivelEsporte, $sexo, $nascimento);
    if ($validacao == VALIDO) {
        $anamnese = new Anamnese();
        $anamnese->setPeso($peso);
        $anamnese->setAltura($altura);
        $anamnese->setNivelEsporte($nivelEsporte);
        // Entrevistado
        $entrevistado = new Entrevistado();
        $entrevistado->setNascimento($nascimento);
        $entrevistado->setSexo($sexo);
        $anamnese->setEntrevistado($entrevistado);
        // Construir o JSON de resposta.
        $vct = VCTController::calculaVCT($anamnese);
        echoRespnse(HTTP_OK, $vct);
    } else {
        $erro = MapaErro::singleton()->getErro($validacao);
        echoRespnse(HTTP_REQUISICAO_INVALIDA, $erro);
    }
}