diff --git a/modules/impianti/plugins/my_impianti.interventi.php b/modules/impianti/plugins/my_impianti.interventi.php deleted file mode 100644 index ec023e9ff..000000000 --- a/modules/impianti/plugins/my_impianti.interventi.php +++ /dev/null @@ -1,335 +0,0 @@ -. - */ - -include_once __DIR__.'/../../../core.php'; - -use Modules\Checklists\Check; -use Models\Module; - -$matricole = (array) post('matricole'); -$id_modulo_impianti = (new Module())->getByName('Impianti')->id_record; -$modulo_checklist = Module::find((new Module())->getByName('Checklists')->id_record); - -// Salvo gli impianti selezionati -if (filter('op') == 'link_impianti') { - $matricole_old = $dbo->fetchArray('SELECT * FROM my_impianti_interventi WHERE idintervento = '.prepare($id_record)); - $matricole_old = array_column($matricole_old, 'idimpianto'); - - // Individuazione delle matricole mancanti - foreach ($matricole_old as $matricola) { - if (!in_array($matricola, $matricole)) { - $dbo->query('DELETE FROM my_impianti_interventi WHERE idintervento='.prepare($id_record).' AND idimpianto = '.prepare($matricola)); - Check::deleteLinked([ - 'id_module' => $id_module, - 'id_record' => $id_record, - 'id_module_from' => $id_modulo_impianti, - 'id_record_from' => $matricola, - ]); - - $components = $dbo->fetchArray('SELECT * FROM my_componenti WHERE id_impianto = '.prepare($matricola)); - if (!empty($components)) { - foreach ($components as $component) { - $dbo->query('DELETE FROM my_componenti_interventi WHERE id_componente = '.prepare($component['id']).' AND id_intervento = '.prepare($id_record)); - } - } - } - } - - foreach ($matricole as $matricola) { - if (!in_array($matricola, $matricole_old)) { - $dbo->query('INSERT INTO my_impianti_interventi(idimpianto, idintervento) VALUES('.prepare($matricola).', '.prepare($id_record).')'); - - $checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_impianti).' AND id_record = '.prepare($matricola)); - foreach ($checks_impianti as $check_impianto) { - $id_parent_new = null; - if ($check_impianto['id_parent']) { - $parent = $dbo->selectOne('zz_checks', '*', ['id' => $check_impianto['id_parent']]); - $id_parent_new = $dbo->selectOne('zz_checks', '*', ['content' => $parent['content'], 'id_module' => $id_module, 'id_record' => $id_record])['id']; - } - $check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $id_modulo_impianti, $matricola); - $check->id_module = $id_module; - $check->id_plugin = $id_plugin; - $check->note = $check_impianto['note']; - $check->save(); - } - } - } - - flash()->info(tr('Informazioni impianti salvate!')); -} elseif (filter('op') == 'link_componenti') { - $components = (array) post('componenti'); - $id_impianto = post('id_impianto'); - - $dbo->query('DELETE FROM my_componenti_interventi WHERE id_componente IN (SELECT id FROM my_componenti WHERE id_impianto = '.prepare($id_impianto).') AND id_intervento = '.prepare($id_record)); - - foreach ($components as $component) { - $dbo->query('INSERT INTO my_componenti_interventi(id_componente, id_intervento) VALUES ('.prepare($component).', '.prepare($id_record).')'); - } - - flash()->info(tr('Informazioni componenti salvate!')); -} - -// Blocco della modifica impianti se l'intervento è completato -$dati_intervento = $dbo->fetchArray('SELECT `in_statiintervento`.`is_completato` FROM `in_statiintervento` INNER JOIN `in_interventi` ON `in_statiintervento`.`id` = `in_interventi`.`idstatointervento` WHERE `in_interventi`.`id`='.prepare($id_record)); -$is_completato = $dati_intervento[0]['is_completato']; - -if ($is_completato) { - $readonly = 'readonly'; - $disabled = 'disabled'; -} else { - $readonly = ''; - $disabled = ''; -} - -/* - * Aggiunta impianti all'intervento -*/ -// Elenco impianti collegati all'intervento -$impianti = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento='.prepare($id_record)); -$impianti = !empty($impianti) ? array_column($impianti, 'idimpianto') : []; - -// Elenco sedi -$sedi = $dbo->fetchArray('SELECT id, nomesede, citta FROM an_sedi WHERE idanagrafica='.prepare($record['idanagrafica'])." UNION SELECT 0, 'Sede legale', '' ORDER BY id"); - -echo ' -
- -
-
- {[ "type": "select", "name": "matricole[]", "label": "'.tr('Impianti').'", "multiple": 1, "value": "'.implode(',', $impianti).'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.($record['idsede_destinazione'] ?: '""').'}, "extra": "'.$readonly.'", "icon-after": "add|'.$id_modulo_impianti.'|id_anagrafica='.$record['idanagrafica'].'" ]} -
-
-
-
- -
-
-
-
'; - -if (!empty($impianti)) { - // IMPIANTI - echo ' -
-
-

'.tr('Impianti soggetti ad intervento').'

-
-
- - - - - - - - - - '; - - $impianti_collegati = $dbo->fetchArray('SELECT * FROM my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto = my_impianti.id WHERE idintervento = '.prepare($id_record)); - foreach ($impianti_collegati as $impianto) { - $checks = Check::where('id_module_from', $id_modulo_impianti)->where('id_record_from', $impianto['id'])->where('id_module', $id_module)->where('id_record', $id_record)->where('id_parent', null)->get(); - - $type = 'muted'; - $class = 'disabled'; - $icon = 'circle-o'; - $icon2 = 'remove'; - if (sizeof($checks)) { - $class = ''; - $icon = 'plus'; - $checks_not_verified = $checks->where('checked_at', null)->count(); - $type = $checks_not_verified ? 'warning' : 'success'; - $icon2 = $checks_not_verified ? 'clock-o' : 'check'; - } - echo ' - - - - - - - - - - - - - '; - } - echo ' -
'.tr('Matricola').''.tr('Nome').''.tr('Data').''.tr('Descrizione').''.tr("Componenti soggetti all'intervento").'Checklist
- - - '.$impianto['matricola'].''.Modules::link('Impianti', $impianto['id'], $impianto['nome']).''.Translator::dateToLocale($impianto['data']).''.$impianto['descrizione'].' -
- - '; - - $inseriti = $dbo->fetchArray('SELECT * FROM my_componenti_interventi WHERE id_intervento = '.prepare($id_record)); - $ids = array_column($inseriti, 'id_componente'); - - echo ' - {[ "type": "select", "multiple": 1, "name": "componenti[]", "id": "componenti_'.$impianto['id'].'", "ajax-source": "componenti", "select-options": {"matricola": '.$impianto['id'].'}, "value": "'.implode(',', $ids).'", "readonly": "'.!empty($readonly).'", "disabled": "'.!empty($disabled).'", "icon-after": "" ]} -
-
- - '; - foreach ($checks as $check) { - echo renderChecklist($check); - } - echo ' - -
-
-
-
'; -} else { - echo ' -
- '.tr('Nessun impianto collegato a questo intervento').' -
'; -} - -echo ' -'; - -echo ' - - -'; diff --git a/plugins/impianti_intervento/row-impianti.php b/plugins/impianti_intervento/row-impianti.php index 4919d7ea3..58b122321 100644 --- a/plugins/impianti_intervento/row-impianti.php +++ b/plugins/impianti_intervento/row-impianti.php @@ -23,7 +23,7 @@ use Modules\Checklists\Check; use Models\Module; $id_modulo_impianti = (new Module())->getByName('Impianti')->id_record; -$checklist_module = Module::find((new Module())->getByName('Checklist')->id_record); +$checklist_module = Module::find((new Module())->getByName('Checklists')->id_record); // Blocco della modifica impianti se l'intervento è completato $dati_intervento = $dbo->fetchArray('SELECT `in_statiintervento`.`is_completato` FROM `in_statiintervento` INNER JOIN `in_interventi` ON `in_statiintervento`.`id` = `in_interventi`.`idstatointervento` WHERE `in_interventi`.`id`='.prepare($id_record)); $is_completato = $dati_intervento[0]['is_completato'];