master
cody 3 months ago
parent 8c666b9dac
commit bc66ebbe61

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

Loading…
Cancel
Save