From fb7ed56a5836ceea02d6bcdc862a8e4ab179e037 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Mon, 11 Mar 2024 17:08:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=9F=E8=AE=A1=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CostConsultationReportController.php | 33 ++++++++++++++----- .../model/cost_project/CostProjectPerson.php | 31 +++++++++++++++++ 2 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 app/common/model/cost_project/CostProjectPerson.php diff --git a/app/adminapi/controller/CostConsultationReportController.php b/app/adminapi/controller/CostConsultationReportController.php index cec0748ab..8a81798f1 100644 --- a/app/adminapi/controller/CostConsultationReportController.php +++ b/app/adminapi/controller/CostConsultationReportController.php @@ -2,8 +2,10 @@ namespace app\adminapi\controller; +use app\common\model\auth\Admin; use app\common\model\cost_project\CostApprovedProject; use app\common\model\cost_project\CostProject; +use app\common\model\cost_project\CostProjectPerson; use app\common\model\DataReception; use app\common\model\dept\Dept; use app\common\model\task\TaskAllocation; @@ -162,22 +164,37 @@ class CostConsultationReportController extends BaseAdminController { $page_no = $this->request->param('page_no', 1); $page_size = $this->request->param('page_size', 15); - $project_name = $params['project_name'] ?? ''; - $depar_id = $params['depar_id'] ?? 0; $query = (new CostProject); - $field = 'id,project_num,project_name,depar,principal'; - - $count = $query->count(); - $lists = $query->field($field)->page($page_no, $page_size)->select()->each(function ($item) { + $lists = $query->page($page_no, $page_size)->select()->each(function ($item) { $item['start_date'] = date('Y-m-d', $item['start_date']); $item['end_date'] = date('Y-m-d', $item['end_date']); if ($item['depar'] > 0) { $item['depar'] = Dept::where('id', $item['depar'])->value('name'); } - if ($item['principal'] > 0) { - $item['principal'] = Dept::where('id', $item['principal'])->value('name'); + return $item; + }); + return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size')); + } + + /** + * 项目人员分布 + */ + public function distribution_project_personnel() + { + $page_no = $this->request->param('page_no', 1); + $page_size = $this->request->param('page_size', 15); + $query = (new CostProjectPerson); + $count = $query->count(); + $lists = $query->page($page_no, $page_size)->select()->each(function ($item) { + $CostProject = (new CostProject)->where('id', $item['cost_project_id'])->field('depar,project_name')->find(); + $item['project_name'] = $CostProject['project_name']; + $item['name'] = (new Admin)->where('id', $item['uid'])->value('name'); + + if ($CostProject['depar'] > 0) { + $item['depar'] = Dept::where('id', $CostProject['depar'])->value('name'); } + return $item; }); return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size')); diff --git a/app/common/model/cost_project/CostProjectPerson.php b/app/common/model/cost_project/CostProjectPerson.php new file mode 100644 index 000000000..e93460e7e --- /dev/null +++ b/app/common/model/cost_project/CostProjectPerson.php @@ -0,0 +1,31 @@ +