OrgDepart.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace app\admin\controller\base\org;
  3. /**
  4. * @title : 企业部门/组织部门
  5. * @desc :
  6. * @Author : Rock
  7. * @Date : 2022-01-10 09:59:57
  8. * @LastEditTime: 2024-11-28 14:18:23
  9. */
  10. use app\admin\controller\Base;
  11. use app\common\model\base\org\OrgDepart as OrgDepartModel;
  12. use app\admin\validate\base\org\OrgDepart as OrgDepartValidate;
  13. class OrgDepart extends Base
  14. {
  15. protected $noNeedAuth = ['getList'];
  16. protected $noNeedValidate = ['doEdit'];
  17. protected $orgDepartModel = null;
  18. public function initialize()
  19. {
  20. parent::initialize();
  21. $this->orgDepartModel = new OrgDepartModel;
  22. $this->validate = new OrgDepartValidate;
  23. }
  24. /**
  25. * @title: 组织部门列表
  26. * @param {int} {org_id} {非必填} {部门所属组织}
  27. * @return array
  28. * @Author: wangkewei
  29. * @Date: 2021/5/18 9:53
  30. */
  31. public function getList($org_id=0)
  32. {
  33. $where = [];
  34. if(!empty($org_id)){
  35. $where[] = ['org_id','=',$org_id];
  36. }else{
  37. $where[] = ['org_id','=',$this->userinfo['org_id']];
  38. }
  39. $list = $this->orgDepartModel->where($where)->with(['org'])->order("sort ASC")->select();
  40. return res(1,"获取成功",$list);
  41. }
  42. /**
  43. * @title: 组织部门编辑
  44. * @param array
  45. * @return array
  46. * @Author: wangkewei
  47. * @Date: 2021/5/18 9:55
  48. */
  49. public function doEdit()
  50. {
  51. $data = $this->request->param();
  52. if(!empty($data['org_id'])){
  53. $data['org_id'] = $data['org_id'];
  54. }else{
  55. $data['org_id'] = $this->userinfo['org_id'];
  56. }
  57. if(empty($data['depart_id'])){
  58. $maxSort = $this->orgDepartModel->where('org_id',$data['org_id'])->max('sort');
  59. $data['sort'] = $maxSort + 1;
  60. $info = $this->orgDepartModel->where('org_id',$data['org_id'])->where('name',$data['name'])->find();
  61. if(!empty($info)){
  62. return res(1,"部门已存在");
  63. }
  64. }
  65. try{
  66. $check = validate(OrgDepartValidate::class)->check($data);
  67. if(true!==$check){
  68. return res(2,$check);
  69. }
  70. $this->orgDepartModel->replace()->save($data);
  71. $info = $this->orgDepartModel->getData();
  72. slog(1,"编辑了组织部门".$data['name']);
  73. return res(1,"保存成功");
  74. }catch(Exception $e){
  75. slog(2,"编辑了组织部门".$data['name']);
  76. return res(2,"保存失败".$e->getMessage());
  77. }
  78. }
  79. /**
  80. * @title: 组织部门删除
  81. * @param {int} {depart_id} {必填} {部门ID}
  82. * @return array
  83. * @Author: wangkewei
  84. * @Date: 2021/5/18 9:55
  85. */
  86. public function doDelete(int $depart_id=0)
  87. {
  88. $info = $this->orgDepartModel->where("depart_id",$depart_id)->find();
  89. $info->delete();
  90. slog(1,"删除了组织部门".$info->name);
  91. return res(1,"删除成功");
  92. }
  93. }