From 1fef64dc4046f9fba89c88c1aad7f5eae5f011ef Mon Sep 17 00:00:00 2001 From: weiz Date: Wed, 27 Dec 2023 15:13:01 +0800 Subject: [PATCH] update --- .../lists/project/ProjectPersonnelLists.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/adminapi/lists/project/ProjectPersonnelLists.php b/app/adminapi/lists/project/ProjectPersonnelLists.php index 708bbfd12..f6168ad38 100644 --- a/app/adminapi/lists/project/ProjectPersonnelLists.php +++ b/app/adminapi/lists/project/ProjectPersonnelLists.php @@ -16,7 +16,11 @@ namespace app\adminapi\lists\project; use app\adminapi\lists\BaseAdminDataLists; +use app\common\model\build\BuildPlan; +use app\common\model\build\BuildReport; +use app\common\model\build\BuildReportDetail; use app\common\model\project\Project; +use app\common\model\project\ProjectAttendanceDetail; use app\common\model\project\ProjectPersonnel; use app\common\lists\ListsSearchInterface; @@ -65,6 +69,21 @@ class ProjectPersonnelLists extends BaseAdminDataLists implements ListsSearchInt $project = Project::field('name,project_code')->where('id',$item['project_id'])->findOrEmpty(); $item['project_name'] = $project['name']; $item['project_code'] = $project['project_code']; + $item['daily_income'] = ProjectAttendanceDetail::where('person_id',$item['id'])->sum('daily_income'); + $build_report_details = BuildReportDetail::field('report_id,work_num')->where('person_id',$item['id'])->select()->each(function($item2){ + $report = BuildReport::field('plan_id')->where('id',$item2['report_id'])->findOrEmpty(); + $plan = BuildPlan::field('price')->where('id',$report['plan_id'])->findOrEmpty(); + $item2['amount'] = $item2['work_num'] * $plan['price']; + })->toArray(); + $work_income = 0; + foreach($build_report_details as $v){ + $work_income += $v['amount']; + } + $item['work_income'] = $work_income; + $item['total_income'] = $item['daily_income'] + $item['work_income']; + $item['pay_out'] = 0; + $item['balance'] = $item['total_income'] - $item['pay_out']; + return $item; }) ->toArray(); }