admin/app/backend/modules/finance/controllers/RemittanceAuditController.php

64 lines
2.1 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: shenyang
* Date: 2018/6/19
* Time: 下午7:22
*/
namespace app\backend\modules\finance\controllers;
use app\common\components\BaseController;
use app\common\modules\payType\remittance\models\flows\RemittanceAuditFlow;
use app\common\modules\payType\remittance\models\process\RemittanceAuditProcess;
use Illuminate\Database\Eloquent\Builder;
class RemittanceAuditController extends BaseController
{
/**
* @return string
* @throws \Throwable
*/
public function index()
{
return view('finance.remittance.audits', ['data' => json_encode($this->getData())])->render();
}
public function ajax(){
return $this->successJson('成功',$this->getData());
}
private function getData(){
$pageSize = (int)request()->input('pagesize',20);
/**
* @var RemittanceAuditFlow $remittanceAuditFlow
*/
$searchParams = request()->input('searchParams');
$remittanceAuditFlow = RemittanceAuditFlow::first();
$processBuilder = RemittanceAuditProcess::where('flow_id', $remittanceAuditFlow->id)->uniacid()->with(['status', 'remittanceRecord' => function ($query) {
$query->with(['orderPay','member']);
}]);
if(!empty(request()->input('status_id'))){
$processBuilder->where('status_id',request()->input('status_id'));
}
$amount = (clone $processBuilder)
->leftJoin('yz_remittance_record', 'yz_process.model_id', '=', 'yz_remittance_record.id')
->leftJoin('yz_order_pay', 'yz_order_pay.id', '=', 'yz_remittance_record.order_pay_id')
->sum('yz_order_pay.amount');
$processList = $processBuilder->orderBy('id','desc')->paginate($pageSize)->toArray();
$processList['pagesize'] = $pageSize;
//dd($processList);
//exit;
$allStatus = $remittanceAuditFlow->allStatus;
$data = [
'remittanceAudits' => $processList,
'allStatus' => $allStatus,
'searchParams' => $searchParams,
'amount' => $amount
];
return $data;
}
}