diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index ba62b16..2b62ec5 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -451,6 +451,62 @@ class OtherController extends CommonController // 被投企业明细 - 使用与coursesHome相同的算法 $companies = CourseSign::yhInvestedTotal(CourseType::START_DATE, $end_date, $course_ids, true); foreach ($companies as $company) { + // 获取该公司的学员信息 + // 使用与yhInvestedTotal相同的筛选逻辑:status=1,筛选course_ids和日期范围 + $userIds = $company->users()->pluck('id'); + $userCourseSigns = CourseSign::getStudentList(CourseType::START_DATE, $end_date, 1, $course_ids) + ->whereIn('user_id', $userIds) + ->with(['user', 'course.typeDetail']) + ->get(); + + // 按学员分组 + $usersData = []; + foreach ($userCourseSigns as $sign) { + $userId = $sign->user_id; + if (!isset($usersData[$userId])) { + $usersData[$userId] = [ + 'user' => $sign->user, + 'courseSigns' => [], + ]; + } + $usersData[$userId]['courseSigns'][] = $sign; + } + + // 收集所有学员的姓名、课程名称、课程体系 + $userNames = []; + $allCourseNames = []; + $allCourseTypes = []; + $totalCourseCount = 0; + + foreach ($usersData as $userData) { + $user = $userData['user']; + $courseSigns = collect($userData['courseSigns']); + + if ($courseSigns->isNotEmpty()) { + $userNames[] = $user->name ?? ''; + + // 收集课程名称 + $courseNames = $courseSigns->pluck('course.name')->filter()->unique()->values()->toArray(); + $allCourseNames = array_merge($allCourseNames, $courseNames); + + // 收集课程体系 + $courseTypes = $courseSigns->pluck('course.typeDetail.name') + ->filter() + ->unique() + ->values() + ->toArray(); + $allCourseTypes = array_merge($allCourseTypes, $courseTypes); + + // 累计报名课程数 + $totalCourseCount += $courseSigns->count(); + } + } + + // 去重并合并 + $userNamesStr = implode('、', array_filter(array_unique($userNames))); + $courseNamesStr = implode('、', array_filter(array_unique($allCourseNames))); + $courseTypesStr = implode('、', array_filter(array_unique($allCourseTypes))); + $data[] = [ 'company_name' => $company->company_name, 'company_legal_representative' => $company->company_legal_representative ?? '', @@ -461,6 +517,10 @@ class OtherController extends CommonController 'contact_mail' => $company->contact_mail ?? '', 'company_tag' => $company->company_tag ?? '', 'credit_code' => ' ' . $company->credit_code ?? '', + 'user_names' => $userNamesStr, + 'course_names' => $courseNamesStr, + 'course_types' => $courseTypesStr, + 'course_count' => $totalCourseCount, ]; } $fields = [ @@ -473,6 +533,10 @@ class OtherController extends CommonController 'contact_mail' => '联系邮箱', 'company_tag' => '企业资质', 'credit_code' => '统一社会信用代码', + 'user_names' => '学员姓名', + 'course_names' => '课程名称', + 'course_types' => '课程体系', + 'course_count' => '报名课程数', ]; $filename = '被投企业明细'; break;