Aggiornamento dell'ordine righe intervento

This commit is contained in:
Thomas Zilio 2017-09-15 17:15:18 +02:00
parent ef0e74aacb
commit 08c1463dd6
2 changed files with 199 additions and 149 deletions

View File

@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: OpenSTAManager\n"
"POT-Creation-Date: 2017-09-15 09:45+0200\n"
"POT-Creation-Date: 2017-09-15 17:07+0200\n"
"PO-Revision-Date: 2017-09-06 09:35+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -249,12 +249,6 @@ msgstr ""
msgid "Aggiungi"
msgstr ""
#: core.php:41 include/bottom.php:16 include/configuration.php:257
#: include/top.php:16 include/top.php:154 include/top.php:205 index.php:133
#: info.php:15
msgid "OpenSTAManager"
msgstr ""
#: editor.php:40
msgid "I seguenti utenti stanno visualizzando questa pagina"
msgstr ""
@ -281,6 +275,11 @@ msgstr ""
msgid "Versione"
msgstr ""
#: include/bottom.php:16 include/configuration.php:257 include/top.php:16
#: include/top.php:154 include/top.php:205 index.php:133 info.php:15
msgid "OpenSTAManager"
msgstr ""
#: include/configuration.php:12 include/configuration.php:274
msgid "Configurazione"
msgstr ""
@ -577,6 +576,7 @@ msgid "Copia"
msgstr ""
#: include/manager.php:167 include/top.php:175
#: modules/stampe_contabili/edit.php:46
msgid "Stampa"
msgstr ""
@ -1052,7 +1052,7 @@ msgstr ""
#: modules/fatture/add_articolo.php:62 modules/fatture/add_contratto.php:45
#: modules/fatture/add_intervento.php:52 modules/fatture/add_preventivo.php:49
#: modules/fatture/add_riga.php:38 modules/fatture/crea_documento.php:108
#: modules/fatture/edit_riga.php:44 modules/fatture/row-list.php:14
#: modules/fatture/edit_riga.php:44 modules/fatture/row-list.php:13
#: modules/interventi/add_articolo.php:90 modules/interventi/add_righe.php:57
#: modules/interventi/ajax_righe.php:12 modules/interventi/edit.php:154
#: modules/interventi/plugins/my_impianti.interventi.php:20
@ -1437,6 +1437,7 @@ msgstr ""
#: modules/contratti/widgets/contratti.pianificazionedashboard.php:50
#: modules/contratti/widgets/contratti.ratecontrattuali.php:72
#: modules/dashboard/ajaxreq.php:95 modules/utenti/edit.php:25
#: templates/spesometro/body.php:18
msgid "Ragione sociale"
msgstr ""
@ -2117,7 +2118,7 @@ msgstr ""
#: modules/ddt/add_riga.php:70 modules/ddt/row-list.php:9
#: modules/fatture/add_articolo.php:87 modules/fatture/add_riga.php:87
#: modules/fatture/crea_documento.php:109 modules/fatture/edit_riga.php:89
#: modules/fatture/row-list.php:15 modules/interventi/add_articolo.php:99
#: modules/fatture/row-list.php:14 modules/interventi/add_articolo.php:99
#: modules/interventi/add_righe.php:66 modules/interventi/ajax_articoli.php:15
#: modules/interventi/ajax_righe.php:13 modules/ordini/add_articolo.php:73
#: modules/ordini/add_riga.php:86 modules/ordini/row-list.php:10
@ -2249,16 +2250,17 @@ msgstr ""
#: modules/contratti/edit.php:312
#: modules/contratti/plugins/contratti.consuntivo.php:207
#: modules/contratti/row-list.php:193 modules/ddt/row-list.php:291
#: modules/fatture/crea_documento.php:190 modules/fatture/row-list.php:348
#: modules/fatture/crea_documento.php:190 modules/fatture/row-list.php:332
#: modules/interventi/ajax_costi.php:55 modules/ordini/row-list.php:267
#: modules/preventivi/plugins/preventivi.consuntivo.php:209
#: modules/preventivi/row-list.php:192 modules/primanota/add.php:194
#: modules/scadenzario/edit.php:114
#: modules/scadenzario/edit.php:114 templates/spesometro/body.php:23
#: templates/spesometro/body.php:173
msgid "Totale"
msgstr ""
#: modules/articoli/plugins/articoli.lotti.php:235
#: modules/fatture/add_intervento.php:44
#: modules/fatture/add_intervento.php:44 modules/fatture/row-list.php:127
#: modules/interventi/plugins/my_impianti.interventi.php:19
msgid "Intervento"
msgstr ""
@ -2270,7 +2272,7 @@ msgstr ""
#: modules/articoli/plugins/articoli.lotti.php:248
#: modules/contratti/edit.php:384 modules/ddt/edit.php:210
#: modules/interventi/edit.php:313 modules/ordini/edit.php:142
#: modules/preventivi/edit.php:177
#: modules/preventivi/edit.php:177 templates/spesometro/body.php:66
msgid "_DOC_ num. _NUM_ del _DATE_"
msgstr ""
@ -2404,8 +2406,8 @@ msgstr ""
#: modules/ddt/row-list.php:12 modules/fatture/add_articolo.php:74
#: modules/fatture/add_contratto.php:56 modules/fatture/add_intervento.php:63
#: modules/fatture/add_preventivo.php:60 modules/fatture/add_riga.php:74
#: modules/fatture/edit_riga.php:76 modules/fatture/row-list.php:18
#: modules/fatture/row-list.php:335 modules/ordini/add_articolo.php:67
#: modules/fatture/edit_riga.php:76 modules/fatture/row-list.php:17
#: modules/fatture/row-list.php:319 modules/ordini/add_articolo.php:67
#: modules/ordini/add_riga.php:80 modules/ordini/row-list.php:13
#: modules/ordini/row-list.php:254 modules/preventivi/edit.php:90
#: modules/preventivi/edit_riga.php:92 modules/preventivi/row-list.php:18
@ -2704,7 +2706,7 @@ msgstr ""
#: modules/ddt/row-list.php:11 modules/fatture/add_articolo.php:99
#: modules/fatture/add_contratto.php:69 modules/fatture/add_intervento.php:76
#: modules/fatture/add_preventivo.php:73 modules/fatture/add_riga.php:99
#: modules/fatture/edit_riga.php:101 modules/fatture/row-list.php:17
#: modules/fatture/edit_riga.php:101 modules/fatture/row-list.php:16
#: modules/interventi/add_articolo.php:119 modules/ordini/add_articolo.php:87
#: modules/ordini/add_riga.php:100 modules/ordini/row-list.php:12
#: modules/preventivi/edit_riga.php:127 modules/preventivi/row-list.php:17
@ -3108,7 +3110,7 @@ msgid "Importo"
msgstr ""
#: modules/contratti/plugins/contratti.fatturaordiniservizio.php:166
#: modules/scadenzario/edit.php:49
#: modules/scadenzario/edit.php:49 templates/spesometro/body.php:19
msgid "Documento"
msgstr ""
@ -3389,27 +3391,28 @@ msgid "Pianifica promemoria per un nuovo intervento"
msgstr ""
#: modules/contratti/row-list.php:24 modules/ddt/row-list.php:10
#: modules/fatture/row-list.php:16 modules/ordini/row-list.php:11
#: modules/fatture/row-list.php:15 modules/ordini/row-list.php:11
#: modules/preventivi/row-list.php:16
msgid "U.m."
msgstr ""
#: modules/contratti/row-list.php:27 modules/contratti/row-list.php:133
#: modules/contratti/row-list.php:168 modules/ddt/row-list.php:13
#: modules/ddt/row-list.php:216 modules/fatture/row-list.php:19
#: modules/fatture/row-list.php:282 modules/ordini/row-list.php:14
#: modules/ddt/row-list.php:216 modules/fatture/row-list.php:18
#: modules/fatture/row-list.php:266 modules/ordini/row-list.php:14
#: modules/ordini/row-list.php:199 modules/partitario/dettagli_movimento.php:15
#: modules/preventivi/row-list.php:19 modules/preventivi/row-list.php:132
#: modules/preventivi/row-list.php:167 templates/contratti/body.php:76
#: templates/contratti/body.php:171 templates/fatture/footer.php:109
#: templates/interventi/body.php:404 templates/ordini/body.php:27
#: templates/ordini/body.php:127 templates/preventivi/body.php:76
#: templates/preventivi/body.php:176
#: templates/preventivi/body.php:176 templates/spesometro/body.php:21
#: templates/spesometro/body.php:130
msgid "Imponibile"
msgstr ""
#: modules/contratti/row-list.php:75 modules/ddt/row-list.php:111
#: modules/fatture/row-list.php:187 modules/interventi/ajax_articoli.php:93
#: modules/fatture/row-list.php:171 modules/interventi/ajax_articoli.php:93
#: modules/interventi/ajax_righe.php:60 modules/ordini/row-list.php:101
#: modules/preventivi/row-list.php:58 templates/contratti/body.php:127
#: templates/ddt/body.php:92 templates/fatture/body.php:128
@ -3418,7 +3421,7 @@ msgid "sconto _TOT_ _TYPE_"
msgstr ""
#: modules/contratti/row-list.php:144 modules/ddt/row-list.php:231
#: modules/fatture/modutil.php:736 modules/fatture/row-list.php:295
#: modules/fatture/modutil.php:736 modules/fatture/row-list.php:279
#: modules/ordini/row-list.php:212 modules/preventivi/row-list.php:143
#: templates/contratti/body.php:182 templates/fatture/footer.php:115
#: templates/ordini/body.php:140 templates/preventivi/body.php:189
@ -3426,7 +3429,7 @@ msgid "Sconto"
msgstr ""
#: modules/contratti/row-list.php:156 modules/ddt/row-list.php:245
#: modules/fatture/row-list.php:307 modules/ordini/row-list.php:224
#: modules/fatture/row-list.php:291 modules/ordini/row-list.php:224
#: modules/preventivi/row-list.php:155 templates/fatture/footer.php:119
#: templates/interventi/body.php:429 templates/ordini/body.php:152
#: templates/preventivi/body.php:201
@ -3455,8 +3458,8 @@ msgid "Non ci sono fatture da emettere"
msgstr ""
#: modules/contratti/widgets/contratti_scadenza.dashboard.php:11
#: modules/fatture/add_contratto.php:37 modules/interventi/add.php:133
#: modules/interventi/edit.php:97
#: modules/fatture/add_contratto.php:37 modules/fatture/row-list.php:120
#: modules/interventi/add.php:133 modules/interventi/edit.php:97
msgid "Contratto"
msgstr ""
@ -3530,7 +3533,7 @@ msgid "Errore durante la creazione degli eventi"
msgstr ""
#: modules/ddt/actions.php:45
msgid "Aggiunto DDT in _TYPE_ numero _NUM_!"
msgid "Aggiunto ddt in _TYPE_ numero _NUM_!"
msgstr ""
#: modules/ddt/actions.php:134
@ -3669,18 +3672,18 @@ msgstr ""
msgid "Nessun ddt di vendita per questa anagrafica"
msgstr ""
#: modules/ddt/row-list.php:50 modules/fatture/row-list.php:80
#: modules/ddt/row-list.php:50 modules/fatture/row-list.php:79
#: modules/interventi/ajax_articoli.php:58 modules/ordini/row-list.php:50
msgid "_NUM_ serial mancanti"
msgstr ""
#: modules/ddt/row-list.php:57 modules/fatture/row-list.php:86
#: modules/ddt/row-list.php:57 modules/fatture/row-list.php:85
#: modules/interventi/ajax_articoli.php:64 modules/ordini/row-list.php:56
msgid "SN"
msgstr ""
#: modules/ddt/row-list.php:72 modules/fatture/row-list.php:104
#: templates/ddt/body.php:58 templates/fatture/body.php:66
#: modules/ddt/row-list.php:72 templates/ddt/body.php:58
#: templates/fatture/body.php:66
msgid "Rif. ordine num. _NUM_ del _DATE_"
msgstr ""
@ -3689,7 +3692,7 @@ msgid "Q.tà iniziale"
msgstr ""
#: modules/ddt/row-list.php:261 modules/fatture/add_riga.php:50
#: modules/fatture/edit_riga.php:56 modules/fatture/row-list.php:321
#: modules/fatture/edit_riga.php:56 modules/fatture/row-list.php:305
#: modules/ordini/row-list.php:240
msgid "Rivalsa INPS"
msgstr ""
@ -3697,21 +3700,22 @@ msgstr ""
#: modules/ddt/row-list.php:276 modules/preventivi/row-list.php:180
#: templates/ddt/body.php:31 templates/fatture/body.php:31
#: templates/ordini/body.php:28 templates/preventivi/body.php:77
#: templates/spesometro/body.php:22
msgid "IVA"
msgstr ""
#: modules/ddt/row-list.php:306 modules/fatture/edit.php:169
#: modules/fatture/row-list.php:361 modules/ordini/row-list.php:280
#: modules/fatture/row-list.php:345 modules/ordini/row-list.php:280
msgid "Marca da bollo"
msgstr ""
#: modules/ddt/row-list.php:322 modules/fatture/add_riga.php:58
#: modules/fatture/edit_riga.php:64 modules/fatture/row-list.php:375
#: modules/fatture/edit_riga.php:64 modules/fatture/row-list.php:359
#: modules/ordini/row-list.php:294
msgid "Ritenuta d'acconto"
msgstr ""
#: modules/ddt/row-list.php:338 modules/fatture/row-list.php:391
#: modules/ddt/row-list.php:338 modules/fatture/row-list.php:375
#: modules/ordini/row-list.php:308 templates/fatture/footer.php:173
msgid "Netto a pagare"
msgstr ""
@ -3786,12 +3790,12 @@ msgstr ""
msgid "Conto"
msgstr ""
#: modules/fatture/add_ddt.php:22
msgid "DDT"
#: modules/fatture/add_ddt.php:22 modules/fatture/row-list.php:106
msgid "Ddt"
msgstr ""
#: modules/fatture/add_preventivo.php:37 modules/interventi/add.php:129
#: modules/interventi/edit.php:77
#: modules/fatture/add_preventivo.php:37 modules/fatture/row-list.php:113
#: modules/interventi/add.php:129 modules/interventi/edit.php:77
msgid "Preventivo"
msgstr ""
@ -3904,20 +3908,16 @@ msgstr ""
msgid "Vai alla scheda anagrafica"
msgstr ""
#: modules/fatture/row-list.php:118 templates/fatture/body.php:79
msgid "Rif. ddt num. _NUM_ del _DATE_"
#: modules/fatture/row-list.php:99
msgid "Ordine"
msgstr ""
#: modules/fatture/row-list.php:130 templates/fatture/body.php:91
msgid "Rif. preventivo num. _NUM_ del _DATE_"
#: modules/fatture/row-list.php:134
msgid "Rif. _DOC_ num. _NUM_ del _DATE_"
msgstr ""
#: modules/fatture/row-list.php:142
msgid "Rif. contratto num. _NUM_ del _DATE_"
msgstr ""
#: modules/fatture/row-list.php:154
msgid "Rif. intervento num. _NUM_ del _DATE_"
#: modules/fatture/row-list.php:140
msgid "_DOC_ di riferimento _ID_ eliminato"
msgstr ""
#: modules/gestione_componenti/actions.php:13
@ -4650,16 +4650,28 @@ msgstr ""
msgid "Differenza di"
msgstr ""
#: modules/stampe_contabili/edit.php:8
msgid "Registri iva"
#: modules/stampe_contabili/edit.php:10
msgid "Registri iva dal _START_ al _END_"
msgstr ""
#: modules/stampe_contabili/edit.php:15
msgid "Stampa registro iva vendite"
#: modules/stampe_contabili/edit.php:19 modules/stampe_contabili/edit.php:25
msgid "Stampa registro"
msgstr ""
#: modules/stampe_contabili/edit.php:21
msgid "Stampa registro iva acquisti"
#: modules/stampe_contabili/edit.php:20
msgid "IVA vendite"
msgstr ""
#: modules/stampe_contabili/edit.php:26
msgid "IVA acquisti"
msgstr ""
#: modules/stampe_contabili/edit.php:35 templates/spesometro/body.php:9
msgid "Spesometro dal _START_ al _END_"
msgstr ""
#: modules/stampe_contabili/edit.php:47
msgid "Spesometro"
msgstr ""
#: modules/stati_intervento/actions.php:30
@ -5140,6 +5152,7 @@ msgstr ""
#: templates/ddt/header.php:12 templates/fatture/header.php:12
#: templates/interventi/body.php:35 templates/interventi/header.php:11
#: templates/ordini/header.php:11 templates/preventivi/header.php:11
#: templates/spesometro/body.php:17 templates/spesometro/header.php:9
msgid "P.Iva"
msgstr ""
@ -5259,18 +5272,21 @@ msgstr ""
#: templates/contratti/header.php:12 templates/ddt/header.php:13
#: templates/fatture/header.php:13 templates/interventi/header.php:12
#: templates/ordini/header.php:12 templates/preventivi/header.php:12
#: templates/spesometro/header.php:10
msgid "C.F."
msgstr ""
#: templates/contratti/header.php:13 templates/ddt/header.php:14
#: templates/fatture/header.php:14 templates/interventi/header.php:13
#: templates/ordini/header.php:13 templates/preventivi/header.php:13
#: templates/spesometro/header.php:11
msgid "Cap.Soc."
msgstr ""
#: templates/contratti/header.php:14 templates/ddt/header.php:15
#: templates/fatture/header.php:15 templates/interventi/header.php:14
#: templates/ordini/header.php:14 templates/preventivi/header.php:14
#: templates/spesometro/header.php:12
msgid "Tel"
msgstr ""
@ -5317,10 +5333,22 @@ msgstr ""
msgid "Destinazione diversa"
msgstr ""
#: templates/ddt/init.php:18
msgid "Ddt pro-forma"
msgstr ""
#: templates/ddt/init.php:60 templates/fatture/init.php:59
msgid "Non hai i permessi per questa stampa!"
msgstr ""
#: templates/fatture/body.php:79
msgid "Rif. ddt num. _NUM_ del _DATE_"
msgstr ""
#: templates/fatture/body.php:91
msgid "Rif. preventivo num. _NUM_ del _DATE_"
msgstr ""
#: templates/fatture/footer.php:20
msgid "Scadenze pagamenti"
msgstr ""
@ -5334,7 +5362,7 @@ msgid "Importo IVA"
msgstr ""
#: templates/fatture/footer.php:125 templates/ordini/body.php:165
#: templates/preventivi/body.php:214
#: templates/preventivi/body.php:214 templates/spesometro/body.php:161
msgid "Totale IVA"
msgstr ""
@ -5354,6 +5382,10 @@ msgstr ""
msgid "BIC"
msgstr ""
#: templates/fatture/init.php:22
msgid "Fattura pro forma"
msgstr ""
#: templates/info.php:13
msgid "Stampato con OpenSTAManager"
msgstr ""
@ -5461,3 +5493,19 @@ msgstr ""
#: templates/preventivi/body.php:299
msgid "Tempi consegna"
msgstr ""
#: templates/registro_iva/pdfgen.registro_iva.php:56
msgid "Registro iva vendita dal _START_ al _END_"
msgstr ""
#: templates/registro_iva/pdfgen.registro_iva.php:61
msgid "Registro iva acquisto dal _START_ al _END_"
msgstr ""
#: templates/spesometro/body.php:20
msgid "Aliquota"
msgstr ""
#: templates/spesometro/body.php:144
msgid "IVA \"_TYPE_\""
msgstr ""

View File

@ -299,18 +299,73 @@ switch (post('op')) {
$data = $rs[0]['data'];
$codice = $rs[0]['codice'];
$costi_intervento = get_costi_intervento($idintervento);
$prezzo = $costi_intervento['manodopera_scontato'] + $costi_intervento['viaggio_scontato'];
// Calcolo iva
$query = 'SELECT * FROM co_iva WHERE id='.prepare($idiva);
$rs = $dbo->fetchArray($query);
$subtot = $prezzo - $prezzo_km_consuntivo;
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
$desc_iva = $rs[0]['descrizione'];
// Calcolo rivalsa inps
$query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare(get_var('Percentuale rivalsa INPS'));
$rs = $dbo->fetchArray($query);
$rivalsainps = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
// Calcolo ritenuta d'acconto
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare(get_var("Percentuale ritenuta d'acconto"));
$rs = $dbo->fetchArray($query);
$ritenutaacconto = ($subtot - $sconto + $rivalsainps) / 100 * $rs[0]['percentuale'];
// Aggiunta riga intervento sul documento
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idintervento).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).", '-', ".prepare($qta).', '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
// Collego in fattura eventuali articoli collegati all'intervento
$rs2 = $dbo->fetchArray('SELECT mg_articoli_interventi.*, idarticolo FROM mg_articoli_interventi INNER JOIN mg_articoli ON mg_articoli_interventi.idarticolo=mg_articoli.id WHERE idintervento='.prepare($idintervento).' AND ( idintervento NOT IN(SELECT idintervento FROM co_righe_preventivi WHERE idpreventivo IN(SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) AND idintervento NOT IN(SELECT idintervento FROM co_righe_contratti WHERE idcontratto IN(SELECT idcontratto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) )');
for ($i = 0; $i < sizeof($rs2); ++$i) {
$riga = add_articolo_infattura($id_record, $rs2[$i]['idarticolo'], $rs2[$i]['descrizione'], $idiva, $rs2[$i]['qta'], $rs2[$i]['prezzo_vendita'] * $rs2[$i]['qta'], $rs2[$i]['sconto'], $rs2[$i]['sconto_unitario'], $rs2[$i]['tipo_sconto'], $idintervento);
// Lettura lotto, serial, altro dalla riga dell'ordine
$dbo->query('INSERT INTO mg_prodotti (id_riga_documento, id_articolo, dir, serial, lotto, altro) SELECT '.prepare($riga).', '.prepare($rs2[$i]['idarticolo']).', '.prepare($dir).', serial, lotto, altro FROM mg_prodotti AS t WHERE id_riga_intervento='.prepare($rs2[$i]['id']));
}
// Aggiunta spese aggiuntive come righe generiche
$query = 'SELECT * FROM in_righe_interventi WHERE idintervento='.prepare($idintervento).' AND ( idintervento NOT IN(SELECT idintervento FROM co_righe_preventivi WHERE idpreventivo IN(SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) AND idintervento NOT IN(SELECT idintervento FROM co_righe_contratti WHERE idcontratto IN(SELECT idcontratto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) )';
$rsr = $dbo->fetchArray($query);
if (sizeof($rsr) > 0) {
for ($i = 0; $i < sizeof($rsr); ++$i) {
// Calcolo iva
$query = 'SELECT * FROM co_iva WHERE id='.prepare($idiva);
$rs = $dbo->fetchArray($query);
$desc_iva = $rs[0]['descrizione'];
$subtot = $rsr[$i]['prezzo_vendita'] * $rsr[$i]['qta'];
$iva = ($subtot) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
// Calcolo rivalsa inps
$query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare(get_var('Percentuale rivalsa INPS'));
$rs = $dbo->fetchArray($query);
$rivalsainps = ($subtot) / 100 * $rs[0]['percentuale'];
// Calcolo ritenuta d'acconto
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare(get_var("Percentuale ritenuta d'acconto"));
$rs = $dbo->fetchArray($query);
$ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale'];
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idintervento).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($rsr[$i]['descrizione']).', '.prepare($subtot).", 0, 0, 'UNT', ".prepare($rsr[$i]['um']).', '.prepare($rsr[$i]['qta']).', '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
}
}
$rs = $dbo->fetchArray('SELECT (SELECT SUM(km) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS km, (SELECT costo_orario FROM in_tipiintervento WHERE idtipointervento=in_interventi.idtipointervento) AS prezzo_ore_unitario, (SELECT costo_km FROM in_tipiintervento WHERE idtipointervento=in_interventi.idtipointervento) AS prezzo_km_unitario, (SELECT costo_diritto_chiamata FROM in_tipiintervento WHERE idtipointervento=in_interventi.idtipointervento) AS prezzo_diritto_chiamata, (SELECT SUM(TIME_TO_SEC(TIMEDIFF(orario_fine, orario_inizio))) FROM in_interventi_tecnici GROUP BY idintervento HAVING in_interventi_tecnici.idintervento=in_interventi.id) AS t1, (SELECT SUM(km) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS km, (SELECT SUM(prezzo_ore_consuntivo) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS tot_ore_consuntivo, (SELECT SUM(prezzo_km_consuntivo) FROM in_interventi_tecnici GROUP BY idintervento HAVING idintervento=in_interventi.id) AS tot_km_consuntivo, (SELECT COUNT(idtecnico) FROM in_interventi_tecnici WHERE idintervento=in_interventi.id) AS n_tecnici FROM `in_interventi` WHERE in_interventi.id='.prepare($idintervento).' AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL AND NOT idintervento IS NULL)');
if (!empty($rs)) {
// Collego in fattura eventuali articoli collegati all'intervento
$rs2 = $dbo->fetchArray('SELECT mg_articoli_interventi.*, idarticolo FROM mg_articoli_interventi INNER JOIN mg_articoli ON mg_articoli_interventi.idarticolo=mg_articoli.id WHERE idintervento='.prepare($idintervento).' AND ( idintervento NOT IN(SELECT idintervento FROM co_righe_preventivi WHERE idpreventivo IN(SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) AND idintervento NOT IN(SELECT idintervento FROM co_righe_contratti WHERE idcontratto IN(SELECT idcontratto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) )');
for ($i = 0; $i < sizeof($rs2); ++$i) {
$riga = add_articolo_infattura($id_record, $rs2[$i]['idarticolo'], $rs2[$i]['descrizione'], $idiva, $rs2[$i]['qta'], $rs2[$i]['prezzo_vendita'] * $rs2[$i]['qta'], $rs2[$i]['sconto'], $rs2[$i]['sconto_unitario'], $rs2[$i]['tipo_sconto'], $idintervento);
// Lettura lotto, serial, altro dalla riga dell'ordine
$dbo->query('INSERT INTO mg_prodotti (id_riga_documento, id_articolo, dir, serial, lotto, altro) SELECT '.prepare($riga).', '.prepare($rs2[$i]['idarticolo']).', '.prepare($dir).', serial, lotto, altro FROM mg_prodotti AS t WHERE id_riga_intervento='.prepare($rs2[$i]['id']));
}
// Subtot
$prezzo_ore_consuntivo = $rs[0]['tot_ore_consuntivo'];
$prezzo_km_consuntivo = $rs[0]['tot_km_consuntivo'];
@ -343,106 +398,53 @@ switch (post('op')) {
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idintervento).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Trasferta intervento '.$codice.' del '.Translator::dateToLocale($data)).', '.prepare($subtot).", 'km', ".prepare($km).', '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
}
}
// Aggiunta spese aggiuntive come righe generiche
$query = 'SELECT * FROM in_righe_interventi WHERE idintervento='.prepare($idintervento).' AND ( idintervento NOT IN(SELECT idintervento FROM co_righe_preventivi WHERE idpreventivo IN(SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) AND idintervento NOT IN(SELECT idintervento FROM co_righe_contratti WHERE idcontratto IN(SELECT idcontratto FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).')) )';
$rsr = $dbo->fetchArray($query);
if (sizeof($rsr) > 0) {
for ($i = 0; $i < sizeof($rsr); ++$i) {
// Calcolo iva
$query = 'SELECT * FROM co_iva WHERE id='.prepare($idiva);
$rs = $dbo->fetchArray($query);
$desc_iva = $rs[0]['descrizione'];
$subtot = $rsr[$i]['prezzo_vendita'] * $rsr[$i]['qta'];
$iva = ($subtot) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
// Calcolo rivalsa inps
$query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare(get_var('Percentuale rivalsa INPS'));
$rs = $dbo->fetchArray($query);
$rivalsainps = ($subtot) / 100 * $rs[0]['percentuale'];
// Calcolo ritenuta d'acconto
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare(get_var("Percentuale ritenuta d'acconto"));
$rs = $dbo->fetchArray($query);
$ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale'];
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idintervento).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($rsr[$i]['descrizione']).', '.prepare($subtot).", 0, 0, 'UNT', ".prepare($rsr[$i]['um']).', '.prepare($rsr[$i]['qta']).', '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
}
}
$costi_intervento = get_costi_intervento($idintervento);
$prezzo = $costi_intervento['manodopera_scontato'] + $costi_intervento['viaggio_scontato'];
// Aggiunta sconto
if (!empty($costi_intervento['sconto_globale'])) {
$subtot = $costi_intervento['sconto_globale'];
// Calcolo iva
$query = 'SELECT * FROM co_iva WHERE id='.prepare($idiva);
$rs = $dbo->fetchArray($query);
$subtot = $prezzo - $prezzo_km_consuntivo;
$iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
$desc_iva = $rs[0]['descrizione'];
$iva = ($subtot) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
// Calcolo rivalsa inps
$query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare(get_var('Percentuale rivalsa INPS'));
$rs = $dbo->fetchArray($query);
$rivalsainps = ($subtot - $sconto) / 100 * $rs[0]['percentuale'];
$rivalsainps = ($subtot) / 100 * $rs[0]['percentuale'];
// Calcolo ritenuta d'acconto
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare(get_var("Percentuale ritenuta d'acconto"));
$rs = $dbo->fetchArray($query);
$ritenutaacconto = ($subtot - $sconto + $rivalsainps) / 100 * $rs[0]['percentuale'];
$ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale'];
// Aggiunta riga intervento sul documento
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, um, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', '.prepare($idintervento).', '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).", '-', ".prepare($qta).', '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
if ($dbo->query($query)) {
// Aggiunta sconto
if (!empty($costi_intervento['sconto_globale'])) {
$subtot = $costi_intervento['sconto_globale'];
// Calcolo iva
$query = 'SELECT * FROM co_iva WHERE id='.prepare($idiva);
$rs = $dbo->fetchArray($query);
$desc_iva = $rs[0]['descrizione'];
$iva = ($subtot) / 100 * $rs[0]['percentuale'];
$iva_indetraibile = $iva / 100 * $rs[0]['indetraibile'];
// Calcolo rivalsa inps
$query = 'SELECT * FROM co_rivalsainps WHERE id='.prepare(get_var('Percentuale rivalsa INPS'));
$rs = $dbo->fetchArray($query);
$rivalsainps = ($subtot) / 100 * $rs[0]['percentuale'];
// Calcolo ritenuta d'acconto
$query = 'SELECT * FROM co_ritenutaacconto WHERE id='.prepare(get_var("Percentuale ritenuta d'acconto"));
$rs = $dbo->fetchArray($query);
$ritenutaacconto = ($subtot + $rivalsainps) / 100 * $rs[0]['percentuale'];
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', NULL, '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
}
// Ricalcolo inps, ritenuta e bollo
if ($dir == 'entrata') {
ricalcola_costiagg_fattura($id_record);
} else {
ricalcola_costiagg_fattura($id_record, 0, 0, 0);
}
// Metto l'intervento in stato "Fatturato"
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id=".prepare($idintervento));
$_SESSION['infos'][] = tr('Intervento _NUM_ aggiunto!', [
'_NUM_' => $idintervento,
]);
} else {
$_SESSION['errors'][] = tr("Errore durante l'inserimento dell'intervento _NUM_ in fattura!", [
'_NUM_' => $idintervento,
]);
}
$query = 'INSERT INTO co_righe_documenti(iddocumento, idintervento, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, qta, idrivalsainps, rivalsainps, idritenutaacconto, ritenutaacconto, `order`) VALUES('.prepare($id_record).', NULL, '.prepare($idconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare('Sconto '.$descrizione).', '.prepare($subtot).', 1, '.prepare(get_var('Percentuale rivalsa INPS')).', '.prepare($rivalsainps).', '.prepare(get_var("Percentuale ritenuta d'acconto")).', '.prepare($ritenutaacconto).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))';
$dbo->query($query);
}
// Ricalcolo inps, ritenuta e bollo
if ($dir == 'entrata') {
ricalcola_costiagg_fattura($id_record);
} else {
ricalcola_costiagg_fattura($id_record, 0, 0, 0);
}
// Metto l'intervento in stato "Fatturato"
$dbo->query("UPDATE in_interventi SET idstatointervento=(SELECT idstatointervento FROM in_statiintervento WHERE descrizione='Fatturato') WHERE id=".prepare($idintervento));
$_SESSION['infos'][] = tr('Intervento _NUM_ aggiunto!', [
'_NUM_' => $idintervento,
]);
/*
else {
$_SESSION['errors'][] = tr("Errore durante l'inserimento dell'intervento _NUM_ in fattura!", [
'_NUM_' => $idintervento,
]);
}*/
}
break;