getPositionsBasedOnHuDetails method
Implementation
List<NPPIHeaderPosition> getPositionsBasedOnHuDetails({
required HuDetails? huDetails,
required String? batchNumber,
required String regionString,
}) {
final positions = getPositionsWithoutPalletPosition();
if (huDetails == null) return positions;
if (huDetails.toHuItem?.isEmpty ?? true) return [];
for (int i = 0; i < positions.length; i++) {
HuItem? huItem = huDetails.toHuItem?.firstWhereOrNull((item) {
bool itemFound = item.material == positions[i].materialNumber;
if (!itemFound) return false;
return item.huItemType == '1' ? item.batch == batchNumber : itemFound;
});
if (huItem != null) {
if (huItem.huItemType == '1') {
positions[i] = positions[i].copyWith(
targetQuantity: huItem.packQuantity,
);
}
if (huItem.huItemType == '2') {
positions[i] = positions[i].copyWith(
targetQuantity: huItem.numberPackagingMaterial
?.toDouble()
.getFormattedQuantityString(
regionString: regionString,
replaceComasAndAddDots: true,
),
);
}
} else {
positions.removeAt(i);
}
}
return positions;
}