master
cody 3 months ago
parent 8c666b9dac
commit bc66ebbe61

@ -494,21 +494,30 @@ class OtherController extends CommonController
break;
case 'course_signs_pass_unique':
// 审核通过人数去重明细 - 使用courseSignsTotalByUnique方法获取列表
// 审核通过人数去重明细 - 使用courseSignsTotalByUnique方法获取列表与coursesHome保持一致
$users = CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, $course_ids, true);
foreach ($users as $user) {
// 获取该学员报名的课程列表与coursesHome逻辑保持一致
$userCourseSigns = CourseSign::where('user_id', $user->id)
// 获取该学员报名的课程列表 - 使用与getStudentList完全一致的逻辑
$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查询
$query->whereBetween('start_date', [$start_date, $end_date])
->whereBetween('end_date', [$start_date, $end_date]);
})->where('status', 1)
->where(function ($query) use ($course_ids) {
if ($course_ids->isNotEmpty()) {
$query->whereIn('course_id', $course_ids);
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])
})
->whereNotIn('status', [4, 5, 6])
->where('user_id', $user->id)
->with('course')
->get();
$courseNames = $userCourseSigns->pluck('course.name')->filter()->unique()->implode("\n\r");

Loading…
Cancel
Save