|
|
|
|
@ -11,6 +11,8 @@ use App\Models\Calendar;
|
|
|
|
|
use App\Models\Company;
|
|
|
|
|
use App\Models\CourseContentEvaluationAsk;
|
|
|
|
|
use App\Models\CourseContentEvaluationForm;
|
|
|
|
|
use App\Models\CourseSign;
|
|
|
|
|
use App\Models\CourseType;
|
|
|
|
|
use App\Models\CustomForm;
|
|
|
|
|
use App\Models\CustomFormField;
|
|
|
|
|
use App\Models\EmailTemplate;
|
|
|
|
|
@ -37,6 +39,8 @@ class CompanyController extends BaseController
|
|
|
|
|
* tags={"公司管理"},
|
|
|
|
|
* summary="参数",
|
|
|
|
|
* description="",
|
|
|
|
|
* @OA\Parameter(name="start_date", in="query", @OA\Schema(type="string"), required=false, description="开始日期"),
|
|
|
|
|
* @OA\Parameter(name="end_date", in="query", @OA\Schema(type="string"), required=false, description="结束日期"),
|
|
|
|
|
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
|
|
|
|
|
* @OA\Response(
|
|
|
|
|
* response="200",
|
|
|
|
|
@ -46,6 +50,9 @@ class CompanyController extends BaseController
|
|
|
|
|
*/
|
|
|
|
|
public function config()
|
|
|
|
|
{
|
|
|
|
|
// 如果提供了开始时间和结束时间,则计算统计
|
|
|
|
|
$start_date = request('start_date', CourseType::START_DATE);
|
|
|
|
|
$end_date = request('end_date', date('Y-m-d'));
|
|
|
|
|
// 企业标签
|
|
|
|
|
$companiesTags = Company::where('company_tag', '!=', '')->pluck('company_tag');
|
|
|
|
|
$companiesTags = $companiesTags->flatten()->implode(',');
|
|
|
|
|
@ -56,7 +63,17 @@ class CompanyController extends BaseController
|
|
|
|
|
});
|
|
|
|
|
$companiesTags = array_values($companiesTags);
|
|
|
|
|
|
|
|
|
|
return $this->success(compact('companiesTags'));
|
|
|
|
|
// 累计被投企业数(从起始日期到结束日期)
|
|
|
|
|
$course_signs_invested = CourseSign::yhInvestedTotal(CourseType::START_DATE, $end_date, null);
|
|
|
|
|
|
|
|
|
|
// 入学后被投企业数量(在指定时间范围内报名的学员所在公司中,在入学后被投的公司数量)
|
|
|
|
|
$company_invested_after_enrollment_total = CourseSign::companyInvestedAfterEnrollment($start_date, $end_date, null);
|
|
|
|
|
|
|
|
|
|
// 今年范围内被投企业数(在指定时间范围内报名的学员所在公司中,被投时间在年份范围内的公司数量)
|
|
|
|
|
$company_invested_year_total = CourseSign::companyInvestedYear($start_date, $end_date, null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $this->success(compact('companiesTags', 'course_signs_invested', 'company_invested_after_enrollment_total', 'company_invested_year_total'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -88,11 +105,13 @@ class CompanyController extends BaseController
|
|
|
|
|
public function index()
|
|
|
|
|
{
|
|
|
|
|
$all = request()->all();
|
|
|
|
|
$list = $this->model->with(['users' => function ($query) use ($all) {
|
|
|
|
|
$list = $this->model->with([
|
|
|
|
|
'users' => function ($query) use ($all) {
|
|
|
|
|
$query->whereHas('courseSigns', function ($q) {
|
|
|
|
|
$q->where('status', 1);
|
|
|
|
|
})->with('courseSigns.course');
|
|
|
|
|
}])->whereHas('users', function ($query) use ($all) {
|
|
|
|
|
}
|
|
|
|
|
])->whereHas('users', function ($query) use ($all) {
|
|
|
|
|
if (isset($all['course_type_id'])) {
|
|
|
|
|
$query->whereHas('courses', function ($q) use ($all) {
|
|
|
|
|
$q->where('type', $all['course_type_id']);
|
|
|
|
|
@ -211,11 +230,13 @@ class CompanyController extends BaseController
|
|
|
|
|
if ($validator->fails()) {
|
|
|
|
|
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
|
|
|
|
|
}
|
|
|
|
|
$detail = $this->model->with(['users' => function ($query) {
|
|
|
|
|
$detail = $this->model->with([
|
|
|
|
|
'users' => function ($query) {
|
|
|
|
|
$query->whereHas('courseSigns', function ($q) {
|
|
|
|
|
$q->where('status', 1);
|
|
|
|
|
})->with('courseSigns.course');
|
|
|
|
|
}])->find($all['id']);
|
|
|
|
|
}
|
|
|
|
|
])->find($all['id']);
|
|
|
|
|
return $this->success($detail);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|