added pending waiting

This commit is contained in:
2024-10-30 17:04:58 -04:00
parent b3f0e85574
commit 5e5b9274e1
8 changed files with 144 additions and 77 deletions

View File

@@ -3,6 +3,7 @@ from flask_login import current_user
from datetime import date, datetime, timedelta
from app.delivery import delivery
from app import db
from sqlalchemy import or_
from app.classes.customer import (Customer_Customer)
from app.classes.delivery import (Delivery_Delivery,
Delivery_Delivery_schema,
@@ -16,6 +17,82 @@ from app.classes.promo import Promo_Promo
from app.classes.stats_customer import Stats_Customer
@delivery.route("/updatestatus", methods=["GET"])
def move_deliveries():
"""
This will get deliveries not done
"""
counter = 0
today = date.today()
deliveries_today = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status != 5)
.filter(Delivery_Delivery.delivery_status != 1)
.filter(Delivery_Delivery.expected_delivery_date == today)
.all())
for f in deliveries_today:
if f.delivery_status != 2:
f.delivery_status = 2
db.session.add(f)
counter = counter + 1
tomm = date.today() + timedelta(days=1)
deliveries_tom = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status != 5)
.filter(Delivery_Delivery.delivery_status != 1)
.filter(Delivery_Delivery.expected_delivery_date == tomm)
.all())
for g in deliveries_tom:
if g.delivery_status != 3:
g.delivery_status = 3
db.session.add(g)
counter = counter + 1
deliveries_waiting = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status != 5)
.filter(Delivery_Delivery.delivery_status != 1)
.filter(Delivery_Delivery.expected_delivery_date != tomm)
.filter(Delivery_Delivery.expected_delivery_date > today)
.all())
for r in deliveries_waiting:
if r.delivery_status != 0:
r.delivery_status = 0
db.session.add(r)
counter = counter + 1
deliveries_pending = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status != 5)
.filter(Delivery_Delivery.delivery_status != 1)
.filter(Delivery_Delivery.expected_delivery_date < today)
.all())
for t in deliveries_pending:
if t.delivery_status != 9:
t.delivery_status = 9
db.session.add(t)
counter = counter + 1
if counter > 0:
db.session.commit()
return jsonify({
"ok": True,
'update': True,
}), 200
return jsonify({"ok": True}), 200
@delivery.route("/<int:delivery_id>", methods=["GET"])
def get_a_delivery(delivery_id):
"""
@@ -33,7 +110,7 @@ def get_a_delivery(delivery_id):
'delivery_expected_delivery_date': str(get_delivery.expected_delivery_date),
'delivery_asked_for_fill': get_delivery.customer_asked_for_fill,
'delivery_gallons_ordered': get_delivery.gallons_ordered,
'delivery_dispatcher_notes': get_delivery.dispatcher_notes,
'dispatcher_notes_taken': get_delivery.dispatcher_notes,
'delivery_prime': get_delivery.prime,
'delivery_emergency': get_delivery.emergency,
'delivery_same_day': get_delivery.same_day,
@@ -112,7 +189,7 @@ def update_a_delivery_payment(delivery_id, type_of_payment):
@delivery.route("/all/<int:page>", methods=["GET"])
def get_deliveries_not_delivered_all(page):
def get_deliveries_all(page):
"""
This will get deliveries not done
"""
@@ -177,7 +254,7 @@ def get_deliveries_not_delivered(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 0)
.filter(Delivery_Delivery.delivery_status != 10)
.order_by(Delivery_Delivery.when_ordered.desc())
.limit(per_page_amount).offset(offset_limit))
@@ -201,7 +278,10 @@ def get_deliveries_waiting(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 0)
.filter(or_(Delivery_Delivery.delivery_status == 0,
)
)
.filter(Delivery_Delivery.expected_delivery_date != date.today())
.order_by(Delivery_Delivery.when_ordered.desc())
.limit(per_page_amount).offset(offset_limit))
@@ -210,10 +290,10 @@ def get_deliveries_waiting(page):
@delivery.route("/delivered/<int:page>", methods=["GET"])
def get_deliveries_delivered(page):
@delivery.route("/pending/<int:page>", methods=["GET"])
def get_deliveries_pending(page):
"""
This will get deliveries not done
"""
per_page_amount = 50
if page is None:
@@ -225,19 +305,16 @@ def get_deliveries_delivered(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 1)
.order_by(Delivery_Delivery.when_ordered.desc())
.filter(Delivery_Delivery.delivery_status == 9)
.order_by(Delivery_Delivery.delivery_status.asc())
.limit(per_page_amount).offset(offset_limit))
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@delivery.route("/outfordelivery/<int:page>", methods=["GET"])
def get_deliveries_outfordelivery(page):
"""
This will get deliveries not done
"""
per_page_amount = 50
if page is None:
@@ -249,11 +326,10 @@ def get_deliveries_outfordelivery(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status == 2)
.order_by(Delivery_Delivery.delivery_status.asc())
.limit(per_page_amount).offset(offset_limit))
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@@ -275,10 +351,11 @@ def get_deliveries_tommorrow(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == tomm)
.filter(Delivery_Delivery.delivery_status == 3)
.order_by(Delivery_Delivery.when_ordered.desc())
.limit(per_page_amount).offset(offset_limit))
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@@ -323,7 +400,7 @@ def get_deliveries_cancelled(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 3)
.filter(Delivery_Delivery.delivery_status == 1)
.order_by(Delivery_Delivery.when_ordered.desc())
.limit(per_page_amount).offset(offset_limit))
@@ -388,9 +465,9 @@ def get_deliveries_today():
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.filter(Delivery_Delivery.delivery_status == 2)
.all())
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@@ -399,7 +476,7 @@ def get_deliveries_today():
@delivery.route("/edit/<int:delivery_id>", methods=["POST"])
def edit_a_delivery(delivery_id):
"""
This will create a delivery using a customer id
This will edit a delivery using a delivery id
"""
get_delivery = db.session \
.query(Delivery_Delivery) \
@@ -419,11 +496,10 @@ def edit_a_delivery(delivery_id):
delivery_status = request.json["delivery_status"]
when_to_deliver = request.json["expected_delivery_date"]
when_ordered = request.json["created_delivery_date"]
dispatcher_notes_taken = request.json["dispatcher_notes_taken"]
customer_wants_fill = request.json["customer_asked_for_fill"]
card_payment = request.json["credit"]
cash_payment = request.json["cash"]
dispatcher_notes = request.json["dispatcher_notes_taken"]
delivery_driver_id = request.json["driver_employee_id"]
@@ -500,12 +576,13 @@ def edit_a_delivery(delivery_id):
else:
prime_info = 0
dispatcher_notes
get_delivery.dispatcher_notes = dispatcher_notes
get_delivery.delivery_status = delivery_status
get_delivery.gallons_ordered = gallons_ordered
get_delivery.customer_asked_for_fill = customer_wants_fill
get_delivery.expected_delivery_date = when_to_deliver
get_delivery.when_ordered = when_ordered
get_delivery.dispatcher_notes = dispatcher_notes_taken
get_delivery.prime = prime_info
get_delivery.same_day = same_day_info
get_delivery.gallons_ordered = gallons_ordered
@@ -547,6 +624,7 @@ def create_a_delivery(user_id):
if not get_customer:
return jsonify({"ok": False}), 200
else:
gallons_ordered = request.json["gallons_ordered"]
customer_wants_fill = request.json["customer_asked_for_fill"]
when_to_deliver = request.json["expected_delivery_date"]
@@ -650,7 +728,7 @@ def create_a_delivery(user_id):
same_day_asked = 0
customer_filled_name = get_customer.customer_last_name + ' ' + get_customer.customer_first_name
customer_filled_name = get_customer.customer_first_name + ' ' + get_customer.customer_last_name
now = datetime.utcnow()
# Pricing
@@ -747,7 +825,7 @@ def cancel_a_delivery(delivery_id):
.filter(Delivery_Delivery.id == delivery_id)\
.first()
get_delivery.delivery_status = 3
get_delivery.delivery_status = 1
db.session.add(get_delivery)
db.session.commit()
@@ -837,7 +915,7 @@ def delivery_note_driver(delivery_id):
@delivery.route("/delete/<int:delivery_id>", methods=["DELETE"])
def service_delete_call(delivery_id):
def delete_call(delivery_id):
"""
delete a delivery call
"""
@@ -851,30 +929,6 @@ def service_delete_call(delivery_id):
return jsonify({"ok": True}), 200
@delivery.route("/updatestatus/outfordelivery", methods=["GET"])
def move_waiting_to_outtodelivery():
"""
This will get deliveries not done
"""
counter = 0
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 0)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.all())
for f in deliveries:
f.delivery_status = 2
db.session.add(f)
counter = counter + 1
if counter > 0:
db.session.commit()
return jsonify({
"ok": True,
'update': True,
}), 200
return jsonify({"ok": True}), 200
@delivery.route("/total/<int:delivery_id>", methods=["GET"])