model = new Contracts(); } /** * 获取合同管理列表 * @param array $where * @return array */ public function getPage(array $where = []) { $field = 'id,student_id,courses_id,title,content,file_data,start_date,end_date,status,create_time,update_time,is_deleted,created_by,created_role,updated_by,updated_role'; $order = 'id desc'; $search_model = $this->model->withSearch(["student_id","title","start_date","end_date","status","create_time"], $where)->with(['students'])->field($field)->order($order); $list = $this->pageQuery($search_model); return $list; } /** * 获取合同管理信息 * @param int $id * @return array */ public function getInfo(int $id) { $field = 'id,student_id,courses_id,signatory_a,signatory_b,staff_id,title,content,file_data,start_date,end_date,status,create_time,update_time,is_deleted,created_by,created_role,updated_by,updated_role'; $info = $this->model->field($field)->where([['id', "=", $id]])->with(['students'])->findOrEmpty()->toArray(); return $info; } /** * 添加合同管理 * @param array $data * @return mixed */ public function add(array $data) { $courses = new Courses(); $student = new Students(); $staff = new Staff(); $file_data = explode('.',$data['file_data'])[1]; if($file_data !== 'docx'){ return fail('请上传docx文档'); } $name = $student->where(['id' => $data['student_id']])->value('name'); $name_b = $courses ->alias("a") ->join(['school_campuses' => 'b'],'a.campuses_id = b.id','left') ->where(['a.id' => $data['courses_id']]) ->value('b.name'); $data['file_data'] = set_pdf($data['file_data'],$name_b,$name); $staff_id = $student ->alias("a") ->where(['a.id' => $data['student_id']]) ->join(['school_staff' => 'b'],'a.user_id = b.id','left') ->value('b.id'); $student_number = get_member_no($staff_id); (new ZhjwRollService())->edit($data['student_id'],[ 'courses_id' => $data['courses_id'], 'course_validity' => $data['end_date'], 'student_number' => $student_number ]); $res = $this->model->create($data); return $res->id; } /** * 合同管理编辑 * @param int $id * @param array $data */ public function edit(int $id, array $data) { $student = new Students(); $courses = new Courses(); $file_data = explode('.',$data['file_data'])[1]; if($file_data !== 'pdf'){ if($file_data !== 'docx'){ return fail('请上传docx文档'); } $name = $student->where(['id' => $data['student_id']])->value('name'); $name_b = $courses ->alias("a") ->join(['school_campuses' => 'b'],'a.campuses_id = b.id','left') ->where(['a.id' => $data['courses_id']]) ->value('b.name'); $data['file_data'] = set_pdf($data['file_data'],$name_b,$name); } $this->model->where([['id', '=', $id]])->update($data); return success('EDIT_SUCCESS'); } /** * 删除合同管理 * @param int $id * @return bool */ public function del(int $id) { $model = $this->model->where([['id', '=', $id]])->find(); $res = $model->delete(); return $res; } public function getStudentsAll(){ $studentsModel = new Students(); return $studentsModel->select()->toArray(); } }