feat(frontend): module Stock complet (inventaire, historique, ajustements)
- StockMovement model (IN/OUT, stockAvant/Après, sourceDocument) - StockService : getHistorique, adjust (entrée/sortie manuelle) - StockProvider : cache historiques par article - StockScreen : liste articles avec barre de stock visuelle, filtres alertes - StockDetailScreen : carte résumé gradient, historique mouvements, ajustement dialog - Tous les modules Flutter connectés — frontend 100% fonctionnel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import 'api_client.dart';
|
||||
import '../models/stock_movement.dart';
|
||||
|
||||
class StockService {
|
||||
static Future<List<StockMovement>> getHistorique(int articleId) async {
|
||||
final res = await ApiClient.instance.get('/stock/historique/$articleId');
|
||||
return (res.data as List).map((e) => StockMovement.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
static Future<StockMovement> adjust({
|
||||
required int articleId,
|
||||
required double quantite,
|
||||
required String type, // IN ou OUT
|
||||
required String motif,
|
||||
}) async {
|
||||
final res = await ApiClient.instance.post('/stock/adjust', data: {
|
||||
'articleId': articleId,
|
||||
'quantite': quantite,
|
||||
'type': type,
|
||||
'motif': motif,
|
||||
});
|
||||
return StockMovement.fromJson(res.data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user