added pending waiting
This commit is contained in:
@@ -28,12 +28,12 @@ class Delivery_Delivery(db.Model):
|
||||
customer_filled = db.Column(db.INTEGER)
|
||||
# integer value if delivered, waiting, cancelled etc
|
||||
# waiting = 0
|
||||
# delivered = 1
|
||||
# cancelled = 1
|
||||
# out for delivery = 2
|
||||
# cancelled = 3
|
||||
# partial delivery = 4
|
||||
# tommorrow = 3
|
||||
# issue = 5
|
||||
# finalized = 10
|
||||
|
||||
delivery_status = db.Column(db.INTEGER)
|
||||
|
||||
# when the call to order took place
|
||||
@@ -51,7 +51,7 @@ class Delivery_Delivery(db.Model):
|
||||
customer_price = db.Column(db.DECIMAL(6, 2))
|
||||
# weather
|
||||
customer_temperature = db.Column(db.DECIMAL(6, 2))
|
||||
# services
|
||||
|
||||
dispatcher_notes = db.Column(db.TEXT())
|
||||
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ def all_customers(page):
|
||||
pagination all customers
|
||||
"""
|
||||
|
||||
per_page_amount = 50
|
||||
per_page_amount = 10
|
||||
if page is None:
|
||||
offset_limit = 0
|
||||
elif page == 1:
|
||||
@@ -200,7 +200,7 @@ def create_customer():
|
||||
|
||||
create_stats_customer = Stats_Customer(
|
||||
customer_id = new_customer.id,
|
||||
total_calls = 1,
|
||||
total_calls = 0,
|
||||
service_calls_total = 0,
|
||||
service_calls_total_spent = 0,
|
||||
service_calls_total_profit = 0,
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -17,8 +17,7 @@ def delivered_delivery():
|
||||
|
||||
delivery_ticket = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(or_(Delivery_Delivery.delivery_status == 1,
|
||||
Delivery_Delivery.delivery_status == 10))
|
||||
.filter(Delivery_Delivery.delivery_status == 10)
|
||||
.all())
|
||||
|
||||
|
||||
@@ -30,8 +29,7 @@ def delivered_delivery_count():
|
||||
|
||||
delivery_ticket = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(or_(Delivery_Delivery.delivery_status == 1,
|
||||
Delivery_Delivery.delivery_status == 10))
|
||||
.filter(Delivery_Delivery.delivery_status == 10)
|
||||
.count())
|
||||
|
||||
return jsonify({
|
||||
@@ -39,6 +37,7 @@ def delivered_delivery_count():
|
||||
'count':delivery_ticket,
|
||||
}), 200
|
||||
|
||||
|
||||
@deliverystatus.route("/today/driver/<int:user_id>", methods=["GET"])
|
||||
def get_deliveries_driver_today(user_id):
|
||||
"""
|
||||
@@ -56,17 +55,13 @@ def get_deliveries_driver_today(user_id):
|
||||
|
||||
|
||||
@deliverystatus.route("/count/today", methods=["GET"])
|
||||
def get_deliveries_driver_today_count():
|
||||
def get_deliveries_today_count():
|
||||
"""
|
||||
Get deliveries for driver that day
|
||||
"""
|
||||
get_delivery = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(Delivery_Delivery.delivery_status != 10)
|
||||
.filter(Delivery_Delivery.delivery_status != 5)
|
||||
.filter(Delivery_Delivery.delivery_status != 3)
|
||||
.filter(Delivery_Delivery.delivery_status != 1)
|
||||
.filter(Delivery_Delivery.expected_delivery_date == date.today())
|
||||
.filter(Delivery_Delivery.delivery_status == 2)
|
||||
.count())
|
||||
|
||||
return jsonify({
|
||||
@@ -85,7 +80,7 @@ def get_deliveries_driver_tommorrow(user_id):
|
||||
get_delivery = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(Delivery_Delivery.driver_employee_id == user_id)
|
||||
.filter(Delivery_Delivery.expected_delivery_date == tomm)
|
||||
.filter(Delivery_Delivery.delivery_status == 3)
|
||||
.all())
|
||||
|
||||
delivery_schema = Delivery_Delivery_schema(many=True)
|
||||
@@ -99,7 +94,7 @@ def get_deliveries_driver_tommorrow_count():
|
||||
tomm = date.today() + timedelta(days=1)
|
||||
get_delivery = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(Delivery_Delivery.expected_delivery_date == tomm)
|
||||
.filter(Delivery_Delivery.delivery_status == 3)
|
||||
.count())
|
||||
|
||||
return jsonify({
|
||||
@@ -119,8 +114,6 @@ def get_deliveries_driver_waiting(user_id):
|
||||
.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)
|
||||
@@ -128,17 +121,32 @@ def get_deliveries_driver_waiting(user_id):
|
||||
|
||||
|
||||
@deliverystatus.route("/count/waiting", methods=["GET"])
|
||||
def get_deliveries_driver_waiting_count():
|
||||
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)
|
||||
.filter(Delivery_Delivery.expected_delivery_date != tomm)
|
||||
.filter(Delivery_Delivery.expected_delivery_date != date.today())
|
||||
.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())
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ def create_user_card(user_id):
|
||||
type_of_card = request.json["type_of_card"]
|
||||
security_number = request.json["security_number"]
|
||||
main_card = request.json["main_card"]
|
||||
zip_code = request.json["main_card"]
|
||||
zip_code = request.json["zip_code"]
|
||||
|
||||
card_number = request.json["card_number"]
|
||||
last_four = card_number[-4]
|
||||
|
||||
@@ -20,6 +20,7 @@ def get_customer_posts(customer_id, page):
|
||||
customer_posts = (db.session
|
||||
.query(Customer_Customer_Social)
|
||||
.filter(Customer_Customer_Social.customer_id == customer_id)
|
||||
.order_by(Customer_Customer_Social.id.desc())
|
||||
.limit(per_page_amount).offset(offset_limit))
|
||||
customer_social_schema = Customer_Customer_Social_schema(many=True)
|
||||
return jsonify(customer_social_schema.dump(customer_posts))
|
||||
|
||||
@@ -160,6 +160,7 @@ def get_user_last_delivery(user_id):
|
||||
get_delivery= db.session \
|
||||
.query(Delivery_Delivery) \
|
||||
.filter(Delivery_Delivery.customer_id == user_id) \
|
||||
.filter(Delivery_Delivery.delivery_status == 10) \
|
||||
.order_by(Delivery_Delivery.id.desc())\
|
||||
.first()
|
||||
if get_delivery:
|
||||
@@ -167,7 +168,7 @@ def get_user_last_delivery(user_id):
|
||||
else:
|
||||
date_delivered = "no deliveries on record"
|
||||
return jsonify({"ok": True,
|
||||
'date': date_delivered,
|
||||
'date': str(date_delivered),
|
||||
}), 200
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user