개선(improvement) #984
closed개선(improvement) #954: * Rate Plan improvement _CANCELLATION POLICY
개선(improvement) #998: 2. Develop Multiple Cancellation Policy Registration Feature
Migrate current plan cancel policy to default section
Description
Migrate all current plan cancel policies to default section
Updated by calvin dev 7 months ago
- DELETE FROM VD_VENDOR_PLAN_CANCEL_POLICY C
- WHERE C.ROOM_PLAN_SEQ NOT IN (SELECT P.ROOM_PLAN_SEQ FROM VD_VENDOR_ROOM_PLAN P)
- TRUNCATE TABLE VD_VENDOR_PLAN_CANCEL_POLICY_MASTER; #
- UPDATE VD_VENDOR_PLAN_CANCEL_POLICY SET POLICY_MASTER_SEQ = NULL WHERE POLICY_MASTER_SEQ IS NOT NULL; #
- -- 1/ migrate all plan policy into plan_policy_master
- INSERT INTO VD_VENDOR_PLAN_CANCEL_POLICY_MASTER
- (ROOM_PLAN_SEQ, DEFAULT_YN, NON_REFUNDABLE_YN, USE_POLICY_OPTION_YN, APPLIED_FROM_DATE, APPLIED_TO_DATE, DATE_OPTION_YN )
- SELECT
- O.ROOM_PLAN_SEQ AS ROOM_PLAN_SEQ
- , CASE WHEN ROW_NUMBER() OVER = 1 THEN 'Y' ELSE 'N' END AS DEFAULT_YN
- , P.NON_REFUNDABLE_YN
- ,CASE WHEN ROW_NUMBER() OVER = 1 THEN 'Y' ELSE 'N' END AS USE_POLICY_OPTION_YN
- , O.APPLIED_FROM_DATE
- , O.APPLIED_TO_DATE
- , 'N' AS DATE_OPTION_YN
- FROM VD_VENDOR_PLAN_CANCEL_POLICY O
- INNER JOIN VD_VENDOR_ROOM_PLAN P ON P.ROOM_PLAN_SEQ = O.ROOM_PLAN_SEQ
- WHERE O.POLICY_MASTER_SEQ IS NULL
- GROUP BY O.ROOM_PLAN_SEQ, O.APPLIED_FROM_DATE, O.APPLIED_TO_DATE
- ; # # # #
- -- 3/ check plans is non-refund = 'Y' and don't have orginal plan and don't have any policy and then create a policy_master_Seq with default_yn = 'Y' and from now -> 2099
- INSERT INTO VD_VENDOR_PLAN_CANCEL_POLICY_MASTER
- (ROOM_PLAN_SEQ, DEFAULT_YN, NON_REFUNDABLE_YN, USE_POLICY_OPTION_YN, APPLIED_FROM_DATE, APPLIED_TO_DATE, DATE_OPTION_YN , FIRST_INSERT_UNO )
- SELECT P.ROOM_PLAN_SEQ, 'Y' AS DEFAULT_YN, P.NON_REFUNDABLE_YN, 'Y' AS USE_POLICY_OPTION_YN
- , '20240101' AS APPLIED_FROM_DATE, '20990101' AS APPLIED_TO_DATE, 'N' AS DATE_OPTION_YN, 30000 AS FIRST_INSERT_UNO
- FROM VD_VENDOR_ROOM_PLAN P
- WHERE P.NON_REFUNDABLE_YN = 'Y' AND P.ORIGIN_ROOM_PLAN_SEQ IS NULL
- AND P.ROOM_PLAN_SEQ NOT IN (SELECT DISTINCT M.ROOM_PLAN_SEQ FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER M WHERE M.NON_REFUNDABLE_YN = 'Y' )
- AND P.ROOM_PLAN_SEQ NOT IN (SELECT DISTINCT C.ROOM_PLAN_SEQ FROM VD_VENDOR_PLAN_CANCEL_POLICY C); #
- -- 4/ check plans is non-refund = 'N' and don't have original plan, -> create policy master seq
- INSERT INTO VD_VENDOR_PLAN_CANCEL_POLICY_MASTER
- (ROOM_PLAN_SEQ, DEFAULT_YN, NON_REFUNDABLE_YN, USE_POLICY_OPTION_YN, APPLIED_FROM_DATE, APPLIED_TO_DATE, DATE_OPTION_YN , FIRST_INSERT_UNO )
- SELECT P.ROOM_PLAN_SEQ, 'Y' AS DEFAULT_YN, P.NON_REFUNDABLE_YN, 'Y' AS USE_POLICY_OPTION_YN
- , '20240101' AS APPLIED_FROM_DATE, '20990101' AS APPLIED_TO_DATE, 'N' AS DATE_OPTION_YN, 30000 AS FIRST_INSERT_UNO
- FROM VD_VENDOR_ROOM_PLAN P WHERE P.NON_REFUNDABLE_YN = 'N' AND P.ORIGIN_ROOM_PLAN_SEQ IS NULL
- AND P.ROOM_PLAN_SEQ NOT IN (SELECT DISTINCT M.ROOM_PLAN_SEQ FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER M); #
- -- 5/ update policy_master_seq in vd_Vendor_cancel_policy
- UPDATE VD_VENDOR_PLAN_CANCEL_POLICY O
- INNER JOIN VD_VENDOR_PLAN_CANCEL_POLICY_MASTER M ON M.ROOM_PLAN_SEQ = O.ROOM_PLAN_SEQ
- AND M.APPLIED_FROM_DATE = O.APPLIED_FROM_DATE AND M.APPLIED_TO_DATE = O.APPLIED_TO_DATE
- SET O.POLICY_MASTER_SEQ = M.POLICY_MASTER_SEQ
- WHERE O.POLICY_MASTER_SEQ IS NULL
- ;
- SELECT * FROM VD_VENDOR_PLAN_CANCEL_POLICY C
- INNER JOIN VD_VENDOR_ROOM_PLAN R ON R.ROOM_PLAN_SEQ = C.ROOM_PLAN_SEQ
- WHERE POLICY_MASTER_SEQ IS NOT NULL;
- SELECT (SELECT COUNT FROM VD_VENDOR_ROOM_PLAN WHERE ORIGIN_ROOM_PLAN_SEQ IS NULL AND NON_REFUNDABLE_YN = 'Y') AS OLD_NON_REF
- , (SELECT COUNT FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER M WHERE DEFAULT_YN = 'Y' AND M.NON_REFUNDABLE_YN = 'Y') AS NEW_NON_REF
- , (SELECT COUNT FROM VD_VENDOR_ROOM_PLAN WHERE ORIGIN_ROOM_PLAN_SEQ IS NULL AND NON_REFUNDABLE_YN = 'N') AS OLD_REF
- , (SELECT COUNT FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER M WHERE DEFAULT_YN = 'Y' AND M.NON_REFUNDABLE_YN = 'N') AS NEW_REF
- , (SELECT COUNT FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER) AS COUNT_MASTER
- , (SELECT COUNT FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER WHERE DEFAULT_YN = 'N') AS COUNT_COUNT_OPTION -- DEV CREATE FIRST
- ;
-- check case non refund = N but not cxl item
SELECT * FROM VD_VENDOR_PLAN_CANCEL_POLICY_MASTER
WHERE NON_REFUNDABLE_YN = 'N'
AND POLICY_MASTER_SEQ NOT IN (SELECT VD_VENDOR_PLAN_CANCEL_POLICY.POLICY_MASTER_SEQ
FROM VD_VENDOR_PLAN_CANCEL_POLICY);
Updated by Joseph Vo 7 months ago
- Related to 개선(improvement) #998: 2. Develop Multiple Cancellation Policy Registration Feature added
Updated by calvin dev 7 months ago
- Status changed from 신규(New) to 진행(Doing)
- Start date set to 07/31/2025
Updated by calvin dev 7 months ago
- Due date set to 08/01/2025
- Status changed from 진행(Doing) to 완료(Done)
- % Done changed from 0 to 90
- Build env. set to Dev
migrated, IT is testing on dev
Updated by calvin dev 7 months ago
- % Done changed from 90 to 100
write scipt to compare data after migrate
Updated by calvin dev 7 days ago
create table VD_VENDOR_PLAN_CANCEL_POLICY_MASTER
(
POLICY_MASTER_SEQ bigint auto_increment
primary key,
ROOM_PLAN_SEQ bigint not null,
DEFAULT_YN varchar(1) not null,
NON_REFUNDABLE_YN varchar(1) not null,
USE_POLICY_OPTION_YN varchar(1) default 'N' not null,
APPLIED_FROM_DATE date not null,
APPLIED_TO_DATE date not null,
DATE_OPTION_YN varchar(1) default 'N' not null,
APPLIED_SUN_YN varchar(1) default 'N' not null,
APPLIED_MON_YN varchar(1) default 'N' not null,
APPLIED_TUE_YN varchar(1) default 'N' not null,
APPLIED_WED_YN varchar(1) default 'N' not null,
APPLIED_THU_YN varchar(1) default 'N' not null,
APPLIED_FRI_YN varchar(1) default 'N' not null,
APPLIED_SAT_YN varchar(1) default 'N' not null,
DELETE_YN varchar(1) default 'N' not null,
DISPLAY_ORDER smallint null,
FIRST_INSERT_UNO bigint default 10000 not null,
FIRST_INSERT_DATETIME datetime default CURRENT_TIMESTAMP not null,
LAST_UPDATE_UNO bigint default 10000 not null,
LAST_UPDATE_DATETIME datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP,
DISPLAY_TITLE varchar(150) null
)
comment 'vendor room plan cancellation policy master' avg_row_length = 90;
create index XIF_VD_VENDOR_PLAN_CANCEL_POLICY_MASTER_01
on VD_VENDOR_PLAN_CANCEL_POLICY_MASTER (ROOM_PLAN_SEQ);
create index XIN_VD_VENDOR_PLAN_CANCEL_POLICY_MASTER_01
on VD_VENDOR_PLAN_CANCEL_POLICY_MASTER (ROOM_PLAN_SEQ, DEFAULT_YN);
create index XIN_VD_VENDOR_PLAN_CANCEL_POLICY_MASTER_02
on VD_VENDOR_PLAN_CANCEL_POLICY_MASTER (ROOM_PLAN_SEQ, DELETE_YN);
ALTER TABLE OMH_SUITE.VD_VENDOR_PLAN_CANCEL_POLICY
ADD COLUMN POLICY_MASTER_SEQ bigint NULL;