post = $this->request->post(); } public function list() { $page = isset($this->post['page']) && $this->post['page'] != "" ? intval($this->post['page']) : 1; $size = isset($this->post['size']) && $this->post['size'] != "" ? intval($this->post['size']) : 10; $condition=[]; $condition[] = ['is_del',"=",0]; isset($this->post['pid']) &&$this->post['pid']!=="" ? $condition[]=["pid","=",$this->post['pid']]: $condition[]=['pid',"=",0]; isset($this->post['name'])&&$this->post['name']!=="" ? $condition[]=["name","like","%{$this->post['name']}%"]:""; $nickname = isset($this->post['nickname']) && $this->post['nickname'] !==""? trim($this->post['nickname']) :""; if($nickname!=""){ $is= Db::name("depart_user")->where([['nickname','like',"%{$nickname}%"]])->column('itemid'); // var_dump($this->post[$nickname]); if(empty($is)){ return error_show(1004,"未找到数据"); } } $count = Db::name("company_item")->where($condition)->count(); $page >= ceil($count / $size) ? $page = ceil($count / $size) : ""; $list = Db::name("company_item")->where($condition)->page($page, $size)->select(); // var_dump(Db::name("company_item")->getLastSql()); // $this->carray($this->treelist); // var_dump($this->carray($this->treelist)); $data=[]; $act=[]; foreach ($list as $value){ // crea($value); //var_dump($value); $data[]= crea($value);; } // array_walk($data,function (&$value){ //$value['child']= array_values($value['child']); // }); return app_show(0,"获取成功",["list"=>$data,"count"=>$count]); } /*状态*/ public function stat(){ $id = isset($this->post['id'])?intval($this->post['id']):""; if($id==""){ return error_show(1004,"参数id 不能为空"); } $s = Db::name('company_item')->where(["id"=>$id])->find(); if(empty($s)){ return error_show(1005,"未找到部门"); } $di = $s['status']==0? "1":"0"; $s['status']=$di; $s['updatetime'] = date("Y-m-d H:i:s"); // var_dump($s); $ti = Db::name('company_item')->save($s); return app_show(0,"更新成功"); } public function userp(){ $id = isset($this->post['id'])?intval($this->post['id']):""; if($id==""){ return error_show(1004,"参数id 不能为空"); } $t = Db::name('depart_user')->where(["id"=>$id,"is_del"=>0])->find(); if(empty($t)){ return error_show(1005,"未找到用户"); } $position = isset($this->post['position'])?intval($this->post['position']):""; if($position!=""){ return error_show(1004,"职位 不能为空"); } if($position==2){ $f = Db::name('depart_user')->where(['itemid'=>$t['itemid'],"is_del"=>0,"position"=>2])->find(); if(!empty($f)&& $f['id']!=$id){ return error_show(1004,"部门负责任已存在"); } } $t['position']=$position; $t['updatetime'] = date("Y-m-d H:i:s"); $ti = Db::name('company_item')->save($t); return app_show(0,"修改成功"); } public function add(){ $token = isset($this->post['token']) ? trim($this->post['token']) : ""; if($token==""){ return error_show(101,'token不能为空'); } $effetc = VerifyTokens($token); if(!empty($effetc) && $effetc['code']!=0){ return error_show($effetc['code'],$effetc['message']); } $item_name=isset($this->post['name']) && $this->post['name'] !==""? trim($this->post['name']) :""; if($item_name==""){ return error_show(0,"部门名称不能为空"); } $repeat_name = Db::name("company_item")->where(["is_del"=>0,"name"=>$item_name])->find(); if(!empty($repeat_name)){ return error_show(1004,"部门名称已存在"); } $pid = isset($this->post['pid']) && $this->post['pid'] !==""? trim($this->post['pid']):""; if($pid===""){ return error_show(1002,"父级id不能为空"); } $spid = Db::name('company_item')->where(['pid'=>0,'is_del'=>0])->find(); $level = isset($this->post['level']) && $this->post['level'] !==""? trim($this->post['level']):"1"; $weight = isset($this->post['weight']) && $this->post['weight'] !==""? trim($this->post['weight']):"1"; Db::startTrans(); try{ $data =[ "name"=>$item_name, "pid"=>$pid, "level"=>$level, "weight"=>$weight, "is_del"=>0, "addtime"=>date("Y-m-d H:i:s"), "updatetime"=>date("Y-m-d H:i:s"), ]; $t= Db::name("company_item")->insert($data,true); if($t>0){ $depart_link=$spid['depart_link']."{$t}-"; $level =explode('-',$depart_link); $level = array_filter($level); $level= count($level); $i=['depart_link'=>$depart_link,'level'=>$level]; $o=Db::name('company_item')->where(['id'=>$t])->update($i); if($o){ Db::commit(); return error_show(0,"添加成功"); } } Db::rollback(); }catch (\Exception $e){ Db::rollback(); return error_show(1003,$e->getMessage()); } } public function refresh(){ $token = isset($this->post['token']) ? trim($this->post['token']) : ""; if($token==""){ return error_show(101,'token不能为空'); } $effetc = VerifyTokens($token); if(!empty($effetc) && $effetc['code']!=0){ return error_show($effetc['code'],$effetc['message']); } $id = isset($this->post['id'])?intval($this->post['id']):""; $items = Db::name("company_item")->where("id","=",$id)->find(); if($items==false){ return error_show(1003,"部门信息不存在"); } $pid = isset($this->post['pid']) && $this->post['pid'] !==""? trim($this->post['pid']):""; if($pid==""){ return error_show(1002,"父级id不能为空"); } $spid = Db::name('company_item')->where(['pid'=>0,'is_del'=>0])->find(); if(empty($spid)){ return error_show(1004,"父级id不能为空"); } $weight = isset($this->post['weight']) && $this->post['weight'] !==""? trim($this->post['weight']):"1"; $itemname=isset($this->post['name'])? trim($this->post['name']):""; if($itemname==""){ return error_show(1002,"部门名称不能为空"); } $repeat_name = Db::name("company_item")->where(["is_del"=>0,"name"=>$itemname])->where('id','<>',$id)->find(); //echo Db::name("company_item")->getLastSql(); if(!empty($repeat_name)){ return error_show(1004,"部门名称已存在"); } $depart_link=$spid['depart_link']."{$id}-"; $itemlevel =explode('-',$depart_link); $itemlevel = array_filter($itemlevel); $itemlevel= count($itemlevel); $item=[ "id"=>$id, "name"=>$itemname, "updatetime"=>date("Y-m-d H:i:s"), "weight"=>$weight,"pid"=>$pid, 'depart_link'=>$depart_link, 'level'=>$itemlevel ]; $re = Db::name("company_item")->save($item); return $re ? app_show(0,"信息更新成功"): error_show(1003,"信息更新失败"); } public function query(){ $token = isset($this->post['token']) ? trim($this->post['token']) : ""; if($token==""){ return error_show(101,'token不能为空'); } $effetc = VerifyTokens($token); if(!empty($effetc) && $effetc['code']!=0){ return error_show($effetc['code'],$effetc['message']); } $dati = Db::name("company_item")->where(['pid'=>0,'is_del'=>0])->order("weight desc")->select(); $k=[]; foreach ($dati as $key=>$value){ $temp=[]; $temp= Db::name("company_item")->where(['pid'=>$value['id'],'is_del'=>0])->order("weight desc")->select(); $value['child'] =$temp; $k[]=$value; } return app_show(0,"获取成功",$k); } public function itemdel(){ $token = isset($this->post['token']) ? trim($this->post['token']) : ""; if($token==""){ return error_show(101,'token不能为空'); } $effetc = VerifyTokens($token); if(!empty($effetc) && $effetc['code']!=0){ return error_show($effetc['code'],$effetc['message']); } $id = isset($this->post['id']) ? intval($this->post['id']):""; $items = Db::name("company_item")->where(['is_del'=>0,'id'=>$id])->find(); if($items==false){ return error_show(1003,"部门信息不存在"); } $items['is_del']=1; $items['updatetime']=date("Y-m-d H:i:s"); $result = Db::name("company_item")->save($items); return $result ? app_show(0,"删除成功"): error_show(1003,"删除失败"); } }