This commit is contained in:
weiz 2024-06-11 14:56:51 +08:00
parent 0502aee678
commit e490bfe6d2

View File

@ -0,0 +1,170 @@
<?php
namespace app\adminapi\controller\financial;
use app\adminapi\controller\BaseAdminController;
use app\common\model\financial\FinancialBidMargin;
use app\common\model\financial\FinancialBidMarginRecovery;
use app\common\model\financial\FinancialBorrowMoney;
use app\common\model\financial\FinancialInvoice;
use app\common\model\financial\FinancialPerformanceMoneyApply;
use app\common\model\financial\FinancialPerformanceMoneyRecovery;
use app\common\model\financial\FinancialRefund;
use app\common\model\financial\FinancialRepayment;
use app\common\model\financial\FinancialSettlement;
use app\common\model\financial\FinancialUsingFunds;
use app\common\model\marketing\MarketingContract;
class FinancialStatisticsController extends BaseAdminController
{
public function contracts(){
$year = $this->request->get('year',date('Y'));
//统计合同总数
$total_number = MarketingContract::where('status',1)->count();
//年度合同总数
$year_number = MarketingContract::where('status',1)->whereYear('create_time',$year)->count();
//统计总签约金额
$total_signed_amount = MarketingContract::where('status',1)->sum('signed_amount');
//统计年度签约金额
$year_signed_amount = MarketingContract::where('status',1)->whereYear('create_time',$year)->sum('signed_amount');
$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
$number_series = [
'name' => '合同数量',
'data' => []
];
$signed_series = [
'name' => '签约金额',
'data' => []
];
foreach($column as &$v){
$number_series['data'][] = MarketingContract::where('status',1)->whereMonth('create_time',$year.'-'.$v)->count();
$signed_series['data'][] = MarketingContract::where('status',1)->whereMonth('create_time',$year.'-'.$v)->sum('signed_amount');
$v = $v.'月';
}
$result = compact('total_number','year_number','total_signed_amount','year_signed_amount','column','number_series','signed_series');
return $this->success('success',$result);
}
public function invoice(){
$year = $this->request->get('year',date('Y'));
//总开票金额
$total_invoice_amount = FinancialInvoice::sum('apply_amount');
//年度开票金额
$year_invoice_amount = FinancialInvoice::whereYear('create_time',$year)->sum('apply_amount');
//总到账金额
$total_refund_amount = FinancialRefund::sum('amount');
//年度到账金额
$year_refund_amount = FinancialRefund::whereYear('date',$year)->sum('amount');
//总结算金额
$total_settlement_amount = FinancialSettlement::sum('amount');
//年度结算金额
$year_settlement_amount = FinancialSettlement::whereYear('date',$year)->sum('amount');
$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
$invoice_series = [
'name' => '开票金额',
'data' => []
];
$refund_series = [
'name' => '到账金额',
'data' => []
];
$settlement_series = [
'name' => '结算金额',
'data' => []
];
foreach($column as &$v){
$invoice_series['data'][] = FinancialInvoice::whereMonth('create_time',$year.'-'.$v)->sum('apply_amount');
$refund_series['data'][] = FinancialRefund::whereMonth('date',$year.'-'.$v)->sum('amount');
$settlement_series['data'][] = FinancialSettlement::whereMonth('date',$year.'-'.$v)->sum('amount');
$v = $v.'月';
}
$result = compact('total_invoice_amount','year_invoice_amount','total_refund_amount','year_refund_amount','total_settlement_amount','year_settlement_amount',
'column','invoice_series','refund_series','settlement_series');
return $this->success('success',$result);
}
public function bid(){
$year = $this->request->get('year',date('Y'));
//总的保证金申请
$total_margin_apply = FinancialBidMargin::sum('bid_margin');
//年度保证金申请
$year_margin_apply = FinancialBidMargin::whereYear('create_time',$year)->sum('bid_margin');
//总的保证金回收
$total_margin_recovery = FinancialBidMarginRecovery::sum('pay_amount');
//年度保证金回收
$year_margin_recovery = FinancialBidMarginRecovery::whereYear('create_time',$year)->sum('pay_amount');
//总的履约金申请
$total_performance_money_apply = FinancialPerformanceMoneyApply::sum('apply_amount');
//年度履约金申请
$year_performance_money_apply = FinancialPerformanceMoneyApply::whereYear('create_time',$year)->sum('apply_amount');
//总的履约金回收
$total_performance_money_recovery = FinancialPerformanceMoneyRecovery::sum('recovery_amount');
//年度履约金回收
$year_performance_money_recovery = FinancialPerformanceMoneyRecovery::whereYear('create_time',$year)->sum('recovery_amount');
$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
$margin_apply_series = [
'name' => '保证金申请',
'data' => []
];
$margin_recovery_series = [
'name' => '保证金回收',
'data' => []
];
$performance_money_apply_series = [
'name' => '履约金申请',
'data' => []
];
$performance_money_recovery_series = [
'name' => '履约金回收',
'data' => []
];
foreach($column as &$v){
$margin_apply_series['data'][] = FinancialBidMargin::whereMonth('create_time',$year.'-'.$v)->sum('bid_margin');
$margin_recovery_series['data'][] = FinancialBidMarginRecovery::whereMonth('create_time',$year.'-'.$v)->sum('pay_amount');
$performance_money_apply_series['data'][] = FinancialPerformanceMoneyApply::whereMonth('create_time',$year.'-'.$v)->sum('apply_amount');
$performance_money_recovery_series['data'][] = FinancialPerformanceMoneyRecovery::whereMonth('create_time',$year.'-'.$v)->sum('recovery_amount');
$v = $v.'月';
}
$result = compact('total_margin_apply','year_margin_apply','total_margin_recovery','year_margin_recovery','total_performance_money_apply','year_performance_money_apply','total_performance_money_recovery','year_performance_money_recovery',
'column','margin_apply_series','margin_recovery_series','performance_money_apply_series','performance_money_recovery_series');
return $this->success('success',$result);
}
public function fund(){
$year = $this->request->get('year',date('Y'));
//总的用款
$total_using = FinancialUsingFunds::sum('has_pay_amount');
//年度用款
$year_using = FinancialUsingFunds::whereYear('create_time',$year)->sum('has_pay_amount');
//总借款
$total_borrow = FinancialBorrowMoney::sum('amount');
//年度借款
$year_borrow = FinancialBorrowMoney::whereYear('create_time',$year)->sum('amount');
//总还款
$total_repayment = FinancialRepayment::sum('amount');
//年度还款
$year_repayment = FinancialRepayment::whereYear('create_time',$year)->sum('amount');
$column = ['1','2','3','4','5','6','7','8','9','10','11','12'];
$using_series = [
'name' => '用款',
'data' => []
];
$borrow_series = [
'name' => '借款',
'data' => []
];
$repayment_series = [
'name' => '还款',
'data' => []
];
foreach($column as &$v){
$using_series['data'][] = FinancialUsingFunds::whereMonth('create_time',$year.'-'.$v)->sum('has_pay_amount');
$borrow_series['data'][] = FinancialBorrowMoney::whereMonth('create_time',$year.'-'.$v)->sum('amount');
$repayment_series['data'][] = FinancialRepayment::whereMonth('create_time',$year.'-'.$v)->sum('amount');
$v = $v.'月';
}
$result = compact('total_using','year_using','total_borrow','year_borrow','total_repayment','year_repayment',
'column','using_series','borrow_series','repayment_series');
return $this->success('success',$result);
}
}