diff --git a/app/adminapi/controller/manage_basic/ManageStatisticsController.php b/app/adminapi/controller/manage_basic/ManageStatisticsController.php new file mode 100644 index 000000000..ffed1df70 --- /dev/null +++ b/app/adminapi/controller/manage_basic/ManageStatisticsController.php @@ -0,0 +1,104 @@ +where([ + ['review_status','=', 1], + ['contract_type','=',0], + ['business_nature','=',2], + ['status','=',0] + ])->count(); + //已立项项目 + $approved_project_num = ManageProject::field('id')->count(); + $result['data'] = [ + [ + 'name' => '待立项项目', + 'value' => $pending_project_num + ], + [ + 'name' => '已立项项目', + 'value' => $approved_project_num + ] + ]; + return $this->success('success',$result); + } + + public function invoice(){ + $year = $this->request->get('year',date('Y')); + $contract_ids = ManageProject::column('contract'); + //总开票金额 + $total_invoice_amount = FinancialInvoice::where('contract_id','in',$contract_ids)->sum('apply_amount'); + //年度开票金额 + $year_invoice_amount = FinancialInvoice::where('contract_id','in',$contract_ids)->whereYear('create_time',$year)->sum('apply_amount'); + //总到账金额 + $total_refund_amount = FinancialRefund::where('contract_id','in',$contract_ids)->sum('amount'); + $year_refund_amount = FinancialRefund::where('contract_id','in',$contract_ids)->whereYear('date',$year)->sum('amount'); + //总结算金额 + $total_settlement_amount = FinancialSettlement::where('contract_id','in',$contract_ids)->sum('amount'); + //年度结算金额 + $year_settlement_amount = FinancialSettlement::where('contract_id','in',$contract_ids)->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::where('contract_id','in',$contract_ids)->whereMonth('create_time',$year.'-'.$v)->sum('apply_amount'); + $refund_series['data'][] = FinancialRefund::where('contract_id','in',$contract_ids)->whereMonth('date',$year.'-'.$v)->sum('amount'); + $settlement_series['data'][] = FinancialSettlement::where('contract_id','in',$contract_ids)->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 metered_payment(){ + $year = $this->request->get('year',date('Y')); + //统计总的进度 + $total_done = ManageMeteredPayment::sum('month_amount'); + //统计年度进度 + $year_done = ManageMeteredPayment::whereYear('date',$year)->sum('month_amount'); + //统计总的支付 + $total_payment = ManageMeteredPayment::sum('month_pay'); + //统计年度支付 + $year_payment = ManageMeteredPayment::whereYear('date',$year)->sum('month_pay'); + $column = ['1','2','3','4','5','6','7','8','9','10','11','12']; + $complete_series = [ + 'name' => '完成总量', + 'data' => [] + ]; + $payment_series = [ + 'name' => '支付总量', + 'data' => [] + ]; + foreach($column as &$v){ + $complete_series['data'][] = ManageMeteredPayment::whereMonth('date',$year.'-'.$v)->sum('month_amount'); + $payment_series['data'][] = ManageMeteredPayment::whereMonth('date',$year.'-'.$v)->sum('month_pay'); + $v = $v.'月'; + } + $result = compact('total_done','year_done','total_payment','year_payment', + 'column','complete_series','payment_series'); + return $this->success('success',$result); + } + } \ No newline at end of file