|
|
|
@ -565,28 +565,13 @@ class OtherController extends CommonController
|
|
|
|
|
|
|
|
|
|
|
|
case 'company_market_total':
|
|
|
|
case 'company_market_total':
|
|
|
|
// 上市公司明细 - 所有上市公司,关联学员、课程信息
|
|
|
|
// 上市公司明细 - 所有上市公司,关联学员、课程信息
|
|
|
|
$companies = CourseSign::shangshi($start_date, $end_date, $courses->pluck('id'), true);
|
|
|
|
$companiesData = CourseSign::shangshi($start_date, $end_date, $course_ids->toArray(), true);
|
|
|
|
// 加载关联关系
|
|
|
|
|
|
|
|
// $companies->load(['users.courseSigns.course.typeDetail']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($companies as $company) {
|
|
|
|
foreach ($companiesData as $item) {
|
|
|
|
// 获取该公司在时间范围内的学员报名记录
|
|
|
|
$company = $item['company'];
|
|
|
|
$courseSigns = CourseSign::where(function ($query) use ($course_ids) {
|
|
|
|
$courseSigns = $item['courseSigns'] ?? [];
|
|
|
|
$query->where('status', 1);
|
|
|
|
|
|
|
|
if (isset($course_ids)) {
|
|
|
|
|
|
|
|
$query->whereIn('course_id', $course_ids);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})->whereHas('course', function ($query) use ($start_date, $end_date) {
|
|
|
|
|
|
|
|
// 开始结束日期的筛选。or查询
|
|
|
|
|
|
|
|
if ($start_date && $end_date) {
|
|
|
|
|
|
|
|
$query->whereBetween('start_date', [$start_date, $end_date])
|
|
|
|
|
|
|
|
->orWhereBetween('end_date', [$start_date, $end_date]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})->whereNotIn('status', [4, 5, 6])
|
|
|
|
|
|
|
|
->with(['user', 'course.typeDetail'])
|
|
|
|
|
|
|
|
->get();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($courseSigns->isEmpty()) {
|
|
|
|
if (empty($courseSigns)) {
|
|
|
|
// 如果没有学员报名记录,仍然导出公司基本信息
|
|
|
|
// 如果没有学员报名记录,仍然导出公司基本信息
|
|
|
|
$data[] = [
|
|
|
|
$data[] = [
|
|
|
|
'company_name' => $company->company_name,
|
|
|
|
'company_name' => $company->company_name,
|
|
|
|
|