$ordiniservizio) { $data_scadenza = date_create_from_format('Ym', $data_scadenza)->format(Intl\Formatter::getStandardFormats()['date']); // Ogni data può avere più voci di servizio da salvare foreach ($ordiniservizio as $n => $idvoce) { // Aggiunta ordine di servizio solo se la voce è spuntata if (in_array($idvoce, $post['idvoce'])) { // Creazione ordine di servizio per data di scadenza if ($prev_data != $data_scadenza) { $dbo->query('INSERT INTO co_ordiniservizio(idcontratto, data_scadenza, idimpianto, stato) VALUES('.prepare($id_record).', '.prepare($data_scadenza).', '.prepare($post['matricola']).", 'aperto')"); $idordineservizio = $dbo->lastInsertedID(); } $dbo->query('INSERT INTO co_ordiniservizio_vociservizio(idordineservizio, voce, categoria, eseguito) VALUES('.prepare($idordineservizio).', (SELECT descrizione FROM in_vociservizio WHERE id='.prepare($idvoce).'), (SELECT categoria FROM in_vociservizio WHERE id='.prepare($idvoce).'), 0 )'); } $prev_data = $data_scadenza; } } $_SESSION['infos'][] = tr('Ordini di servizio generati correttamente!'); } // Eliminazione pianificazione specifica elseif (get('op') == 'del_ordineservizio') { $idordineservizio = $get['idordineservizio']; $n = $dbo->fetchNum('SELECT id FROM co_ordiniservizio WHERE id='.prepare($idordineservizio)." AND stato='aperto'"); if ($n == 1) { // Eliminazione ordine di servizio if ($dbo->query('DELETE FROM co_ordiniservizio WHERE id='.prepare($idordineservizio))) { // Eliminazione voci di servizio collegate $dbo->query('DELETE FROM co_ordiniservizio_vociservizio WHERE idordineservizio='.prepare($idordineservizio)); $_SESSION['infos'][] = tr('Ordine di servizio eliminato correttamente!'); } } // Non si può eliminare l'ordine di servizio perché è chiuso else { $_SESSION['infos'][] = tr('Ordine di servizio già chiuso, impossibile eliminarlo!'); } } echo '
'.tr('Qui puoi programmare gli ordini di servizio del contratto').'.
'; /* Ordini di servizio pianificati */ // (SELECT idsede FROM my_impianti WHERE idimpianto=co_ordiniservizio.idimpianto) $rs = $dbo->fetchArray("SELECT *, (SELECT CONCAT_WS(' ', nomesede, citta) FROM an_sedi WHERE id=(SELECT idsede FROM my_impianti WHERE idimpianto=co_ordiniservizio.idimpianto LIMIT 0,1)) AS sede, (SELECT CONCAT_WS(' - ', matricola, nome) FROM my_impianti WHERE id=co_ordiniservizio.idimpianto) AS impianto, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=co_ordiniservizio.idintervento) AS data_intervento FROM co_ordiniservizio WHERE idcontratto=".prepare($id_record).' ORDER BY data_scadenza ASC'); if (empty($rs)) { echo ''.tr('Non sono ancora stati pianificati ordini di servizio').'...
'; } else { echo ''.tr('Non sono ancora state inserite voci di servizio').'. '.tr('Inizia ora').'...
'; } // Elenco voci di servizio con mesi in cui eseguirle else { // Calcolo mese iniziale e finale del contratto $rs2 = $dbo->fetchArray('SELECT data_accettazione, data_conclusione, TIMESTAMPDIFF(MONTH, data_accettazione, data_conclusione) AS mesi FROM co_contratti WHERE id='.prepare($id_record)); if (!empty($rs2[0]['data_accettazione']) && !empty($rs2[0]['data_conclusione'])) { $n_mesi = $rs2[0]['mesi'] + 1; $mese_start = date('m', strtotime($rs2[0]['data_accettazione'])); echo ' '; } else { echo ''.tr('Le date di accettazione e conclusione del contratto non sono ancora state impostate').'
'; } } echo '