model = new Attendance(); } /** * 获取考勤列表 * @param array $where * @return array */ public function getPage(array $where = []) { $field = 'a.*,d.role_name'; $order = 'a.id desc'; $search_model = $this->model ->alias("a") ->join(['school_personnel' => 'b'],'a.staff_id = b.id','left') ->join(['school_campus_person_role' => 'c'],'b.id = c.person_id','left') ->join(['school_sys_role' => 'd'],'c.role_id = d.role_id','left') ->withSearch(["a.campus_id","a.staff_id","a.attendance_date","a.status"], $where) ->with(['campus','personnel']) ->field($field) ->order($order); $list = $this->pageQuery($search_model); return $list; } /** * 获取考勤信息 * @param int $id * @return array */ public function getInfo(int $id) { $field = 'id,campus_id,staff_id,attendance_date,check_in_time,check_out_time,remarks,status,created_at,updated_at,coordinate'; $info = $this->model->field($field)->where([['id', "=", $id]])->with(['campus','personnel'])->findOrEmpty()->toArray(); return $info; } /** * 添加考勤 * @param array $data * @return mixed */ public function add(array $data) { $res = $this->model->create($data); return $res->id; } /** * 考勤编辑 * @param int $id * @param array $data * @return bool */ public function edit(int $id, array $data) { $this->model->where([['id', '=', $id]])->update($data); return true; } /** * 删除考勤 * @param int $id * @return bool */ public function del(int $id) { $model = $this->model->where([['id', '=', $id]])->find(); $res = $model->delete(); return $res; } public function getCampusAll(){ $campusModel = new Campus(); return $campusModel->select()->toArray(); } public function getPersonnelAll(){ $personnelModel = new Personnel(); return $personnelModel->select()->toArray(); } }