master
cody 2 weeks ago
parent aa800f54b4
commit f04db56ed5

@ -80,9 +80,18 @@ class CourseSign extends SoftDeletesModel
*/ */
public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null, $area = null, $retList = false) public static function courseSignsTotal($start_date, $end_date, $status = null, $course_ids = null, $area = null, $retList = false)
{ {
$total = CourseSign::whereDate('created_at', '>=', $start_date) $total = CourseSign::where(function ($query) use ($status, $course_ids) {
->whereDate('created_at', '<=', $end_date) if (isset($status)) {
->whereHas('user', function ($query) use ($area) { $query->where('status', $status);
}
if (isset($course_ids)) {
$query->whereIn('course_id', $course_ids);
}
})->whereHas('course', function ($query) use ($start_date, $end_date) {
// 开始结束日期的筛选。or查询
$query->whereBetween('start_date', [$start_date, $end_date])
->whereBetween('end_date', [$start_date, $end_date]);
})->whereHas('user', function ($query) use ($area) {
if (isset($area)) { if (isset($area)) {
if ($area == '苏州市外') { if ($area == '苏州市外') {
$allArea = ParameterDetail::where('parameter_id', 5)->get(); $allArea = ParameterDetail::where('parameter_id', 5)->get();
@ -91,13 +100,6 @@ class CourseSign extends SoftDeletesModel
$query->where('company_area', $area); $query->where('company_area', $area);
} }
} }
})->where(function ($query) use ($status, $course_ids) {
if (isset($status)) {
$query->where('status', $status);
}
if (isset($course_ids)) {
$query->whereIn('course_id', $course_ids);
}
})->whereNotIn('status', [4, 5]); })->whereNotIn('status', [4, 5]);
if ($retList) { if ($retList) {
// 返回列表 // 返回列表
@ -113,9 +115,11 @@ class CourseSign extends SoftDeletesModel
*/ */
public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $area = null, $retList = false) public static function courseSignsTotalByUnique($start_date, $end_date, $status = null, $course_ids = null, $area = null, $retList = false)
{ {
$courseSignByType = CourseSign::whereDate('created_at', '>=', $start_date) $courseSignByType = CourseSign::whereHas('course', function ($query) use ($start_date, $end_date) {
->whereDate('created_at', '<=', $end_date) // 开始结束日期的筛选。or查询
->whereHas('user', function ($query) use ($area) { $query->whereBetween('start_date', [$start_date, $end_date])
->whereBetween('end_date', [$start_date, $end_date]);
})->whereHas('user', function ($query) use ($area) {
if ($area) { if ($area) {
if ($area == '苏州市外') { if ($area == '苏州市外') {
$allArea = ParameterDetail::where('parameter_id', 5)->get(); $allArea = ParameterDetail::where('parameter_id', 5)->get();
@ -131,8 +135,7 @@ class CourseSign extends SoftDeletesModel
if (isset($course_ids)) { if (isset($course_ids)) {
$query->whereIn('course_id', $course_ids); $query->whereIn('course_id', $course_ids);
} }
})->whereNotIn('status', [4, 5]) })->whereNotIn('status', [4, 5])->get();
->get();
$user = User::whereIn('id', $courseSignByType->pluck('user_id'))->distinct('mobile'); $user = User::whereIn('id', $courseSignByType->pluck('user_id'))->distinct('mobile');
if ($retList) { if ($retList) {
// 列表 // 列表
@ -148,10 +151,11 @@ class CourseSign extends SoftDeletesModel
*/ */
public static function yhInvested($start_date, $end_date, $retList = false) public static function yhInvested($start_date, $end_date, $retList = false)
{ {
$courseSignByType = CourseSign::whereDate('created_at', '>=', $start_date) $courseSignByType = CourseSign::whereHas('course', function ($query) use ($start_date, $end_date) {
->whereDate('created_at', '<=', $end_date) // 开始结束日期的筛选。or查询
->whereNotIn('status', [4, 5]) $query->whereBetween('start_date', [$start_date, $end_date])
->get(); ->whereBetween('end_date', [$start_date, $end_date]);
})->whereNotIn('status', [4, 5])->get();
$list = Company::whereHas('users', function ($query) use ($courseSignByType) { $list = Company::whereHas('users', function ($query) use ($courseSignByType) {
$query->whereIn('id', $courseSignByType->pluck('user_id')); $query->whereIn('id', $courseSignByType->pluck('user_id'));
})->where('is_yh_invested', 1)->get(); })->where('is_yh_invested', 1)->get();
@ -174,9 +178,11 @@ class CourseSign extends SoftDeletesModel
*/ */
public static function ganbu($start_date, $end_date, $course_ids = null, $retList = false) public static function ganbu($start_date, $end_date, $course_ids = null, $retList = false)
{ {
$courseSignsForGanbu = self::whereDate('created_at', '>=', $start_date) $courseSignsForGanbu = self::whereHas('course', function ($query) use ($start_date, $end_date) {
->whereDate('created_at', '<=', $end_date) // 开始结束日期的筛选。or查询
->where(function ($query) use ($course_ids) { $query->whereBetween('start_date', [$start_date, $end_date])
->whereBetween('end_date', [$start_date, $end_date]);
})->where(function ($query) use ($course_ids) {
if ($course_ids) { if ($course_ids) {
$query->whereIn('course_id', $course_ids); $query->whereIn('course_id', $course_ids);
} }
@ -202,9 +208,11 @@ class CourseSign extends SoftDeletesModel
*/ */
public static function companyMarketAfterEnrollment($start_date, $end_date, $course_ids = null, $retList = false) public static function companyMarketAfterEnrollment($start_date, $end_date, $course_ids = null, $retList = false)
{ {
$courseSignsForStock = self::whereDate('created_at', '>=', $start_date) $courseSignsForStock = self::whereHas('course', function ($query) use ($start_date, $end_date) {
->whereDate('created_at', '<=', $end_date) // 开始结束日期的筛选。or查询
->where(function ($query) use ($course_ids) { $query->whereBetween('start_date', [$start_date, $end_date])
->whereBetween('end_date', [$start_date, $end_date]);
})->where(function ($query) use ($course_ids) {
if ($course_ids) { if ($course_ids) {
$query->whereIn('course_id', $course_ids); $query->whereIn('course_id', $course_ids);
} }

Loading…
Cancel
Save