where([ ['review_status','=', 1], ['contract_type','=',0], ['business_nature','=',1], ['status','=',0] ])->count(); //已立项项目 $approved_project_num = SupervisionProject::field('id')->count(); $result['data'] = [ [ 'name' => '待立项项目', 'value' => $pending_project_num ], [ 'name' => '已立项项目', 'value' => $approved_project_num ] ]; return $this->success('success',$result); } //项目问题统计 public function problem(){ $problem_cate = DictData::where('type_value','problem_cate')->column('name','value'); $data = []; foreach($problem_cate as $k=>$v){ $count = SupervisionProblem::where('problem_cate',$k)->count(); $data[] = [ 'name' => $v, 'value' => $count ]; } $result['data'] = $data; return $this->success('success',$result); } //项目月报统计 public function month_report(){ $year = $this->request->get('year',date('Y')); //统计总的进度 $total_schedule = SupervisionProjectMonthlyReport::sum('this_month_progress'); //统计年度进度 $year_schedule = SupervisionProjectMonthlyReport::whereYear('date',$year)->sum('this_month_progress'); //统计总的完成 $total_complete = SupervisionProjectMonthlyReport::sum('total_amount'); //统计年度完成 $year_complete = SupervisionProjectMonthlyReport::whereYear('date',$year)->sum('total_amount'); //统计总的支付 $total_payment = SupervisionProjectMonthlyReport::sum('total_pay'); //统计年度支付 $year_payment = SupervisionProjectMonthlyReport::whereYear('date',$year)->sum('total_pay'); $column = ['1','2','3','4','5','6','7','8','9','10','11','12']; $schedule_series = [ 'name' => '工程进度', 'data' => [] ]; $complete_series = [ 'name' => '完成总量', 'data' => [] ]; $payment_series = [ 'name' => '支付总量', 'data' => [] ]; foreach($column as &$v){ $schedule_series['data'][] = SupervisionProjectMonthlyReport::whereMonth('date',$year.'-'.$v)->sum('this_month_progress'); $complete_series['data'][] = SupervisionProjectMonthlyReport::whereMonth('date',$year.'-'.$v)->sum('total_amount'); $payment_series['data'][] = SupervisionProjectMonthlyReport::whereMonth('date',$year.'-'.$v)->sum('total_pay'); $v = $v.'月'; } $result = compact('total_schedule','year_schedule','total_complete','year_complete','total_payment','year_payment', 'column','schedule_series','complete_series','payment_series'); return $this->success('success',$result); } public function invoice(){ $year = $this->request->get('year',date('Y')); $contract_ids = SupervisionProject::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); } }