作者 lyh

gx数据

@@ -362,4 +362,16 @@ class Base extends Model @@ -362,4 +362,16 @@ class Base extends Model
362 $lists = $lists->toArray(); 362 $lists = $lists->toArray();
363 return $lists; 363 return $lists;
364 } 364 }
  365 +
  366 + /**
  367 + * @remark :根据条件获取单个值
  368 + * @name :getValue
  369 + * @author :lyh
  370 + * @method :post
  371 + * @time :2025/7/22 10:00
  372 + */
  373 + public function getValue($data,$field = 'id'){
  374 + $data = $this->filterRequestData($data);
  375 + return $this->formatQuery($data)->value($field);
  376 + }
365 } 377 }
@@ -11,6 +11,8 @@ class ManageHr extends Base @@ -11,6 +11,8 @@ class ManageHr extends Base
11 const GID_ZERO = 0;//超级管理员 11 const GID_ZERO = 0;//超级管理员
12 12
13 const STATUS_ONE = 1; 13 const STATUS_ONE = 1;
  14 +
  15 + const IS_LEADER = 1;//组长
14 /** 16 /**
15 * 特殊字段 17 * 特殊字段
16 * @return string[] 18 * @return string[]
@@ -202,4 +204,32 @@ class ManageHr extends Base @@ -202,4 +204,32 @@ class ManageHr extends Base
202 } 204 }
203 return $name; 205 return $name;
204 } 206 }
  207 +
  208 + /**
  209 + * @remark :根据当前用户登录的id获取当前用户的组长
  210 + * @name :accordIdGetLeader
  211 + * @author :lyh
  212 + * @method :post
  213 + * @time :2025/7/22 9:42
  214 + * @param :manage_id->当前用户的人事id
  215 + */
  216 + public function accordIdGetLeader($id = 0){
  217 + if(empty($id)){
  218 + return 0;
  219 + }
  220 + //查看当前用户是否为组长
  221 + $info = $this->read(['id'=>$id],['belong_group','name','is_leader','dept_id','nickname']);
  222 + if($info === false){
  223 + return 0;
  224 + }
  225 + //不是组长:根据小组获取组长
  226 + if($info['is_leader'] != self::IS_LEADER){
  227 + $id = $this->getValue(['belong_group'=>$info['belong_group'],'is_leader'=> self::IS_LEADER]);
  228 + if(empty($id)){
  229 + //未获取到时,根据当前大组去随机获取一个组长
  230 + $id = $this->getValue(['dept_id'=>$info['dept_id'],'is_leader'=> self::IS_LEADER]);
  231 + }
  232 + }
  233 + return $id;
  234 + }
205 } 235 }