74 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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
 | |
| 
 |