diff --git a/plugins/pianificazione_fatturazione/edit.php b/plugins/pianificazione_fatturazione/edit.php index 7ff261094..2f154ec30 100755 --- a/plugins/pianificazione_fatturazione/edit.php +++ b/plugins/pianificazione_fatturazione/edit.php @@ -21,97 +21,99 @@ echo ' '.tr("Tutte le righe del contratto vengono convertite in righe generiche, rendendo impossibile risalire ad eventuali articoli utilizzati all'interno del contratto e pertanto non movimentando il magazzino").'. '; -$pianificazioni = $contratto->pianificazioni; -if (!$pianificazioni->isEmpty()) { - echo ' -
- - - - - - - - - - '; - - $previous = null; - foreach ($pianificazioni as $rata => $pianificazione) { +if ($contratto->pianificazioni !== NULL) { + $pianificazioni = $contratto->pianificazioni; + if (!$pianificazioni->isEmpty()) { echo ' - - '; + echo ''; - // Documento collegato + echo '
'; + } else { echo ' - '; +
+ '.tr('Pianificazione della fatturazione non impostata per questo contratto').'. +
- // Creazione fattura - echo ' - - '; + +
'; } echo ' - -
'.tr('Scadenza').''.tr('Importo').''.tr('Documento').'#
'; +
+ + + + + + + + + + '; - // Data scadenza - if (!$pianificazione->data_scadenza->equalTo($previous)) { - $previous = $pianificazione->data_scadenza; + $previous = null; + foreach ($pianificazioni as $rata => $pianificazione) { echo ' - '.ucfirst($pianificazione->data_scadenza->formatLocalized('%B %Y')).''; + + + + '; + + // Documento collegato + echo ' + '; + + // Creazione fattura + echo ' + + '; } echo ' - + +
'.tr('Scadenza').''.tr('Importo').''.tr('Documento').'#
'; + + // Data scadenza + if (!$pianificazione->data_scadenza->equalTo($previous)) { + $previous = $pianificazione->data_scadenza; + echo ' + '.ucfirst($pianificazione->data_scadenza->formatLocalized('%B %Y')).''; + } + + echo ' + + '.moneyFormat($pianificazione->totale).' + '; + $fattura = $pianificazione->fattura; + if (!empty($fattura)) { + $is_pianificato = true; + echo ' + '.Modules::link('Fatture di vendita', $fattura->id, tr('Fattura num. _NUM_ del _DATE_', [ + '_NUM_' => $fattura->numero_esterno, + '_DATE_' => dateFormat($fattura->data), + ])).' ( '.$fattura->stato->descrizione.')'; + } else { + echo ' + '.tr('Non ancora fatturato'); + } + echo ' + + +
'; -
- '.moneyFormat($pianificazione->totale).' - '; - $fattura = $pianificazione->fattura; - if (!empty($fattura)) { - $is_pianificato = true; - echo ' - '.Modules::link('Fatture di vendita', $fattura->id, tr('Fattura num. _NUM_ del _DATE_', [ - '_NUM_' => $fattura->numero_esterno, - '_DATE_' => dateFormat($fattura->data), - ])).' ( '.$fattura->stato->descrizione.')'; - } else { - echo ' - '.tr('Non ancora fatturato'); - } - echo ' - - -
'; + '; + function crea_fattura(rata){ + openModal("Crea fattura", "'.$structure->fileurl('crea_fattura.php').'?id_module='.$id_module.'&id_plugin='.$id_plugin.'&id_record='.$id_record.'&rata=" + rata); + } + '; +} \ No newline at end of file diff --git a/plugins/pianificazione_interventi/edit.php b/plugins/pianificazione_interventi/edit.php index 1c574a02f..b9a9adc7c 100755 --- a/plugins/pianificazione_interventi/edit.php +++ b/plugins/pianificazione_interventi/edit.php @@ -8,184 +8,187 @@ use Modules\Contratti\Stato; $contratto = Contratto::find($id_record); $is_pianificabile = $contratto->stato->is_pianificabile && !empty($contratto['data_accettazione']); // Contratto permette la pianificazione -$elenco_promemoria = $contratto->promemoria->sortBy('data_richiesta'); +if ($contratto->promemoria !== NULL) { + $elenco_promemoria = $contratto->promemoria->sortBy('data_richiesta'); -$stati_pianificabili = Stato::where('is_pianificabile', 1)->get(); -$elenco_stati = $stati_pianificabili->implode('descrizione', ', '); -echo ' -

'.tr('Puoi pianificare dei "promemoria" o direttamente gli interventi da effettuare entro determinate scadenze').'. '.tr('Per poter pianificare i promemoria, il contratto deve avere data accettazione e data conclusione definita ed essere in uno dei seguenti stati: _LINK_', [ - '_LINK_' => ''.$elenco_stati.'', -]).' + $stati_pianificabili = Stato::where('is_pianificabile', 1)->get(); + $elenco_stati = $stati_pianificabili->implode('descrizione', ', '); - - -

'; - -echo ' -
-
-
- {[ "type": "select", "placeholder": "'.tr('Tipo di promemoria').'", "name": "id_tipo_promemoria", "required": 1, "ajax-source": "tipiintervento", "class": "unblockable" ]} -
- -
- -
-
-
'; - -// Nessun intervento pianificato -if (!$elenco_promemoria->isEmpty()) { echo ' - - - - - - - - - - - - - - - '; +

'.tr('Puoi pianificare dei "promemoria" o direttamente gli interventi da effettuare entro determinate scadenze').'. '.tr('Per poter pianificare i promemoria, il contratto deve avere data accettazione e data conclusione definita ed essere in uno dei seguenti stati: _LINK_', [ + '_LINK_' => ''.$elenco_stati.'', + ]).' - // Elenco promemoria - foreach ($elenco_promemoria as $promemoria) { - // Sede - if ($promemoria['idsede'] == '-1') { - echo '- '.tr('Nessuna').' -'; - } elseif (empty($promemoria['idsede'])) { - $info_sede = tr('Sede legale'); - } else { - $info_sede = $dbo->fetchOne("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($promemoria->idsede))['descrizione']; - } + + +

'; - // Intervento svolto - $intervento = $promemoria->intervento; - if (!empty($intervento)) { - $info_intervento = Modules::link('Interventi', $intervento['id'], tr('Intervento num. _NUM_ del _DATE_', [ - '_NUM_' => $intervento->codice, - '_DATE_' => dateFormat($intervento->data_richiesta), - ])); + echo ' +
+
+
+ {[ "type": "select", "placeholder": "'.tr('Tipo di promemoria').'", "name": "id_tipo_promemoria", "required": 1, "ajax-source": "tipiintervento", "class": "unblockable" ]} +
- $disabled = 'disabled'; - $title = 'Per eliminare il promemoria, eliminare prima l\'intervento associato.'; - } else { - $info_intervento = '- '.('Nessuno').' -'; - $disabled = ''; - $title = 'Elimina promemoria...'; - } - - // data_conclusione contratto - if (date('Y', strtotime($contratto['data_conclusione'])) < 1971) { - $contratto['data_conclusione'] = ''; - } - - // Informazioni sugli impianti - $info_impianti = ''; - if (!empty($promemoria['idimpianti'])) { - $impianti = $dbo->fetchArray('SELECT id, matricola, nome FROM my_impianti WHERE id IN ('.($promemoria['idimpianti']).')'); - - foreach ($impianti as $impianto) { - $info_impianti .= Modules::link('MyImpianti', $impianto['id'], tr('_NOME_ (_MATRICOLA_)', [ - '_NOME_' => $impianto['nome'], - '_MATRICOLA_' => $impianto['matricola'], - ])).'
'; - } - } - - // Informazioni sulle righe - $info_righe = ''; - $righe = $promemoria->getRighe(); - foreach ($righe as $riga) { - $info_righe .= tr('_QTA_ _UM_ x _DESC_', [ - '_DESC_' => ($riga->isArticolo() ? Modules::link('Articoli', $riga['idarticolo'], $riga['descrizione']) : $riga['descrizione']), - '_QTA_' => Translator::numberToLocale($riga['qta']), - '_UM_' => $riga['um'], - ]).'
'; - } - - // Informazioni sugli allegati - $info_allegati = ''; - $allegati = $promemoria->uploads(); - foreach ($allegati as $allegato) { - $info_allegati .= tr(' _NOME_ (_ORIGINAL_)', [ - '_ORIGINAL_' => $allegato['original_name'], - '_NOME_' => $allegato['name'], - ]).'
'; - } +
+ +
+
+
'; + // Nessun intervento pianificato + if (!$elenco_promemoria->isEmpty()) { echo ' +
'.tr('Data').''.tr('Tipo intervento').''.tr('Descrizione').''.tr('Intervento').''.tr('Sede').''.tr('Impianti').''.tr('Materiali').''.tr('Allegati').''.tr('Opzioni').'
+ - - - - - - - - - + + + + + + + + + + + '; - + // Elenco promemoria + foreach ($elenco_promemoria as $promemoria) { + // Sede + if ($promemoria['idsede'] == '-1') { + echo '- '.tr('Nessuna').' -'; + } elseif (empty($promemoria['idsede'])) { + $info_sede = tr('Sede legale'); + } else { + $info_sede = $dbo->fetchOne("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($promemoria->idsede))['descrizione']; + } - + // Intervento svolto + $intervento = $promemoria->intervento; + if (!empty($intervento)) { + $info_intervento = Modules::link('Interventi', $intervento['id'], tr('Intervento num. _NUM_ del _DATE_', [ + '_NUM_' => $intervento->codice, + '_DATE_' => dateFormat($intervento->data_richiesta), + ])); - - - '; - } - echo ' - -
'.Translator::dateToLocale($promemoria['data_richiesta']).''.$promemoria['tipointervento'].''.nl2br($promemoria['richiesta']).''.$info_intervento.''.$info_sede.''.$info_impianti.''.$info_righe.''.$info_allegati.' + '.tr('Data').''.tr('Tipo intervento').''.tr('Descrizione').''.tr('Intervento').''.tr('Sede').''.tr('Impianti').''.tr('Materiali').''.tr('Allegati').''.tr('Opzioni').'
'; + $disabled = 'disabled'; + $title = 'Per eliminare il promemoria, eliminare prima l\'intervento associato.'; + } else { + $info_intervento = '- '.('Nessuno').' -'; + $disabled = ''; + $title = 'Elimina promemoria...'; + } - if (!empty($promemorias)) { + // data_conclusione contratto + if (date('Y', strtotime($contratto['data_conclusione'])) < 1971) { + $contratto['data_conclusione'] = ''; + } + + // Informazioni sugli impianti + $info_impianti = ''; + if (!empty($promemoria['idimpianti'])) { + $impianti = $dbo->fetchArray('SELECT id, matricola, nome FROM my_impianti WHERE id IN ('.($promemoria['idimpianti']).')'); + + foreach ($impianti as $impianto) { + $info_impianti .= Modules::link('MyImpianti', $impianto['id'], tr('_NOME_ (_MATRICOLA_)', [ + '_NOME_' => $impianto['nome'], + '_MATRICOLA_' => $impianto['matricola'], + ])).'
'; + } + } + + // Informazioni sulle righe + $info_righe = ''; + $righe = $promemoria->getRighe(); + foreach ($righe as $riga) { + $info_righe .= tr('_QTA_ _UM_ x _DESC_', [ + '_DESC_' => ($riga->isArticolo() ? Modules::link('Articoli', $riga['idarticolo'], $riga['descrizione']) : $riga['descrizione']), + '_QTA_' => Translator::numberToLocale($riga['qta']), + '_UM_' => $riga['um'], + ]).'
'; + } + + // Informazioni sugli allegati + $info_allegati = ''; + $allegati = $promemoria->uploads(); + foreach ($allegati as $allegato) { + $info_allegati .= tr(' _NOME_ (_ORIGINAL_)', [ + '_ORIGINAL_' => $allegato['original_name'], + '_NOME_' => $allegato['name'], + ]).'
'; + } + + echo ' + + '.Translator::dateToLocale($promemoria['data_richiesta']).' + '.$promemoria['tipointervento'].' + '.nl2br($promemoria['richiesta']).' + '.$info_intervento.' + '.$info_sede.' + '.$info_impianti.' + '.$info_righe.' + '.$info_allegati.' + + + + + + + + + '; + } echo ' -
-
- -
'; + + '; + + if (!empty($promemorias)) { + echo ' +
+
+ +
'; + } + } else { + echo ' +
+ '.tr('Nessun promemoria pianificato per il contratto corrente').'. +
'; } -} else { + echo ' -
- '.tr('Nessun promemoria pianificato per il contratto corrente').'. -
'; -} + '; + '; +} \ No newline at end of file