Skip to content

Commit 86a9271

Browse files
committed
fix: calcolo quantità disponibile articoli in fase di generazione ddt da ordine
1 parent b2b39f8 commit 86a9271

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

include/common/importa.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,8 @@
346346

347347
// Calcolo quantità impegnata in ordini cliente (per la sede specifica)
348348
// Cerchiamo ordini cliente (dir = 'entrata') che impegnano il nostro magazzino
349-
$impegnato = (float) database()->fetchOne('SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata
349+
// Escludiamo l'ordine corrente che si sta evadendo (se il documento di origine è un ordine)
350+
$query_impegnato = 'SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata
350351
FROM or_righe_ordini
351352
INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id
352353
INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id
@@ -355,7 +356,14 @@
355356
AND or_tipiordine.dir = \'entrata\'
356357
AND or_righe_ordini.confermato = 1
357358
AND or_statiordine.impegnato = 1
358-
AND or_ordini.idsede_destinazione = '.prepare($id_sede_partenza))['qta_impegnata'];
359+
AND or_ordini.idsede_destinazione = '.prepare($id_sede_partenza);
360+
361+
// Se il documento di origine è un ordine cliente, escludiamolo dal calcolo
362+
if ($original_module->name == 'Ordini cliente' && !empty($documento->id)) {
363+
$query_impegnato .= ' AND or_ordini.id != '.prepare($documento->id);
364+
}
365+
366+
$impegnato = (float) database()->fetchOne($query_impegnato)['qta_impegnata'];
359367

360368
$disponibilita_iniziale = $giacenza - $impegnato;
361369
$disponibilita_articoli[$id_articolo] = [

0 commit comments

Comments
 (0)