/** * 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; }
/** * * 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); } }