ソースを参照

Merge branch 'master' of e.coding.net:zdap/weixiu/weixiu_api into order_effective_log-m

liugc 1 年間 前
コミット
ddecceaed5

+ 13 - 2
app/adminapi/lists/master_commission/MasterWorkerCommissionNoticeLists.php

@@ -150,13 +150,24 @@ class MasterWorkerCommissionNoticeLists extends BaseAdminDataLists implements Li
     public function setExcelComplexFields(): array
     {
         $zh_cn_fields = [
-            '工程师ID','工程师编号', '工程师姓名','工程师手机号','启动时间(签约时间)', '规则天数','应达标时间','单量规则','工单数','是否达标','达标时间'
+            '工程师ID','工程师编号', '工程师姓名','工程师手机号','启动时间(签约时间)', '规则天数','应达标时间','单量规则',
+            '标签','派单数',
+            '工单数','是否达标','达标时间'
         ];
         $data_fields = ['master_worker_id','worker_number','real_name','mobile',function ($row) {
             return $row['signing_date']?date('Y-m-d H:i:s',$row['signing_date']):'';
         },'day_num',function ($row) {
             return $row['signing_date_end']?date('Y-m-d H:i:s',$row['signing_date_end']):'';
-        },'order_num','order_count',function ($row) {
+        },'order_num','labels'=>function ($row) {
+            if(!empty($row['labels'])){
+                $data_table_allLabels = array_column(\app\common\logic\TableDataLogic::allLabels(),'name','id');
+                foreach ($row['labels'] as &$val){
+                    $val = $data_table_allLabels[$val];
+                }
+                $row['labels'] = implode('、', $row['labels']);
+            }
+            return $row['labels']?:'';
+        },'allocate_num','order_count',function ($row) {
             return ($row['order_num']>$row['order_count'])? '否' : '是';
         },function ($row) {
             return ($row['order_num']>$row['order_count'])?'':($row['max_time']?date('Y-m-d H:i:s',$row['max_time']):'');

+ 31 - 0
app/adminapi/lists/master_worker/MasterWorkerServiceOrderLists.php

@@ -168,4 +168,35 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
             ->count();
     }
 
+
+    public function setExcelComplexFields(): array
+    {
+        $zh_cn_fields = [
+            '工程师ID', '服务类别', '工程师编号', '工程师姓名', '工程师手机',
+            '工程师备注', '工程师合作形式','代招人姓名', '派单数', '工程师接单数', '标签',
+            '工程师成功单','工程师失败单','工程师成交金额','工程师提成金额'
+        ];
+        $data_fields = [
+            'id', 'category_name', 'worker_number', 'real_name', 'mobile',
+            'remark', function ($row) {
+                return $row['cooperation'] == 0 ? '无' : ($row['cooperation'] == 1 ? '全日接单' : '自由接单');
+            }, 'recruiting_behalf', 'allocate_num', 'all_count', function ($row) {
+                if(!empty($row['labels'])){
+                    $data_table_allLabels = array_column(\app\common\logic\TableDataLogic::allLabels(),'name','id');
+                    foreach ($row['labels'] as &$val){
+                        $val = $data_table_allLabels[$val];
+                    }
+                    $row['labels'] = implode('、', $row['labels']);
+                }
+                return $row['labels']?:'';
+            },
+            'success_count', 'fail_count', 'work_total', 'worker_price'
+        ];
+        return [
+            'zh_cn_fields' => $zh_cn_fields,
+            'data_fields' => $data_fields
+        ];
+    }
+
+
 }

+ 1 - 1
app/api/lists/article/ArticleLists.php

@@ -81,7 +81,7 @@ class ArticleLists extends BaseApiDataLists implements ListsSearchInterface
             $orderRaw = 'click_actual + click_virtual desc, id desc';
         }
 
-        $field = 'id,cid,title,desc,image,click_virtual,click_actual,create_time';
+        $field = 'id,cid,title,desc,image,click_virtual,click_actual,create_time,content';
         $result = Article::field($field)
             ->where($this->queryWhere())
             ->where($this->searchWhere)

+ 12 - 4
app/common/service/ExcelExportService.php

@@ -24,6 +24,7 @@ use app\common\model\file\File;
 use app\common\model\financial\FinancialPaymentRecords;
 use app\common\model\goods_category\GoodsCategory;
 use app\common\model\user\User;
+use app\common\model\works\ServiceWorkAllocateWorkerLog;
 use app\common\service\storage\Driver as StorageDriver;
 use excel\ExcelWriter;
 use Exception;
@@ -53,7 +54,7 @@ class ExcelExportService
                 $this->infoExport = $infoExport;
                 switch ($infoExport['download_type']){
                     case 1:
-                    case 2:
+                    //case 2:
                     case 3:
                         if(!method_exists($this,$download_fun)){
                             throw new Exception('下载不存在-1001');
@@ -144,7 +145,7 @@ class ExcelExportService
     /**
      * @notes 工程师 -工单统计 导出
      */
-    public function MasterWorkerServiceOrderDownload($infoExport)
+    /*public function MasterWorkerServiceOrderDownload($infoExport)
     {
         try{
             $filename = $infoExport['name'];
@@ -181,7 +182,7 @@ 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.category_ids',
+                'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids','a.labels','a.remark',
                 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"),
@@ -191,12 +192,19 @@ class ExcelExportService
                 ->leftJoin('service_work b', 'a.id = b.master_worker_id'.$sqlJoin)
                 ->where($where)
                 ->group('a.id')
+                ->order('a.id desc')
                 ->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')):'';
+//            }
             foreach ($lists as &$item) {
+                $item['labels'] = $item['labels']?array_map(function ($item) { return intval($item); },explode(',',$item['labels'])):'';
                 $item['category_name'] = $item['category_ids']?implode('、',array_column(get_parent_info($categoryData,explode(',',$item['category_ids'])),'name')):'';
+                $item['allocate_num'] = ServiceWorkAllocateWorkerLog::where(['master_worker_id'=>$item['id']])->count();
             }
 
+
             $this->sheet->generateExcelFile([
                 '服务类别', '工程师编号', '工程师姓名', '工程师手机', '代招人姓名', '工程师接单数', '工程师成功单','工程师失败单','工程师成交金额','工程师提成金额'
             ], $lists,$filename.'-'.$infoExport->id, ['category_name','worker_number','real_name','mobile','recruiting_behalf','all_count','success_count','fail_count','work_total','worker_price']);
@@ -208,7 +216,7 @@ class ExcelExportService
         }catch (\Exception $e){
             throw new Exception($e->getMessage());
         }
-    }
+    }*/
 
     // 权益卡编码导出
     public function UserEquityDownload($infoExport){

+ 2 - 1
config/export.php

@@ -8,11 +8,12 @@ return [
     'max_limit_length'=>50000,
     'download_type' => [
         '1' =>  'EngineerBillDownload',
-        '2' =>  'MasterWorkerServiceOrderDownload',
+        //'2' =>  'MasterWorkerServiceOrderDownload',
         '3' =>  'UserEquityDownload',
         '4' =>  'master_commission.MasterWorkerCommissionNoticeLists',
         '5' =>  'master_worker.EngineerBillLists',
         '6' =>  'sale.SaleAnalysisLists',
         '7' =>  'sale.PropertyHeadAnalysisLists',
+        '2' =>  'master_worker.MasterWorkerServiceOrderLists',
     ],
 ];