From 1e0ceaa66bae1c2fc394c278889d809fde8f3c0a Mon Sep 17 00:00:00 2001
From: weiz <weiz@lihai.com>
Date: Mon, 11 Dec 2023 11:25:15 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E6=89=80?=
 =?UTF-8?q?=E6=9C=89=E9=83=A8=E9=97=A8=E3=80=81=E6=89=80=E6=9C=89=E5=B2=97?=
 =?UTF-8?q?=E4=BD=8D=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/adminapi/controller/dept/DeptController.php | 16 ++++++++++++++++
 app/adminapi/controller/dept/JobsController.php | 11 +++++++++++
 app/common.php                                  |  9 +++++++++
 3 files changed, 36 insertions(+)

diff --git a/app/adminapi/controller/dept/DeptController.php b/app/adminapi/controller/dept/DeptController.php
index bc078a1db..ea5f136c8 100755
--- a/app/adminapi/controller/dept/DeptController.php
+++ b/app/adminapi/controller/dept/DeptController.php
@@ -18,7 +18,9 @@ use app\adminapi\controller\BaseAdminController;
 use app\adminapi\lists\dept\DeptLists;
 use app\adminapi\logic\dept\DeptLogic;
 use app\adminapi\validate\dept\DeptValidate;
+use app\common\model\auth\Admin;
 use app\common\model\dept\Dept;
+use app\common\model\dept\Orgs;
 
 /**
  * 部门管理控制器
@@ -107,4 +109,18 @@ class DeptController extends BaseAdminController
 		$data = Dept::field('id,name,leader,mobile,status')->where('org_id',$params['org_id'])->select()->toArray();
 		return $this->success('请求成功',$data);
 	}
+	
+	//获取所有部门
+	public function getAllDept(): \think\response\Json
+	{
+		$data = Dept::field('id,name,org_id')->select()->each(function($item){
+			$org = Orgs::field('name')->where('id',$item['org_id'])->findOrEmpty();
+			$item['org_name'] = $org->isEmpty() ? '' : $org['name'];
+			$item['admin_num'] = Admin::where('dept_id',$item['id'])->count();
+			unset($item['org_id']);
+			return $item;
+		})->toArray();
+		$result = group_by($data, 'org_name');
+		return $this->success('请求成功',$result);
+	}
 }
\ No newline at end of file
diff --git a/app/adminapi/controller/dept/JobsController.php b/app/adminapi/controller/dept/JobsController.php
index 0d28ec879..807570e75 100755
--- a/app/adminapi/controller/dept/JobsController.php
+++ b/app/adminapi/controller/dept/JobsController.php
@@ -18,6 +18,7 @@ use app\adminapi\controller\BaseAdminController;
 use app\adminapi\lists\dept\JobsLists;
 use app\adminapi\logic\dept\JobsLogic;
 use app\adminapi\validate\dept\JobsValidate;
+use app\common\model\auth\Admin;
 use app\common\model\dept\Jobs;
 
 
@@ -109,5 +110,15 @@ class JobsController extends BaseAdminController
 		$data = Jobs::field('id,name,status,sort,create_time')->where('dept_id',$params['dept_id'])->select()->toArray();
 		return $this->success('请求成功',$data);
 	}
+	
+	//获取所有岗位
+	public function getAllJobs(): \think\response\Json
+	{
+		$data = Jobs::field('id,name')->select()->each(function($item){
+			$item['admin_num'] = Admin::where('job_id',$item['id'])->count();
+			return $item;
+		})->toArray();
+		return $this->success('请求成功',$data);
+	}
 
 }
\ No newline at end of file
diff --git a/app/common.php b/app/common.php
index 1d9f5349b..218c9c287 100755
--- a/app/common.php
+++ b/app/common.php
@@ -303,3 +303,12 @@ function project_code(): string
 {
 	return 'P'.date('Ymd',time()).'-'.mt_rand(100000, 999999);
 }
+	
+function group_by($array, $key): array
+{
+	$result = [];
+	foreach ($array as $item) {
+		$result[$item[$key]][] = $item;
+	}
+	return $result;
+}