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:"-" }} |