|
|
@ -14,6 +14,7 @@ namespace app\service\api\apiService; |
|
|
use app\model\chat_friends\ChatFriends; |
|
|
use app\model\chat_friends\ChatFriends; |
|
|
use app\model\course_schedule\CourseSchedule; |
|
|
use app\model\course_schedule\CourseSchedule; |
|
|
use app\model\person_course_schedule\PersonCourseSchedule; |
|
|
use app\model\person_course_schedule\PersonCourseSchedule; |
|
|
|
|
|
use app\model\venue\Venue; |
|
|
use core\base\BaseApiService; |
|
|
use core\base\BaseApiService; |
|
|
use think\facade\Db; |
|
|
use think\facade\Db; |
|
|
|
|
|
|
|
|
@ -53,28 +54,37 @@ class PersonCourseScheduleService extends BaseApiService |
|
|
$model = $model->where('school_person_course_schedule.status', $where['status']); |
|
|
$model = $model->where('school_person_course_schedule.status', $where['status']); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$venues_info = [];//场地信息 |
|
|
// 判断有没有场地ID |
|
|
// 判断有没有场地ID |
|
|
if (!empty($where['venue_id'])) { |
|
|
if (!empty($where['venue_id'])) { |
|
|
$model = $model->hasWhere('courseScheduleHasOne', ['venue_id' => $where['venue_id']]); |
|
|
$model = $model->hasWhere('courseScheduleHasOne', ['venue_id' => $where['venue_id']]); |
|
|
|
|
|
$venues_info = Venue::where('id',$where['venue_id'])->find(); |
|
|
|
|
|
if($venues_info){ |
|
|
|
|
|
$venues_info = $venues_info->toArray(); |
|
|
|
|
|
}else{ |
|
|
|
|
|
$venues_info = []; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
$data = $model->order('course_date','desc') |
|
|
$data = $model->order('course_date', 'desc') |
|
|
->with([ |
|
|
->with([ |
|
|
//课程安排表 |
|
|
//课程安排表 |
|
|
'courseScheduleHasOne'=>function($query){ |
|
|
'courseScheduleHasOne' => function ($query) { |
|
|
$query->with([ |
|
|
$query->with([ |
|
|
'venue',//场地 |
|
|
'venue',//场地 |
|
|
'campus',//校区 |
|
|
'campus',//校区 |
|
|
'course',//课程 |
|
|
'course',//课程 |
|
|
|
|
|
'coach',//教练 |
|
|
]); |
|
|
]); |
|
|
}, |
|
|
}, |
|
|
]) |
|
|
]) |
|
|
->paginate([ |
|
|
->paginate([ |
|
|
'list_rows' => $limit, |
|
|
'list_rows' => $limit, |
|
|
'page' => $page, |
|
|
'page' => $page, |
|
|
])->toArray(); |
|
|
]) |
|
|
|
|
|
->toArray(); |
|
|
|
|
|
|
|
|
|
|
|
$data['venues_info'] = $venues_info;//场地信息详情 |
|
|
return $data; |
|
|
return $data; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -180,4 +190,56 @@ class PersonCourseScheduleService extends BaseApiService |
|
|
return $res; |
|
|
return $res; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//获取排课日期 |
|
|
|
|
|
public function getCalendar(array $where) |
|
|
|
|
|
{ |
|
|
|
|
|
$data = PersonCourseSchedule::where('resources_id', $where['resources_id']) |
|
|
|
|
|
->where('course_date', '>=', $where['start_date']) |
|
|
|
|
|
->where('course_date', '<=', $where['end_date']) |
|
|
|
|
|
->select() |
|
|
|
|
|
->toArray(); |
|
|
|
|
|
|
|
|
|
|
|
$result = []; |
|
|
|
|
|
$currentDate = strtotime($where['start_date']); |
|
|
|
|
|
$endDate = strtotime($where['end_date']); |
|
|
|
|
|
|
|
|
|
|
|
while ($currentDate <= $endDate) { |
|
|
|
|
|
$dateStr = date('Y-m-d', $currentDate); |
|
|
|
|
|
$today = date('d', $currentDate); |
|
|
|
|
|
$weekDay = date('w', $currentDate); |
|
|
|
|
|
$weekMap = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; |
|
|
|
|
|
$weekStr = $weekMap[$weekDay]; |
|
|
|
|
|
|
|
|
|
|
|
$result[] = [ |
|
|
|
|
|
'date' => $dateStr, |
|
|
|
|
|
'status' => '1', // 默认状态为正常 |
|
|
|
|
|
'is_sign' => '0', // 是否有课|1=有课,0=没课 |
|
|
|
|
|
'week' => $weekStr, |
|
|
|
|
|
'today' => $today |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
$currentDate = strtotime('+1 day', $currentDate); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
foreach ($data as $v) { |
|
|
|
|
|
foreach ($result as &$rv) { |
|
|
|
|
|
if ($rv['date'] == $v['course_date']) { |
|
|
|
|
|
//0待上课1已上课2请假 |
|
|
|
|
|
if (in_array($v['status'], [0, 1])) { |
|
|
|
|
|
$status = '1'; |
|
|
|
|
|
} else { |
|
|
|
|
|
$status = '2'; |
|
|
|
|
|
} |
|
|
|
|
|
$rv['status'] = $status;//状态1是正常 2请假 |
|
|
|
|
|
$rv['is_sign'] = '1';//是否有课|1=有课,0=没课 |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return $result; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|