Kaynağa Gözat

entrate - fix anno corrispondenza (Luca)

ferrari 11 saat önce
ebeveyn
işleme
664f550cfc
1 değiştirilmiş dosya ile 24 ekleme ve 4 silme
  1. 24 4
      app/Http/Livewire/RecordIN.php

+ 24 - 4
app/Http/Livewire/RecordIN.php

@@ -449,11 +449,31 @@ class RecordIN extends Component
                 {
                     $this->rows[0]["when"][$idx]["month"] = $m;
 
-                    if ((date("n") + 7) > env('FISCAL_YEAR_MONTH_TO', 1)) { // mese attuale nel primo periodo fiscale [9-12]
-                        $this->rows[0]["when"][$idx]["year"] = $m < env('FISCAL_YEAR_MONTH_TO', 1) ? (date("Y") + 1) : date("Y");
-                    } else { // mese attuale nel secondo periodo fiscale [1-8]
-                        $this->rows[0]["when"][$idx]["year"] = $m < env('FISCAL_YEAR_MONTH_TO', 1) ? date("Y") : (date("Y") - 1);
+                    $currentYear  = date('Y');
+                    $currentMonth = date('n');
+                     // L'anno fiscale "corrente" (anno di fine) in base ad oggi
+                    // Se siamo da Sep(9) a Dec(12), l'FY finisce l'anno prossimo.
+                    $currentFY = ($currentMonth >= env('FISCAL_YEAR_MONTH_FROM', 1)) ? ($currentYear + 1) : $currentYear;
+
+                    // Se il mese richiesto è Sep-Dec, appartiene all'FY "successivo" rispetto a Jan-Aug.
+                    // Rispetto all'FY corrente, i mesi Sep-Dec sono nel "blocco" che può essere
+                    // dell'anno fiscale corrente o del prossimo, a seconda di dove siamo oggi.
+                    $requestedIsSepToDec = ($m >= env('FISCAL_YEAR_MONTH_FROM', 1));
+
+                    // Se oggi siamo Jan-Aug (FY = anno corrente) e chiedi Sep-Dec,
+                    // allora stai chiedendo l'inizio del prossimo FY.
+                    if ($currentMonth <= env('FISCAL_YEAR_MONTH_TO', 1) && $requestedIsSepToDec) {
+                        $this->rows[0]["when"][$idx]["year"] = $currentFY + 1;
                     }
+                    else {
+                        $this->rows[0]["when"][$idx]["year"] = $currentFY;
+                    }
+
+                    // if ((date("n") + 7) > env('FISCAL_YEAR_MONTH_TO', 1)) { // mese attuale nel primo periodo fiscale [9-12]
+                    //     $this->rows[0]["when"][$idx]["year"] = $m < env('FISCAL_YEAR_MONTH_TO', 1) ? (date("Y") + 1) : date("Y");
+                    // } else { // mese attuale nel secondo periodo fiscale [1-8]
+                    //     $this->rows[0]["when"][$idx]["year"] = $m < env('FISCAL_YEAR_MONTH_TO', 1) ? date("Y") : (date("Y") - 1);
+                    // }
 
                     if ($idx > 0)
                     {