From 1ce9ab984d3054b2213da536ab10be94da7f15d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Wed, 13 Mar 2024 17:03:15 -0300 Subject: [PATCH] =?UTF-8?q?Ajustes=20emergenciais=20relat=C3=B3rios=20de?= =?UTF-8?q?=20custos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sigi/apps/eventos/admin.py | 3 +- ..._qtde_diarias_alter_equipe_valor_diaria.py | 23 +++++++ sigi/apps/eventos/models.py | 10 ++- .../admin/eventos/custos_eventos_report.html | 61 ++++++++++--------- .../admin/eventos/custos_servidor_report.html | 21 ++++--- 5 files changed, 74 insertions(+), 44 deletions(-) create mode 100644 sigi/apps/eventos/migrations/0057_alter_equipe_qtde_diarias_alter_equipe_valor_diaria.py diff --git a/sigi/apps/eventos/admin.py b/sigi/apps/eventos/admin.py index f6553f9..8f43fbf 100644 --- a/sigi/apps/eventos/admin.py +++ b/sigi/apps/eventos/admin.py @@ -1488,7 +1488,8 @@ class EventoAdmin(AsciifyQParameter, CartExportReportMixin, admin.ModelAdmin): ), qtde_diarias=Sum("equipe__qtde_diarias"), vlr_tot_diarias=Sum( - F("equipe__qtde_diarias") * F("equipe__valor_diaria") + F("equipe__qtde_diarias") * F("equipe__valor_diaria"), + output_field=my_decimal_field, ), vlr_tot_passagens=Sum("equipe__total_passagens"), custo_total=F("vlr_tot_diarias") + F("vlr_tot_passagens"), diff --git a/sigi/apps/eventos/migrations/0057_alter_equipe_qtde_diarias_alter_equipe_valor_diaria.py b/sigi/apps/eventos/migrations/0057_alter_equipe_qtde_diarias_alter_equipe_valor_diaria.py new file mode 100644 index 0000000..8ac71a7 --- /dev/null +++ b/sigi/apps/eventos/migrations/0057_alter_equipe_qtde_diarias_alter_equipe_valor_diaria.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.7 on 2024-03-13 19:21 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('eventos', '0056_evento_origem_sincronizacao'), + ] + + operations = [ + migrations.AlterField( + model_name='equipe', + name='qtde_diarias', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True, verbose_name='quantidade de diárias'), + ), + migrations.AlterField( + model_name='equipe', + name='valor_diaria', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True, verbose_name='valor unitário da diária (R$)'), + ), + ] diff --git a/sigi/apps/eventos/models.py b/sigi/apps/eventos/models.py index c27e777..3cb1cfa 100644 --- a/sigi/apps/eventos/models.py +++ b/sigi/apps/eventos/models.py @@ -810,11 +810,15 @@ class Equipe(models.Model): assina_oficio = models.BooleanField( _("Assina ofício de comparecimento"), default=False ) - qtde_diarias = models.PositiveIntegerField( - _("quantidade de diárias"), blank=True, null=True + qtde_diarias = models.DecimalField( + _("quantidade de diárias"), + max_digits=14, + decimal_places=2, + blank=True, + null=True, ) valor_diaria = models.DecimalField( - _("valor da diária (R$)"), + _("valor unitário da diária (R$)"), max_digits=14, decimal_places=2, blank=True, diff --git a/sigi/apps/eventos/templates/admin/eventos/custos_eventos_report.html b/sigi/apps/eventos/templates/admin/eventos/custos_eventos_report.html index ee063f9..d22f72f 100644 --- a/sigi/apps/eventos/templates/admin/eventos/custos_eventos_report.html +++ b/sigi/apps/eventos/templates/admin/eventos/custos_eventos_report.html @@ -2,6 +2,7 @@ {% load static i18n sigi_tags %} {% block page_size %}A4 landscape{% endblock page_size %} +{% block page_margin %}3cm 1cm 2cm 1cm{% endblock page_margin %}; {% block extra_style %} {{ block.super }} @@ -141,22 +142,22 @@ {% if not forloop.first %}{% endif %} {{ membro.membro.get_apelido }} {{ membro.funcao }} - {{ membro.qtde_diarias|default:"-" }} - {{ membro.total_diarias|default:"-" }} - {{ membro.total_passagens|default:"-" }} + {{ membro.qtde_diarias|floatformat:2|default:"-" }} + {{ membro.total_diarias|floatformat:2|default:"-" }} + {{ membro.total_passagens|floatformat:2|default:"-" }} {{ membro.emissao_passagens|default:"-" }} {{ membro.antecedencia|default:"-" }} {% if forloop.first %} - {{ evento.custo_total|default:"-" }} - {{ evento.custo_medio_participante|default:"-" }} - {{ evento.custo_medio_membro|default:"-" }} + {{ evento.custo_total|floatformat:2|default:"-" }} + {{ evento.custo_medio_participante|floatformat:2|default:"-" }} + {{ evento.custo_medio_membro|floatformat:2|default:"-" }} {% endif %} {% empty %} {% trans "Equipe não definida" %} - {{ evento.custo_total|default:"-" }} - {{ evento.custo_medio_participante|default:"-" }} - {{ evento.custo_medio_membro|default:"-" }} + {{ evento.custo_total|floatformat:2|default:"-" }} + {{ evento.custo_medio_participante|floatformat:2|default:"-" }} + {{ evento.custo_medio_membro|floatformat:2|default:"-" }} {% endfor %} {% endwith %} @@ -248,7 +249,7 @@ {% cycle letra %} {% trans "Antecedência média na emissão de passagens" %} - {{ resumo.media_antecedencia|default:"-" }} + {{ resumo.media_antecedencia|floatformat:2|default:"-" }} {% cycle letra %} @@ -268,42 +269,42 @@ {% cycle letra %} {% trans "Custo total" %} - {{ resumo.tot_custo_total|default:"-" }} + {{ resumo.tot_custo_total|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Total com diárias" %} - {{ resumo.tot_custo_diarias|default:"-" }} + {{ resumo.tot_custo_diarias|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Total com passagens" %} - {{ resumo.tot_custo_passagens|default:"-" }} + {{ resumo.tot_custo_passagens|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Custo médio dos eventos [Q / A]" %} - {{ resumo.media_custo_total|default:"-" }} + {{ resumo.media_custo_total|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Custo médio de diárias por evento [R / A]" %} - {{ resumo.media_custo_diarias|default:"-" }} + {{ resumo.media_custo_diarias|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Custo médio de passagens por evento [S / A]" %} - {{ resumo.media_custo_passagens|default:"-" }} + {{ resumo.media_custo_passagens|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Custo médio por participante [Q / B]" %} - {{ resumo.media_custo_participantes|default:"-" }} + {{ resumo.media_custo_participantes|floatformat:2|default:"-" }} {% cycle letra %} {% trans "Gasto médio por membro da equipe" %} - {{ resumo.media_custo_membro|default:"-" }} + {{ resumo.media_custo_membro|floatformat:2|default:"-" }} @@ -335,18 +336,18 @@ {% for data in custos_regiao %} {{ data.nome }} - {{ data.extrato.tot_diarias.min|default:"-" }} - {{ data.extrato.tot_diarias.mean|default:"-"|floatformat:2 }} - {{ data.extrato.tot_diarias.max|default:"-" }} - {{ data.extrato.tot_diarias.sum|default:"-" }} - {{ data.extrato.tot_passagens.min|default:"-" }} - {{ data.extrato.tot_passagens.mean|default:"-"|floatformat:2 }} - {{ data.extrato.tot_passagens.max|default:"-" }} - {{ data.extrato.tot_passagens.sum|default:"-" }} - {{ data.extrato.tot_custo.min|default:"-" }} - {{ data.extrato.tot_custo.mean|default:"-"|floatformat:2 }} - {{ data.extrato.tot_custo.max|default:"-" }} - {{ data.extrato.tot_custo.sum|default:"-" }} + {{ data.extrato.tot_diarias.min|floatformat:2|default:"-" }} + {{ data.extrato.tot_diarias.mean|floatformat:2|default:"-" }} + {{ data.extrato.tot_diarias.max|floatformat:2|default:"-" }} + {{ data.extrato.tot_diarias.sum|floatformat:2|default:"-" }} + {{ data.extrato.tot_passagens.min|floatformat:2|default:"-" }} + {{ data.extrato.tot_passagens.mean|floatformat:2|default:"-" }} + {{ data.extrato.tot_passagens.max|floatformat:2|default:"-" }} + {{ data.extrato.tot_passagens.sum|floatformat:2|default:"-" }} + {{ data.extrato.tot_custo.min|floatformat:2|default:"-" }} + {{ data.extrato.tot_custo.mean|floatformat:2|default:"-" }} + {{ data.extrato.tot_custo.max|floatformat:2|default:"-" }} + {{ data.extrato.tot_custo.sum|floatformat:2|default:"-" }} {% endfor %} diff --git a/sigi/apps/eventos/templates/admin/eventos/custos_servidor_report.html b/sigi/apps/eventos/templates/admin/eventos/custos_servidor_report.html index 11bdbc1..179d7e0 100644 --- a/sigi/apps/eventos/templates/admin/eventos/custos_servidor_report.html +++ b/sigi/apps/eventos/templates/admin/eventos/custos_servidor_report.html @@ -2,6 +2,7 @@ {% load static i18n sigi_tags %} {% block page_size %}A4 landscape{% endblock page_size %} +{% block page_margin %}3cm 1cm 2cm 1cm{% endblock page_margin %}; {% block extra_style %} {{ block.super }} @@ -111,21 +112,21 @@ {{ servidor.nome_completo }} {{ servidor.qtde_eventos|default:"-" }} - {{ servidor.qtde_diarias|default:"-" }} - {{ servidor.media_diarias|default:"-" }} - {{ servidor.total_diarias|default:"-" }} - {{ servidor.total_passagens|default:"-" }} - {{ servidor.total_custo|default:"-" }} + {{ servidor.qtde_diarias|floatformat:2|default:"-" }} + {{ servidor.media_diarias|floatformat:2|default:"-" }} + {{ servidor.total_diarias|floatformat:2|default:"-" }} + {{ servidor.total_passagens|floatformat:2|default:"-" }} + {{ servidor.total_custo|floatformat:2|default:"-" }} {% endfor %} {% trans "Totais" %} {{ totais.qtde_eventos|default:"-" }} - {{ totais.qtde_diarias|default:"-" }} - {{ totais.media_diarias|default:"-" }} - {{ totais.total_diarias|default:"-" }} - {{ totais.total_passagens|default:"-" }} - {{ totais.total_custo|default:"-" }} + {{ totais.qtde_diarias|floatformat:2|default:"-" }} + {{ totais.media_diarias|floatformat:2|default:"-" }} + {{ totais.total_diarias|floatformat:2|default:"-" }} + {{ totais.total_passagens|floatformat:2|default:"-" }} + {{ totais.total_custo|floatformat:2|default:"-" }}