master
cody 2 weeks ago
parent 4e7307a374
commit 3312b21caf

@ -590,50 +590,75 @@ class OtherController extends CommonController
$data[] = array_merge($companyInfo, [
'user_name' => '',
'course_name' => '',
'course_type' => '',
]);
} else {
// 每个学员一行,多个课程合并显示
// 每个学员的每个课程一行,格式为"课程名称-课程体系"
$isFirstRow = true;
foreach ($users as $userInfo) {
$courses = $userInfo['courses'] ?? [];
// 合并同一学员的多个课程:格式为"课程体系-课程名称,课程体系-课程名称"
$courseList = [];
foreach ($courses as $courseInfo) {
$courseType = $courseInfo['course_type'] ?? '';
$courseName = $courseInfo['course_name'] ?? '';
if ($courseType && $courseName) {
$courseList[] = $courseType . '-' . $courseName;
} elseif ($courseName) {
$courseList[] = $courseName;
if (empty($courses)) {
// 如果学员没有课程,仍然导出学员基本信息
if ($isFirstRow) {
// 第一行:显示公司信息
$data[] = array_merge($companyInfo, [
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => '',
]);
$isFirstRow = false;
} else {
// 后续行:公司信息为空
$data[] = [
'company_name' => '',
'company_legal_representative' => '',
'company_date' => '',
'stock_date' => '',
'company_address' => '',
'company_city' => '',
'company_area' => '',
'company_tag' => '',
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => '',
];
}
}
$courseDisplay = implode('', $courseList);
if ($isFirstRow) {
// 第一行:显示公司信息
$data[] = array_merge($companyInfo, [
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => $courseDisplay,
'course_type' => '', // 课程类型已合并到课程名称中
]);
$isFirstRow = false;
} else {
// 后续行:公司信息为空
$data[] = [
'company_name' => '',
'company_legal_representative' => '',
'company_date' => '',
'stock_date' => '',
'company_address' => '',
'company_city' => '',
'company_area' => '',
'company_tag' => '',
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => $courseDisplay,
'course_type' => '', // 课程类型已合并到课程名称中
];
// 每个课程一行,格式为"课程名称-课程体系"
foreach ($courses as $courseIndex => $courseInfo) {
$courseName = $courseInfo['course_name'] ?? '';
$courseType = $courseInfo['course_type'] ?? '';
// 格式:课程名称-课程体系
if ($courseName && $courseType) {
$courseDisplay = $courseName . '-' . $courseType;
} elseif ($courseName) {
$courseDisplay = $courseName;
} else {
$courseDisplay = '';
}
if ($isFirstRow && $courseIndex === 0) {
// 第一行:显示公司信息
$data[] = array_merge($companyInfo, [
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => $courseDisplay,
]);
$isFirstRow = false;
} else {
// 后续行:公司信息为空
$data[] = [
'company_name' => '',
'company_legal_representative' => '',
'company_date' => '',
'stock_date' => '',
'company_address' => '',
'company_city' => '',
'company_area' => '',
'company_tag' => '',
'user_name' => $userInfo['user_name'] ?? '',
'course_name' => $courseDisplay,
];
}
}
}
}
}
@ -649,7 +674,6 @@ class OtherController extends CommonController
'company_tag' => '企业资质',
'user_name' => '学员姓名',
'course_name' => '课程信息',
'course_type' => '课程类型',
];
$filename = '上市公司明细';
break;

Loading…
Cancel
Save