feat:1. 新增部门负责人标识并排第一位 - 深优化

2.  clearHelper.php 文件添加判断是cmd命令运行时才执行
This commit is contained in:
weifs
2023-04-28 10:14:10 +08:00
parent 1a3ecbb4e9
commit cd151667c1
3 changed files with 21 additions and 13 deletions

View File

@@ -25,6 +25,7 @@ use Arr;
use Cache;
use Captcha;
use Carbon\Carbon;
use Hedeqiang\UMeng\Facades\Push;
use Request;
/**
@@ -707,13 +708,16 @@ class UsersController extends AbstractController
$query->where("department", "")->orWhere("department", ",,");
});
} else {
// 关联user_departments表中owner_userid查询出负责人重新排序部门负责人始终在前面
$builder->where(function($query) use ($keys) {
$query->where("department", "like", "%,{$keys['department']},%")
->orWhereIn('userid', function ($query) use ($keys) {
$query->select(['owner_userid'])->from('user_departments')->where("id", "=", trim($keys['department'], ','))
->orderByRaw("FIELD(owner_userid,{$keys['department']}) DESC");
$query->where("department", "like", "%,{$keys['department']},%");
$query->orWhereIn('userid', function ($query) use ($keys) {
$query->select('owner_userid')->from('user_departments')->where("id", "=", trim($keys['department'], ','));
});
});
$prefix = \DB::getTablePrefix();
$builder->selectRaw("if(EXISTS(select id from {$prefix}user_departments where owner_userid = userid and id={$keys['department']}),1,0) as is_principal");
$builder->orderBy("is_principal","desc");
}
}
if ($getCheckinMac && isset($keys['checkin_mac'])) {
@@ -725,15 +729,13 @@ class UsersController extends AbstractController
$builder->whereNull('disable_at');
$builder->where('bot', 0);
}
$builder = $keys['department'] == '1' ? $builder : $builder->orderByDesc('userid');
$builder = $keys['department'] == '0' ? $builder->orderByDesc('userid') : $builder;
$list = $builder->paginate(Base::getPaginate(50, 20));
//
if ($getCheckinMac || isset($keys['department'])) {
$list->transform(function (User $user) {
$user->checkin_macs = UserCheckinMac::select(['id', 'mac', 'remark'])->whereUserid($user->userid)->orderBy('id')->get();
// 当为部门负责人时字段identity值为['dm'],表示部门负责人
if ($user->isDepartmentOwner()) {
$user->identity = ['dm'];
if ($getCheckinMac) {
$list->transform(function (User $user) use ($getCheckinMac) {
if($getCheckinMac){
$user->checkin_macs = UserCheckinMac::select(['id', 'mac', 'remark'])->whereUserid($user->userid)->orderBy('id')->get();
}
return $user;
});