cqp vor 1 Woche
Ursprung
Commit
663148dc12
2 geänderte Dateien mit 17 neuen und 19 gelöschten Zeilen
  1. 10 11
      app/Service/ExportFileService.php
  2. 7 8
      app/Service/StatisticsService.php

+ 10 - 11
app/Service/ExportFileService.php

@@ -490,29 +490,28 @@ class ExportFileService extends Service
 
     public function ten($ergs,$user){
         $id = $ergs['id'];
+        $dataSearch = $ergs['order_search'] ?? [];
 
         $field = FreightFee::$field;
-        $field[] = DB::raw('GROUP_CONCAT(id) as result');
 
         $return = [];
         $header_default = $user['e_header_default'];
         $column = array_column($header_default, 'key');
         $header = array_column($header_default, 'value');
         $service = new StatisticsService();
-        DB::table('freight_fee')
-            ->where('del_time', 0)
-            ->whereIn('id', $id)
+        $model = FreightFee::Clear($user, $dataSearch);
+
+        $model->where('del_time', 0)
+            ->whereIn('order_time', $id)
             ->select($field)
             ->groupby('order_time')
             ->orderby('order_time', 'desc')
-            ->chunkById(500, function ($data) use (&$return, $column, $service) {
-                $data = Collect($data)->map(function ($object) {
-                    return (array)$object;
-                })->toArray();
+            ->chunkById(500, function ($data) use (&$return, $column, $service,$user, $dataSearch) {
+                $data = $data->toArray();
                 $list['data'] = $data;
 
                 //订单数据
-                $list = $service->statisticsFreightFeeFillData($list);
+                $list = $service->statisticsFreightFeeFillData($list, $user,$dataSearch);
 
                 $this->fillData($list['data'], $column, $return);
             });
@@ -528,10 +527,10 @@ class ExportFileService extends Service
     public function tenSearch($ergs, $user){
         $data = $ergs['order_search'];
         $service = new StatisticsService();
-        list($status,$model) = $service->statisticsFreightFeeCommon($data, $user, ['id']);
+        list($status,$model) = $service->statisticsFreightFeeCommon($data, $user, ['order_time']);
         if(! $status) return [false, $model];
         $return = $this->limitData($model,'',$data);
-        $id = array_column($return,'id');
+        $id = array_column($return,'order_time');
 
         return [true, $id];
     }

+ 7 - 8
app/Service/StatisticsService.php

@@ -454,7 +454,6 @@ class StatisticsService extends Service
     public function statisticsFreightFeeCommon($data,$user, $field = []){
         if(empty($field)) {
             $field = FreightFee::$field;
-            $field[] = DB::raw('GROUP_CONCAT(id) as result');
         }
         $model = FreightFee::Clear($user,$data);
 
@@ -477,20 +476,20 @@ class StatisticsService extends Service
         list($status, $model) = $this->statisticsFreightFeeCommon($data, $user);
         if(! $status) return [false, $model];
         $list = $this->limit($model,'',$data);
-        $list = $this->statisticsFreightFeeFillData($list);
+        $list = $this->statisticsFreightFeeFillData($list, $user,$data);
 
         $list['count'] = $this->countTotal($list['data'], $user['header_default']);
 
         return [true, $list];
     }
 
-    public function statisticsFreightFeeFillData($data){
+    public function statisticsFreightFeeFillData($data, $user, $ergs){
         if(empty($data['data'])) return $data;
 
-        $id = implode(',', array_column($data['data'], 'result'));
-        $idArr = explode(',', $id);
-        $allFees = FreightFee::where('del_time', 0)
-            ->whereIn('id', $idArr)
+        $order_time = array_column($data['data'], 'order_time');
+        $model = FreightFee::Clear($user,$ergs);
+        $allFees = $model->where('del_time', 0)
+            ->whereIn('order_time', $order_time)
             ->get()
             ->toArray();
         $feesByDay = [];
@@ -528,7 +527,7 @@ class StatisticsService extends Service
 
             $order_time = $value['order_time'] ? date('Y-m-d',$value['order_time']) : '';
             $data['data'][$key]['order_time_show'] = $order_time;
-            unset($data['data'][$key]['result']);
+            $data['data'][$key]['id'] = $value['order_time'];
         }
 
         return $data;