Kaynağa Gözat

fix check prima nota

FabioFratini 9 ay önce
ebeveyn
işleme
6f750cbc40
1 değiştirilmiş dosya ile 88 ekleme ve 12 silme
  1. 88 12
      app/Http/Livewire/Record.php

+ 88 - 12
app/Http/Livewire/Record.php

@@ -316,8 +316,14 @@ class Record extends Component
         $idx = 0;
         foreach($this->payments as $p)
         {
+            if ($idx >= count($letters)) {
+                break;
+            }
             $activeWorksheet->setCellValue($letters[$idx] . '1', $p->name);
             $idx++;
+            if ($idx >= count($letters)) {
+                break;
+            }
             $activeWorksheet->mergeCells($letters[$idx] . '1:' . $letters[$idx] . '1');
             $idx++;
         }
@@ -329,10 +335,36 @@ class Record extends Component
         $activeWorksheet->setCellValue('D2', "");
         foreach($this->payments as $p)
         {
-            $activeWorksheet->setCellValue($letters[$idx] . '2', "Entrate");
-            $idx++;
-            $activeWorksheet->setCellValue($letters[$idx] . '2', "Uscite");
-            $idx++;
+            if($p->type == 'ALL'){
+                if ($idx >= count($letters)) {
+                    break;
+                }
+
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "Entrate");
+                $idx++;
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "Uscite");
+                $idx++;
+            }
+            elseif($p->type == 'IN'){
+                if ($idx >= count($letters)) {
+                    break;
+                }
+
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "Entrate");
+                $idx++;
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "");
+                $idx++;
+            }
+            elseif($p->type == 'OUT'){
+                if ($idx >= count($letters)) {
+                    break;
+                }
+
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "");
+                $idx++;
+                $activeWorksheet->setCellValue($letters[$idx] . '2', "Uscite");
+                $idx++;
+            }
         }
 
         $activeWorksheet->getStyle('A1:P1')->getFont()->setBold(true);
@@ -382,6 +414,10 @@ class Record extends Component
                 }
                 else
                 {
+                    if ($idx >= count($letters)) {
+                        break;
+                    }
+
                     $activeWorksheet->setCellValue($letters[$idx] . $count, "");
                     $idx++;
                     $activeWorksheet->setCellValue($letters[$idx] . $count, "");
@@ -405,17 +441,57 @@ class Record extends Component
         {
             if(isset($this->totals[$p->name]))
             {
-                $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["IN"]));
-                $idx++;
-                $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["OUT"]));
-                $idx++;
+                if($p->type == 'ALL'){
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["IN"]));
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["OUT"]));
+                    $idx++;
+                }
+                elseif($p->type == 'IN'){
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["IN"]));
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "");
+                    $idx++;
+                }
+                elseif($p->type == 'OUT'){
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "");
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, formatPrice($this->totals[$p->name]["OUT"]));
+                    $idx++;
+                }
             }
             else
             {
-                $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
-                $idx++;
-                $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
-                $idx++;
+                if($p->type == 'ALL'){
+                    if ($idx >= count($letters)) {
+                        break;
+                    }
+
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
+                    $idx++;
+                }
+                elseif($p->type == 'IN'){
+                    if ($idx >= count($letters)) {
+                        break;
+                    }
+
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "");
+                    $idx++;
+                }
+                elseif($p->type == 'OUT'){
+                    if ($idx >= count($letters)) {
+                        break;
+                    }
+
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "");
+                    $idx++;
+                    $activeWorksheet->setCellValue($letters[$idx] . $count, "0");
+                    $idx++;
+                }
             }
         }