Merge branch 'master' of ssh://47.101.48.251:/data/git/wx.sstbc.com

master
lion 3 months ago
commit f35f4143e0

@ -119,6 +119,7 @@ class CompanyController extends BaseController
* @OA\Parameter(name="course_start_date", in="query", @OA\Schema(type="string"), required=false, description="课程开始日期(筛选课程起止时间在范围内的企业)"),
* @OA\Parameter(name="course_end_date", in="query", @OA\Schema(type="string"), required=false, description="课程结束日期(筛选课程起止时间在范围内的企业)"),
* @OA\Parameter(name="is_chart", in="query", @OA\Schema(type="string"), required=false, description="课程是否参与统计0否1是按公司下用户关联的课程筛选"),
* @OA\Parameter(name="address", in="query", @OA\Schema(type="string"), required=false, description="地址,模糊匹配 company_address 或 company_city"),
* @OA\Response(
* response="200",
* description="暂无"
@ -185,6 +186,13 @@ class CompanyController extends BaseController
$query->where('is_schoolmate', $all['is_schoolmate']);
}
})->where(function ($query) use ($all, $start_year, $end_year) {
// 地址:模糊匹配 company_address 或 company_city
if (isset($all['address']) && $all['address'] !== '') {
$query->where(function ($q) use ($all) {
$q->where('company_address', 'like', '%' . $all['address'] . '%')
->orWhere('company_city', 'like', '%' . $all['address'] . '%');
});
}
// 根据开始和结束年份筛选 project_users 中的 investDate
if ($start_year && $end_year) {
// 使用 LIKE 匹配 JSON 字符串中的年份范围

@ -132,10 +132,10 @@ class OtherController extends CommonController
// 默认结束日期一年以后
$end_date = date('Y-m-d', strtotime('+10 year'));
// 校友总数
$list['schoolmate_total'] = User::where('is_schoolmate', 1)->count();
// 今年新增校友数根据schoolmate_time字段统计
$list['schoolmate_year'] = User::where('is_schoolmate', 1)->whereYear('schoolmate_time', date('Y'))->count();
// 校友总数(与 study 口径一致:仅统计有课程报名记录的校友)
$list['schoolmate_total'] = User::where('is_schoolmate', 1)->whereHas('courseSigns')->count();
// 今年新增校友数根据schoolmate_time字段统计,口径同上
$list['schoolmate_year'] = User::where('is_schoolmate', 1)->whereHas('courseSigns')->whereYear('schoolmate_time', date('Y'))->count();
// 投后企业
$list['company_invested_total'] = CourseSign::yhInvestedTotal(CourseType::START_DATE, date('Y-m-d'), null);
// 元和员工参与人数
@ -2041,6 +2041,7 @@ class OtherController extends CommonController
'company_city' => $user->company->company_city ?? '',
'company_position' => $user->company_position ?? '',
'education' => $user->education ?? '',
'geren_rongyu' => $user->type ?? '',
'course_names' => $courseNamesStr,
'course_types' => $courseTypesStr,
'course_count' => $totalCourseCount,
@ -2054,6 +2055,7 @@ class OtherController extends CommonController
'company_city' => '所在城市',
'company_position' => '职位',
'education' => '学历',
'geren_rongyu' => '个人荣誉',
'course_names' => '课程名称',
'course_types' => '课程体系',
'course_count' => '报名课程数',

@ -804,20 +804,10 @@ class CourseSign extends SoftDeletesModel
});
})->with(['user.company'])->get();
// 条件2data 字段中 name="个人荣誉" 且 value != "其他" 的用户
$courseSigns2 = $courseSignsQuery->with(['user.company'])->get()->filter(function ($courseSign) {
if (empty($courseSign->data) || !is_array($courseSign->data)) {
return false;
}
foreach ($courseSign->data as $item) {
if (isset($item['key']) && $item['key'] === 'type') {
if (isset($item['value']) && $item['value'] !== '其他') {
return true;
}
}
}
return false;
});
// 条件2user.type 包含「人才」的用户
$courseSigns2 = $courseSignsQuery->whereHas('user', function ($q) {
$q->where('type', 'like', '%人才%');
})->with(['user.company'])->get();
// 合并两个条件的结果(或关系),并去重 user_id
$allUserIds = $courseSigns1->pluck('user_id')

Loading…
Cancel
Save