diff --git a/api-payroll/src/application/EmployeeApplication.php b/api-payroll/src/application/EmployeeApplication.php index de8652b..4368015 100644 --- a/api-payroll/src/application/EmployeeApplication.php +++ b/api-payroll/src/application/EmployeeApplication.php @@ -150,5 +150,29 @@ class EmployeeApplication{ return $response; } + + /** + * @param $code + * @return mixed + */ + function getIdEmployeeTypeByCode($code){ + $stmt = $this->pdo->prepare("SELECT COALESCE((SELECT + et.id + FROM + employees e + INNER JOIN + employeeType et ON et.id = e.idEmployeeType + WHERE + e.code = :code), 0) AS id"); + + $stmt->execute(array(':code' => $code)); + $results = $stmt->fetchAll(); + if(!$results){ + exit($this->databaseSelectQueryErrorMessage); + } + $stmt = null; + + return $results[0]['id']; + } } ?> \ No newline at end of file diff --git a/api-payroll/src/routes.php b/api-payroll/src/routes.php index 97df0fe..6d91c0d 100644 --- a/api-payroll/src/routes.php +++ b/api-payroll/src/routes.php @@ -48,3 +48,11 @@ $app->post('/api/employee', function ($request, $response) { ->withHeader('Content-Type', 'application/json') ->write(json_encode($this->employeeApplication->saveNewEmployee($requestData))); }); + +$app->get('/api/employee/type/{code}', function (Request $request, Response $response, array $args) { + $code = $args['code']; + + return $response->withStatus(200) + ->withHeader('Content-Type', 'application/json') + ->write(json_encode($this->employeeApplication->getIdEmployeeTypeByCode($code))); +});