61 lines
2.0 KiB
Python
Executable File
61 lines
2.0 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("/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
|
|
|