Files
eamco_office_api/app/stats/views.py
2024-08-06 11:08:29 -04:00

74 lines
2.5 KiB
Python
Executable File

from flask import jsonify
from sqlalchemy import func, or_
from datetime import date
from app.stats import stats
from app import db
from app.classes.delivery import Delivery_Delivery
@stats.route("/gallons/total/<int:driver_id>", methods=["GET"])
def total_gallons_delivered_driver(driver_id):
gallons_list = []
total_gallons = db.session\
.query(Delivery_Delivery)\
.filter(Delivery_Delivery.driver_employee_id == driver_id)\
.all()
for f in total_gallons:
gallons_list.append(f.gallons_delivered)
sum_of_gallons = (sum(gallons_list))
return jsonify({"ok": True,
'data': sum_of_gallons,
}), 200
@stats.route("/delivery/total/<int:driver_id>", methods=["GET"])
def total_deliveries_driver(driver_id):
total_stops = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == driver_id)
.count())
return jsonify({"ok": True,
'data': total_stops,
}), 200
@stats.route("/primes/total/<int:driver_id>", methods=["GET"])
def total_primes_driver(driver_id):
total_stops = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == driver_id)
.filter(Delivery_Delivery.prime == 1)
.count())
return jsonify({"ok": True,
'data': total_stops,
}), 200
@stats.route("/delivery/count/today", methods=["GET"])
def total_deliveries_today():
total_stops = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.count())
return jsonify({"ok": True,
'data': total_stops,
}), 200
@stats.route("/delivery/count/delivered/today", methods=["GET"])
def total_deliveries_today_finished():
total_stops = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.filter(or_(Delivery_Delivery.delivery_status == 1),(Delivery_Delivery.delivery_status == 10))
.count())
return jsonify({"ok": True,
'data': total_stops,
}), 200