cqp vor 1 Woche
Ursprung
Commit
e1e1e38eea
1 geänderte Dateien mit 55 neuen und 6 gelöschten Zeilen
  1. 55 6
      app/Service/ExportFileService.php

+ 55 - 6
app/Service/ExportFileService.php

@@ -4,6 +4,7 @@ namespace App\Service;
 
 use App\Exports\ExportOrder;
 use App\Model\Freight;
+use App\Model\FreightFee;
 use App\Model\GiveOut;
 use App\Model\Product;
 use App\Model\RevenueCost;
@@ -347,19 +348,19 @@ class ExportFileService extends Service
         $header_default = $user['e_header_default'];
         $column = array_column($header_default,'key');
         $header = array_column($header_default,'value');
+        $service = new GiveOutService();
         DB::table('give_out')
             ->where('del_time',0)
             ->whereIn('id', $id)
             ->select(GiveOut::$field)
             ->orderBy('id','desc')
-            ->chunkById(500,function ($data) use(&$return, $column){
+            ->chunkById(500,function ($data) use(&$return, $column, $service){
                 $data = Collect($data)->map(function ($object) {
                     return (array)$object;
                 })->toArray();
                 $list['data'] = $data;
 
                 //订单数据
-                $service = new GiveOutService();
                 $list = $service->fillData($list);
 
                 $this->fillData($list['data'], $column, $return);
@@ -394,6 +395,7 @@ class ExportFileService extends Service
         $header_default = $user['e_header_default'];
         $column = array_column($header_default, 'key');
         $header = array_column($header_default, 'value');
+        $service = new StatisticsService();
         DB::table('employee_index')
             ->where('employee_index.del_time', 0)
             ->whereIn('employee_index.id', $id)
@@ -409,14 +411,13 @@ class ExportFileService extends Service
             ->select($field)
             ->groupBy('employee_index.employee_id', 'employee_index.start_time', 'employee_index.end_time')
             ->orderBy('employee_index.end_time','desc')
-            ->chunkById(500, function ($data) use (&$return, $column) {
+            ->chunkById(500, function ($data) use (&$return, $column, $service) {
                 $data = Collect($data)->map(function ($object) {
                     return (array)$object;
                 })->toArray();
                 $list['data'] = $data;
 
                 //订单数据
-                $service = new StatisticsService();
                 $list = $service->statisticsProfitFillData($list);
 
                 $this->fillData($list['data'], $column, $return);
@@ -450,19 +451,19 @@ class ExportFileService extends Service
         $header_default = $user['e_header_default'];
         $column = array_column($header_default, 'key');
         $header = array_column($header_default, 'value');
+        $service = new StatisticsService();
         DB::table('salary_employee')
             ->where('del_time', 0)
             ->whereIn('id', $id)
             ->select($field)
             ->orderBy('order_time','desc')
-            ->chunkById(500, function ($data) use (&$return, $column) {
+            ->chunkById(500, function ($data) use (&$return, $column, $service) {
                 $data = Collect($data)->map(function ($object) {
                     return (array)$object;
                 })->toArray();
                 $list['data'] = $data;
 
                 //订单数据
-                $service = new StatisticsService();
                 $list = $service->statisticsEmployeeSalaryFillData($list);
 
                 $this->fillData($list['data'], $column, $return);
@@ -487,6 +488,54 @@ class ExportFileService extends Service
         return [true, $id];
     }
 
+    public function ten($ergs,$user){
+        $id = $ergs['id'];
+
+        $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)
+            ->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();
+                $list['data'] = $data;
+
+                //订单数据
+                $list = $service->statisticsFreightFeeFillData($list);
+
+                $this->fillData($list['data'], $column, $return);
+            });
+
+        //合计
+        $total = $this->countTotal($return, $header_default);
+        //填充合计
+        $this->fillTotalData($total, $header_default, $return);
+
+        return $this->saveExportData($return,$header);
+    }
+
+    public function tenSearch($ergs, $user){
+        $data = $ergs['order_search'];
+        $service = new StatisticsService();
+        list($status,$model) = $service->statisticsProfitCommon($data, $user, ['employee_index.id']);
+        if(! $status) return [false, $model];
+        $return = $this->limitData($model,'',$data);
+        $id = array_column($return,'id');
+
+        return [true, $id];
+    }
+
     public function saveExportData($data, $headers, $type = 'default',$file_name = ''){
         if(empty($file_name)) $file_name = self::$filename . "_". date("Y-m-d") . "_". rand(1000,9999);
         $filename =  $file_name . '.' . 'xlsx';