From 41cc237462b9cbdf4abd8c9ea88f3c144b12482b Mon Sep 17 00:00:00 2001 From: weiz Date: Fri, 19 Jan 2024 11:43:09 +0800 Subject: [PATCH] update --- .../project/ProjectTravelReimbursementLists.php | 2 +- .../project/ProjectTravelReimbursementLogic.php | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/adminapi/lists/project/ProjectTravelReimbursementLists.php b/app/adminapi/lists/project/ProjectTravelReimbursementLists.php index 63a695b6f..1d297f1f0 100644 --- a/app/adminapi/lists/project/ProjectTravelReimbursementLists.php +++ b/app/adminapi/lists/project/ProjectTravelReimbursementLists.php @@ -45,7 +45,7 @@ class ProjectTravelReimbursementLists extends BaseAdminDataLists implements List { return [ '=' => ['trip_apply_id', 'project_id', 'reimbursement_type'], - '%like%' => ['apply_user'], + '%like%' => ['trip_reimbursement_code','apply_user'], ]; } diff --git a/app/adminapi/logic/project/ProjectTravelReimbursementLogic.php b/app/adminapi/logic/project/ProjectTravelReimbursementLogic.php index 1201d8758..3a8043b06 100644 --- a/app/adminapi/logic/project/ProjectTravelReimbursementLogic.php +++ b/app/adminapi/logic/project/ProjectTravelReimbursementLogic.php @@ -209,7 +209,20 @@ class ProjectTravelReimbursementLogic extends BaseLogic */ public static function delete(array $params): bool { - return ProjectTravelReimbursement::destroy($params['id']); + Db::startTrans(); + try { + $travel_reimbursement_detail_ids = ProjectTravelReimbursementDetail::where('travel_reimbursement_id',$params['id'])->column('id'); + $travel_reimbursement_invoice_detail_ids = ProjectTravelReimbursementInvoiceDetail::where('travel_reimbursement_id',$params['id'])->column('id'); + ProjectTravelReimbursement::destroy($params['id']); + ProjectTravelReimbursementDetail::destroy($travel_reimbursement_detail_ids); + ProjectTravelReimbursementInvoiceDetail::destroy($travel_reimbursement_invoice_detail_ids); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } }