FinanceRepository.php 2.12 KB
<?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();
            }

    }
}