update
This commit is contained in:
parent
9f25bbd29c
commit
175893b729
@ -7,7 +7,6 @@
|
||||
use app\common\model\auth\Admin;
|
||||
use app\common\model\dept\Dept;
|
||||
use app\common\model\works\bgsp\OaFlow;
|
||||
use app\common\model\works\bgsp\OaFlowType;
|
||||
use think\facade\Db;
|
||||
|
||||
class ExpenseController extends BaseAdminController
|
||||
@ -237,7 +236,7 @@
|
||||
3=> [['check_status','=',2],['pay_admin_id','=',0],['pay_time','=',0]], //审批通过,待打款
|
||||
4=> ['check_status','=',3], //审核不通过
|
||||
5=> ['check_status','=',4], //撤销审核
|
||||
6=> [['check_status','=',2],['pay_admin_id','>',0],['pay_time','>',0]], //撤销审核
|
||||
6=> [['check_status','=',2],['pay_admin_id','>',0],['pay_time','>',0]], //审批通过,已打款
|
||||
};
|
||||
}else{
|
||||
$where[] = ['check_status','in','1,2,3,4'];
|
||||
@ -270,4 +269,467 @@
|
||||
$count = Db::name('oa_expense')->where($where)->where('admin_id',$this->adminId)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
public function copy(){
|
||||
$params = $this->request->get(['start_time','end_time','page_no','page_size']);
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$map = [];
|
||||
if(!empty($params['start_time']) && !empty($params['end_time'])){
|
||||
if(strtotime($params['end_time']) <= strtotime($params['start_time'])){
|
||||
return $this->fail('结束时间不等小于开始时间');
|
||||
}
|
||||
$map[] = ['create_time','between',[strtotime($params['start_time']),strtotime($params['end_time'])]];
|
||||
}
|
||||
//查询条件
|
||||
$map = [];
|
||||
$map[] = ['f.check_status', '=', 2];
|
||||
$map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$this->adminId}',f.copy_uids)")];
|
||||
|
||||
$lists = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map)
|
||||
->order('f.id desc')
|
||||
->group('f.id')
|
||||
->page($page_no, $page_size)->select()
|
||||
->each(function($item){
|
||||
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
|
||||
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_admin_users'] = implode(',',$check_user);
|
||||
}
|
||||
$item['income_month'] = date('Y-m',$item['income_month']);
|
||||
$item['expense_time'] = date('Y-m-d',$item['expense_time']);
|
||||
$item['pay_time'] = !empty($item['pay_time']) ? date('Y-m-d H:i:s',$item['pay_time']) : '';
|
||||
$item['pay_admin_name'] = Admin::where('id',$item['pay_admin_id'])?->value('name');
|
||||
$item['check_status_text'] = match ($item['check_status']){
|
||||
0=>'待审核',1=>'审核中',2=>'审核通过',3=>'审核不通过',4=>'撤销审核'
|
||||
};
|
||||
if(!empty($item['pay_admin_id']) && !empty($item['pay_time']) && $item['check_status'] == 2){
|
||||
$item['check_status_text'] = '已打款';
|
||||
}
|
||||
$item['total_amount'] = 0;
|
||||
foreach (json_decode($item['detail'],true) as $v){
|
||||
$item['total_amount'] += $v['amount'];
|
||||
}
|
||||
return $item;
|
||||
})->toArray();
|
||||
$count = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
public function deal_with(){
|
||||
$params = $this->request->get();
|
||||
$status = !empty($params['status']) ? $params['status'] : 0;
|
||||
//查询条件
|
||||
$map1 = [];
|
||||
$map2 = [];
|
||||
$map1[] = ['', 'exp', Db::raw("FIND_IN_SET('{$this->adminId}',f.check_admin_ids)")];
|
||||
$map2[] = ['', 'exp', Db::raw("FIND_IN_SET('{$this->adminId}',f.flow_admin_ids)")];
|
||||
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$lists = [];
|
||||
$count = 0;
|
||||
if($status == 0){
|
||||
$lists = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->whereOr([$map1,$map2])
|
||||
->order('f.id desc')
|
||||
->group('f.id')
|
||||
->page($page_no, $page_size)->select()
|
||||
->each(function($item){
|
||||
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
|
||||
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_admin_users'] = implode(',',$check_user);
|
||||
}
|
||||
$item['income_month'] = date('Y-m',$item['income_month']);
|
||||
$item['expense_time'] = date('Y-m-d',$item['expense_time']);
|
||||
$item['pay_time'] = !empty($item['pay_time']) ? date('Y-m-d H:i:s',$item['pay_time']) : '';
|
||||
$item['pay_admin_name'] = Admin::where('id',$item['pay_admin_id'])?->value('name');
|
||||
$item['check_status_text'] = match ($item['check_status']){
|
||||
0=>'待审核',1=>'审核中',2=>'审核通过',3=>'审核不通过',4=>'撤销审核'
|
||||
};
|
||||
if(!empty($item['pay_admin_id']) && !empty($item['pay_time']) && $item['check_status'] == 2){
|
||||
$item['check_status_text'] = '已打款';
|
||||
}
|
||||
$item['total_amount'] = 0;
|
||||
foreach (json_decode($item['detail'],true) as $v){
|
||||
$item['total_amount'] += $v['amount'];
|
||||
}
|
||||
return $item;
|
||||
})->toArray();
|
||||
$count = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->whereOr([$map1,$map2])->count();
|
||||
}
|
||||
|
||||
if($status == 1){
|
||||
$lists = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map1)
|
||||
->order('f.id desc')
|
||||
->group('f.id')
|
||||
->page($page_no, $page_size)->select()
|
||||
->each(function($item){
|
||||
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
|
||||
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_admin_users'] = implode(',',$check_user);
|
||||
}
|
||||
$item['income_month'] = date('Y-m',$item['income_month']);
|
||||
$item['expense_time'] = date('Y-m-d',$item['expense_time']);
|
||||
$item['pay_time'] = !empty($item['pay_time']) ? date('Y-m-d H:i:s',$item['pay_time']) : '';
|
||||
$item['pay_admin_name'] = Admin::where('id',$item['pay_admin_id'])?->value('name');
|
||||
$item['check_status_text'] = match ($item['check_status']){
|
||||
0=>'待审核',1=>'审核中',2=>'审核通过',3=>'审核不通过',4=>'撤销审核'
|
||||
};
|
||||
if(!empty($item['pay_admin_id']) && !empty($item['pay_time']) && $item['check_status'] == 2){
|
||||
$item['check_status_text'] = '已打款';
|
||||
}
|
||||
$item['total_amount'] = 0;
|
||||
foreach (json_decode($item['detail'],true) as $v){
|
||||
$item['total_amount'] += $v['amount'];
|
||||
}
|
||||
return $item;
|
||||
})->toArray();
|
||||
$count = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map1)->count();
|
||||
}
|
||||
if($status == 2){
|
||||
$lists = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map2)
|
||||
->order('f.id desc')
|
||||
->group('f.id')
|
||||
->page($page_no, $page_size)->select()
|
||||
->each(function($item, $key){
|
||||
$item['create_time'] = date('Y-m-d H:i', $item['create_time']);
|
||||
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_admin_users'] = implode(',',$check_user);
|
||||
}
|
||||
$item['income_month'] = date('Y-m',$item['income_month']);
|
||||
$item['expense_time'] = date('Y-m-d',$item['expense_time']);
|
||||
$item['pay_time'] = !empty($item['pay_time']) ? date('Y-m-d H:i:s',$item['pay_time']) : '';
|
||||
$item['pay_admin_name'] = Admin::where('id',$item['pay_admin_id'])?->value('name');
|
||||
$item['check_status_text'] = match ($item['check_status']){
|
||||
0=>'待审核',1=>'审核中',2=>'审核通过',3=>'审核不通过',4=>'撤销审核'
|
||||
};
|
||||
if(!empty($item['pay_admin_id']) && !empty($item['pay_time']) && $item['check_status'] == 2){
|
||||
$item['check_status_text'] = '已打款';
|
||||
}
|
||||
$item['total_amount'] = 0;
|
||||
foreach (json_decode($item['detail'],true) as $v){
|
||||
$item['total_amount'] += $v['amount'];
|
||||
}
|
||||
return $item;
|
||||
})->toArray();
|
||||
$count = Db::name('oa_expense')
|
||||
->field('f.*,a.name as user_name,d.name as dept_name')
|
||||
->alias('f')
|
||||
->join('admin a', 'a.id = f.admin_id', 'left')
|
||||
->join('dept d', 'd.id = a.dept_id', 'left')
|
||||
->where($map2)->count();
|
||||
}
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
public function check(){
|
||||
$params = $this->request->post(['id','check','content']);
|
||||
if(empty($params['id'])){
|
||||
return $this->fail('缺少数据主键');
|
||||
}
|
||||
if(empty($params['check']) || !in_array($params['check'],[1,2,3])){
|
||||
return $this->fail('审核参数错误');
|
||||
}
|
||||
if(empty($params['content'])){
|
||||
return $this->fail('请填写审核意见');
|
||||
}
|
||||
$data = Db::name('oa_expense')->where('id',$params['id'])->find();
|
||||
if(empty($data)){
|
||||
return $this->fail('数据信息不存在');
|
||||
}
|
||||
//撤销
|
||||
if($params['check'] == 3){
|
||||
if($data['admin_id'] != $this->adminId){
|
||||
return $this->fail('你不是该申请的发起者,无权撤销');
|
||||
}
|
||||
//撤销审核,数据操作
|
||||
$params['check_status'] = 4;
|
||||
$params['check_admin_ids'] ='';
|
||||
$params['check_step_sort'] = 0;
|
||||
$res = Db::name('oa_expense')->strict(false)->field('check_step_sort,check_status,check_admin_ids')->update($params);
|
||||
if($res){
|
||||
$checkData=array(
|
||||
'action_id' => $params['id'],
|
||||
'step_id' => 0,
|
||||
'check_user_id' => $this->adminId,
|
||||
'type' => 2,
|
||||
'check_time' => time(),
|
||||
'status' => $params['check'],
|
||||
'content' => $params['content'],
|
||||
'create_time' => time()
|
||||
);
|
||||
Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
|
||||
return $this->success('ok');
|
||||
}else{
|
||||
return $this->fail('fail');
|
||||
}
|
||||
}
|
||||
//拒绝
|
||||
if($params['check'] == 2){
|
||||
//当前审核节点详情
|
||||
$step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort'],'type'=>2])->find();
|
||||
$check_admin_ids = explode(",", strval($data['check_admin_ids']));
|
||||
if (!in_array($this->adminId, $check_admin_ids)){
|
||||
return $this->fail('您没权限审核该审批');
|
||||
}
|
||||
//拒绝审核,数据操作
|
||||
$params['check_status'] = 3;
|
||||
$params['last_admin_id'] = $this->adminId;
|
||||
$params['flow_admin_ids'] = $data['flow_admin_ids'].$this->adminId.',';
|
||||
$params['check_admin_ids'] = '';
|
||||
if($step['flow_type'] == 4){
|
||||
//获取上一步的审核信息
|
||||
$prev_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']-1),'type'=>2])->find();
|
||||
if($prev_step){
|
||||
//存在上一步审核
|
||||
$params['check_step_sort'] = $prev_step['sort'];
|
||||
$params['check_admin_ids'] = $prev_step['flow_uids'];
|
||||
$params['check_status'] = 1;
|
||||
}
|
||||
else{
|
||||
//不存在上一步审核,审核初始化步骤
|
||||
$params['check_step_sort'] = 0;
|
||||
$params['check_admin_ids'] = '';
|
||||
$params['check_status'] = 0;
|
||||
}
|
||||
}
|
||||
$res = Db::name('oa_expense')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($params);
|
||||
if($res){
|
||||
$checkData=array(
|
||||
'action_id' => $params['id'],
|
||||
'step_id' => $step['id'],
|
||||
'check_user_id' => $this->adminId,
|
||||
'type' => 2,
|
||||
'check_time' => time(),
|
||||
'status' => $params['check'],
|
||||
'content' => $params['content'],
|
||||
'create_time' => time()
|
||||
);
|
||||
Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
|
||||
return $this->success('ok');
|
||||
}
|
||||
else{
|
||||
return $this->fail('fail');
|
||||
}
|
||||
}
|
||||
//通过
|
||||
if($params['check'] == 1){
|
||||
//当前审核节点详情
|
||||
$step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>$data['check_step_sort'],'type'=>2])->find();
|
||||
$check_admin_ids = explode(",", strval($data['check_admin_ids']));
|
||||
if (!in_array($this->adminId, $check_admin_ids)){
|
||||
return $this->fail('您没权限审核该审批');
|
||||
}
|
||||
//多人会签审批
|
||||
if($step['flow_type'] == 3){
|
||||
//查询当前会签记录数
|
||||
$check_count = Db::name('oa_flow_record')->where(['action_id'=>$params['id'],'step_id'=>$step['id'],'type'=>2])->count();
|
||||
//当前会签记应有记录数
|
||||
$flow_count = explode(',', $step['flow_uids']);
|
||||
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),'type'=>2])->find();
|
||||
if($next_step){
|
||||
//存在下一步审核
|
||||
if($next_step['flow_type'] == 1){
|
||||
//获取部门负责人
|
||||
$dept = Admin::where('id',$data['admin_id'])->value('dept_id');
|
||||
if(empty($dept)){
|
||||
return $this->fail('当前用户未设置部门,请联系管理员');
|
||||
}
|
||||
$leader = Dept::where('id',$dept)->value('leader_id');
|
||||
if(empty($leader)){
|
||||
return $this->fail('当前部门负责人还未设置,请联系管理员');
|
||||
}else{
|
||||
$params['check_admin_ids'] = $leader;
|
||||
}
|
||||
}else{
|
||||
$params['check_admin_ids'] = $next_step['flow_uids'];
|
||||
}
|
||||
$params['check_step_sort'] = $data['check_step_sort']+1;
|
||||
$params['check_status'] = 1;
|
||||
}else{
|
||||
//不存在下一步审核,审核结束
|
||||
$params['check_status'] = 2;
|
||||
$params['check_admin_ids'] ='';
|
||||
}
|
||||
}else{
|
||||
$params['check_status'] = 1;
|
||||
$params['check_admin_ids'] = $step['flow_uids'];
|
||||
}
|
||||
}else if($step['flow_type'] == 0){
|
||||
//自由人审批
|
||||
if($params['check_node'] == 2){
|
||||
$next_step = $data['check_step_sort']+1;
|
||||
$flow_step = array(
|
||||
'action_id' => $params['id'],
|
||||
'sort' => $next_step,
|
||||
'type' => 2,
|
||||
'flow_uids' => $params['check_admin_ids'],
|
||||
'create_time' => time()
|
||||
);
|
||||
$fid = Db::name('oa_flow_step')->strict(false)->field(true)->insertGetId($flow_step);
|
||||
//下一步审核步骤
|
||||
$params['check_step_sort'] = $next_step;
|
||||
$params['check_status'] = 1;
|
||||
}
|
||||
else{
|
||||
//不存在下一步审核,审核结束
|
||||
$params['check_status'] = 2;
|
||||
$params['check_admin_ids'] ='';
|
||||
}
|
||||
}else{
|
||||
$next_step = Db::name('oa_flow_step')->where(['action_id'=>$params['id'],'sort'=>($data['check_step_sort']+1),'type'=>2])->find();
|
||||
if($next_step){
|
||||
//存在下一步审核
|
||||
if($next_step['flow_type'] == 1){
|
||||
//获取部门负责人
|
||||
$dept = Admin::where('id',$data['admin_id'])->value('dept_id');
|
||||
if(empty($dept)){
|
||||
return $this->fail('当前用户未设置部门,请联系管理员');
|
||||
}
|
||||
$leader = Dept::where('id',$dept)->value('leader_id');
|
||||
if(empty($leader)){
|
||||
return $this->fail('当前部门负责人还未设置,请联系管理员');
|
||||
}else{
|
||||
$params['check_admin_ids'] = $leader;
|
||||
}
|
||||
}
|
||||
else{
|
||||
$params['check_admin_ids'] = $next_step['flow_uids'];
|
||||
}
|
||||
$params['check_step_sort'] = $data['check_step_sort']+1;
|
||||
$params['check_status'] = 1;
|
||||
}
|
||||
else{
|
||||
//不存在下一步审核,审核结束
|
||||
$params['check_status'] = 2;
|
||||
$params['check_admin_ids'] ='';
|
||||
}
|
||||
}
|
||||
if($params['check_status'] == 1 && empty($params['check_admin_ids'])){
|
||||
return $this->fail('找不到下一步的审批人,该审批流程设置有问题,请联系HR或者管理员');
|
||||
}
|
||||
//审核通过数据操作
|
||||
$params['last_admin_id'] = $this->adminId;
|
||||
$params['flow_admin_ids'] = $data['flow_admin_ids'].$this->adminId.',';
|
||||
$res = Db::name('oa_expense')->strict(false)->field('check_step_sort,check_status,last_admin_id,flow_admin_ids,check_admin_ids')->update($params);
|
||||
if($res){
|
||||
$checkData=array(
|
||||
'action_id' => $params['id'],
|
||||
'step_id' => $step['id'],
|
||||
'check_user_id' => $this->adminId,
|
||||
'type' => 2,
|
||||
'check_time' => time(),
|
||||
'status' => $params['check'],
|
||||
'content' => $params['content'],
|
||||
'create_time' => time()
|
||||
);
|
||||
Db::name('oa_flow_record')->strict(false)->field(true)->insertGetId($checkData);
|
||||
return $this->success('ok');
|
||||
}
|
||||
else{
|
||||
return $this->fail('fail');
|
||||
}
|
||||
}
|
||||
return $this->fail();
|
||||
}
|
||||
|
||||
public function lists2(){
|
||||
$params = $this->request->get(['start_time','end_time','status','page_no','page_size']);
|
||||
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
|
||||
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
|
||||
$where = [];
|
||||
if(!empty($params['start_time']) && !empty($params['end_time'])){
|
||||
if(strtotime($params['end_time']) <= strtotime($params['start_time'])){
|
||||
return $this->fail('结束时间不等小于开始时间');
|
||||
}
|
||||
$where[] = ['create_time','between',[strtotime($params['start_time']),strtotime($params['end_time'])]];
|
||||
}
|
||||
if(!empty($params['status'])){
|
||||
$where[] = match ($params['status']){
|
||||
1=> [['check_status','=',2],['pay_admin_id','=',0],['pay_time','=',0]], //审批通过,待打款
|
||||
2=> [['check_status','=',2],['pay_admin_id','>',0],['pay_time','>',0]], //审批通过,已打款
|
||||
};
|
||||
}else{
|
||||
$where[] = ['check_status','=',2];
|
||||
}
|
||||
$lists = Db::name('oa_expense')->field('id,code,income_month,expense_time,admin_id,check_admin_ids,check_status,pay_admin_id,pay_time,create_time,detail')->where('admin_id',$this->adminId)->where($where)
|
||||
->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
|
||||
$admin = Admin::field('name,dept_id')->where('id',$data['admin_id'])->findOrEmpty();
|
||||
$dept = Dept::where('id',$admin['dept_id'])->value('name');
|
||||
$check_admin_users = Admin::where('id','in',$data['check_admin_ids'])->column('name');
|
||||
$data['user_name'] = $admin['name'];
|
||||
$data['dept_name'] = $dept ?? '';
|
||||
$data['check_admin_users'] = !empty($check_admin_users) ? implode(',',$check_admin_users) : '';
|
||||
$data['create_time'] = date('Y-m-d H:i:s',$data['create_time']);
|
||||
$data['income_month'] = date('Y-m',$data['income_month']);
|
||||
$data['expense_time'] = date('Y-m-d',$data['expense_time']);
|
||||
$data['pay_time'] = !empty($data['pay_time']) ? date('Y-m-d H:i:s',$data['pay_time']) : '';
|
||||
$data['pay_admin_name'] = Admin::where('id',$data['pay_admin_id'])?->value('name');
|
||||
$data['check_status_text'] = match ($data['check_status']){
|
||||
0=>'待审核',1=>'审核中',2=>'审核通过',3=>'审核不通过',4=>'撤销审核'
|
||||
};
|
||||
if(!empty($data['pay_admin_id']) && !empty($data['pay_time']) && $data['check_status'] == 2){
|
||||
$data['check_status_text'] = '已打款';
|
||||
}
|
||||
$data['total_amount'] = 0;
|
||||
foreach (json_decode($data['detail'],true) as $v){
|
||||
$data['total_amount'] += $v['amount'];
|
||||
}
|
||||
return $data;
|
||||
})->toArray();
|
||||
$count = Db::name('oa_expense')->where($where)->where('admin_id',$this->adminId)->count();
|
||||
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
|
||||
}
|
||||
|
||||
public function payment(){
|
||||
$params = (new ExpenseValidate())->post()->goCheck('pay');
|
||||
$data = Db::name('oa_expense')->where('id',$params['id'])->find();
|
||||
if(empty($data)){
|
||||
return $this->success('申请信息不存在');
|
||||
}
|
||||
if($data['check_status'] !== 2){
|
||||
return $this->success('当前申请未审核通过');
|
||||
}
|
||||
$res = Db::name('oa_expense')->where('id',$params['id'])->update(['pay_admin_id'=>$this->adminId,'pay_time'=>time()]);
|
||||
return $res ? $this->success('ok') : $this->fail('fail');
|
||||
}
|
||||
}
|
@ -79,6 +79,17 @@
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 详情场景
|
||||
* @return ExpenseValidate
|
||||
* @author likeadmin
|
||||
* @date 2024/05/24 14:16
|
||||
*/
|
||||
public function scenePay()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
public function checkFlow($value): bool|string {
|
||||
$data = OaFlow::where('id',$value)->findOrEmpty();
|
||||
if($data->isEmpty()){
|
||||
|
Loading…
x
Reference in New Issue
Block a user