master
cody 4 weeks ago
parent c96150e3c2
commit 5d04f3dbf6

@ -176,14 +176,19 @@ class OtherController extends CommonController
// 区域明细统计
$areas = ParameterDetail::where('parameter_id', 5)->get();
foreach ($areas as $area) {
$courseSignByArea = CourseSign::where('status', 1)
->whereHas('user', function ($query) use ($area) {
$query->where('company_area', $area->value);
})->whereDate('created_at', '>=', $start_date)
->whereDate('created_at', '<=', $end_date)
->get();
$area->course_signs_pass = $courseSignByArea->count();
$area->course_signs_pass_unique = User::whereIn('id', $courseSignByArea->pluck('user_id'))->distinct('mobile')->count();
// $courseSignByArea = CourseSign::where('status', 1)
// ->whereHas('user', function ($query) use ($area) {
// $query->where('company_area', $area->value);
// })->whereDate('created_at', '>=', $start_date)
// ->whereDate('created_at', '<=', $end_date)
// ->get();
$area->course_signs_pass = CourseSign::courseSignsTotal($start_date, $end_date, 1, null,$area->value);
$area->course_signs_pass_unique = CourseSign::courseSignsTotalByUnique($start_date, $end_date, 1, null,$area->value);
// $area->course_signs_pass = $courseSignByArea->count();
// $area->course_signs_pass_unique = User::whereIn('id', $courseSignByArea->pluck('user_id'))->distinct('mobile')->count();
}
return $this->success(compact('list', 'courseTypesSum', 'areas'));
}

@ -77,11 +77,15 @@ class CourseSign extends SoftDeletesModel
/**
* 指定时间内的报名信息(未去重)
*/
public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null)
public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null, $area = null)
{
$total = CourseSign::whereDate('created_at', '>=', $start_date)
->whereDate('created_at', '<=', $end_date)
->where(function ($query) use ($status, $course_ids) {
->whereHas('user', function ($query) use ($area) {
if ($area) {
$query->where('company_area', $area);
}
})->where(function ($query) use ($status, $course_ids) {
if (isset($status)) {
$query->where('status', $status);
}
@ -96,11 +100,15 @@ class CourseSign extends SoftDeletesModel
/**
* 指定时间内的报名信息(去重)
*/
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null)
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $area = null)
{
$courseSignByType = CourseSign::whereDate('created_at', '>=', $start_date)
->whereDate('created_at', '<=', $end_date)
->where(function ($query) use ($status, $course_ids) {
->whereHas('user', function ($query) use ($area) {
if ($area) {
$query->where('company_area', $area);
}
})->where(function ($query) use ($status, $course_ids) {
if (isset($status)) {
$query->where('status', $status);
}

Loading…
Cancel
Save