diff --git a/backend/app/service/BusinessTripService.php b/backend/app/service/BusinessTripService.php index 19e8229..3292e24 100644 --- a/backend/app/service/BusinessTripService.php +++ b/backend/app/service/BusinessTripService.php @@ -718,7 +718,7 @@ class BusinessTripService /** * 获取默认审批人和抄送人 - * 从审批流程配置表中获取 + * 从审批流程配置表中获取,如果没有配置则返回默认值 */ public function getDefaultApprovers(int $userId): array { @@ -728,9 +728,11 @@ class BusinessTripService ->first(); if (!$flow) { + // 没有配置流程时,返回默认审批人和抄送人 + $defaultApprovers = $this->getDefaultApproversFromConfig(); return [ - 'approvers' => [], - 'cc_users' => [], + 'approvers' => $defaultApprovers['approvers'], + 'cc_users' => $defaultApprovers['cc_users'], ]; } @@ -781,4 +783,60 @@ class BusinessTripService '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, + ]; + } }