157 lines
4.1 KiB
Python
Executable File
157 lines
4.1 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(Delivery_Delivery.delivery_status == 10)
|
|
.all())
|
|
|
|
|
|
delivery_schema = Delivery_Delivery_schema(many=True)
|
|
return jsonify(delivery_schema.dump(delivery_ticket))
|
|
|
|
@deliverystatus.route("/count/delivered", methods=["GET"])
|
|
def delivered_delivery_count():
|
|
|
|
delivery_ticket = (db.session
|
|
.query(Delivery_Delivery)
|
|
.filter(Delivery_Delivery.delivery_status == 10)
|
|
.count())
|
|
|
|
return jsonify({
|
|
"ok": True,
|
|
'count':delivery_ticket,
|
|
}), 200
|
|
|
|
|
|
@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("/count/today", methods=["GET"])
|
|
def get_deliveries_today_count():
|
|
"""
|
|
Get deliveries for driver that day
|
|
"""
|
|
get_delivery = (db.session
|
|
.query(Delivery_Delivery)
|
|
.filter(Delivery_Delivery.delivery_status == 2)
|
|
.count())
|
|
|
|
return jsonify({
|
|
"ok": True,
|
|
'count':get_delivery,
|
|
}), 200
|
|
|
|
|
|
|
|
@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.delivery_status == 3)
|
|
.all())
|
|
|
|
delivery_schema = Delivery_Delivery_schema(many=True)
|
|
return jsonify(delivery_schema.dump(get_delivery))
|
|
|
|
|
|
@deliverystatus.route("/count/tommorrow", methods=["GET"])
|
|
def get_deliveries_driver_tommorrow_count():
|
|
"""
|
|
"""
|
|
tomm = date.today() + timedelta(days=1)
|
|
get_delivery = (db.session
|
|
.query(Delivery_Delivery)
|
|
.filter(Delivery_Delivery.delivery_status == 3)
|
|
.count())
|
|
|
|
return jsonify({
|
|
"ok": True,
|
|
'count':get_delivery,
|
|
}), 200
|
|
|
|
|
|
|
|
@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)
|
|
.all())
|
|
|
|
delivery_schema = Delivery_Delivery_schema(many=True)
|
|
return jsonify(delivery_schema.dump(get_delivery))
|
|
|
|
|
|
@deliverystatus.route("/count/waiting", methods=["GET"])
|
|
def get_deliveries_waiting_count():
|
|
"""
|
|
waiting deliveries scheduled out
|
|
"""
|
|
tomm = date.today() + timedelta(days=1)
|
|
get_delivery = (db.session
|
|
.query(Delivery_Delivery)
|
|
.filter(Delivery_Delivery.delivery_status == 0)
|
|
.count())
|
|
|
|
|
|
return jsonify({
|
|
"ok": True,
|
|
'count':get_delivery,
|
|
}), 200
|
|
|
|
|
|
@deliverystatus.route("/count/pending", methods=["GET"])
|
|
def get_deliveries_pending_count():
|
|
"""
|
|
|
|
"""
|
|
|
|
get_delivery = (db.session
|
|
.query(Delivery_Delivery)
|
|
.filter(Delivery_Delivery.delivery_status == 9)
|
|
.count())
|
|
|
|
|
|
return jsonify({
|
|
"ok": True,
|
|
'count':get_delivery,
|
|
}), 200
|