jilin_data = {
    "province": {"code": "220000", "name": "吉林省"},
    "cities": [
        {
            "code": "220100", "name": "长春市",
            "districts": [
                {"code": "220104", "name": "朝阳区", "towns": ["桂林街道", "南湖街道", "红旗街道", "永昌街道", "清和街道", "重庆街道", "富锋街道", "双德乡"]},
                {"code": "220102", "name": "南关区", "towns": ["民康街道", "新春街道", "长通街道", "南岭街道", "永吉街道", "全安街道", "明珠街道", "鸿城街道", "自强街道", "幸福乡"]},
                {"code": "220103", "name": "宽城区", "towns": ["新发街道", "站前街道", "南广街道", "东广街道", "群英街道", "凯旋街道", "兴业街道", "团山街道", "柳影街道", "欣园街道", "兰家镇"]},
                {"code": "220105", "name": "二道区", "towns": ["东盛街道", "吉林街道", "荣光街道", "东站街道", "远达街道", "八里堡街道", "长青街道", "英俊镇"]},
                {"code": "220106", "name": "绿园区", "towns": ["正阳街道", "春城街道", "锦程街道", "东风街道", "普阳街道", "铁西街道", "同心街道", "合心镇", "城西镇"]},
                {"code": "220112", "name": "双阳区", "towns": ["云山街道", "平湖街道", "奢岭街道", "山河街道", "齐家镇", "太平镇"]},
                {"code": "220113", "name": "九台区", "towns": ["九台街道", "营城街道", "土们岭街道", "西营城街道", "卡伦湖街道", "东湖街道", "龙嘉街道", "兴港街道", "波泥河街道", "沐石河街道", "城子街街道", "其塔木镇", "上河湾镇", "纪家镇"]},
                {"code": "220182", "name": "榆树市", "towns": ["华昌街道", "正阳街道", "培英街道", "城郊街道", "五棵树镇", "弓棚镇", "闵家镇", "大坡镇", "黑林镇", "土桥镇", "新立镇", "大岭镇", "太安乡", "先锋乡", "秀水镇", "刘家镇", "保寿镇", "新庄镇", "育民乡", "红星乡", "环城乡", "青山乡", "延和朝鲜族乡"]},
                {"code": "220183", "name": "德惠市", "towns": ["胜利街道", "建设街道", "惠发街道", "夏家店街道", "大青嘴镇", "郭家镇", "松花江镇", "达家沟镇", "大房身镇", "岔路口镇", "朱城子镇", "布海镇", "天台镇", "菜园子镇", "同太乡", "边岗乡"]}
            ]
        },
        {
            "code": "220200", "name": "吉林市",
            "districts": [
                {"code": "220202", "name": "昌邑区", "towns": ["文庙街道", "站前街道", "民主街道", "延安街道", "通江街道", "莲花街道", "新建街道", "哈达湾街道", "兴华街道", "孤店子镇", "桦皮厂镇", "左家镇", "两家子满族乡", "土城子满族朝鲜族乡"]},
                {"code": "220203", "name": "龙潭区", "towns": ["龙华街道", "湘潭街道", "新安街道", "遵义街道", "铁东街道", "靠山街道", "山前街道", "泡子沿街道", "承德街道", "榆树街道", "龙北街道", "江北乡", "金珠镇", "乌拉街满族镇", "大口钦满族镇", "缸窑镇"]},
                {"code": "220204", "name": "船营区", "towns": ["大东街道", "青岛街道", "南京街道", "向阳街道", "北极街道", "致和街道", "德胜街道", "西大街道", "黄旗屯街道", "长春路街道", "搜登站镇", "大绥河镇", "越北镇", "欢喜乡"]},
                {"code": "220211", "name": "丰满区", "towns": ["江南街道", "石井街道", "沿丰街道", "泰山街道", "红旗街道", "丰满街道", "旺起镇", "小白山乡", "前二道乡"]},
                {"code": "220221", "name": "永吉县", "towns": ["口前镇", "双河镇", "西阳镇", "北大湖镇", "一拉溪镇", "岔路河镇", "万昌镇", "黄榆乡", "金家乡"]},
                {"code": "220281", "name": "蛟河市", "towns": ["民主街道", "长安街道", "河南街道", "奶子山街道", "新站镇", "天岗镇", "白石山镇", "漂河镇", "黄松甸镇", "天北镇", "松江镇", "庆岭镇", "拉法街道", "前进乡", "乌林朝鲜族乡"]},
                {"code": "220282", "name": "桦甸市", "towns": ["胜利街道", "启新街道", "明桦街道", "新华街道", "红石砬子镇", "夹皮沟镇", "二道甸子镇", "八道河子镇", "常山镇", "金沙镇", "桦郊乡"]},
                {"code": "220283", "name": "舒兰市", "towns": ["北城街道", "南城街道", "环城街道", "吉舒街道", "白旗镇", "朝阳镇", "开原镇", "上营镇", "水曲柳镇", "平安镇", "法特镇", "溪河镇", "天德乡", "莲花乡", "亮甲山乡", "新安乡"]},
                {"code": "220284", "name": "磐石市", "towns": ["福安街道", "东宁街道", "河南街道", "阜康街道", "烟筒山镇", "红旗岭镇", "明城镇", "石嘴镇", "驿马镇", "牛心镇", "呼兰镇", "吉昌镇", "松山镇", "黑石镇", "宝山乡", "富太镇"]}
            ]
        },
        {
            "code": "220300", "name": "四平市",
            "districts": [
                {"code": "220302", "name": "铁西区", "towns": ["仁兴街道", "英雄街道", "地直街道", "站前街道", "北沟街道", "平西乡"]},
                {"code": "220303", "name": "铁东区", "towns": ["北门街道", "七马路街道", "四马路街道", "解放街道", "平东街道", "黄土坑街道", "山门镇", "石岭镇", "叶赫满族镇", "城东乡"]},
                {"code": "220322", "name": "梨树县", "towns": ["梨树镇", "郭家店镇", "榆树台镇", "孤家子镇", "小城子镇", "喇嘛甸镇", "蔡家镇", "孟家岭镇", "十家堡镇", "万发镇", "东河镇", "沈洋镇", "林海镇", "小宽镇", "白山乡", "泉眼岭乡", "胜利乡", "四棵树乡", "双河乡", "金山乡", "刘家馆子镇"]},
                {"code": "220323", "name": "伊通满族自治县", "towns": ["伊通镇", "二道镇", "伊丹镇", "马鞍山镇", "景台镇", "靠山镇", "大孤山镇", "小孤山镇", "营城子镇", "西苇镇", "河源镇", "黄岭子镇", "新兴乡", "莫里青乡", "三道乡", "大庙乡"]},
                {"code": "220381", "name": "公主岭市", "towns": ["河南街道", "河北街道", "东三街道", "岭东街道", "铁北街道", "响水镇", "范家屯镇", "怀德镇", "双城堡镇", "黑林子镇", "陶家屯镇", "大岭镇", "朝阳坡镇", "大榆树镇", "秦家屯镇", "八屋镇", "十屋镇", "桑树台镇", "龙山满族乡", "永发乡", "柳杨乡", "南崴子街道", "环岭街道", "苇子沟街道", "刘房子街道", "玻璃城子镇"]}
            ]
        },
        {
            "code": "220400", "name": "辽源市",
            "districts": [
                {"code": "220402", "name": "龙山区", "towns": ["东吉街道", "西宁街道", "南康街道", "北寿街道", "站前街道", "向阳街道", "福镇街道", "工农乡", "寿山镇", "山湾乡"]},
                {"code": "220403", "name": "西安区", "towns": ["仙城街道", "太安街道", "东山街道", "安家街道", "灯塔镇"]},
                {"code": "220421", "name": "东丰县", "towns": ["东丰镇", "大阳镇", "横道河镇", "那丹伯镇", "猴石镇", "杨木林镇", "小四平镇", "黄河镇", "拉拉河镇", "沙河镇", "南屯基镇", "大兴镇", "三合满族朝鲜族乡", "二龙山乡", "五道岗乡", "影壁山乡"]},
                {"code": "220422", "name": "东辽县", "towns": ["白泉镇", "渭津镇", "安石镇", "辽河源镇", "泉太镇", "建安镇", "安恕镇", "平岗镇", "云顶镇", "甲山乡", "足民乡", "金岗镇"]}
            ]
        },
        {
            "code": "220500", "name": "通化市",
            "districts": [
                {"code": "220502", "name": "东昌区", "towns": ["光明街道", "民主街道", "东昌街道", "龙泉街道", "新站街道", "老站街道", "团结街道", "金厂镇", "江东乡", "环通乡"]},
                {"code": "220503", "name": "二道江区", "towns": ["东通化街道", "桃园街道", "五道江镇", "铁厂镇", "鸭园镇", "二道江乡"]},
                {"code": "220521", "name": "通化县", "towns": ["快大茂镇", "二密镇", "果松镇", "石湖镇", "大安镇", "光华镇", "兴林镇", "英额布镇", "三棵榆树镇", "江甸镇", "富江乡", "四棚乡", "东来乡", "大泉源满族朝鲜族乡", "金斗朝鲜族满族乡"]},
                {"code": "220523", "name": "辉南县", "towns": ["朝阳镇", "辉南镇", "样子哨镇", "杉松岗镇", "石道河镇", "辉发城镇", "金川镇", "高集岗镇", "庆阳镇", "抚民镇", "团林镇", "楼街朝鲜族乡"]},
                {"code": "220524", "name": "柳河县", "towns": ["柳河镇", "孤山子镇", "五道沟镇", "驼腰岭镇", "三源浦朝鲜族镇", "圣水镇", "凉水河子镇", "罗通山镇", "安口镇", "向阳镇", "红石镇", "亨通镇", "时家店乡", "柳南乡", "姜家店朝鲜族乡"]},
                {"code": "220581", "name": "梅河口市", "towns": ["新华街道", "光明街道", "和平街道", "解放街道", "福民街道", "山城镇", "红梅镇", "海龙镇", "新合镇", "曙光镇", "中和镇", "进化镇", "一座营镇", "水道镇", "康大营镇", "牛心顶镇", "黑山头镇", "李炉乡", "杏岭镇", "双兴镇"]}
            ]
        },
        {
            "code": "220600", "name": "白山市",
            "districts": [
                {"code": "220602", "name": "浑江区", "towns": ["新建街道", "通沟街道", "东兴街道", "红旗街道", "城南街道", "板石街道", "江北街道", "河口街道", "大阳岔镇", "六道江镇", "红土崖镇", "三道沟镇", "七道江镇"]},
                {"code": "220605", "name": "江源区", "towns": ["孙家堡子街道", "江源街道", "正岔街道", "城墙街道", "湾沟镇", "松树镇", "三岔子镇", "石人镇", "大阳岔镇", "砟子镇"]},
                {"code": "220621", "name": "抚松县", "towns": ["抚松镇", "松江河镇", "泉阳镇", "露水河镇", "万良镇", "新屯子镇", "东岗镇", "漫江镇", "北岗镇", "兴参镇", "兴隆乡", "抽水乡", "沿江乡", "仙人桥镇"]},
                {"code": "220622", "name": "靖宇县", "towns": ["靖宇镇", "三道湖镇", "花园口镇", "龙泉镇", "那尔轰镇", "景山镇", "赤松镇", "蒙江乡"]},
                {"code": "220623", "name": "长白朝鲜族自治县", "towns": ["长白镇", "八道沟镇", "十四道沟镇", "马鹿沟镇", "宝泉山镇", "新房子镇", "金华乡", "十二道沟乡"]},
                {"code": "220681", "name": "临江市", "towns": ["建国街道", "新市街道", "兴隆街道", "大栗子街道", "桦树镇", "六道沟镇", "苇沙河镇", "花山镇", "闹枝镇", "四道沟镇", "蚂蚁河乡", "贾家营乡"]}
            ]
        },
        {
            "code": "220700", "name": "松原市",
            "districts": [
                {"code": "220702", "name": "宁江区", "towns": ["团结街道", "文化街道", "民主街道", "临江街道", "新区街道", "前进街道", "和平街道", "工农街道", "伯都讷街道", "沿江街道", "铁西街道", "繁荣街道", "建设街道", "石化街道", "善友镇", "毛都站镇", "新城乡", "伯都乡"]},
                {"code": "220721", "name": "前郭尔罗斯蒙古族自治县", "towns": ["前郭镇", "长山镇", "海渤日戈镇", "乌兰图嘎镇", "查干湖镇", "王府站镇", "八郎镇", "哈拉毛都镇", "东三家子乡", "乌兰塔拉乡", "吉拉吐乡", "白依拉嘎乡", "洪泉乡", "额如乡", "套浩太乡", "长龙乡", "乌兰敖都乡", "孤店乡", "宝甸乡"]},
                {"code": "220722", "name": "长岭县", "towns": ["长岭镇", "太平川镇", "巨宝山镇", "太平山镇", "前七号镇", "新安镇", "三青山镇", "大兴镇", "北正镇", "流水镇", "永久镇", "利发盛镇", "光明乡", "三县堡乡", "海青乡", "前进乡", "东岭乡", "腰坨子乡", "八十八乡", "三团乡", "三十号乡"]},
                {"code": "220723", "name": "乾安县", "towns": ["乾安镇", "大布苏镇", "水字镇", "让字镇", "所字镇", "安字镇", "余字乡", "道字乡", "严字乡", "赞字乡", "才字乡", "兰字乡", "仙字乡"]},
                {"code": "220781", "name": "扶余市", "towns": ["育才街道", "团结街道", "联盟街道", "兴华路街道", "三岔河镇", "长春岭镇", "五家站镇", "陶赖昭镇", "蔡家沟镇", "弓棚子镇", "三井子镇", "增盛镇", "新万发镇", "大林子镇", "新源镇", "得胜镇", "永平乡", "社里乡", "新站乡", "更新乡", "肖家乡"]}
            ]
        },
        {
            "code": "220800", "name": "白城市",
            "districts": [
                {"code": "220802", "name": "洮北区", "towns": ["海明街道", "长庆街道", "瑞光街道", "明仁街道", "铁东街道", "新立街道", "幸福街道", "新华街道", "保平街道", "西郊街道", "三合镇", "平安镇", "青山镇", "林海镇", "洮河镇", "到保镇", "平台镇", "东胜乡", "金祥乡", "德顺蒙古族乡", "洮东乡"]},
                {"code": "220821", "name": "镇赉县", "towns": ["镇赉镇", "坦途镇", "东屏镇", "大屯镇", "沿江镇", "五棵树镇", "黑鱼泡镇", "哈吐气蒙古族乡", "莫莫格蒙古族乡", "建平乡", "嘎什根乡", "胜利乡", "六合镇"]},
                {"code": "220822", "name": "通榆县", "towns": ["开通镇", "瞻榆镇", "兴隆山镇", "边昭镇", "鸿兴镇", "新华镇", "乌兰花镇", "双岗镇", "苏公坨乡", "新发乡", "新兴乡", "包拉温都蒙古族乡", "团结乡", "十花道乡", "八面乡", "向海蒙古族乡"]},
                {"code": "220881", "name": "洮南市", "towns": ["团结街道", "富文街道", "光明街道", "兴隆街道", "永康街道", "通达街道", "洮府街道", "向阳街道", "瓦房镇", "万宝镇", "黑水镇", "那金镇", "安定镇", "福顺镇", "胡力吐蒙古族乡", "万宝乡", "聚宝乡", "东升乡", "野马乡", "永茂乡"]},
                {"code": "220882", "name": "大安市", "towns": ["锦华街道", "安北街道", "慧阳街道", "临江街道", "太山镇", "月亮泡镇", "安广镇", "丰收镇", "新平安镇", "两家子镇", "舍力镇", "大岗子镇", "叉干镇", "龙沼镇", "乐胜乡", "四棵树乡", "联合乡", "大赉乡", "红岗子乡", "烧锅镇乡"]}
            ]
        },
        {
            "code": "222400", "name": "延边朝鲜族自治州",
            "districts": [
                {"code": "222401", "name": "延吉市", "towns": ["新兴街道", "光明街道", "北大街道", "进学街道", "公园街道", "河南街道", "建工街道", "小营镇", "依兰镇", "三道湾镇", "朝阳川镇"]},
                {"code": "222402", "name": "图们市", "towns": ["向上街道", "新华街道", "月宫街道", "石岘镇", "长安镇", "月晴镇", "凉水镇"]},
                {"code": "222403", "name": "敦化市", "towns": ["渤海街道", "胜利街道", "民主街道", "丹江街道", "大石头镇", "黄泥河镇", "官地镇", "沙河沿镇", "秋梨沟镇", "额穆镇", "贤儒镇", "大蒲柴河镇", "雁鸣湖镇", "江源镇", "江南镇", "黑石乡", "青沟子乡", "翰章乡", "红石乡"]},
                {"code": "222404", "name": "珲春市", "towns": ["靖和街道", "新安街道", "河南街道", "近海街道", "春化镇", "敬信镇", "板石镇", "英安镇", "三家子满族乡", "密江乡", "杨泡满族乡"]},
                {"code": "222405", "name": "龙井市", "towns": ["安民街道", "龙门街道", "朝阳街道", "开山屯镇", "老头沟镇", "三合镇", "东盛涌镇", "智新镇", "德新乡", "白金乡", "石井镇"]},
                {"code": "222406", "name": "和龙市", "towns": ["民惠街道", "光明街道", "文化街道", "八家子镇", "福洞镇", "头道镇", "西城镇", "南坪镇", "东城镇", "崇善镇", "龙城镇"]},
                {"code": "222424", "name": "汪清县", "towns": ["汪清镇", "大兴沟镇", "天桥岭镇", "罗子沟镇", "春阳镇", "复兴镇", "东光镇", "百草沟镇", "鸡冠乡", "双河乡"]},
                {"code": "222426", "name": "安图县", "towns": ["明月镇", "松江镇", "二道白河镇", "两江镇", "石门镇", "万宝镇", "亮兵镇", "新合乡", "永庆乡"]}
            ]
        }
    ]
}

sql_lines = []
sql_lines.append("-- 创建 sys_area 表")
sql_lines.append("DROP TABLE IF EXISTS sys_area;")
sql_lines.append("")
sql_lines.append("CREATE TABLE sys_area (")
sql_lines.append("    area_id       BIGINT          NOT NULL IDENTITY(1,1),")
sql_lines.append("    parent_id     BIGINT          DEFAULT 0,")
sql_lines.append("    ancestors     VARCHAR(50)     DEFAULT '',")
sql_lines.append("    area_code     VARCHAR(20)     NOT NULL,")
sql_lines.append("    area_name     VARCHAR(100)    NOT NULL,")
sql_lines.append("    area_type     CHAR(1)         DEFAULT '0',")
sql_lines.append("    order_num     INT             DEFAULT 0,")
sql_lines.append("    status        CHAR(1)         DEFAULT '0',")
sql_lines.append("    create_by     VARCHAR(64)     DEFAULT '',")
sql_lines.append("    create_time   DATETIME,")
sql_lines.append("    update_by     VARCHAR(64)     DEFAULT '',")
sql_lines.append("    update_time   DATETIME,")
sql_lines.append("    PRIMARY KEY (area_id)")
sql_lines.append(");")
sql_lines.append("")

current_id = 1

province_code = jilin_data["province"]["code"]
province_name = jilin_data["province"]["name"]
sql_lines.append(f"INSERT INTO sys_area(parent_id, ancestors, area_code, area_name, area_type, order_num, status, create_by, create_time) VALUES(0, '0', '{province_code}', '{province_name}', '0', 1, '0', 'admin', SYSDATE);")
sql_lines.append("")

province_id = current_id
current_id += 1

city_order = 1
for city in jilin_data["cities"]:
    city_code = city["code"]
    city_name = city["name"]
    sql_lines.append(f"-- ==================== {city_name} ====================")
    sql_lines.append(f"INSERT INTO sys_area(parent_id, ancestors, area_code, area_name, area_type, order_num, status, create_by, create_time) VALUES({province_id}, '0,{province_id}', '{city_code}', '{city_name}', '1', {city_order}, '0', 'admin', SYSDATE);")
    
    city_id = current_id
    current_id += 1
    district_order = 1
    
    for district in city["districts"]:
        district_code = district["code"]
        district_name = district["name"]
        sql_lines.append(f"-- {district_name}")
        sql_lines.append(f"INSERT INTO sys_area(parent_id, ancestors, area_code, area_name, area_type, order_num, status, create_by, create_time) VALUES({city_id}, '0,{province_id},{city_id}', '{district_code}', '{district_name}', '2', {district_order}, '0', 'admin', SYSDATE);")
        
        district_id = current_id
        current_id += 1
        town_order = 1
        
        for town in district["towns"]:
            town_code = district_code + str(town_order).zfill(3)
            sql_lines.append(f"INSERT INTO sys_area(parent_id, ancestors, area_code, area_name, area_type, order_num, status, create_by, create_time) VALUES({district_id}, '0,{province_id},{city_id},{district_id}', '{town_code}', '{town}', '3', {town_order}, '0', 'admin', SYSDATE);")
            town_order += 1
            current_id += 1
        
        district_order += 1
    
    city_order += 1
    sql_lines.append("")

sql_lines.append("COMMIT;")
sql_lines.append("SELECT '吉林省行政区划数据插入完成' AS result;")

with open("sys_area_jilin.sql", "w", encoding="utf-8") as f:
    f.write("\n".join(sql_lines))

print("SQL文件生成完成！")
print(f"预计生成记录数: {current_id - 1}")
