Explorar o código

导出新增列

liugc hai 1 ano
pai
achega
87d8a920bb
Modificáronse 1 ficheiros con 9 adicións e 3 borrados
  1. 9 3
      app/common/service/ExcelExportService.php

+ 9 - 3
app/common/service/ExcelExportService.php

@@ -20,6 +20,7 @@ use app\common\enum\FileEnum;
 use app\common\model\export\Export;
 use app\common\model\file\File;
 use app\common\model\financial\FinancialPaymentRecords;
+use app\common\model\goods_category\GoodsCategory;
 use app\common\service\storage\Driver as StorageDriver;
 use excel\ExcelWriter;
 use Exception;
@@ -187,7 +188,8 @@ class ExcelExportService
                 }
             }
             $lists =   Db::name('master_worker')->alias('a')->field([
-                'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation',
+                'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids',
+                Db::raw("COUNT(b.id) AS all_count"),
                 Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
                 Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),
                 Db::raw("SUM(b.work_total) work_total"),
@@ -197,10 +199,14 @@ class ExcelExportService
                 ->where($where)
                 ->group('a.id')
                 ->select()->toArray();
+            $categoryData = GoodsCategory::select()->toArray();
+            foreach ($lists as &$item) {
+                $item['category_name'] = $item['category_ids']?implode('、',array_column(get_parent_info($categoryData,explode(',',$item['category_ids'])),'name')):'';
+            }
             $filename = ($filename?:'').('-'.date('YmdHis').'-'.$infoExport->id);
             $this->sheet->generateExcelFile([
-                '工程师ID', '工程师编号', '工程师姓名', '工程师手机', '代招人姓名', '工程师成功单','工程师失败单','工程师成交金额','工程师提成金额'
-            ], $lists,$filename, ['id','worker_number','real_name','mobile','recruiting_behalf','success_count','fail_count','work_total','worker_price']);
+                '服务类别', '工程师编号', '工程师姓名', '工程师手机', '代招人姓名', '工程师接单数', '工程师成功单','工程师失败单','工程师成交金额','工程师提成金额'
+            ], $lists,$filename, ['category_name','worker_number','real_name','mobile','recruiting_behalf','all_count','success_count','fail_count','work_total','worker_price']);
             $infoExport->file_url = $this->sheet->fileUrl();
             $infoExport->generate_status = 1;
             $infoExport->updatetime = time();