def api_casos_buscar_casos(): id_caso = request.args.get('q', type=str) if id_caso: _casos = Caso.query.filter(Caso.id.like(id_caso + '%')).filter( Caso.status.is_(True)).order_by(Caso.id).all() else: _casos = Caso.query.filter(Caso.status.is_(True)).order_by( Caso.id).limit(5).all() if not _casos: response = app.response_class(response=json.dumps({ 'id': 1, 'text': 'Não há casos cadastrados no sistema' }), status=200, mimetype='application/json') return response # Dados formatados para o select2 casos_clean = [{ 'id': _casos[i].id, 'text': 'Caso ' + str(_casos[i].id) } for i in range(0, len(_casos))] response = app.response_class(response=json.dumps({'results': casos_clean}), status=200, mimetype='application/json') return response
def api_casos_buscar_assistido(): termo = request.args.get('q', type=str) #Se nada for digitado, retornar os 5 assistidos mais recentes if termo: _assistidos = Atendido.query.join(Assistido).filter( or_(Atendido.cpf.like(termo + '%'), Atendido.cnpj.like(termo + '%'), Atendido.nome.like(termo + '%'))).filter( Atendido.status.is_(True)).order_by(Atendido.nome).all() else: _assistidos = Atendido.query.join(Assistido).filter( Atendido.status.is_(True)).order_by(Atendido.nome).limit(5).all() # Dados formatados para o select2 assistidos_clean = [{ 'id': assistido.id, 'text': assistido.nome, 'cpf': assistido.cpf, 'cnpj': assistido.cnpj } for assistido in _assistidos] response = app.response_class(response=json.dumps( {'results': assistidos_clean}), status=200, mimetype='application/json') return response
def api_relatorios_buscar_area_direito(): termo = request.args.get('q', type=str) areas_direito_clean = [] if not termo: areas_direito_clean = [{ 'id': assistencia_jud_areas_atendidas[area][0], 'text': assistencia_jud_areas_atendidas[area][1] } for area in assistencia_jud_areas_atendidas] else: area_direito_front = {} for area in assistencia_jud_areas_atendidas: if (termo in assistencia_jud_areas_atendidas[area][1]) or (termo in area): area_direito_front[area] = assistencia_jud_areas_atendidas[ area][1] areas_direito_clean = [{ 'id': assistencia_jud_areas_atendidas[area][0], 'text': area_direito_front[area] } for area in area_direito_front] response = app.response_class(response=json.dumps( {'results': areas_direito_clean}), status=200, mimetype='application/json') return response
def api_relatorios_buscar_estagiarios(): termo = request.args.get('q', type=str) #Se nada for digitado, retornar os 5 assistidos mais recentes if termo: estagiarios = Usuario.query.filter( Usuario.status and Usuario.urole == usuario_urole_roles['ESTAGIARIO_DIREITO'][0]).filter( Usuario.nome.like(termo + '%')).order_by(Usuario.nome).all() else: estagiarios = Usuario.query.filter( Usuario.status and Usuario.urole == usuario_urole_roles['ESTAGIARIO_DIREITO'][0]).order_by( Usuario.nome).limit(5).all() # Dados formatados para o select2 estagiarios_clean = [{ 'id': estagiario.id, 'text': estagiario.nome } for estagiario in estagiarios] response = app.response_class(response=json.dumps( {'results': estagiarios_clean}), status=200, mimetype='application/json') return response
def ajax_multiselect_associa_aj_oj(orientacao_id): q = request.args.get('q') if q == None: resultado_json = {"results": []} else: orientacao_juridica = OrientacaoJuridica.query.filter_by(id=orientacao_id).first() relacoes_aj_oj = (db.session.query(AssistenciaJudiciaria_xOrientacaoJuridica.id_assistenciaJudiciaria) .filter_by(id_orientacaoJuridica = orientacao_juridica.id) .all()) relacoes_aj_oj = [x[0] for x in relacoes_aj_oj] assistencias_judiciarias = (AssistenciaJudiciaria.query .filter(AssistenciaJudiciaria.areas_atendidas.contains(orientacao_juridica.area_direito) & AssistenciaJudiciaria.nome.contains(q) & (AssistenciaJudiciaria.status == True) & (~AssistenciaJudiciaria.id.in_(relacoes_aj_oj))) .all()) resultado_json = {"results": [{"id": aj.id, "text": aj.nome} for aj in assistencias_judiciarias]} response = app.response_class( response = json.dumps(resultado_json), status = 200, mimetype = 'application/json' ) return response
def api_casos_buscar_roteiro(): termo = request.args.get('termo', type=str) if termo: _roteiro = Roteiro.query.filter_by(area_direito=termo).first() if _roteiro: roteiro_clean = {'link': _roteiro.link} else: roteiro_clean = {'link': ''} else: roteiro_clean = {'link': ''} response = app.response_class(response=json.dumps(roteiro_clean), status=200, mimetype='application/json') return response
def api_casos_buscar_colaborador(): termo = request.args.get('q', type=str) if termo: _usuarios = Usuario.query.filter(Usuario.nome.like(termo+'%')).filter(Usuario.status.is_(True)).filter_by(urole = 'colab_ext').order_by(Usuario.nome).all() else: _usuarios = Usuario.query.filter(Usuario.status.is_(True)).filter_by(urole = 'colab_ext').order_by(Usuario.nome).limit(5).all() # Dados formatados para o select2 usuarios_clean = [{'id':usuario.id, 'text':usuario.nome} for usuario in _usuarios] response = app.response_class( response = json.dumps({'results':usuarios_clean}), status = 200, mimetype = 'application/json' ) return response
def busca_assistencia_judiciaria(_busca): page = request.args.get('page', 1, type=int) if _busca is None: assistencias = db.session.query(AssistenciaJudiciaria).filter_by(status = True).order_by(AssistenciaJudiciaria.nome.asc()).paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False) else: assistencias = (db.session .query(AssistenciaJudiciaria) .filter(AssistenciaJudiciaria.nome.contains(_busca) & (AssistenciaJudiciaria.status == True)) .order_by(AssistenciaJudiciaria.nome.asc()) .paginate(page, app.config['ATENDIDOS_POR_PAGINA'], False)) result = [] for item in assistencias.items: result.append(item) response = app.response_class( response = json.dumps(serializar(result)), status = 200, mimetype = 'application/json' ) return response