demo seed change 6
This commit is contained in:
@@ -275,17 +275,30 @@ async def clone_demo_data(
|
|||||||
"order_date"
|
"order_date"
|
||||||
) or session_time
|
) or session_time
|
||||||
|
|
||||||
|
# Handle delivery date - JSON uses 'delivery_date', database uses 'requested_delivery_date'
|
||||||
|
# Fallback to order_date + 2 hours if no delivery date is provided
|
||||||
|
delivery_date_value = order_data.get('delivery_date') or order_data.get('requested_delivery_date')
|
||||||
adjusted_requested_delivery = parse_date_field(
|
adjusted_requested_delivery = parse_date_field(
|
||||||
order_data.get('requested_delivery_date'),
|
delivery_date_value,
|
||||||
session_time,
|
session_time,
|
||||||
"requested_delivery_date"
|
"requested_delivery_date"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Ensure requested_delivery_date is never None - fallback to order_date + 2 hours
|
||||||
|
if adjusted_requested_delivery is None:
|
||||||
|
adjusted_requested_delivery = adjusted_order_date + timedelta(hours=2)
|
||||||
|
|
||||||
# Create new order from seed data
|
# Create new order from seed data
|
||||||
|
# Generate unique order number by appending tenant-specific suffix
|
||||||
|
base_order_number = order_data.get('order_number', f"ORD-{uuid.uuid4().hex[:8].upper()}")
|
||||||
|
# Add tenant-specific suffix to ensure global uniqueness
|
||||||
|
tenant_suffix = virtual_uuid.hex[:4].upper() # Use first 4 chars of tenant ID
|
||||||
|
unique_order_number = f"{base_order_number}-{tenant_suffix}"
|
||||||
|
|
||||||
new_order = CustomerOrder(
|
new_order = CustomerOrder(
|
||||||
id=str(transformed_id),
|
id=str(transformed_id),
|
||||||
tenant_id=virtual_uuid,
|
tenant_id=virtual_uuid,
|
||||||
order_number=order_data.get('order_number', f"ORD-{uuid.uuid4().hex[:8].upper()}"),
|
order_number=unique_order_number,
|
||||||
customer_id=str(customer_id_value) if customer_id_value else None,
|
customer_id=str(customer_id_value) if customer_id_value else None,
|
||||||
status=order_data.get('status', 'pending'),
|
status=order_data.get('status', 'pending'),
|
||||||
order_type=order_data.get('order_type', 'standard'),
|
order_type=order_data.get('order_type', 'standard'),
|
||||||
@@ -305,7 +318,7 @@ async def clone_demo_data(
|
|||||||
payment_method=order_data.get('payment_method'),
|
payment_method=order_data.get('payment_method'),
|
||||||
payment_terms=order_data.get('payment_terms'),
|
payment_terms=order_data.get('payment_terms'),
|
||||||
special_instructions=order_data.get('special_instructions'),
|
special_instructions=order_data.get('special_instructions'),
|
||||||
order_source=order_data.get('order_source', 'demo'),
|
order_source=order_data.get('order_source', 'manual'),
|
||||||
sales_channel=order_data.get('sales_channel', 'direct'),
|
sales_channel=order_data.get('sales_channel', 'direct'),
|
||||||
created_at=session_time,
|
created_at=session_time,
|
||||||
updated_at=session_time
|
updated_at=session_time
|
||||||
|
|||||||
Reference in New Issue
Block a user