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_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_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();
foreach ($areas as $area) {
$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_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)
->whereDate('created_at', '<=', $end_date)
@ -128,6 +128,7 @@ class CourseSign extends SoftDeletesModel
}
})->whereNotIn('status', [4, 5])
->get();
$userIds = $courseSignByType->pluck('user_id')->toArray();
return User::whereIn('id', $courseSignByType->pluck('user_id'))->distinct('mobile')->count();
}

Loading…
Cancel
Save