master
cody 3 months ago
parent be1616f44b
commit 31b0233ad6

@ -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;

Loading…
Cancel
Save