From 1b5b386afeba2c4a4230cbc12ff98487fc2c30a2 Mon Sep 17 00:00:00 2001 From: Fabio Lovato Date: Fri, 19 Apr 2019 17:26:02 +0200 Subject: [PATCH 1/3] Impostato calcolo sconto percentuale su imponibile --- include/common/sconto.php | 2 +- modules/fatture/row-add.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/common/sconto.php b/include/common/sconto.php index 5760d5877..8c38e1c84 100644 --- a/include/common/sconto.php +++ b/include/common/sconto.php @@ -35,7 +35,7 @@ echo ' var sconto_percentuale = form.find("#sconto_percentuale"); var sconto_unitario = form.find("#sconto_unitario"); - var totale = '.$options['totale'].'; + var totale = '.$options['imponibile_scontato'].'; function aggiorna_sconto_percentuale() { var sconto = sconto_percentuale.val().toEnglish(); diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php index bd68c13c3..844ce1c5d 100644 --- a/modules/fatture/row-add.php +++ b/modules/fatture/row-add.php @@ -13,6 +13,7 @@ $options = [ 'dir' => $documento->direzione, 'conti' => $documento->direzione == 'entrata' ? 'conti-vendite' : 'conti-acquisti', 'idanagrafica' => $documento['idanagrafica'], 'show-ritenuta-contributi' => !empty($documento['id_ritenuta_contributi']), + 'imponibile_scontato' => $documento->imponibile_scontato, 'totale' => $documento->totale, ]; From e431e4326baef5c0519ac8829b9a7175e622f3aa Mon Sep 17 00:00:00 2001 From: Matteo Baccarin Date: Fri, 19 Apr 2019 17:29:54 +0200 Subject: [PATCH 2/3] Aggiunto scadenzario per scadenze generiche e F24 --- modules/fatture/src/Fattura.php | 5 ++ modules/scadenzario/actions.php | 18 ++++++ modules/scadenzario/add.php | 39 ++++++++++++ modules/scadenzario/controller_after.php | 16 +---- modules/scadenzario/edit.php | 64 +++++++++++++++++--- templates/scadenzario/pdfgen.scadenzario.php | 18 ++---- update/2_4_9.php | 8 +++ update/2_4_9.sql | 10 ++- 8 files changed, 140 insertions(+), 38 deletions(-) create mode 100755 modules/scadenzario/add.php diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 460d7087e..5744567d6 100644 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -332,6 +332,10 @@ class Fattura extends Document */ public static function registraScadenza(Fattura $fattura, $importo, $scadenza, $is_pagato, $type = 'fattura') { + + //Calcolo la descrizione + $descrizione = database()->fetchOne("SELECT CONCAT(co_tipidocumento.descrizione, CONCAT(' numero ', IF(numero_esterno!='', numero_esterno, numero))) AS descrizione FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='".$fattura->id."'")['descrizione']; + database()->insert('co_scadenziario', [ 'iddocumento' => $fattura->id, 'data_emissione' => $fattura->data, @@ -340,6 +344,7 @@ class Fattura extends Document 'tipo' => $type, 'pagato' => $is_pagato ? $importo : 0, 'data_pagamento' => $is_pagato ? $scadenza : null, + 'descrizione' => $descrizione, ]); } diff --git a/modules/scadenzario/actions.php b/modules/scadenzario/actions.php index 3af159b4b..45000f041 100644 --- a/modules/scadenzario/actions.php +++ b/modules/scadenzario/actions.php @@ -3,6 +3,19 @@ include_once __DIR__.'/../../core.php'; switch (post('op')) { + + case 'add': + $data = post("data"); + $tipo = post("tipo"); + $da_pagare = post("da_pagare"); + $descrizione = post("descrizione"); + + $dbo->query("INSERT INTO co_scadenziario(descrizione, tipo, data_emissione, scadenza, da_pagare, pagato, data_pagamento) VALUES(".prepare($descrizione).", ".prepare($tipo).", CURDATE(), ".prepare($data).", ".prepare($da_pagare).", '0', '0000-00-00')"); + $id_record = $dbo->lastInsertedID(); + + flash()->info(tr('Scadenza inserita!')); + break; + case 'update': // Calcolo il totale da pagare $rs = $dbo->fetchArray('SELECT SUM(da_pagare) AS totale_da_pagare FROM co_scadenziario GROUP BY iddocumento HAVING iddocumento=(SELECT iddocumento FROM co_scadenziario s WHERE id='.prepare($id_record).')'); @@ -26,4 +39,9 @@ switch (post('op')) { } break; + + case "delete": + $dbo->query("DELETE FROM co_scadenziario WHERE id='".$id_record."'"); + flash()->info(tr('Scadenza eliminata!')); + break; } diff --git a/modules/scadenzario/add.php b/modules/scadenzario/add.php new file mode 100755 index 000000000..d0e33bf2a --- /dev/null +++ b/modules/scadenzario/add.php @@ -0,0 +1,39 @@ + + +
+ + + + +
+
+ {[ "type": "select", "label": "", "name": "tipo", "required": 1, "values": "list=\"\":\"- Seleziona un'opzione -\", \"f24\":\"F24\", \"generico\":\"Scadenze generiche\"", "value": "" ]} +
+ + +
+ {[ "type": "date", "label": "", "name": "data", "required": 1, "value": "-now-" ]} +
+ +
+ {[ "type": "number", "label": "", "name": "da_pagare", "required": 1, "value": "" ]} +
+
+ +
+
+ {[ "type": "textarea", "label": "", "name": "descrizione", "required": 1, "value": "" ]} +
+
+ +
+ +
+ +
+ +
diff --git a/modules/scadenzario/controller_after.php b/modules/scadenzario/controller_after.php index 2f24b0f76..b185c764b 100644 --- a/modules/scadenzario/controller_after.php +++ b/modules/scadenzario/controller_after.php @@ -16,20 +16,8 @@ if (empty($dbo->fetchArray('SELECT * FROM co_scadenziario'))) {
- +
-
- - -
-
- -
- -
- -
-
-
+
\ No newline at end of file diff --git a/modules/scadenzario/edit.php b/modules/scadenzario/edit.php index 13eb67ce1..007afabcc 100644 --- a/modules/scadenzario/edit.php +++ b/modules/scadenzario/edit.php @@ -34,7 +34,22 @@ if ($rs[0]['dir'] == 'entrata') { '.Modules::link('Anagrafiche', $rs[0]['idanagrafica'], $rs[0]['ragione_sociale']).' '; -} else { + echo ' + + '.tr('Documento').': + '.$rs[0]['descrizione'].' + '; + echo ' + + '.tr('Numero').': + '.$numero.' + '; + echo ' + + '.tr('Data').': + '.Translator::dateToLocale($rs[0]['data']).' + '; +} else if ($rs[0]['dir'] == 'uscita') { $dir = 'uscita'; $modulo = 'Fatture di acquisto'; echo " @@ -42,23 +57,30 @@ if ($rs[0]['dir'] == 'entrata') { ".tr('Fornitore').': '.$rs[0]['ragione_sociale'].' '; -} - -echo ' + echo ' '.tr('Documento').': '.$rs[0]['descrizione'].' '; -echo ' + echo ' '.tr('Numero').': '.$numero.' '; -echo ' + echo ' '.tr('Data').': '.Translator::dateToLocale($rs[0]['data']).' '; +}else{ + $rs = $dbo->fetchArray("SELECT * FROM co_scadenziario WHERE id='".$id_record."'"); + echo " + + ".tr('Descrizione').': + + '; +} + echo ' @@ -77,7 +99,12 @@ echo ' $totale_da_pagare = 0; $totale_pagato = 0; -$rs = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento = (SELECT iddocumento FROM co_scadenziario s WHERE id='.prepare($id_record).') ORDER BY scadenza ASC'); +//Scelgo la query in base al segmento +if($record['iddocumento']!=0){ + $rs = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento = (SELECT iddocumento FROM co_scadenziario s WHERE id='.prepare($id_record).') ORDER BY scadenza ASC'); +}else{ + $rs = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE id='.prepare($id_record).' ORDER BY scadenza ASC'); +} for ($i = 0; $i < count($rs); ++$i) { if ($rs[$i]['da_pagare'] == $rs[$i]['pagato']) { @@ -129,7 +156,7 @@ echo '
- +
@@ -153,10 +180,27 @@ echo ' {( "name": "log_email", "id_module": "$id_module$", "id_record": "$id_record$" )} + + + + + +