From 7aa53c681ee0fa6b67cfb5faf6b86b009814fdc3 Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Fri, 2 Aug 2024 10:55:46 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1ado=20kmsrecorridos=20y=20consumo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RepostajesPy/K8S/Makefile | 2 +- ...40_añado_campos_para_kms_recorridos_y_.py | 40 ++++++++++ ...33_añado_campos_para_kms_recorridos_y_.py | 40 ++++++++++ ...64_añado_campos_para_kms_recorridos_y_.py | 40 ++++++++++ RepostajesPy/servicios/repostajes/models.py | 3 + RepostajesPy/servicios/repostajes/paginas.py | 20 ++++- .../templates/_tablarepostajes.html | 28 +++++++ .../templates/_tablarepostajescompleta.html | 39 ++++++++++ .../repostajes/templates/add_repostaje.html | 4 +- .../servicios/repostajes/templates/index.html | 73 +------------------ .../repostajes/templates/vehiculo.html | 33 +-------- 11 files changed, 218 insertions(+), 104 deletions(-) create mode 100644 RepostajesPy/servicios/migrations/versions/9e2101dd8240_añado_campos_para_kms_recorridos_y_.py create mode 100644 RepostajesPy/servicios/migrations/versions/d880c87e5133_añado_campos_para_kms_recorridos_y_.py create mode 100644 RepostajesPy/servicios/migrations/versions/df26e0c43964_añado_campos_para_kms_recorridos_y_.py create mode 100644 RepostajesPy/servicios/repostajes/templates/_tablarepostajes.html create mode 100644 RepostajesPy/servicios/repostajes/templates/_tablarepostajescompleta.html 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 @@ + + + + + + + + + + + + + + + {% for repostaje in repostajes %} + + + + + + + + + + + {% endfor %} + +
#FechaVehículoKilómetrosLitrosDescuentoPrecio/litroImporte
{{ 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) }}
\ 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 @@ + + + + + + + + + + + + + + + + + + {% for repostaje in repostajes %} + + {% if repostaje.vehiculo_id == vehiculo.id %} + + + + + + + + + + + + + + {% endif %} + {% endfor %} + + + +
#FechaVehículoKilómetrosLitrosDescuentoPrecio/litroImporteRecorridosConsumo/100kms
{{ 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) }}
\ 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 @@
- +
- +
diff --git a/RepostajesPy/servicios/repostajes/templates/index.html b/RepostajesPy/servicios/repostajes/templates/index.html index 4f7b845..a8749d5 100644 --- a/RepostajesPy/servicios/repostajes/templates/index.html +++ b/RepostajesPy/servicios/repostajes/templates/index.html @@ -24,84 +24,19 @@
- - - - - - - - - - - - - - - {% for repostaje in repostajes %} - - - - - - - - - - - {% endfor %} - -
#FechaVehículoKilómetrosLitrosDescuentoPrecio/litroImporte
{{ 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) }}
+ {% include '_tablarepostajes.html' %}
- {% for micoche in vehiculos %} + {% for vehiculo in vehiculos %} -
+
- - - - - - - - - - - - - - - - - {% for repostaje in repostajes %} - - {% if repostaje.vehiculo_id == micoche.id %} - - - - - - - - - - - - {% endif %} - {% endfor %} - - - -
#FechaVehículoKilómetrosLitrosDescuentoPrecio/litroImporte
{{ 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) }}
+ {% include '_tablarepostajescompleta.html' %}
diff --git a/RepostajesPy/servicios/repostajes/templates/vehiculo.html b/RepostajesPy/servicios/repostajes/templates/vehiculo.html index 687ffd6..3ed7a9a 100644 --- a/RepostajesPy/servicios/repostajes/templates/vehiculo.html +++ b/RepostajesPy/servicios/repostajes/templates/vehiculo.html @@ -25,35 +25,10 @@
- {% if repostajes %} - - - - - - - - - - - - - - - {% for repostaje in repostajes %} - - - - - - - - - - - {% endfor %} - -
#FechaVehículoKilómetrosLitrosDescuentoPrecio por litroImporte
{{ repostaje.id }}{{ repostaje.fecha }}{{ repostaje.vehiculo }}{{ repostaje.kms }}{{ repostaje.litros }}{{ "%.2f €"|format(repostaje.descuento) }}{{ "%.2f €"|format(repostaje.precioxlitro) }} {{ "%.2f €"|format(repostaje.importe) }}
+ {% if repostajes %} + + {% include '_tablarepostajescompleta.html' %} + {% else %}

No se han encontrado repostajes para este vehículo

{% endif %}