mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 11:30:55 +01:00
Suddivisione sedi in partenza e destinazione su tutti i moduli
This commit is contained in:
parent
c029f947c8
commit
0878a5709a
@ -2,7 +2,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenSTAManager\n"
|
||||
"POT-Creation-Date: 2019-04-12 17:56-0700\n"
|
||||
"POT-Creation-Date: 2019-04-18 12:18+0200\n"
|
||||
"PO-Revision-Date: 2017-09-06 09:35+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -10,7 +10,7 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@ -74,7 +74,7 @@ msgid "Errore durante l'invio dell'email"
|
||||
msgstr ""
|
||||
|
||||
#: add.php:90 include/init/configuration.php:278 include/top.php:79
|
||||
#: modules/fatture/edit.php:665 modules/fatture/edit.php:674
|
||||
#: modules/fatture/edit.php:664 modules/fatture/edit.php:673
|
||||
#: modules/import/edit.php:163 modules/smtp/buttons.php:32
|
||||
#: modules/utenti/edit.php:181 modules/viste/edit.php:466
|
||||
#: plugins/exportFE/edit.php:246 plugins/importFE/edit.php:43
|
||||
@ -262,7 +262,7 @@ msgid "Creazione"
|
||||
msgstr ""
|
||||
|
||||
#: editor.php:250 include/common/form.php:19
|
||||
#: modules/interventi/add_articolo.php:41 modules/interventi/add_righe.php:27
|
||||
#: modules/interventi/add_articolo.php:42 modules/interventi/add_righe.php:28
|
||||
#: modules/interventi/manage_sessione.php:15 modules/utenti/user.php:32
|
||||
#: plugins/pianificazione_interventi/add_articolo.php:42
|
||||
#: plugins/pianificazione_interventi/add_righe.php:26
|
||||
@ -306,7 +306,7 @@ msgstr ""
|
||||
#: modules/automezzi/add_articolo.php:19
|
||||
#: modules/automezzi/row-list-articoli.php:13 modules/contratti/edit.php:299
|
||||
#: modules/ddt/edit.php:204 modules/fatture/add_serial.php:59
|
||||
#: modules/fatture/edit.php:487 modules/interventi/add_articolo.php:83
|
||||
#: modules/fatture/edit.php:486 modules/interventi/add_articolo.php:84
|
||||
#: modules/interventi/ajax_articoli.php:14 modules/ordini/edit.php:144
|
||||
#: modules/preventivi/edit.php:169 plugins/importFE/rows.php:157
|
||||
#: plugins/pianificazione_interventi/add_articolo.php:86
|
||||
@ -314,15 +314,15 @@ msgstr ""
|
||||
msgid "Articolo"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/articolo.php:36 modules/interventi/add_articolo.php:148
|
||||
#: include/common/articolo.php:36 modules/interventi/add_articolo.php:149
|
||||
msgid "Visualizza ultimi prezzi (cliente)"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/articolo.php:43 modules/interventi/add_articolo.php:155
|
||||
#: include/common/articolo.php:43 modules/interventi/add_articolo.php:156
|
||||
msgid "Visualizza ultimi prezzi (acquisto)"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/articolo.php:50 modules/interventi/add_articolo.php:162
|
||||
#: include/common/articolo.php:50 modules/interventi/add_articolo.php:163
|
||||
msgid "Visualizza ultimi prezzi (vendita)"
|
||||
msgstr ""
|
||||
|
||||
@ -340,7 +340,7 @@ msgstr ""
|
||||
msgid "Calcola ritenuta d'acconto su"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/conti.php:84 modules/fatture/edit.php:258
|
||||
#: include/common/conti.php:84 modules/fatture/edit.php:257
|
||||
#: modules/fatture/row-list.php:419
|
||||
msgid "Ritenuta contributi"
|
||||
msgstr ""
|
||||
@ -364,8 +364,8 @@ msgstr ""
|
||||
#: modules/contratti/widgets/contratti.pianificazionedashboard.interventi.php:54
|
||||
#: modules/dashboard/actions.php:123 modules/ddt/edit.php:214
|
||||
#: modules/ddt/row-list.php:8 modules/fatture/add_intervento.php:70
|
||||
#: modules/fatture/edit.php:497 modules/fatture/row-list.php:14
|
||||
#: modules/interventi/add_articolo.php:91 modules/interventi/add_righe.php:56
|
||||
#: modules/fatture/edit.php:496 modules/fatture/row-list.php:14
|
||||
#: modules/interventi/add_articolo.php:92 modules/interventi/add_righe.php:57
|
||||
#: modules/interventi/ajax_righe.php:18 modules/interventi/edit.php:126
|
||||
#: modules/interventi/plugins/my_impianti.interventi.php:21
|
||||
#: modules/interventi/widgets/interventi.pianificazionedashboard.interventi.php:55
|
||||
@ -428,8 +428,8 @@ msgstr ""
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:154
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:187
|
||||
#: modules/contratti/row-list.php:15 modules/ddt/row-list.php:9
|
||||
#: modules/fatture/row-list.php:15 modules/interventi/add_articolo.php:107
|
||||
#: modules/interventi/add_righe.php:65 modules/interventi/ajax_articoli.php:15
|
||||
#: modules/fatture/row-list.php:15 modules/interventi/add_articolo.php:108
|
||||
#: modules/interventi/add_righe.php:66 modules/interventi/ajax_articoli.php:15
|
||||
#: modules/interventi/ajax_righe.php:19 modules/ordini/row-list.php:11
|
||||
#: modules/preventivi/plugins/preventivi.consuntivo.php:139
|
||||
#: modules/preventivi/plugins/preventivi.consuntivo.php:172
|
||||
@ -483,8 +483,8 @@ msgstr ""
|
||||
#: modules/automezzi/row-list-articoli.php:42 modules/contratti/row-list.php:18
|
||||
#: modules/contratti/row-list.php:198 modules/ddt/row-list.php:12
|
||||
#: modules/fatture/add_intervento.php:93 modules/fatture/row-list.php:18
|
||||
#: modules/fatture/row-list.php:360 modules/interventi/add_articolo.php:119
|
||||
#: modules/interventi/add_righe.php:77 modules/interventi/ajax_articoli.php:25
|
||||
#: modules/fatture/row-list.php:360 modules/interventi/add_articolo.php:120
|
||||
#: modules/interventi/add_righe.php:78 modules/interventi/ajax_articoli.php:25
|
||||
#: modules/interventi/ajax_righe.php:25 modules/ordini/row-list.php:14
|
||||
#: modules/ordini/row-list.php:263 modules/preventivi/row-list.php:19
|
||||
#: plugins/pianificazione_interventi/add_articolo.php:123
|
||||
@ -496,7 +496,7 @@ msgid "Iva"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/riga.php:25 modules/articoli/edit.php:88
|
||||
#: modules/interventi/add_articolo.php:113 modules/interventi/add_righe.php:71
|
||||
#: modules/interventi/add_articolo.php:114 modules/interventi/add_righe.php:72
|
||||
#: plugins/pianificazione_interventi/add_articolo.php:109
|
||||
#: plugins/pianificazione_interventi/add_righe.php:69
|
||||
msgid "Unità di misura"
|
||||
@ -523,7 +523,7 @@ msgid "Guadagno"
|
||||
msgstr ""
|
||||
|
||||
#: include/common/riga.php:84 include/common/sconto.php:51
|
||||
#: modules/interventi/add_articolo.php:139 modules/interventi/add_righe.php:97
|
||||
#: modules/interventi/add_articolo.php:140 modules/interventi/add_righe.php:98
|
||||
#: plugins/pianificazione_interventi/add_articolo.php:135
|
||||
#: plugins/pianificazione_interventi/add_righe.php:95 update/2_4_9.php:19
|
||||
msgid "Sconto unitario"
|
||||
@ -1069,8 +1069,8 @@ msgid "Procedere l'aggiornamento?"
|
||||
msgstr ""
|
||||
|
||||
#: include/init/update.php:154 modules/ddt/bulk.php:141
|
||||
#: modules/fatture/bulk.php:273 modules/fatture/bulk.php:284
|
||||
#: modules/fatture/bulk.php:295 plugins/receiptFE/edit.php:63
|
||||
#: modules/fatture/bulk.php:295 modules/fatture/bulk.php:306
|
||||
#: modules/fatture/bulk.php:317 plugins/receiptFE/edit.php:63
|
||||
msgid "Procedi"
|
||||
msgstr ""
|
||||
|
||||
@ -1195,7 +1195,7 @@ msgstr ""
|
||||
#: modules/categorie_impianti/edit.php:58 modules/causali/edit.php:45
|
||||
#: modules/contratti/edit.php:478 modules/custom_fields/edit.php:57
|
||||
#: modules/ddt/edit.php:299 modules/emails/edit.php:129
|
||||
#: modules/fatture/edit.php:629 modules/gestione_componenti/edit.php:58
|
||||
#: modules/fatture/edit.php:628 modules/gestione_componenti/edit.php:58
|
||||
#: modules/gestione_documentale/edit.php:43 modules/interventi/edit.php:432
|
||||
#: modules/iva/edit.php:87 modules/listini/edit.php:38
|
||||
#: modules/misure/edit.php:45 modules/modelli_primanota/edit.php:119
|
||||
@ -1826,7 +1826,7 @@ msgstr ""
|
||||
#: modules/aggiornamenti/edit.php:105 modules/backups/edit.php:49
|
||||
#: modules/contratti/plugins/contratti.ordiniservizio.interventi.php:104
|
||||
#: modules/contratti/plugins/contratti.ordiniservizio.interventi.php:130
|
||||
#: modules/fatture/edit.php:596 modules/utenti/edit.php:53
|
||||
#: modules/fatture/edit.php:595 modules/utenti/edit.php:53
|
||||
#: modules/utenti/edit.php:56 modules/utenti/edit.php:72
|
||||
#: modules/utenti/edit.php:75 modules/utenti/edit.php:85
|
||||
#: plugins/importFE/edit.php:15
|
||||
@ -2041,7 +2041,7 @@ msgstr ""
|
||||
msgid "Aggiunta nuova anagrafica di tipo _TYPE_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/actions.php:198
|
||||
#: modules/anagrafiche/actions.php:213
|
||||
msgid "Anagrafica eliminata!"
|
||||
msgstr ""
|
||||
|
||||
@ -2463,7 +2463,7 @@ msgid ""
|
||||
"costituiti.</li></ul>"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/edit.php:462 modules/fatture/edit.php:242
|
||||
#: modules/anagrafiche/edit.php:462 modules/fatture/edit.php:241
|
||||
msgid "Split payment"
|
||||
msgstr ""
|
||||
|
||||
@ -2507,7 +2507,7 @@ msgstr ""
|
||||
#: modules/banche/edit.php:40
|
||||
#: modules/contratti/plugins/contratti.ordiniservizio.interventi.php:66
|
||||
#: modules/dashboard/actions.php:109 modules/ddt/edit.php:169
|
||||
#: modules/fatture/edit.php:265 modules/listini/edit.php:28
|
||||
#: modules/fatture/edit.php:264 modules/listini/edit.php:28
|
||||
#: modules/ordini/edit.php:90 modules/segmenti/edit.php:65
|
||||
#: modules/smtp/edit.php:73 templates/ddt/footer.php:12
|
||||
#: templates/ddt/footer.php:60 templates/fatture/body.php:247
|
||||
@ -2549,82 +2549,45 @@ msgstr ""
|
||||
msgid "Questa anagrafica è stata eliminata"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:30
|
||||
msgid "Interventi"
|
||||
#: modules/anagrafiche/plugins/statistiche.php:20
|
||||
msgid "Preventivi"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:35
|
||||
msgid ""
|
||||
"Sono stati svolti <strong>_NUMBER_ interventi</strong> per un totale di "
|
||||
"_MONEY_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:39
|
||||
#: modules/anagrafiche/plugins/statistiche.php:77
|
||||
#: modules/anagrafiche/plugins/statistiche.php:117
|
||||
#: modules/anagrafiche/plugins/statistiche.php:21
|
||||
#: modules/anagrafiche/plugins/statistiche.php:46
|
||||
#: modules/anagrafiche/plugins/statistiche.php:72
|
||||
#: modules/anagrafiche/plugins/statistiche.php:107
|
||||
#: modules/anagrafiche/plugins/statistiche.php:132
|
||||
#: modules/anagrafiche/plugins/statistiche.php:157
|
||||
#: modules/anagrafiche/plugins/statistiche.php:186
|
||||
#: modules/contratti/plugins/contratti.ordiniservizio.php:145
|
||||
#: plugins/exportFE/edit.php:169 plugins/importFE/rows.php:51
|
||||
msgid "Visualizza"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:42
|
||||
msgid "Nessun intervento"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:68
|
||||
msgid "Preventivi"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:73
|
||||
msgid ""
|
||||
"Sono stati fatti <strong>_NUMBER_ preventivi</strong> per un totale di "
|
||||
"_MONEY_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:80
|
||||
msgid "Nessun preventivo"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:108
|
||||
#: modules/anagrafiche/plugins/statistiche.php:45
|
||||
msgid "Contratti"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:113
|
||||
msgid ""
|
||||
"Sono stati stipulati <strong>_NUMBER_ contratti</strong> per un totale di "
|
||||
"_MONEY_"
|
||||
#: modules/anagrafiche/plugins/statistiche.php:71
|
||||
msgid "Ordini cliente"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:120
|
||||
msgid "Nessun contratto"
|
||||
#: modules/anagrafiche/plugins/statistiche.php:106
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:46
|
||||
#: modules/preventivi/plugins/preventivi.consuntivo.php:31
|
||||
#: modules/tecnici_tariffe/edit.php:25 templates/contratti_cons/body.php:86
|
||||
#: templates/preventivi_cons/body.php:68
|
||||
msgid "Attività"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:132
|
||||
#: modules/anagrafiche/plugins/statistiche.php:131
|
||||
msgid "Ddt in uscita"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:156
|
||||
msgid "Fatture"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:153
|
||||
msgid ""
|
||||
"Sono state emesse <strong>_NUMBER_ fatture di vendita</strong> per un totale "
|
||||
"di _MONEY_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:160
|
||||
msgid "Nessuna fattura di vendita"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:182
|
||||
msgid ""
|
||||
"Sono state registrate <strong>_NUMBER_ fatture di acquisto</strong> per un "
|
||||
"totale di _MONEY_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/plugins/statistiche.php:189
|
||||
msgid "Nessuna fattura di acquisto"
|
||||
msgstr ""
|
||||
|
||||
#: modules/anagrafiche/src/Anagrafica.php:109
|
||||
#: modules/tecnici_tariffe/actions.php:71
|
||||
#: modules/tecnici_tariffe/actions.php:80
|
||||
@ -3199,7 +3162,7 @@ msgid "Rimuovere articolo dell'automezzo?"
|
||||
msgstr ""
|
||||
|
||||
#: modules/automezzi/row-list-articoli.php:61
|
||||
#: modules/interventi/ajax_articoli.php:146
|
||||
#: modules/interventi/ajax_articoli.php:145
|
||||
msgid "Nessun articolo presente"
|
||||
msgstr ""
|
||||
|
||||
@ -3507,7 +3470,7 @@ msgid "Sottocategorie"
|
||||
msgstr ""
|
||||
|
||||
#: modules/categorie_articoli/edit.php:43 modules/contratti/edit.php:303
|
||||
#: modules/ddt/edit.php:208 modules/fatture/edit.php:491
|
||||
#: modules/ddt/edit.php:208 modules/fatture/edit.php:490
|
||||
#: modules/ordini/edit.php:148 modules/preventivi/edit.php:173
|
||||
msgid "Aggiungi riga"
|
||||
msgstr ""
|
||||
@ -3838,32 +3801,32 @@ msgid "Righe"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/edit.php:298 modules/ddt/edit.php:203
|
||||
#: modules/fatture/edit.php:486 modules/interventi/edit.php:234
|
||||
#: modules/fatture/edit.php:485 modules/interventi/edit.php:234
|
||||
#: modules/ordini/edit.php:143 modules/preventivi/edit.php:168
|
||||
#: plugins/pianificazione_interventi/pianficazione.php:126
|
||||
msgid "Aggiungi articolo"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/edit.php:304 modules/ddt/edit.php:209
|
||||
#: modules/fatture/edit.php:492 modules/ordini/edit.php:149
|
||||
#: modules/fatture/edit.php:491 modules/ordini/edit.php:149
|
||||
#: modules/preventivi/edit.php:174
|
||||
msgid "Riga"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/edit.php:308 modules/ddt/edit.php:213
|
||||
#: modules/fatture/edit.php:496 modules/ordini/edit.php:153
|
||||
#: modules/fatture/edit.php:495 modules/ordini/edit.php:153
|
||||
#: modules/preventivi/edit.php:178
|
||||
msgid "Aggiungi descrizione"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/edit.php:313 modules/ddt/edit.php:218
|
||||
#: modules/fatture/edit.php:501 modules/interventi/edit.php:256
|
||||
#: modules/fatture/edit.php:500 modules/interventi/edit.php:256
|
||||
#: modules/ordini/edit.php:158 modules/preventivi/edit.php:183
|
||||
msgid "Aggiungi sconto/maggiorazione"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/edit.php:314 modules/ddt/edit.php:219
|
||||
#: modules/fatture/edit.php:502 modules/interventi/edit.php:257
|
||||
#: modules/fatture/edit.php:501 modules/interventi/edit.php:257
|
||||
#: modules/ordini/edit.php:159 modules/preventivi/edit.php:184
|
||||
msgid "Sconto/maggiorazione"
|
||||
msgstr ""
|
||||
@ -3885,13 +3848,6 @@ msgstr ""
|
||||
msgid "Tipo di fattura"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:46
|
||||
#: modules/preventivi/plugins/preventivi.consuntivo.php:31
|
||||
#: modules/tecnici_tariffe/edit.php:25 templates/contratti_cons/body.php:86
|
||||
#: templates/preventivi_cons/body.php:68
|
||||
msgid "Attività"
|
||||
msgstr ""
|
||||
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:47
|
||||
#: modules/contratti/plugins/contratti.consuntivo.php:106
|
||||
#: modules/interventi/ajax_tecnici.php:40
|
||||
@ -4588,7 +4544,7 @@ msgstr ""
|
||||
msgid "Ddt eliminati!"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/bulk.php:135 modules/fatture/bulk.php:266
|
||||
#: modules/ddt/bulk.php:135 modules/fatture/bulk.php:288
|
||||
msgid "Elimina selezionati"
|
||||
msgstr ""
|
||||
|
||||
@ -4621,17 +4577,17 @@ msgstr ""
|
||||
msgid "Destinazione merce"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:111 modules/fatture/edit.php:289
|
||||
#: modules/ddt/edit.php:111 modules/fatture/edit.php:288
|
||||
#: templates/ddt/footer.php:74 templates/fatture/footer.php:362
|
||||
msgid "Aspetto beni"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:115 modules/fatture/edit.php:293
|
||||
#: modules/ddt/edit.php:115 modules/fatture/edit.php:292
|
||||
#: templates/ddt/footer.php:82 templates/fatture/footer.php:370
|
||||
msgid "Causale trasporto"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:119 modules/fatture/edit.php:297
|
||||
#: modules/ddt/edit.php:119 modules/fatture/edit.php:296
|
||||
#: templates/ddt/footer.php:86 templates/fatture/footer.php:374
|
||||
msgid "Porto"
|
||||
msgstr ""
|
||||
@ -4642,7 +4598,7 @@ msgid ""
|
||||
"<li>Assegnato pagamento del trasporto a carico del destinatario</li> </ul>"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:123 modules/fatture/edit.php:301
|
||||
#: modules/ddt/edit.php:123 modules/fatture/edit.php:300
|
||||
#: templates/ddt/footer.php:78 templates/fatture/footer.php:366
|
||||
msgid "Num. colli"
|
||||
msgstr ""
|
||||
@ -4655,23 +4611,23 @@ msgstr ""
|
||||
msgid "Pagamento"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:133 modules/fatture/edit.php:307
|
||||
#: modules/ddt/edit.php:133 modules/fatture/edit.php:306
|
||||
#: templates/ddt/footer.php:122 templates/fatture/footer.php:402
|
||||
msgid "Tipo di spedizione"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:137 modules/ddt/edit.php:146 modules/ddt/edit.php:152
|
||||
#: modules/fatture/edit.php:311 modules/fatture/edit.php:319
|
||||
#: modules/fatture/edit.php:325 templates/ddt/footer.php:118
|
||||
#: modules/fatture/edit.php:310 modules/fatture/edit.php:318
|
||||
#: modules/fatture/edit.php:324 templates/ddt/footer.php:118
|
||||
msgid "Vettore"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:175 modules/fatture/edit.php:271
|
||||
#: modules/ddt/edit.php:175 modules/fatture/edit.php:270
|
||||
#: modules/ordini/edit.php:96
|
||||
msgid "Note aggiuntive"
|
||||
msgstr ""
|
||||
|
||||
#: modules/ddt/edit.php:175 modules/fatture/edit.php:271
|
||||
#: modules/ddt/edit.php:175 modules/fatture/edit.php:270
|
||||
msgid "Note interne."
|
||||
msgstr ""
|
||||
|
||||
@ -4851,29 +4807,29 @@ msgid ""
|
||||
"generate"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:270
|
||||
#: modules/fatture/bulk.php:292 modules/fatture/buttons.php:66
|
||||
msgid "Registra contabile pagamento"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:272
|
||||
#: modules/fatture/bulk.php:294
|
||||
msgid ""
|
||||
"Vuoi aggiungere un movimento contabile per le fatture selezionate? (le "
|
||||
"fatture dovranno essere in stato emessa altrimenti non verranno elaborate)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:281 modules/interventi/bulk.php:131
|
||||
#: modules/fatture/bulk.php:303 modules/interventi/bulk.php:131
|
||||
msgid "Esporta stampe"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:283
|
||||
#: modules/fatture/bulk.php:305
|
||||
msgid "Vuoi davvero esportare tutte le stampe in un archivio?"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:292
|
||||
#: modules/fatture/bulk.php:314
|
||||
msgid "Esporta XML"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/bulk.php:294
|
||||
#: modules/fatture/bulk.php:316
|
||||
msgid "Vuoi davvero esportare tutte le fatture elettroniche in un archivio?"
|
||||
msgstr ""
|
||||
|
||||
@ -4909,10 +4865,6 @@ msgstr ""
|
||||
msgid "Aggiungi prima nota"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/buttons.php:66
|
||||
msgid "Registrazione contabile pagamento"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/buttons.php:72
|
||||
msgid ""
|
||||
"Se riapri questa fattura verrà azzerato lo scadenzario e la prima nota. "
|
||||
@ -4992,90 +4944,90 @@ msgstr ""
|
||||
msgid "Applicato solo se il totale della fattura è maggiore di _MONEY_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:242
|
||||
#: modules/fatture/edit.php:241
|
||||
msgid ""
|
||||
"Abilita lo split payment per questo documento. Le aliquote iva con natura N6 "
|
||||
"(reverse charge) non saranno disponibili."
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:250
|
||||
#: modules/fatture/edit.php:249
|
||||
msgid "Fattura per conto terzi"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:250
|
||||
#: modules/fatture/edit.php:249
|
||||
msgid "Nell'xml della FE imposta il fornitore ("
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:265
|
||||
#: modules/fatture/edit.php:264
|
||||
msgid "Note visibili anche in fattura."
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:283
|
||||
#: modules/fatture/edit.php:282
|
||||
msgid "Dati Fattura accompagnatoria"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:396
|
||||
#: modules/fatture/edit.php:395
|
||||
msgid "Tipo Resa"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:434
|
||||
#: modules/fatture/edit.php:433
|
||||
msgid ""
|
||||
"Interventi completati non collegati a preventivi o contratti e che non siano "
|
||||
"già stati fatturati."
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:444
|
||||
#: modules/fatture/edit.php:443
|
||||
msgid "Preventivi accettati, in attesa di conferma o in lavorazione."
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:454
|
||||
#: modules/fatture/edit.php:453
|
||||
msgid "Contratti accettati, in attesa di conferma o in lavorazione."
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:539
|
||||
#: modules/fatture/edit.php:538
|
||||
msgid "Controllo sui totali del documento e della fattura elettronica in corso"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:558
|
||||
#: modules/fatture/edit.php:557
|
||||
msgid ""
|
||||
"Il file XML non contiene il nodo ''ImportoTotaleDocumento'': impossibile "
|
||||
"controllare corrispondenza dei totali"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:560
|
||||
#: modules/fatture/edit.php:559
|
||||
msgid "Il totale del file XML corrisponde a quello calcolato dal gestionale"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:562
|
||||
#: modules/fatture/edit.php:561
|
||||
msgid ""
|
||||
"Il totale del file XML non corrisponde a quello calcolato dal gestionale: "
|
||||
"previsto _XML_, calcolato _CALC_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:580
|
||||
#: modules/fatture/edit.php:579
|
||||
msgid ""
|
||||
"Per allegare un documento alla fattura elettronica caricare il file PDF "
|
||||
"specificando come categoria \"Fattura Elettronica\""
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:593
|
||||
#: modules/fatture/edit.php:592
|
||||
msgid "Desideri ricalcolare le scadenze?"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:610
|
||||
#: modules/fatture/edit.php:609
|
||||
msgid "Note di credito collegate"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:612 modules/fatture/row-list.php:142
|
||||
#: modules/fatture/edit.php:611 modules/fatture/row-list.php:142
|
||||
#: templates/fatture/body.php:109
|
||||
msgid "Rif. fattura _NUM_ del _DATE_"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:665 plugins/exportFE/edit.php:246
|
||||
#: modules/fatture/edit.php:664 plugins/exportFE/edit.php:246
|
||||
msgid "Errore durante il salvataggio"
|
||||
msgstr ""
|
||||
|
||||
#: modules/fatture/edit.php:675
|
||||
#: modules/fatture/edit.php:674
|
||||
msgid "Alcuni campi obbligatori non sono stati compilati correttamente"
|
||||
msgstr ""
|
||||
|
||||
@ -5288,16 +5240,16 @@ msgstr ""
|
||||
msgid "-Seleziona un\\'opzione-"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/add_articolo.php:99
|
||||
#: modules/interventi/add_articolo.php:100
|
||||
msgid "Impianto su cui installare"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/add_articolo.php:127 modules/interventi/add_righe.php:85
|
||||
#: modules/interventi/add_articolo.php:128 modules/interventi/add_righe.php:86
|
||||
#: plugins/pianificazione_interventi/add_righe.php:83
|
||||
msgid "Prezzo di acquisto (un.)"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/add_articolo.php:133 modules/interventi/add_righe.php:91
|
||||
#: modules/interventi/add_articolo.php:134 modules/interventi/add_righe.php:92
|
||||
#: plugins/pianificazione_interventi/add_righe.php:89
|
||||
msgid "Prezzo di vendita (un.)"
|
||||
msgstr ""
|
||||
@ -5322,12 +5274,12 @@ msgstr ""
|
||||
msgid "Salva firma"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/ajax_articoli.php:128
|
||||
#: modules/interventi/ajax_articoli.php:133
|
||||
#: modules/interventi/ajax_articoli.php:127
|
||||
#: modules/interventi/ajax_articoli.php:132
|
||||
msgid "Modifica articoli"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/ajax_articoli.php:135
|
||||
#: modules/interventi/ajax_articoli.php:134
|
||||
msgid "Riportare questo articolo in magazzino?"
|
||||
msgstr ""
|
||||
|
||||
@ -5365,7 +5317,7 @@ msgid "Subtotale"
|
||||
msgstr ""
|
||||
|
||||
#: modules/interventi/ajax_righe.php:96
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:125
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:124
|
||||
#: plugins/pianificazione_interventi/ajax_righe.php:91
|
||||
msgid "Modifica spesa"
|
||||
msgstr ""
|
||||
@ -6019,7 +5971,7 @@ msgstr ""
|
||||
msgid "Vai alla fattura"
|
||||
msgstr ""
|
||||
|
||||
#: modules/primanota/edit.php:40
|
||||
#: modules/primanota/edit.php:39
|
||||
msgid "Vai alla fattura n. "
|
||||
msgstr ""
|
||||
|
||||
@ -7237,7 +7189,7 @@ msgstr ""
|
||||
msgid "Invio fallito"
|
||||
msgstr ""
|
||||
|
||||
#: plugins/exportFE/src/FatturaElettronica.php:1265
|
||||
#: plugins/exportFE/src/FatturaElettronica.php:1266
|
||||
#: plugins/importFE/src/FatturaElettronica.php:317
|
||||
#: plugins/importFE/src/FatturaElettronica.php:345
|
||||
#: plugins/receiptFE/src/Ricevuta.php:92
|
||||
@ -7368,15 +7320,15 @@ msgstr ""
|
||||
msgid "Nessun promemoria pianificato"
|
||||
msgstr ""
|
||||
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:129
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:128
|
||||
msgid "Elimina materiale"
|
||||
msgstr ""
|
||||
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:129
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:128
|
||||
msgid "Eliminare questo materiale?"
|
||||
msgstr ""
|
||||
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:143
|
||||
#: plugins/pianificazione_interventi/ajax_articoli.php:142
|
||||
msgid "Nessun articolo caricato"
|
||||
msgstr ""
|
||||
|
||||
|
BIN
locale/en/en.mo
BIN
locale/en/en.mo
Binary file not shown.
9120
locale/en/en.po
9120
locale/en/en.po
File diff suppressed because it is too large
Load Diff
@ -200,7 +200,7 @@ switch ($resource) {
|
||||
|
||||
case 'sedi':
|
||||
if (isset($superselect['idanagrafica'])) {
|
||||
$query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS(' - ', nomesede, citta) FROM an_sedi |where|) AS tab |filter| ORDER BY descrizione";
|
||||
$query = "SELECT * FROM (SELECT '0' AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS(' - ', nomesede, citta) FROM an_sedi |where|) AS tab |filter| ORDER BY descrizione";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'id='.prepare($element);
|
||||
@ -208,6 +208,27 @@ switch ($resource) {
|
||||
|
||||
$where[] = 'idanagrafica='.prepare($superselect['idanagrafica']);
|
||||
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = 'nomesede LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'sedi_azienda':
|
||||
if (isset($superselect['idanagrafica'])) {
|
||||
$query = "SELECT * FROM (SELECT '0' AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS(' - ', nomesede, citta) FROM an_sedi |where|) AS tab |filter| GROUP BY descrizione";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'id='.prepare($element);
|
||||
|
||||
}
|
||||
|
||||
$where[] = 'idanagrafica='.prepare(setting('Azienda predefinita'));
|
||||
|
||||
|
||||
|
||||
if (!empty($search)) {
|
||||
$search_fields[] = 'nomesede LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
|
@ -2,41 +2,89 @@
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
switch ($resource) {
|
||||
switch ($resource) {
|
||||
case 'articoli':
|
||||
$query = 'SELECT
|
||||
mg_articoli.id,
|
||||
mg_articoli.codice,
|
||||
mg_articoli.descrizione,
|
||||
round(mg_articoli.qta,'.setting('Cifre decimali per quantità').') AS qta,
|
||||
mg_articoli.um,
|
||||
mg_articoli.idiva_vendita,
|
||||
mg_articoli.idconto_vendita,
|
||||
mg_articoli.idconto_acquisto,
|
||||
mg_articoli.prezzo_vendita,
|
||||
mg_articoli.prezzo_acquisto,
|
||||
categoria.`nome` AS categoria,
|
||||
sottocategoria.`nome` AS sottocategoria,
|
||||
co_iva.descrizione AS iva_vendita,
|
||||
CONCAT(conto_vendita_categoria .numero, ".", conto_vendita_sottocategoria.numero, " ", conto_vendita_sottocategoria.descrizione) AS idconto_vendita_title,
|
||||
CONCAT(conto_acquisto_categoria .numero, ".", conto_acquisto_sottocategoria.numero, " ", conto_acquisto_sottocategoria.descrizione) AS idconto_acquisto_title
|
||||
FROM mg_articoli
|
||||
LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id
|
||||
LEFT JOIN `mg_categorie` AS categoria ON `categoria`.`id` = `mg_articoli`.`id_categoria`
|
||||
LEFT JOIN `mg_categorie` AS sottocategoria ON `sottocategoria`.`id` = `mg_articoli`.`id_sottocategoria`
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_vendita_sottocategoria ON conto_vendita_sottocategoria.id=mg_articoli.idconto_vendita
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_vendita_categoria ON conto_vendita_sottocategoria.idpianodeiconti2=conto_vendita_categoria.id
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_acquisto_sottocategoria ON conto_acquisto_sottocategoria.id=mg_articoli.idconto_acquisto
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_acquisto_categoria ON conto_acquisto_sottocategoria.idpianodeiconti2=conto_acquisto_categoria.id
|
||||
|where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC';
|
||||
// Se non ci sono sedi settate, carico tutti gli articoli
|
||||
if(!isset($superselect['idsede_partenza']) && (!isset($superselect['idsede_destinazione']))){
|
||||
$query = 'SELECT
|
||||
mg_articoli.id,
|
||||
mg_articoli.codice,
|
||||
mg_articoli.descrizione,
|
||||
round(mg_articoli.qta,'.setting('Cifre decimali per quantità').') AS qta,
|
||||
mg_articoli.um,
|
||||
mg_articoli.idiva_vendita,
|
||||
mg_articoli.idconto_vendita,
|
||||
mg_articoli.idconto_acquisto,
|
||||
mg_articoli.prezzo_vendita,
|
||||
mg_articoli.prezzo_acquisto,
|
||||
categoria.`nome` AS categoria,
|
||||
sottocategoria.`nome` AS sottocategoria,
|
||||
co_iva.descrizione AS iva_vendita,
|
||||
CONCAT(conto_vendita_categoria .numero, ".", conto_vendita_sottocategoria.numero, " ", conto_vendita_sottocategoria.descrizione) AS idconto_vendita_title,
|
||||
CONCAT(conto_acquisto_categoria .numero, ".", conto_acquisto_sottocategoria.numero, " ", conto_acquisto_sottocategoria.descrizione) AS idconto_acquisto_title
|
||||
FROM mg_articoli
|
||||
LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id
|
||||
LEFT JOIN `mg_categorie` AS categoria ON `categoria`.`id` = `mg_articoli`.`id_categoria`
|
||||
LEFT JOIN `mg_categorie` AS sottocategoria ON `sottocategoria`.`id` = `mg_articoli`.`id_sottocategoria`
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_vendita_sottocategoria ON conto_vendita_sottocategoria.id=mg_articoli.idconto_vendita
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_vendita_categoria ON conto_vendita_sottocategoria.idpianodeiconti2=conto_vendita_categoria.id
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_acquisto_sottocategoria ON conto_acquisto_sottocategoria.id=mg_articoli.idconto_acquisto
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_acquisto_categoria ON conto_acquisto_sottocategoria.idpianodeiconti2=conto_acquisto_categoria.id
|
||||
|where|
|
||||
ORDER BY
|
||||
mg_articoli.id_categoria ASC,
|
||||
mg_articoli.id_sottocategoria ASC,
|
||||
mg_articoli.codice ASC,
|
||||
mg_articoli.descrizione ASC';
|
||||
}
|
||||
|
||||
// Se c'è una sede settata, carico tutti gli articoli presenti in quella sede
|
||||
else{
|
||||
$query = 'SELECT
|
||||
mg_articoli.id,
|
||||
mg_articoli.codice,
|
||||
mg_articoli.descrizione,
|
||||
mg_articoli.um,
|
||||
mg_articoli.idiva_vendita,
|
||||
mg_articoli.idconto_vendita,
|
||||
mg_articoli.idconto_acquisto,
|
||||
mg_articoli.prezzo_vendita,
|
||||
mg_articoli.prezzo_acquisto,
|
||||
SUM(mg_movimenti.qta)AS qta,
|
||||
categoria.`nome` AS categoria,
|
||||
sottocategoria.`nome` AS sottocategoria,
|
||||
co_iva.descrizione AS iva_vendita,
|
||||
CONCAT(conto_vendita_categoria .numero, ".", conto_vendita_sottocategoria.numero, " ", conto_vendita_sottocategoria.descrizione) AS idconto_vendita_title,
|
||||
CONCAT(conto_acquisto_categoria .numero, ".", conto_acquisto_sottocategoria.numero, " ", conto_acquisto_sottocategoria.descrizione) AS idconto_acquisto_title
|
||||
FROM mg_articoli
|
||||
LEFT JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id
|
||||
LEFT JOIN `mg_categorie` AS categoria ON `categoria`.`id` = `mg_articoli`.`id_categoria`
|
||||
LEFT JOIN `mg_categorie` AS sottocategoria ON `sottocategoria`.`id` = `mg_articoli`.`id_sottocategoria`
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_vendita_sottocategoria ON conto_vendita_sottocategoria.id=mg_articoli.idconto_vendita
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_vendita_categoria ON conto_vendita_sottocategoria.idpianodeiconti2=conto_vendita_categoria.id
|
||||
LEFT JOIN co_pianodeiconti3 AS conto_acquisto_sottocategoria ON conto_acquisto_sottocategoria.id=mg_articoli.idconto_acquisto
|
||||
LEFT JOIN co_pianodeiconti2 AS conto_acquisto_categoria ON conto_acquisto_sottocategoria.idpianodeiconti2=conto_acquisto_categoria.id
|
||||
LEFT JOIN mg_movimenti ON mg_movimenti.idarticolo=mg_articoli.id
|
||||
LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_azienda
|
||||
|where|
|
||||
GROUP BY
|
||||
mg_articoli.id
|
||||
ORDER BY
|
||||
mg_articoli.id_categoria ASC,
|
||||
mg_articoli.id_sottocategoria ASC,
|
||||
mg_articoli.codice ASC,
|
||||
mg_articoli.descrizione ASC';
|
||||
}
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'mg_articoli.id='.prepare($element);
|
||||
}
|
||||
|
||||
$where[] = 'attivo = 1';
|
||||
if (!empty($superselect['dir']) && $superselect['dir'] == 'entrata') {
|
||||
//$where[] = '(qta > 0 OR servizio = 1)';
|
||||
|
||||
// Filtro articolo solo per documenti di vendita
|
||||
if ($superselect['dir'] == 'entrata' && isset($superselect['idsede_partenza']) ) {
|
||||
$where[] = 'idsede_azienda='.prepare($superselect['idsede_partenza']);
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
|
@ -297,51 +297,8 @@ echo '
|
||||
}
|
||||
echo '
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Questo articolo è presente nei seguenti automezzi').':</h3>
|
||||
</div>
|
||||
<div class="panel-body">';
|
||||
|
||||
// Quantità nell'automezzo
|
||||
$rsa = $dbo->fetchArray('SELECT qta, (SELECT nome FROM dt_automezzi WHERE id=idautomezzo) AS nome, (SELECT targa FROM dt_automezzi WHERE id=idautomezzo) AS targa FROM mg_articoli_automezzi WHERE idarticolo='.prepare($id_record));
|
||||
|
||||
if (count($rsa) > 0) {
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-6">
|
||||
<table class="table table-striped table-condensed table-bordered">
|
||||
<tr>
|
||||
<th>'.tr('Nome automezzo').'</th>
|
||||
<th>'.tr('Targa').'</th>
|
||||
<th>'.tr('Q.tà').'</th>
|
||||
</tr>';
|
||||
|
||||
for ($i = 0; $i < count($rsa); ++$i) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$rsa[$i]['nome'].'</td>
|
||||
<td>'.$rsa[$i]['targa'].'</td>
|
||||
<td>'.Translator::numberToLocale($rsa[$i]['qta']).' '.$rs[0]['unita_misura'].'</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>
|
||||
</div>
|
||||
</div>';
|
||||
} else {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
'.tr('Non ci sono automezzi collegati').'... '.Modules::link('Automezzi', null, tr('Collega il primo automezzo!')).'.
|
||||
</div>';
|
||||
}
|
||||
</div>';
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
|
||||
|
@ -41,27 +41,6 @@ function add_movimento_magazzino($id_articolo, $qta, $array = [], $descrizone =
|
||||
$data = $rs_data[0]['data'];
|
||||
}
|
||||
|
||||
// Automezzo
|
||||
elseif (!empty($array['idautomezzo'])) {
|
||||
$rs = $dbo->fetchArray("SELECT CONCAT_WS( ' - ', nome, targa ) AS nome FROM dt_automezzi WHERE id=".prepare($array['idautomezzo']));
|
||||
$nome = $rs[0]['nome'];
|
||||
|
||||
if (empty($array['idintervento'])) {
|
||||
$movimento = ($qta < 0) ? tr("Carico dal magazzino sull'automezzo _NAME_") : tr("Scarico nel magazzino dall'automezzo _NAME_");
|
||||
}
|
||||
// Automezzo legato a intervento
|
||||
else {
|
||||
$movimento = ($qta > 0) ? tr("Carico sull'automezzo _NAME_") : tr("Scarico dall'automezzo _NAME_");
|
||||
|
||||
$qta = -$qta;
|
||||
}
|
||||
|
||||
$new = ($qta < 0 ? '+' : '').-$qta;
|
||||
|
||||
$dbo->query('UPDATE mg_articoli_automezzi SET qta = qta + '.$new.' WHERE idarticolo = '.prepare($id_articolo).' AND idautomezzo = '.prepare($array['idautomezzo']));
|
||||
$data = date('Y-m-d');
|
||||
}
|
||||
|
||||
// Intervento
|
||||
elseif (!empty($array['idintervento'])) {
|
||||
$rs_data = $dbo->fetchArray('SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id = '.prepare($array['idintervento']));
|
||||
@ -104,7 +83,7 @@ function add_movimento_magazzino($id_articolo, $qta, $array = [], $descrizone =
|
||||
// Movimento il magazzino solo se l'articolo non è un servizio
|
||||
if ($articolo['servizio'] == 0) {
|
||||
// Movimentazione effettiva
|
||||
if (empty($array['idintervento']) || empty($array['idautomezzo'])) {
|
||||
if (empty($array['idintervento'])) {
|
||||
$dbo->query('UPDATE mg_articoli SET qta = qta + '.$new.' WHERE id = '.prepare($id_articolo));
|
||||
}
|
||||
|
||||
@ -120,3 +99,33 @@ function add_movimento_magazzino($id_articolo, $qta, $array = [], $descrizone =
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Funzione per aggiornare le sedi nei movimenti di magazzino.
|
||||
*/
|
||||
function aggiorna_sedi_movimenti($module, $id){
|
||||
$dbo = database();
|
||||
|
||||
if($module == 'ddt'){
|
||||
$rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione, dir FROM dt_ddt INNER JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($id));
|
||||
|
||||
$idsede_azienda = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza'];
|
||||
$idsede_controparte = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_partenza'] : $rs[0]['idsede_destinazione'];
|
||||
|
||||
$dbo->query('UPDATE mg_movimenti SET idsede_azienda='.prepare($idsede_azienda).', idsede_controparte='.prepare($idsede_controparte).' WHERE idddt='.prepare($id));
|
||||
}elseif($module == 'documenti'){
|
||||
$rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione, dir FROM co_documenti INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento WHERE co_documenti.id='.prepare($id));
|
||||
|
||||
$idsede_azienda = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza'];
|
||||
$idsede_controparte = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_partenza'] : $rs[0]['idsede_destinazione'];
|
||||
|
||||
$dbo->query('UPDATE mg_movimenti SET idsede_azienda='.prepare($idsede_azienda).', idsede_controparte='.prepare($idsede_controparte).' WHERE iddocumento='.prepare($id));
|
||||
}elseif($module == 'interventi'){
|
||||
$rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione FROM in_interventi WHERE in_interventi.id='.prepare($id));
|
||||
|
||||
$idsede_azienda = $rs[0]['idsede_partenza'];
|
||||
$idsede_controparte = $rs[0]['idsede_destinazione'];
|
||||
|
||||
$dbo->query('UPDATE mg_movimenti SET idsede_azienda='.prepare($idsede_azienda).', idsede_controparte='.prepare($idsede_controparte).' WHERE idintervento='.prepare($id));
|
||||
}
|
||||
}
|
||||
|
46
modules/articoli/plugins/articoli.giacenze.php
Normal file
46
modules/articoli/plugins/articoli.giacenze.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
$sedi = $dbo->fetchArray("SELECT SUM(mg_movimenti.qta)AS qta, IF(mg_movimenti.idsede_azienda= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_azienda WHERE mg_movimenti.idarticolo=".prepare($id_record)." GROUP BY idsede_azienda");
|
||||
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo tr('Giacenze'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<?php
|
||||
if (empty($sedi)){
|
||||
echo '<div class="alert alert-info">'.tr('Non ci sono ancora movimenti').'</div>';
|
||||
} else{
|
||||
?>
|
||||
<table class="table table-striped table-condensed table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="400"><?php echo tr('Sede'); ?></th>
|
||||
<th width="200"><?php echo tr('Q.tà'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php
|
||||
foreach($sedi as $sede){
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$sede['sede'].'</td>
|
||||
<td class="text-right">'.Translator::numberToLocale($sede['qta']).'</td>
|
||||
</tr>';
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -12,7 +12,7 @@ echo '
|
||||
<div class="box-body">';
|
||||
|
||||
// Calcolo la quantità dai movimenti in magazzino
|
||||
$rst = $dbo->fetchArray('SELECT COUNT(mg_movimenti.id) AS `row`, SUM(qta) AS qta_totale, (SELECT SUM(qta) FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0) AND data <= CURDATE()) AS qta_totale_attuale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0)');
|
||||
$rst = $dbo->fetchArray('SELECT COUNT(mg_movimenti.id) AS `row`, SUM(qta) AS qta_totale, (SELECT SUM(qta) FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL) AND data <= CURDATE()) AS qta_totale_attuale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL)');
|
||||
$qta_totale = $rst[0]['qta_totale'];
|
||||
$qta_totale_attuale = $rst[0]['qta_totale_attuale'];
|
||||
|
||||
@ -65,7 +65,6 @@ if (!empty($rs2)) {
|
||||
echo '
|
||||
<td>'.$r['movimento'].'
|
||||
'.((!empty($r['idintervento'])) ? Modules::link('Interventi', $r['idintervento']) : '').'
|
||||
'.((!empty($r['idautomezzo'])) ? Modules::link('Automezzi', $r['idautomezzo']) : '').'
|
||||
'.((!empty($r['idddt'])) ? (Modules::link('DDt di '.$dir, $r['idddt'], null, null, (intval($database->fetchOne('SELECT * FROM `dt_ddt` WHERE `id` ='.prepare($r['idddt'])))) ? '' : 'class="disabled"')) : '').'
|
||||
'.((!empty($r['iddocumento'])) ? (Modules::link('Fatture di '.$dir, $r['iddocumento'], null, null, (intval($database->fetchOne('SELECT * FROM `co_documenti` WHERE `id` ='.prepare($r['iddocumento'])))) ? '' : 'class="disabled"')) : '').'
|
||||
</td>';
|
||||
|
@ -1,156 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
switch (post('op')) {
|
||||
case 'update':
|
||||
$targa = post('targa');
|
||||
$nome = post('nome');
|
||||
$descrizione = post('descrizione');
|
||||
|
||||
if ($dbo->fetchNum('SELECT targa FROM dt_automezzi WHERE targa='.prepare($targa).' AND NOT id='.prepare($id_record)) == 0) {
|
||||
$query = 'UPDATE dt_automezzi SET targa='.prepare($targa).', descrizione='.prepare($descrizione).', nome='.prepare($nome).' WHERE id='.prepare($id_record);
|
||||
if ($dbo->query($query)) {
|
||||
flash()->info(tr('Informazioni salvate correttamente!'));
|
||||
}
|
||||
} else {
|
||||
flash()->error(tr('Esiste già un automezzo con questa targa!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Aggiunta automezzo
|
||||
case 'add':
|
||||
$targa = post('targa');
|
||||
$nome = post('nome');
|
||||
|
||||
// Inserisco l'automezzo solo se non esiste un altro articolo con stesso targa
|
||||
if ($dbo->fetchNum('SELECT targa FROM dt_automezzi WHERE targa='.prepare($targa)) == 0) {
|
||||
$query = 'INSERT INTO dt_automezzi(targa, nome) VALUES ('.prepare($targa).', '.prepare($nome).')';
|
||||
$dbo->query($query);
|
||||
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
flash()->info(tr('Aggiunto un nuovo automezzo!'));
|
||||
} else {
|
||||
flash()->error(tr('Esiste già un automezzo con questa targa!'));
|
||||
}
|
||||
break;
|
||||
|
||||
// Aggiunta tecnico
|
||||
case 'addtech':
|
||||
$idtecnico = post('idtecnico');
|
||||
$data_inizio = post('data_inizio');
|
||||
$data_fine = null;
|
||||
|
||||
// Controllo sull'effettivo inserimento di una data di fine successiva a quella di inizio
|
||||
if (!empty(post('data_fine'))) {
|
||||
if (new DateTime(post('data_fine')) >= new DateTime($data_inizio)) {
|
||||
$data_fine = post('data_fine');
|
||||
}
|
||||
}
|
||||
$data_fine = isset($data_fine) ? $data_fine : '0000-00-00';
|
||||
|
||||
// Inserisco il tecnico
|
||||
$query = 'INSERT INTO dt_automezzi_tecnici(idtecnico, idautomezzo, data_inizio, data_fine) VALUES ('.prepare($idtecnico).', '.prepare($id_record).', '.prepare($data_inizio).', '.prepare($data_fine).')';
|
||||
$dbo->query($query);
|
||||
|
||||
flash()->info(tr('Collegato un nuovo tecnico!'));
|
||||
break;
|
||||
|
||||
// Salvataggio tecnici collegati
|
||||
case 'savetech':
|
||||
$errors = 0;
|
||||
|
||||
foreach (post('data_inizio') as $idautomezzotecnico => $data) {
|
||||
$idautomezzotecnico = $idautomezzotecnico;
|
||||
$data_inizio = post('data_inizio')[$idautomezzotecnico];
|
||||
$data_fine = null;
|
||||
|
||||
// Controllo sull'effettivo inserimento di una data di fine successiva a quella di inizio
|
||||
if (!empty(post('data_fine')[$idautomezzotecnico])) {
|
||||
if (new DateTime(post('data_fine')[$idautomezzotecnico]) >= new DateTime($data_inizio)) {
|
||||
$data_fine = post('data_fine')[$idautomezzotecnico];
|
||||
}
|
||||
}
|
||||
$data_fine = isset($data_fine) ? $data_fine : '0000-00-00';
|
||||
|
||||
$query = 'UPDATE dt_automezzi_tecnici SET data_inizio='.prepare($data_inizio).', data_fine='.prepare($data_fine).' WHERE id='.prepare($idautomezzotecnico);
|
||||
|
||||
if (!$dbo->query($query)) {
|
||||
++$errors;
|
||||
}
|
||||
}
|
||||
|
||||
if ($errors == 0) {
|
||||
flash()->info(tr('Informazioni salvate correttamente!'));
|
||||
} else {
|
||||
flash()->error(tr('Errore durante il salvataggio del tecnico!'));
|
||||
}
|
||||
break;
|
||||
|
||||
// Eliminazione associazione con tecnico
|
||||
case 'deltech':
|
||||
$idautomezzotecnico = post('id');
|
||||
|
||||
$query = 'DELETE FROM dt_automezzi_tecnici WHERE id='.prepare($idautomezzotecnico);
|
||||
|
||||
if ($dbo->query($query)) {
|
||||
flash()->info(tr('Tecnico rimosso!'));
|
||||
}
|
||||
break;
|
||||
|
||||
// Aggiunta quantità nell'automezzo
|
||||
case 'addrow':
|
||||
$idarticolo = post('idarticolo');
|
||||
$qta = post('qta');
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT id, qta FROM mg_articoli_automezzi WHERE idarticolo='.prepare($idarticolo).' AND idautomezzo='.prepare($id_record));
|
||||
|
||||
// Se nell'automezzo non c'è già questo articolo inserisco la scorta nell'automezzo da zero
|
||||
if (empty($rs)) {
|
||||
$dbo->query('INSERT INTO mg_articoli_automezzi(idarticolo, idautomezzo, qta) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', 0)');
|
||||
}
|
||||
|
||||
// Decremento la quantità dal magazzino centrale
|
||||
add_movimento_magazzino($idarticolo, -$qta, ['idautomezzo' => $id_record]);
|
||||
|
||||
flash()->info(tr("Caricato il magazzino dell'automezzo!"));
|
||||
break;
|
||||
|
||||
// Spostamento scorta da automezzo a magazzino generale
|
||||
case 'moverow':
|
||||
$idautomezzotecnico = post('idautomezzotecnico');
|
||||
|
||||
// Leggo la quantità del lotto
|
||||
$rs = $dbo->fetchArray('SELECT qta, idarticolo FROM mg_articoli_automezzi WHERE id='.prepare($idautomezzotecnico));
|
||||
|
||||
if (!empty($rs)) {
|
||||
// Elimino l'articolo dall'automezzo
|
||||
$dbo->query('DELETE FROM mg_articoli_automezzi WHERE id='.prepare($idautomezzotecnico));
|
||||
|
||||
// Aggiungo la quantità al magazzino
|
||||
add_movimento_magazzino($rs[0]['idarticolo'], $rs[0]['qta'], ['idautomezzo' => $id_record]);
|
||||
|
||||
flash()->info(tr('Articoli riportati nel magazzino centrale!'));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
// per ogni articolo caricato in questo automezzo
|
||||
$rs = $dbo->fetchArray('SELECT qta, idarticolo FROM mg_articoli_automezzi WHERE idautomezzo='.prepare($id_record));
|
||||
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
// Ripristino la quantità nel magazzino centrale
|
||||
add_movimento_magazzino($rs[$i]['idarticolo'], +$rs[$i]['qta'], ['idautomezzo' => $id_record]);
|
||||
}
|
||||
|
||||
// Elimino tutti gli articoli dall'automezzo
|
||||
$dbo->query('DELETE FROM mg_articoli_automezzi WHERE idautomezzo='.prepare($id_record));
|
||||
// Elimino definitivamente l'automezzo
|
||||
$dbo->query('DELETE FROM dt_automezzi WHERE id='.prepare($id_record));
|
||||
|
||||
flash()->info(tr('Automezzo eliminato e articoli riportati in magazzino!'));
|
||||
|
||||
break;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
<?php
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?><form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Targa'); ?>", "name": "targa", "required": 1, "maxlength": 10, "class": "alphanumeric-mask" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
@ -1,38 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$idautomezzo = get('idautomezzo');
|
||||
|
||||
/*
|
||||
Form di inserimento riga documento
|
||||
*/
|
||||
echo '
|
||||
<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::get('Automezzi')['id'].'&id_record='.$idautomezzo.'" method="post">
|
||||
<input type="hidden" name="op" value="addrow">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_record" value="'.$idautomezzo.'">';
|
||||
|
||||
// Seleziona articolo
|
||||
echo '
|
||||
<div class="col-md-8">
|
||||
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "idarticolo", "required": 1, "value": "'.$idarticolo.'", "ajax-source": "articoli" ]}
|
||||
</div>';
|
||||
|
||||
// Quantità
|
||||
echo '
|
||||
<div class="col-md-4">
|
||||
{[ "type": "number", "label": "'.tr('Q.tà su questo automezzo').'", "name": "qta", "value": "1", "decimals": "qta" ]}
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>';
|
||||
|
||||
echo '
|
||||
<script src="'.$rootdir.'/lib/init.js"></script>';
|
@ -1,59 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
$id_record = get('idautomezzo');
|
||||
|
||||
// Form di inserimento responsabili automezzo
|
||||
echo '
|
||||
<form action="'.$rootdir.'/editor.php?id_module='.Modules::get('Automezzi')['id'].'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="addtech">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_record" value="'.$id_record.'">
|
||||
|
||||
<div class="row">';
|
||||
|
||||
// Tecnico
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "idtecnico", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione=\'Tecnico\') AND deleted_at IS NULL ORDER BY ragione_sociale", "value": "'.$idtecnico.'" ]}
|
||||
</div>';
|
||||
|
||||
// Data di partenza
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
{[ "type": "date", "label": "'.tr('Data dal').'", "name": "data_inizio", "required": 1, "value": "-now-" ]}
|
||||
</div>';
|
||||
|
||||
// Data di fine
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
{[ "type": "date", "label": "'.tr('Data al').'", "name": "data_fine", "min-date": "-now-" ]}
|
||||
</div>';
|
||||
|
||||
echo '
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> '.tr('Aggiungi').'</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>';
|
||||
|
||||
echo '
|
||||
<script src="'.$rootdir.'/lib/init.js"></script>';
|
||||
|
||||
echo '
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#data_inizio").on("dp.change", function (e) {
|
||||
$("#data_fine").data("DateTimePicker").minDate(e.date);
|
||||
|
||||
if($("#data_fine").data("DateTimePicker").date() < e.date){
|
||||
$("#data_fine").data("DateTimePicker").date(e.date);
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>';
|
@ -1,47 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
$link_id = Modules::get('Automezzi')['id'];
|
||||
|
||||
$fields = [
|
||||
'Nome' => 'nome',
|
||||
'Descrizione' => 'descrizione',
|
||||
'Targa' => 'targa',
|
||||
];
|
||||
|
||||
$query = 'SELECT *';
|
||||
|
||||
foreach ($fields as $name => $value) {
|
||||
$query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'";
|
||||
}
|
||||
|
||||
$query .= ' FROM dt_automezzi WHERE 1=0 ';
|
||||
|
||||
foreach ($fields as $name => $value) {
|
||||
$query .= ' OR '.$value.' LIKE "%'.$term.'%"';
|
||||
}
|
||||
|
||||
$query .= Modules::getAdditionalsQuery('Automezzi');
|
||||
|
||||
$rs = $dbo->fetchArray($query);
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$result = [];
|
||||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['nome'];
|
||||
$result['category'] = 'Automezzi';
|
||||
|
||||
// Campi da evidenziare
|
||||
$result['labels'] = [];
|
||||
foreach ($fields as $name => $value) {
|
||||
if (str_contains($r[$name], $term)) {
|
||||
$text = str_replace($term, "<span class='highlight'>".$term.'</span>', $r[$name]);
|
||||
|
||||
$result['labels'][] = $name.': '.$text.'<br/>';
|
||||
}
|
||||
}
|
||||
|
||||
$results[] = $result;
|
||||
}
|
@ -1,107 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?><form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
|
||||
<!-- DATI ARTICOLO -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo tr('Automezzo'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "value": "$nome$" ]}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Targa'); ?>", "name": "targa", "required": 1, "maxlength": 10, "class": "alphanumeric-mask", "value": "$targa$" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "value": "$descrizione$" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- TECNICI + MAGAZZINO AUTOMEZZO -->
|
||||
<div class="row">
|
||||
|
||||
<!--TECNICI -->
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="panel-title"><?php echo tr('Tecnici responsabili automezzo'); ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12" >
|
||||
<form action="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get('Automezzi')['id']; ?>&id_record=<?php echo $id_record; ?>" id="updatetech-form" method="post" role="form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
<input type="hidden" name="op" value="">
|
||||
|
||||
<?php
|
||||
include $docroot.'/modules/automezzi/row-list-tecnici.php';
|
||||
?>
|
||||
</form>
|
||||
|
||||
<a href="javascript:;" class="btn btn-sm btn-success pull-right" title="Aggiorna date" onclick="$('#updatetech-form input[name=op]').val('savetech'); $('#updatetech-form').submit();"><i class="fa fa-edit"></i> <?php echo tr('Salva date'); ?></a>
|
||||
|
||||
<div class="pull-left">
|
||||
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir; ?>/modules/automezzi/add_tecnico.php?idautomezzo=<?php echo $id_record; ?>" data-toggle="modal" data-title="Aggiungi tecnico"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi tecnico'); ?></a><br>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- MAGAZZINO AUTOMEZZO -->
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="panel-title"><?php echo tr('Magazzino automezzo'); ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<?php
|
||||
include $docroot.'/modules/automezzi/row-list-articoli.php';
|
||||
?>
|
||||
|
||||
<div class="pull-left">
|
||||
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir; ?>/modules/automezzi/add_articolo.php?idautomezzo=<?php echo $id_record; ?>" data-toggle="modal" data-title="Aggiungi articoli"><i class="fa fa-plus"></i> <?php echo tr('Articolo magazzino'); ?></a><br>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||
</a>
|
||||
|
@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
if (isset($id_record)) {
|
||||
$record = $dbo->fetchOne('SELECT * FROM dt_automezzi WHERE id='.prepare($id_record));
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
// Elenco articoli caricati sull'automezzo
|
||||
$query = 'SELECT mg_articoli_automezzi.id, mg_articoli.codice AS codice, idarticolo, mg_articoli_automezzi.qta AS qta_automezzo, mg_articoli.qta AS qta_magazzino, mg_articoli.descrizione, mg_articoli.prezzo_vendita, (SELECT percentuale FROM co_iva WHERE id=mg_articoli.idiva_vendita) AS prciva_vendita FROM mg_articoli_automezzi INNER JOIN mg_articoli ON mg_articoli_automezzi.idarticolo=mg_articoli.id WHERE mg_articoli_automezzi.idautomezzo='.prepare($id_record).' AND mg_articoli_automezzi.qta > 0';
|
||||
$rs2 = $dbo->fetchArray($query);
|
||||
|
||||
if (!empty($rs2)) {
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<tr>
|
||||
<th>'.tr('Articolo').'</th>
|
||||
<th width="25%">'.tr('Q.tà').'</th>
|
||||
<th width="25%">'.tr('Prezzo di vendita').'</th>
|
||||
<th width="5%"></th>
|
||||
</tr>';
|
||||
|
||||
foreach ($rs2 as $r) {
|
||||
echo '
|
||||
<tr>';
|
||||
// Articolo
|
||||
echo '
|
||||
<td class="text-left">
|
||||
'.Modules::link('Articoli', $r['idarticolo'], $r['codice'].' - '.$r['descrizione']).'
|
||||
</td>';
|
||||
|
||||
// Quantità
|
||||
echo '
|
||||
<td class="first_cell center">
|
||||
<span><big>'.Translator::numberToLocale($r['qta_automezzo']).'</big></span><br/>
|
||||
<small>'.tr('Q.tà magazzino').': '.Translator::numberToLocale($r['qta_magazzino']).'</small><br/>
|
||||
</td>';
|
||||
|
||||
// Prezzo di vendita
|
||||
$netto = $r['prezzo_vendita'];
|
||||
$iva = $r['prezzo_vendita'] / 100 * $r['prciva_vendita'];
|
||||
echo '
|
||||
<td class="table_cell center">
|
||||
<span>'.moneyFormat($netto + $iva).'</span><br/>
|
||||
<small>'.tr('Netto').': '.moneyFormat($netto).'</small><br/>
|
||||
<small>'.tr('Iva').': '.moneyFormat($iva).'</small><br/>
|
||||
</td>';
|
||||
|
||||
// Pulsanti
|
||||
echo '
|
||||
<td class="text-center">
|
||||
<a class="btn btn-danger ask" data-backto="record-edit" data-op="moverow" data-idautomezzotecnico="'.$r['id'].'" data-msg="'.tr("Rimuovere articolo dell'automezzo?").'">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
$tot_articoli += $r['qta_automezzo'];
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Nessun articolo presente').'...</p>';
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
/*
|
||||
TECNICI ASSEGNATI ALL'AUTOMEZZO
|
||||
*/
|
||||
$q_art = 'SELECT *, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=dt_automezzi_tecnici.idtecnico) AS nometecnico FROM dt_automezzi_tecnici WHERE idautomezzo='.prepare($id_record).' ORDER BY data_inizio DESC';
|
||||
$rs_art = $dbo->fetchArray($q_art);
|
||||
|
||||
if (!empty($rs_art)) {
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<tr>
|
||||
<th>'.tr('Tecnico').'</th>
|
||||
<th width="25%">'.tr('dal').'</th>
|
||||
<th width="25%">'.tr('al').'</th>
|
||||
<th width="5%"></th>
|
||||
</tr>';
|
||||
|
||||
foreach ($rs_art as $r) {
|
||||
// Tecnico
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<input type="hidden" name="idautomezzotecnico[]" value="'.$r['id'].'">
|
||||
'.$r['nometecnico'].'
|
||||
</td>';
|
||||
|
||||
// Data di inizio
|
||||
echo '
|
||||
<td>
|
||||
{[ "type": "date", "name": "data_inizio['.$r['id'].']", "required": 1, "value": "'.$r['data_inizio'].'" ]}
|
||||
</td>';
|
||||
|
||||
// Data di fine
|
||||
echo '
|
||||
<td>
|
||||
{[ "type": "date", "name": "data_fine['.$r['id'].']", "value": "'.$r['data_fine'].'", "min-date": "'.$r['data_inizio'].'" ]}
|
||||
</td>';
|
||||
|
||||
// Pulsanti per aggiornamento date tecnici
|
||||
echo '
|
||||
<td>
|
||||
<a class="btn btn-danger ask" data-backto="record-edit" data-op="deltech" data-id="'.$r['id'].'" data-msg="'.tr("Rimuovere il tecnico responsabile dell'automezzo?").'">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
echo '
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#data_inizio'.$r['id'].'").on("dp.change", function (e) {
|
||||
$("#data_fine'.$r['id'].'").data("DateTimePicker").minDate(e.date);
|
||||
|
||||
if($("#data_fine'.$r['id'].'").data("DateTimePicker").date() < e.date){
|
||||
$("#data_fine'.$r['id'].'").data("DateTimePicker").date(e.date);
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Nessun tecnico inserito').'...</p>';
|
||||
}
|
@ -359,7 +359,7 @@ switch (post('op')) {
|
||||
$id_promemoria = $dbo->lastInsertedID();
|
||||
|
||||
// Copia degli articoli
|
||||
$dbo->query('INSERT INTO co_promemoria_articoli(idarticolo, id_promemoria, idimpianto, idautomezzo, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial) SELECT idarticolo, :id_new, idimpianto, idautomezzo, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial FROM co_promemoria_articoli AS z WHERE id_promemoria = :id_old', [
|
||||
$dbo->query('INSERT INTO co_promemoria_articoli(idarticolo, id_promemoria, idimpianto, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial) SELECT idarticolo, :id_new, idimpianto, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial FROM co_promemoria_articoli AS z WHERE id_promemoria = :id_old', [
|
||||
':id_new' => $id_promemoria,
|
||||
':id_old' => $p['id'],
|
||||
]);
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||
unset($_SESSION['superselect']['idanagrafica']);
|
||||
$_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
|
||||
|
@ -76,7 +76,8 @@ switch (post('op')) {
|
||||
'idanagrafica' => post('idanagrafica'),
|
||||
'idspedizione' => post('idspedizione'),
|
||||
'idcausalet' => post('idcausalet'),
|
||||
'idsede' => post('idsede'),
|
||||
'idsede_partenza' => post('idsede_partenza'),
|
||||
'idsede_destinazione' => post('idsede_destinazione'),
|
||||
'idvettore' => post('idvettore'),
|
||||
'idporto' => post('idporto'),
|
||||
'idaspettobeni' => post('idaspettobeni'),
|
||||
@ -103,6 +104,8 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('ddt', $id_record);
|
||||
|
||||
flash()->info(tr('Ddt modificato correttamente!'));
|
||||
}
|
||||
break;
|
||||
@ -133,6 +136,8 @@ switch (post('op')) {
|
||||
// Ricalcolo inps, ritenuta e bollo
|
||||
ricalcola_costiagg_ddt($id_record);
|
||||
|
||||
aggiorna_sedi_movimenti('ddt', $id_record);
|
||||
|
||||
flash()->info(tr('Articolo aggiunto!'));
|
||||
}
|
||||
break;
|
||||
@ -255,6 +260,8 @@ switch (post('op')) {
|
||||
|
||||
ricalcola_costiagg_ddt($id_record);
|
||||
|
||||
aggiorna_sedi_movimenti('ddt', $id_record);
|
||||
|
||||
flash()->info(tr('Ordine _NUM_ aggiunto!', [
|
||||
'_NUM_' => $ordine->numero,
|
||||
]));
|
||||
@ -279,6 +286,8 @@ switch (post('op')) {
|
||||
ricalcola_costiagg_ddt($id_record, 0, 0, 0);
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('ddt', $id_record);
|
||||
|
||||
flash()->info(tr('Articolo rimosso!'));
|
||||
break;
|
||||
|
||||
@ -351,7 +360,7 @@ switch (post('op')) {
|
||||
if (!empty($idarticolo)) {
|
||||
if (!controlla_seriali('id_riga_ddt', $idriga, $old_qta, $qta, $dir)) {
|
||||
flash()->error(tr('Alcuni serial number sono già stati utilizzati!'));
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -403,6 +412,7 @@ switch (post('op')) {
|
||||
}
|
||||
}
|
||||
}
|
||||
aggiorna_sedi_movimenti('ddt', $id_record);
|
||||
break;
|
||||
|
||||
// eliminazione ddt
|
||||
|
@ -9,8 +9,12 @@ if ($module['name'] == 'Ddt di vendita') {
|
||||
} else {
|
||||
$dir = 'uscita';
|
||||
}
|
||||
|
||||
unset($_SESSION['superselect']['idanagrafica']);
|
||||
unset($_SESSION['superselect']['idsede_partenza']);
|
||||
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||
$_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
$_SESSION['superselect']['idsede_partenza'] = $record['idsede_partenza'];
|
||||
$_SESSION['superselect']['idsede_destinazione'] = $record['idsede_destinazione'];
|
||||
|
||||
?>
|
||||
<form action="" method="post" id="edit-form">
|
||||
@ -93,18 +97,40 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// Conteggio numero articoli ddt in uscita
|
||||
$articolo=$dbo->fetchArray('SELECT mg_articoli.id FROM ((mg_articoli INNER JOIN dt_righe_ddt ON mg_articoli.id=dt_righe_ddt.idarticolo) INNER JOIN dt_ddt ON dt_ddt.id=dt_righe_ddt.idddt) WHERE dt_ddt.id='.prepare($id_record));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo ($dir == 'uscita') ? tr('Fornitore') : tr('Destinatario'); ?>", "name": "idanagrafica", "required": 1, "value": "$idanagrafica$", "ajax-source": "clienti_fornitori", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($dir == 'entrata'){
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Partenza merce') ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "$idsede_partenza$", "readonly": "<?php echo ($record['flag_completato'] || sizeof($articolo)) ? 1 : 0 ; ?>" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Destinazione merce') ?>", "name": "idsede_destinazione", "ajax-source": "sedi", "value": "$idsede_destinazione$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
<?php
|
||||
}else{
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Partenza merce') ?>", "name": "idsede_partenza", "ajax-source": "sedi", "value": "$idsede_partenza$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Destinazione merce') ?>", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo ($dir == 'uscita') ? tr('Fornitore') : tr('Destinatario'); ?>", "name": "idanagrafica", "required": 1, "value": "$idanagrafica$", "ajax-source": "clienti_fornitori", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo ($dir == 'uscita') ? tr('Partenza merce') : tr('Destinazione merce'); ?>", "name": "idsede", "ajax-source": "sedi", "value": "$idsede$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
@ -242,8 +268,11 @@ include $docroot.'/modules/ddt/row-list.php';
|
||||
<script>
|
||||
$('#idanagrafica').change( function(){
|
||||
session_set('superselect,idanagrafica', $(this).val(), 0);
|
||||
|
||||
$("#idsede").selectReset();
|
||||
if('<?php echo $dir; ?>' == 'uscita'){
|
||||
$("#idsede_partenza").selectReset();
|
||||
}else{
|
||||
$("#idsede_destinazione").selectReset();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -32,6 +32,7 @@ switch (post('op')) {
|
||||
$fattura = Fattura::build($anagrafica, $tipo, $data, $id_segment);
|
||||
$id_record = $fattura->id;
|
||||
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
flash()->info(tr('Aggiunta fattura numero _NUM_!', [
|
||||
'_NUM_' => $fattura->numero,
|
||||
]));
|
||||
@ -59,7 +60,8 @@ switch (post('op')) {
|
||||
$fattura->idporto = post('idporto');
|
||||
$fattura->idaspettobeni = post('idaspettobeni');
|
||||
$fattura->idvettore = post('idvettore');
|
||||
$fattura->idsede = post('idsede');
|
||||
$fattura->idsede_partenza = post('idsede_partenza');
|
||||
$fattura->idsede_destinazione = post('idsede_destinazione');
|
||||
$fattura->idconto = post('idconto');
|
||||
$fattura->split_payment = post('split_payment') ?: 0;
|
||||
$fattura->is_fattura_conto_terzi = post('is_fattura_conto_terzi') ?: 0;
|
||||
@ -116,6 +118,8 @@ switch (post('op')) {
|
||||
aggiungi_movimento($id_record, $dir);
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
flash()->info(tr('Fattura modificata correttamente!'));
|
||||
}
|
||||
|
||||
@ -212,7 +216,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
// Duplicazione intestazione
|
||||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idcausalet, idspedizione, idporto, idaspettobeni, idvettore, n_colli, idsede, idtipodocumento, idstatodocumento, idpagamento, idconto, idrivalsainps, idritenutaacconto, rivalsainps, iva_rivalsainps, ritenutaacconto, bollo, note, note_aggiuntive, buono_ordine, id_segment) VALUES('.prepare($numero).', '.prepare($numero_esterno).', NOW(), '.prepare($rs[0]['idanagrafica']).', '.prepare($rs[0]['idcausalet']).', '.prepare($rs[0]['idspedizione']).', '.prepare($rs[0]['idporto']).', '.prepare($rs[0]['idaspettobeni']).', '.prepare($rs[0]['idvettore']).', '.prepare($rs[0]['n_colli']).', '.prepare($rs[0]['idsede']).', '.prepare($rs[0]['idtipodocumento']).', (SELECT id FROM co_statidocumento WHERE descrizione=\'Bozza\'), '.prepare($rs[0]['idpagamento']).', '.prepare($rs[0]['idconto']).', '.prepare($rs[0]['idrivalsainps']).', '.prepare($rs[0]['idritenutaacconto']).', '.prepare($rs[0]['rivalsainps']).', '.prepare($rs[0]['iva_rivalsainps']).', '.prepare($rs[0]['ritenutaacconto']).', '.prepare($rs[0]['bollo']).', '.prepare($rs[0]['note']).', '.prepare($rs[0]['note_aggiuntive']).', '.prepare($rs[0]['buono_ordine']).', '.prepare($rs[0]['id_segment']).')');
|
||||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idcausalet, idspedizione, idporto, idaspettobeni, idvettore, n_colli, idsede_partenza, idsede_destinazione, idtipodocumento, idstatodocumento, idpagamento, idconto, idrivalsainps, idritenutaacconto, rivalsainps, iva_rivalsainps, ritenutaacconto, bollo, note, note_aggiuntive, buono_ordine, id_segment) VALUES('.prepare($numero).', '.prepare($numero_esterno).', NOW(), '.prepare($rs[0]['idanagrafica']).', '.prepare($rs[0]['idcausalet']).', '.prepare($rs[0]['idspedizione']).', '.prepare($rs[0]['idporto']).', '.prepare($rs[0]['idaspettobeni']).', '.prepare($rs[0]['idvettore']).', '.prepare($rs[0]['n_colli']).', '.prepare($rs[0]['idsede_partenza']).', '.prepare($rs[0]['idsede_destinazione']).', '.prepare($rs[0]['idtipodocumento']).', (SELECT id FROM co_statidocumento WHERE descrizione=\'Bozza\'), '.prepare($rs[0]['idpagamento']).', '.prepare($rs[0]['idconto']).', '.prepare($rs[0]['idrivalsainps']).', '.prepare($rs[0]['idritenutaacconto']).', '.prepare($rs[0]['rivalsainps']).', '.prepare($rs[0]['iva_rivalsainps']).', '.prepare($rs[0]['ritenutaacconto']).', '.prepare($rs[0]['bollo']).', '.prepare($rs[0]['note']).', '.prepare($rs[0]['note_aggiuntive']).', '.prepare($rs[0]['buono_ordine']).', '.prepare($rs[0]['id_segment']).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
// TODO: sistemare la duplicazione delle righe generiche e degli articoli, ignorando interventi, ddt, ordini, preventivi
|
||||
@ -221,13 +225,14 @@ switch (post('op')) {
|
||||
if (!empty($riga['idarticolo'])) {
|
||||
add_articolo_infattura($id_record, $riga['idarticolo'], $riga['descrizione'], $riga['idiva'], $riga['qta'], $riga['subtotale'], $riga['sconto'], $riga['sconto_unitario'], $riga['tipo_sconto'], $riga['idintervento'], $riga['idconto'], $riga['um']);
|
||||
} else {
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idordine, idddt, idintervento, idarticolo, idpreventivo, idcontratto, is_descrizione, idtecnico, idagente, idautomezzo, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, idritenutaacconto, ritenutaacconto, idrivalsainps, rivalsainps, um, qta, `order`) VALUES('.prepare($id_record).', 0, 0, 0, '.prepare($riga['idarticolo']).', '.prepare($riga['idpreventivo']).', '.prepare($riga['idcontratto']).', '.prepare($riga['is_descrizione']).', '.prepare($riga['idtecnico']).', '.prepare($riga['idagente']).', '.prepare($riga['idautomezzo']).', '.prepare($riga['idconto']).', '.prepare($riga['idiva']).', '.prepare($riga['desc_iva']).', '.prepare($riga['iva']).', '.prepare($riga['iva_indetraibile']).', '.prepare($riga['descrizione']).', '.prepare($riga['subtotale']).', '.prepare($riga['sconto']).', '.prepare($riga['sconto_unitario']).', '.prepare($riga['tipo_sconto']).', '.prepare($riga['idritenutaacconto']).', '.prepare($riga['ritenutaacconto']).', '.prepare($riga['idrivalsainps']).', '.prepare($riga['rivalsainps']).', '.prepare($riga['um']).', '.prepare($riga['qta']).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))');
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idordine, idddt, idintervento, idarticolo, idpreventivo, idcontratto, is_descrizione, idtecnico, idagente, idconto, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, idritenutaacconto, ritenutaacconto, idrivalsainps, rivalsainps, um, qta, `order`) VALUES('.prepare($id_record).', 0, 0, 0, '.prepare($riga['idarticolo']).', '.prepare($riga['idpreventivo']).', '.prepare($riga['idcontratto']).', '.prepare($riga['is_descrizione']).', '.prepare($riga['idtecnico']).', '.prepare($riga['idagente']).', '.prepare($riga['idconto']).', '.prepare($riga['idiva']).', '.prepare($riga['desc_iva']).', '.prepare($riga['iva']).', '.prepare($riga['iva_indetraibile']).', '.prepare($riga['descrizione']).', '.prepare($riga['subtotale']).', '.prepare($riga['sconto']).', '.prepare($riga['sconto_unitario']).', '.prepare($riga['tipo_sconto']).', '.prepare($riga['idritenutaacconto']).', '.prepare($riga['ritenutaacconto']).', '.prepare($riga['idrivalsainps']).', '.prepare($riga['rivalsainps']).', '.prepare($riga['um']).', '.prepare($riga['qta']).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))');
|
||||
}
|
||||
}
|
||||
|
||||
// Ricalcolo inps, ritenuta e bollo (se la fattura non è stata pagata)
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
flash()->info(tr('Fattura duplicata correttamente!'));
|
||||
}
|
||||
|
||||
@ -308,6 +313,7 @@ switch (post('op')) {
|
||||
|
||||
$articolo->save();
|
||||
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
if (post('idriga') != null) {
|
||||
flash()->info(tr('Articolo modificato!'));
|
||||
} else {
|
||||
@ -480,7 +486,8 @@ switch (post('op')) {
|
||||
} else {
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
}
|
||||
|
||||
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
flash()->info(tr('Articolo rimosso!'));
|
||||
}
|
||||
break;
|
||||
@ -771,6 +778,7 @@ switch (post('op')) {
|
||||
$ordine->save();
|
||||
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
flash()->info(tr('Ordine _NUM_ aggiunto!', [
|
||||
'_NUM_' => $ordine->numero,
|
||||
@ -838,6 +846,7 @@ switch (post('op')) {
|
||||
$ddt->save();
|
||||
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
flash()->info(tr('DDT _NUM_ aggiunto!', [
|
||||
'_NUM_' => $ddt->numero,
|
||||
@ -910,6 +919,8 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
|
||||
flash()->info(tr('Preventivo _NUM_ aggiunto!', [
|
||||
'_NUM_' => $preventivo->numero,
|
||||
@ -982,6 +993,8 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
ricalcola_costiagg_fattura($id_record);
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
|
||||
flash()->info(tr('Contratto _NUM_ aggiunto!', [
|
||||
'_NUM_' => $contratto->numero,
|
||||
@ -1002,7 +1015,8 @@ switch (post('op')) {
|
||||
$nota->idconto = $fattura->idconto;
|
||||
$nota->idpagamento = $fattura->idpagamento;
|
||||
$nota->idbanca = $fattura->idbanca;
|
||||
$nota->idsede = $fattura->idsede;
|
||||
$nota->idsede_partenza = $fattura->idsede_partenza;
|
||||
$nota->idsede_destinazione = $fattura->idsede_destinazione;
|
||||
$nota->save();
|
||||
|
||||
$righe = $fattura->getRighe();
|
||||
@ -1028,6 +1042,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
$id_record = $nota->id;
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
|
||||
break;
|
||||
|
||||
@ -1056,10 +1071,12 @@ if (get('op') == 'nota_addebito') {
|
||||
$nota->idconto = $fattura->idconto;
|
||||
$nota->idpagamento = $fattura->idpagamento;
|
||||
$nota->idbanca = $fattura->idbanca;
|
||||
$nota->idsede = $fattura->idsede;
|
||||
$nota->idsede_partenza = $fattura->idsede_partenza;
|
||||
$nota->idsede_destinazione = $fattura->idsede_destinazione;
|
||||
$nota->save();
|
||||
|
||||
$id_record = $nota->id;
|
||||
aggiorna_sedi_movimenti('documenti', $id_record);
|
||||
}
|
||||
|
||||
// Aggiornamento stato dei ddt presenti in questa fattura in base alle quantità totali evase
|
||||
|
@ -8,6 +8,11 @@ $rs = $dbo->fetchArray('SELECT co_tipidocumento.descrizione, dir FROM co_tipidoc
|
||||
$dir = $rs[0]['dir'];
|
||||
$tipodoc = $rs[0]['descrizione'];
|
||||
|
||||
unset($_SESSION['superselect']['idanagrafica']);
|
||||
unset($_SESSION['superselect']['idsede_partenza']);
|
||||
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||
$_SESSION['superselect']['idsede_partenza'] = $record['idsede_partenza'];
|
||||
$_SESSION['superselect']['idsede_destinazione'] = $record['idsede_destinazione'];
|
||||
$_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
$_SESSION['superselect']['ddt'] = $dir;
|
||||
$_SESSION['superselect']['split_payment'] = $record['split_payment'];
|
||||
@ -88,7 +93,7 @@ if ($dir == 'entrata') {
|
||||
{[ "type": "text", "label": "<?php echo $label; ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "date", "label": "<?php echo tr('Data emissione'); ?>", "name": "data", "required": 1, "value": "$data$" ]}
|
||||
</div>
|
||||
|
||||
@ -103,12 +108,20 @@ if (empty($record['is_fiscale'])) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class="col-md-3">
|
||||
<!-- TODO: Rimuovere possibilità di selezionare lo stato pagato obbligando l'utente ad aggiungere il movimento in prima nota -->
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatodocumento", "required": 1, "values": "query=<?php echo $query; ?>", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato' || $('#idstatodocumento option:selected').text()=='Parzialmente pagato' ){if( confirm('<?php echo tr('Sicuro di voler impostare manualmente la fattura come pagata senza aggiungere il movimento in prima nota?'); ?>') ){ return true; }else{ $('#idstatodocumento').selectSet(<?php echo $record['idstatodocumento']; ?>); }}\" " ]}
|
||||
<?php if ($dir == 'uscita') {
|
||||
?>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "date", "label": "<?php echo tr('Data registrazione'); ?>", "name": "data_registrazione", "required": 0, "value": "$data_registrazione$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "date", "label": "<?php echo tr('Data competenza'); ?>", "name": "data_competenza", "required": 0, "value": "$data_competenza$" ]}
|
||||
</div>
|
||||
|
||||
<?php
|
||||
} ?>
|
||||
|
||||
<div class="col-md-3">
|
||||
<?php
|
||||
if ($dir == 'entrata') {
|
||||
@ -137,24 +150,36 @@ if (empty($record['is_fiscale'])) {
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
// Conteggio numero articoli fatture
|
||||
$articolo=$dbo->fetchArray('SELECT mg_articoli.id FROM ((mg_articoli INNER JOIN co_righe_documenti ON mg_articoli.id=co_righe_documenti.idarticolo) INNER JOIN co_documenti ON co_documenti.id=co_righe_documenti.iddocumento) WHERE co_documenti.id='.prepare($id_record));
|
||||
if ($dir == 'uscita'){
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Riferimento sede'); ?>", "name": "idsede", "ajax-source": "sedi", "placeholder": "Sede legale", "value": "$idsede$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi", "placeholder": "Sede legale", "value": "$idsede_partenza$"]}
|
||||
</div>
|
||||
|
||||
<?php if ($dir == 'uscita') {
|
||||
?>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "date", "label": "<?php echo tr('Data registrazione'); ?>", "name": "data_registrazione", "required": 0, "value": "$data_registrazione$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "date", "label": "<?php echo tr('Data competenza'); ?>", "name": "data_competenza", "required": 0, "value": "$data_competenza$" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Destinazione merce') ?>", "name": "idsede_destinazione", "ajax-source": "sedi_azienda", "value": "$idsede_destinazione$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
<?php
|
||||
}else{
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Partenza merce'); ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "placeholder": "Sede legale", "value": "$idsede_partenza$", "readonly": "<?php echo (sizeof($articolo)) ? 1 : 0 ; ?>" ]}
|
||||
</div>
|
||||
|
||||
<?php
|
||||
} ?>
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Destinazione merce') ?>", "name": "idsede_destinazione", "ajax-source": "sedi", "value": "$idsede_destinazione$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="col-md-3">
|
||||
<!-- TODO: Rimuovere possibilità di selezionare lo stato pagato obbligando l'utente ad aggiungere il movimento in prima nota -->
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatodocumento", "required": 1, "values": "query=<?php echo $query; ?>", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato' || $('#idstatodocumento option:selected').text()=='Parzialmente pagato' ){if( confirm('<?php echo tr('Sicuro di voler impostare manualmente la fattura come pagata senza aggiungere il movimento in prima nota?'); ?>') ){ return true; }else{ $('#idstatodocumento').selectSet(<?php echo $record['idstatodocumento']; ?>); }}\" " ]}
|
||||
</div>
|
||||
|
||||
<?php if ($dir == 'entrata') {
|
||||
?>
|
||||
@ -604,8 +629,8 @@ echo '
|
||||
<script type="text/javascript">
|
||||
$("#idanagrafica").change(function(){
|
||||
session_set("superselect,idanagrafica", $(this).val(), 0);
|
||||
|
||||
$("#idsede").selectReset();
|
||||
|
||||
$("#idsede_destinazione").selectReset();
|
||||
});
|
||||
|
||||
$("#ricalcola_scadenze").click(function(){
|
||||
|
@ -83,8 +83,12 @@ class Fattura extends Document
|
||||
$model->id_segment = $id_segment;
|
||||
|
||||
$model->idconto = $id_conto;
|
||||
$model->idsede = $id_sede;
|
||||
|
||||
if($dir == 'entrata'){
|
||||
$model->idsede_destinazione = $id_sede;
|
||||
}else{
|
||||
$model->idsede_partenza = $id_sede;
|
||||
}
|
||||
$model->addebita_bollo = setting('Addebita marca da bollo al cliente');
|
||||
|
||||
$id_ritenuta_contributi = ($tipo_documento->dir == 'entrata') ? setting('Ritenuta contributi') : null;
|
||||
@ -102,7 +106,7 @@ class Fattura extends Document
|
||||
}
|
||||
|
||||
$model->save();
|
||||
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
|
@ -34,8 +34,8 @@ switch (post('op')) {
|
||||
$intervento->idtipointervento = post('idtipointervento');
|
||||
|
||||
$intervento->idstatointervento = post('idstatointervento');
|
||||
$intervento->idsede = post('idsede');
|
||||
$intervento->idautomezzo = post('idautomezzo');
|
||||
$intervento->idsede_partenza = post('idsede_partenza');
|
||||
$intervento->idsede_destinazione = post('idsede_destinazione');
|
||||
$intervento->id_preventivo = post('idpreventivo');
|
||||
$intervento->id_contratto = $idcontratto;
|
||||
|
||||
@ -59,7 +59,7 @@ switch (post('op')) {
|
||||
flash()->warning(tr("Errore nell'invio della notifica"));
|
||||
}
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
flash()->info(tr('Informazioni salvate correttamente!'));
|
||||
|
||||
break;
|
||||
@ -79,6 +79,8 @@ switch (post('op')) {
|
||||
$intervento = Intervento::build($anagrafica, $tipo, $stato, $data_richiesta);
|
||||
$id_record = $intervento->id;
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
|
||||
flash()->info(tr('Aggiunto nuovo intervento!'));
|
||||
|
||||
// Informazioni di base
|
||||
@ -86,16 +88,16 @@ switch (post('op')) {
|
||||
$idcontratto = post('idcontratto');
|
||||
$idcontratto_riga = post('idcontratto_riga');
|
||||
$idtipointervento = post('idtipointervento');
|
||||
$idsede = post('idsede');
|
||||
$idsede_partenza = post('idsede_partenza');
|
||||
$idsede_destinazione = post('idsede_destinazione');
|
||||
$richiesta = post('richiesta');
|
||||
$idautomezzo = null;
|
||||
|
||||
if (post('idclientefinale')) {
|
||||
$intervento->idclientefinale = post('idclientefinale');
|
||||
}
|
||||
|
||||
if (post('idsede')) {
|
||||
$intervento->idsede = post('idsede');
|
||||
if (post('idsede_destinazione')) {
|
||||
$intervento->idsede_destinazione = post('idsede_destinazione');
|
||||
}
|
||||
|
||||
$intervento->id_preventivo = post('idpreventivo');
|
||||
@ -112,14 +114,14 @@ switch (post('op')) {
|
||||
'idtipointervento' => $idtipointervento,
|
||||
'data_richiesta' => $data_richiesta,
|
||||
'richiesta' => $richiesta,
|
||||
'idsede' => $idsede ?: 0,
|
||||
'idsede_destinazione' => $idsede_destinazione ?: 0,
|
||||
], ['idcontratto' => $idcontratto, 'id' => $idcontratto_riga]);
|
||||
|
||||
//copio le righe dal promemoria all'intervento
|
||||
$dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$id_record.',sconto,sconto_unitario,tipo_sconto FROM co_promemoria_righe WHERE id_promemoria = '.$idcontratto_riga);
|
||||
|
||||
//copio gli articoli dal promemoria all'intervento
|
||||
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$id_record.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$idcontratto_riga);
|
||||
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$id_record.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$idcontratto_riga);
|
||||
|
||||
// Copia degli allegati
|
||||
$alleagti = Uploads::copy([
|
||||
@ -138,7 +140,7 @@ switch (post('op')) {
|
||||
// Decremento la quantità per ogni articolo copiato
|
||||
$rs_articoli = $dbo->fetchArray('SELECT * FROM mg_articoli_interventi WHERE idintervento = '.$id_record.' ');
|
||||
foreach ($rs_articoli as $rs_articolo) {
|
||||
add_movimento_magazzino($rs_articolo['idarticolo'], -$rs_articolo['qta'], ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $id_record]);
|
||||
add_movimento_magazzino($rs_articolo['idarticolo'], -$rs_articolo['qta'], ['idintervento' => $id_record]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,7 +185,7 @@ switch (post('op')) {
|
||||
flash()->clearMessage('info');
|
||||
flash()->clearMessage('warning');
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
break;
|
||||
|
||||
|
||||
@ -201,15 +203,14 @@ switch (post('op')) {
|
||||
Riporto in magazzino gli articoli presenti nell'intervento in cancellazine
|
||||
*/
|
||||
// Leggo la quantità attuale nell'intervento
|
||||
$q = 'SELECT qta, idautomezzo, idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($id_record);
|
||||
$q = 'SELECT qta, idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($id_record);
|
||||
$rs = $dbo->fetchArray($q);
|
||||
|
||||
for ($i = 0; $i < count($rs); ++$i) {
|
||||
$qta = $rs[$i]['qta'];
|
||||
$idautomezzo = $rs[$i]['idautomezzo'];
|
||||
$idarticolo = $rs[$i]['idarticolo'];
|
||||
|
||||
add_movimento_magazzino($idarticolo, $qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
|
||||
add_movimento_magazzino($idarticolo, $qta, ['idintervento' => $id_record]);
|
||||
}
|
||||
|
||||
// Eliminazione associazioni tra interventi e contratti
|
||||
@ -278,7 +279,8 @@ switch (post('op')) {
|
||||
$iva = (($prezzo_vendita * $qta) - $sconto) * $rs_iva[0]['percentuale'] / 100;
|
||||
|
||||
$dbo->query('INSERT INTO in_righe_interventi(descrizione, qta, um, prezzo_vendita, prezzo_acquisto, idiva, desc_iva, iva, sconto, sconto_unitario, tipo_sconto, idintervento) VALUES ('.prepare($descrizione).', '.prepare($qta).', '.prepare($um).', '.prepare($prezzo_vendita).', '.prepare($prezzo_acquisto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($id_record).')');
|
||||
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
break;
|
||||
|
||||
case 'editriga':
|
||||
@ -318,7 +320,8 @@ switch (post('op')) {
|
||||
' sconto_unitario='.prepare($sconto_unitario).','.
|
||||
' tipo_sconto='.prepare($tipo_sconto).
|
||||
' WHERE id='.prepare($idriga));
|
||||
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
break;
|
||||
|
||||
case 'delriga':
|
||||
@ -358,20 +361,18 @@ switch (post('op')) {
|
||||
$idriga = post('idriga');
|
||||
$idarticolo = post('idarticolo');
|
||||
$idimpianto = post('idimpianto');
|
||||
$idautomezzo = post('idautomezzo');
|
||||
|
||||
$idarticolo_originale = post('idarticolo_originale');
|
||||
|
||||
// Leggo la quantità attuale nell'intervento
|
||||
$q = 'SELECT qta, idautomezzo, idimpianto FROM mg_articoli_interventi WHERE idarticolo='.prepare($idarticolo_originale).' AND idintervento='.prepare($id_record);
|
||||
$q = 'SELECT qta, idimpianto FROM mg_articoli_interventi WHERE idarticolo='.prepare($idarticolo_originale).' AND idintervento='.prepare($id_record);
|
||||
$rs = $dbo->fetchArray($q);
|
||||
$old_qta = $rs[0]['qta'];
|
||||
$idimpianto = $rs[0]['idimpianto'];
|
||||
$idautomezzo = $rs[0]['idautomezzo'];
|
||||
|
||||
$serials = array_column($dbo->select('mg_prodotti', 'serial', ['id_riga_intervento' => $idriga]), 'serial');
|
||||
|
||||
add_movimento_magazzino($idarticolo_originale, $old_qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
|
||||
add_movimento_magazzino($idarticolo_originale, $old_qta, ['idintervento' => $id_record]);
|
||||
|
||||
// Elimino questo articolo dall'intervento
|
||||
$dbo->query('DELETE FROM mg_articoli_interventi WHERE id='.prepare($idriga));
|
||||
@ -381,12 +382,12 @@ switch (post('op')) {
|
||||
|
||||
/* Ricollego l'articolo modificato all'intervento */
|
||||
/* ci può essere il caso in cui cambio idarticolo e anche qta */
|
||||
|
||||
|
||||
// no break
|
||||
case 'addarticolo':
|
||||
$originale = ArticoloOriginale::find(post('idarticolo'));
|
||||
$intervento = Intervento::find($id_record);
|
||||
$articolo = Articolo::build($intervento, $originale, post('idautomezzo'));
|
||||
$articolo = Articolo::build($intervento, $originale);
|
||||
|
||||
$articolo->qta = post('qta');
|
||||
$articolo->descrizione = post('descrizione');
|
||||
@ -397,12 +398,11 @@ switch (post('op')) {
|
||||
$articolo->sconto_unitario = post('sconto');
|
||||
$articolo->tipo_sconto = post('tipo_sconto');
|
||||
$articolo->id_iva = post('idiva');
|
||||
|
||||
|
||||
$articolo->save();
|
||||
|
||||
// Aggiorno l'automezzo dell'intervento
|
||||
$dbo->query('UPDATE in_interventi SET idautomezzo='.prepare(post('idautomezzo')).' WHERE id='.prepare($id_record));
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
|
||||
if (!empty($serials)) {
|
||||
if ($old_qta > $qta) {
|
||||
$serials = array_slice($serials, 0, $qta);
|
||||
@ -422,14 +422,13 @@ switch (post('op')) {
|
||||
// Riporto la merce nel magazzino
|
||||
if (!empty($idriga) && !empty($id_record)) {
|
||||
// Leggo la quantità attuale nell'intervento
|
||||
$q = 'SELECT qta, idautomezzo, idarticolo, idimpianto FROM mg_articoli_interventi WHERE id='.prepare($idriga);
|
||||
$q = 'SELECT qta, idarticolo, idimpianto FROM mg_articoli_interventi WHERE id='.prepare($idriga);
|
||||
$rs = $dbo->fetchArray($q);
|
||||
$qta = $rs[0]['qta'];
|
||||
$idarticolo = $rs[0]['idarticolo'];
|
||||
$idimpianto = $rs[0]['idimpianto'];
|
||||
$idautomezzo = $rs[0]['idautomezzo'];
|
||||
|
||||
add_movimento_magazzino($idarticolo, $qta, ['idautomezzo' => $idautomezzo, 'idintervento' => $id_record]);
|
||||
add_movimento_magazzino($idarticolo, $qta, ['idintervento' => $id_record]);
|
||||
|
||||
// Elimino questo articolo dall'intervento
|
||||
$dbo->query('DELETE FROM mg_articoli_interventi WHERE id='.prepare($idriga).' AND idintervento='.prepare($id_record));
|
||||
@ -440,7 +439,7 @@ switch (post('op')) {
|
||||
// Elimino i seriali utilizzati dalla riga
|
||||
$dbo->query('DELETE FROM `mg_prodotti` WHERE id_articolo = '.prepare($idarticolo).' AND id_riga_intervento = '.prepare($id_record));
|
||||
}
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
break;
|
||||
|
||||
case 'add_serial':
|
||||
@ -455,7 +454,7 @@ switch (post('op')) {
|
||||
}
|
||||
|
||||
$dbo->sync('mg_prodotti', ['id_riga_intervento' => $idriga, 'dir' => 'entrata', 'id_articolo' => $idarticolo], ['serial' => $serials]);
|
||||
|
||||
aggiorna_sedi_movimenti('interventi', $id_record);
|
||||
break;
|
||||
|
||||
case 'firma':
|
||||
|
@ -11,7 +11,6 @@ $gruppi = Auth::user()['gruppo'];
|
||||
$can_edit_prezzi = (in_array('Amministratori', $gruppi)) || (setting('Mostra i prezzi al tecnico') == 1 && (in_array('Tecnici', $gruppi)));
|
||||
|
||||
$idriga = get('idriga');
|
||||
$idautomezzo = (get('idautomezzo') == 'undefined') ? '' : get('idautomezzo');
|
||||
|
||||
// Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
|
||||
$rs = $dbo->fetchArray('SELECT idanagrafica FROM in_interventi WHERE id='.prepare($id_record));
|
||||
@ -58,8 +57,6 @@ if (empty($idriga)) {
|
||||
$sconto_unitario = $rsr[0]['sconto_unitario'];
|
||||
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
||||
|
||||
$idautomezzo = $rsr[0]['idautomezzo'];
|
||||
|
||||
$idimpianto = $rsr[0]['idimpianto'];
|
||||
}
|
||||
|
||||
@ -69,7 +66,6 @@ if (empty($idriga)) {
|
||||
echo '
|
||||
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
|
||||
<input type="hidden" name="op" value="'.$op.'">
|
||||
<input type="hidden" id="idautomezzo" name="idautomezzo" value="'.$idautomezzo.'">
|
||||
<input type="hidden" name="idriga" value="'.$idriga.'">';
|
||||
|
||||
if (!empty($idarticolo)) {
|
||||
|
@ -29,7 +29,6 @@ switch ($resource) {
|
||||
'idstatointervento' => $data['id_stato_intervento'],
|
||||
'idtipointervento' => $data['id_tipo_intervento'],
|
||||
'idsede' => 0,
|
||||
'idautomezzo' => 0,
|
||||
|
||||
'codice' => $codice,
|
||||
'data_richiesta' => $data['data_richiesta'],
|
||||
@ -63,7 +62,7 @@ switch ($resource) {
|
||||
|
||||
$originale = ArticoloOriginale::find($data['id_articolo']);
|
||||
$intervento = Intervento::find($data['id_intervento']);
|
||||
$articolo = Articolo::build($intervento, $originale, $data['id_automezzo']);
|
||||
$articolo = Articolo::build($intervento, $originale);
|
||||
|
||||
$articolo->qta = $data['qta'];
|
||||
$articolo->um = $data['um'];
|
||||
|
@ -57,7 +57,6 @@ switch ($resource) {
|
||||
`in_interventi`.`descrizione`,
|
||||
`in_interventi`.`idtipointervento`,
|
||||
`in_interventi`.`idanagrafica`,
|
||||
`in_interventi`.`idautomezzo`,
|
||||
`in_interventi`.`idsede`,
|
||||
`in_interventi`.`idstatointervento`,
|
||||
`in_interventi`.`informazioniaggiuntive`,
|
||||
@ -114,7 +113,7 @@ switch ($resource) {
|
||||
|
||||
// Elenco articoli dell'intervento per l'applicazione
|
||||
case 'articoli_intervento':
|
||||
$query = 'SELECT id, idarticolo AS id_articolo, idintervento AS id_intervento, IF(idautomezzo != 0, idautomezzo, NULL) AS id_automezzo, qta, created_at as data FROM mg_articoli_interventi WHERE `idintervento` = :id_intervento';
|
||||
$query = 'SELECT id, idarticolo AS id_articolo, idintervento AS id_intervento, qta, created_at as data FROM mg_articoli_interventi WHERE `idintervento` = :id_intervento';
|
||||
|
||||
$parameters = [
|
||||
':id_intervento' => $request['id_intervento'],
|
||||
|
@ -3,7 +3,12 @@
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
unset($_SESSION['superselect']['idanagrafica']);
|
||||
unset($_SESSION['superselect']['idsede_partenza']);
|
||||
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||
$_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
$_SESSION['superselect']['idsede_partenza'] = $record['idsede_partenza'];
|
||||
$_SESSION['superselect']['idsede_partenza'];
|
||||
$_SESSION['superselect']['idsede_destinazione'] = $record['idsede_destinazione'];
|
||||
|
||||
?><form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="op" value="update">
|
||||
@ -27,7 +32,7 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede","value": "$idsede$", "ajax-source": "sedi", "placeholder": "Sede legale", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Sede destinazione'); ?>", "name": "idsede_destinazione","value": "$idsede_destinazione$", "ajax-source": "sedi", "placeholder": "Sede legale", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
@ -109,10 +114,6 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "$idstatointervento$" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "select", "label": "<?php echo tr('Automezzo'); ?>", "name": "idautomezzo", "values": "query=SELECT id, CONCAT_WS( ')', CONCAT_WS( ' (', CONCAT_WS( ', ', nome, descrizione), targa ), '' ) AS descrizione FROM dt_automezzi", "help": "<?php echo tr('Se selezionato i materiali verranno presi prima dall’automezzo e poi dal magazzino centrale.'); ?>", "value": "$idautomezzo$", "readonly": "<?php echo $record['flag_completato']; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -211,14 +212,22 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
// Conteggio numero articoli intervento per eventuale blocco della sede di partenza
|
||||
$articoli = $dbo->fetchArray('SELECT mg_articoli_interventi.id FROM mg_articoli_interventi INNER JOIN in_interventi ON in_interventi.id=mg_articoli_interventi.idintervento WHERE in_interventi.id='.prepare($id_record))
|
||||
?>
|
||||
<!-- ARTICOLI -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo tr('Materiale utilizzato'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "<?php echo tr('Partenza merce') ?>", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "$idsede_partenza$", "readonly": "<?php echo ($record['flag_completato'] || sizeof($articoli)) ? 1 : 0 ; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="articoli">
|
||||
<?php
|
||||
if (file_exists($docroot.'/modules/interventi/custom/ajax_articoli.php')) {
|
||||
@ -231,7 +240,7 @@ $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
|
||||
<?php if (!$record['flag_completato']) {
|
||||
?>
|
||||
<button type="button" class="btn btn-primary" onclick="launch_modal( '<?php echo tr('Aggiungi articolo'); ?>', '<?php echo $rootdir; ?>/modules/interventi/add_articolo.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idriga=0&idautomezzo='+$('#idautomezzo').find(':selected').val(), 1);"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi articolo'); ?>...</button>
|
||||
<button type="button" class="btn btn-primary" onclick="launch_modal( '<?php echo tr('Aggiungi articolo'); ?>', '<?php echo $rootdir; ?>/modules/interventi/add_articolo.php?id_module=<?php echo $id_module; ?>&id_record=<?php echo $id_record; ?>&idriga=0', 1);"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi articolo'); ?>...</button>
|
||||
<?php
|
||||
} ?>
|
||||
</div>
|
||||
|
@ -10,7 +10,7 @@ if (isset($id_record)) {
|
||||
$record = $dbo->fetchOne('SELECT *,
|
||||
(SELECT tipo FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica) AS tipo_anagrafica,
|
||||
(SELECT completato FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS flag_completato,
|
||||
IF((in_interventi.idsede = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede)) AS idzona,
|
||||
IF((in_interventi.idsede_destinazione = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede_destinazione)) AS idzona,
|
||||
(SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore,
|
||||
in_interventi.id_preventivo as idpreventivo,
|
||||
in_interventi.id_contratto as idcontratto
|
||||
|
@ -18,11 +18,10 @@ class Articolo extends Article
|
||||
*
|
||||
* @param Intervento $intervento
|
||||
* @param Original $articolo
|
||||
* @param int $id_automezzo
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function build(Intervento $intervento, Original $articolo, $id_automezzo = null)
|
||||
public static function build(Intervento $intervento, Original $articolo)
|
||||
{
|
||||
$model = parent::build($intervento, $articolo);
|
||||
|
||||
@ -38,49 +37,27 @@ class Articolo extends Article
|
||||
public function movimenta($qta)
|
||||
{
|
||||
$articolo = $this->articolo;
|
||||
$id_automezzo = $this->intervento->idautomezzo;
|
||||
|
||||
$dbo = database();
|
||||
$automezzo_carico = $dbo->fetchNum('SELECT qta FROM mg_articoli_automezzi WHERE qta > 0 AND idarticolo = '.prepare($articolo->id).' AND idautomezzo = '.prepare($id_automezzo)) != 0;
|
||||
|
||||
// Movimento l'articolo
|
||||
if (!empty($id_automezzo) && $automezzo_carico) {
|
||||
$rs = $dbo->fetchArray("SELECT CONCAT_WS(' - ', nome, targa) AS nome FROM dt_automezzi WHERE id=".prepare($id_automezzo));
|
||||
$nome = $rs[0]['nome'];
|
||||
$intervento = $this->intervento;
|
||||
|
||||
$descrizione = ($qta < 0) ? tr("Carico sull'automezzo _NAME_", [
|
||||
'_NAME_' => $nome,
|
||||
]) : tr("Scarico dall'automezzo _NAME_", [
|
||||
'_NAME_' => $nome,
|
||||
]);
|
||||
$numero = $intervento->codice;
|
||||
$data = database()->fetchOne('SELECT MAX(orario_fine) AS data FROM in_interventi_tecnici WHERE idintervento = :id_intervento', [
|
||||
':id_intervento' => $intervento->id,
|
||||
])['data'];
|
||||
|
||||
$dbo->query('UPDATE mg_articoli_automezzi SET qta = qta - '.$qta.' WHERE idarticolo = '.prepare($articolo->id).' AND idautomezzo = '.prepare($id_automezzo));
|
||||
$data = date('Y-m-d');
|
||||
$data = $data ?: $intervento->data_richiesta;
|
||||
|
||||
$articolo->registra(-$qta, $descrizione, $data, false, [
|
||||
'idautomezzo' => $id_automezzo,
|
||||
'idintervento' => $this->idintervento,
|
||||
]);
|
||||
} else {
|
||||
$intervento = $this->intervento;
|
||||
$descrizione = ($qta < 0) ? tr('Ripristino articolo da intervento _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]) : tr('Scarico magazzino per intervento _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
$numero = $intervento->codice;
|
||||
$data = database()->fetchOne('SELECT MAX(orario_fine) AS data FROM in_interventi_tecnici WHERE idintervento = :id_intervento', [
|
||||
':id_intervento' => $intervento->id,
|
||||
])['data'];
|
||||
|
||||
$data = $data ?: $intervento->data_richiesta;
|
||||
|
||||
$descrizione = ($qta < 0) ? tr('Ripristino articolo da intervento _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]) : tr('Scarico magazzino per intervento _NUM_', [
|
||||
'_NUM_' => $numero,
|
||||
]);
|
||||
|
||||
$articolo->movimenta(-$qta, $descrizione, $data, false, [
|
||||
'idintervento' => $intervento->id,
|
||||
]);
|
||||
}
|
||||
$articolo->movimenta(-$qta, $descrizione, $data, false, [
|
||||
'idintervento' => $intervento->id,
|
||||
]);
|
||||
}
|
||||
|
||||
public function getDirection()
|
||||
|
@ -1,9 +1,12 @@
|
||||
<?php
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
unset($_SESSION['superselect']['idsede_partenza']);
|
||||
unset($_SESSION['superselect']['idsede_destinazione']);
|
||||
unset($_SESSION['superselect']['idanagrafica']);
|
||||
$_SESSION['superselect']['idanagrafica'] = $record['idanagrafica'];
|
||||
|
||||
|
||||
?><form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="update">
|
||||
|
@ -119,7 +119,7 @@ switch ($operazione) {
|
||||
$dbo->query('INSERT INTO co_promemoria_righe (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,id_promemoria,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva, desc_iva,iva,'.$idriga.',sconto,sconto_unitario,tipo_sconto FROM co_promemoria_righe WHERE id_promemoria = '.$id_record.' ');
|
||||
|
||||
// copio righe articoli nel nuovo promemoria
|
||||
$dbo->query('INSERT INTO co_promemoria_articoli (idarticolo, id_promemoria,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idriga.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$id_record.' ');
|
||||
$dbo->query('INSERT INTO co_promemoria_articoli (idarticolo, id_promemoria,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idriga.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$id_record.' ');
|
||||
|
||||
// Copia degli allegati
|
||||
Uploads::copy([
|
||||
@ -159,7 +159,6 @@ switch ($operazione) {
|
||||
'idstatointervento' => $idstatointervento,
|
||||
'idtipointervento' => $idtipointervento,
|
||||
'idsede' => $idsede ?: 0,
|
||||
'idautomezzo' => $idautomezzo ?: 0,
|
||||
|
||||
'codice' => $codice,
|
||||
'data_richiesta' => $data_richiesta,
|
||||
@ -182,7 +181,7 @@ switch ($operazione) {
|
||||
$dbo->query('INSERT INTO in_righe_interventi (descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,idintervento,sconto,sconto_unitario,tipo_sconto) SELECT descrizione, qta,um,prezzo_vendita,prezzo_acquisto,idiva,desc_iva,iva,'.$idintervento.',sconto,sconto_unitario,tipo_sconto FROM co_promemoria_righe WHERE id_promemoria = '.$id_record.' ');
|
||||
|
||||
// copio gli articoli dal promemoria all'intervento
|
||||
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idintervento.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva,idautomezzo, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$id_record.' ');
|
||||
$dbo->query('INSERT INTO mg_articoli_interventi (idarticolo, idintervento,descrizione,prezzo_acquisto,prezzo_vendita,sconto, sconto_unitario, tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto) SELECT idarticolo, '.$idintervento.',descrizione,prezzo_acquisto,prezzo_vendita,sconto,sconto_unitario,tipo_sconto,idiva,desc_iva,iva, qta, um, abilita_serial, idimpianto FROM co_promemoria_articoli WHERE id_promemoria = '.$id_record.' ');
|
||||
|
||||
// Copia degli allegati
|
||||
Uploads::copy([
|
||||
@ -196,7 +195,7 @@ switch ($operazione) {
|
||||
// Decremento la quantità per ogni articolo copiato
|
||||
$rs_articoli = $dbo->fetchArray('SELECT * FROM mg_articoli_interventi WHERE idintervento = '.$idintervento.' ');
|
||||
foreach ($rs_articoli as $rs_articolo) {
|
||||
add_movimento_magazzino($rs_articolo['idarticolo'], -$rs_articolo['qta'], ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $idintervento]);
|
||||
add_movimento_magazzino($rs_articolo['idarticolo'], -$rs_articolo['qta'], ['idintervento' => $idintervento]);
|
||||
}
|
||||
|
||||
// Collego gli impianti del promemoria all' intervento appena inserito
|
||||
@ -235,7 +234,7 @@ switch ($operazione) {
|
||||
$idimpianto = post('idimpianto');
|
||||
|
||||
// Leggo la quantità attuale nell'intervento
|
||||
$q = 'SELECT qta, idautomezzo, idimpianto FROM co_promemoria_articoli WHERE id='.prepare($idriga);
|
||||
$q = 'SELECT qta, idimpianto FROM co_promemoria_articoli WHERE id='.prepare($idriga);
|
||||
$rs = $dbo->fetchArray($q);
|
||||
$old_qta = $rs[0]['qta'];
|
||||
$idimpianto = $rs[0]['idimpianto'];
|
||||
@ -247,7 +246,6 @@ switch ($operazione) {
|
||||
|
||||
case 'addarticolo':
|
||||
$idarticolo = post('idarticolo');
|
||||
// $idautomezzo = post('idautomezzo');
|
||||
$descrizione = post('descrizione');
|
||||
$idimpianto = post('idimpianto');
|
||||
$qta = post('qta');
|
||||
@ -271,7 +269,7 @@ switch ($operazione) {
|
||||
$iva = (($prezzo_vendita * $qta) - $sconto) * $rs_iva[0]['percentuale'] / 100;
|
||||
|
||||
// Aggiunto il collegamento fra l'articolo e l'intervento
|
||||
$idriga = $dbo->query('INSERT INTO co_promemoria_articoli(idarticolo, id_promemoria, idimpianto, idautomezzo, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', '.(empty($idimpianto) ? 'NULL' : prepare($idimpianto)).', '.prepare($idautomezzo).', '.prepare($descrizione).', '.prepare($prezzo_vendita).', '.prepare($prezzo_acquisto).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($qta).', '.prepare($um).', '.prepare($rsart[0]['abilita_serial']).')');
|
||||
$idriga = $dbo->query('INSERT INTO co_promemoria_articoli(idarticolo, id_promemoria, idimpianto, descrizione, prezzo_vendita, prezzo_acquisto, sconto, sconto_unitario, tipo_sconto, idiva, desc_iva, iva, qta, um, abilita_serial) VALUES ('.prepare($idarticolo).', '.prepare($id_record).', '.(empty($idimpianto) ? 'NULL' : prepare($idimpianto)).', '.prepare($descrizione).', '.prepare($prezzo_vendita).', '.prepare($prezzo_acquisto).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($idiva).', '.prepare($desc_iva).', '.prepare($iva).', '.prepare($qta).', '.prepare($um).', '.prepare($rsart[0]['abilita_serial']).')');
|
||||
|
||||
break;
|
||||
|
||||
|
@ -8,7 +8,6 @@ $plugin = Plugins::get($id_plugin);
|
||||
$show_prezzi = Auth::user()['gruppo'] != 'Tecnici' || (Auth::user()['gruppo'] == 'Tecnici' && setting('Mostra i prezzi al tecnico'));
|
||||
|
||||
$idriga = get('idriga');
|
||||
//$idautomezzo = (get('idautomezzo') == 'undefined') ? '' : get('idautomezzo');
|
||||
|
||||
// Lettura idanagrafica cliente e percentuale di sconto/rincaro in base al listino
|
||||
$rs = $dbo->fetchArray('SELECT idanagrafica FROM co_contratti WHERE id='.prepare($id_record));
|
||||
@ -57,8 +56,6 @@ if (empty($idriga)) {
|
||||
$sconto_unitario = $rsr[0]['sconto_unitario'];
|
||||
$tipo_sconto = $rsr[0]['tipo_sconto'];
|
||||
|
||||
$idautomezzo = $rsr[0]['idautomezzo'];
|
||||
|
||||
$idimpianto = $rsr[0]['idimpianto'];
|
||||
$idcontratto_riga = $rsr[0]['id_promemoria'];
|
||||
}
|
||||
|
@ -29,8 +29,8 @@ if (empty($records[0]['numero_esterno'])) {
|
||||
|
||||
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
||||
$destinazione = '';
|
||||
if (!empty($records[0]['idsede'])) {
|
||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).' AND id='.prepare($records[0]['idsede']));
|
||||
if (!empty($records[0]['idsede_destinazione'])) {
|
||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).' AND id='.prepare($records[0]['idsede_destinazione']));
|
||||
|
||||
if (!empty($rsd[0]['nomesede'])) {
|
||||
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
||||
|
@ -48,30 +48,29 @@ $fattura_accompagnatoria = ($record['tipo_doc'] == 'Fattura accompagnatoria di v
|
||||
$tipo_doc = ($fattura_accompagnatoria) ? 'Fattura accompagnatoria di vendita' : $tipo_doc;
|
||||
|
||||
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).(!empty($record['idsede']) ? ' AND id='.prepare($record['idsede']) : ''));
|
||||
|
||||
$destinazione = '';
|
||||
if (!empty($rsd[0]['nomesede'])) {
|
||||
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo'])) {
|
||||
$destinazione .= $rsd[0]['indirizzo'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo2'])) {
|
||||
$destinazione .= $rsd[0]['indirizzo2'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['cap'])) {
|
||||
$destinazione .= $rsd[0]['cap'].' ';
|
||||
}
|
||||
if (!empty($rsd[0]['citta'])) {
|
||||
$destinazione .= $rsd[0]['citta'];
|
||||
}
|
||||
if (!empty($rsd[0]['provincia'])) {
|
||||
$destinazione .= ' ('.$rsd[0]['provincia'].')';
|
||||
}
|
||||
|
||||
$id_sede = 0;
|
||||
if (!empty($record['idsede_destinazione'])) {
|
||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale FROM an_sedi WHERE idanagrafica='.prepare($id_cliente).' AND id='.prepare($record['idsede_destinazione']));
|
||||
|
||||
if (!empty($rsd[0]['nomesede'])) {
|
||||
$destinazione .= $rsd[0]['nomesede'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo'])) {
|
||||
$destinazione .= $rsd[0]['indirizzo'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo2'])) {
|
||||
$destinazione .= $rsd[0]['indirizzo2'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['cap'])) {
|
||||
$destinazione .= $rsd[0]['cap'].' ';
|
||||
}
|
||||
if (!empty($rsd[0]['citta'])) {
|
||||
$destinazione .= $rsd[0]['citta'];
|
||||
}
|
||||
if (!empty($rsd[0]['provincia'])) {
|
||||
$destinazione .= ' ('.$rsd[0]['provincia'].')';
|
||||
}
|
||||
}
|
||||
// Sostituzioni specifiche
|
||||
$custom = [
|
||||
'tipo_doc' => Stringy\Stringy::create($tipo_doc)->toUpperCase(),
|
||||
|
@ -52,7 +52,7 @@ include_once $docroot.'/templates/pdfgen_variables.php';
|
||||
// LEFT OUTER JOIN mg_categorie ON (mg_categorie.id=mg_articoli.id_categoria AND mg_categorie.parent = 0) OR (mg_categorie.id=mg_articoli.id_sottocategoria AND mg_categorie.parent = 1)
|
||||
$period_end = $_SESSION['period_end'];
|
||||
|
||||
$query = 'SELECT *, mg_articoli.id AS id_articolo, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 0 AND mg_categorie.id = mg_articoli.id_categoria) AS categoria, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 1 AND mg_categorie.id = mg_articoli.id_sottocategoria) AS subcategoria, (SELECT SUM(qta) FROM mg_movimenti WHERE mg_movimenti.idarticolo=mg_articoli.id AND (mg_movimenti.idintervento IS NULL OR mg_movimenti.idautomezzo = 0) AND data <= '.prepare($period_end).' ) AS qta FROM mg_articoli WHERE 1=1 '.$add_where.' HAVING 2=2 AND qta > 0 '.$add_having.' ORDER BY codice ASC';
|
||||
$query = 'SELECT *, mg_articoli.id AS id_articolo, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 0 AND mg_categorie.id = mg_articoli.id_categoria) AS categoria, (SELECT nome FROM mg_categorie WHERE mg_categorie.parent = 1 AND mg_categorie.id = mg_articoli.id_sottocategoria) AS subcategoria, (SELECT SUM(qta) FROM mg_movimenti WHERE mg_movimenti.idarticolo=mg_articoli.id AND (mg_movimenti.idintervento IS NULL) AND data <= '.prepare($period_end).' ) AS qta FROM mg_articoli WHERE 1=1 '.$add_where.' HAVING 2=2 AND qta > 0 '.$add_having.' ORDER BY codice ASC';
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$totrows = sizeof($rs);
|
||||
|
||||
|
63
update/2_4_10.php
Normal file
63
update/2_4_10.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
include("../core.php");
|
||||
|
||||
// Spostamento automezzi su sedi
|
||||
$automezzi = $dbo->fetchArray('SELECT * FROM dt_automezzi');
|
||||
foreach($automezzi as $automezzo){
|
||||
$nomesede = [];
|
||||
|
||||
( !empty($automezzo['nome']) ) ? $nomesede[] = $automezzo['nome'] : null;
|
||||
( !empty($automezzo['descrizione']) ) ? $nomesede[] = $automezzo['descrizione'] : null;
|
||||
( !empty($automezzo['targa']) ) ? $nomesede[] = $automezzo['targa'] : null;
|
||||
|
||||
|
||||
|
||||
$dbo->insert(
|
||||
'an_sedi',
|
||||
[
|
||||
'nomesede' => implode( ' - ', $nomesede ),
|
||||
'idanagrafica' => setting('Azienda predefinita')
|
||||
|
||||
]
|
||||
);
|
||||
|
||||
$idsede = $dbo->lastInsertedId();
|
||||
|
||||
// Aggiornamento sede di partenza su
|
||||
$dbo->update(
|
||||
'in_interventi',
|
||||
[
|
||||
'idsede_partenza' => $idsede,
|
||||
],[
|
||||
'idautomezzo' => $automezzo['id']
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
// Aggiornamento della sede azienda nei movimenti degli interventi
|
||||
$dbo->query('UPDATE mg_movimenti SET idsede_azienda=(SELECT idsede_partenza FROM in_interventi WHERE in_interventi.id=mg_movimenti.idintervento) WHERE idintervento IS NOT NULL');
|
||||
|
||||
// Cancellazione idautomezzo da mg_movimenti e in_interventi
|
||||
$dbo->query('ALTER TABLE in_interventi DROP idautomezzo');
|
||||
$dbo->query('ALTER TABLE mg_movimenti DROP idautomezzo');
|
||||
$dbo->query('ALTER TABLE co_promemoria_articoli DROP idautomezzo');
|
||||
$dbo->query('ALTER TABLE co_righe_documenti DROP idautomezzo');
|
||||
$dbo->query('ALTER TABLE mg_articoli_interventi DROP idautomezzo');
|
||||
|
||||
// Eliminazione tabelle degli automezzi non più usate
|
||||
$dbo->query('DROP TABLE mg_articoli_automezzi');
|
||||
$dbo->query('DROP TABLE dt_automezzi');
|
||||
$dbo->query('DROP TABLE dt_automezzi_tecnici');
|
||||
$dbo->query('DELETE FROM zz_modules WHERE name="Automezzi"');
|
||||
|
||||
|
||||
// File e cartelle deprecate
|
||||
$files = [
|
||||
'modules/automezzi',
|
||||
];
|
||||
|
||||
foreach ($files as $key => $value) {
|
||||
$files[$key] = realpath(DOCROOT.'/'.$value);
|
||||
}
|
||||
|
||||
delete($files);
|
61
update/2_4_10.sql
Normal file
61
update/2_4_10.sql
Normal file
@ -0,0 +1,61 @@
|
||||
--
|
||||
-- Aggiunta nuovi campi per tracciamento sedi
|
||||
--
|
||||
ALTER TABLE `mg_movimenti` ADD `idsede_azienda` INT NOT NULL AFTER `idautomezzo`, ADD `idsede_controparte` INT NOT NULL AFTER `idsede_azienda`;
|
||||
|
||||
--
|
||||
-- Creazione plugin Giacenze
|
||||
--
|
||||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES (NULL, 'Giacenze', 'Giacenze', (SELECT id FROM zz_modules WHERE name='Articoli'), (SELECT id FROM zz_modules WHERE name='Articoli'), 'tab', 'articoli.giacenze.php', '1', '0', '0', '', '', NULL, NULL, '', '');
|
||||
|
||||
-- Aggiornamento nomi dei campi sede per ddt
|
||||
ALTER TABLE `dt_ddt` CHANGE `idsede` `idsede_partenza` INT(11) NOT NULL;
|
||||
ALTER TABLE `dt_ddt` ADD `idsede_destinazione` INT NULL AFTER `idsede_partenza`;
|
||||
|
||||
-- Aggiornamento idsede_destinazione per i ddt di vendita
|
||||
UPDATE `dt_ddt` SET `idsede_destinazione`=`idsede_partenza` WHERE `idtipoddt` IN (SELECT id FROM dt_tipiddt WHERE dir="entrata");
|
||||
UPDATE `dt_ddt` SET `idsede_partenza`=0 WHERE `idtipoddt` IN (SELECT id FROM dt_tipiddt WHERE dir="entrata");
|
||||
UPDATE `dt_ddt` SET `idsede_destinazione`=0 WHERE `idtipoddt` IN (SELECT id FROM dt_tipiddt WHERE dir="uscita");
|
||||
|
||||
|
||||
UPDATE `zz_modules` SET `options`='SELECT |select| FROM (((((((`dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`) LEFT OUTER JOIN `dt_righe_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt`) LEFT OUTER JOIN `dt_causalet` ON `dt_ddt`.`idcausalet` = `dt_causalet`.`id`) LEFT OUTER JOIN `dt_spedizione` ON `dt_ddt`.`idspedizione` = `dt_spedizione`.`id`) LEFT OUTER JOIN `an_anagrafiche` `vettori` ON `dt_ddt`.`idvettore` = `vettori`.`idanagrafica`) LEFT OUTER JOIN `an_anagrafiche` AS `destinatari` ON `dt_ddt`.`idanagrafica` = `destinatari`.`idanagrafica`) LEFT OUTER JOIN an_sedi AS sedi ON `dt_ddt`.`idsede_partenza` = `sedi`.`id`) LEFT OUTER JOIN an_sedi AS sedi_destinazione ON dt_ddt.idsede_destinazione = sedi_destinazione.id WHERE 1=1 AND `dir` = ''entrata'' |date_period(`data`)| GROUP BY dt_ddt.id HAVING 2=2 ORDER BY `data` DESC, CAST(`numero_esterno` AS UNSIGNED) DESC,`dt_ddt`.created_at DESC' WHERE name="Ddt di vendita";
|
||||
|
||||
UPDATE `zz_modules` SET `options`='SELECT |select| FROM (((((((`dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`) LEFT OUTER JOIN `dt_righe_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt`) LEFT OUTER JOIN `dt_causalet` ON `dt_ddt`.`idcausalet` = `dt_causalet`.`id`) LEFT OUTER JOIN `dt_spedizione` ON `dt_ddt`.`idspedizione` = `dt_spedizione`.`id`) LEFT OUTER JOIN `an_anagrafiche` `vettori` ON `dt_ddt`.`idvettore` = `vettori`.`idanagrafica`) LEFT OUTER JOIN `an_anagrafiche` AS `destinatari` ON `dt_ddt`.`idanagrafica` = `destinatari`.`idanagrafica`) LEFT OUTER JOIN `an_sedi` AS sedi ON `dt_ddt`.`idsede_partenza` = sedi.`id`) LEFT OUTER JOIN an_sedi AS sedi_destinazione ON dt_ddt.idsede_destinazione = sedi_destinazione.id WHERE 1=1 AND `dir` = ''uscita'' |date_period(`data`)| GROUP BY dt_ddt.id HAVING 2=2 ORDER BY `data` DESC, CAST(`numero_esterno` AS UNSIGNED) DESC,`dt_ddt`.created_at DESC' WHERE name="Ddt di acquisto";
|
||||
|
||||
-- Aggiornamento nomi dei campi sede per co_documenti
|
||||
ALTER TABLE `co_documenti` ADD `idsede_destinazione` INT NOT NULL AFTER `idsede`;
|
||||
ALTER TABLE `co_documenti` CHANGE `idsede` `idsede_partenza` INT(11) NOT NULL;
|
||||
|
||||
-- Aggiornamento idsede su co_documenti come ddt
|
||||
UPDATE `co_documenti` SET `idsede_destinazione`=`idsede_partenza` WHERE `idtipodocumento` IN (SELECT id FROM co_tipidocumento WHERE dir="entrata");
|
||||
UPDATE `co_documenti` SET `idsede_partenza`=0 WHERE `idtipodocumento` IN (SELECT id FROM co_tipidocumento WHERE dir="entrata");
|
||||
UPDATE `co_documenti` SET `idsede_destinazione`=0 WHERE `idtipodocumento` IN (SELECT id FROM co_tipidocumento WHERE dir="uscita");
|
||||
|
||||
-- Rinomino idsede in in_interventi in idsede_destinazione
|
||||
ALTER TABLE `in_interventi` CHANGE `idsede` `idsede_destinazione` INT(11) NOT NULL;
|
||||
|
||||
-- Creazione idsede_partenza in_interventi
|
||||
ALTER TABLE `in_interventi` ADD `idsede_partenza` INT NOT NULL AFTER `prezzo_ore_unitario`;
|
||||
|
||||
-- Aggiunta sede destinazione ddt uscita
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ('0', (SELECT id FROM zz_modules WHERE name='Ddt di vendita'), 'Sede destinazione', 'IF(`dt_ddt`.`idsede_destinazione`=0, \'Sede legale\',CONCAT_WS(\' - \', sedi_destinazione.nomesede,sedi_destinazione.citta))', '5', '1', '0', '0', '', '', '1', '0', '0');
|
||||
|
||||
-- Aggiunta sede destinazione ddt in entrata
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ('0', (SELECT id FROM zz_modules WHERE name='Ddt di acquisto'), 'Sede destinazione', 'IF(`dt_ddt`.`idsede_destinazione`=0, \'Sede legale\',CONCAT_WS(\' - \', sedi_destinazione.nomesede,sedi_destinazione.citta))', '5', '1', '0', '1', '', '', '1', '0', '0');
|
||||
|
||||
-- Update sede -> sede partenza ddt in uscita
|
||||
UPDATE zz_views SET query='IF(dt_ddt.idsede_partenza=0, "Sede legale",CONCAT_WS(" - ", sedi.nomesede,sedi.citta))', name='Sede partenza' WHERE id_module=(SELECT id FROM zz_modules WHERE name="Ddt di vendita") AND name= "sede";
|
||||
|
||||
-- Update sede -> sede partenza ddt in entrata
|
||||
UPDATE zz_views SET query='IF(`dt_ddt`.`idsede_partenza`=0, "Sede legale",CONCAT_WS(" - ", sedi.nomesede,sedi.citta))', name="Sede partenza" WHERE id_module=(SELECT id FROM zz_modules WHERE name="Ddt di acquisto") AND name= "sede";
|
||||
|
||||
-- Aggiornamento idsede_destinazione sui movimenti degli articoli inseriti sulle attività
|
||||
UPDATE `mg_movimenti` SET `idsede_controparte` = (SELECT `idsede_destinazione` FROM `in_interventi` WHERE `in_interventi`.`id` = `mg_movimenti`.`idintervento`) WHERE `idintervento` IS NOT NULL;
|
||||
|
||||
-- Aggiorno idsede_azienda e controparte per ddt
|
||||
UPDATE `mg_movimenti` SET `idsede_controparte` (SELECT `idsede_destinazione` FROM `dt_ddt` WHERE `dt_ddt`.`id` = `mg_movimenti`.`idddt`) WHERE `idddt`!=0;
|
||||
UPDATE `mg_movimenti` SET `idsede_azienda` (SELECT `idsede_partenza` FROM `dt_ddt` WHERE `dt_ddt`.`id` = `mg_movimenti`.`idddt`) WHERE `idddt`!=0;
|
||||
|
||||
-- Aggiorno idsede_azienda e controparte per documenti
|
||||
UPDATE `mg_movimenti` SET `idsede_controparte` (SELECT `idsede_destinazione` FROM `co_documenti` WHERE `co_documenti`.`id` = `mg_movimenti`.`iddocumento`) WHERE `iddocumento`!=0;
|
||||
UPDATE `mg_movimenti` SET `idsede_azienda` (SELECT `idsede_destinazione` FROM `co_documenti` WHERE `co_documenti`.`id` = `mg_movimenti`.`iddocumento`) WHERE `iddocumento`!=0;
|
@ -40,8 +40,6 @@ return [
|
||||
'co_statipreventivi',
|
||||
'co_tipidocumento',
|
||||
'dt_aspettobeni',
|
||||
'dt_automezzi',
|
||||
'dt_automezzi_tecnici',
|
||||
'dt_causalet',
|
||||
'dt_ddt',
|
||||
'dt_porto',
|
||||
@ -64,7 +62,6 @@ return [
|
||||
'in_tipiintervento',
|
||||
'in_vociservizio',
|
||||
'mg_articoli',
|
||||
'mg_articoli_automezzi',
|
||||
'mg_articoli_interventi',
|
||||
'mg_categorie',
|
||||
'mg_listini',
|
||||
|
Loading…
x
Reference in New Issue
Block a user