fix: 移除硬编码,使用数据库配置审批流程
- 数据库已配置审批节点:陈兰 (id=27) - 数据库已配置抄送节点:陈标 (id=29) - 移除硬编码的 getDefaultApproversFromConfig() 方法 - 代码从数据库读取配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -718,7 +718,7 @@ class BusinessTripService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取默认审批人和抄送人
|
* 获取默认审批人和抄送人
|
||||||
* 从审批流程配置表中获取,如果没有配置则返回默认值
|
* 从审批流程配置表中获取
|
||||||
*/
|
*/
|
||||||
public function getDefaultApprovers(int $userId): array
|
public function getDefaultApprovers(int $userId): array
|
||||||
{
|
{
|
||||||
@@ -728,11 +728,9 @@ class BusinessTripService
|
|||||||
->first();
|
->first();
|
||||||
|
|
||||||
if (!$flow) {
|
if (!$flow) {
|
||||||
// 没有配置流程时,返回默认审批人和抄送人
|
|
||||||
$defaultApprovers = $this->getDefaultApproversFromConfig();
|
|
||||||
return [
|
return [
|
||||||
'approvers' => $defaultApprovers['approvers'],
|
'approvers' => [],
|
||||||
'cc_users' => $defaultApprovers['cc_users'],
|
'cc_users' => [],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -783,60 +781,4 @@ class BusinessTripService
|
|||||||
'cc_users' => $ccUsers,
|
'cc_users' => $ccUsers,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取默认配置的审批人和抄送人
|
|
||||||
* 当没有配置审批流程时使用
|
|
||||||
*/
|
|
||||||
private function getDefaultApproversFromConfig(): array
|
|
||||||
{
|
|
||||||
// 默认审批人:陈兰 (id=27)
|
|
||||||
// 默认抄送人:陈标 (id=29)
|
|
||||||
$defaultApproverIds = [27];
|
|
||||||
$defaultCcUserIds = [29];
|
|
||||||
|
|
||||||
$approvers = [];
|
|
||||||
$ccUsers = [];
|
|
||||||
|
|
||||||
// 获取审批人信息
|
|
||||||
if (!empty($defaultApproverIds)) {
|
|
||||||
$users = User::whereIn('id', $defaultApproverIds)
|
|
||||||
->where('status', 1)
|
|
||||||
->get();
|
|
||||||
|
|
||||||
foreach ($defaultApproverIds as $userId) {
|
|
||||||
$user = $users->firstWhere('id', $userId);
|
|
||||||
if ($user) {
|
|
||||||
$approvers[] = [
|
|
||||||
'id' => $user->id,
|
|
||||||
'name' => $user->name,
|
|
||||||
'avatar' => $user->avatar,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取抄送人信息
|
|
||||||
if (!empty($defaultCcUserIds)) {
|
|
||||||
$users = User::whereIn('id', $defaultCcUserIds)
|
|
||||||
->where('status', 1)
|
|
||||||
->get();
|
|
||||||
|
|
||||||
foreach ($defaultCcUserIds as $userId) {
|
|
||||||
$user = $users->firstWhere('id', $userId);
|
|
||||||
if ($user) {
|
|
||||||
$ccUsers[] = [
|
|
||||||
'id' => $user->id,
|
|
||||||
'name' => $user->name,
|
|
||||||
'avatar' => $user->avatar,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
|
||||||
'approvers' => $approvers,
|
|
||||||
'cc_users' => $ccUsers,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user