truong-leave-day #124
			
				
			
		
		
		
	| 
						 | 
				
			
			@ -238,10 +238,24 @@ class TicketController extends Controller
 | 
			
		|||
            }
 | 
			
		||||
 | 
			
		||||
            // Lấy thông tin tickets nghỉ phép đang ở trạng thái CONFIRMED
 | 
			
		||||
            $ticketsConfirmed = Ticket::where('user_id', $user->id)->where('status', 'CONFIRMED')
 | 
			
		||||
            $ticketsConfirmed = Ticket::where('user_id', $user->id)
 | 
			
		||||
                ->where('status', 'CONFIRMED')
 | 
			
		||||
                ->whereIn('type', ['ONLEAVE'])
 | 
			
		||||
                ->where(DB::raw('DATE(start_date)'), '>=', $start_date->toDateString())
 | 
			
		||||
                ->where(DB::raw('DATE(end_date)'), '<=', $end_date->toDateString())
 | 
			
		||||
                ->where(function($query) use ($start_date, $end_date) {
 | 
			
		||||
                    $query->where(function($q) use ($start_date, $end_date) {
 | 
			
		||||
                        // Trường hợp 1: start_date nằm trong khoảng
 | 
			
		||||
                        $q->whereBetween(DB::raw('DATE(start_date)'), [$start_date->toDateString(), $end_date->toDateString()]);
 | 
			
		||||
                    })
 | 
			
		||||
                    ->orWhere(function($q) use ($start_date, $end_date) {
 | 
			
		||||
                        // Trường hợp 2: end_date nằm trong khoảng
 | 
			
		||||
                        $q->whereBetween(DB::raw('DATE(end_date)'), [$start_date->toDateString(), $end_date->toDateString()]);
 | 
			
		||||
                    })
 | 
			
		||||
                    ->orWhere(function($q) use ($start_date, $end_date) {
 | 
			
		||||
                        // Trường hợp 3: Khoảng thời gian được chọn nằm trong khoảng của ticket
 | 
			
		||||
                        $q->where(DB::raw('DATE(start_date)'), '<=', $start_date->toDateString())
 | 
			
		||||
                          ->where(DB::raw('DATE(end_date)'), '>=', $end_date->toDateString());
 | 
			
		||||
                    });
 | 
			
		||||
                })
 | 
			
		||||
                ->get();
 | 
			
		||||
 | 
			
		||||
            $dataListPeriodConfirmed = [];
 | 
			
		||||
| 
						 | 
				
			
			@ -250,7 +264,7 @@ class TicketController extends Controller
 | 
			
		|||
                    $dataListPeriodConfirmed = array_merge($dataListPeriodConfirmed, $this->getAllPeriodNew($ticket->start_date, $ticket->start_period, $ticket->end_date, $ticket->end_period));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // dd($dataListPeriodConfirmed,$ticketsConfirmed,$start_date->toDateString(),$end_date->toDateString());
 | 
			
		||||
            // Chuyển đổi mảng đa chiều thành mảng chuỗi để có thể so sánh
 | 
			
		||||
            $periodStrings = [];
 | 
			
		||||
            $waitingPeriodStrings = [];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue