diff --git a/RepostajesPy/K8S/Makefile b/RepostajesPy/K8S/Makefile
index ce6de1c..a1ff21f 100644
--- a/RepostajesPy/K8S/Makefile
+++ b/RepostajesPy/K8S/Makefile
@@ -1,4 +1,4 @@
-export IMG_VERSION = 1.1
+export IMG_VERSION = 1.2
# limpia todo
all: imagen clean install
diff --git a/RepostajesPy/servicios/migrations/versions/9e2101dd8240_añado_campos_para_kms_recorridos_y_.py b/RepostajesPy/servicios/migrations/versions/9e2101dd8240_añado_campos_para_kms_recorridos_y_.py
new file mode 100644
index 0000000..ade7179
--- /dev/null
+++ b/RepostajesPy/servicios/migrations/versions/9e2101dd8240_añado_campos_para_kms_recorridos_y_.py
@@ -0,0 +1,40 @@
+"""Añado campos para kms recorridos y consumo
+
+Revision ID: 9e2101dd8240
+Revises:
+Create Date: 2024-08-02 10:21:54.566834
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '9e2101dd8240'
+down_revision = None
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.add_column(sa.Column('kmsrecorridos', sa.Integer(), nullable=False))
+ batch_op.add_column(sa.Column('consumo', sa.Integer(), nullable=False))
+
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.create_unique_constraint(batch_op.f('uq_user_username'), ['username'])
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.drop_constraint(batch_op.f('uq_user_username'), type_='unique')
+
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.drop_column('consumo')
+ batch_op.drop_column('kmsrecorridos')
+
+ # ### end Alembic commands ###
diff --git a/RepostajesPy/servicios/migrations/versions/d880c87e5133_añado_campos_para_kms_recorridos_y_.py b/RepostajesPy/servicios/migrations/versions/d880c87e5133_añado_campos_para_kms_recorridos_y_.py
new file mode 100644
index 0000000..c5d0c5c
--- /dev/null
+++ b/RepostajesPy/servicios/migrations/versions/d880c87e5133_añado_campos_para_kms_recorridos_y_.py
@@ -0,0 +1,40 @@
+"""Añado campos para kms recorridos y consumo. Valor por defecto = 0
+
+Revision ID: d880c87e5133
+Revises: df26e0c43964
+Create Date: 2024-08-02 10:27:56.828732
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'd880c87e5133'
+down_revision = 'df26e0c43964'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.add_column(sa.Column('kmsrecorridos', sa.Integer(), nullable=True))
+ batch_op.add_column(sa.Column('consumo', sa.Integer(), nullable=True))
+
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.create_unique_constraint(batch_op.f('uq_user_username'), ['username'])
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.drop_constraint(batch_op.f('uq_user_username'), type_='unique')
+
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.drop_column('consumo')
+ batch_op.drop_column('kmsrecorridos')
+
+ # ### end Alembic commands ###
diff --git a/RepostajesPy/servicios/migrations/versions/df26e0c43964_añado_campos_para_kms_recorridos_y_.py b/RepostajesPy/servicios/migrations/versions/df26e0c43964_añado_campos_para_kms_recorridos_y_.py
new file mode 100644
index 0000000..15faaac
--- /dev/null
+++ b/RepostajesPy/servicios/migrations/versions/df26e0c43964_añado_campos_para_kms_recorridos_y_.py
@@ -0,0 +1,40 @@
+"""Añado campos para kms recorridos y consumo. Valor por defecto = 0
+
+Revision ID: df26e0c43964
+Revises: 9e2101dd8240
+Create Date: 2024-08-02 10:26:40.424171
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'df26e0c43964'
+down_revision = '9e2101dd8240'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.add_column(sa.Column('kmsrecorridos', sa.Integer(), nullable=False))
+ batch_op.add_column(sa.Column('consumo', sa.Integer(), nullable=False))
+
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.create_unique_constraint(batch_op.f('uq_user_username'), ['username'])
+
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ with op.batch_alter_table('user', schema=None) as batch_op:
+ batch_op.drop_constraint(batch_op.f('uq_user_username'), type_='unique')
+
+ with op.batch_alter_table('repostajes', schema=None) as batch_op:
+ batch_op.drop_column('consumo')
+ batch_op.drop_column('kmsrecorridos')
+
+ # ### end Alembic commands ###
diff --git a/RepostajesPy/servicios/repostajes/models.py b/RepostajesPy/servicios/repostajes/models.py
index db7428d..d0e9364 100644
--- a/RepostajesPy/servicios/repostajes/models.py
+++ b/RepostajesPy/servicios/repostajes/models.py
@@ -29,6 +29,9 @@ class Repostajes(db.Model):
descuento = db.Column(db.Integer, nullable=False)
precioxlitro = db.Column(db.Integer, nullable=False)
importe = db.Column(db.Integer, nullable=False)
+ kmsrecorridos = db.Column(db.Integer, nullable=True, default=0)
+ consumo = db.Column(db.Integer, nullable=True, default=0)
+
vehiculo_id = db.Column(db.Integer, db.ForeignKey('vehiculos.id'), nullable=False)
diff --git a/RepostajesPy/servicios/repostajes/paginas.py b/RepostajesPy/servicios/repostajes/paginas.py
index 7d2a6b6..c6aff26 100644
--- a/RepostajesPy/servicios/repostajes/paginas.py
+++ b/RepostajesPy/servicios/repostajes/paginas.py
@@ -66,10 +66,24 @@ def add_repostaje():
else :
descuento = 0 # no se marcó la casilla de descuento ING
- totalcondto = int(importe) - descuento
- precioxlitro = totalcondto / int(litros)
+ totalcondto = float(importe) - descuento
+ precioxlitro = totalcondto / float(litros)
- new_repostaje = Repostajes(fecha=fecha, vehiculo_id=vehiculo_id, kms=kms, litros=litros, importe=totalcondto, descuento=descuento, precioxlitro=precioxlitro)
+ # lee todos los repostajes del vehículo
+ #repostajes = Repostajes.query.filter_by(vehiculo_id=vehiculo_id).all()
+ repostajes = Repostajes.query.filter_by(vehiculo_id=vehiculo_id).order_by(Repostajes.fecha.desc()).first()
+
+ #for i in repostajes:
+ # print("add_repostaje: ", i.fecha, i.kms)
+ kmsrecorridos = int(kms)-int(repostajes.kms)
+
+ if kmsrecorridos > 0:
+ consumo = float(litros)*100/kmsrecorridos
+
+ print("add_repostaje kms recorridos: ", kmsrecorridos, " consumo: ", consumo)
+
+
+ new_repostaje = Repostajes(fecha=fecha, vehiculo_id=vehiculo_id, kms=kms, litros=litros, importe=totalcondto, descuento=descuento, precioxlitro=precioxlitro, kmsrecorridos=kmsrecorridos, consumo=consumo)
db.session.add(new_repostaje)
db.session.commit()
diff --git a/RepostajesPy/servicios/repostajes/templates/_tablarepostajes.html b/RepostajesPy/servicios/repostajes/templates/_tablarepostajes.html
new file mode 100644
index 0000000..124871e
--- /dev/null
+++ b/RepostajesPy/servicios/repostajes/templates/_tablarepostajes.html
@@ -0,0 +1,28 @@
+
+
+
+
#
+
Fecha
+
Vehículo
+
Kilómetros
+
Litros
+
Descuento
+
Precio/litro
+
Importe
+
+
+
+ {% for repostaje in repostajes %}
+
+
{{ repostaje.id }}
+
{{ repostaje.fecha }}
+
{{ repostaje.vehiculos.matricula }}
+
{{ "%.0f"|format(repostaje.kms) }}
+
{{ "%.2f €"|format(repostaje.litros) }}
+
{{ "%.2f €"|format(repostaje.descuento) }}
+
{{ "%.2f €"|format(repostaje.precioxlitro) }}
+
{{ "%.2f €"|format(repostaje.importe) }}
+
+ {% endfor %}
+
+
\ No newline at end of file
diff --git a/RepostajesPy/servicios/repostajes/templates/_tablarepostajescompleta.html b/RepostajesPy/servicios/repostajes/templates/_tablarepostajescompleta.html
new file mode 100644
index 0000000..455b2d8
--- /dev/null
+++ b/RepostajesPy/servicios/repostajes/templates/_tablarepostajescompleta.html
@@ -0,0 +1,39 @@
+
+
+
+
#
+
Fecha
+
Vehículo
+
Kilómetros
+
Litros
+
Descuento
+
Precio/litro
+
Importe
+
Recorridos
+
Consumo/100kms
+
+
+
+
+ {% for repostaje in repostajes %}
+
+ {% if repostaje.vehiculo_id == vehiculo.id %}
+
+
+
{{ repostaje.id }}
+
{{ repostaje.fecha }}
+
{{ repostaje.vehiculos.matricula }}
+
{{ "%.0f"|format(repostaje.kms) }}
+
{{ "%.2f €"|format(repostaje.litros) }}
+
{{ "%.2f €"|format(repostaje.descuento) }}
+
{{ "%.2f €"|format(repostaje.precioxlitro) }}
+
{{ "%.2f €"|format(repostaje.importe) }}
+
{{ "%.2f €"|format(repostaje.kmsrecorridos) }}
+
{{ "%.2f €"|format(repostaje.consumo) }}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
\ No newline at end of file
diff --git a/RepostajesPy/servicios/repostajes/templates/add_repostaje.html b/RepostajesPy/servicios/repostajes/templates/add_repostaje.html
index 49ae8a2..9eaa054 100644
--- a/RepostajesPy/servicios/repostajes/templates/add_repostaje.html
+++ b/RepostajesPy/servicios/repostajes/templates/add_repostaje.html
@@ -26,12 +26,12 @@