From 32b197969c8c54cba80a39f268f44fb96c0c7db4 Mon Sep 17 00:00:00 2001 From: Truong Vo <41848815+vmtruong301296@users.noreply.github.com> Date: Sat, 26 Apr 2025 09:49:52 +0700 Subject: [PATCH] =?UTF-8?q?B=E1=BB=95=20sung=20check=20tr=C3=B9ng=20ng?= =?UTF-8?q?=C3=A0y=20ph=C3=A9p=20=C4=91=C3=A3=20t=E1=BA=A1o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/Http/Controllers/TicketController.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/BACKEND/Modules/Admin/app/Http/Controllers/TicketController.php b/BACKEND/Modules/Admin/app/Http/Controllers/TicketController.php index 85ffd2f..d8e6c13 100644 --- a/BACKEND/Modules/Admin/app/Http/Controllers/TicketController.php +++ b/BACKEND/Modules/Admin/app/Http/Controllers/TicketController.php @@ -236,6 +236,33 @@ class TicketController extends Controller $dataListPeriodWaiting = array_merge($dataListPeriodWaiting, $this->getAllPeriodNew($ticket->start_date, $ticket->start_period, $ticket->end_date, $ticket->end_period)); } } + // Chuyển đổi mảng đa chiều thành mảng chuỗi để có thể so sánh + $periodStrings = []; + $waitingPeriodStrings = []; + + foreach ($dataListPeriod as $period) { + if($period['period'] == 'ALL'){ + $periodStrings[] = $period['date'] . '_S'; + $periodStrings[] = $period['date'] . '_C'; + }else{ + $periodStrings[] = $period['date'] . '_' . $period['period']; + } + } + + foreach ($dataListPeriodWaiting as $period) { + if($period['period'] == 'ALL'){ + $waitingPeriodStrings[] = $period['date'] . '_S'; + $waitingPeriodStrings[] = $period['date'] . '_C'; + }else{ + $waitingPeriodStrings[] = $period['date'] . '_' . $period['period']; + } + } + + // Kiểm tra xem có sự trùng lặp giữa hai mảng không + if (count(array_intersect($periodStrings, $waitingPeriodStrings)) > 0) { + return AbstractController::ResultError('Đã tồn tại ticket đang trong thời gian chọn, không thể tạo ticket mới!'); + } + // Tạo thông báo về tickets waiting nếu có $waitingTicketsMessage = ''; if (!empty($dataListPeriodWaiting)) {