From 5bad878c075269975dcb0026776c432decb87b6e Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Tue, 19 Dec 2023 16:47:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExpenseReimbursementDetailLists.php | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/app/adminapi/lists/expense/ExpenseReimbursementDetailLists.php b/app/adminapi/lists/expense/ExpenseReimbursementDetailLists.php index 5231b8a2d..e6ec86921 100644 --- a/app/adminapi/lists/expense/ExpenseReimbursementDetailLists.php +++ b/app/adminapi/lists/expense/ExpenseReimbursementDetailLists.php @@ -15,10 +15,10 @@ namespace app\adminapi\lists\expense; -use app\adminapi\lists\BaseAdminDataLists; +use app\adminapi\lists\BaseAdminDataLists; use app\common\model\expense\ExpenseReimbursementDetail; use app\common\lists\ListsSearchInterface; - +use think\facade\Db; /** * ExpenseReimbursementDetail列表 @@ -38,7 +38,7 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List public function setSearch(): array { return [ - '=' => ['expense_id', 'cost_subject_id'], + '=' => ['expense_id', 'cost_subject_id'], ]; } @@ -54,11 +54,22 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List */ public function lists(): array { - return ExpenseReimbursementDetail::where($this->searchWhere) - ->field(['id', 'expense_id', 'cost_subject_id', 'use_to', 'amount', 'remark']) + return Db::name('ExpenseReimbursementDetail')->alias('erd') + ->where($this->searchWhere) + ->whereNull('erd.delete_time') + ->leftJoin('expense_reimbursement er','er.id = erd.expense_id') + ->leftJoin('orgs o','o.id = er.org_id') + ->leftJoin('dept d','d.id = er.dept_id') + ->leftJoin('custom ct','ct.id = er.customer_id') + ->field('erd.*, er.reimburser, er.reimbursement_date, er.pay_type, d.name as dept_name, o.name as org_name, ct.name as customer_name') ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() + ->order(['er.id' => 'desc']) + ->select()->each(function($item, $key){ + //关联数据后续添加 + $item['year'] = date('Y', strtotime($item['reimbursement_date'])); + $item['month'] = date('m', strtotime($item['reimbursement_date'])); + return $item; + }) ->toArray(); } @@ -71,7 +82,13 @@ class ExpenseReimbursementDetailLists extends BaseAdminDataLists implements List */ public function count(): int { - return ExpenseReimbursementDetail::where($this->searchWhere)->count(); + return Db::name('ExpenseReimbursementDetail')->alias('erd') + ->where($this->searchWhere) + ->whereNull('erd.delete_time') + ->leftJoin('expense_reimbursement er','er.id = erd.expense_id') + ->leftJoin('orgs o','o.id = er.org_id') + ->leftJoin('dept d','d.id = er.dept_id') + ->leftJoin('custom ct','ct.id = er.customer_id')->count(); } } \ No newline at end of file