Browse Source

企业大数据

linwu 4 months ago
parent
commit
511dd974b3
2 changed files with 89 additions and 0 deletions
  1. 88 0
      app/Http/Controllers/Api/Config/BiController.php
  2. 1 0
      routes/api.php

+ 88 - 0
app/Http/Controllers/Api/Config/BiController.php

@@ -405,6 +405,94 @@ class BiController extends ApiBaseController
         return response()->json($data);
     }
 
+    public function company()
+    {
+        $data = [];
+        //企业数和岗位数
+        $company_count       = Company::where('is_jkq', 1)->count();
+        $job_count           = Jobs::whereHas('company', function ($query) {
+            $query->where('is_jkq', 1);
+        })->count();
+        $data['total_count'] = [
+            ['name' => '企业数', 'count' => $company_count],
+            ['name' => '岗位数', 'count' => $job_count]
+        ];
+
+        //企业所属行业
+        $company_trade_data  = Company::where('is_jkq', 1)->select(['trade', DB::raw('count(trade) as count')])->groupBy('trade')->get();
+        $company_trade       = [];
+        $company_trade_other = 0;
+        foreach ($company_trade_data as $v) {
+            switch ($v['trade']) {
+                case 11:
+                    $company_trade[] = ['name' => '贸易/进出口', 'count' => $v['count']];
+                    break;
+                case 13:
+                    $company_trade[] = ['name' => '消费品(食/饮/烟酒)', 'count' => $v['count']];
+                    break;
+                case 14:
+                    $company_trade[] = ['name' => '服装/纺织/皮革', 'count' => $v['count']];
+                    break;
+                case 19:
+                    $company_trade[] = ['name' => '制药/生物工程', 'count' => $v['count']];
+                    break;
+                case 21:
+                    $company_trade[] = ['name' => '医疗设备/器械', 'count' => $v['count']];
+                    break;
+                case 36:
+                    $company_trade[] = ['name' => '酒店/旅游', 'count' => $v['count']];
+                    break;
+                case 37:
+                    $company_trade[] = ['name' => '交通/运输/物流', 'count' => $v['count']];
+                    break;
+                default:
+                    $company_trade_other += $v['count'];
+                    break;
+            }
+        }
+        $company_trade[]       = ['name' => '其他', 'count' => $company_trade_other];
+        $data['company_trade'] = $company_trade;
+
+        //企业需求工种
+        $job_category_data  = Jobs::whereHas('company', function ($query) {
+            $query->where('is_jkq', 1);
+        })->select(['topclass', DB::raw('count(topclass) as count')])->groupBy('topclass')->get();
+        $job_category       = [];
+        $job_category_other = 0;
+        foreach ($job_category_data as $v) {
+            switch ($v['topclass']) {
+                case 1:
+                    $job_category[] = ['name' => '销售|市场|客服|贸易', 'count' => $v['count']];
+                    break;
+                case 74:
+                    $job_category[] = ['name' => '计算机|通信', 'count' => $v['count']];
+                    break;
+                case 96:
+                    $job_category[] = ['name' => '服装/纺织/皮革', 'count' => $v['count']];
+                    break;
+                case 116:
+                    $job_category[] = ['name' => '生产|质管|技工', 'count' => $v['count']];
+                    break;
+                case 136:
+                    $job_category[] = ['name' => '电子|电气|能源|化工', 'count' => $v['count']];
+                    break;
+                case 225:
+                    $job_category[] = ['name' => '医疗|制药|环保', 'count' => $v['count']];
+                    break;
+                case 258:
+                    $job_category[] = ['name' => '学生|社工|科研|农业|其他', 'count' => $v['count']];
+                    break;
+                default:
+                    $job_category_other += $v['count'];
+                    break;
+            }
+        }
+        $job_category[]       = ['name' => '其他', 'count' => $job_category_other];
+        $data['job_category'] = $job_category;
+
+        return response()->json($data);
+    }
+
     private function _valueToKey($arr, $key)
     {
         $res = [];

+ 1 - 0
routes/api.php

@@ -71,6 +71,7 @@ Route::group([
     $router->any('option/districts', 'Api\Config\OptionController@district')->name('config.option.district');
     $router->any('bi/jkq', 'Api\Config\BiController@jkq')->name('config.bi.jkq');
     $router->any('bi/agg', 'Api\Config\BiController@agg')->name('config.bi.agg');
+    $router->any('bi/company', 'Api\Config\BiController@company')->name('config.bi.company');
 });
 
 //CRM接口