From f22d45a4cd2976c0d8f60f82f8c2c7e338d09dc6 Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Sat, 18 Nov 2023 15:27:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=A1=E6=A0=B8=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/OaApprove.php | 97 +++++++++++++++----------------- app/oa/controller/Approve.php | 32 +++++------ 2 files changed, 61 insertions(+), 68 deletions(-) diff --git a/app/api/controller/OaApprove.php b/app/api/controller/OaApprove.php index 0f47243..5159e6a 100644 --- a/app/api/controller/OaApprove.php +++ b/app/api/controller/OaApprove.php @@ -147,42 +147,35 @@ class OaApprove extends ApiController } $flow_list = Db::name('Flow')->where('id',$param['flow_id'])->value('flow_list'); $flow = unserialize($flow_list); + if (!isset($param['check_admin_ids'])) { foreach($flow as $item) { // 当前部门负责人 if ($item['flow_type'] == 1) { - $manager_id = Db::name('department')->where('id', $this->did)->value('manager_id'); - if (empty($manager_id)) { + $manager = get_department_manager($this->uid); + if (empty($manager)) { $this->apiError('当前部门负责人不存在'); } } - // 上一级部门负责人 + // 上级部门负责人 if ($item['flow_type'] == 2) { - $pid = Db::name('department')->where('id', $this->did)->value('pid'); - if (empty($pid)) { - $this->apiError('上一级部门不存在'); - } - $manager_id = Db::name('department')->where('id', $pid)->value('manager_id'); - if (empty($manager_id)) { - $this->apiError('上一级部门负责人不存在'); + $manager = get_department_manager($this->uid, 1); + if (empty($manager)) { + $this->apiError('上级部门负责人不存在'); } } // 当前部门分管领导 if ($item['flow_type'] == 5) { - $leader_id = Db::name('department')->where('id', $this->did)->value('leader_id'); - if (empty($leader_id)) { + $leader = get_department_leader($this->uid); + if (empty($leader)) { $this->apiError('当前部门分管领导不存在'); } } - // 上一级部门分管领导 + // 上级部门分管领导 if ($item['flow_type'] == 6) { - $pid = Db::name('department')->where('id', $this->did)->value('pid'); - if (empty($pid)) { - $this->apiError('上一级部门不存在'); - } - $leader_id = Db::name('department')->where('id', $pid)->value('leader_id'); - if (empty($leader_id)) { - $this->apiError('上一级部门分管领导不存在'); + $leader = get_department_leader($this->uid, 1); + if (empty($leader)) { + $this->apiError('上级部门分管领导不存在'); } } } @@ -198,28 +191,28 @@ class OaApprove extends ApiController if (!isset($param['check_admin_ids'])) { if($flow[0]['flow_type'] == 1){ - //部门负责人 - $leader = get_department_leader($this->uid); - if($leader == 0){ - $this->apiError('审批流程设置有问题:当前部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + // 部门负责人 + $manager = get_department_manager($this->uid); + $param['check_admin_ids'] = $manager; } else if($flow[0]['flow_type'] == 2){ - //上级部门负责人 - $leader = get_department_leader($this->uid,1); - if($leader == 0){ - $this->apiError('审批流程设置有问题:上级部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + // 上级部门负责人 + $manager = get_department_manager($this->uid, 1); + $param['check_admin_ids'] = $manager; + } + else if($flow[0]['flow_type'] == 5){ + // 部门分管领导 + $leader = get_department_leader($this->uid); + $param['check_admin_ids'] = $leader; + } + else if($flow[0]['flow_type'] == 6){ + // 上级部门分管领导 + $leader = get_department_leader($this->uid, 1); + $param['check_admin_ids'] = $leader; } else{ $param['check_admin_ids'] = $flow[0]['flow_uids']; - } + } Db::name('Approve')->strict(false)->field(true)->update($param); foreach ($flow as $key => &$value){ $value['action_id'] = $param['id']; @@ -265,24 +258,24 @@ class OaApprove extends ApiController try { if (!isset($param['check_admin_ids'])) { if($flow[0]['flow_type'] == 1){ - //部门负责人 - $leader = get_department_leader($this->uid); - if($leader == 0){ - $this->apiError('当前部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + // 部门负责人 + $manager = get_department_manager($this->uid); + $param['check_admin_ids'] = $manager; } else if($flow[0]['flow_type'] == 2){ - //上级部门负责人 + // 上级部门负责人 + $manager = get_department_manager($this->uid, 1); + $param['check_admin_ids'] = $manager; + } + else if($flow[0]['flow_type'] == 5){ + // 部门分管领导 + $leader = get_department_leader($this->uid); + $param['check_admin_ids'] = $leader; + } + else if($flow[0]['flow_type'] == 6){ + // 上级部门分管领导 $leader = get_department_leader($this->uid, 1); - if($leader == 0){ - $this->apiError('上级部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + $param['check_admin_ids'] = $leader; } else{ $param['check_admin_ids'] = $flow[0]['flow_uids']; diff --git a/app/oa/controller/Approve.php b/app/oa/controller/Approve.php index aa17034..f48a9a5 100644 --- a/app/oa/controller/Approve.php +++ b/app/oa/controller/Approve.php @@ -295,24 +295,24 @@ class Approve extends BaseController if (!isset($param['check_admin_ids'])) { if($flow[0]['flow_type'] == 1){ - //部门负责人 - $leader = get_department_leader($this->uid); - if($leader == 0){ - return to_assign(1,'审批流程设置有问题:当前部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + // 部门负责人 + $manager = get_department_manager($this->uid); + $param['check_admin_ids'] = $manager; } else if($flow[0]['flow_type'] == 2){ - //上级部门负责人 - $leader = get_department_leader($this->uid,1); - if($leader == 0){ - return to_assign(1,'审批流程设置有问题:上级部门负责人还未设置,请联系HR或者管理员'); - } - else{ - $param['check_admin_ids'] = $leader; - } + // 上级部门负责人 + $manager = get_department_manager($this->uid, 1); + $param['check_admin_ids'] = $manager; + } + else if($flow[0]['flow_type'] == 5){ + // 部门分管领导 + $leader = get_department_leader($this->uid); + $param['check_admin_ids'] = $leader; + } + else if($flow[0]['flow_type'] == 6){ + // 上级部门分管领导 + $leader = get_department_leader($this->uid, 1); + $param['check_admin_ids'] = $leader; } else{ $param['check_admin_ids'] = $flow[0]['flow_uids'];