Update: refactor code and improve statistics functions in SupervisionProjectStatisticsLogic, add new models and statistics for problems, projects, and monthly reports
This commit is contained in:
parent
4f0252031f
commit
a662ccf3c8
@ -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');
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user