rework internal order system
This commit is contained in:
@@ -519,6 +519,16 @@ async function updateRequest(
|
||||
}
|
||||
|
||||
if (data.items) {
|
||||
// Preserve geliefert state for matching items (by artikel_id + bezeichnung)
|
||||
const existingPositionen = await client.query(
|
||||
'SELECT artikel_id, bezeichnung, geliefert FROM ausruestung_anfrage_positionen WHERE anfrage_id = $1',
|
||||
[id],
|
||||
);
|
||||
const geliefertMap = new Map<string, boolean>();
|
||||
for (const p of existingPositionen.rows) {
|
||||
geliefertMap.set(`${p.artikel_id ?? 0}:${p.bezeichnung}`, p.geliefert);
|
||||
}
|
||||
|
||||
await client.query('DELETE FROM ausruestung_anfrage_positionen WHERE anfrage_id = $1', [id]);
|
||||
for (const item of data.items) {
|
||||
let itemBezeichnung = item.bezeichnung;
|
||||
@@ -531,10 +541,11 @@ async function updateRequest(
|
||||
itemBezeichnung = artikelResult.rows[0].bezeichnung;
|
||||
}
|
||||
}
|
||||
const prevGeliefert = geliefertMap.get(`${item.artikel_id ?? 0}:${itemBezeichnung}`) ?? false;
|
||||
await client.query(
|
||||
`INSERT INTO ausruestung_anfrage_positionen (anfrage_id, artikel_id, bezeichnung, menge, notizen)
|
||||
VALUES ($1, $2, $3, $4, $5)`,
|
||||
[id, item.artikel_id || null, itemBezeichnung, item.menge, item.notizen || null],
|
||||
`INSERT INTO ausruestung_anfrage_positionen (anfrage_id, artikel_id, bezeichnung, menge, notizen, geliefert)
|
||||
VALUES ($1, $2, $3, $4, $5, $6)`,
|
||||
[id, item.artikel_id || null, itemBezeichnung, item.menge, item.notizen || null, prevGeliefert],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1185,7 +1185,7 @@ function MeineAnfragenTab() {
|
||||
getOptionLabel={o => o.name}
|
||||
value={newFuerBenutzer}
|
||||
onChange={(_, v) => setNewFuerBenutzer(v)}
|
||||
renderInput={params => <TextField {...params} label="Für wen (optional)" />}
|
||||
renderInput={params => <TextField {...params} label="Für wen (optional)" InputLabelProps={{ ...params.InputLabelProps, shrink: true }} placeholder="Mitglied auswählen..." />}
|
||||
/>
|
||||
)}
|
||||
<TextField
|
||||
|
||||
Reference in New Issue
Block a user