|
|
|
|
@ -545,20 +545,42 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 地区
|
|
|
|
|
$suzhouArea = Company::approvedStudents()
|
|
|
|
|
->where('company_city', '苏州市')
|
|
|
|
|
->whereNotNull('company_area')
|
|
|
|
|
->where('company_area', '!=', '')
|
|
|
|
|
->pluck('company_area')
|
|
|
|
|
->unique();
|
|
|
|
|
// 地区 - 从数据字典获取
|
|
|
|
|
$suzhouAreas = ParameterDetail::where('parameter_id', 5)
|
|
|
|
|
->where('status', 1)
|
|
|
|
|
->orderBy('sort', 'asc')
|
|
|
|
|
->pluck('value')
|
|
|
|
|
->toArray();
|
|
|
|
|
|
|
|
|
|
$list = [];
|
|
|
|
|
foreach ($suzhouArea as $area) {
|
|
|
|
|
$sourseSignList2 = (clone $courseSignList)->whereHas('user', function ($query) use ($area) {
|
|
|
|
|
$query->whereHas('company', function ($query) use ($area) {
|
|
|
|
|
$query->where('company_area', $area);
|
|
|
|
|
});
|
|
|
|
|
})->get();
|
|
|
|
|
foreach ($suzhouAreas as $area) {
|
|
|
|
|
// 特殊处理:高新区需要统计高新区+虎丘区
|
|
|
|
|
if ($area === '高新区') {
|
|
|
|
|
$sourseSignList2 = (clone $courseSignList)->whereHas('user', function ($query) {
|
|
|
|
|
$query->whereHas('company', function ($query) {
|
|
|
|
|
$query->where('company_city', '苏州市')
|
|
|
|
|
->where(function ($q) {
|
|
|
|
|
$q->where('company_area', '高新区')
|
|
|
|
|
->orWhere('company_area', '虎丘区');
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
})->get();
|
|
|
|
|
} elseif ($area === '苏州市外') {
|
|
|
|
|
// 苏州市外:统计除了苏州之外的所有数据
|
|
|
|
|
$sourseSignList2 = (clone $courseSignList)->whereHas('user', function ($query) {
|
|
|
|
|
$query->whereHas('company', function ($query) {
|
|
|
|
|
$query->where('company_city', '!=', '苏州市');
|
|
|
|
|
});
|
|
|
|
|
})->get();
|
|
|
|
|
} else {
|
|
|
|
|
// 其他区域:正常统计
|
|
|
|
|
$sourseSignList2 = (clone $courseSignList)->whereHas('user', function ($query) use ($area) {
|
|
|
|
|
$query->whereHas('company', function ($query) use ($area) {
|
|
|
|
|
$query->where('company_city', '苏州市')
|
|
|
|
|
->where('company_area', $area);
|
|
|
|
|
});
|
|
|
|
|
})->get();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$list[] = [
|
|
|
|
|
'area' => $area,
|
|
|
|
|
@ -567,19 +589,7 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
|
// 已去重
|
|
|
|
|
'total_unique' => User::whereIn('id', $sourseSignList2->pluck('user_id'))->groupBy('mobile')->get()->count(),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
$courseSignList3 = (clone $courseSignList)->whereHas('user', function ($query) {
|
|
|
|
|
$query->whereHas('company', function ($query) {
|
|
|
|
|
$query->where('company_city', '!=', '苏州市');
|
|
|
|
|
});
|
|
|
|
|
})->get();
|
|
|
|
|
$list[] = [
|
|
|
|
|
'area' => '苏州市外',
|
|
|
|
|
'total' => $courseSignList3->count(),
|
|
|
|
|
// 已去重
|
|
|
|
|
'total_unique' => User::groupBy('mobile')->whereIn('id', $courseSignList3->pluck('user_id'))->get()->count(),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
if ($retList) {
|
|
|
|
|
// 返回列表
|
|
|
|
|
|