diff --git a/app/adminapi/logic/supervision_project/SupervisionProjectStatisticsLogic.php b/app/adminapi/logic/supervision_project/SupervisionProjectStatisticsLogic.php index 15550d4d0..65607ff9e 100644 --- a/app/adminapi/logic/supervision_project/SupervisionProjectStatisticsLogic.php +++ b/app/adminapi/logic/supervision_project/SupervisionProjectStatisticsLogic.php @@ -9,6 +9,9 @@ use app\common\model\financial\FinancialInvoice; use app\common\model\financial\FinancialRefund; use app\common\model\financial\FinancialSettlement; use app\common\model\marketing\MarketingContract; +use app\common\model\supervision_connect\SupervisionProjectMonthlyReport; +use app\common\model\supervision_project\SupervisionProject; +use app\common\model\supervision_work\SupervisionProblem; class SupervisionProjectStatisticsLogic extends BaseLogic { @@ -22,6 +25,10 @@ class SupervisionProjectStatisticsLogic extends BaseLogic $financialInvoice = new FinancialInvoice(); $financialRefund = new FinancialRefund(); $financialSettlement = new FinancialSettlement(); + $supervisionProblem = new SupervisionProblem(); + $supervisionProject = new SupervisionProject(); + $supervisionProjectMonthlyReport = new SupervisionProjectMonthlyReport(); + $total_apply_amount = $marketingContract->statistics_count([], $time, 'sum', ''); $apply_amount_value = $marketingContract->statistics_count([], $time, 'group', 'create_time'); @@ -41,12 +48,23 @@ class SupervisionProjectStatisticsLogic extends BaseLogic 'value' => $apply_amount_value['y'] ?? 0, 'type' => 1, ]; - $problem_cate = DictData::where('type_value', 'problem_cate')->column('name', 'value'); - - $contract_ids = $consultProject->column('contract'); + //项目问题统计 + $problem_cate = DictData::where('type_value', 'problem_cate')->column('name', 'value'); + foreach ($problem_cate as $k => $v) { + $total = $supervisionProblem->statistics_count(['problem_cate' => $k], $time, 'sum', ''); + $value = $supervisionProblem->statistics_count(['problem_cate' => $k], $time, 'group', 'create_time'); + $data[] = [ + 'title' => $v, + 'desc' => '', + 'total_money' => $total, + 'value' => $value['y'] ?? 0, + 'type' => 1, + ]; + } + $contract_ids = $supervisionProject->column('contract'); //开票金额 - $where[]=['contract_id','in',$contract_ids]; + $where[] = ['contract_id', 'in', $contract_ids]; $total_apply_amount = $financialInvoice->ContractFinancialMoney($where, $time, 'sum', '', 'apply_amount'); $apply_amount_value = $financialInvoice->ContractFinancialMoney($where, $time, 'group', 'create_time', 'apply_amount'); $data[] = [ @@ -76,6 +94,38 @@ class SupervisionProjectStatisticsLogic extends BaseLogic 'value' => $amount_value['y'] ?? 0, 'type' => 1, ]; + + //工程进度 + $total_apply_amount = $supervisionProjectMonthlyReport->statistics([], $time, 'sum', '', 'this_month_progress'); + $apply_amount_value = $supervisionProjectMonthlyReport->statistics([], $time, 'group', 'create_time', 'this_month_progress'); + $data[] = [ + 'title' => '工程进度', + 'desc' => '', + 'total_money' => $total_apply_amount, + 'value' => $apply_amount_value['y'] ?? 0, + 'type' => 1, + ]; + //工程完成 + $total_apply_amount = $supervisionProjectMonthlyReport->statistics([], $time, 'sum', '', 'total_amount'); + $apply_amount_value = $supervisionProjectMonthlyReport->statistics([], $time, 'group', 'create_time', 'total_amount'); + $data[] = [ + 'title' => '工程完成', + 'desc' => '', + 'total_money' => $total_apply_amount, + 'value' => $apply_amount_value['y'] ?? 0, + 'type' => 1, + ]; + //支付总量 + $total_apply_amount = $supervisionProjectMonthlyReport->statistics([], $time, 'sum', '', 'total_pay'); + $apply_amount_value = $supervisionProjectMonthlyReport->statistics([], $time, 'group', 'create_time', 'total_pay'); + $data[] = [ + 'title' => '支付总量', + 'desc' => '', + 'total_money' => $total_apply_amount, + 'value' => $apply_amount_value['y'] ?? 0, + 'type' => 1, + ]; + return $data; } }