Added components to article

This commit is contained in:
Dennis Nemec
2026-05-11 17:12:05 +02:00
parent 2470299a10
commit ac6b03227d
37 changed files with 1189 additions and 513 deletions

View File

@ -295,29 +295,42 @@ class Delivery implements Comparable<Delivery> {
List<Article> getDeliveredArticles() {
return articles
.where(
(article) => article.scannedAmount > 0 || !article.scannable,
)
.where((article) {
if (!article.scannable) return true;
if (article.isParent && article.components.isNotEmpty) {
return article.isFullyScanned;
}
return article.scannedAmount > 0;
})
.toList();
}
bool containsArticle(String articleNr) {
return articles.any((article) => article.articleNumber == articleNr);
return articles.any((article) => article.hasArticleNumber(articleNr));
}
Article getArticle(String nr) {
return articles.firstWhere((article) => article.articleNumber == nr);
}
/// Find the parent article whose BOM contains [componentArticleNr].
Article? findParentOfComponent(String componentArticleNr) {
for (final article in articles) {
if (article.isParent &&
article.findComponent(componentArticleNr) != null) {
return article;
}
}
return null;
}
List<Article> getScannableArticles() {
return articles.where((article) => article.scannable).toList();
}
bool allArticlesScanned() {
return getScannableArticles().every(
(article) =>
article.amount ==
article.scannedAmount + article.scannedRemovedAmount,
(article) => article.isFullyScanned,
);
}