This commit is contained in:
weiz 2024-05-25 19:46:07 +08:00
parent d37c9ebcf2
commit 10ed832144

View File

@ -470,7 +470,7 @@
}
public function copy(){
$param = $this->request->get();
$params = $this->request->get();
$user_id = $this->adminId;
//查询条件
$map = [];
@ -480,7 +480,7 @@
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$list = Db::name('oa_approve')
->field('f.*,a.name,d.title as department_name,t.title as flow_type')
->field('f.*,a.name,d.name as department_name,t.title as flow_type')
->alias('f')
->join('admin a', 'a.id = f.admin_id', 'left')
->join('dept d', 'd.id = a.dept_id', 'left')
@ -489,7 +489,7 @@
->order('f.id desc')
->group('f.id')
->page($page_no, $page_size)
->each(function($item, $key){
->each(function($item){
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
$item['check_user'] = '-';
if($item['check_status']<2 && !empty($item['check_admin_ids'])){
@ -502,4 +502,87 @@
return $this->success('成功', compact('count', 'list', 'page_no', 'page_size'));
}
public function lst(){
$params = $this->request->get();
$user_id = $this->adminId;
$status = $params['status'] ?? 0;
//查询条件
$map1 = [];
$map2 = [];
$map1[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',f.check_admin_ids)")];
$map2[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',f.flow_admin_ids)")];
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
if($status == 0){
$list = Db::name('oa_approve')
->field('f.*,a.name,d.name as department_name,t.title as flow_type')
->alias('f')
->join('admin a', 'a.id = f.admin_id', 'left')
->join('dept d', 'd.id = a.dept_id', 'left')
->join('oa_flow_type t', 't.id = f.type', 'left')
->whereOr([$map1,$map2])
->order('f.id desc')
->group('f.id')
->page($page_no, $page_size)
->each(function($item){
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
$item['check_user'] = '-';
if($item['check_status']<2 && !empty($item['check_admin_ids'])){
$check_user = Db::name('admin')->where('id','in',$item['check_admin_ids'])->column('name');
$item['check_user'] = implode(',',$check_user);
}
return $item;
});
$count = Db::name('oa_approve')->whereOr([$map1,$map2])->count();
}
if($status == 1){
$list = Db::name('oa_approve')
->field('f.*,a.name,d.name as department_name,t.title as flow_type')
->alias('f')
->join('admin a', 'a.id = f.admin_id', 'left')
->join('dept d', 'd.id = a.dept_id', 'left')
->join('oa_flow_type t', 't.id = f.type', 'left')
->where($map1)
->order('f.id desc')
->group('f.id')
->page($page_no, $page_size)
->each(function($item){
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
$item['check_user'] = '-';
if($item['check_status']<2 && !empty($item['check_admin_ids'])){
$check_user = Db::name('admin')->where('id','in',$item['check_admin_ids'])->column('name');
$item['check_user'] = implode(',',$check_user);
}
return $item;
});
$count = Db::name('oa_approve')->where($map1)->count();
}
if($status == 2){
$list = Db::name('oa_approve')
->field('f.*,a.name,d.name as department_name,t.title as flow_type')
->alias('f')
->join('admin a', 'a.id = f.admin_id', 'left')
->join('dept d', 'd.id = a.dept_id', 'left')
->join('oa_flow_type t', 't.id = f.type', 'left')
->where($map2)
->order('f.id desc')
->group('f.id')
->page($page_no, $page_size)
->each(function($item, $key){
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
$item['check_user'] = '-';
if($item['check_status']<2 && !empty($item['check_admin_ids'])){
$check_user = Db::name('admin')->where('id','in',$item['check_admin_ids'])->column('name');
$item['check_user'] = implode(',',$check_user);
}
return $item;
});
$count = Db::name('oa_approve')->where($map2)->count();
}
return $this->success('成功', compact('count', 'list', 'page_no', 'page_size'));
}
}