demo seed change
This commit is contained in:
@@ -33,9 +33,10 @@ class DeliveryTrackingService:
|
||||
Only one pod executes checks (others skip if not leader).
|
||||
"""
|
||||
|
||||
def __init__(self, event_publisher: UnifiedEventPublisher, config):
|
||||
def __init__(self, event_publisher: UnifiedEventPublisher, config, database_manager=None):
|
||||
self.publisher = event_publisher
|
||||
self.config = config
|
||||
self.database_manager = database_manager
|
||||
self.scheduler = AsyncIOScheduler()
|
||||
self.is_leader = False
|
||||
self.instance_id = str(uuid4())[:8] # Short instance ID for logging
|
||||
@@ -144,7 +145,7 @@ class DeliveryTrackingService:
|
||||
Returns list of tenant UUIDs that have purchase orders.
|
||||
"""
|
||||
try:
|
||||
async with self.config.database_manager.get_session() as session:
|
||||
async with self.database_manager.get_session() as session:
|
||||
# Get distinct tenant_ids that have purchase orders
|
||||
query = select(PurchaseOrder.tenant_id).distinct()
|
||||
result = await session.execute(query)
|
||||
@@ -260,7 +261,7 @@ class DeliveryTrackingService:
|
||||
List of delivery dicts with same structure as API endpoint
|
||||
"""
|
||||
try:
|
||||
async with self.config.database_manager.get_session() as session:
|
||||
async with self.database_manager.get_session() as session:
|
||||
# Calculate date range
|
||||
now = datetime.now(timezone.utc)
|
||||
end_date = now + timedelta(days=days_ahead)
|
||||
@@ -339,7 +340,7 @@ class DeliveryTrackingService:
|
||||
"supplier_id": str(po.supplier_id),
|
||||
"supplier_name": supplier_name,
|
||||
"supplier_phone": supplier_phone,
|
||||
"expected_delivery_date": po.expected_delivery_date.isoformat(),
|
||||
"expected_delivery_date": po.expected_delivery_date.isoformat() if po.expected_delivery_date else None,
|
||||
"delivery_window_hours": 4, # Default
|
||||
"status": po.status.value,
|
||||
"line_items": line_items,
|
||||
|
||||
@@ -1034,7 +1034,7 @@ class ProcurementService:
|
||||
async def _get_supplier_by_id(self, tenant_id, supplier_id):
|
||||
"""Get supplier details by ID"""
|
||||
try:
|
||||
return await self.suppliers_client.get_supplier(str(tenant_id), str(supplier_id))
|
||||
return await self.suppliers_client.get_supplier_by_id(str(tenant_id), str(supplier_id))
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to get supplier {supplier_id}: {e}")
|
||||
return None
|
||||
|
||||
@@ -1017,7 +1017,7 @@ class PurchaseOrderService:
|
||||
async def _get_and_validate_supplier(self, tenant_id: uuid.UUID, supplier_id: uuid.UUID) -> Dict[str, Any]:
|
||||
"""Get and validate supplier from Suppliers Service"""
|
||||
try:
|
||||
supplier = await self.suppliers_client.get_supplier(str(tenant_id), str(supplier_id))
|
||||
supplier = await self.suppliers_client.get_supplier_by_id(str(tenant_id), str(supplier_id))
|
||||
|
||||
if not supplier:
|
||||
raise ValueError("Supplier not found")
|
||||
@@ -1048,7 +1048,7 @@ class PurchaseOrderService:
|
||||
cache_key = f"{tenant_id}:{supplier_id}"
|
||||
|
||||
if cache_key not in self._supplier_cache:
|
||||
supplier = await self.suppliers_client.get_supplier(str(tenant_id), str(supplier_id))
|
||||
supplier = await self.suppliers_client.get_supplier_by_id(str(tenant_id), str(supplier_id))
|
||||
self._supplier_cache[cache_key] = supplier
|
||||
logger.debug("Supplier cache MISS", tenant_id=str(tenant_id), supplier_id=str(supplier_id))
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user