Project

General

Profile

VOC support #2850 » PagingScript.sql

Mon Nguyen, 01/09/2026 09:48 AM

 
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

    
(2-2/3)
Add picture from clipboard (Maximum size: 50 MB)