Roberto Santini 3 недель назад
Родитель
Сommit
7657349152
2 измененных файлов: 19 добавлений и 15 удалений
  1. 5
    1
      app/Services/FatturaFicService.php
  2. 14
    14
      app/Services/FatturazioneGeneraService.php

+ 5
- 1
app/Services/FatturaFicService.php Просмотреть файл

155
                 'due_date' => $scadenza,
155
                 'due_date' => $scadenza,
156
                 'status' => 'not_paid',
156
                 'status' => 'not_paid',
157
             ]],
157
             ]],
158
-            'e_invoice' => false,
158
+            'e_invoice' => true,
159
         ];
159
         ];
160
 
160
 
161
         if ($fattura->periodo_da && $fattura->periodo_a) {
161
         if ($fattura->periodo_da && $fattura->periodo_a) {
196
         if (filled($measure)) {
196
         if (filled($measure)) {
197
             $item['measure'] = mb_substr((string) $measure, 0, 20);
197
             $item['measure'] = mb_substr((string) $measure, 0, 20);
198
         }
198
         }
199
+        $description = trim((string) $riga->nota);
200
+        if ($description !== '' && $description !== 'Senza contratto né ordine') {
201
+            $item['description'] = mb_substr($description, 0, 1000);
202
+        }
199
 
203
 
200
         return $item;
204
         return $item;
201
     }
205
     }

+ 14
- 14
app/Services/FatturazioneGeneraService.php Просмотреть файл

577
         if ($allocazione['minuti_fatturare'] > 0 && $tipoTempo) {
577
         if ($allocazione['minuti_fatturare'] > 0 && $tipoTempo) {
578
             $cliente['voci'][] = [
578
             $cliente['voci'][] = [
579
                 'tipo' => $tipoTempo,
579
                 'tipo' => $tipoTempo,
580
-                'descrizione' => $segnalazione->getNumeroLabel().' — '.$segnalazione->titolo,
580
+                'descrizione' => $this->titoloSegnalazione($segnalazione),
581
                 'quantita' => round($allocazione['minuti_fatturare'] / 60, 2),
581
                 'quantita' => round($allocazione['minuti_fatturare'] / 60, 2),
582
                 'unita_misura' => 'ora',
582
                 'unita_misura' => 'ora',
583
                 'prezzo_unitario' => $allocazione['tariffa'],
583
                 'prezzo_unitario' => $allocazione['tariffa'],
592
                 'prodotto_id' => null,
592
                 'prodotto_id' => null,
593
                 'periodo_da' => null,
593
                 'periodo_da' => null,
594
                 'periodo_a' => null,
594
                 'periodo_a' => null,
595
-                'nota' => $allocazione['note'],
595
+                'nota' => $segnalazione->getNumeroLabel(),
596
             ];
596
             ];
597
         }
597
         }
598
         if ($allocazione['importo_spesa'] > 0) {
598
         if ($allocazione['importo_spesa'] > 0) {
599
-            $descSpesa = trim((string) $annotazione->costo_descrizione);
600
             $cliente['voci'][] = [
599
             $cliente['voci'][] = [
601
                 'tipo' => FatturaRiga::TIPO_SPESA,
600
                 'tipo' => FatturaRiga::TIPO_SPESA,
602
-                'descrizione' => 'Spesa '.$segnalazione->getNumeroLabel().($descSpesa !== '' ? ' — '.$descSpesa : ''),
601
+                'descrizione' => $this->titoloSegnalazione($segnalazione),
603
                 'quantita' => 1,
602
                 'quantita' => 1,
604
                 'unita_misura' => 'forfait',
603
                 'unita_misura' => 'forfait',
605
                 'prezzo_unitario' => $allocazione['importo_spesa'],
604
                 'prezzo_unitario' => $allocazione['importo_spesa'],
614
                 'prodotto_id' => null,
613
                 'prodotto_id' => null,
615
                 'periodo_da' => null,
614
                 'periodo_da' => null,
616
                 'periodo_a' => null,
615
                 'periodo_a' => null,
617
-                'nota' => null,
616
+                'nota' => $segnalazione->getNumeroLabel(),
618
             ];
617
             ];
619
         }
618
         }
620
         if ($importoUscita > 0) {
619
         if ($importoUscita > 0) {
621
             $cliente['voci'][] = [
620
             $cliente['voci'][] = [
622
                 'tipo' => FatturaRiga::TIPO_USCITA,
621
                 'tipo' => FatturaRiga::TIPO_USCITA,
623
-                'descrizione' => 'Costo d\'uscita '.$segnalazione->getNumeroLabel().' — '.$segnalazione->titolo,
622
+                'descrizione' => $this->titoloSegnalazione($segnalazione),
624
                 'quantita' => 1,
623
                 'quantita' => 1,
625
                 'unita_misura' => 'forfait',
624
                 'unita_misura' => 'forfait',
626
                 'prezzo_unitario' => $importoUscita,
625
                 'prezzo_unitario' => $importoUscita,
635
                 'prodotto_id' => null,
634
                 'prodotto_id' => null,
636
                 'periodo_da' => null,
635
                 'periodo_da' => null,
637
                 'periodo_a' => null,
636
                 'periodo_a' => null,
638
-                'nota' => 'Costo d\'uscita',
637
+                'nota' => $segnalazione->getNumeroLabel(),
639
             ];
638
             ];
640
         }
639
         }
641
 
640
 
1202
             if ($qty <= 0) {
1201
             if ($qty <= 0) {
1203
                 $qty = 1;
1202
                 $qty = 1;
1204
             }
1203
             }
1205
-            if ($ore) {
1206
-                $descrizione = $tipoSegnalazione;
1207
-            } elseif ($tipo === FatturaRiga::TIPO_SPESA) {
1208
-                $descrizione = 'Spesa — '.$tipoSegnalazione;
1209
-            } else {
1210
-                $descrizione = 'Costo d\'uscita — '.$tipoSegnalazione;
1211
-            }
1204
+            $descrizione = $tipoSegnalazione;
1212
             $resto[] = [
1205
             $resto[] = [
1213
                 'tipo' => $ore ? FatturaRiga::TIPO_TEMPO : $tipo,
1206
                 'tipo' => $ore ? FatturaRiga::TIPO_TEMPO : $tipo,
1214
                 'descrizione' => $descrizione,
1207
                 'descrizione' => $descrizione,
1232
         return $resto;
1225
         return $resto;
1233
     }
1226
     }
1234
 
1227
 
1228
+    protected function titoloSegnalazione($segnalazione): string
1229
+    {
1230
+        $titolo = trim((string) ($segnalazione->titolo ?? ''));
1231
+
1232
+        return $titolo !== '' ? $titolo : 'Ticket';
1233
+    }
1234
+
1235
     /**
1235
     /**
1236
      * @param  array<int, array<string, mixed>>  $voci
1236
      * @param  array<int, array<string, mixed>>  $voci
1237
      * @return array<int, array{annotazione_id: int, titolo: string, data: string, minuti_ticket: int, minuti_fatturati: int, uscita: ?float}>
1237
      * @return array<int, array{annotazione_id: int, titolo: string, data: string, minuti_ticket: int, minuti_fatturati: int, uscita: ?float}>

Загрузка…
Отмена
Сохранить