master
cody 4 weeks ago
parent 0df70a82cf
commit b8db9cb506

@ -166,7 +166,8 @@ class OtherController extends CommonController
// 培养人数 // 培养人数
'course_type_signs_pass' => CourseSign::courseSignsTotal($start_date, $end_date, 1, $courses2->pluck('id')), 'course_type_signs_pass' => CourseSign::courseSignsTotal($start_date, $end_date, 1, $courses2->pluck('id')),
// 去重培养人数 // 去重培养人数
'course_type_signs_pass_unique' => CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, $courses2->pluck('id')), 'course_type_signs_pass_unique' => CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, $courses2->pluck('id'), null, $userIds),
'user_ids' => $userIds,
'course_name' => $course->name, 'course_name' => $course->name,
'course_signs_pass' => CourseSign::courseSignsTotal($start_date, $end_date, 1, [$course->id]), 'course_signs_pass' => CourseSign::courseSignsTotal($start_date, $end_date, 1, [$course->id]),
]; ];
@ -176,7 +177,8 @@ class OtherController extends CommonController
$areas = ParameterDetail::where('parameter_id', 5)->get(); $areas = ParameterDetail::where('parameter_id', 5)->get();
foreach ($areas as $area) { foreach ($areas as $area) {
$area->course_signs_pass = CourseSign::courseSignsTotal($start_date, $end_date, 1, $courses->pluck('id'), $area->value); $area->course_signs_pass = CourseSign::courseSignsTotal($start_date, $end_date, 1, $courses->pluck('id'), $area->value);
$area->course_signs_pass_unique = CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, $courses->pluck('id'), $area->value); $area->course_signs_pass_unique = CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, $courses->pluck('id'), $area->value, $userIds);
$area->user_ids = $userIds;
} }
$area_course_signs_pass_total = collect($areas)->sum('course_signs_pass'); $area_course_signs_pass_total = collect($areas)->sum('course_signs_pass');
$area_course_signs_pass_unique_total = collect($areas)->sum('course_signs_pass_unique'); $area_course_signs_pass_unique_total = collect($areas)->sum('course_signs_pass_unique');

@ -106,7 +106,7 @@ class CourseSign extends SoftDeletesModel
/** /**
* 指定时间内的报名信息(去重) * 指定时间内的报名信息(去重)
*/ */
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $area = null) public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $area = null, &$userIds)
{ {
$courseSignByType = CourseSign::whereDate('created_at', '>=', $start_date) $courseSignByType = CourseSign::whereDate('created_at', '>=', $start_date)
->whereDate('created_at', '<=', $end_date) ->whereDate('created_at', '<=', $end_date)
@ -128,6 +128,7 @@ class CourseSign extends SoftDeletesModel
} }
})->whereNotIn('status', [4, 5]) })->whereNotIn('status', [4, 5])
->get(); ->get();
$userIds = $courseSignByType->pluck('user_id')->toArray();
return User::whereIn('id', $courseSignByType->pluck('user_id'))->distinct('mobile')->count(); return User::whereIn('id', $courseSignByType->pluck('user_id'))->distinct('mobile')->count();
} }

Loading…
Cancel
Save