コード例 #1
0
ファイル: vaga.py プロジェクト: Vitordan5/API-Loading
    def filtrarVagaPeso(self, order, id):
        result = self.filtrarVaga(id)

        for c in result:
            query = "select candidato.nomeCandidato,candidato.emailCandidato,(6371 * acos(cos(radians({})) * cos(radians(candidato.latitudeCandidato)) * cos(radians({}) - radians(candidato.longitudeCandidato)) + sin(radians({})) * sin(radians(candidato.latitudeCandidato)) )) AS distance from candidato".format(
                c["latitudeVaga"], c["longitudeVaga"], c["latitudeVaga"])
            item = 1
            for x in c:
                if x == "idConhecimento":
                    if c["idConhecimento"] != None:
                        query = query + " inner join conhecimento on conhecimento.idConhecimento = {} inner join candidato_conhecimento on candidato_conhecimento.cpfCandidato = candidato.cpfCandidato and candidato_conhecimento.idConhecimento = conhecimento.idConhecimento".format(
                            c["idConhecimento"])
                if x == "idIdiomaVaga":
                    if c["idIdiomaVaga"] != None:
                        query = query + " inner join idioma on idioma.idIdioma = {} inner join candidato_idioma on candidato_idioma.cpfCandidato = candidato.cpfCandidato and candidato_idioma.idIdioma = idioma.idIdioma".format(
                            c["idIdiomaVaga"])
                if x == "nivelEscolaridade":
                    if c["nivelEscolaridade"] != None:
                        item = " where candidato.nivelEscolaridade = '{}'".format(
                            c["nivelEscolaridade"])
                        query = query + item
                        item = 0
                if x == "pcdVaga":
                    if c["pcdVaga"] != None:
                        if item == 0:
                            item = " and candidato.pcdCandidato = {}".format(
                                c["pcdVaga"])
                            query = query + item
                        else:
                            item = " where candidato.pcdCandidato = {}".format(
                                c["pcdVaga"])
                            query = query + item
                            print(query)
                if x == "vt":
                    if c["vt"] != None:
                        if c["vt"] == 0:
                            query = query + " having distance <= 3"
                        else:
                            query = query + " having distance > 3"

        for c in order["order"]:
            dd = []
            dd.append(c)
        dd = ','.join(dd)
        query = query + " order by " + dd
        print(query)

        print(query)
        database = DatabaseManager()
        result = database.Filtrar(query)
        return jsonify(result=result)
コード例 #2
0
ファイル: Candidato.py プロジェクト: Vitordan5/API-Loading
    def filtrarCandidato(self, latuser, longuser, vars):
        item = 1
        query = "select candidato.nomeCandidato,candidato.emailCandidato,(6371 * acos(cos(radians({})) * cos(radians(candidato.latitudeCandidato)) * cos(radians({}) - radians(candidato.longitudeCandidato)) + sin(radians({})) * sin(radians(candidato.latitudeCandidato)) )) AS distance from candidato".format(
            latuser, longuser, latuser)
        for x in vars:
            if x == "conhecimento":
                query = query + " inner join conhecimento on conhecimento.descConhecimento = '{}' inner join candidato_conhecimento on candidato_conhecimento.cpfCandidato = candidato.cpfCandidato and candidato_conhecimento.idConhecimento = conhecimento.idConhecimento".format(
                    vars[x])
            if x == "idioma":
                query = query + " inner join idioma on idioma.descIdioma = '{}' inner join candidato_idioma on candidato_idioma.cpfCandidato = candidato.cpfCandidato and candidato_idioma.idIdioma = idioma.idIdioma".format(
                    vars[x])
            order = []
            where = []
            if x == "nivelEsc":
                item = " where candidato.nivelEscolaridade = '{}'".format(
                    vars[x])
                item = 0
            if x == "pcd":
                if item == 0:
                    item = " and candidato.pcdCandidato = {}".format(c["pcd"])
                    query = query + item
                else:
                    item = " where candidato.pcdCandidato = {}".format(
                        c["pcd"])
                    query = query + item
                    print(query)
            if x == "vt":
                if vars[x] == 0:
                    query = query + " having distance <= 3"
                else:
                    query = query + " having distance > 3"
            if x == "order":
                for c in x:
                    order.append(vars[c][x])
                order = ','.join(order)
                query = query + "order by " + order

        database = DatabaseManager()
        result = database.Filtrar(query)
        print(result)
        return jsonify(result=result)
コード例 #3
0
ファイル: vaga.py プロジェクト: Vitordan5/API-Loading
 def listarVaga(self):
     query = "select * from vaga"
     database = DatabaseManager()
     result = database.Filtrar(query)
     return jsonify(result=result)
コード例 #4
0
ファイル: vaga.py プロジェクト: Vitordan5/API-Loading
 def filtrarVaga(self, id):
     query = "select * from vaga where idVaga = {}".format(id)
     database = DatabaseManager()
     result = database.Filtrar(query)
     return result
コード例 #5
0
ファイル: Candidato.py プロジェクト: Vitordan5/API-Loading
 def listaCandidato(self):
     database = DatabaseManager()
     query = "select * from candidato"
     result = database.Filtrar(query)
     return jsonify(result=result)