From 0243acda6961b0a490dac23f8cb2afb88d00b4ea Mon Sep 17 00:00:00 2001 From: AV77web Date: Sun, 31 May 2026 15:18:17 +0200 Subject: [PATCH] corretto carica da articolo eliminato da macchina/parte/gruppo --- src/lib/artMacchineParti/index.ts | 21 +++------------------ src/lib/macchine/index.ts | 18 ------------------ 2 files changed, 3 insertions(+), 36 deletions(-) diff --git a/src/lib/artMacchineParti/index.ts b/src/lib/artMacchineParti/index.ts index 08a3aa3..21cdf5a 100644 --- a/src/lib/artMacchineParti/index.ts +++ b/src/lib/artMacchineParti/index.ts @@ -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" }; diff --git a/src/lib/macchine/index.ts b/src/lib/macchine/index.ts index 3ccfa0a..22581be 100644 --- a/src/lib/macchine/index.ts +++ b/src/lib/macchine/index.ts @@ -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) }