Fix su giacenze con introduzione nuovo flag impegnato

This commit is contained in:
loviuz 2021-03-09 19:36:51 +01:00
parent 917b83fcb9
commit 88c907ebc1
2 changed files with 34 additions and 17 deletions

View File

@ -32,10 +32,12 @@ $query = 'SELECT
or_righe_ordini.um
FROM or_ordini
INNER JOIN or_righe_ordini ON or_ordini.id = or_righe_ordini.idordine
INNER JOIN or_statiordine ON or_ordini.idstatoordine=or_statiordine.id
WHERE idarticolo = '.prepare($articolo->id)."
AND (SELECT dir FROM or_tipiordine WHERE or_tipiordine.id=or_ordini.idtipoordine) = '|dir|'
AND (or_righe_ordini.qta - or_righe_ordini.qta_evasa) > 0
AND or_righe_ordini.confermato = 1
AND or_statiordine.impegnato = 1
GROUP BY or_ordini.id
HAVING qta_ordinata > 0";
@ -60,7 +62,7 @@ if (!empty($ordini)) {
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th>'.tr('Qta').'</th>
<th class="text-right">'.$record['um'].'</th>
</tr>
</thead>
@ -74,13 +76,15 @@ if (!empty($ordini)) {
echo '
<tr>
<td>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'
<small>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'
</small>
</td>
<td class="text-right">
'.numberFormat($qta).' '.$documento['um'].'
<small>'.numberFormat($qta).'</small>
</td>
</tr>';
}
@ -88,10 +92,10 @@ if (!empty($ordini)) {
echo '
<tr>
<td class="text-right">
<b>'.tr('Totale').'</b>
<small><b>'.tr('Totale').'</b></small>
</td>
<td class="text-right">
'.numberFormat($impegnato).'
<small>'.numberFormat($impegnato).'</small>
</td>
</tr>
@ -125,7 +129,7 @@ if (!empty($ordini)) {
<thead>
<tr>
<th>'.tr('Descrizione').'</th>
<th>'.tr('Qta').'</th>
<th class="text-right">'.$record['um'].'</th>
</tr>
</thead>
@ -139,13 +143,15 @@ if (!empty($ordini)) {
echo '
<tr>
<td>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'
<small>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'
</small>
</td>
<td class="text-right">
'.numberFormat($qta).' '.$documento['um'].'
<small>'.numberFormat($qta).'</small>
</td>
</tr>';
}
@ -153,10 +159,10 @@ if (!empty($ordini)) {
echo '
<tr>
<td class="text-right">
<b>'.tr('Totale').'</b>
<small><b>'.tr('Totale').'</b></small>
</td>
<td class="text-right">
'.numberFormat($ordinato).'
<small>'.numberFormat($ordinato).'</small>
</td>
</tr>

View File

@ -33,4 +33,15 @@ FROM `mg_articoli`
LEFT JOIN mg_categorie AS sottocategorie ON mg_articoli.id_sottocategoria = sottocategorie.id
WHERE 1=1 AND (`mg_articoli`.`deleted_at`) IS NULL
HAVING 2=2
ORDER BY `mg_articoli`.`descrizione`' WHERE `zz_modules`.`name`='Articoli';
ORDER BY `mg_articoli`.`descrizione`' WHERE `zz_modules`.`name`='Articoli';
-- Rimozione flag inutilizzato
ALTER TABLE `or_statiordine` DROP `annullato`;
-- Aggiunta flag "impegnato" sugli stati ordine
ALTER TABLE `or_statiordine` ADD `impegnato` BOOLEAN NOT NULL DEFAULT FALSE AFTER `icona`;
UPDATE `or_statiordine` SET `impegnato` = 1 WHERE `descrizione` IN('Evaso', 'Parzialmente evaso', 'Accettato', 'Parzialmente fatturato', 'Fatturato');
-- Aggiornamento calcolo quantità impegnate ed evase
UPDATE `zz_modules` SET `options` = 'SELECT |select|\nFROM `mg_articoli`\n LEFT JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica\n LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id\n LEFT JOIN (\n SELECT SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata, or_righe_ordini.idarticolo\n FROM or_righe_ordini\n INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id\n INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id\n INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id\n WHERE\n or_tipiordine.dir = \'entrata\'\n AND or_righe_ordini.confermato = 1\n AND or_statiordine.impegnato = 1\n GROUP BY idarticolo\n ) a ON a.idarticolo = mg_articoli.id\n LEFT JOIN (\n SELECT SUM(or_righe_ordini.qta-or_righe_ordini.qta_evasa) AS qta_ordinata, or_righe_ordini.idarticolo\n FROM or_righe_ordini\n INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id\n INNER JOIN or_tipiordine ON or_ordini.idtipoordine = or_tipiordine.id\n INNER JOIN or_statiordine ON or_ordini.idstatoordine = or_statiordine.id\n WHERE\n or_tipiordine.dir = \'uscita\'\n AND or_righe_ordini.confermato = 1\n AND or_statiordine.impegnato = 1\n GROUP BY idarticolo\n ) ordini_fornitore ON ordini_fornitore.idarticolo = mg_articoli.id\n LEFT JOIN mg_categorie ON mg_articoli.id_categoria = mg_categorie.id\n LEFT JOIN mg_categorie AS sottocategorie ON mg_articoli.id_sottocategoria = sottocategorie.id\nWHERE 1=1 AND (`mg_articoli`.`deleted_at`) IS NULL\nHAVING 2=2\nORDER BY `mg_articoli`.`descrizione`' WHERE `zz_modules`.`name` = 'Articoli';