From 2db7a49d08aca71b21786939ace1d76a5f4137c4 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Wed, 22 Mar 2017 10:59:35 -0300
Subject: [PATCH] Add join to ethnic_group

---
 src/libs/routes/enrollment.js | 39 ++++++++---------------------------
 1 file changed, 9 insertions(+), 30 deletions(-)

diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js
index 2481892e..743a8443 100644
--- a/src/libs/routes/enrollment.js
+++ b/src/libs/routes/enrollment.js
@@ -241,13 +241,18 @@ rqf.addField({
     }
 }).addValue({
     name: 'ethnic_group',
-    table: 'matricula',
-    tableField: 'cor_raca',
-    resultField: 'ethnic_group_id',
+    table: 'cor_raca',
+    tableField: 'name',
+    resultField: 'ethnic_group_name',
     where: {
         relation: '=',
         type: 'integer',
-        field: 'ethnic_group_id'
+        field: 'id'
+    },
+    join: {
+        primary: 'id',
+        foreign: 'cor_raca_id',
+        foreignTable: 'matricula'
     }
 }).addValue({
     name: 'period',
@@ -290,32 +295,6 @@ enrollmentApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
             }
             delete result.gender_id;
         }
-        if(typeof result.ethnic_group_id !== 'undefined') {
-            switch (result.ethnic_group) {
-                case 0:
-                    result.ethnic_group_name = 'Não declarada';
-                    break;
-                case 1:
-                    result.ethnic_group_name = 'Branca';
-                    break;
-                case 2:
-                    result.ethnic_group_name = 'Preta';
-                    break;
-                case 3:
-                    result.ethnic_group_name = 'Parda';
-                    break;
-                case 4:
-                    result.ethnic_group_name = 'Amarela';
-                    break;
-                case 5:
-                    result.ethnic_group_name = 'Indígena';
-                    break;
-                default:
-                    result.ethnic_group_name = 'Não declarada';
-                    break;
-            }
-            delete result.ethnic_group_id;
-        }
         if(typeof result.period_id !== 'undefined') {
             switch (result.period_id) {
                 case 1:
-- 
GitLab