chenqp 1 vuosi sitten
vanhempi
commit
1c11b9be67
1 muutettua tiedostoa jossa 14 lisäystä ja 4 poistoa
  1. 14 4
      app/Service/FyyOrderService.php

+ 14 - 4
app/Service/FyyOrderService.php

@@ -225,13 +225,23 @@ class FyyOrderService extends Service
                 $data['data'][$key]['is_create'] = 0;
             }
         }
-        $data['order_quantity'] = array_sum(array_column($data['data'], 'order_quantity'));
-        $data['finished_num'] = array_sum(array_column($data['data'], 'finished_num'));
-        $data['product_quantity_on_hand'] = array_sum(array_column($data['data'], 'product_quantity_on_hand'));
-
+        $data['order_quantity'] = $this->sumWithPrecision($data['data'],'order_quantity');
+        $data['finished_num'] = $this->sumWithPrecision($data['data'],'finished_num');
+        $data['product_quantity_on_hand'] = $this->sumWithPrecision($data['data'],'product_quantity_on_hand');
         return $data;
     }
 
+    function sumWithPrecision(array $data, string $column, int $scale = 3): string
+    {
+        $sum = '0';
+        foreach ($data as $item) {
+            if (isset($item[$column])) {
+                $sum = bcadd($sum, (string)$item[$column], $scale);
+            }
+        }
+        return $sum;
+    }
+
     public function orderRule($data){
         $result = Orders::where('del_time',0)
             ->whereIn('out_order_no',array_column($data,'out_order_no'))