12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace App\Models;
- class ProjectRole extends BaseModel
- {
- /**
- * @param $key
- * 工区负责人(work)
- * 机电负责人(machine)
- * 项目副经理(assist)
- * 项目经理(manager)
- * 管理员子账号(sub)
- * 领导账号(leader)
- * 管理员(admin)
- * @param $column
- * @return mixed
- */
- public static function getByKey($key, $column = null)
- {
- $role = self::where('key', $key)->first();
- if($column) return $role ? $role[$column] : '';
- return $role;
- }
- public function getNext($column = null, $inner = false)
- {
- $need_check = $inner ? 'need_check_inner' : 'need_check';
- $item = $this->where([
- [$need_check, '=', 1],
- ['id', '>', $this['id']]
- ])->first();
- if(!$inner && $this['key'] == 'manager') {
- $item = self::getByKey('work');
- } else if($inner && $this['key'] == 'admin') {
- $item = self::getByKey('machine');
- }
- return $column ? ($item ? $item[$column] : '') : $item;
- }
- public static function getOptions()
- {
- return self::where('id', '>', 0)->get()->toArray();
- }
- public static function getFirstRole(Order $order)
- {
- return $order['type'] == 1 ? $role = self::getByKey('work') : self::getByKey('machine');
- }
- public static function getLastRole(Order $order)
- {
- return $order['type'] == 1 ? $role = self::getByKey('manager') : self::getByKey('admin');
- }
- }
|