Files
bakery-ia/frontend/src/components/domain/unified-wizard/wizards
Claude 2765c3da89 refactor: Remove frontend auto-generation logic, delegate to backend
ARCHITECTURAL CHANGE: Migrated from frontend-based code generation to
backend-based generation following best practices discovered in the orders
service implementation.

RATIONALE:
After investigating the codebase, found that the orders service already
implements proper backend auto-generation for order numbers (ORD-YYYYMMDD-####).
This approach is superior to frontend generation for several reasons:

1. **Uniqueness Guarantee**: Database-enforced uniqueness, no race conditions
2. **Sequential Numbering**: True sequential IDs per tenant per day
3. **Consistent Format**: Server-controlled format ensures consistency
4. **Audit Trail**: Full server-side logging and tracking
5. **Simplicity**: No complex frontend state management
6. **Performance**: One less re-render trigger in wizards

CHANGES MADE:

**InventoryWizard.tsx:**
-  Removed: useRef, useEffect auto-generation logic
-  Removed: SKU generation (SKU-{name}-{timestamp})
-  Changed: SKU field to optional with new placeholder
-  Updated: Tooltip to indicate backend generation
-  Simplified: Removed unnecessary imports (useEffect, useRef)

**QualityTemplateWizard.tsx:**
-  Removed: useRef, useEffect auto-generation logic
-  Removed: Template code generation (TPL-{name}-{timestamp})
-  Changed: Template code field to optional
-  Updated: Placeholder text for clarity
-  Simplified: Removed unnecessary imports

**CustomerOrderWizard.tsx:**
-  Removed: useRef, useEffect auto-generation logic
-  Removed: Order number generation (ORD-{timestamp})
-  Changed: Order number field to read-only/disabled
-  Updated: Shows "Auto-generated on save" placeholder
-  Added: Tooltip explaining backend format (ORD-YYYYMMDD-####)

NEXT STEPS (Backend Implementation Required):
1. Inventory Service: Add SKU generation method (similar to order_number)
2. Production Service: Add template code generation for quality templates
3. Format suggestions:
   - SKU: "SKU-{TENANT_PREFIX}-{SEQUENCE}" or similar
   - Template Code: "TPL-{TYPE_PREFIX}-{SEQUENCE}"

BENEFITS:
-  Eliminates all focus loss issues from auto-generation
-  Removes complex state management from frontend
-  Ensures true uniqueness at database level
-  Better user experience with clear messaging
-  Follows established patterns from orders service
-  Cleaner, more maintainable code

This change completes the frontend simplification. Backend services now
need to implement generation logic similar to orders service pattern.
2025-11-10 12:12:50 +00:00
..