From 31b0233ad61330b6ef2fefd2f424b837c5b456d7 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Thu, 15 Jan 2026 13:17:36 +0800 Subject: [PATCH] update --- .../Controllers/Admin/OtherController.php | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index 6f2866c..635abb7 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -811,6 +811,43 @@ class OtherController extends CommonController // 跟班学员明细 - 使用模型方法 $users = CourseSign::genban($start_date, $end_date, $course_ids, true); foreach ($users as $user) { + // 获取该学员的课程报名记录 + $userCourseSigns = CourseSign::where(function ($query) use ($course_ids) { + // status = 1 + $query->where('status', 1); + // course_ids筛选 + if ($course_ids && $course_ids->isNotEmpty()) { + $query->whereIn('course_id', $course_ids); + } + }) + ->whereHas('course', function ($query) use ($start_date, $end_date) { + $query->where('is_chart', 1); + // 开始结束日期的筛选。or查询 + if ($start_date && $end_date) { + $query->where(function ($q) use ($start_date, $end_date) { + $q->whereBetween('start_date', [$start_date, $end_date]) + ->orWhereBetween('end_date', [$start_date, $end_date]); + }); + } + }) + ->whereNotIn('status', [4, 5, 6]) + ->where('user_id', $user->id) + ->with(['course.typeDetail']) + ->get(); + + // 获取课程名称列表,用中文顿号分隔 + $courseNames = $userCourseSigns->pluck('course.name')->filter()->unique()->values()->implode('、'); + + // 获取课程体系列表,用中文顿号分隔 + $courseTypes = $userCourseSigns->pluck('course.typeDetail.name') + ->filter() + ->unique() + ->values() + ->implode('、'); + + // 报名课程数 + $courseCount = $userCourseSigns->count(); + $data[] = [ 'name' => $user->username ?? '', 'sex' => $user->sex ?? '', @@ -818,6 +855,9 @@ class OtherController extends CommonController 'company_name' => $user->company_name ?? '', 'company_position' => $user->company_position ?? '', 'from' => $user->from ?? '', + 'course_names' => $courseNames, + 'course_types' => $courseTypes, + 'course_count' => $courseCount, ]; } $fields = [ @@ -827,6 +867,9 @@ class OtherController extends CommonController 'company_name' => '企业名称', 'company_position' => '职位', 'from' => '标签', + 'course_names' => '课程名称', + 'course_types' => '课程体系', + 'course_count' => '报名课程数', ]; $filename = '跟班学员明细'; break;