FinanceRepository.php
2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5
 * Time: 18:59
 */
namespace App\Repositories\Backend\Finance;
use App\Exceptions\GeneralException;
use App\Modules\Models\Bill\Bill;
use App\Modules\Models\Settlement\Finance;
use App\Modules\Repositories\Finance\BaseFinanceRepository;
use Illuminate\Support\Facades\DB;
class FinanceRepository  extends BaseFinanceRepository
{
    public function getForDataTable()
    {
        return $this->query()->get();
    }
    public  function  getinfo()
    {
        return $this->query()
            ->select('settlement.id','settlement.guide_total','settlement.spot_id','settlement.business_id','settlement.month','settlement.total','spot.spotname','business.business_name','settlement.status','settlement.bill_id')
            ->leftjoin('spot',"settlement.spot_id",'=','spot.id')
            ->leftjoin('business','settlement.business_id','=','business.id')
            ->get();
    }
    public function change(Finance $finance,$input)
    {
           //插入图片
    
        $key =array_keys($input);
        $res=in_array('img',$key);
        
        if($res){
            $backet="img";
        } else{
            throw new GeneralException(trans('alerts.backend.finance.backet_error'));
            die();
        }
        $img=$this->imgup($backet);
           DB::beginTransaction(); //开启事务
            $bill= new Bill();
            $bill->spot_id = $input['spot_id'];
            $bill->business_id = $input['business_id'];
            $bill->total = $input['total'];
            $bill->tax = $input['tax'];
            $bill->real_pay = $input['real_pay'];
            $bill->img = $img['path'];
            $res1=$bill->save();
            $bill_id= $bill->id;
            $finance =  Finance::find($input['id']);
            $finance->status= 1;
            $finance->bill_id =$bill_id;
             $res= $finance->update();
            if($res && $res1){
               DB::commit();
            }else{
                throw new GeneralException(trans('alerts.backend.finance.insert_error'));
                    DB::rollback();
            }
    }
}