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

master
lion 2 weeks ago
commit ea925d7a1c

@ -80,25 +80,27 @@ 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($area)) { }
if ($area == '苏州市外') { if (isset($course_ids)) {
$allArea = ParameterDetail::where('parameter_id', 5)->get(); $query->whereIn('course_id', $course_ids);
$query->whereNotIn('company_area', $allArea->pluck('value')); }
} else { })->whereHas('course', function ($query) use ($start_date, $end_date) {
$query->where('company_area', $area); // 开始结束日期的筛选。or查询
} $query->whereBetween('start_date', [$start_date, $end_date])
} ->whereBetween('end_date', [$start_date, $end_date]);
})->where(function ($query) use ($status, $course_ids) { })->whereHas('user', function ($query) use ($area) {
if (isset($status)) { if (isset($area)) {
$query->where('status', $status); if ($area == '苏州市外') {
} $allArea = ParameterDetail::where('parameter_id', 5)->get();
if (isset($course_ids)) { $query->whereNotIn('company_area', $allArea->pluck('value'));
$query->whereIn('course_id', $course_ids); } else {
$query->where('company_area', $area);
} }
})->whereNotIn('status', [4, 5]); }
})->whereNotIn('status', [4, 5]);
if ($retList) { if ($retList) {
// 返回列表 // 返回列表
return $total->get(); return $total->get();
@ -113,26 +115,27 @@ 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])
if ($area) { ->whereBetween('end_date', [$start_date, $end_date]);
if ($area == '苏州市外') { })->whereHas('user', function ($query) use ($area) {
$allArea = ParameterDetail::where('parameter_id', 5)->get(); if ($area) {
$query->whereNotIn('company_area', $allArea->pluck('value')); if ($area == '苏州市外') {
} else { $allArea = ParameterDetail::where('parameter_id', 5)->get();
$query->where('company_area', $area); $query->whereNotIn('company_area', $allArea->pluck('value'));
} } else {
} $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]) }
->get(); })->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])->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,13 +178,15 @@ 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])
if ($course_ids) { ->whereBetween('end_date', [$start_date, $end_date]);
$query->whereIn('course_id', $course_ids); })->where(function ($query) use ($course_ids) {
} if ($course_ids) {
})->whereNotIn('status', [4, 5]) $query->whereIn('course_id', $course_ids);
}
})->whereNotIn('status', [4, 5])
->whereHas('user', function ($query) { ->whereHas('user', function ($query) {
$query->where('from', '跟班学员'); $query->where('from', '跟班学员');
})->get(); })->get();
@ -202,13 +208,15 @@ 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])
if ($course_ids) { ->whereBetween('end_date', [$start_date, $end_date]);
$query->whereIn('course_id', $course_ids); })->where(function ($query) use ($course_ids) {
} if ($course_ids) {
})->whereNotIn('status', [4, 5]) $query->whereIn('course_id', $course_ids);
}
})->whereNotIn('status', [4, 5])
->with('user.company') ->with('user.company')
->get(); ->get();

Loading…
Cancel
Save