From 3f18fc7d836a4af25989a2e1feade16a0fa8caac Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 11:04:47 +0800 Subject: [PATCH 1/4] update --- app/Models/CourseSign.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/CourseSign.php b/app/Models/CourseSign.php index 7bda817..9b1f7b5 100755 --- a/app/Models/CourseSign.php +++ b/app/Models/CourseSign.php @@ -357,7 +357,7 @@ class CourseSign extends SoftDeletesModel */ public static function genban($start_date = null, $end_date = null, $course_ids = null, $retList = false) { - $courseSignsQuery = self::getStudentList($start_date, $end_date, 1, $course_ids); + $courseSignsQuery = self::getStudentList($start_date, $end_date, null, $course_ids); // 获取需要统计跟班学员的课程 $genbanCourse = Course::whereHas('typeDetail', function ($query) { $query->where('is_count_genban', 1); From b7bad4c03735e842a6657ea55ed0b3490fd2f0e8 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 11:06:06 +0800 Subject: [PATCH 2/4] update --- app/Models/CourseSign.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/CourseSign.php b/app/Models/CourseSign.php index 9b1f7b5..7bda817 100755 --- a/app/Models/CourseSign.php +++ b/app/Models/CourseSign.php @@ -357,7 +357,7 @@ class CourseSign extends SoftDeletesModel */ public static function genban($start_date = null, $end_date = null, $course_ids = null, $retList = false) { - $courseSignsQuery = self::getStudentList($start_date, $end_date, null, $course_ids); + $courseSignsQuery = self::getStudentList($start_date, $end_date, 1, $course_ids); // 获取需要统计跟班学员的课程 $genbanCourse = Course::whereHas('typeDetail', function ($query) { $query->where('is_count_genban', 1); From acd1653e6e5e08f5a324169cd1bb612cead75fe6 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 11:16:19 +0800 Subject: [PATCH 3/4] update --- app/Http/Controllers/Admin/UserController.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 3585156..419e9c2 100755 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -289,11 +289,19 @@ class UserController extends BaseController if (isset($all['course_name'])) { $q->where('name', 'like', '%' . $all['course_name'] . '%'); } - if (isset($all['courses_start_date'])) { - $q->where('start_date', '>=', $all['courses_start_date']); - } - if (isset($all['courses_end_date'])) { - $q->where('end_date', '<=', $all['courses_end_date']); + // 课程日期:与统计一致,start_date 或 end_date 在区间内即计入(whereBetween 重叠逻辑) + if (!empty($all['courses_start_date']) && !empty($all['courses_end_date'])) { + $q->where(function ($query) use ($all) { + $query->whereBetween('start_date', [$all['courses_start_date'], $all['courses_end_date']]) + ->orWhereBetween('end_date', [$all['courses_start_date'], $all['courses_end_date']]); + }); + } else { + if (!empty($all['courses_start_date'])) { + $q->where('start_date', '>=', $all['courses_start_date']); + } + if (!empty($all['courses_end_date'])) { + $q->where('end_date', '<=', $all['courses_end_date']); + } } if (isset($all['courses_ing']) && $all['courses_ing'] == 1) { $q->where(function ($query) use ($all) { From de123fcf16ee2d35e722d88c5dfccebfbaa25c7f Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 11:30:44 +0800 Subject: [PATCH 4/4] update --- app/Http/Controllers/Admin/UserController.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 419e9c2..f36f68e 100755 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -312,6 +312,12 @@ class UserController extends BaseController if (isset($all['is_chart'])) { $q->where('is_chart', $all['is_chart']); } + // from=跟班学员 时与 ganbu_total 口径一致:仅统计 is_count_genban=1 的课程类型 + if (!empty($all['from']) && strpos((string) $all['from'], '跟班学员') !== false) { + $q->whereHas('typeDetail', function ($q) { + $q->where('is_count_genban', 1); + }); + } }); }); // 不通过的需要全部不通过