|
|
|
@ -44,6 +44,9 @@ class CourseController extends BaseController
|
|
|
|
* @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"),
|
|
|
|
* @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"),
|
|
|
|
* @OA\Parameter(name="has_course_forms", in="query", @OA\Schema(type="string"), required=true, description="是否有自定义表单0否1是"),
|
|
|
|
* @OA\Parameter(name="has_course_forms", in="query", @OA\Schema(type="string"), required=true, description="是否有自定义表单0否1是"),
|
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
|
|
|
|
|
* @OA\Parameter(name="start_date", in="query", @OA\Schema(type="string"), required=true, description="开始日期"),
|
|
|
|
|
|
|
|
* @OA\Parameter(name="end_date", in="query", @OA\Schema(type="string"), required=true, description="结束日期"),
|
|
|
|
|
|
|
|
* @OA\Parameter(name="course_type_id", in="query", @OA\Schema(type="string"), required=true, description="课程体系id,多个英文逗号"),
|
|
|
|
* @OA\Response(
|
|
|
|
* @OA\Response(
|
|
|
|
* response="200",
|
|
|
|
* response="200",
|
|
|
|
* description="暂无"
|
|
|
|
* description="暂无"
|
|
|
|
@ -56,8 +59,7 @@ class CourseController extends BaseController
|
|
|
|
$list = $this->model->with(underlineToHump($all['show_relation'] ?? []))
|
|
|
|
$list = $this->model->with(underlineToHump($all['show_relation'] ?? []))
|
|
|
|
->withCount(['courseSigns' => function ($query) {
|
|
|
|
->withCount(['courseSigns' => function ($query) {
|
|
|
|
$query->whereNotIn('status', [4, 5]);
|
|
|
|
$query->whereNotIn('status', [4, 5]);
|
|
|
|
}])
|
|
|
|
}])->withCount(['courseSigns as sign_pass_total' => function ($query) {
|
|
|
|
->withCount(['courseSigns as sign_pass_total' => function ($query) {
|
|
|
|
|
|
|
|
$query->where('status', 1)->whereHas('user');
|
|
|
|
$query->where('status', 1)->whereHas('user');
|
|
|
|
}])->withCount(['courseSigns as sign_wait_total' => function ($query) {
|
|
|
|
}])->withCount(['courseSigns as sign_wait_total' => function ($query) {
|
|
|
|
$query->where('status', 0)->whereHas('user');
|
|
|
|
$query->where('status', 0)->whereHas('user');
|
|
|
|
@ -75,7 +77,16 @@ class CourseController extends BaseController
|
|
|
|
if (isset($all['has_course_forms']) && !empty($all['has_course_forms'])) {
|
|
|
|
if (isset($all['has_course_forms']) && !empty($all['has_course_forms'])) {
|
|
|
|
$query->whereHas('courseForms');
|
|
|
|
$query->whereHas('courseForms');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset($all['start_date'])) {
|
|
|
|
|
|
|
|
$query->where('start_date', '>=', $all['start_date']);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset($all['end_date'])) {
|
|
|
|
|
|
|
|
$query->where('end_date', '<=', $all['end_date']);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset($all['course_type_id'])) {
|
|
|
|
|
|
|
|
$course_type_id = explode(',', $all['course_type_id']);
|
|
|
|
|
|
|
|
$query->whereIn('type', $course_type_id);
|
|
|
|
|
|
|
|
}
|
|
|
|
if (isset($all['filter']) && !empty($all['filter'])) {
|
|
|
|
if (isset($all['filter']) && !empty($all['filter'])) {
|
|
|
|
foreach ($all['filter'] as $condition) {
|
|
|
|
foreach ($all['filter'] as $condition) {
|
|
|
|
$key = $condition['key'] ?? null;
|
|
|
|
$key = $condition['key'] ?? null;
|
|
|
|
|