76 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| from flask import jsonify
 | |
| from datetime import date, timedelta
 | |
| from app.delivery_status import deliverystatus
 | |
| from app import db
 | |
| from sqlalchemy import or_
 | |
| 
 | |
| from app.classes.delivery import (Delivery_Delivery,
 | |
|                                   Delivery_Delivery_schema,
 | |
|                                   )
 | |
| 
 | |
| 
 | |
| @deliverystatus.route("/delivered", methods=["GET"])
 | |
| def delivered_delivery():
 | |
|     """
 | |
|     Get deliveries that have been delivered
 | |
|     """
 | |
| 
 | |
|     delivery_ticket = (db.session
 | |
|                      .query(Delivery_Delivery)
 | |
|                      .filter(or_(Delivery_Delivery.delivery_status == 1,
 | |
|                                 Delivery_Delivery.delivery_status == 10))
 | |
|                      .all())
 | |
| 
 | |
| 
 | |
|     delivery_schema = Delivery_Delivery_schema(many=True)
 | |
|     return jsonify(delivery_schema.dump(delivery_ticket))
 | |
| 
 | |
| 
 | |
| @deliverystatus.route("/today/driver/<int:user_id>", methods=["GET"])
 | |
| def get_deliveries_driver_today(user_id):
 | |
|     """
 | |
|     Get deliveries for driver that day
 | |
|     """
 | |
|     get_delivery = (db.session
 | |
|         .query(Delivery_Delivery)
 | |
|         .filter(Delivery_Delivery.driver_employee_id == user_id)
 | |
|         .filter(Delivery_Delivery.expected_delivery_date == date.today())
 | |
|         .all())
 | |
| 
 | |
|     delivery_schema = Delivery_Delivery_schema(many=True)
 | |
|     return jsonify(delivery_schema.dump(get_delivery))
 | |
| 
 | |
| 
 | |
| @deliverystatus.route("/tommorrow/driver/<int:user_id>", methods=["GET"])
 | |
| def get_deliveries_driver_tommorrow(user_id):
 | |
|     """
 | |
|     Get deliveries for driver tommrrow
 | |
|     """
 | |
|     tomm = date.today() + timedelta(days=1)
 | |
|     get_delivery = (db.session
 | |
|         .query(Delivery_Delivery)
 | |
|         .filter(Delivery_Delivery.driver_employee_id == user_id)
 | |
|         .filter(Delivery_Delivery.expected_delivery_date == tomm)
 | |
|         .all())
 | |
| 
 | |
|     delivery_schema = Delivery_Delivery_schema(many=True)
 | |
|     return jsonify(delivery_schema.dump(get_delivery))
 | |
| 
 | |
| 
 | |
| @deliverystatus.route("/waiting/driver/<int:user_id>", methods=["GET"])
 | |
| def get_deliveries_driver_waiting(user_id):
 | |
|     """
 | |
|     waiting deliveries scheduled out
 | |
|     """
 | |
|     tomm = date.today() + timedelta(days=1)
 | |
|     get_delivery = (db.session
 | |
|         .query(Delivery_Delivery)
 | |
|         .filter(Delivery_Delivery.driver_employee_id == user_id)
 | |
|         .filter(Delivery_Delivery.delivery_status == 0)
 | |
|         .filter(Delivery_Delivery.expected_delivery_date != tomm)
 | |
|         .filter(Delivery_Delivery.expected_delivery_date != date.today())
 | |
|         .all())
 | |
| 
 | |
|     delivery_schema = Delivery_Delivery_schema(many=True)
 | |
|     return jsonify(delivery_schema.dump(get_delivery))
 |