From 31a96f7e37bab58a58472efd37f52285000952e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Sun, 10 Apr 2022 20:28:42 -0300 Subject: [PATCH] =?UTF-8?q?Adicionar=20busca=20por=20orgaosGestoresTitular?= =?UTF-8?q?es=20na=20importa=C3=A7=C3=A3o=20de=20conv=C3=AAnios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0019_gescon_orgaos_gestores.py | 20 +++++++++++++++ sigi/apps/convenios/models.py | 25 +++++++++++++++---- 2 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 sigi/apps/convenios/migrations/0019_gescon_orgaos_gestores.py diff --git a/sigi/apps/convenios/migrations/0019_gescon_orgaos_gestores.py b/sigi/apps/convenios/migrations/0019_gescon_orgaos_gestores.py new file mode 100644 index 0000000..21267eb --- /dev/null +++ b/sigi/apps/convenios/migrations/0019_gescon_orgaos_gestores.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('convenios', '0018_auto_20211208_1256'), + ] + + operations = [ + migrations.AddField( + model_name='gescon', + name='orgaos_gestores', + field=models.TextField(default='SCCO', help_text='Siglas de \xf3rg\xe3os gestores que devem aparecer no campoORGAOSGESTORESTITULARES', verbose_name='\xd3rg\xe3os gestores'), + preserve_default=True, + ), + ] diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py index 7e69675..fb2c532 100644 --- a/sigi/apps/convenios/models.py +++ b/sigi/apps/convenios/models.py @@ -421,6 +421,15 @@ class Gescon(models.Model): u"
  • Ocorrendo qualquer uma das palavras, o contrato será " u"importado.
  • ") ) + orgaos_gestores = models.TextField( + _(u"Órgãos gestores"), + default=u"SCCO", + help_text=_(u"Siglas de órgãos gestores que devem aparecer no campo" + u"ORGAOSGESTORESTITULARES" + u"") + ) email = models.EmailField( _(u"E-mail"), help_text=_(u"Caixa de e-mail para onde o relatório diário de " @@ -475,9 +484,10 @@ class Gescon(models.Model): ) ) - if self.palavras == "": - self.add_message(_(u"Nenhuma palavra de pesquisa definida - " - u"processo abortado."), True) + if self.palavras == "" or self.orgaos_gestores == "": + self.add_message(_(u"Nenhuma palavra de pesquisa ou orgãos " + u"gestores definidos - processo abortado."), + True) return if self.subespecies == "": @@ -497,6 +507,7 @@ class Gescon(models.Model): return palavras = self.palavras.split() + orgaos = self.orgaos_gestores.split() subespecies = {tuple(s.split("=")) for s in self.subespecies.split()} for sigla_gescon, sigla_sigi in subespecies: @@ -537,9 +548,13 @@ class Gescon(models.Model): contratos = response.json() # Pegar só os contratos que possuem alguma das palavras-chave - + # ou algum dos órgaos gestores + import ipdb; ipdb.set_trace() nossos = [c for c in contratos - if any(palavra in c['objeto'] for palavra in palavras)] + if any(palavra in c['objeto'] for palavra in palavras) or + any(orgao in c['orgaosGestoresTitulares'] + for orgao in orgaos + if c['orgaosGestoresTitulares'] is not None)] self.add_message( _(u"\t{count} contratos encontrados no Gescon").format(