Переглянути джерело

entrate - fix anno corrispondenza (Marco)

ferrari 1 день тому
батько
коміт
7a5f36cfef
1 змінених файлів з 45 додано та 18 видалено
  1. 45 18
      app/Http/Livewire/RecordIN.php

+ 45 - 18
app/Http/Livewire/RecordIN.php

@@ -449,25 +449,39 @@ class RecordIN extends Component
                 {
                     $this->rows[0]["when"][$idx]["month"] = $m;
 
-                    $currentYear  = date('Y');
+                    $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 ($currentMonth > env('FISCAL_YEAR_MONTH_TO', 1) && $m > env('FISCAL_YEAR_MONTH_TO', 1)) { // current 9-12 && $m 9-12
+                        $currentYear = $currentYear;
+                    } elseif ($currentMonth > env('FISCAL_YEAR_MONTH_TO', 1) && $m < env('FISCAL_YEAR_MONTH_FROM', 1)) { // current 9-12 && $m 1-8
+                        $currentYear += 1;
+                    } elseif ($currentMonth < env('FISCAL_YEAR_MONTH_FROM', 1) && $m > env('FISCAL_YEAR_MONTH_TO', 1)) { // current 1-8 && $m 9-12
+                        $currentYear -= 1;
+                    } elseif ($currentMonth < env('FISCAL_YEAR_MONTH_FROM', 1) && $m < env('FISCAL_YEAR_MONTH_FROM', 1)) { // current 1-8 && $m 1-8
+                        $currentYear = $currentYear;
                     }
+                    $this->rows[0]["when"][$idx]["year"] = $currentYear;
+
+                    // $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");
@@ -1406,8 +1420,21 @@ class RecordIN extends Component
 
     public function setYear($idx, $xxx)
     {
+        $currentYear = date('Y');
+        $currentMonth = date('n');
+
         $m = $this->rows[$idx]["when"][$xxx]["month"];
-        $this->rows[$idx]["when"][$xxx]["year"] = $m < env('FISCAL_YEAR_MONTH_FROM', 1) ? (date("Y") + 1) : date("Y");
+
+        if ($currentMonth > env('FISCAL_YEAR_MONTH_TO', 1) && $m > env('FISCAL_YEAR_MONTH_TO', 1)) { // current 9-12 && $m 9-12
+            $currentYear = $currentYear;
+        } elseif ($currentMonth > env('FISCAL_YEAR_MONTH_TO', 1) && $m < env('FISCAL_YEAR_MONTH_FROM', 1)) { // current 9-12 && $m 1-8
+            $currentYear += 1;
+        } elseif ($currentMonth < env('FISCAL_YEAR_MONTH_FROM', 1) && $m > env('FISCAL_YEAR_MONTH_TO', 1)) { // current 1-8 && $m 9-12
+            $currentYear -= 1;
+        } elseif ($currentMonth < env('FISCAL_YEAR_MONTH_FROM', 1) && $m < env('FISCAL_YEAR_MONTH_FROM', 1)) { // current 1-8 && $m 1-8
+            $currentYear = $currentYear;
+        }
+        $this->rows[$idx]["when"][$xxx]["year"] = $currentYear;
     }
 
     public function updatedNewMemberFirstName()