DECLARE uid int8; c_record record; resu VARCHAR; v_sql text;
BEGIN
DROP SEQUENCE IF EXISTS f_sys_tenant_ic_ext_seq;
CREATE SEQUENCE f_sys_tenant_ic_ext_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1
CYCLE;
v_sql= $$ SELECT CASE WHEN value = '1' THEN '1' ELSE '0' END AS value FROM app_parameter_ext WHERE id = 5530283482704822302 $$ ;
FOR c_record in (SELECT upper_tenant_id,lower_tenant_id,creator_id,create_time,modifyier_id,modify_time,need_fetch_lower_cusinfo FROM sys_tenant_interconnection) loop
DELETE FROM sys_tenant_ic_ext WHERE target_id = c_record.upper_tenant_id AND src_id = c_record.lower_tenant_id;
select nextval('f_sys_tenant_ic_ext_seq') INTO uid;
EXECUTE v_sql INTO resu;
IF(c_record.need_fetch_lower_cusinfo = '1') THEN
INSERT INTO sys_tenant_ic_ext
(id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
VALUES
(uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
'cust_data_sync_strategy', '客戶數據同步策略', '2', c_record.upper_tenant_id, c_record.lower_tenant_id);
ELSE
INSERT INTO sys_tenant_ic_ext
(id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
VALUES
(uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
'cust_data_sync_strategy', '客戶數據同步策略',
resu,
c_record.upper_tenant_id, c_record.lower_tenant_id);
END IF;
SELECT nextval('f_sys_tenant_ic_ext_seq') INTO uid;
INSERT INTO sys_tenant_ic_ext
(id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
VALUES
(uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
'goods_data_sync_downstream', '商品數據向下同步',
'1',
c_record.upper_tenant_id, c_record.lower_tenant_id);
SELECT nextval('f_sys_tenant_ic_ext_seq') INTO uid;
INSERT INTO sys_tenant_ic_ext
(id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
VALUES
(uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
'allow_edit_zd_price', '分銷轉單可修改單價',
'1', c_record.upper_tenant_id, c_record.lower_tenant_id);
END loop;
DROP SEQUENCE if EXISTS f_sys_tenant_ic_ext_seq;
RETURN;
END;