master
cody 3 months ago
parent f8b1d86108
commit 98ce786f08

@ -1600,10 +1600,58 @@ class OtherController extends CommonController
case 'cover_rencai_total':
// 高层次人才明细 - 使用模型方法
$users = CourseSign::rencai($start_date, $end_date, $course_ids, true);
// 确保 $course_ids 是数组格式
$courseIdsArray = $course_ids ? (is_array($course_ids) ? $course_ids : $course_ids->toArray()) : null;
$users = CourseSign::rencai($start_date, $end_date, $courseIdsArray, true);
// 加载关联关系
$users->load('company');
// 获取所有用户的课程报名记录使用与rencai相同的筛选条件
$userIds = $users->pluck('id')->toArray();
$userCourseSigns = CourseSign::getStudentList($start_date, $end_date, 1, $courseIdsArray)
->whereIn('user_id', $userIds)
->with(['user', 'course.typeDetail'])
->get();
// 按用户ID分组课程报名记录
$userCourseSignsMap = [];
foreach ($userCourseSigns as $sign) {
if (!$sign->user) {
continue;
}
$userId = $sign->user_id;
if (!isset($userCourseSignsMap[$userId])) {
$userCourseSignsMap[$userId] = [];
}
$userCourseSignsMap[$userId][] = $sign;
}
foreach ($users as $user) {
// 获取该用户的课程报名记录
$courseSigns = collect($userCourseSignsMap[$user->id] ?? []);
if ($courseSigns->isEmpty()) {
// 如果没有课程报名记录,设置空值
$courseNamesStr = '';
$courseTypesStr = '';
$totalCourseCount = 0;
} else {
// 收集课程名称
$courseNames = $courseSigns->pluck('course.name')->filter()->unique()->values()->toArray();
$courseNamesStr = implode('、', array_filter($courseNames));
// 收集课程体系
$courseTypes = $courseSigns->pluck('course.typeDetail.name')
->filter()
->unique()
->values()
->toArray();
$courseTypesStr = implode('、', array_filter($courseTypes));
// 统计报名课程数
$totalCourseCount = $courseSigns->count();
}
$data[] = [
'user_name' => $user->name ?? '',
'mobile' => $user->mobile ?? '',
@ -1612,6 +1660,9 @@ class OtherController extends CommonController
'company_city' => $user->company->company_city ?? '',
'company_position' => $user->company_position ?? '',
'education' => $user->education ?? '',
'course_names' => $courseNamesStr,
'course_types' => $courseTypesStr,
'course_count' => $totalCourseCount,
];
}
$fields = [
@ -1622,6 +1673,9 @@ class OtherController extends CommonController
'company_city' => '所在城市',
'company_position' => '职位',
'education' => '学历',
'course_names' => '课程名称',
'course_types' => '课程体系',
'course_count' => '报名课程数',
];
$filename = '高层次人才明细';
break;

Loading…
Cancel
Save