Skip to content

Commit

Permalink
Merge pull request #2637 from prefeiturasp/release/8.17.0
Browse files Browse the repository at this point in the history
Release/8.17.0
  • Loading branch information
Lucas-Santos-Rocha-dev authored Jan 17, 2024
2 parents d8be1ab + eaa52bb commit 190bf7a
Show file tree
Hide file tree
Showing 30 changed files with 776 additions and 244 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.16.2"
__version__ = "8.17.0"

__version_info__ = tuple(
[
Expand Down
114 changes: 17 additions & 97 deletions sme_ptrf_apps/core/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -935,7 +935,7 @@ class ItemRelatorioRelacaoDeBensInline(admin.TabularInline):
@admin.register(RelatorioRelacaoBens)
class RelatorioRelacaoBensAdmin(admin.ModelAdmin):
inlines = [ItemRelatorioRelacaoDeBensInline]
list_display = ('id', 'relacao_bens', 'nome_associacao', 'periodo_referencia', 'data_geracao', )
list_display = ('nome_associacao', 'conta', 'periodo_referencia', 'criado_em', )
fieldsets = [('Cabeçalho', {
"fields": ["periodo_referencia", "periodo_data_inicio", "periodo_data_fim", "conta"],
}),
Expand All @@ -952,6 +952,16 @@ class RelatorioRelacaoBensAdmin(admin.ModelAdmin):

readonly_fields = ('uuid', 'id', 'criado_em', 'alterado_em')

search_fields = [
'nome_associacao',
'codigo_eol_associacao',
]

list_filter = (
'relacao_bens__conta_associacao__tipo_conta',
'relacao_bens__prestacao_conta__periodo',
'relacao_bens__periodo_previa'
)

@admin.register(MembroAssociacao)
class MembroAssociacaoAdmin(admin.ModelAdmin):
Expand Down Expand Up @@ -1620,7 +1630,12 @@ class ItemDespesaInLine(admin.TabularInline):

@admin.register(DadosDemonstrativoFinanceiro)
class DadosDemonstrativoFinanceiroAdmin(admin.ModelAdmin):
list_display = ['nome_associacao', 'conta_associacao', 'periodo_referencia']
list_display = ['nome_associacao', 'conta_associacao', 'periodo_referencia', 'criado_em']
list_filter = (
'demonstrativo__conta_associacao__tipo_conta',
'demonstrativo__prestacao_conta__periodo',
'demonstrativo__periodo_previa'
)

search_fields = [
'nome_associacao',
Expand Down Expand Up @@ -1696,98 +1711,3 @@ class DadosDemonstrativoFinanceiroAdmin(admin.ModelAdmin):
inlines = [ItemResumoPorAcaoInLine, ItemCreditoInLine, ItemDespesaInLine]
raw_id_fields = ('demonstrativo', )
readonly_fields = ('uuid', 'id', 'criado_em', 'alterado_em')


@admin.register(ItemResumoPorAcao)
class ItemResumoPorAcaoAdmin(admin.ModelAdmin):
list_display = ['acao_associacao', 'dados_demonstrativo']
raw_id_fields = ('dados_demonstrativo',)
search_fields = [
'acao_associacao',
'dados_demonstrativo__codigo_eol_associacao',
'dados_demonstrativo__nome_associacao',
]

fieldsets = [
('Informações Adicionais', {
"fields": [
"dados_demonstrativo",
"acao_associacao",
"total_geral",
"id",
"uuid",
"criado_em",
"alterado_em",
],
}),
('Custeio', {
"fields": [
"custeio_saldo_anterior",
"custeio_credito",
"custeio_despesa_realizada",
"custeio_despesa_nao_realizada",
"custeio_saldo_reprogramado_proximo",
"custeio_despesa_nao_demostrada_outros_periodos",
"custeio_valor_saldo_bancario_custeio",
],
}),
('Livre Aplicação', {
"fields": [
"livre_saldo_anterior",
"livre_credito",
"livre_saldo_reprogramado_proximo",
"livre_valor_saldo_reprogramado_proximo_periodo",
],
}),
('Capital', {
"fields": [
"capital_saldo_anterior",
"capital_credito",
"capital_despesa_realizada",
"capital_despesa_nao_realizada",
"capital_saldo_reprogramado_proximo",
"capital_despesa_nao_demostrada_outros_periodos",
"capital_valor_saldo_bancario_capital",
],
}),
('Totais', {
"fields": [
"total_valores",
"saldo_bancario",
],
}),
]

readonly_fields = ('uuid', 'id', 'criado_em', 'alterado_em')


@admin.register(ItemCredito)
class ItemCreditoAdmin(admin.ModelAdmin):
list_display = ['nome_acao', 'dados_demonstrativo', 'tipo_receita', 'valor']
readonly_fields = ('uuid', 'id', 'criado_em', 'alterado_em')
raw_id_fields = ('dados_demonstrativo',)
search_fields = [
'nome_acao',
'dados_demonstrativo__codigo_eol_associacao',
'dados_demonstrativo__nome_associacao',
]


@admin.register(ItemDespesa)
class ItemDespesaAdmin(admin.ModelAdmin):
list_display = ['razao_social', 'categoria_despesa', 'dados_demonstrativo']
readonly_fields = ('uuid', 'id', 'criado_em', 'alterado_em')
raw_id_fields = ('dados_demonstrativo',)
search_fields = [
'razao_social',
'dados_demonstrativo__codigo_eol_associacao',
'dados_demonstrativo__nome_associacao',
]

list_filter = [
'dados_demonstrativo__demonstrativo__prestacao_conta__periodo',
'dados_demonstrativo__demonstrativo__conta_associacao__tipo_conta',
'categoria_despesa',
]

list_display_links = ('categoria_despesa',)
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Generated by Django 4.2.7 on 2024-01-05 14:26

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("core", "0370_merge_20231229_0855"),
]

operations = [
migrations.AlterModelOptions(
name="dadosdemonstrativofinanceiro",
options={
"verbose_name": "Dados Demonstrativo Financeiro",
"verbose_name_plural": "09.2.1) Dados dos Demonstrativos Financeiros",
},
),
migrations.AlterModelOptions(
name="itemcredito",
options={
"verbose_name": "Dados Demonstrativo Financeiro Item de Crédito",
"verbose_name_plural": "Dados dos Demonstrativos Financeiros Itens de Créditos",
},
),
migrations.AlterModelOptions(
name="itemdespesa",
options={
"verbose_name": "Dados Demonstrativo Financeiro Item de Despesa",
"verbose_name_plural": "Dados dos Demonstrativos Financeiros Itens de Despesas",
},
),
migrations.AlterModelOptions(
name="itemresumoporacao",
options={
"verbose_name": "Dados Demonstrativo Financeiro Item Resumo por Ação",
"verbose_name_plural": "Dados dos Demonstrativos Financeiros Itens Resumo por Ação",
},
),
migrations.AlterModelOptions(
name="relatoriorelacaobens",
options={
"verbose_name": "Dados da Relação de bens",
"verbose_name_plural": "09.3.1) Dados das Relações de bens",
},
),
migrations.AlterField(
model_name="dadosdemonstrativofinanceiro",
name="cnpj_associacao",
field=models.CharField(
default="", max_length=20, verbose_name="CNPJ da associação"
),
),
]
17 changes: 16 additions & 1 deletion sme_ptrf_apps/core/models/associacao.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import logging
import datetime
from django.db import models
from sme_ptrf_apps.core.models.conta_associacao import ContaAssociacao
Expand All @@ -15,6 +16,11 @@
from django.core.exceptions import ValidationError
from django.db.models import Q

from waffle import get_waffle_flag_model

LOGGER = logging.getLogger(__name__)


class AssociacoesAtivasManager(models.Manager):
def get_queryset(self):
return super(AssociacoesAtivasManager, self).get_queryset().exclude(cnpj="")
Expand Down Expand Up @@ -332,8 +338,17 @@ def membros_diretoria_executiva_e_conselho_fiscal_cadastrados(self):
return True

def pendencias_dados_da_associacao_para_geracao_de_documentos(self):
from ...mandatos.services import ServicoPendenciaCargosDaComposicaoVigenteDaAssociacao
flags = get_waffle_flag_model()
LOGGER.info("Verificando se a flag <historico-de-membros> está ativa...")
if flags.objects.filter(name='historico-de-membros', everyone=True).exists():
LOGGER.info("A flag está ativa, as informações serão buscadas no Histórico de Membros")
servico_pendencia = ServicoPendenciaCargosDaComposicaoVigenteDaAssociacao(self)
pendencia_membros = servico_pendencia.retorna_se_tem_pendencia()
else:
pendencia_membros = not self.membros_diretoria_executiva_e_conselho_fiscal_cadastrados

pendencia_cadastro = not self.nome or not self.ccm
pendencia_membros = not self.membros_diretoria_executiva_e_conselho_fiscal_cadastrados
pendencia_contas = self.contas.filter(Q(banco_nome__exact='') | Q(agencia__exact='') | Q(numero_conta__exact='',
status=ContaAssociacao.STATUS_ATIVA)).exists()
if pendencia_cadastro or pendencia_membros or pendencia_contas:
Expand Down
10 changes: 5 additions & 5 deletions sme_ptrf_apps/core/models/dados_demonstrativo_financeiro.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class DadosDemonstrativoFinanceiro(ModeloBase):

# bloco 1
nome_associacao = models.CharField('Nome da associação', max_length=160, default='')
cnpj_associacao = models.CharField('Nome da associação', max_length=20, default='')
cnpj_associacao = models.CharField('CNPJ da associação', max_length=20, default='')
nome_dre_associacao = models.CharField('Nome da dre', max_length=160, default='')
codigo_eol_associacao = models.CharField('Codigo eol', max_length=6, validators=[MinLengthValidator(6)], default='000000')

Expand Down Expand Up @@ -75,7 +75,7 @@ class DadosDemonstrativoFinanceiro(ModeloBase):

class Meta:
verbose_name = 'Dados Demonstrativo Financeiro'
verbose_name_plural = '20.0) Dados dos Demonstrativos Financeiros'
verbose_name_plural = '09.2.1) Dados dos Demonstrativos Financeiros'

def __str__(self):
return f"Relatório {self.nome_associacao} | {self.periodo_referencia} | {self.conta_associacao}"
Expand Down Expand Up @@ -134,7 +134,7 @@ class ItemResumoPorAcao(ModeloBase):

class Meta:
verbose_name = 'Dados Demonstrativo Financeiro Item Resumo por Ação'
verbose_name_plural = '20.1) Dados dos Demonstrativos Financeiros Itens Resumo por Ação'
verbose_name_plural = 'Dados dos Demonstrativos Financeiros Itens Resumo por Ação'

def __str__(self):
return self.acao_associacao
Expand All @@ -160,7 +160,7 @@ class ItemCredito(ModeloBase):

class Meta:
verbose_name = 'Dados Demonstrativo Financeiro Item de Crédito'
verbose_name_plural = '20.2) Dados dos Demonstrativos Financeiros Itens de Créditos'
verbose_name_plural = 'Dados dos Demonstrativos Financeiros Itens de Créditos'

def __str__(self):
return self.nome_acao
Expand Down Expand Up @@ -223,7 +223,7 @@ class ItemDespesa(ModeloBase):

class Meta:
verbose_name = 'Dados Demonstrativo Financeiro Item de Despesa'
verbose_name_plural = '20.3) Dados dos Demonstrativos Financeiros Itens de Despesas'
verbose_name_plural = 'Dados dos Demonstrativos Financeiros Itens de Despesas'

def __str__(self):
return f"{self.dados_demonstrativo}"
Expand Down
4 changes: 2 additions & 2 deletions sme_ptrf_apps/core/models/relatorio_relacao_bens.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ class RelatorioRelacaoBens(ModeloBase):
valor_total = models.DecimalField('Valor total', max_digits=8, decimal_places=2, default=0)

class Meta:
verbose_name = 'Relatório Relação de bens'
verbose_name_plural = '09.3.1) Relatório Relações de bens'
verbose_name = 'Dados da Relação de bens'
verbose_name_plural = '09.3.1) Dados das Relações de bens'

def __str__(self):
return f"Relatório {self.nome_associacao} | {self.periodo_referencia} gerado em {self.data_geracao}"
Expand Down
4 changes: 3 additions & 1 deletion sme_ptrf_apps/core/services/falha_geracao_pc_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,12 @@ def registra_falha_geracao_pc(self):
def marcar_como_resolvido(self):
registro_de_falha_ao_gerar_pc = self.retorna_registro_falha_geracao_pc()

if registro_de_falha_ao_gerar_pc:
if registro_de_falha_ao_gerar_pc and not registro_de_falha_ao_gerar_pc.resolvido:
logger.info(f"Marcando como resolvido registro de falha {registro_de_falha_ao_gerar_pc}")
registro_de_falha_ao_gerar_pc.resolvido = True
registro_de_falha_ao_gerar_pc.save()
else:
logger.info(f"Não há registro de falha pendente.")


class InfoRegistroFalhaGeracaoPc(FalhaGeracaoPcService):
Expand Down
Loading

0 comments on commit 190bf7a

Please sign in to comment.