-- 봉투구분(E)별 봉투명(O) 코드 보강 — 기타 입출고·단가 등에서 구분 선택 시 품목 표시
-- 코드 규칙: E(2자) + 용량 G(2자) + 재질 F(1자, 고밀도=2) — 일반용 10122 = 10+12+2
-- 플랫폼 공통(cd_lg_idx=0). 이미 있으면 건너뜀.

INSERT INTO `code_detail` (`cd_ck_idx`, `cd_code`, `cd_name`, `cd_sort`, `cd_state`, `cd_lg_idx`, `cd_regdate`)
SELECT k.ck_idx, v.cd_code, v.cd_name, v.cd_sort, 1, 0, NOW()
FROM `code_kind` k
JOIN (
  /* 20 공공용 */
  SELECT '20112' AS cd_code, '공공용 3L'   AS cd_name, 85  AS cd_sort UNION ALL
  SELECT '20122', '공공용 5L',   86 UNION ALL
  SELECT '20132', '공공용 10L',  87 UNION ALL
  SELECT '20152', '공공용 20L',  88 UNION ALL
  SELECT '20162', '공공용 30L',  89 UNION ALL
  /* 20172 공공용 50L — 기존 */
  SELECT '20192', '공공용 75L',  91 UNION ALL
  SELECT '20202', '공공용 100L', 92 UNION ALL
  /* 30 무료용 */
  SELECT '30112', '무료용 3L',   125 UNION ALL
  SELECT '30122', '무료용 5L',   126 UNION ALL
  SELECT '30132', '무료용 10L',  127 UNION ALL
  SELECT '30152', '무료용 20L',  128 UNION ALL
  SELECT '30162', '무료용 30L',  129 UNION ALL
  SELECT '30172', '무료용 50L',  130 UNION ALL
  SELECT '30192', '무료용 75L',  131 UNION ALL
  SELECT '30202', '무료용 100L', 132 UNION ALL
  /* 50 재사용 — 50122 외 용량 */
  SELECT '50112', '재사용 3L',   133 UNION ALL
  SELECT '50132', '재사용 10L',  135 UNION ALL
  SELECT '50152', '재사용 20L',  136 UNION ALL
  SELECT '50162', '재사용 30L',  137 UNION ALL
  SELECT '50172', '재사용 50L',  138
) AS v
WHERE k.ck_code = 'O'
  AND NOT EXISTS (
    SELECT 1 FROM `code_detail` d
    WHERE d.cd_ck_idx = k.ck_idx AND d.cd_code = v.cd_code AND d.cd_lg_idx = 0
  );
