1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace app\bug\model;
- use app\user\model\Account;
- class DepartUser extends Base
- {
- //设置字段信息
- protected $schema = [
- 'id' =>'bigint',//
- 'uid' =>'bigint',//员工id
- 'nickname' =>'varchar',//员工名称
- 'itemid' =>'bigint',//部门id
- 'is_del' =>'int',//是否删除
- 'status' =>'int',//员工状态 1在职 2离职
- 'addtime' =>'datetime',//
- 'updatetime' =>'datetime',//
- 'position' =>'int',//职位 1普通2负责人
- ];
- protected $updateTime='updatetime';
- protected $createTime='addtime';
-
- public function GetDepartNameByUid($uid){
- $list=Account::where(['id'=>$uid])->with(['accountItem'=>['itemName']])->select();
- return array_column($list->toArray(),"depart_name","id");
- }
- //设置角色部门
- public function SetItem($uid,$itemArr=[]){
- if(empty($itemArr))return $this->where(["uid"=>$uid,"is_del"=>0])->save(["is_del"=>1]);
- else{
- $this->where(['uid'=>$uid,'is_del'=>0])->whereNotIn("itemid",$itemArr)->save(['is_del'=>1]);
- $inItem=$this->where(['uid'=>$uid,'is_del'=>0])->whereIn("itemid",$itemArr)->column("itemid");
- $temp=[];
- $acc = Account::with(["userInfo"])->findOrEmpty($uid);
- if($acc->isEmpty())throw new \Exception("账户不存在");
- foreach ($itemArr as $item){
- if(in_array($item,$inItem)) continue;
- $depin =[
- 'uid'=>$uid,
- 'nickname'=>$acc->nickname,
- 'itemid'=>$item,
- ];
- $temp[]=$depin;
- }
- if(!empty($temp))return $this->saveAll($temp);
- }
- }
- }
|