Skip to content

Commit

Permalink
Merge pull request #2687 from prefeiturasp/hotfix/8.18.1
Browse files Browse the repository at this point in the history
Hotfix/8.18.1
  • Loading branch information
rayanemsantos authored Feb 16, 2024
2 parents d344737 + e3b9faa commit d17e5d7
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 29 deletions.
2 changes: 1 addition & 1 deletion sme_ptrf_apps/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "8.18.0"
__version__ = "8.18.1"

__version_info__ = tuple(
[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,19 @@
logger = logging.getLogger(__name__)

CABECALHO = [
('Código EOL', 'associacao__unidade__codigo_eol'),
('Nome Unidade', 'associacao__unidade__nome'),
('Nome Associação', 'associacao__nome'),
('Referência do Período da PC', 'periodo__referencia'),
('Status da PC', 'status'),
('Descrição do motivo aprovação com ressalvas', 'motivos_aprovacao_ressalva'),
('Recomendações da aprovação com resalvas', 'recomendacoes'),
('Descrição do motivo de reprovação', 'motivos_reprovacao'),
],
('Código EOL', 'associacao__unidade__codigo_eol'),
('Nome Unidade', 'associacao__unidade__nome'),
('Nome Associação', 'associacao__nome'),
('Referência do Período da PC', 'periodo__referencia'),
('Status da PC', 'status'),
('Descrição do motivo aprovação com ressalvas', 'motivos_aprovacao_ressalva'),
('Recomendações da aprovação com resalvas', 'recomendacoes'),
('Descrição do motivo de reprovação', 'motivos_reprovacao'),
],


class ExportacoesStatusPrestacoesContaService:

def __init__(self, **kwargs):
self.queryset = kwargs.get('queryset', None)
self.data_inicio = kwargs.get('data_inicio', None)
Expand All @@ -35,9 +36,9 @@ def __init__(self, **kwargs):
self.cabecalho = CABECALHO[0]
self.ambiente = self.get_ambiente

@property
def get_ambiente(self):
ambiente = Ambiente.objects.first()
@property
def get_ambiente(self):
ambiente = Ambiente.objects.first()
return ambiente.prefixo if ambiente else ""

def exporta_status_prestacoes_conta(self):
Expand All @@ -56,21 +57,22 @@ def exporta_status_prestacoes_conta_csv(self):
) as tmp:
write = csv.writer(tmp.file, delimiter=";")
write.writerow([cabecalho[0] for cabecalho in self.cabecalho])

for linha in dados:
write.writerow(linha) if linha else None

self.cria_rodape(write)
self.envia_arquivo_central_download(tmp)

def monta_dados(self):
linhas_vertical = []

for instance in self.queryset:

linha_horizontal = []

for _, campo in self.cabecalho:
motivos_concatenados = ""

if campo != 'motivos_reprovacao' and campo != 'motivos_aprovacao_ressalva':
campo = get_recursive_attr(instance, campo)
Expand All @@ -80,31 +82,30 @@ def monta_dados(self):

if campo == 'motivos_aprovacao_ressalva' and getattr(instance, 'status') == 'APROVADA_RESSALVA':
motivosAprovacaoRessalva = instance.motivos_aprovacao_ressalva.values_list('motivo', flat=True)

if len(motivosAprovacaoRessalva) > 0:
motivos_concatenados = '; '.join(motivosAprovacaoRessalva)

outros_motivos = getattr(instance, 'outros_motivos_aprovacao_ressalva')
if outros_motivos.strip():
motivos_concatenados += "; " + outros_motivos

linha_horizontal[5] = motivos_concatenados

if campo == 'motivos_reprovacao' and getattr(instance, 'status') == 'REPROVADA':
motivosReprovacao = instance.motivos_reprovacao.values_list('motivo', flat=True)

motivos_concatenados = ""


if len(motivosReprovacao) > 0:
motivos_concatenados = '; '.join(motivosReprovacao)

outros_motivos = getattr(instance, 'outros_motivos_reprovacao')
if outros_motivos.strip():
motivos_concatenados += "; " + outros_motivos

linha_horizontal[7] = motivos_concatenados

logger.info(f"Escrevendo linha {linha_horizontal} de status de prestação de conta de custeio {instance.id}.")

logger.info(
f"Escrevendo linha {linha_horizontal} de status de prestação de conta de custeio {instance.id}.")
linhas_vertical.append(linha_horizontal)

return linhas_vertical
Expand All @@ -131,7 +132,7 @@ def filtra_range_data(self, field):
**{f'{field}__lt': self.data_final}
)
return self.queryset

def envia_arquivo_central_download(self, tmp):
logger.info("Gerando arquivo download...")
obj_arquivo_download = gerar_arquivo_download(
Expand Down Expand Up @@ -169,4 +170,3 @@ def cria_rodape(self, write):
rodape.append(texto)
write.writerow(rodape)
rodape.clear()

0 comments on commit d17e5d7

Please sign in to comment.