Departuser.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. namespace app\bug\controller;
  3. use think\App;
  4. use think\facade\Db;use think\facade\Validate;
  5. class Departuser extends Base
  6. {
  7. protected $noLogin = [];
  8. public function __construct(App $app)
  9. {
  10. parent::__construct($app);
  11. $this->model=new \app\bug\model\DepartUser();
  12. }
  13. /*列表*/
  14. public function list(){
  15. $page = isset($this->post['page']) && $this->post['page'] != "" ? intval($this->post['page']) : 1;
  16. $size = isset($this->post['size']) && $this->post['size'] != "" ? intval($this->post['size']) : 10;
  17. $us=[["is_del","=",0]];
  18. $list = $this->model->with(["itemInfo"])
  19. ->where($us)
  20. ->order("id desc")
  21. ->paginate(["list_rows"=>$size,"page"=>$page]);
  22. return success( '信息获取成功', ['list' => $list->items(), 'count' => $list->total()]);
  23. }
  24. /*添加*/
  25. public function attend(){
  26. $param =$this->request->param(["uid"=>"","itemid"=>""],"post","trim");
  27. $valid=Validate::rule([
  28. 'uid|账户id'=>'require|number|gt:0',
  29. 'itemid|部门id'=>'require|max:255',
  30. 'url|菜单地址'=>'max:255',
  31. 'pid|父级id'=>'require|number',
  32. 'route|菜单路由'=>'max:255'
  33. ]);
  34. if($valid->check($param)==false) return error($valid->getError());
  35. $uid = isset($this->post['uid']) && $this->post['uid'] !==""? trim($this->post['uid']):"";
  36. if($uid==""){
  37. return error_show(1004,"员工id不能为空");
  38. }
  39. $token = isset($this->post['token']) ? trim($this->post['token']) : "";
  40. $to= GetInfoById($token,['id'=>$uid]);
  41. if(empty($to)||$to['code']!=0){
  42. return app_show(1002,"员工信息不存在");
  43. }
  44. $nickname = isset($to['data']['nickname']) &&$to['data']['nickname']!="" ? $to['data']['nickname'] :"" ;
  45. $itemid = isset($this->post['itemid']) && $this->post['itemid'] !==""? trim($this->post['itemid']):"";
  46. if($itemid==""){
  47. return error_show(1004,"部门不能为空");
  48. }
  49. $repeat_itemid = Db::name("depart_user")->where(["is_del"=>0,"itemid"=>$itemid,"uid"=>$uid])->find();
  50. if(!empty($repeat_itemid)){
  51. return error_show(1004,"部门用户已存在");
  52. }
  53. $tid = Db::name('company_item')->where(['id'=>$itemid,'is_del'=>0])->find();
  54. //var_dump( Db::name('company_item')->getLastSql());
  55. if(empty($tid)){
  56. return error_show(1004,"部门不存在");
  57. }
  58. $status = isset($this->post['status']) && $this->post['status'] !==""? trim($this->post['status']) : "1";
  59. if($status==""){
  60. return error_show(0,"状态不能为空");
  61. }
  62. Db::startTrans();
  63. try{
  64. $data = [
  65. 'uid'=>$uid,'nickname'=>$nickname,'itemid'=>$itemid,
  66. 'is_del'=>0,'status'=>$status,
  67. 'addtime'=>date("Y-m-d H:i:s"),
  68. 'updatetime'=>date("Y-m-d H:i:s")
  69. ];
  70. $str=Db::name('depart_user')->insert($data);
  71. if($str){
  72. Db::commit();
  73. return error_show(0,"添加成功");
  74. }else{
  75. Db::rollback();
  76. return error_show(1002,"添加失败");
  77. }
  78. }catch (\Exception $e){
  79. return error_show(1003,$e->getMessage());
  80. }
  81. }
  82. /*编辑*/
  83. public function useredit(){
  84. $token = isset($this->post['token']) ? trim($this->post['token']) : "";
  85. $id = isset($this->post['id']) &&$this->post['id'] !==""? trim($this->post['id']):"";
  86. if($id ==""){
  87. return error_show(1004,"id不能为空");
  88. }
  89. $nid = Db::name('depart_user')->where(['id'=>$id,'is_del'=>0])->find();
  90. if(empty($nid)){
  91. return error_show(1004,"id不能为空");
  92. }
  93. $uid = isset($this->post['uid']) && $this->post['uid'] !==""? trim($this->post['uid']):"";
  94. if($uid ==""){
  95. return error_show(1004,"员工id不能为空");
  96. }
  97. $to= GetInfoById($token,['id'=>$uid]);
  98. if(empty($to)||$to['code']!=0){
  99. return app_show(1002,"员工信息不存在");
  100. }
  101. $nickname = isset($to['data']['nickname']) &&$to['data']['nickname']!="" ? $to['data']['nickname'] :"" ;
  102. $itemid = isset($this->post['itemid']) && $this->post['itemid'] !==""?($this->post)['itemid']: "";
  103. if($itemid==""){
  104. return error_show(1004,"部门id不能为空");
  105. }
  106. $repeat_itemid = Db::name("depart_user")->where(["is_del"=>0,"itemid"=>$itemid,"uid"=>$uid])->where('id','<>',$id)->find();
  107. if(!empty($repeat_itemid)){
  108. return error_show(1004,"部门用户已存在");
  109. }
  110. try{
  111. $d=[
  112. 'uid'=>$uid,'itemid'=>$itemid,'nickname'=>$nickname,
  113. 'is_del'=>0,'addtime'=>date("Y-m-d H:i:s"),
  114. 'updatetime'=>date("Y-m-d H:i:s"),
  115. ];
  116. $r = Db::name("depart_user")->where(["is_del"=>0,"id"=>$id])->save($d);
  117. // var_dump( Db::name("depart_user")->getLastSql());
  118. return $r ? app_show(0,"信息更新成功"): error_show(1003,"信息更新失败");
  119. }catch (\Exception $e){
  120. return error_show(1003,$e->getMessage());
  121. }
  122. }
  123. /*查询*/
  124. public function found(){
  125. $id = isset($this->post['id'])&& $this->post['id'] !==""? trim($this->post['id']) : "";
  126. if($id==""){
  127. return error_show(1004,'员工不能为空');
  128. }
  129. $fo = Db::name('depart_user')->alias('a')->join('company_item b',"b.id=a.id",'left')
  130. ->field('a.*,b.name')->where(['uid'=>$id,'a.is_del'=>0,'b.is_del'=>0])->find();
  131. // var_dump( Db::name('depart_user')->getLastSql());
  132. if(empty($fo)){
  133. return error_show(1004,"信息获取失败");
  134. }
  135. // $fi = Db::name('depart_tips')->field('year,month,total_tips')->where(['depart_uid'=>$id,'is_del'=>0])->select();
  136. // $fo['depart_user']=$fi;
  137. return app_show(0,"获取成功",$fo);
  138. }
  139. /*删除*/
  140. public function userdel(){
  141. $id = isset($this->post['id']) && $this->post['id'] !==""? trim($this->post['id']) :"";
  142. $de = Db::name('depart_user')->where(['is_del'=>0,'id'=>$id])->find();
  143. if($de==false){
  144. return error_show(1004,"员工信息不存在");
  145. }
  146. $de['is_del']=1;
  147. $de['updatetime']= date("Y-m-d H:i:s");
  148. $back = Db::name('depart_user')->save($de);
  149. // var_dump(Db::name('depart_user')->getLastSql());
  150. return $back ? app_show(0,"删除成功") :error_show(1004,"删除失败");
  151. }
  152. }