|
|
@@ -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();
|