corretto carica da articolo eliminato da macchina/parte/gruppo
All checks were successful
Deploy to VPS / build (push) Successful in 40s
Deploy to VPS / deploy (push) Successful in 27s

This commit is contained in:
AV77web 2026-05-31 15:18:17 +02:00
parent 20443de0ab
commit 0243acda69
2 changed files with 3 additions and 36 deletions

View file

@ -144,6 +144,9 @@ export async function rimuoviArticoloDaMacchina(
);
const articolo = articoloRows[0];
// Registra il movimento per tracciabilità (magazzino di destinazione nel log).
// Non aggiorniamo giacenze: l'assegnazione a macchina non le aveva decrementate,
// quindi il rientro è solo uno spostamento logico magazzino↔macchina.
await db.execute(
`INSERT INTO movimenti (id_articolo, articolo_codice, articolo_descrizione, quantita, tipo_movimento, causale, utente, id_magazzino_destinazione)
VALUES (:id_articolo, :articolo_codice, :articolo_descrizione, :quantita, 1, :causale, :utente, :id_magazzino_destinazione)`,
@ -157,24 +160,6 @@ export async function rimuoviArticoloDaMacchina(
id_magazzino_destinazione: idMagazzino,
}
);
// Aggiorna la giacenza nel magazzino
const [existingGiacenza] = await db.execute<(RowDataPacket & { id: number; quantita: number })[]>(
"SELECT id, quantita FROM giacenze WHERE articolo_id = :articoloId AND id_magazzino = :magazzinoId",
{ articoloId: idart, magazzinoId: idMagazzino }
);
if (existingGiacenza.length > 0) {
await db.execute(
"UPDATE giacenze SET quantita = quantita + :quantita WHERE articolo_id = :articoloId AND id_magazzino = :magazzinoId",
{ quantita, articoloId: idart, magazzinoId: idMagazzino }
);
} else {
await db.execute(
"INSERT INTO giacenze (articolo_id, id_magazzino, quantita) VALUES (:articoloId, :magazzinoId, :quantita)",
{ articoloId: idart, magazzinoId: idMagazzino, quantita }
);
}
}
return { success: true, message: opzione === "carico" ? "Articolo rientrato in magazzino" : "Articolo rimosso" };

View file

@ -208,24 +208,6 @@ export async function deleteMacchina(
id_magazzino_destinazione: idMagazzinoRientro,
}
);
// Aggiorna la giacenza
const [existingGiacenza] = await db.execute<(RowDataPacket & { id: number })[]>(
"SELECT id FROM giacenze WHERE articolo_id = :articoloId AND id_magazzino = :magazzinoId",
{ articoloId: art.idart, magazzinoId: idMagazzinoRientro }
);
if (existingGiacenza.length > 0) {
await db.execute(
"UPDATE giacenze SET quantita = quantita + :quantita WHERE articolo_id = :articoloId AND id_magazzino = :magazzinoId",
{ quantita, articoloId: art.idart, magazzinoId: idMagazzinoRientro }
);
} else {
await db.execute(
"INSERT INTO giacenze (articolo_id, id_magazzino, quantita) VALUES (:articoloId, :magazzinoId, :quantita)",
{ articoloId: art.idart, magazzinoId: idMagazzinoRientro, quantita }
);
}
}
// Se l'articolo non esiste più, non facciamo nulla (gli articoli vengono persi)
}