@@ -470,26 +470,24 @@ sequenceDiagram
470470 StockService->>StockRepo: findByProductAndWarehouse(productId, warehouseId)
471471 StockRepo->>DB: SELECT * FROM stocks WHERE...
472472 DB-->>StockService: Stock Entity
473+ StockService-->>SaleService: Stock availability result
474+ deactivate StockService
473475
474476 alt Stock Available
475- StockService-->>SaleService: true
476- deactivate StockService
477-
478477 SaleService->>SaleRepo: save(sale)
479478 SaleRepo->>DB: INSERT INTO sales
480479 DB-->>SaleService: Sale Entity
481480
482481 SaleService->>StockService: reduceStock(productId, warehouseId, quantity)
483482 activate StockService
484483 StockService->>DB: UPDATE stocks SET quantity = quantity - ?
484+ DB-->>StockService: Updated
485485 deactivate StockService
486486
487487 SaleService-->>SaleController: Sale Entity
488488 deactivate SaleService
489489 SaleController-->>Client: 201 Created
490490 else Insufficient Stock
491- StockService-->>SaleService: false (Insufficient Stock)
492- deactivate StockService
493491 SaleService-->>SaleController: Error: Insufficient Stock
494492 deactivate SaleService
495493 SaleController-->>Client: 400 Bad Request
@@ -519,19 +517,16 @@ sequenceDiagram
519517 activate StockService
520518 StockService->>DB: SELECT quantity FROM stocks
521519 DB-->>StockService: Available Quantity
520+ StockService-->>TransferService: Stock check result
521+ deactivate StockService
522522
523523 alt Stock Available
524- StockService-->>TransferService: true
525- deactivate StockService
526-
527524 TransferService->>TransferRepo: save(transfer)
528525 TransferRepo->>DB: INSERT INTO transfers<br/>status='PENDING'
529526 DB-->>TransferService: Transfer (PENDING)
530527 deactivate TransferService
531528 TransferService-->>Client: 201 Created
532529 else Insufficient Stock
533- StockService-->>TransferService: false
534- deactivate StockService
535530 deactivate TransferService
536531 TransferService-->>Client: 400 Bad Request
537532 end
@@ -551,12 +546,14 @@ sequenceDiagram
551546 TransferService->>StockService: reduceStock(productId, fromWarehouseId, quantity)
552547 activate StockService
553548 StockService->>DB: UPDATE stocks SET quantity = quantity - ?<br/>WHERE product_id=? AND warehouse_id=?
549+ DB-->>StockService: Updated
554550 deactivate StockService
555551
556552 Note over TransferService: Add to destination
557553 TransferService->>StockService: addStock(productId, toWarehouseId, quantity)
558554 activate StockService
559555 StockService->>DB: UPDATE/INSERT stocks<br/>SET quantity = quantity + ?
556+ DB-->>StockService: Updated
560557 deactivate StockService
561558
562559 TransferService->>TransferRepo: save(updated)
@@ -570,6 +567,7 @@ sequenceDiagram
570567 end
571568```
572569
570+
573571### Advanced Query Flow (Low Stock Alert)
574572
575573``` mermaid
0 commit comments