|
|
|
@ -100,7 +100,7 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 指定时间内的报名信息(未去重)
|
|
|
|
* 指定时间内的报名信息(未去重)
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null, $retList = false)
|
|
|
|
public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null, $retList = false, $courseType = null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$totalQuery = self::getStudentList($start_date, $end_date, $status, $course_ids);
|
|
|
|
$totalQuery = self::getStudentList($start_date, $end_date, $status, $course_ids);
|
|
|
|
if ($retList) {
|
|
|
|
if ($retList) {
|
|
|
|
@ -112,12 +112,14 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
// 历史数据
|
|
|
|
// 历史数据
|
|
|
|
$historyTotal = HistoryCourse::whereHas('calendar', function ($query) {
|
|
|
|
$historyTotal = HistoryCourse::whereHas('calendar', function ($query) {
|
|
|
|
$query->where('is_count_people', 1);
|
|
|
|
$query->where('is_count_people', 1);
|
|
|
|
|
|
|
|
})->where('typeDetail', function ($query) {
|
|
|
|
|
|
|
|
$query->where('is_history', 1);
|
|
|
|
})->where(function ($query) use ($start_date, $end_date) {
|
|
|
|
})->where(function ($query) use ($start_date, $end_date) {
|
|
|
|
// 开始结束日期的筛选。or查询
|
|
|
|
// 开始结束日期的筛选。or查询
|
|
|
|
$query->whereBetween('start_time', [$start_date, $end_date])
|
|
|
|
$query->whereBetween('start_time', [$start_date, $end_date])
|
|
|
|
->orWhereBetween('end_time', [$start_date, $end_date]);
|
|
|
|
->orWhereBetween('end_time', [$start_date, $end_date]);
|
|
|
|
})->where(function ($query) {
|
|
|
|
})->where(function ($query) {
|
|
|
|
$course_type_id = request('course_type_id');
|
|
|
|
$course_type_id = $courseType ?? request('course_type_id');
|
|
|
|
if ($course_type_id) {
|
|
|
|
if ($course_type_id) {
|
|
|
|
$course_type_id = explode(',', $course_type_id);
|
|
|
|
$course_type_id = explode(',', $course_type_id);
|
|
|
|
$query->whereIn('type', $course_type_id);
|
|
|
|
$query->whereIn('type', $course_type_id);
|
|
|
|
@ -131,7 +133,7 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 指定时间内的报名信息(去重)
|
|
|
|
* 指定时间内的报名信息(去重)
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $retList = false)
|
|
|
|
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $retList = false, $courseType = null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$totalQuery = self::getStudentList($start_date, $end_date, $status, $course_ids);
|
|
|
|
$totalQuery = self::getStudentList($start_date, $end_date, $status, $course_ids);
|
|
|
|
$user = User::whereIn('id', $totalQuery->get()->pluck('user_id'))->groupBy('mobile')->get();
|
|
|
|
$user = User::whereIn('id', $totalQuery->get()->pluck('user_id'))->groupBy('mobile')->get();
|
|
|
|
@ -143,12 +145,14 @@ class CourseSign extends SoftDeletesModel
|
|
|
|
// 历史数据
|
|
|
|
// 历史数据
|
|
|
|
$historyTotal = HistoryCourse::whereHas('calendar', function ($query) {
|
|
|
|
$historyTotal = HistoryCourse::whereHas('calendar', function ($query) {
|
|
|
|
$query->where('is_count_people', 1);
|
|
|
|
$query->where('is_count_people', 1);
|
|
|
|
|
|
|
|
})->where('typeDetail', function ($query) {
|
|
|
|
|
|
|
|
$query->where('is_history', 1);
|
|
|
|
})->where(function ($query) use ($start_date, $end_date) {
|
|
|
|
})->where(function ($query) use ($start_date, $end_date) {
|
|
|
|
// 开始结束日期的筛选。or查询
|
|
|
|
// 开始结束日期的筛选。or查询
|
|
|
|
$query->whereBetween('start_time', [$start_date, $end_date])
|
|
|
|
$query->whereBetween('start_time', [$start_date, $end_date])
|
|
|
|
->orWhereBetween('end_time', [$start_date, $end_date]);
|
|
|
|
->orWhereBetween('end_time', [$start_date, $end_date]);
|
|
|
|
})->where(function ($query) {
|
|
|
|
})->where(function ($query) {
|
|
|
|
$course_type_id = request('course_type_id');
|
|
|
|
$course_type_id = $courseType ?? request('course_type_id');
|
|
|
|
if ($course_type_id) {
|
|
|
|
if ($course_type_id) {
|
|
|
|
$course_type_id = explode(',', $course_type_id);
|
|
|
|
$course_type_id = explode(',', $course_type_id);
|
|
|
|
$query->whereIn('type', $course_type_id);
|
|
|
|
$query->whereIn('type', $course_type_id);
|
|
|
|
|