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

@@ -4,6 +4,9 @@ ENV PYTHONFAULTHANDLER=1
ENV PYTHONUNBUFFERED=1
ENV TZ=America/New_York
# RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENV MODE="PRODUCTION"
RUN mkdir -p /app

View File

@@ -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())

View File

@@ -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,

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,8 +326,7 @@ 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))
@@ -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,7 +465,7 @@ 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)
@@ -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"])

View File

@@ -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())

View File

@@ -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]

View File

@@ -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))

View File

@@ -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