Web: Mindestbestand je Lagerort laesst sich anlegen (mergeLoc ergaenzt neue Orte)
Der Endpunkt ersetzt die komplette Lagerort-Liste; mergeLoc iterierte aber nur ueber bestehende Eintraege und liess neue Orte weg. Dadurch entstand nie ein neuer je-Lagerort-Mindestbestand, wenn nur ein Gesamt-Wert (leere Ortsliste) oder ein Eintrag an einem anderen Ort existierte. Jetzt wird ein fehlender Ort ergaenzt und der Abgleich per String() unabhaengig vom id-Typ gemacht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -93,10 +93,16 @@ export default function MinStock() {
|
||||
return out;
|
||||
}, [products, groups, locations]);
|
||||
|
||||
// Eine Lagerort-Bedarfsliste mit einem geänderten/entfernten Eintrag neu bauen.
|
||||
const mergeLoc = (list, locId, num) => (list || [])
|
||||
.map((e) => ({ location_id: e.location_id, min_stock: e.location_id === locId ? num : e.min_stock }))
|
||||
.filter((e) => e.min_stock != null && e.min_stock > 0);
|
||||
// Eine Lagerort-Bedarfsliste mit einem geänderten/neuen/entfernten Eintrag neu
|
||||
// bauen. Der Endpunkt ersetzt die komplette Liste – neue Lagerorte müssen also
|
||||
// ergänzt (nicht nur bestehende geändert) werden, sonst wird nie einer angelegt.
|
||||
const mergeLoc = (list, locId, num) => {
|
||||
const out = (list || []).map((e) => ({ location_id: e.location_id, min_stock: e.min_stock }));
|
||||
const hit = out.find((e) => String(e.location_id) === String(locId));
|
||||
if (hit) hit.min_stock = num;
|
||||
else out.push({ location_id: locId, min_stock: num });
|
||||
return out.filter((e) => e.min_stock != null && e.min_stock > 0);
|
||||
};
|
||||
|
||||
async function saveSoll(row, value) {
|
||||
const roh = String(value).trim().replace(",", ".");
|
||||
|
||||
Reference in New Issue
Block a user