From 8214c1d6aa2cb061703abb0983d34206a9290c74 Mon Sep 17 00:00:00 2001 From: Bacca97 Date: Fri, 4 May 2018 17:57:46 +0200 Subject: [PATCH] Aggiunti modelli prima nota --- modules/fatture/modutil.php | 4 +- modules/modelli_primanota/actions.php | 51 +++++++++++++++ modules/modelli_primanota/add.php | 76 ++++++++++++++++++++++ modules/modelli_primanota/edit.php | 94 +++++++++++++++++++++++++++ modules/modelli_primanota/init.php | 7 ++ modules/primanota/actions.php | 13 ++++ modules/primanota/add.php | 50 ++++++++++++-- modules/primanota/ajax/complete.php | 20 ++++++ update/2_4_1.sql | 31 ++++++++- 9 files changed, 337 insertions(+), 9 deletions(-) create mode 100644 modules/modelli_primanota/actions.php create mode 100644 modules/modelli_primanota/add.php create mode 100644 modules/modelli_primanota/edit.php create mode 100644 modules/modelli_primanota/init.php create mode 100644 modules/primanota/ajax/complete.php diff --git a/modules/fatture/modutil.php b/modules/fatture/modutil.php index ae67bc8ae..da336b424 100644 --- a/modules/fatture/modutil.php +++ b/modules/fatture/modutil.php @@ -450,11 +450,11 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0) /** * Funzione per generare un nuovo codice per il mastrino. */ -function get_new_idmastrino() +function get_new_idmastrino( $table = 'co_movimenti' ) { global $dbo; - $query = 'SELECT MAX(idmastrino) AS maxidmastrino FROM co_movimenti'; + $query = 'SELECT MAX(idmastrino) AS maxidmastrino FROM '.$table; $rs = $dbo->fetchArray($query); return intval($rs[0]['maxidmastrino']) + 1; diff --git a/modules/modelli_primanota/actions.php b/modules/modelli_primanota/actions.php new file mode 100644 index 000000000..9b06771b9 --- /dev/null +++ b/modules/modelli_primanota/actions.php @@ -0,0 +1,51 @@ +query($query)) { + $id_record = $dbo->lastInsertedID(); + } + } + + break; + + case 'editriga': + $idmastrino = post('idmastrino'); + $descrizione = post('descrizione'); + + // Eliminazione prima nota + $dbo->query('DELETE FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino)); + + for ($i = 0; $i < sizeof($post['idconto']); ++$i) { + $idconto = post('idconto')[$i]; + $query = 'INSERT INTO co_movimenti_modelli(idmastrino, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($idconto).')'; + if ($dbo->query($query)) { + $id_record = $dbo->lastInsertedID(); + } + + } + + break; + + case 'delete': + $idmastrino = post('idmastrino'); + + if ($idmastrino != '') { + // Eliminazione prima nota + $dbo->query('DELETE FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino)); + + $_SESSION['infos'][] = tr('Movimento eliminato!'); + } + + break; +} diff --git a/modules/modelli_primanota/add.php b/modules/modelli_primanota/add.php new file mode 100644 index 000000000..11eafe5ac --- /dev/null +++ b/modules/modelli_primanota/add.php @@ -0,0 +1,76 @@ +
+ + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "" ]} +
+
+ + + + '.tr('Conto').' + '; + + for ($i = 0; $i < 10; ++$i) { + + ($i<=1) ? $required = 1 : $required = 0; + // Conto + echo ' + + + {[ "type": "select", "name": "idconto['.$i.']", "value": "'; + if ($i == 0) { + echo $idconto_controparte; + } elseif ($i == 1) { + echo $idconto_aziendale; + } + echo '", "ajax-source": "conti", "required": "'.$required.'" ]} + '; + + echo ' + '; + } + + echo ' + '; + ?> + + +
+
+ +
+
+ + +
+ diff --git a/modules/modelli_primanota/edit.php b/modules/modelli_primanota/edit.php new file mode 100644 index 000000000..e268b96df --- /dev/null +++ b/modules/modelli_primanota/edit.php @@ -0,0 +1,94 @@ +
+ + + + + + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} +
+
+ + + fetchArray($query2); + for ($x = 0; $x < sizeof($conti2); ++$x) { + $query3 = 'SELECT * FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($conti2[$x]['id']); + $rs3 = $dbo->fetchArray($query3); + for ($y = 0; $y < sizeof($rs3); ++$y) { + // Creo un array con le descrizioni dei conti di livello 3 che ha come indice l'id del livello2 e del livello3 + $conti3[$rs3[$y]['idpianodeiconti2']][$y]['id'] = $rs3[$y]['id']; + $conti3[$rs3[$y]['idpianodeiconti2']][$y]['descrizione'] = $conti2[$x]['numero'].'.'.$rs3[$y]['numero'].' '.$rs3[$y]['descrizione']; + } + } + + /* + Form di modifica riga movimento + */ + // Lettura movimenti del mastrino selezionato + $query = 'SELECT * FROM co_movimenti_modelli WHERE idmastrino='.prepare($records[0]['idmastrino']); + $rs = $dbo->fetchArray($query); + $n = sizeof($rs); + + echo ' + + + '; + + for ($i = 0; $i < 10; ++$i) { + + ($i<=1) ? $required = 1 : $required = 0; + + // Conto + echo ' + + '; + + echo ' + '; + } + + // Totale per controllare sbilancio + + // Verifica sbilancio + echo ' +
'.tr('Conto').'
+ {[ "type": "select", "name": "idconto['.$i.']", "value": "'.$rs[$i]['idconto'].'", "ajax-source": "conti", "required": "'.$required.'" ]} +
'; + ?> + + + + +
+ + + + diff --git a/modules/modelli_primanota/init.php b/modules/modelli_primanota/init.php new file mode 100644 index 000000000..7f4630b91 --- /dev/null +++ b/modules/modelli_primanota/init.php @@ -0,0 +1,7 @@ +fetchArray('SELECT * FROM co_movimenti_modelli WHERE id='.prepare($id_record)); +} diff --git a/modules/primanota/actions.php b/modules/primanota/actions.php index f76fbf2d0..3e5067757 100644 --- a/modules/primanota/actions.php +++ b/modules/primanota/actions.php @@ -90,6 +90,19 @@ switch (post('op')) { $dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id IN (SELECT idintervento FROM co_preventivi_interventi WHERE idpreventivo=".prepare($rs2[$j]['idpreventivo']).')'); } } + + //Creo il modello di prima nota + + if(post('crea_modello')=='1'){ + $idmastrino = get_new_idmastrino('co_movimenti_modelli'); + + for ($i = 0; $i < sizeof($post['idconto']); ++$i) { + $idconto = post('idconto')[$i]; + $query = 'INSERT INTO co_movimenti_modelli(idmastrino, descrizione, idconto) VALUES('.prepare($idmastrino).', '.prepare($descrizione).', '.prepare($idconto).')'; + $dbo->query($query); + } + } + break; case 'editriga': diff --git a/modules/primanota/add.php b/modules/primanota/add.php index 5f2adf466..cb8d00264 100644 --- a/modules/primanota/add.php +++ b/modules/primanota/add.php @@ -6,6 +6,7 @@ include_once __DIR__.'/../../core.php'; + + +
+
+ {[ "type": "select", "label": "", "id": "modello_primanota", "required": 0, "values": "query=SELECT idmastrino AS id, descrizione FROM co_movimenti_modelli GROUP BY idmastrino", "value": "" ]} +
+
@@ -115,7 +122,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "" ]} + {[ "type": "text", "label": "", "name": "descrizione", "id": "desc", "required": 1, "value": "" ]}
@@ -145,7 +152,7 @@ include_once __DIR__.'/../../core.php'; echo ' - {[ "type": "select", "name": "idconto['.$i.']", "value": "'; + {[ "type": "select", "name": "idconto['.$i.']", "id": "conto'.$i.'", "value": "'; if ($i == 0) { echo $idconto_controparte; } elseif ($i == 1) { @@ -222,7 +229,8 @@ include_once __DIR__.'/../../core.php';
- + +
@@ -239,7 +247,7 @@ include_once __DIR__.'/../../core.php'; } else{ $(this).parent().parent().find('input').prop("disabled", true); - $(this).parent().parent().find('input').val(""); + $(this).parent().parent().find('input').val("0.00"); } } }); @@ -296,11 +304,11 @@ include_once __DIR__.'/../../core.php'; if(bilancio == 0){ $("#testo_aggiuntivo").removeClass('text-danger').html(""); - $("button[type=submit]").removeClass('hide'); + $("#btn_submit").removeClass('hide'); } else{ $("#testo_aggiuntivo").addClass('text-danger').html("sbilancio di " + bilancio.toLocale() + " €" ); - $("button[type=submit]").addClass('hide'); + $("#btn_submit").addClass('hide'); } } @@ -310,6 +318,36 @@ include_once __DIR__.'/../../core.php'; $("select[id*=idconto]").click( function(){ $("input[id*=dare][value!=''], input[id*=avere][value!='']").keyup(); }); + + + $('#modello_primanota').change(function(){ + var idmastrino = $(this).val(); + + if(idmastrino!=''){ + $('#btn_crea_modello').hide(); + var causale = $(this).find('option:selected').text(); + + $('#desc').val(causale); + + $.get('/ajax_complete.php?op=get_conti&idmastrino='+idmastrino, function(data){ + var conti = data.split(','); + for(i=0;i").val(conto[0]).text(conto[1]); + $('#conto'+i).selectReset(); + $('#conto'+i).append(option).trigger('change'); + } + }); + }else{ + $('#btn_crea_modello').show(); + } + }); + + $('#btn_crea_modello').click(function(){ + $("#crea_modello").val("1"); + $("#add-form").submit(); + }); + }); diff --git a/modules/primanota/ajax/complete.php b/modules/primanota/ajax/complete.php new file mode 100644 index 000000000..8427238a5 --- /dev/null +++ b/modules/primanota/ajax/complete.php @@ -0,0 +1,20 @@ +fetchArray("SELECT *, (SELECT descrizione FROM co_pianodeiconti3 WHERE id=co_movimenti_modelli.idconto) AS descrizione_conto FROM co_movimenti_modelli WHERE idmastrino=".prepare($idmastrino)." GROUP BY id"); + + for($i=0;$i