-- 킨텍스 — 부스 표준·요율/요금 참조·등록업체·데모 행사 시드 (멱등)
-- 권위 룰셋(요율·규정)은 classpath rulesets/*.json(룰 엔진 로드). 아래 master_data 는 M18 조회용 사본.

-- 부스 표준 사양 (rates-v1.json boothStandard / PLANNING §7-1) ----------------
INSERT INTO booth_standard (code, name, spec) VALUES
  ('assembled', '조립(기본)부스',
   '{"includedPowerKw":1.0,"spotlights":5,"outlets220v":1,"floorFireRetardant":"A"}'::jsonb),
  ('premium', '프리미엄부스',
   '{"sizeM":[6,3,4],"includedPowerKw":2.0}'::jsonb)
ON CONFLICT (code) DO UPDATE SET name = EXCLUDED.name, spec = EXCLUDED.spec, updated_at = now();

-- 임대 요율 참조 (rates-v1.0) -------------------------------------------------
INSERT INTO master_data (category, code, name, value_json, ruleset_version) VALUES
  ('RATE', 'exhibitionHallPerM2', '전시홀 임대 요율(원/㎡·12h)', '2250'::jsonb, 'rates-v1.0'),
  ('RATE', 'lobbyPerM2',          '로비 요율(원/㎡)',           '10000'::jsonb, 'rates-v1.0'),
  ('RATE', 'outdoorPerM2',        '옥외 요율(원/㎡)',           '2000'::jsonb, 'rates-v1.0'),
  ('RATE', 'eventHallPerM2',      '이벤트홀 요율(원/㎡)',       '2420'::jsonb, 'rates-v1.0'),
  ('RATE', 'seasonFactors',       '성수기/비수기/1전시장 계수',
      '{"peak":0.10,"offPeak":-0.10,"hall1":0.10}'::jsonb, 'rates-v1.0'),
  -- 유틸리티 요금 참조
  ('UTILITY_FEE', 'power.perKw',              '전기 220V 단상 1kW(원)', '55000'::jsonb, 'rates-v1.0'),
  ('UTILITY_FEE', 'power.distributionBox50A', '분전반 50A 추가(원)',    '100000'::jsonb, 'rates-v1.0'),
  ('UTILITY_FEE', 'network.internetWiredPerLine', '인터넷 유선 회선(원)', '150000'::jsonb, 'rates-v1.0'),
  ('UTILITY_FEE', 'plumbing.perOutlet',       '급배수 1구(원)',         '150000'::jsonb, 'rates-v1.0'),
  ('UTILITY_FEE', 'compressedAir.perOutlet',  '압축공기 1구(원)',       '150000'::jsonb, 'rates-v1.0'),
  -- 규정 룰셋 참조 (compliance-v1.0)
  ('COMPLIANCE', 'HEIGHT_MAX',     '장치물 최고 높이(m)',    '5'::jsonb,   'compliance-v1.0'),
  ('COMPLIANCE', 'RIGGING_RANGE',  '리깅 허용 높이(m)',      '[6.5,8.5]'::jsonb, 'compliance-v1.0'),
  ('COMPLIANCE', 'MEZZANINE_RATIO','복층 면적 비율 상한',    '0.5'::jsonb, 'compliance-v1.0'),
  ('COMPLIANCE', 'AISLE_WIDTH_MIN','피난 통로 폭 최소(m)',   '3'::jsonb,   'compliance-v1.0')
ON CONFLICT (category, code) DO UPDATE SET
    name = EXCLUDED.name, value_json = EXCLUDED.value_json,
    ruleset_version = EXCLUDED.ruleset_version, updated_at = now();

-- 등록업체 샘플 (M7/M15 응찰 게이트 검증용 — 사업자번호는 가상 예시) ----------
INSERT INTO company (id, registration_no, name, category, region, registered, phone) VALUES
  ('co-0001', '111-11-11111', '(주)한빛부스디자인', '전시디자인설치', '경기', true, NULL),
  ('co-0002', '222-22-22222', '대한리깅',          '리깅',         '서울', true, NULL),
  ('co-0003', '333-33-33333', '세계전기시설',       '전기시설',     '경기', true, NULL),
  ('co-0004', '444-44-44444', '고양카펫',          '카펫/파이텍스', '경기', true, NULL)
ON CONFLICT (registration_no) DO NOTHING;

-- 데모 행사 + 홀 배정 (구조 검증용. 사용자·멤버십은 B-1 인증 트랙에서 프로비저닝) --
INSERT INTO event (id, name, start_date, end_date, status) VALUES
  ('e-2026-smf', '2026 스마트팩토리 코리아', DATE '2026-08-11', DATE '2026-08-14', 'active')
ON CONFLICT (id) DO NOTHING;

INSERT INTO hall_assignment (id, event_id, hall_id, is_primary) VALUES
  ('ha-2026-smf-h7', 'e-2026-smf', 'H7', true)
ON CONFLICT (event_id, hall_id) DO NOTHING;
