Aggiunta flag nelle righe ordini per impegnare o meno le quantità

This commit is contained in:
MatteoPistorello 2020-10-06 12:25:22 +02:00
parent f0c3f12ea4
commit f9aa58955f
6 changed files with 17 additions and 2 deletions

View File

@ -123,6 +123,9 @@ if (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore'])) {
<div class="col-md-'.$width.'">
{[ "type": "date", "label": "'.tr('Data prevista evasione').'", "name": "data_evasione", "value": "'.$result['data_evasione'].'" ]}
</div>
<div class="col-md-'.$width.'">
{[ "type": "checkbox", "label": "'.tr('Articolo confermato').'", "name": "confermato", "value": "'.($options['action'] == 'add' ? setting("Conferma automaticamente le quantità negli ordini cliente") : $result['confermato']).'" ]}
</div>
</div>
</div>
</div>';

View File

@ -34,6 +34,7 @@ FROM or_ordini
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
GROUP BY or_ordini.id
HAVING qta_ordinata > 0";

View File

@ -175,6 +175,7 @@ switch (post('op')) {
$articolo->costo_unitario = post('costo_unitario') ?: 0;
$articolo->data_evasione = post('data_evasione') ?: null;
$articolo->confermato = post('confermato') ?: 0;
$articolo->setPrezzoUnitario(post('prezzo_unitario'), post('idiva'));
$articolo->setSconto(post('sconto'), post('tipo_sconto'));

View File

@ -54,9 +54,9 @@ foreach ($articoli as $elenco) {
$qta_impegnata = $database->fetchOne("SELECT SUM(qta) as qta
FROM or_righe_ordini
JOIN or_ordini ON or_ordini.id = or_righe_ordini.idordine
WHERE or_ordini.id != '.prepare($ordine->id).'
AND idstatoordine = (SELECT id FROM or_statiordine WHERE descrizione = 'Bozza')
WHERE idstatoordine = (SELECT id FROM or_statiordine WHERE descrizione = 'Bozza')
AND idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = 'entrata')
AND confermato = 1
AND idarticolo=".prepare($articolo->id).'
GROUP BY idarticolo')['qta'];
$qta_impegnata = floatval($qta_impegnata);

View File

@ -137,6 +137,7 @@ foreach ($righe as $riga) {
// Quantità e unità di misura
echo '
<td class="text-center">
<i class="'.($riga->confermato ? 'fa fa-check text-success' : 'fa fa-clock-o text-warning').'"></i>
'.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$riga->um.'
</td>';

View File

@ -220,3 +220,12 @@ UPDATE `co_documenti` SET `id_banca_azienda` = NULL WHERE `id_banca_azienda` = 0
-- Aggiunta unità di misura secondaria per le stampe documenti di vendita
ALTER TABLE `mg_articoli` ADD `um_secondaria` varchar(255), ADD `fattore_um_secondaria` DECIMAL(15, 6);
-- Aggiunta impostazione per impegnare o meno automaticamente le quantità negli ordini
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conferma automaticamente le quantità negli ordini cliente', '1', 'boolean', '1', 'Ordini', NULL, NULL);
ALTER TABLE `or_righe_ordini` ADD `confermato` BOOLEAN NOT NULL AFTER `id_dettaglio_fornitore`;
UPDATE `or_righe_ordini` SET `confermato`=1;
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_articoli` LEFT JOIN an_anagrafiche ON mg_articoli.id_fornitore=an_anagrafiche.idanagrafica LEFT JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id LEFT JOIN (SELECT SUM(qta-qta_evasa) AS qta_impegnata, idarticolo FROM or_righe_ordini INNER JOIN or_ordini ON or_righe_ordini.idordine=or_ordini.id INNER JOIN or_tipiordine ON or_ordini.idtipoordine=or_tipiordine.id WHERE idstatoordine IN(SELECT id FROM or_statiordine WHERE completato=0) AND or_tipiordine.dir=\'entrata\' AND or_righe_ordini.confermato = 1 GROUP BY idarticolo) a ON a.idarticolo=mg_articoli.id LEFT JOIN mg_categorie ON mg_articoli.id_categoria=mg_categorie.id 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';