You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
4.9 KiB
172 lines
4.9 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | Niucloud-admin 企业快速开发的多应用管理平台
|
|
// +----------------------------------------------------------------------
|
|
// | 官方网址:https://www.niucloud.com
|
|
// +----------------------------------------------------------------------
|
|
// | niucloud团队 版权所有 开源版本可自由商用
|
|
// +----------------------------------------------------------------------
|
|
// | Author: Niucloud Team
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace app\service\api\apiService;
|
|
|
|
use app\model\chat_friends\ChatFriends;
|
|
use app\model\course_schedule\CourseSchedule;
|
|
use app\model\person_course_schedule\PersonCourseSchedule;
|
|
use core\base\BaseApiService;
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* 测试-控制器服务层
|
|
* Class MemberService
|
|
* @package app\service\api\member
|
|
*/
|
|
class PersonCourseScheduleService extends BaseApiService
|
|
{
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
//查询列表
|
|
public function getList(array $where)
|
|
{
|
|
$page_params = $this->getPageParam();//获取请求参数中的页码+分页数
|
|
$page = $page_params['page'];
|
|
$limit = $page_params['limit'];
|
|
|
|
$model = new PersonCourseSchedule();
|
|
//判断有没有客户资源id
|
|
if (!empty($where['resources_id'])) {
|
|
$model = $model->where('resources_id', $where['resources_id']);
|
|
}
|
|
|
|
//判断有没有客户上课状态
|
|
if (array_key_exists('status', $where) && $where['status'] != '') {
|
|
$model = $model->where('status', $where['status']);
|
|
}
|
|
|
|
$data = $model->order('course_date','desc')
|
|
->with([
|
|
//课程安排表
|
|
'courseScheduleHasOne'=>function($query){
|
|
$query->with([
|
|
'venue',//场地
|
|
'campus',//校区
|
|
'course',//课程
|
|
]);
|
|
},
|
|
])
|
|
->paginate([
|
|
'list_rows' => $limit,
|
|
'page' => $page,
|
|
])->toArray();
|
|
|
|
|
|
return $data;
|
|
}
|
|
|
|
//查询详情
|
|
public function getInfo(array $where)
|
|
{
|
|
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '暂无数据',
|
|
'data' => []
|
|
];
|
|
|
|
$model = new PersonCourseSchedule();
|
|
//判断有无人员与课程安排关系表id
|
|
if (!empty($where['person_course_schedule_id'])) {
|
|
$model = $model->where('id', $where['person_course_schedule_id']);
|
|
}
|
|
$data = $model
|
|
->with([
|
|
//课程安排表
|
|
'courseScheduleHasOne' => function ($query) {
|
|
$query->with([
|
|
'venue',//场地
|
|
'campus',//校区
|
|
'course',//课程
|
|
'coach',//教练
|
|
]);
|
|
},
|
|
])
|
|
->find();
|
|
|
|
|
|
if ($data) {
|
|
$data = $data->toArray();
|
|
|
|
if(empty($data['courseScheduleHasOne']['id'])){
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '暂无课程安排数据',
|
|
'data' => []
|
|
];
|
|
return $res;
|
|
}
|
|
|
|
$res = [
|
|
'code' => 1,
|
|
'msg' => '操作成功',
|
|
'data' => $data
|
|
];
|
|
return $res;
|
|
} else {
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '暂无数据',
|
|
'data' => []
|
|
];
|
|
return $res;
|
|
}
|
|
}
|
|
|
|
//修改人员与课程安排关系表
|
|
public function editStatus( $person_course_schedule_id,array $data){
|
|
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '操作失败',
|
|
'data' => []
|
|
];
|
|
|
|
if(empty($data['updated_at'])){
|
|
$data['updated_at'] = date('Y-m-d H:i:s');
|
|
}
|
|
|
|
$model = PersonCourseSchedule::where('id',$person_course_schedule_id)->find();
|
|
if(!$model){
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '未找到课程安排信息',
|
|
'data' => []
|
|
];
|
|
return $res;
|
|
}
|
|
|
|
//状态0待上课1已上课2请假
|
|
if(in_array($model['status'],[0,2])){
|
|
$edit = PersonCourseSchedule::where('id',$person_course_schedule_id)->update($data);
|
|
|
|
if($edit){
|
|
$res = [
|
|
'code' => 1,
|
|
'msg' => '操作成功',
|
|
'data' => []
|
|
];
|
|
}
|
|
return $res;
|
|
}elseif($model['status'] == 1){
|
|
$res = [
|
|
'code' => 0,
|
|
'msg' => '该课程已上课无法请假',
|
|
'data' => []
|
|
];
|
|
return $res;
|
|
}
|
|
}
|
|
}
|
|
|