Added automatic stuff
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from flask import request, jsonify
|
||||
from datetime import datetime
|
||||
from app.delivery_data import delivery_data
|
||||
from app import db
|
||||
from app.classes.customer import Customer_Customer
|
||||
@@ -6,7 +7,7 @@ from app.classes.delivery import Delivery_Delivery
|
||||
from app.classes.employee import Employee_Employee
|
||||
from app.classes.cards import Card_Card
|
||||
from app.classes.stats_employee import Stats_Employee_Oil, Stats_Employee_Office
|
||||
|
||||
from app.classes.auto import Auto_Delivery
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +20,8 @@ def office_finalize_delivery(delivery_id):
|
||||
"""
|
||||
Finalizes a delivery from office
|
||||
"""
|
||||
now = datetime.utcnow()
|
||||
|
||||
get_delivery = db.session \
|
||||
.query(Delivery_Delivery) \
|
||||
.filter(Delivery_Delivery.id == delivery_id) \
|
||||
@@ -38,6 +41,40 @@ def office_finalize_delivery(delivery_id):
|
||||
else:
|
||||
card_payment_id = None
|
||||
|
||||
if get_delivery.automatic == 1:
|
||||
|
||||
get_auto_delivery = (db.session
|
||||
.query(Auto_Delivery)
|
||||
.filter(Auto_Delivery.customer_id == get_delivery.customer_id)
|
||||
.first())
|
||||
|
||||
customer_home_factor = get_auto_delivery.house_factor
|
||||
|
||||
if gallons_delivered == 150:
|
||||
get_auto_delivery.house_factor = customer_home_factor
|
||||
elif 200.01 >= gallons_delivered:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1
|
||||
elif 170.01 <= gallons_delivered <= 200:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1.5
|
||||
elif 150.01 <= gallons_delivered <= 199:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1.25
|
||||
elif 120.01 <= gallons_delivered <= 150:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .25
|
||||
elif 90.01 <= gallons_delivered <= 120:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .50
|
||||
elif 0.01 <= gallons_delivered <= 90:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .75
|
||||
else:
|
||||
get_auto_delivery.house_factor = customer_home_factor
|
||||
|
||||
|
||||
get_auto_delivery.tank_height = 'Full'
|
||||
get_auto_delivery.last_fill = now
|
||||
get_auto_delivery.estimated_gallons_left = 240
|
||||
get_auto_delivery.estimated_gallons_left_prev_day = 240
|
||||
|
||||
db.session.add(get_auto_delivery)
|
||||
|
||||
|
||||
if card_payment_id is not None:
|
||||
get_card = (db.session
|
||||
@@ -100,13 +137,15 @@ def driver_finalize_delivery(delivery_id):
|
||||
"""
|
||||
Finalizes a delivery from office
|
||||
"""
|
||||
print(request.json)
|
||||
|
||||
now = datetime.utcnow()
|
||||
|
||||
|
||||
get_delivery = (db.session
|
||||
.query(Delivery_Delivery)
|
||||
.filter(Delivery_Delivery.id == delivery_id)
|
||||
.first())
|
||||
|
||||
print(get_delivery.id)
|
||||
get_stats = (db.session
|
||||
.query(Stats_Employee_Oil)
|
||||
.filter(Stats_Employee_Oil.employee_id == get_delivery.driver_employee_id)
|
||||
@@ -124,27 +163,73 @@ def driver_finalize_delivery(delivery_id):
|
||||
.filter(Employee_Employee.id == delivery_driver_id)
|
||||
.first())
|
||||
|
||||
|
||||
customer_filled = request.json["customer_filled"]
|
||||
if customer_filled is True:
|
||||
customer_filled = 1
|
||||
if get_delivery.automatic == 0:
|
||||
customer_filled = request.json["customer_filled"]
|
||||
if customer_filled is True:
|
||||
customer_filled = 1
|
||||
else:
|
||||
customer_filled = 0
|
||||
else:
|
||||
customer_filled = 0
|
||||
customer_filled = 1
|
||||
|
||||
if request.json["cash_amount"]:
|
||||
cash_amount = request.json["cash_amount"]
|
||||
if get_delivery.automatic == 0:
|
||||
if request.json["cash_amount"]:
|
||||
cash_amount = request.json["cash_amount"]
|
||||
else:
|
||||
cash_amount = None
|
||||
else:
|
||||
cash_amount = None
|
||||
|
||||
prime_info = request.json["prime"]
|
||||
if prime_info is True:
|
||||
prime_info = 1
|
||||
current_primes = get_stats.total_primes
|
||||
newprimes = current_primes + 1
|
||||
get_stats.total_primes = newprimes
|
||||
if get_delivery.automatic == 0:
|
||||
prime_info = request.json["prime"]
|
||||
if prime_info is True:
|
||||
prime_info = 1
|
||||
current_primes = get_stats.total_primes
|
||||
newprimes = current_primes + 1
|
||||
get_stats.total_primes = newprimes
|
||||
else:
|
||||
prime_info = 0
|
||||
else:
|
||||
prime_info = 0
|
||||
|
||||
|
||||
## AUTOMATIC
|
||||
|
||||
if get_delivery.automatic == 1:
|
||||
|
||||
get_auto_delivery = (db.session
|
||||
.query(Auto_Delivery)
|
||||
.filter(Auto_Delivery.customer_id == get_delivery.customer_id)
|
||||
.first())
|
||||
|
||||
customer_home_factor = get_auto_delivery.house_factor
|
||||
|
||||
if gallons_delivered == 150:
|
||||
get_auto_delivery.house_factor = customer_home_factor
|
||||
elif 200.01 >= gallons_delivered:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1
|
||||
elif 170.01 <= gallons_delivered <= 200:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1.5
|
||||
elif 150.01 <= gallons_delivered <= 199:
|
||||
get_auto_delivery.house_factor = customer_home_factor + 1.25
|
||||
elif 120.01 <= gallons_delivered <= 150:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .25
|
||||
elif 90.01 <= gallons_delivered <= 120:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .50
|
||||
elif 0.01 <= gallons_delivered <= 90:
|
||||
get_auto_delivery.house_factor = customer_home_factor - .75
|
||||
else:
|
||||
get_auto_delivery.house_factor = customer_home_factor
|
||||
|
||||
|
||||
get_auto_delivery.tank_height = 'Full'
|
||||
get_auto_delivery.last_fill = now
|
||||
get_auto_delivery.estimated_gallons_left = 240
|
||||
get_auto_delivery.estimated_gallons_left_prev_day = 240
|
||||
|
||||
db.session.add(get_auto_delivery)
|
||||
|
||||
|
||||
get_delivery.gallons_delivered = gallons_delivered
|
||||
|
||||
get_delivery.prime = prime_info
|
||||
@@ -164,16 +249,20 @@ def driver_finalize_delivery(delivery_id):
|
||||
current_gallons_delivered = get_stats.total_gallons_delivered + gallons_delivered
|
||||
get_stats.total_gallons_delivered = current_gallons_delivered
|
||||
|
||||
|
||||
|
||||
# update delivery status to delivered
|
||||
if get_delivery.payment_type == 0:
|
||||
get_delivery.delivery_status = 10
|
||||
if get_delivery.automatic == 0:
|
||||
if get_delivery.payment_type == 0:
|
||||
get_delivery.delivery_status = 10
|
||||
else:
|
||||
#office needs to confirm credit card
|
||||
get_delivery.delivery_status = 1
|
||||
else:
|
||||
#office needs to confirm credit card
|
||||
get_delivery.delivery_status = 1
|
||||
|
||||
|
||||
db.session.add(get_stats)
|
||||
db.session.add(get_delivery)
|
||||
|
||||
db.session.commit()
|
||||
|
||||
return jsonify({
|
||||
|
||||
Reference in New Issue
Block a user