Skip to content

Commit 261d711

Browse files
committed
Error resolved for Salesservice and Interwarehouse - README.md
1 parent 183407b commit 261d711

File tree

1 file changed

+73
-60
lines changed

1 file changed

+73
-60
lines changed

InventoryManagement/README.md

Lines changed: 73 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -469,28 +469,33 @@ sequenceDiagram
469469
activate StockService
470470
StockService->>StockRepo: findByProductAndWarehouse(productId, warehouseId)
471471
StockRepo->>DB: SELECT * FROM stocks WHERE...
472-
DB-->>StockService: Stock Entity
472+
DB-->>StockRepo: Stock Entity
473+
StockRepo-->>StockService: Stock Entity
473474
StockService-->>SaleService: Stock availability result
474475
deactivate StockService
475476
476477
alt Stock Available
477478
SaleService->>SaleRepo: save(sale)
479+
activate SaleRepo
478480
SaleRepo->>DB: INSERT INTO sales
479-
DB-->>SaleService: Sale Entity
481+
DB-->>SaleRepo: Sale Entity
482+
SaleRepo-->>SaleService: Sale Entity
483+
deactivate SaleRepo
480484
481485
SaleService->>StockService: reduceStock(productId, warehouseId, quantity)
482486
activate StockService
483487
StockService->>DB: UPDATE stocks SET quantity = quantity - ?
484488
DB-->>StockService: Updated
489+
StockService-->>SaleService: Success
485490
deactivate StockService
486491
487492
SaleService-->>SaleController: Sale Entity
488-
deactivate SaleService
489493
SaleController-->>Client: 201 Created
494+
deactivate SaleService
490495
else Insufficient Stock
491496
SaleService-->>SaleController: Error: Insufficient Stock
492-
deactivate SaleService
493497
SaleController-->>Client: 400 Bad Request
498+
deactivate SaleService
494499
end
495500
```
496501

@@ -505,66 +510,74 @@ sequenceDiagram
505510
participant StockService
506511
participant DB as MySQL Database
507512
508-
rect rgb(250, 240, 200)
509-
Note over Client,DB: 1. Initiate Transfer
510-
Client->>TransferController: POST /api/transfers
511-
Note over Client: Transfer Request:<br/>From Warehouse A → B<br/>Product, Quantity
513+
Note over Client,DB: Phase 1 - Initiate Transfer
514+
Client->>TransferController: POST /api/transfers
515+
Note over Client: Transfer Request:<br/>From Warehouse A to B<br/>Product, Quantity
512516
513-
TransferController->>TransferService: createTransfer(transfer)
514-
activate TransferService
515-
516-
TransferService->>StockService: checkStock(productId, fromWarehouseId, quantity)
517-
activate StockService
518-
StockService->>DB: SELECT quantity FROM stocks
519-
DB-->>StockService: Available Quantity
520-
StockService-->>TransferService: Stock check result
521-
deactivate StockService
522-
523-
alt Stock Available
524-
TransferService->>TransferRepo: save(transfer)
525-
TransferRepo->>DB: INSERT INTO transfers<br/>status='PENDING'
526-
DB-->>TransferService: Transfer (PENDING)
527-
TransferService-->>Client: 201 Created
528-
deactivate TransferService
529-
else Insufficient Stock
530-
TransferService-->>Client: 400 Bad Request
531-
deactivate TransferService
532-
end
517+
TransferController->>TransferService: createTransfer(transfer)
518+
activate TransferService
519+
520+
TransferService->>StockService: checkStock(productId, fromWarehouseId, quantity)
521+
activate StockService
522+
StockService->>DB: SELECT quantity FROM stocks
523+
DB-->>StockService: Available Quantity
524+
StockService-->>TransferService: Stock check result
525+
deactivate StockService
526+
527+
alt Stock Available
528+
TransferService->>TransferRepo: save(transfer)
529+
activate TransferRepo
530+
TransferRepo->>DB: INSERT INTO transfers (status='PENDING')
531+
DB-->>TransferRepo: Transfer (PENDING)
532+
TransferRepo-->>TransferService: Transfer (PENDING)
533+
deactivate TransferRepo
534+
TransferService-->>TransferController: Transfer Entity
535+
TransferController-->>Client: 201 Created
536+
deactivate TransferService
537+
else Insufficient Stock
538+
TransferService-->>TransferController: Error: Insufficient Stock
539+
TransferController-->>Client: 400 Bad Request
540+
deactivate TransferService
533541
end
534542
535-
rect rgb(250, 220, 220)
536-
Note over Client,DB: 2. Approve & Execute Transfer
537-
Client->>TransferController: PUT /api/transfers/{id}
538-
Note over Client: Update status: RECEIVED
543+
Note over Client,DB: Phase 2 - Approve and Execute Transfer
544+
Client->>TransferController: PUT /api/transfers/{id}
545+
Note over Client: Update status: RECEIVED
539546
540-
TransferController->>TransferService: updateTransfer(id, updated)
541-
activate TransferService
542-
543-
TransferService->>DB: BEGIN TRANSACTION
544-
545-
Note over TransferService: Reduce from source
546-
TransferService->>StockService: reduceStock(productId, fromWarehouseId, quantity)
547-
activate StockService
548-
StockService->>DB: UPDATE stocks SET quantity = quantity - ?<br/>WHERE product_id=? AND warehouse_id=?
549-
DB-->>StockService: Updated
550-
deactivate StockService
551-
552-
Note over TransferService: Add to destination
553-
TransferService->>StockService: addStock(productId, toWarehouseId, quantity)
554-
activate StockService
555-
StockService->>DB: UPDATE/INSERT stocks<br/>SET quantity = quantity + ?
556-
DB-->>StockService: Updated
557-
deactivate StockService
558-
559-
TransferService->>TransferRepo: save(updated)
560-
TransferRepo->>DB: UPDATE transfers SET status='RECEIVED'
561-
562-
TransferService->>DB: COMMIT TRANSACTION
563-
DB-->>TransferService: Transfer (RECEIVED)
564-
deactivate TransferService
565-
566-
TransferService-->>Client: 200 OK
567-
end
547+
TransferController->>TransferService: updateTransfer(id, updated)
548+
activate TransferService
549+
550+
TransferService->>DB: BEGIN TRANSACTION
551+
552+
Note over TransferService,DB: Reduce from source warehouse
553+
TransferService->>StockService: reduceStock(productId, fromWarehouseId, quantity)
554+
activate StockService
555+
StockService->>DB: UPDATE stocks SET quantity = quantity - ?
556+
DB-->>StockService: Updated
557+
StockService-->>TransferService: Success
558+
deactivate StockService
559+
560+
Note over TransferService,DB: Add to destination warehouse
561+
TransferService->>StockService: addStock(productId, toWarehouseId, quantity)
562+
activate StockService
563+
StockService->>DB: UPDATE/INSERT stocks SET quantity = quantity + ?
564+
DB-->>StockService: Updated
565+
StockService-->>TransferService: Success
566+
deactivate StockService
567+
568+
TransferService->>TransferRepo: save(updated)
569+
activate TransferRepo
570+
TransferRepo->>DB: UPDATE transfers SET status='RECEIVED'
571+
DB-->>TransferRepo: Updated Transfer
572+
TransferRepo-->>TransferService: Transfer (RECEIVED)
573+
deactivate TransferRepo
574+
575+
TransferService->>DB: COMMIT TRANSACTION
576+
DB-->>TransferService: Transaction Complete
577+
578+
TransferService-->>TransferController: Transfer Entity
579+
TransferController-->>Client: 200 OK
580+
deactivate TransferService
568581
```
569582

570583

0 commit comments

Comments
 (0)