|
1
|
SET @startDate = '20260106';
|
|
2
|
|
|
3
|
-- 30
|
|
4
|
SET @fromDate = DATE(@startDate);
|
|
5
|
SET @toDate = DATE_ADD(@fromDate, INTERVAL 30 DAY);
|
|
6
|
|
|
7
|
-- 60
|
|
8
|
SET @fromDate60 = DATE_ADD(@fromDate, INTERVAL 31 DAY);
|
|
9
|
SET @toDate60 = DATE_ADD(@fromDate, INTERVAL 60 DAY);
|
|
10
|
|
|
11
|
-- 90
|
|
12
|
SET @fromDate90 = DATE_ADD(@fromDate, INTERVAL 61 DAY);
|
|
13
|
SET @toDate90 = DATE_ADD(@fromDate, INTERVAL 90 DAY);
|
|
14
|
|
|
15
|
-- 1: 0-30; 2: 31-60; 3: 61-90
|
|
16
|
SET @range = 3;
|
|
17
|
|
|
18
|
SET @countryCode =
|
|
19
|
'JP' -- 2359 - 363,, bookable
|
|
20
|
-- 'KR' -- 952 - 180,156,120 bookable
|
|
21
|
-- 'VN' -- 1248 - 1463,1513,1554 bookable
|
|
22
|
-- 'HK' -- 38 - 19,19,19
|
|
23
|
-- 'LA' -- 2 - unbookable
|
|
24
|
-- 'MX' -- 7 - unbookable
|
|
25
|
-- 'TH' -- 148 - 76,89,80 bookable
|
|
26
|
-- 'TW' -- 26 - 2,2,2 bookable
|
|
27
|
-- 'IL' -- 2 - unbookable
|
|
28
|
-- 'MY' -- 7 - unbookable
|
|
29
|
-- 'ID' -- 2 - 2,2,2 bookable
|
|
30
|
;
|
|
31
|
|
|
32
|
SET @usingFromDate = CAST(DATE_FORMAT(
|
|
33
|
CASE WHEN @range=1 THEN @fromDate
|
|
34
|
WHEN @range=2 THEN @fromDate60
|
|
35
|
ELSE @fromDate90
|
|
36
|
END
|
|
37
|
, '%Y%m%d') AS CHAR);
|
|
38
|
SET @usingToDate = CAST(DATE_FORMAT(
|
|
39
|
CASE WHEN @range=1 THEN @toDate
|
|
40
|
WHEN @range=2 THEN @toDate60
|
|
41
|
ELSE @toDate90
|
|
42
|
END
|
|
43
|
, '%Y%m%d') AS CHAR);
|
|
44
|
|
|
45
|
|
|
46
|
SELECT HM.HOTEL_CODE AS HotelCode
|
|
47
|
, A.LegacyHotelCode
|
|
48
|
, A.HotelName
|
|
49
|
, A.CountryCode
|
|
50
|
, A.CountryName
|
|
51
|
, A.RegionCode
|
|
52
|
, A.RegionName
|
|
53
|
, A.Address
|
|
54
|
, A.PhoneNumber
|
|
55
|
, A.RoomCode
|
|
56
|
, A.LegacyRoomCode
|
|
57
|
, A.RoomName
|
|
58
|
, A.Bookable
|
|
59
|
FROM (
|
|
60
|
SELECT DISTINCT HHM.HOTEL_CODE
|
|
61
|
FROM HO_HOTEL_MASTER HHM
|
|
62
|
INNER JOIN VD_VENDOR_HOTEL_CONTRACT VHC ON VHC.HOTEL_CODE = HHM.HOTEL_CODE
|
|
63
|
WHERE 1=1
|
|
64
|
AND HHM.COUNTRY_CODE = @countryCode
|
|
65
|
AND HHM.REGISTER_STATUS_CODE = 'RST02'
|
|
66
|
AND VHC.CONTRACT_STATUS_CODE = 'A'
|
|
67
|
LIMIT 200 OFFSET 2200
|
|
68
|
) HM
|
|
69
|
INNER JOIN LATERAL(
|
|
70
|
SELECT
|
|
71
|
HHM.HOTEL_CODE AS HotelCode
|
|
72
|
, IFNULL(HHM.LEGACY_HOTEL_CODE, VHC.LEGACY_HOTEL_CODE) AS LegacyHotelCode
|
|
73
|
, HHM.HOTEL_NAME_EN AS HotelName
|
|
74
|
, COUNTRY.COUNTRY_CODE AS CountryCode
|
|
75
|
, COUNTRY.COUNTRY_NAME_EN AS CountryName
|
|
76
|
, REGION.REGION_CODE AS RegionCode
|
|
77
|
, REGION.REGION_NAME_EN AS RegionName
|
|
78
|
, IFNULL(HHM.ADDRESS_EN, IFNULL(HHM.ADDRESS_KO, IFNULL(HHM.ADDRESS_JA, IFNULL(HHM.ADDRESS_VI, HHM.ADDRESS_ZH)))) AS Address
|
|
79
|
, HHM.PHONE_NO AS PhoneNumber
|
|
80
|
, RT.VENDOR_ROOM_TYPE_SEQ AS RoomCode
|
|
81
|
, RT.LEGACY_ROOM_TYPE_CODE AS LegacyRoomCode
|
|
82
|
, RT.ROOM_TYPE_NAME_EN AS RoomName
|
|
83
|
, CASE
|
|
84
|
WHEN COUNT(RDP.DAILY_PRICE_SEQ) <= 10
|
|
85
|
THEN 'No bookable'
|
|
86
|
ELSE 'Bookable'
|
|
87
|
END AS Bookable
|
|
88
|
FROM VD_VENDOR_ROOM_ALLOTMENT RA
|
|
89
|
INNER JOIN VD_VENDOR_ROOM_DAILY_PRICE RDP ON RA.VENDOR_ROOM_TYPE_SEQ = RDP.VENDOR_ROOM_TYPE_SEQ
|
|
90
|
AND RA.APPLIED_DATE = RDP.APPLIED_DATE
|
|
91
|
AND RA.SALES_STOP_YN = RDP.SALES_STOP_YN
|
|
92
|
AND RDP.SALES_STOP_YN = 'N'
|
|
93
|
AND RDP.VENDOR_NET_AMOUNT > 0
|
|
94
|
INNER JOIN VD_VENDOR_ROOM_PLAN RP ON RDP.ROOM_PLAN_SEQ = RP.ROOM_PLAN_SEQ
|
|
95
|
AND RA.HOTEL_CONTRACT_SEQ = RP.HOTEL_CONTRACT_SEQ
|
|
96
|
INNER JOIN VD_VENDOR_HOTEL_CONTRACT VHC ON RP.HOTEL_CONTRACT_SEQ = VHC.HOTEL_CONTRACT_SEQ
|
|
97
|
INNER JOIN US_COMP_MASTER TRADER ON VHC.VENDOR_COMP_CODE = TRADER.COMP_CODE
|
|
98
|
INNER JOIN VD_VENDOR_ROOM_TYPE RT ON RP.VENDOR_ROOM_TYPE_SEQ = RT.VENDOR_ROOM_TYPE_SEQ
|
|
99
|
INNER JOIN HO_HOTEL_MASTER HHM ON VHC.HOTEL_CODE = HHM.HOTEL_CODE
|
|
100
|
INNER JOIN BS_COUNTRY_CODE COUNTRY ON HHM.COUNTRY_CODE = COUNTRY.COUNTRY_CODE
|
|
101
|
LEFT JOIN BS_REGION_CODE REGION ON HHM.REGION_CODE = REGION.REGION_CODE
|
|
102
|
WHERE 1=1
|
|
103
|
AND HHM.COUNTRY_CODE = @countryCode
|
|
104
|
AND VHC.HOTEL_CODE = HM.HOTEL_CODE
|
|
105
|
AND RDP.APPLIED_DATE BETWEEN @usingFromDate AND @usingToDate -- '20260106' AND '20260301'
|
|
106
|
AND VHC.CONTRACT_STATUS_CODE = 'A'
|
|
107
|
AND TRADER.TRADE_STATUS_CODE = 'TST01'
|
|
108
|
AND RP.SALES_STOP_YN = 'N'
|
|
109
|
AND RT.SALES_STOP_YN = 'N'
|
|
110
|
AND HHM.REGISTER_STATUS_CODE = 'RST02' -- Approved
|
|
111
|
GROUP BY HHM.HOTEL_CODE
|
|
112
|
, IFNULL(HHM.LEGACY_HOTEL_CODE, VHC.LEGACY_HOTEL_CODE)
|
|
113
|
, HHM.HOTEL_NAME_EN
|
|
114
|
, COUNTRY.COUNTRY_CODE
|
|
115
|
, COUNTRY.COUNTRY_NAME_EN
|
|
116
|
, REGION.REGION_CODE
|
|
117
|
, REGION.REGION_NAME_EN
|
|
118
|
, IFNULL(HHM.ADDRESS_EN, IFNULL(HHM.ADDRESS_KO, IFNULL(HHM.ADDRESS_JA, IFNULL(HHM.ADDRESS_VI, HHM.ADDRESS_ZH))))
|
|
119
|
, HHM.PHONE_NO
|
|
120
|
, RT.VENDOR_ROOM_TYPE_SEQ
|
|
121
|
, RT.LEGACY_ROOM_TYPE_CODE
|
|
122
|
, RT.ROOM_TYPE_NAME_EN
|
|
123
|
) A ON TRUE
|
|
124
|
;
|
|
125
|
|