diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index ec75576dd..f29738047 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -166,9 +166,9 @@ switch (post('op')) { if (!empty($idarticolo)) { $_SESSION['infos'][] = tr('Articolo aggiunto!'); } elseif (!empty($qta)) { - $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); - } else { $_SESSION['infos'][] = tr('Riga aggiunta!'); + } else { + $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); } break; diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 9453abc5a..21f788c51 100644 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -186,29 +186,25 @@ switch (post('op')) { $iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale']; $iva_indetraibile = $iva / 100 * $rs[0]['indetraibile']; - $query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))'; + $query = 'INSERT INTO dt_righe_ddt(idddt, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, is_descrizione, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', '.prepare(empty($qta)).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM dt_righe_ddt AS t WHERE idddt='.prepare($id_record).'))'; + $dbo->query($query); - if ($dbo->query($query)) { + // Messaggi informativi + if (!empty($idarticolo)) { + $_SESSION['infos'][] = tr('Articolo aggiunto!'); + } elseif (!empty($qta)) { $_SESSION['infos'][] = tr('Riga aggiunta!'); - - // Ricalcolo inps, ritenuta e bollo - if ($dir == 'entrata') { - ricalcola_costiagg_ddt($id_record); - } else { - ricalcola_costiagg_ddt($id_record); - } + } else { + $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); } - break; - case 'adddescrizione': - if (!empty($id_record)) { - $descrizione = post('descrizione'); - $query = 'INSERT INTO dt_righe_ddt(idddt, descrizione, is_descrizione) VALUES('.prepare($id_record).', '.prepare($descrizione).', 1)'; - - if ($dbo->query($query)) { - $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); - } + // Ricalcolo inps, ritenuta e bollo + if ($dir == 'entrata') { + ricalcola_costiagg_ddt($id_record); + } else { + ricalcola_costiagg_ddt($id_record); } + break; // Creazione ddt da ordine @@ -274,8 +270,8 @@ switch (post('op')) { $dbo->query('UPDATE or_righe_ordini SET qta_evasa = qta_evasa+'.$qta.' WHERE id='.prepare($idriga)); // Movimento il magazzino - // vendita if (!empty($idarticolo)) { + // vendita if ($dir == 'entrata') { add_movimento_magazzino($idarticolo, -$qta, ['idddt' => $id_record]); } @@ -367,7 +363,6 @@ switch (post('op')) { $idarticolo = $rs[0]['idarticolo']; $idordine = $rs[0]['idordine']; $old_qta = $rs[0]['qta']; - $idddt = $rs[0]['idddt']; $is_descrizione = $rs[0]['is_descrizione']; // Controllo per gestire i serial @@ -380,7 +375,7 @@ switch (post('op')) { } // Se c'è un collegamento ad un ordine, aggiorno la quantità evasa - if (!empty($idddt)) { + if (!empty($idordine)) { $dbo->query('UPDATE or_righe_ordini SET qta_evasa=qta_evasa-'.$old_qta.' + '.$qta.' WHERE descrizione='.prepare($rs[0]['descrizione']).' AND idarticolo='.prepare($rs[0]['idarticolo']).' AND idordine='.prepare($idordine).' AND idiva='.prepare($rs[0]['idiva'])); } diff --git a/modules/ddt/add_articolo.php b/modules/ddt/add_articolo.php deleted file mode 100644 index 740631be4..000000000 --- a/modules/ddt/add_articolo.php +++ /dev/null @@ -1,163 +0,0 @@ -fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); -$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero']; -$idanagrafica = $rs[0]['idanagrafica']; - -/* - Form di inserimento riga documento -*/ -echo ' -

'.tr('Ddt numero _NUM_', [ - '_NUM_' => $numero, -]).'

- -
- - - '; - -// Articolo -echo ' -
-
- {[ "type": "select", "label": "'.tr('Articolo').'", "name": "idarticolo", "required": 1, "value": "'.$idarticolo.'", "ajax-source": "articoli" ]} -
-
'; - -// Descrizione -echo ' -
-
- {[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1 ]} -
-
'; - -// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica -$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); -$idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); - -// Iva -echo ' -
-
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} -
'; - -// Quantità -echo ' -
- {[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "1", "decimals": "qta" ]} -
'; - -// Costo unitario -echo ' -
- {[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "icon-after": "€" ]} -
'; - -// Sconto unitario -$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'); -if (!empty($rss)) { - $sconto = $rss[0]['prc_guadagno']; - $tipo_sconto = 'PRC'; -} - -echo ' -
- {[ "type": "number", "label": "'.tr('Sconto unitario').'", "name": "sconto", "value": "'.$sconto.'", "icon-after": "choice|untprc|'.$tipo_sconto.'" ]} -
-
'; - -// Informazioni aggiuntive -echo ' -
-
- -
-
- -
- -
-
- -
- -
-
-
-
'; - -echo ' - '; - -echo ' - - -
-
- -
-
-
'; - -echo ' - '; - -?> - - diff --git a/modules/ddt/add_descrizione.php b/modules/ddt/add_descrizione.php deleted file mode 100644 index 058e58091..000000000 --- a/modules/ddt/add_descrizione.php +++ /dev/null @@ -1,48 +0,0 @@ -fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); -$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero']; -$idanagrafica = $rs[0]['idanagrafica']; - -/* - Form di inserimento riga ddt -*/ -echo ' -

'.tr('Ddt numero _NUM_', [ - '_NUM_' => $numero, -]).'

- -
- - - '; - -// Descrizione -echo ' -
-
- {[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1 ]} -
-
'; - -echo ' - - -
-
- -
-
-
'; diff --git a/modules/ddt/add_riga.php b/modules/ddt/add_riga.php deleted file mode 100644 index ba2269aa3..000000000 --- a/modules/ddt/add_riga.php +++ /dev/null @@ -1,123 +0,0 @@ -fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); -$numero = (!empty($rs[0]['numero_esterno'])) ? $rs[0]['numero_esterno'] : $rs[0]['numero']; -$idanagrafica = $rs[0]['idanagrafica']; - -if (!empty($get['idriga'])) { - $button = tr('Modifica'); - - $idriga = $get['idriga']; - - // Info riga inserita - $rsr = $dbo->fetchArray('SELECT * FROM dt_righe_ddt WHERE idddt='.prepare($id_record).' AND id='.prepare($idriga)); - $descrizione = $rsr[0]['descrizione']; - $qta = $rsr[0]['qta']; - $um = $rsr[0]['um']; - $idiva = $rsr[0]['idiva']; - $subtot = $rsr[0]['subtotale'] / $rsr[0]['qta']; - $sconto = $rsr[0]['sconto_unitario']; - $tipo_sconto = $rsr[0]['tipo_sconto']; -} else { - $button = tr('Aggiungi'); - - $descrizione = ''; - $qta = 1; - $um = ''; - $subtot = 0; - $sconto = 0; - - // Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica - $iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); - $idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); - - // Sconto unitario - $rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'); - if (!empty($rss)) { - $sconto = $rss[0]['prc_guadagno']; - $tipo_sconto = 'PRC'; - } -} - -echo ' -

'.tr('Ddt numero _NUM_', [ - '_NUM_' => $numero, -]).'

- -
- - - '; - -if (!empty($idriga)) { - echo ' - '; -} - -// Descrizione -echo ' -
-
- {[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "descrizione", "required": 1, "value": '.json_encode($descrizione).' ]} -
-
'; - -if ($rsr[0]['is_descrizione'] == 0) { - // Quantità - echo ' -
-
- {[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "'.$qta.'", "decimals": "qta" ]} -
'; - - // Unità di misura - echo ' -
- {[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "value": "'.$um.'", "ajax-source": "misure" ]} -
-
'; - - // Iva - echo ' -
-
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "'.$idiva.'" ]} -
'; - - // Costo unitario - echo ' -
- {[ "type": "number", "label": "'.tr('Costo unitario').'", "name": "prezzo", "required": 1, "value": "'.$subtot.'", "icon-after": "€" ]} -
'; - - // Sconto unitario - echo ' -
- {[ "type": "number", "label": "'.tr('Sconto unitario').'", "name": "sconto", "value": "'.$sconto.'", "icon-after": "choice|untprc|'.$tipo_sconto.'" ]} -
-
'; -} - -echo ' - - -
-
- -
-
-
'; - -echo ' - '; diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index 38828d713..da620f028 100644 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -137,15 +137,11 @@ if ($dir == 'uscita') { if ($records[0]['stato'] != 'Evaso') { ?> - - - - - - - - - + + + + + diff --git a/modules/ddt/row-add.php b/modules/ddt/row-add.php new file mode 100644 index 000000000..e71beae13 --- /dev/null +++ b/modules/ddt/row-add.php @@ -0,0 +1,57 @@ +fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); +$idanagrafica = $rs[0]['idanagrafica']; + +if ($module['name'] == 'Ddt di vendita') { + $dir = 'entrata'; +} else { + $dir = 'uscita'; +} + +$_SESSION['superselect']['dir'] = $dir; + +// Impostazioni per la gestione +$options = [ + 'op' => 'addriga', + 'action' => 'add', + 'dir' => $dir, + 'idanagrafica' => $idanagrafica, +]; + +// Dati di default +$result = [ + 'descrizione' => '', + 'qta' => 1, + 'um' => '', + 'prezzo' => 0, + 'sconto_unitario' => 0, + 'tipo_sconto' => '', + 'idiva' => '', +]; + +// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica +$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); +$result['idiva'] = $iva[0]['idiva'] ?: get_var('Iva predefinita'); + +// Sconto unitario +$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'); +if (!empty($rss)) { + $result['sconto_unitario'] = $rss[0]['prc_guadagno']; + $result['tipo_sconto'] = 'PRC'; +} + +// Importazione della gestione dedicata +$file = 'riga'; +if (isset($get['is_descrizione'])) { + $file = 'descrizione'; +} elseif (isset($get['is_articolo'])) { + $file = 'articolo'; + + $options['op'] = 'addarticolo'; +} + +echo App::load($file.'.php', $result, $options); diff --git a/modules/ddt/row-edit.php b/modules/ddt/row-edit.php new file mode 100644 index 000000000..09de156e7 --- /dev/null +++ b/modules/ddt/row-edit.php @@ -0,0 +1,38 @@ +fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); +$idanagrafica = $rs[0]['idanagrafica']; + +if ($module['name'] == 'Ddt di vendita') { + $dir = 'entrata'; +} else { + $dir = 'uscita'; +} + +// Impostazioni per la gestione +$options = [ + 'op' => 'editriga', + 'action' => 'edit', + 'dir' => $dir, + 'idanagrafica' => $idanagrafica, + 'edit_articolo' => false, +]; + +// Dati della riga +$rsr = $dbo->fetchArray('SELECT * FROM dt_righe_ddt WHERE idddt='.prepare($id_record).' AND id='.prepare($get['idriga'])); + +$result = $rsr[0]; +$result['prezzo'] = $rsr[0]['subtotale'] / $rsr[0]['qta']; + +// Importazione della gestione dedicata +$file = 'riga'; +if (!empty($result['is_descrizione'])) { + $file = 'descrizione'; +} elseif (!empty($result['idarticolo'])) { + $file = 'articolo'; +} + +echo App::load($file.'.php', $result, $options); diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php index 687b332a9..d282074ad 100644 --- a/modules/ddt/row-list.php +++ b/modules/ddt/row-list.php @@ -24,6 +24,9 @@ $rs = $dbo->fetchArray($q_art); if (!empty($rs)) { foreach ($rs as $r) { + $extra = ''; + $mancanti = 0; + // Individuazione dei seriali if (!empty($r['idarticolo']) && !empty($r['abilita_serial'])) { $serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_ddt='.prepare($r['id'])), 'serial'); @@ -177,7 +180,7 @@ if (!empty($rs)) { } echo " - + diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index cbb49b801..26e94116a 100644 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -38,6 +38,9 @@ if (!empty($rs)) { $delete = 'unlink_articolo'; + $extra = ''; + $mancanti = 0; + // Individuazione dei seriali if (!empty($r['abilita_serial'])) { $serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_documento='.prepare($r['id'])), 'serial'); diff --git a/modules/interventi/ajax_articoli.php b/modules/interventi/ajax_articoli.php index 1c72f0c28..871be388e 100644 --- a/modules/interventi/ajax_articoli.php +++ b/modules/interventi/ajax_articoli.php @@ -33,6 +33,9 @@ if (!empty($rs)) { '; foreach ($rs as $r) { + $extra = ''; + $mancanti = 0; + // Individuazione dei seriali if (!empty($r['idarticolo']) && !empty($r['abilita_serial'])) { $serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_intervento='.prepare($r['id'])), 'serial'); diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index e9d8cb395..3fd6957b9 100644 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -182,9 +182,9 @@ switch (post('op')) { if (!empty($idarticolo)) { $_SESSION['infos'][] = tr('Articolo aggiunto!'); } elseif (!empty($qta)) { - $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); - } else { $_SESSION['infos'][] = tr('Riga aggiunta!'); + } else { + $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); } // Ricalcolo inps, ritenuta e bollo diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php index 347e122c2..0ea7cab0f 100644 --- a/modules/ordini/row-list.php +++ b/modules/ordini/row-list.php @@ -24,6 +24,9 @@ if (!empty($rs)) { foreach ($rs as $r) { $delete = !empty($r['idarticolo']) ? 'unlink_articolo' : 'unlink_riga'; + $extra = ''; + $mancanti = 0; + // Individuazione dei seriali if (!empty($r['idarticolo']) && !empty($r['abilita_serial'])) { $serials = array_column($dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND id_riga_ordine='.prepare($r['id'])), 'serial'); diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index 6fcc8891b..40a25ae37 100644 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -234,9 +234,9 @@ switch (post('op')) { if (!empty($idarticolo)) { $_SESSION['infos'][] = tr('Articolo aggiunto!'); } elseif (!empty($qta)) { - $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); - } else { $_SESSION['infos'][] = tr('Riga aggiunta!'); + } else { + $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); } break;