Bổ sung check trùng ngày phép đã tạo

This commit is contained in:
Truong Vo 2025-04-26 09:49:52 +07:00
parent 462d896e57
commit 32b197969c
1 changed files with 27 additions and 0 deletions

View File

@ -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)) {