-- 户外招聘会举办区域系统字典
-- 可重复执行：按 dict_type / dict_value 去重。

INSERT INTO "sys_dict_type" (
    "dict_id", "dict_name", "dict_type", "status", "create_by", "create_time", "remark"
)
SELECT
    (SELECT COALESCE(MAX("dict_id"), 0) + 1 FROM "sys_dict_type"),
    '户外招聘会举办区域',
    'outdoor_fair_region',
    '0',
    'system',
    NOW(),
    '户外招聘会管理使用'
WHERE NOT EXISTS (
    SELECT 1 FROM "sys_dict_type" WHERE "dict_type" = 'outdoor_fair_region'
);

WITH seed("dict_sort", "dict_label", "dict_value", "list_class", "is_default") AS (
    VALUES
        (1, '石河子市', '石河子市', 'primary', 'N'),
        (2, '第一师（阿拉尔市）', '第一师（阿拉尔市）', 'default', 'N'),
        (3, '第二师（铁门关市）', '第二师（铁门关市）', 'default', 'N'),
        (4, '第三师（图木舒克市）', '第三师（图木舒克市）', 'default', 'N'),
        (5, '第四师（可克达拉市）', '第四师（可克达拉市）', 'default', 'N'),
        (6, '第五师（双河市）', '第五师（双河市）', 'default', 'N'),
        (7, '第六师（五家渠市）', '第六师（五家渠市）', 'default', 'N'),
        (8, '第七师（胡杨河市）', '第七师（胡杨河市）', 'default', 'N'),
        (9, '第八师（石河子市）', '第八师（石河子市）', 'success', 'Y'),
        (10, '第九师（白杨市）', '第九师（白杨市）', 'default', 'N'),
        (11, '第十师（北屯市）', '第十师（北屯市）', 'default', 'N'),
        (12, '第十一师（建工师）', '第十一师（建工师）', 'default', 'N'),
        (13, '第十二师', '第十二师', 'default', 'N'),
        (14, '第十三师（新星市）', '第十三师（新星市）', 'default', 'N'),
        (15, '第十四师（昆玉市）', '第十四师（昆玉市）', 'default', 'N')
),
new_rows AS (
    SELECT
        ROW_NUMBER() OVER (ORDER BY seed."dict_sort") AS rn,
        seed.*
    FROM seed
    WHERE NOT EXISTS (
        SELECT 1
        FROM "sys_dict_data" data
        WHERE data."dict_type" = 'outdoor_fair_region'
          AND data."dict_value" = seed."dict_value"
    )
),
base AS (
    SELECT COALESCE(MAX("dict_code"), 0) AS max_code FROM "sys_dict_data"
)
INSERT INTO "sys_dict_data" (
    "dict_code", "dict_sort", "dict_label", "dict_value", "dict_type",
    "css_class", "list_class", "is_default", "status", "create_by", "create_time", "remark"
)
SELECT
    base.max_code + new_rows.rn,
    new_rows."dict_sort",
    new_rows."dict_label",
    new_rows."dict_value",
    'outdoor_fair_region',
    NULL,
    new_rows."list_class",
    new_rows."is_default",
    '0',
    'system',
    NOW(),
    '户外招聘会举办区域'
FROM new_rows
CROSS JOIN base;
