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/", 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/", 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/", 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