This commit is contained in:
weiz 2024-05-27 10:04:37 +08:00
parent 582f73992f
commit e38d737bbe
2 changed files with 46 additions and 36 deletions

View File

@ -138,14 +138,14 @@
$param['check_admin_ids'] = $leader; $param['check_admin_ids'] = $leader;
} }
}else{ }else{
$param['check_admin_ids'] = $flow[0]['flow_uids']; $param['check_admin_ids'] = $flow_list[0]['flow_uids'];
} }
$aid = Db::name('oa_approve')->strict(false)->field(true)->insertGetId($param); $aid = Db::name('oa_approve')->strict(false)->field(true)->insertGetId($param);
foreach ($flow_list as $key => &$value){ foreach ($flow_list as $key => &$value){
$value['action_id'] = $aid; $value['action_id'] = $aid;
$value['sort'] = $key; $value['sort'] = $key;
$value['create_time'] = time(); $value['create_time'] = time();
$value['type'] = $flow['type']; $value['type'] = 1;
} }
Db::name('oa_flow_step')->strict(false)->field(true)->insertAll($flow_list); Db::name('oa_flow_step')->strict(false)->field(true)->insertAll($flow_list);
} }
@ -154,7 +154,8 @@
$flow_step = array( $flow_step = array(
'action_id' => $aid, 'action_id' => $aid,
'flow_uids' => $param['check_admin_ids'], 'flow_uids' => $param['check_admin_ids'],
'create_time' => time() 'create_time' => time(),
'type' => 1
); );
Db::name('oa_flow_step')->strict(false)->field(true)->insertGetId($flow_step); Db::name('oa_flow_step')->strict(false)->field(true)->insertGetId($flow_step);
} }
@ -166,7 +167,7 @@
'content' => '提交申请', 'content' => '提交申请',
'check_time' => time(), 'check_time' => time(),
'create_time' => time(), 'create_time' => time(),
'type' => $flow['type'], 'type' => 1,
'step_id' => $step_id['id'] 'step_id' => $step_id['id']
); );
$record_id = Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData); $record_id = Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
@ -204,8 +205,8 @@
$param['check_status'] = 0; $param['check_status'] = 0;
$param['check_step_sort'] = 0; $param['check_step_sort'] = 0;
//删除原来的审核流程和审核记录 //删除原来的审核流程和审核记录
Db::name('oa_flow_step')->where(['action_id'=>$param['id']])->update(['delete_time'=>time()]); Db::name('oa_flow_step')->where(['action_id'=>$param['id']])->where('type',1)->update(['delete_time'=>time()]);
Db::name('oa_flow_record')->where(['action_id'=>$param['id']])->update(['delete_time'=>time()]); Db::name('oa_flow_record')->where(['action_id'=>$param['id']])->where('type',1)->update(['delete_time'=>time()]);
if (empty($param['check_admin_ids'])) { if (empty($param['check_admin_ids'])) {
$flow_list = unserialize($flow['flow_list']); $flow_list = unserialize($flow['flow_list']);
if($flow_list[0]['flow_type'] == 1){ if($flow_list[0]['flow_type'] == 1){
@ -221,14 +222,14 @@
$param['check_admin_ids'] = $leader; $param['check_admin_ids'] = $leader;
} }
}else{ }else{
$param['check_admin_ids'] = $flow[0]['flow_uids']; $param['check_admin_ids'] = $flow_list[0]['flow_uids'];
} }
$aid = Db::name('oa_approve')->strict(false)->field(true)->insertGetId($param); $aid = Db::name('oa_approve')->strict(false)->field(true)->insertGetId($param);
foreach ($flow_list as $key => &$value){ foreach ($flow_list as $key => &$value){
$value['action_id'] = $aid; $value['action_id'] = $aid;
$value['sort'] = $key; $value['sort'] = $key;
$value['create_time'] = time(); $value['create_time'] = time();
$value['type'] = $flow['type']; $value['type'] = 1;
} }
Db::name('oa_flow_step')->strict(false)->field(true)->insertAll($flow_list); Db::name('oa_flow_step')->strict(false)->field(true)->insertAll($flow_list);
} }
@ -237,7 +238,8 @@
$flow_step = array( $flow_step = array(
'action_id' => $aid, 'action_id' => $aid,
'flow_uids' => $param['check_admin_ids'], 'flow_uids' => $param['check_admin_ids'],
'create_time' => time() 'create_time' => time(),
'type' => 1,
); );
Db::name('oa_flow_step')->strict(false)->field(true)->insertGetId($flow_step); Db::name('oa_flow_step')->strict(false)->field(true)->insertGetId($flow_step);
} }
@ -249,7 +251,7 @@
'content' => '提交申请', 'content' => '提交申请',
'check_time' => time(), 'check_time' => time(),
'create_time' => time(), 'create_time' => time(),
'type' => $flow['type'], 'type' => 1,
'step_id' => $step_id['id'] 'step_id' => $step_id['id']
); );
$record_id = Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData); $record_id = Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
@ -278,19 +280,19 @@
return $this->fail('你不是该申请的发起者,无权撤销'); return $this->fail('你不是该申请的发起者,无权撤销');
} }
//撤销审核,数据操作 //撤销审核,数据操作
$param['check_status'] = 4; $params['check_status'] = 4;
$param['check_admin_ids'] =''; $params['check_admin_ids'] ='';
$param['check_step_sort'] = 0; $params['check_step_sort'] = 0;
$res = Db::name('oa_approve')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($params); $res = Db::name('oa_approve')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($params);
if($res){ if($res){
$checkData=array( $checkData=array(
'action_id' => $params['id'], 'action_id' => $params['id'],
'step_id' => 0, 'step_id' => 0,
'check_user_id' => $this->adminId, 'check_user_id' => $this->adminId,
'type' => $flow['type'], 'type' => 1,
'check_time' => time(), 'check_time' => time(),
'status' => $param['check'], 'status' => $params['check'],
'content' => $param['content'], 'content' => $params['content'],
'create_time' => time() 'create_time' => time()
); );
Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData); Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
@ -302,30 +304,30 @@
//拒绝 //拒绝
if($params['check'] == 2){ if($params['check'] == 2){
//当前审核节点详情 //当前审核节点详情
$step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort']])->find(); $step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort'],'type'=>1])->find();
$check_admin_ids = explode(",", strval($data['check_admin_ids'])); $check_admin_ids = explode(",", strval($data['check_admin_ids']));
if (!in_array($this->adminId, $check_admin_ids)){ if (!in_array($this->adminId, $check_admin_ids)){
return $this->fail('您没权限审核该审批'); return $this->fail('您没权限审核该审批');
} }
//拒绝审核,数据操作 //拒绝审核,数据操作
$param['check_status'] = 3; $params['check_status'] = 3;
$param['last_admin_id'] = $this->adminId; $params['last_admin_id'] = $this->adminId;
$param['flow_admin_ids'] = $data['flow_admin_ids'].$this->adminId.','; $params['flow_admin_ids'] = $data['flow_admin_ids'].$this->adminId.',';
$param['check_admin_ids'] = ''; $params['check_admin_ids'] = '';
if($step['flow_type'] == 4){ if($step['flow_type'] == 4){
//获取上一步的审核信息 //获取上一步的审核信息
$prev_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']-1)])->find(); $prev_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']-1),'type'=>1])->find();
if($prev_step){ if($prev_step){
//存在上一步审核 //存在上一步审核
$param['check_step_sort'] = $prev_step['sort']; $params['check_step_sort'] = $prev_step['sort'];
$param['check_admin_ids'] = $prev_step['flow_uids']; $params['check_admin_ids'] = $prev_step['flow_uids'];
$param['check_status'] = 1; $params['check_status'] = 1;
} }
else{ else{
//不存在上一步审核,审核初始化步骤 //不存在上一步审核,审核初始化步骤
$param['check_step_sort'] = 0; $params['check_step_sort'] = 0;
$param['check_admin_ids'] = ''; $params['check_admin_ids'] = '';
$param['check_status'] = 0; $params['check_status'] = 0;
} }
} }
$res = Db::name('oa_approve')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($params); $res = Db::name('oa_approve')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($params);
@ -334,10 +336,10 @@
'action_id' => $params['id'], 'action_id' => $params['id'],
'step_id' => $step['id'], 'step_id' => $step['id'],
'check_user_id' => $this->adminId, 'check_user_id' => $this->adminId,
'type' => $flow['type'], 'type' => 1,
'check_time' => time(), 'check_time' => time(),
'status' => $param['check'], 'status' => $params['check'],
'content' => $param['content'], 'content' => $params['content'],
'create_time' => time() 'create_time' => time()
); );
Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData); Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
@ -350,7 +352,7 @@
//通过 //通过
if($params['check'] == 1){ if($params['check'] == 1){
//当前审核节点详情 //当前审核节点详情
$step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort']])->find(); $step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort'],'type'=>1])->find();
$check_admin_ids = explode(",", strval($data['check_admin_ids'])); $check_admin_ids = explode(",", strval($data['check_admin_ids']));
if (!in_array($this->adminId, $check_admin_ids)){ if (!in_array($this->adminId, $check_admin_ids)){
return $this->fail('您没权限审核该审批'); return $this->fail('您没权限审核该审批');
@ -358,11 +360,11 @@
//多人会签审批 //多人会签审批
if($step['flow_type'] == 3){ if($step['flow_type'] == 3){
//查询当前会签记录数 //查询当前会签记录数
$check_count = Db::name('oa_flow_record')->where(['action_id'=>$params['id'],'step_id'=>$step['id']])->count(); $check_count = Db::name('oa_flow_record')->where(['action_id'=>$params['id'],'step_id'=>$step['id'],'type'=>1])->count();
//当前会签记应有记录数 //当前会签记应有记录数
$flow_count = explode(',', $step['flow_uids']); $flow_count = explode(',', $step['flow_uids']);
if(($check_count+1) >=count($flow_count)){ if(($check_count+1) >=count($flow_count)){
$next_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']+1)])->find(); $next_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']+1),'type'=>1])->find();
if($next_step){ if($next_step){
//存在下一步审核 //存在下一步审核
if($next_step['flow_type'] == 1){ if($next_step['flow_type'] == 1){
@ -398,7 +400,7 @@
$flow_step = array( $flow_step = array(
'action_id' => $params['id'], 'action_id' => $params['id'],
'sort' => $next_step, 'sort' => $next_step,
'type' => $flow['type'], 'type' => 1,
'flow_uids' => $params['check_admin_ids'], 'flow_uids' => $params['check_admin_ids'],
'create_time' => time() 'create_time' => time()
); );
@ -453,7 +455,7 @@
'action_id' => $params['id'], 'action_id' => $params['id'],
'step_id' => $step['id'], 'step_id' => $step['id'],
'check_user_id' => $this->adminId, 'check_user_id' => $this->adminId,
'type' => $flow['type'], 'type' => 1,
'check_time' => time(), 'check_time' => time(),
'status' => $params['check'], 'status' => $params['check'],
'content' => $params['content'], 'content' => $params['content'],

View File

@ -0,0 +1,8 @@
<?php
namespace app\adminapi\controller\works\finance;
class ExpenseController
{
}