diff --git a/api/common/country_codes.php b/api/common/country_codes.php
new file mode 100644
index 0000000..31959e9
--- /dev/null
+++ b/api/common/country_codes.php
@@ -0,0 +1,227 @@
+ 中文国籍/地区名)
+ * 用于海外手机号码归属地识别(对应 DeepSeek 方案一中 phonenumbers 库的国家识别能力)。
+ * 覆盖常用国家/地区;未收录区号将返回"未知"。
+ */
+return [
+ // 1 区:北美
+ '1' => '美国/加拿大',
+ // 7 区:俄罗斯/哈萨克斯坦
+ '7' => '俄罗斯',
+ // 20 区
+ '20' => '埃及',
+ // 27 区:南非
+ '27' => '南非',
+ // 30-39 区:欧洲
+ '30' => '希腊',
+ '31' => '荷兰',
+ '32' => '比利时',
+ '33' => '法国',
+ '34' => '西班牙',
+ '36' => '匈牙利',
+ '39' => '意大利',
+ // 40-49 区
+ '40' => '罗马尼亚',
+ '41' => '瑞士',
+ '43' => '奥地利',
+ '44' => '英国',
+ '45' => '丹麦',
+ '46' => '瑞典',
+ '47' => '挪威',
+ '48' => '波兰',
+ '49' => '德国',
+ // 50-59 区
+ '51' => '秘鲁',
+ '52' => '墨西哥',
+ '53' => '古巴',
+ '54' => '阿根廷',
+ '55' => '巴西',
+ '56' => '智利',
+ '57' => '哥伦比亚',
+ '58' => '委内瑞拉',
+ // 60-69 区
+ '60' => '马来西亚',
+ '61' => '澳大利亚',
+ '62' => '印度尼西亚',
+ '63' => '菲律宾',
+ '64' => '新西兰',
+ '65' => '新加坡',
+ '66' => '泰国',
+ // 7x 区:俄罗斯等(已在上方)
+ // 80-89 区
+ '81' => '日本',
+ '82' => '韩国',
+ '84' => '越南',
+ '86' => '中国',
+ // 90-99 区
+ '90' => '土耳其',
+ '91' => '印度',
+ '92' => '巴基斯坦',
+ '93' => '阿富汗',
+ '94' => '斯里兰卡',
+ '95' => '缅甸',
+ '96' => '约旦',
+ '97' => '叙利亚',
+ '98' => '伊朗',
+ // 其他常见
+ '211' => '南苏丹',
+ '212' => '摩洛哥',
+ '213' => '阿尔及利亚',
+ '216' => '突尼斯',
+ '218' => '利比亚',
+ '220' => '冈比亚',
+ '221' => '塞内加尔',
+ '222' => '毛里塔尼亚',
+ '223' => '马里',
+ '224' => '几内亚',
+ '225' => '科特迪瓦',
+ '226' => '布基纳法索',
+ '227' => '尼日尔',
+ '228' => '多哥',
+ '229' => '贝宁',
+ '230' => '毛里求斯',
+ '231' => '利比里亚',
+ '232' => '塞拉利昂',
+ '233' => '加纳',
+ '234' => '尼日利亚',
+ '235' => '乍得',
+ '236' => '中非',
+ '237' => '喀麦隆',
+ '238' => '佛得角',
+ '239' => '圣多美和普林西比',
+ '240' => '赤道几内亚',
+ '241' => '加蓬',
+ '242' => '刚果(布)',
+ '243' => '刚果(金)',
+ '244' => '安哥拉',
+ '245' => '几内亚比绍',
+ '246' => '迪戈加西亚',
+ '248' => '塞舌尔',
+ '249' => '苏丹',
+ '250' => '卢旺达',
+ '251' => '埃塞俄比亚',
+ '252' => '索马里',
+ '253' => '吉布提',
+ '254' => '肯尼亚',
+ '255' => '坦桑尼亚',
+ '256' => '乌干达',
+ '257' => '布隆迪',
+ '258' => '莫桑比克',
+ '260' => '赞比亚',
+ '261' => '马达加斯加',
+ '262' => '留尼汪/马约特',
+ '263' => '津巴布韦',
+ '264' => '纳米比亚',
+ '265' => '马拉维',
+ '266' => '莱索托',
+ '267' => '博茨瓦纳',
+ '268' => '斯威士兰',
+ '269' => '科摩罗',
+ '290' => '圣赫勒拿',
+ '291' => '厄立特里亚',
+ '297' => '阿鲁巴',
+ '298' => '法罗群岛',
+ '299' => '格陵兰',
+ '350' => '直布罗陀',
+ '351' => '葡萄牙',
+ '352' => '卢森堡',
+ '353' => '爱尔兰',
+ '354' => '冰岛',
+ '355' => '阿尔巴尼亚',
+ '356' => '马耳他',
+ '357' => '塞浦路斯',
+ '358' => '芬兰',
+ '359' => '保加利亚',
+ '370' => '立陶宛',
+ '371' => '拉脱维亚',
+ '372' => '爱沙尼亚',
+ '373' => '摩尔多瓦',
+ '374' => '亚美尼亚',
+ '375' => '白俄罗斯',
+ '376' => '安道尔',
+ '377' => '摩纳哥',
+ '378' => '圣马力诺',
+ '380' => '乌克兰',
+ '381' => '塞尔维亚',
+ '382' => '黑山',
+ '383' => '科索沃',
+ '385' => '克罗地亚',
+ '386' => '斯洛文尼亚',
+ '387' => '波黑',
+ '389' => '北马其顿',
+ '420' => '捷克',
+ '421' => '斯洛伐克',
+ '423' => '列支敦士登',
+ '500' => '福克兰群岛',
+ '501' => '伯利兹',
+ '502' => '危地马拉',
+ '503' => '萨尔瓦多',
+ '504' => '洪都拉斯',
+ '505' => '尼加拉瓜',
+ '506' => '哥斯达黎加',
+ '507' => '巴拿马',
+ '508' => '圣皮埃尔和密克隆',
+ '509' => '海地',
+ '590' => '瓜德罗普',
+ '591' => '玻利维亚',
+ '592' => '圭亚那',
+ '593' => '厄瓜多尔',
+ '594' => '法属圭亚那',
+ '595' => '巴拉圭',
+ '596' => '马提尼克',
+ '597' => '苏里南',
+ '598' => '乌拉圭',
+ '599' => '加勒比荷兰',
+ '670' => '东帝汶',
+ '672' => '南极领地',
+ '673' => '文莱',
+ '674' => '瑙鲁',
+ '675' => '巴布亚新几内亚',
+ '676' => '汤加',
+ '677' => '所罗门群岛',
+ '678' => '瓦努阿图',
+ '679' => '斐济',
+ '680' => '帕劳',
+ '681' => '瓦利斯和富图纳',
+ '682' => '库克群岛',
+ '683' => '纽埃',
+ '685' => '萨摩亚',
+ '686' => '基里巴斯',
+ '687' => '新喀里多尼亚',
+ '688' => '图瓦卢',
+ '689' => '法属波利尼西亚',
+ '690' => '托克劳',
+ '691' => '密克罗尼西亚',
+ '692' => '马绍尔群岛',
+ '850' => '朝鲜',
+ '852' => '中国香港',
+ '853' => '中国澳门',
+ '855' => '柬埔寨',
+ '856' => '老挝',
+ '880' => '孟加拉国',
+ '886' => '中国台湾',
+ '960' => '马尔代夫',
+ '961' => '黎巴嫩',
+ '962' => '约旦',
+ '963' => '叙利亚',
+ '964' => '伊拉克',
+ '965' => '科威特',
+ '966' => '沙特阿拉伯',
+ '967' => '也门',
+ '968' => '阿曼',
+ '970' => '巴勒斯坦',
+ '971' => '阿联酋',
+ '972' => '以色列',
+ '973' => '巴林',
+ '974' => '卡塔尔',
+ '975' => '不丹',
+ '976' => '蒙古',
+ '977' => '尼泊尔',
+ '992' => '塔吉克斯坦',
+ '993' => '土库曼斯坦',
+ '994' => '阿塞拜疆',
+ '995' => '格鲁吉亚',
+ '996' => '吉尔吉斯斯坦',
+ '998' => '乌兹别克斯坦',
+];
diff --git a/api/common/dicts.php b/api/common/dicts.php
new file mode 100644
index 0000000..f0611ed
--- /dev/null
+++ b/api/common/dicts.php
@@ -0,0 +1,45 @@
+getPdo();
+
+$data = [];
+
+if ($type === 'all' || $type === 'country') {
+ $data['countries'] = $pdo->query(
+ "SELECT id, code, name FROM date_dict_country WHERE is_active = 1 ORDER BY sort_order, id"
+ )->fetchAll();
+}
+if ($type === 'all' || $type === 'area') {
+ $data['areas'] = $pdo->query(
+ "SELECT id, code, name, parent_code FROM date_dict_area WHERE is_active = 1 ORDER BY sort_order, id"
+ )->fetchAll();
+}
+if ($type === 'all' || $type === 'industry') {
+ $data['industries'] = $pdo->query(
+ "SELECT id, code, name, parent_code FROM date_dict_industry WHERE is_active = 1 ORDER BY sort_order, id"
+ )->fetchAll();
+}
+if ($type === 'all' || $type === 'certificate') {
+ $data['certificates'] = $pdo->query(
+ "SELECT id, code, name FROM date_dict_certificate WHERE is_active = 1 ORDER BY sort_order, id"
+ )->fetchAll();
+}
+if ($type === 'all' || $type === 'source_channel') {
+ $data['source_channels'] = $pdo->query(
+ "SELECT id, name FROM source_channels WHERE is_active = 1 ORDER BY sort_order, id"
+ )->fetchAll();
+}
+
+Response::success($data);
diff --git a/api/common/helpers.php b/api/common/helpers.php
index 30ad0f7..5b75b2b 100644
--- a/api/common/helpers.php
+++ b/api/common/helpers.php
@@ -14,6 +14,7 @@ const COMPANY_FIELDS = [
'industry' => 's', 'industry_subdivision' => 's',
'latest_employee_count' => 'i', 'latest_annual_revenue' => 's',
'is_listed' => 'i', 'stock_code' => 's', 'website' => 's',
+ 'source_channel' => 's', 'source_detail' => 's',
];
/** 人员表可写入字段白名单 */
@@ -21,12 +22,13 @@ const PERSON_FIELDS = [
'union_id' => 's', 'full_name' => 's', 'gender' => 's', 'nationality' => 's',
'id_type' => 's', 'id_number' => 's', 'education' => 's', 'graduated_from' => 's',
'hometown' => 's', 'work_location' => 's',
+ 'source_channel' => 's', 'source_detail' => 's',
];
/** 媒体(社交账号)表可写入字段白名单 */
const MEDIA_FIELDS = [
'owner_type' => 's', 'owner_id' => 'i', 'platform' => 's', 'account_id' => 's',
- 'profile_url' => 's', 'remark' => 's', 'is_primary' => 'i',
+ 'profile_url' => 's', 'remark' => 's', 'is_primary' => 'i', 'is_defult' => 'i',
];
/** 媒体商业属性表可写入字段白名单 */
@@ -173,7 +175,7 @@ function saveCompanyCertifications($pdo, $companyId, $certifications)
return;
}
- $valid = $pdo->prepare("SELECT id FROM certification_types WHERE id = ?");
+ $valid = $pdo->prepare("SELECT id FROM date_dict_certificate WHERE id = ?");
$ins = $pdo->prepare(
"INSERT INTO company_certifications
(company_id, certification_type_id, certificate_number, issue_date, expiry_date)
diff --git a/api/common/phone_geo.php b/api/common/phone_geo.php
new file mode 100644
index 0000000..8a4a996
--- /dev/null
+++ b/api/common/phone_geo.php
@@ -0,0 +1,229 @@
+ $special, 'province' => '', 'city' => '', 'label' => $special, 'found' => true];
+ }
+
+ // 2) 中国大陆号码:+86/0086 开头 或 11位以 1 开头
+ if (isChinaMobile($digits, $hasPlus)) {
+ $geo = lookupChinaPhoneDat($digits);
+ if ($geo !== null) {
+ return [
+ 'country' => '中国',
+ 'province' => $geo['province'],
+ 'city' => $geo['city'],
+ 'label' => '中国-' . $geo['province'] . ($geo['city'] && $geo['city'] !== $geo['province'] ? '-' . $geo['city'] : ''),
+ 'found' => true,
+ ];
+ }
+ return ['country' => '中国', 'province' => '', 'city' => '', 'label' => '中国', 'found' => false];
+ }
+
+ // 3) 海外号码:识别国籍(国家区号表)
+ $country = lookupCountryByCode($digits);
+ if ($country !== null) {
+ return ['country' => $country, 'province' => '', 'city' => '', 'label' => $country, 'found' => true];
+ }
+
+ return ['country' => '', 'province' => '', 'city' => '', 'label' => '未知', 'found' => false];
+}
+
+/** 港澳台特殊识别 */
+function specialRegion($digits)
+{
+ // 852 香港 / 853 澳门 / 886 台湾(号码 8-9 位)
+ if (strpos($digits, '852') === 0 && strlen($digits) >= 11) return '中国香港';
+ if (strpos($digits, '853') === 0 && strlen($digits) >= 11) return '中国澳门';
+ if (strpos($digits, '886') === 0 && strlen($digits) >= 12) return '中国台湾';
+ return null;
+}
+
+/** 是否中国大陆手机号 */
+function isChinaMobile($digits, $hasPlus)
+{
+ // +86 或 0086 开头(去除前缀后为 11 位 1 开头)
+ if (strpos($digits, '86') === 0 && strlen($digits) === 13) {
+ return preg_match('/^861[3-9]\d{9}$/', $digits) === 1;
+ }
+ // 纯 11 位 1 开头(无国际前缀)
+ if (!$hasPlus && strlen($digits) === 11 && $digits[0] === '1') {
+ return preg_match('/^1[3-9]\d{9}$/', $digits) === 1;
+ }
+ return false;
+}
+
+/** 使用 phone.dat 查询国内省市 */
+function lookupChinaPhoneDat($digits)
+{
+ static $loader = null;
+ if ($loader === null) {
+ $loader = new PhoneDatLoader(__DIR__ . '/../../data/phone.dat');
+ }
+ // 提取 11 位号码中的前 7 位号段(如 1381234);带 86 前缀先去前缀
+ $local = preg_replace('/^86/', '', $digits);
+ $prefix7 = substr($local, 0, 7);
+ if (strlen($prefix7) !== 7 || !preg_match('/^\d{7}$/', $prefix7)) {
+ return null;
+ }
+ return $loader->find($prefix7);
+}
+
+/** 海外号码:国家区号表识别国籍 */
+function lookupCountryByCode($digits)
+{
+ static $map = null;
+ if ($map === null) {
+ $map = require __DIR__ . '/country_codes.php';
+ }
+ // 依次尝试 3 位 / 2 位 / 1 位区号
+ for ($len = 3; $len >= 1; $len--) {
+ $code = substr($digits, 0, $len);
+ if (isset($map[$code])) {
+ return $map[$code];
+ }
+ }
+ return null;
+}
+
+/* ==================== phone.dat 解析器(PHP 移植) ==================== */
+
+/**
+ * phone.dat 文件解析器
+ * 文件格式(与 Python phone 库一致):
+ * - 头部:4字节版本号 + 4字节首条记录偏移
+ * - 记录:每条 9 字节 = 4字节号段(int) + 4字节数据偏移(int) + 1字节号码类型
+ * - 数据区:省份|城市|邮编|区号 (竖线分隔,\0 结尾)
+ */
+class PhoneDatLoader
+{
+ private $buf;
+ private $firstOffset;
+ private $count;
+
+ public function __construct($file)
+ {
+ $this->buf = file_get_contents($file);
+ if ($this->buf === false || strlen($this->buf) < 8) {
+ $this->buf = '';
+ $this->firstOffset = 0;
+ $this->count = 0;
+ return;
+ }
+ $head = unpack('a4version/ioffset', substr($this->buf, 0, 8));
+ $this->firstOffset = $head['offset'];
+ $this->count = (int)((strlen($this->buf) - $this->firstOffset) / 9);
+ }
+
+ /**
+ * 按 7 位号段查询
+ * @param string $prefix7 如 "1381234"
+ * @return array|null ['province'=>, 'city'=>, 'zip_code'=>, 'area_code'=>, 'phone_type'=>]
+ */
+ public function find($prefix7)
+ {
+ if ($this->count <= 0 || !preg_match('/^\d{7}$/', (string)$prefix7)) {
+ return null;
+ }
+ $intPhone = (int)$prefix7;
+ $left = 0;
+ $right = $this->count;
+ $buflen = strlen($this->buf);
+
+ while ($left <= $right) {
+ $middle = (int)(($left + $right) / 2);
+ $offset = $this->firstOffset + $middle * 9;
+ if ($offset >= $buflen) {
+ return null;
+ }
+ $rec = unpack('iprefix/irecord_offset/Ctype', substr($this->buf, $offset, 9));
+ if ($rec['prefix'] > $intPhone) {
+ $right = $middle - 1;
+ } elseif ($rec['prefix'] < $intPhone) {
+ $left = $middle + 1;
+ } else {
+ $content = $this->readRecord($rec['record_offset']);
+ if ($content === null) {
+ return null;
+ }
+ $parts = explode('|', $content);
+ return [
+ 'province' => $parts[0] ?? '',
+ 'city' => $parts[1] ?? '',
+ 'zip_code' => $parts[2] ?? '',
+ 'area_code' => $parts[3] ?? '',
+ 'phone_type' => $this->typeName($rec['type']),
+ ];
+ }
+ }
+ return null;
+ }
+
+ private function readRecord($offset)
+ {
+ $end = strpos($this->buf, "\x00", $offset);
+ if ($end === false) {
+ return null;
+ }
+ return substr($this->buf, $offset, $end - $offset);
+ }
+
+ private function typeName($no)
+ {
+ $map = [
+ 1 => '移动', 2 => '联通', 3 => '电信',
+ 4 => '电信虚拟运营商', 5 => '联通虚拟运营商', 6 => '移动虚拟运营商',
+ 7 => '广电', 8 => '广电虚拟运营商',
+ ];
+ return $map[$no] ?? '未知';
+ }
+}
diff --git a/api/company/cert_types.php b/api/company/cert_types.php
index 11392e2..872713e 100644
--- a/api/company/cert_types.php
+++ b/api/company/cert_types.php
@@ -2,6 +2,7 @@
/**
* 认证类型字典接口 GET /api/company/cert_types.php
* 返回启用中的认证类型(如:瞪羚企业、国家高新技术企业等),供编辑弹窗下拉使用
+ * 数据源:date_dict_certificate(原 certification_types,v1.0.16 改名)
*/
require_once __DIR__ . '/../common/db.php';
require_once __DIR__ . '/../common/response.php';
@@ -10,6 +11,6 @@ require_once __DIR__ . '/../common/auth.php';
checkPermission('company');
$pdo = DB::getInstance()->getPdo();
-$types = $pdo->query("SELECT id, name FROM certification_types WHERE is_active = 1 ORDER BY sort_order, id")->fetchAll();
+$types = $pdo->query("SELECT id, name FROM date_dict_certificate WHERE is_active = 1 ORDER BY sort_order, id")->fetchAll();
Response::success(['types' => $types]);
diff --git a/api/company/detail.php b/api/company/detail.php
index d195cb0..4b8be61 100644
--- a/api/company/detail.php
+++ b/api/company/detail.php
@@ -1,7 +1,7 @@
prepare("SELECT id, category_name, category_description, is_core, is_active FROM company_products WHERE company_id = ? AND is_active = 1");
$products->execute([$id]);
-$needs = $pdo->prepare("SELECT id, contact_person, need_category, target_product_category, application_scenario, description, is_valid, created_at FROM company_needs WHERE company_id = ? ORDER BY id DESC");
-$needs->execute([$id]);
-
$docs = $pdo->prepare(
"SELECT cd.id, cd.doc_name, cd.storage_path, cd.file_type, cd.publish_date, cd.is_active
FROM company_documents cd
@@ -53,13 +50,22 @@ $certs = $pdo->prepare(
"SELECT cc.certification_type_id, ct.name AS certification_name, cc.certificate_number,
cc.issue_date, cc.expiry_date
FROM company_certifications cc
- INNER JOIN certification_types ct ON ct.id = cc.certification_type_id
+ INNER JOIN date_dict_certificate ct ON ct.id = cc.certification_type_id
WHERE cc.company_id = ?
ORDER BY ct.sort_order, ct.id"
);
$certs->execute([$id]);
-$certTypes = $pdo->query("SELECT id, name FROM certification_types WHERE is_active = 1 ORDER BY sort_order, id")->fetchAll();
+$certTypes = $pdo->query("SELECT id, name FROM date_dict_certificate WHERE is_active = 1 ORDER BY sort_order, id")->fetchAll();
+
+// 联系方式:social_accounts 中属于该公司的记录(仅展示,无修改/删除入口)
+$accounts = $pdo->prepare(
+ "SELECT id, platform, account_id, profile_url, remark, is_primary, is_defult, is_active, created_at
+ FROM social_accounts
+ WHERE owner_type = 'company' AND owner_id = ?
+ ORDER BY is_defult DESC, is_primary DESC, id DESC"
+);
+$accounts->execute([$id]);
// 关联联系人(工作经历 + 联系方式)
$contacts = $pdo->prepare(
@@ -79,11 +85,11 @@ $contacts->execute([$id, $id]);
Response::success([
'company' => $company,
'products' => $products->fetchAll(),
- 'needs' => $needs->fetchAll(),
'documents' => $docs->fetchAll(),
'financials' => $financials->fetchAll(),
'relations' => $relations->fetchAll(),
'contacts' => $contacts->fetchAll(),
+ 'accounts' => $accounts->fetchAll(),
'certifications' => $certs->fetchAll(),
'certification_types' => $certTypes,
]);
diff --git a/api/company/employees.php b/api/company/employees.php
index 33cfa9c..ad1b02f 100644
--- a/api/company/employees.php
+++ b/api/company/employees.php
@@ -60,10 +60,10 @@ $stmt = $pdo->prepare(
pwe.job_level, pwe.start_date, pwe.end_date, pwe.is_current,
(SELECT sa.account_id FROM social_accounts sa
WHERE sa.owner_type = 'person' AND sa.owner_id = p.id AND sa.platform = 'phone' AND sa.is_active = 1
- ORDER BY sa.is_primary DESC LIMIT 1) AS phone,
+ ORDER BY sa.is_defult DESC, sa.is_primary DESC LIMIT 1) AS phone,
(SELECT sa.account_id FROM social_accounts sa
WHERE sa.owner_type = 'person' AND sa.owner_id = p.id AND sa.platform = 'email' AND sa.is_active = 1
- ORDER BY sa.is_primary DESC LIMIT 1) AS email
+ ORDER BY sa.is_defult DESC, sa.is_primary DESC LIMIT 1) AS email
FROM person_work_experiences pwe
INNER JOIN persons p ON p.id = pwe.person_id
WHERE $whereSql
diff --git a/api/company/export.php b/api/company/export.php
index 3a41405..6260b13 100644
--- a/api/company/export.php
+++ b/api/company/export.php
@@ -32,7 +32,7 @@ $stmt = $pdo->prepare(
"SELECT id, name_zh, name_en, business_role, country, registration_number,
address, legal_representative, industry, industry_subdivision, website,
registered_capital, established_date, latest_employee_count, latest_annual_revenue,
- is_listed, stock_code, created_at
+ is_listed, stock_code, source_channel, source_detail, created_at
FROM companies WHERE id IN ($in) AND is_active = 1 ORDER BY id DESC"
);
$stmt->execute($idList);
@@ -44,14 +44,14 @@ header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="companies_' . date('Ymd_His') . '.csv"');
echo "\xEF\xBB\xBF"; // UTF-8 BOM,便于 Excel 直接打开
$out = fopen('php://output', 'w');
-fputcsv($out, ['ID', '公司名称', '英文名称', '业务角色', '国家/地区', '注册号', '地址', '法人', '行业', '行业细分', '官网', '注册资本', '成立日期', '员工数', '年营收', '是否上市', '股票代码', '创建时间']);
+fputcsv($out, ['ID', '公司名称', '英文名称', '业务角色', '国家/地区', '注册号', '地址', '法人', '行业', '行业细分', '官网', '注册资本', '成立日期', '员工数', '年营收', '是否上市', '股票代码', '来源渠道', '来源详情', '创建时间']);
foreach ($list as $r) {
fputcsv($out, [
$r['id'], $r['name_zh'], $r['name_en'], $r['business_role'],
$r['country'], $r['registration_number'], $r['address'], $r['legal_representative'],
$r['industry'], $r['industry_subdivision'], $r['website'], $r['registered_capital'],
$r['established_date'], $r['latest_employee_count'], $r['latest_annual_revenue'],
- $r['is_listed'], $r['stock_code'], date('Y-m-d', strtotime($r['created_at'])),
+ $r['is_listed'], $r['stock_code'], $r['source_channel'], $r['source_detail'], date('Y-m-d', strtotime($r['created_at'])),
]);
}
fclose($out);
diff --git a/api/company/import.php b/api/company/import.php
index 2c44fd0..8dcb71f 100644
--- a/api/company/import.php
+++ b/api/company/import.php
@@ -36,6 +36,7 @@ $map = [
'industry' => 'industry', 'industry_subdivision' => 'industry_subdivision', 'website' => 'website',
'registered_capital' => 'registered_capital', 'established_date' => 'established_date',
'is_listed' => 'is_listed', 'stock_code' => 'stock_code',
+ 'source_channel' => 'source_channel', 'source_detail' => 'source_detail',
];
$pdo = DB::getInstance()->getPdo();
@@ -46,8 +47,8 @@ $stmt = $pdo->prepare(
"INSERT INTO companies
(name_zh, name_en, display_name, business_role, country, registration_number,
address, legal_form, legal_representative, industry, industry_subdivision, website,
- registered_capital, established_date, is_listed, stock_code)
- VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
+ registered_capital, established_date, is_listed, stock_code, source_channel, source_detail)
+ VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
);
while (($row = fgetcsv($handle)) !== false) {
@@ -72,6 +73,7 @@ while (($row = fgetcsv($handle)) !== false) {
$rec['industry'] ?? null, $rec['industry_subdivision'] ?? null, $rec['website'] ?? null,
$rec['registered_capital'] ?? null, $rec['established_date'],
($rec['is_listed'] ?? 0) ? 1 : 0, $rec['stock_code'] ?? null,
+ $rec['source_channel'] ?? null, $rec['source_detail'] ?? null,
]);
$inserted++;
} catch (Exception $e) {
diff --git a/api/company/list.php b/api/company/list.php
index 57579c6..d5eb258 100644
--- a/api/company/list.php
+++ b/api/company/list.php
@@ -55,7 +55,7 @@ $stmt = $pdo->prepare(
"SELECT id, name_zh, name_en, display_name, business_role, country, registration_number,
address, legal_representative, industry, industry_subdivision, website,
latest_employee_count, latest_annual_revenue, is_listed, stock_code,
- is_active, created_at, updated_at
+ source_channel, source_detail, is_active, created_at, updated_at
FROM companies
WHERE $whereSql
ORDER BY id DESC
diff --git a/api/media/export.php b/api/media/export.php
index 69de566..a5fe9a9 100644
--- a/api/media/export.php
+++ b/api/media/export.php
@@ -32,7 +32,7 @@ $whereSql = implode(' AND ', $where);
$pdo = DB::getInstance()->getPdo();
$stmt = $pdo->prepare(
- "SELECT sa.id, sa.owner_type, sa.owner_id, sa.platform, sa.account_id, sa.profile_url, sa.remark,
+ "SELECT sa.id, sa.owner_type, sa.owner_id, sa.platform, sa.account_id, sa.profile_url, sa.remark, sa.is_defult,
mca.account_level, mca.content_categories, mca.follower_count, mca.avg_read_count,
mca.certification_type, sa.created_at,
CASE sa.owner_type
@@ -52,11 +52,11 @@ header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="media_' . date('Ymd_His') . '.csv"');
echo "\xEF\xBB\xBF";
$out = fopen('php://output', 'w');
-fputcsv($out, ['ID', '归属类型', '归属ID', '归属名称', '平台', '账号', '主页链接', '备注', '等级', '内容领域', '粉丝数', '平均阅读', '认证类型', '创建时间']);
+fputcsv($out, ['ID', '归属类型', '归属ID', '归属名称', '平台', '账号', '主页链接', '备注', '是否常用', '等级', '内容领域', '粉丝数', '平均阅读', '认证类型', '创建时间']);
foreach ($list as $r) {
fputcsv($out, [
$r['id'], $r['owner_type'], $r['owner_id'], $r['owner_name'], $r['platform'],
- $r['account_id'], $r['profile_url'], $r['remark'], $r['account_level'],
+ $r['account_id'], $r['profile_url'], $r['remark'], $r['is_defult'] ? '常用' : '备用', $r['account_level'],
$r['content_categories'], $r['follower_count'], $r['avg_read_count'],
$r['certification_type'], $r['created_at'],
]);
diff --git a/api/media/import.php b/api/media/import.php
index 1f3ab65..9aa9083 100644
--- a/api/media/import.php
+++ b/api/media/import.php
@@ -1,7 +1,7 @@
getPdo();
$insAccount = $pdo->prepare(
- "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary, is_active)
- VALUES (?,?,?,?,?,?,?,1)"
+ "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary, is_defult, is_active)
+ VALUES (?,?,?,?,?,?,?,?,1)"
);
$insAttr = $pdo->prepare(
"INSERT INTO media_commercial_attributes
@@ -75,6 +75,7 @@ while (($row = fgetcsv($handle)) !== false) {
$insAccount->execute([
$ownerType, $ownerId, $rec['platform'], $rec['account_id'],
$rec['profile_url'] ?? null, $rec['remark'] ?? null, !empty($rec['is_primary']) ? 1 : 0,
+ !empty($rec['is_defult']) ? 1 : 0,
]);
$newId = (int)$pdo->lastInsertId();
if (!empty($rec['account_level']) || !empty($rec['certification_type'])) {
diff --git a/api/media/list.php b/api/media/list.php
index 678d0f2..ca023bd 100644
--- a/api/media/list.php
+++ b/api/media/list.php
@@ -51,7 +51,7 @@ $total = (int)$stmt->fetchColumn();
$offset = ($page - 1) * $limit;
$stmt = $pdo->prepare(
"SELECT sa.id, sa.owner_type, sa.owner_id, sa.platform, sa.account_id, sa.profile_url,
- sa.remark, sa.is_primary, sa.is_active, sa.created_at,
+ sa.remark, sa.is_primary, sa.is_defult, sa.is_active, sa.created_at,
mca.account_level, mca.content_categories, mca.follower_count, mca.avg_read_count,
mca.certification_type, mca.special_requirements, mca.media_remark,
CASE sa.owner_type
diff --git a/api/person/add.php b/api/person/add.php
index e079ce7..34d42cc 100644
--- a/api/person/add.php
+++ b/api/person/add.php
@@ -34,18 +34,18 @@ if ((int)$chk->fetchColumn() > 0) {
$pdo->prepare("INSERT INTO persons $sql")->execute($params);
$newId = (int)$pdo->lastInsertId();
-// 写入联系方式
+// 写入联系方式(v1.0.16:支持 is_defult 字段,1常用/0备用)
$contacts = json_decode($_POST['contacts'] ?? '[]', true);
if (is_array($contacts)) {
$ins = $pdo->prepare(
- "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary)
- VALUES ('person', ?, ?, ?, ?, ?, ?)"
+ "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary, is_defult)
+ VALUES ('person', ?, ?, ?, ?, ?, ?, ?)"
);
foreach ($contacts as $c) {
$platform = trim($c['platform'] ?? '');
$accountId = trim($c['account_id'] ?? '');
if ($platform === '' || $accountId === '') continue;
- $ins->execute([$newId, $platform, $accountId, $c['profile_url'] ?? null, $c['remark'] ?? null, !empty($c['is_primary']) ? 1 : 0]);
+ $ins->execute([$newId, $platform, $accountId, $c['profile_url'] ?? null, $c['remark'] ?? null, !empty($c['is_primary']) ? 1 : 0, !empty($c['is_defult']) ? 1 : 0]);
}
}
diff --git a/api/person/detail.php b/api/person/detail.php
index 734d16b..7325fb5 100644
--- a/api/person/detail.php
+++ b/api/person/detail.php
@@ -1,6 +1,7 @@
prepare("SELECT id, platform, account_id, profile_url, remark, is_primary, is_active FROM social_accounts WHERE owner_type = 'person' AND owner_id = ? ORDER BY is_primary DESC, id DESC");
+$accounts = $pdo->prepare("SELECT id, platform, account_id, profile_url, remark, is_primary, is_defult, is_active FROM social_accounts WHERE owner_type = 'person' AND owner_id = ? ORDER BY is_defult DESC, is_primary DESC, id DESC");
$accounts->execute([$id]);
+$accountList = $accounts->fetchAll();
+
+// 常用手机/邮箱(优先 is_defult=1,其次 is_primary=1)
+$phone = '';
+$email = '';
+foreach ($accountList as $a) {
+ if ($phone === '' && $a['platform'] === 'phone') {
+ $phone = $a['account_id'];
+ }
+ if ($email === '' && $a['platform'] === 'email') {
+ $email = $a['account_id'];
+ }
+ if ($phone !== '' && $email !== '') {
+ break;
+ }
+}
$experiences = $pdo->prepare(
"SELECT pwe.id, pwe.company_id, c.display_name, c.industry, pwe.position, pwe.department,
@@ -35,4 +52,10 @@ $experiences = $pdo->prepare(
);
$experiences->execute([$id]);
-Response::success(['person' => $person, 'accounts' => $accounts->fetchAll(), 'experiences' => $experiences->fetchAll()]);
+Response::success([
+ 'person' => $person,
+ 'accounts' => $accountList,
+ 'phone' => $phone,
+ 'email' => $email,
+ 'experiences' => $experiences->fetchAll(),
+]);
diff --git a/api/person/export.php b/api/person/export.php
index d3d6b98..2f2ad54 100644
--- a/api/person/export.php
+++ b/api/person/export.php
@@ -33,9 +33,9 @@ $whereSql = implode(' AND ', $where);
$pdo = DB::getInstance()->getPdo();
$stmt = $pdo->prepare(
"SELECT p.id, p.union_id, p.full_name, p.gender, p.nationality, p.id_type, p.id_number,
- p.education, p.graduated_from, p.hometown, p.work_location, p.created_at,
- (SELECT sa.account_id FROM social_accounts sa WHERE sa.owner_type='person' AND sa.owner_id=p.id AND sa.platform='phone' AND sa.is_active=1 LIMIT 1) AS phone,
- (SELECT sa.account_id FROM social_accounts sa WHERE sa.owner_type='person' AND sa.owner_id=p.id AND sa.platform='email' AND sa.is_active=1 LIMIT 1) AS email
+ p.education, p.graduated_from, p.hometown, p.work_location, p.source_channel, p.source_detail, p.created_at,
+ (SELECT sa.account_id FROM social_accounts sa WHERE sa.owner_type='person' AND sa.owner_id=p.id AND sa.platform='phone' AND sa.is_active=1 ORDER BY sa.is_defult DESC, sa.is_primary DESC LIMIT 1) AS phone,
+ (SELECT sa.account_id FROM social_accounts sa WHERE sa.owner_type='person' AND sa.owner_id=p.id AND sa.platform='email' AND sa.is_active=1 ORDER BY sa.is_defult DESC, sa.is_primary DESC LIMIT 1) AS email
FROM persons p WHERE $whereSql ORDER BY p.id DESC"
);
$stmt->execute($params);
@@ -47,12 +47,12 @@ header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="persons_' . date('Ymd_His') . '.csv"');
echo "\xEF\xBB\xBF";
$out = fopen('php://output', 'w');
-fputcsv($out, ['ID', 'union_id', '姓名', '性别', '国籍', '证件类型', '证件号', '学历', '毕业院校', '家乡', '工作所在地', '手机', '邮箱', '创建时间']);
+fputcsv($out, ['ID', 'union_id', '姓名', '性别', '国籍', '证件类型', '证件号', '学历', '毕业院校', '家乡', '工作所在地', '来源渠道', '来源详情', '手机', '邮箱', '创建时间']);
foreach ($list as $r) {
fputcsv($out, [
$r['id'], $r['union_id'], $r['full_name'], $r['gender'], $r['nationality'],
$r['id_type'], $r['id_number'], $r['education'], $r['graduated_from'],
- $r['hometown'], $r['work_location'], $r['phone'], $r['email'], $r['created_at'],
+ $r['hometown'], $r['work_location'], $r['source_channel'], $r['source_detail'], $r['phone'], $r['email'], $r['created_at'],
]);
}
fclose($out);
diff --git a/api/person/import.php b/api/person/import.php
index f5dcdf4..67f3c64 100644
--- a/api/person/import.php
+++ b/api/person/import.php
@@ -2,8 +2,8 @@
/**
* 人员 CSV 导入接口 POST /api/person/import.php (multipart/form-data, 字段名 file)
* CSV 表头:union_id,full_name,gender,nationality,id_type,id_number,education,
- * graduated_from,hometown,work_location,phone,email
- * 仅 full_name 必填;union_id 留空自动生成;phone/email 写入 social_accounts。
+ * graduated_from,hometown,work_location,phone,email,source_channel,source_detail
+ * 仅 full_name 必填;union_id 留空自动生成;phone/email 写入 social_accounts(默认常用)。
*/
require_once __DIR__ . '/../common/db.php';
require_once __DIR__ . '/../common/response.php';
@@ -26,12 +26,12 @@ $header = str_getcsv(trim($first));
$pdo = DB::getInstance()->getPdo();
$insPerson = $pdo->prepare(
- "INSERT INTO persons (union_id, full_name, gender, nationality, id_type, id_number, education, graduated_from, hometown, work_location)
- VALUES (?,?,?,?,?,?,?,?,?,?)"
+ "INSERT INTO persons (union_id, full_name, gender, nationality, id_type, id_number, education, graduated_from, hometown, work_location, source_channel, source_detail)
+ VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"
);
$insAccount = $pdo->prepare(
- "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, is_primary)
- VALUES ('person', ?, ?, ?, ?)"
+ "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, is_defult)
+ VALUES ('person', ?, ?, ?, 1)"
);
$inserted = 0;
@@ -63,13 +63,14 @@ while (($row = fgetcsv($handle)) !== false) {
$unionId, $rec['full_name'], $rec['gender'] ?? '保密', $rec['nationality'] ?? null,
$rec['id_type'] ?? null, $rec['id_number'] ?? null, $rec['education'] ?? null,
$rec['graduated_from'] ?? null, $rec['hometown'] ?? null, $rec['work_location'] ?? null,
+ $rec['source_channel'] ?? null, $rec['source_detail'] ?? null,
]);
$newId = (int)$pdo->lastInsertId();
if (!empty($rec['phone'])) {
- $insAccount->execute([$newId, 'phone', $rec['phone'], 1]);
+ $insAccount->execute([$newId, 'phone', $rec['phone']]);
}
if (!empty($rec['email'])) {
- $insAccount->execute([$newId, 'email', $rec['email'], 0]);
+ $insAccount->execute([$newId, 'email', $rec['email']]);
}
$inserted++;
} catch (Exception $e) {
diff --git a/api/person/list.php b/api/person/list.php
index 7ce861f..f0ca205 100644
--- a/api/person/list.php
+++ b/api/person/list.php
@@ -3,6 +3,7 @@
* 人员列表接口 GET/POST /api/person/list.php
* 参数:page / limit / keyword(姓名/证件号/手机/邮箱)/ gender / nationality / work_location / is_active
* 返回:{ list, total, page, limit }
+ * v1.0.16:联系方式列改为“手机”“邮箱”两个字段(仅返回常用:is_defult=1 优先,其次 is_primary=1)
*/
require_once __DIR__ . '/../common/db.php';
require_once __DIR__ . '/../common/response.php';
@@ -44,12 +45,21 @@ $stmt = $pdo->prepare("SELECT COUNT(*) FROM persons p WHERE $whereSql");
$stmt->execute($params);
$total = (int)$stmt->fetchColumn();
+// 常用手机/邮箱:优先 is_defult=1,其次 is_primary=1,最后取任意一条
+$phoneSql = "(SELECT sa.account_id FROM social_accounts sa
+ WHERE sa.owner_type = 'person' AND sa.owner_id = p.id AND sa.platform = 'phone' AND sa.is_active = 1
+ ORDER BY sa.is_defult DESC, sa.is_primary DESC, sa.id DESC LIMIT 1)";
+$emailSql = "(SELECT sa.account_id FROM social_accounts sa
+ WHERE sa.owner_type = 'person' AND sa.owner_id = p.id AND sa.platform = 'email' AND sa.is_active = 1
+ ORDER BY sa.is_defult DESC, sa.is_primary DESC, sa.id DESC LIMIT 1)";
+
$offset = ($page - 1) * $limit;
$stmt = $pdo->prepare(
"SELECT p.id, p.union_id, p.full_name, p.gender, p.nationality, p.id_type, p.id_number,
p.education, p.graduated_from, p.hometown, p.work_location, p.is_active, p.created_at,
- (SELECT GROUP_CONCAT(CONCAT(sa.platform, ':', sa.account_id) SEPARATOR ' | ')
- FROM social_accounts sa WHERE sa.owner_type = 'person' AND sa.owner_id = p.id AND sa.is_active = 1) AS contacts
+ p.source_channel, p.source_detail,
+ $phoneSql AS phone,
+ $emailSql AS email
FROM persons p
WHERE $whereSql
ORDER BY p.id DESC
diff --git a/api/person/update.php b/api/person/update.php
index e6dacc6..48ebe14 100644
--- a/api/person/update.php
+++ b/api/person/update.php
@@ -36,14 +36,14 @@ if (isset($_POST['contacts'])) {
$contacts = json_decode($_POST['contacts'], true);
if (is_array($contacts)) {
$ins = $pdo->prepare(
- "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary)
- VALUES ('person', ?, ?, ?, ?, ?, ?)"
+ "INSERT INTO social_accounts (owner_type, owner_id, platform, account_id, profile_url, remark, is_primary, is_defult)
+ VALUES ('person', ?, ?, ?, ?, ?, ?, ?)"
);
foreach ($contacts as $c) {
$platform = trim($c['platform'] ?? '');
$accountId = trim($c['account_id'] ?? '');
if ($platform === '' || $accountId === '') continue;
- $ins->execute([$id, $platform, $accountId, $c['profile_url'] ?? null, $c['remark'] ?? null, !empty($c['is_primary']) ? 1 : 0]);
+ $ins->execute([$id, $platform, $accountId, $c['profile_url'] ?? null, $c['remark'] ?? null, !empty($c['is_primary']) ? 1 : 0, !empty($c['is_defult']) ? 1 : 0]);
}
}
}
diff --git a/data/phone.dat b/data/phone.dat
new file mode 100644
index 0000000..784f35f
Binary files /dev/null and b/data/phone.dat differ
diff --git a/sql/_backup_cert_types.json b/sql/_backup_cert_types.json
new file mode 100644
index 0000000..cfe3b8d
--- /dev/null
+++ b/sql/_backup_cert_types.json
@@ -0,0 +1,37 @@
+{
+ "certification_types": [
+ [
+ 6,
+ "ISO14001认证"
+ ],
+ [
+ 7,
+ "ISO45001认证"
+ ],
+ [
+ 5,
+ "ISO9001认证"
+ ],
+ [
+ 2,
+ "专精特新企业"
+ ],
+ [
+ 4,
+ "制造业单项冠军"
+ ],
+ [
+ 1,
+ "国家高新技术企业"
+ ],
+ [
+ 3,
+ "瞪羚企业"
+ ],
+ [
+ 8,
+ "知识产权管理体系认证"
+ ]
+ ],
+ "company_certifications": []
+}
\ No newline at end of file
diff --git a/sql/dict_seed.sql b/sql/dict_seed.sql
new file mode 100644
index 0000000..7ae7a4f
--- /dev/null
+++ b/sql/dict_seed.sql
@@ -0,0 +1,4014 @@
+-- ============================================================
+-- 数据字典种子数据(由官方 Excel 文件生成,勿手工修改)
+-- 来源:国家地区编码.xls / 行政区划编码.xls / 招标行业分类.xls / 证书类型枚举.xls
+--
+-- ⚠️ 重要:date_dict_certificate 被 company_certifications.certification_type_id
+-- 外键 ON DELETE CASCADE 引用,本文件会对证书表 DELETE 后重建!
+-- 执行前必须先备份 company_certifications(及相关业务表)!!
+-- 安全做法:
+-- 1) 备份:mysqldump mysuperlink company_certifications > backup.sql
+-- 2) 执行本文件
+-- 3) 如公司资质关联丢失,用备份恢复并按证书名称重新关联新字典 id
+-- ============================================================
+SET NAMES utf8mb4;
+
+-- 防止外键级联误删(执行本文件期间临时关闭外键检查)
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- 1) 国家地区编码(62 条,另补充 'CN 中国' 1 条供国内企业/人员使用)
+DELETE FROM `date_dict_country`;
+INSERT INTO `date_dict_country` (`code`, `name`, `sort_order`) VALUES
+('CN', '中国', 0),
+('HK', '中国香港', 1),
+('MO', '中国澳门', 2),
+('TW', '中国台湾', 3),
+('SG', '新加坡', 4),
+('JP', '日本', 5),
+('KR', '韩国', 6),
+('IN', '印度', 7),
+('ID', '印度尼西亚', 8),
+('TH', '泰国', 9),
+('MY', '马来西亚', 10),
+('VN', '越南', 11),
+('KH', '柬埔寨', 12),
+('MM', '缅甸', 13),
+('OM', '阿曼苏丹国', 14),
+('JO', '约旦', 15),
+('PK', '巴基斯坦', 16),
+('IL', '以色列', 17),
+('SA', '沙特阿拉伯', 18),
+('KW', '科威特', 19),
+('AE', '阿联酋', 20),
+('US', '美国', 21),
+('CA', '加拿大', 22),
+('JM', '牙买加', 23),
+('PR', '波多黎各', 24),
+('KY', '英属开曼群岛', 25),
+('VG', '英属维尔京群岛', 26),
+('BM', '英属百慕大群岛', 27),
+('RU', '俄罗斯', 28),
+('DE', '德国', 29),
+('GB', '英国', 30),
+('NL', '荷兰', 31),
+('FR', '法国', 32),
+('IT', '意大利', 33),
+('IE', '爱尔兰', 34),
+('LU', '卢森堡', 35),
+('SE', '瑞典', 36),
+('CY', '塞浦路斯', 37),
+('CZ', '捷克', 38),
+('MT', '马耳他', 39),
+('SK', '斯洛伐克', 40),
+('BE', '比利时', 41),
+('FI', '芬兰', 42),
+('NO', '挪威', 43),
+('CH', '瑞士', 44),
+('ES', '西班牙', 45),
+('SI', '斯洛文尼亚', 46),
+('LT', '立陶宛', 47),
+('LV', '拉脱维亚', 48),
+('DK', '丹麦', 49),
+('EE', '爱沙尼亚', 50),
+('HU', '匈牙利', 51),
+('AT', '奥地利', 52),
+('MA', '摩洛哥', 53),
+('ZA', '南非', 54),
+('MU', '毛里求斯', 55),
+('SC', '塞舌尔', 56),
+('RW', '卢旺达', 57),
+('AU', '澳大利亚', 58),
+('NZ', '新西兰', 59),
+('MH', '马绍尔群岛', 60),
+('WS', '萨摩亚', 61),
+('BR', '巴西', 62);
+
+-- 2) 行政区划编码(省/市/区县三级,共 3632 条)
+DELETE FROM `date_dict_area`;
+INSERT INTO `date_dict_area` (`code`, `name`, `parent_code`, `sort_order`) VALUES
+('110000', '北京市', NULL, 1),
+('110100', '北京市', '110000', 2),
+('110101', '东城区', '110100', 3),
+('110102', '西城区', '110100', 4),
+('110105', '朝阳区', '110100', 5),
+('110106', '丰台区', '110100', 6),
+('110107', '石景山区', '110100', 7),
+('110108', '海淀区', '110100', 8),
+('110109', '门头沟区', '110100', 9),
+('110111', '房山区', '110100', 10),
+('110112', '通州区', '110100', 11),
+('110113', '顺义区', '110100', 12),
+('110114', '昌平区', '110100', 13),
+('110115', '大兴区', '110100', 14),
+('110116', '怀柔区', '110100', 15),
+('110117', '平谷区', '110100', 16),
+('110118', '密云区', '110100', 17),
+('110119', '延庆区', '110100', 18),
+('120000', '天津市', NULL, 19),
+('120100', '天津市', '120000', 20),
+('120101', '和平区', '120100', 21),
+('120102', '河东区', '120100', 22),
+('120103', '河西区', '120100', 23),
+('120104', '南开区', '120100', 24),
+('120105', '河北区', '120100', 25),
+('120106', '红桥区', '120100', 26),
+('120110', '东丽区', '120100', 27),
+('120111', '西青区', '120100', 28),
+('120112', '津南区', '120100', 29),
+('120113', '北辰区', '120100', 30),
+('120114', '武清区', '120100', 31),
+('120115', '宝坻区', '120100', 32),
+('120116', '滨海新区', '120100', 33),
+('120117', '宁河区', '120100', 34),
+('120118', '静海区', '120100', 35),
+('120119', '蓟州区', '120100', 36),
+('130000', '河北省', NULL, 37),
+('130100', '石家庄市', '130000', 38),
+('130101', '市辖区', '130100', 39),
+('130102', '长安区', '130100', 40),
+('130104', '桥西区', '130100', 41),
+('130105', '新华区', '130100', 42),
+('130107', '井陉矿区', '130100', 43),
+('130108', '裕华区', '130100', 44),
+('130109', '藁城区', '130100', 45),
+('130110', '鹿泉区', '130100', 46),
+('130111', '栾城区', '130100', 47),
+('130121', '井陉县', '130100', 48),
+('130123', '正定县', '130100', 49),
+('130125', '行唐县', '130100', 50),
+('130126', '灵寿县', '130100', 51),
+('130127', '高邑县', '130100', 52),
+('130128', '深泽县', '130100', 53),
+('130129', '赞皇县', '130100', 54),
+('130130', '无极县', '130100', 55),
+('130131', '平山县', '130100', 56),
+('130132', '元氏县', '130100', 57),
+('130133', '赵县', '130100', 58),
+('130171', '石家庄高新技术产业开发区', '130100', 59),
+('130172', '石家庄循环化工园区', '130100', 60),
+('130181', '辛集市', '130100', 61),
+('130183', '晋州市', '130100', 62),
+('130184', '新乐市', '130100', 63),
+('130200', '唐山市', '130000', 64),
+('130201', '市辖区', '130200', 65),
+('130202', '路南区', '130200', 66),
+('130203', '路北区', '130200', 67),
+('130204', '古冶区', '130200', 68),
+('130205', '开平区', '130200', 69),
+('130207', '丰南区', '130200', 70),
+('130208', '丰润区', '130200', 71),
+('130209', '曹妃甸区', '130200', 72),
+('130224', '滦南县', '130200', 73),
+('130225', '乐亭县', '130200', 74),
+('130227', '迁西县', '130200', 75),
+('130229', '玉田县', '130200', 76),
+('130271', '河北唐山芦台经济开发区', '130200', 77),
+('130272', '唐山市汉沽管理区', '130200', 78),
+('130273', '唐山高新技术产业开发区', '130200', 79),
+('130274', '河北唐山海港经济开发区', '130200', 80),
+('130281', '遵化市', '130200', 81),
+('130283', '迁安市', '130200', 82),
+('130284', '滦州市', '130200', 83),
+('130300', '秦皇岛市', '130000', 84),
+('130301', '市辖区', '130300', 85),
+('130302', '海港区', '130300', 86),
+('130303', '山海关区', '130300', 87),
+('130304', '北戴河区', '130300', 88),
+('130306', '抚宁区', '130300', 89),
+('130321', '青龙满族自治县', '130300', 90),
+('130322', '昌黎县', '130300', 91),
+('130324', '卢龙县', '130300', 92),
+('130371', '秦皇岛市经济技术开发区', '130300', 93),
+('130372', '北戴河新区', '130300', 94),
+('130400', '邯郸市', '130000', 95),
+('130401', '市辖区', '130400', 96),
+('130402', '邯山区', '130400', 97),
+('130403', '丛台区', '130400', 98),
+('130404', '复兴区', '130400', 99),
+('130406', '峰峰矿区', '130400', 100),
+('130407', '肥乡区', '130400', 101),
+('130408', '永年区', '130400', 102),
+('130423', '临漳县', '130400', 103),
+('130424', '成安县', '130400', 104),
+('130425', '大名县', '130400', 105),
+('130426', '涉县', '130400', 106),
+('130427', '磁县', '130400', 107),
+('130430', '邱县', '130400', 108),
+('130431', '鸡泽县', '130400', 109),
+('130432', '广平县', '130400', 110),
+('130433', '馆陶县', '130400', 111),
+('130434', '魏县', '130400', 112),
+('130435', '曲周县', '130400', 113),
+('130471', '邯郸经济技术开发区', '130400', 114),
+('130473', '邯郸冀南新区', '130400', 115),
+('130481', '武安市', '130400', 116),
+('130500', '邢台市', '130000', 117),
+('130501', '市辖区', '130500', 118),
+('130502', '襄都区', '130500', 119),
+('130503', '信都区', '130500', 120),
+('130505', '任泽区', '130500', 121),
+('130506', '南和区', '130500', 122),
+('130522', '临城县', '130500', 123),
+('130523', '内丘县', '130500', 124),
+('130524', '柏乡县', '130500', 125),
+('130525', '隆尧县', '130500', 126),
+('130528', '宁晋县', '130500', 127),
+('130529', '巨鹿县', '130500', 128),
+('130530', '新河县', '130500', 129),
+('130531', '广宗县', '130500', 130),
+('130532', '平乡县', '130500', 131),
+('130533', '威县', '130500', 132),
+('130534', '清河县', '130500', 133),
+('130535', '临西县', '130500', 134),
+('130571', '河北邢台经济开发区', '130500', 135),
+('130581', '南宫市', '130500', 136),
+('130582', '沙河市', '130500', 137),
+('130600', '保定市', '130000', 138),
+('130601', '市辖区', '130600', 139),
+('130602', '竞秀区', '130600', 140),
+('130606', '莲池区', '130600', 141),
+('130607', '满城区', '130600', 142),
+('130608', '清苑区', '130600', 143),
+('130609', '徐水区', '130600', 144),
+('130623', '涞水县', '130600', 145),
+('130624', '阜平县', '130600', 146),
+('130626', '定兴县', '130600', 147),
+('130627', '唐县', '130600', 148),
+('130628', '高阳县', '130600', 149),
+('130629', '容城县', '130600', 150),
+('130630', '涞源县', '130600', 151),
+('130631', '望都县', '130600', 152),
+('130632', '安新县', '130600', 153),
+('130633', '易县', '130600', 154),
+('130634', '曲阳县', '130600', 155),
+('130635', '蠡县', '130600', 156),
+('130636', '顺平县', '130600', 157),
+('130637', '博野县', '130600', 158),
+('130638', '雄县', '130600', 159),
+('130671', '保定高新技术产业开发区', '130600', 160),
+('130672', '保定白沟新城', '130600', 161),
+('130681', '涿州市', '130600', 162),
+('130682', '定州市', '130600', 163),
+('130683', '安国市', '130600', 164),
+('130684', '高碑店市', '130600', 165),
+('130700', '张家口市', '130000', 166),
+('130701', '市辖区', '130700', 167),
+('130702', '桥东区', '130700', 168),
+('130703', '桥西区', '130700', 169),
+('130705', '宣化区', '130700', 170),
+('130706', '下花园区', '130700', 171),
+('130708', '万全区', '130700', 172),
+('130709', '崇礼区', '130700', 173),
+('130722', '张北县', '130700', 174),
+('130723', '康保县', '130700', 175),
+('130724', '沽源县', '130700', 176),
+('130725', '尚义县', '130700', 177),
+('130726', '蔚县', '130700', 178),
+('130727', '阳原县', '130700', 179),
+('130728', '怀安县', '130700', 180),
+('130730', '怀来县', '130700', 181),
+('130731', '涿鹿县', '130700', 182),
+('130732', '赤城县', '130700', 183),
+('130771', '张家口经济开发区', '130700', 184),
+('130772', '张家口市察北管理区', '130700', 185),
+('130773', '张家口市塞北管理区', '130700', 186),
+('130800', '承德市', '130000', 187),
+('130801', '市辖区', '130800', 188),
+('130802', '双桥区', '130800', 189),
+('130803', '双滦区', '130800', 190),
+('130804', '鹰手营子矿区', '130800', 191),
+('130821', '承德县', '130800', 192),
+('130822', '兴隆县', '130800', 193),
+('130824', '滦平县', '130800', 194),
+('130825', '隆化县', '130800', 195),
+('130826', '丰宁满族自治县', '130800', 196),
+('130827', '宽城满族自治县', '130800', 197),
+('130828', '围场满族蒙古族自治县', '130800', 198),
+('130871', '承德高新技术产业开发区', '130800', 199),
+('130881', '平泉市', '130800', 200),
+('130900', '沧州市', '130000', 201),
+('130901', '市辖区', '130900', 202),
+('130902', '新华区', '130900', 203),
+('130903', '运河区', '130900', 204),
+('130921', '沧县', '130900', 205),
+('130922', '青县', '130900', 206),
+('130923', '东光县', '130900', 207),
+('130924', '海兴县', '130900', 208),
+('130925', '盐山县', '130900', 209),
+('130926', '肃宁县', '130900', 210),
+('130927', '南皮县', '130900', 211),
+('130928', '吴桥县', '130900', 212),
+('130929', '献县', '130900', 213),
+('130930', '孟村回族自治县', '130900', 214),
+('130971', '河北沧州经济开发区', '130900', 215),
+('130972', '沧州高新技术产业开发区', '130900', 216),
+('130973', '沧州渤海新区', '130900', 217),
+('130981', '泊头市', '130900', 218),
+('130982', '任丘市', '130900', 219),
+('130983', '黄骅市', '130900', 220),
+('130984', '河间市', '130900', 221),
+('131000', '廊坊市', '130000', 222),
+('131001', '市辖区', '131000', 223),
+('131002', '安次区', '131000', 224),
+('131003', '广阳区', '131000', 225),
+('131022', '固安县', '131000', 226),
+('131023', '永清县', '131000', 227),
+('131024', '香河县', '131000', 228),
+('131025', '大城县', '131000', 229),
+('131026', '文安县', '131000', 230),
+('131028', '大厂回族自治县', '131000', 231),
+('131071', '廊坊经济技术开发区', '131000', 232),
+('131081', '霸州市', '131000', 233),
+('131082', '三河市', '131000', 234),
+('131100', '衡水市', '130000', 235),
+('131101', '市辖区', '131100', 236),
+('131102', '桃城区', '131100', 237),
+('131103', '冀州区', '131100', 238),
+('131121', '枣强县', '131100', 239),
+('131122', '武邑县', '131100', 240),
+('131123', '武强县', '131100', 241),
+('131124', '饶阳县', '131100', 242),
+('131125', '安平县', '131100', 243),
+('131126', '故城县', '131100', 244),
+('131127', '景县', '131100', 245),
+('131128', '阜城县', '131100', 246),
+('131171', '河北衡水高新技术产业开发区', '131100', 247),
+('131172', '衡水滨湖新区', '131100', 248),
+('131182', '深州市', '131100', 249),
+('140000', '山西省', NULL, 250),
+('140100', '太原市', '140000', 251),
+('140101', '市辖区', '140100', 252),
+('140105', '小店区', '140100', 253),
+('140106', '迎泽区', '140100', 254),
+('140107', '杏花岭区', '140100', 255),
+('140108', '尖草坪区', '140100', 256),
+('140109', '万柏林区', '140100', 257),
+('140110', '晋源区', '140100', 258),
+('140121', '清徐县', '140100', 259),
+('140122', '阳曲县', '140100', 260),
+('140123', '娄烦县', '140100', 261),
+('140171', '山西转型综合改革示范区', '140100', 262),
+('140181', '古交市', '140100', 263),
+('140200', '大同市', '140000', 264),
+('140201', '市辖区', '140200', 265),
+('140212', '新荣区', '140200', 266),
+('140213', '平城区', '140200', 267),
+('140214', '云冈区', '140200', 268),
+('140215', '云州区', '140200', 269),
+('140221', '阳高县', '140200', 270),
+('140222', '天镇县', '140200', 271),
+('140223', '广灵县', '140200', 272),
+('140224', '灵丘县', '140200', 273),
+('140225', '浑源县', '140200', 274),
+('140226', '左云县', '140200', 275),
+('140271', '山西大同经济开发区', '140200', 276),
+('140300', '阳泉市', '140000', 277),
+('140301', '市辖区', '140300', 278),
+('140302', '城区', '140300', 279),
+('140303', '矿区', '140300', 280),
+('140311', '郊区', '140300', 281),
+('140321', '平定县', '140300', 282),
+('140322', '盂县', '140300', 283),
+('140400', '长治市', '140000', 284),
+('140401', '市辖区', '140400', 285),
+('140403', '潞州区', '140400', 286),
+('140404', '上党区', '140400', 287),
+('140405', '屯留区', '140400', 288),
+('140406', '潞城区', '140400', 289),
+('140423', '襄垣县', '140400', 290),
+('140425', '平顺县', '140400', 291),
+('140426', '黎城县', '140400', 292),
+('140427', '壶关县', '140400', 293),
+('140428', '长子县', '140400', 294),
+('140429', '武乡县', '140400', 295),
+('140430', '沁县', '140400', 296),
+('140431', '沁源县', '140400', 297),
+('140500', '晋城市', '140000', 298),
+('140501', '市辖区', '140500', 299),
+('140502', '城区', '140500', 300),
+('140521', '沁水县', '140500', 301),
+('140522', '阳城县', '140500', 302),
+('140524', '陵川县', '140500', 303),
+('140525', '泽州县', '140500', 304),
+('140581', '高平市', '140500', 305),
+('140600', '朔州市', '140000', 306),
+('140601', '市辖区', '140600', 307),
+('140602', '朔城区', '140600', 308),
+('140603', '平鲁区', '140600', 309),
+('140621', '山阴县', '140600', 310),
+('140622', '应县', '140600', 311),
+('140623', '右玉县', '140600', 312),
+('140671', '山西朔州经济开发区', '140600', 313),
+('140681', '怀仁市', '140600', 314),
+('140700', '晋中市', '140000', 315),
+('140701', '市辖区', '140700', 316),
+('140702', '榆次区', '140700', 317),
+('140703', '太谷区', '140700', 318),
+('140721', '榆社县', '140700', 319),
+('140722', '左权县', '140700', 320),
+('140723', '和顺县', '140700', 321),
+('140724', '昔阳县', '140700', 322),
+('140725', '寿阳县', '140700', 323),
+('140727', '祁县', '140700', 324),
+('140728', '平遥县', '140700', 325),
+('140729', '灵石县', '140700', 326),
+('140781', '介休市', '140700', 327),
+('140800', '运城市', '140000', 328),
+('140801', '市辖区', '140800', 329),
+('140802', '盐湖区', '140800', 330),
+('140821', '临猗县', '140800', 331),
+('140822', '万荣县', '140800', 332),
+('140823', '闻喜县', '140800', 333),
+('140824', '稷山县', '140800', 334),
+('140825', '新绛县', '140800', 335),
+('140826', '绛县', '140800', 336),
+('140827', '垣曲县', '140800', 337),
+('140828', '夏县', '140800', 338),
+('140829', '平陆县', '140800', 339),
+('140830', '芮城县', '140800', 340),
+('140881', '永济市', '140800', 341),
+('140882', '河津市', '140800', 342),
+('140900', '忻州市', '140000', 343),
+('140901', '市辖区', '140900', 344),
+('140902', '忻府区', '140900', 345),
+('140921', '定襄县', '140900', 346),
+('140922', '五台县', '140900', 347),
+('140923', '代县', '140900', 348),
+('140924', '繁峙县', '140900', 349),
+('140925', '宁武县', '140900', 350),
+('140926', '静乐县', '140900', 351),
+('140927', '神池县', '140900', 352),
+('140928', '五寨县', '140900', 353),
+('140929', '岢岚县', '140900', 354),
+('140930', '河曲县', '140900', 355),
+('140931', '保德县', '140900', 356),
+('140932', '偏关县', '140900', 357),
+('140971', '五台山风景名胜区', '140900', 358),
+('140981', '原平市', '140900', 359),
+('141000', '临汾市', '140000', 360),
+('141001', '市辖区', '141000', 361),
+('141002', '尧都区', '141000', 362),
+('141021', '曲沃县', '141000', 363),
+('141022', '翼城县', '141000', 364),
+('141023', '襄汾县', '141000', 365),
+('141024', '洪洞县', '141000', 366),
+('141025', '古县', '141000', 367),
+('141026', '安泽县', '141000', 368),
+('141027', '浮山县', '141000', 369),
+('141028', '吉县', '141000', 370),
+('141029', '乡宁县', '141000', 371),
+('141030', '大宁县', '141000', 372),
+('141031', '隰县', '141000', 373),
+('141032', '永和县', '141000', 374),
+('141033', '蒲县', '141000', 375),
+('141034', '汾西县', '141000', 376),
+('141081', '侯马市', '141000', 377),
+('141082', '霍州市', '141000', 378),
+('141100', '吕梁市', '140000', 379),
+('141101', '市辖区', '141100', 380),
+('141102', '离石区', '141100', 381),
+('141121', '文水县', '141100', 382),
+('141122', '交城县', '141100', 383),
+('141123', '兴县', '141100', 384),
+('141124', '临县', '141100', 385),
+('141125', '柳林县', '141100', 386),
+('141126', '石楼县', '141100', 387),
+('141127', '岚县', '141100', 388),
+('141128', '方山县', '141100', 389),
+('141129', '中阳县', '141100', 390),
+('141130', '交口县', '141100', 391),
+('141181', '孝义市', '141100', 392),
+('141182', '汾阳市', '141100', 393),
+('150000', '内蒙古自治区', NULL, 394),
+('150100', '呼和浩特市', '150000', 395),
+('150101', '市辖区', '150100', 396),
+('150102', '新城区', '150100', 397),
+('150103', '回民区', '150100', 398),
+('150104', '玉泉区', '150100', 399),
+('150105', '赛罕区', '150100', 400),
+('150121', '土默特左旗', '150100', 401),
+('150122', '托克托县', '150100', 402),
+('150123', '和林格尔县', '150100', 403),
+('150124', '清水河县', '150100', 404),
+('150125', '武川县', '150100', 405),
+('150172', '呼和浩特经济技术开发区', '150100', 406),
+('150200', '包头市', '150000', 407),
+('150201', '市辖区', '150200', 408),
+('150202', '东河区', '150200', 409),
+('150203', '昆都仑区', '150200', 410),
+('150204', '青山区', '150200', 411),
+('150205', '石拐区', '150200', 412),
+('150206', '白云鄂博矿区', '150200', 413),
+('150207', '九原区', '150200', 414),
+('150221', '土默特右旗', '150200', 415),
+('150222', '固阳县', '150200', 416),
+('150223', '达尔罕茂明安联合旗', '150200', 417),
+('150271', '包头稀土高新技术产业开发区', '150200', 418),
+('150300', '乌海市', '150000', 419),
+('150301', '市辖区', '150300', 420),
+('150302', '海勃湾区', '150300', 421),
+('150303', '海南区', '150300', 422),
+('150304', '乌达区', '150300', 423),
+('150400', '赤峰市', '150000', 424),
+('150401', '市辖区', '150400', 425),
+('150402', '红山区', '150400', 426),
+('150403', '元宝山区', '150400', 427),
+('150404', '松山区', '150400', 428),
+('150421', '阿鲁科尔沁旗', '150400', 429),
+('150422', '巴林左旗', '150400', 430),
+('150423', '巴林右旗', '150400', 431),
+('150424', '林西县', '150400', 432),
+('150425', '克什克腾旗', '150400', 433),
+('150426', '翁牛特旗', '150400', 434),
+('150428', '喀喇沁旗', '150400', 435),
+('150429', '宁城县', '150400', 436),
+('150430', '敖汉旗', '150400', 437),
+('150500', '通辽市', '150000', 438),
+('150501', '市辖区', '150500', 439),
+('150502', '科尔沁区', '150500', 440),
+('150521', '科尔沁左翼中旗', '150500', 441),
+('150522', '科尔沁左翼后旗', '150500', 442),
+('150523', '开鲁县', '150500', 443),
+('150524', '库伦旗', '150500', 444),
+('150525', '奈曼旗', '150500', 445),
+('150526', '扎鲁特旗', '150500', 446),
+('150571', '通辽经济技术开发区', '150500', 447),
+('150581', '霍林郭勒市', '150500', 448),
+('150600', '鄂尔多斯市', '150000', 449),
+('150601', '市辖区', '150600', 450),
+('150602', '东胜区', '150600', 451),
+('150603', '康巴什区', '150600', 452),
+('150621', '达拉特旗', '150600', 453),
+('150622', '准格尔旗', '150600', 454),
+('150623', '鄂托克前旗', '150600', 455),
+('150624', '鄂托克旗', '150600', 456),
+('150625', '杭锦旗', '150600', 457),
+('150626', '乌审旗', '150600', 458),
+('150627', '伊金霍洛旗', '150600', 459),
+('150700', '呼伦贝尔市', '150000', 460),
+('150701', '市辖区', '150700', 461),
+('150702', '海拉尔区', '150700', 462),
+('150703', '扎赉诺尔区', '150700', 463),
+('150721', '阿荣旗', '150700', 464),
+('150722', '莫力达瓦达斡尔族自治旗', '150700', 465),
+('150723', '鄂伦春自治旗', '150700', 466),
+('150724', '鄂温克族自治旗', '150700', 467),
+('150725', '陈巴尔虎旗', '150700', 468),
+('150726', '新巴尔虎左旗', '150700', 469),
+('150727', '新巴尔虎右旗', '150700', 470),
+('150781', '满洲里市', '150700', 471),
+('150782', '牙克石市', '150700', 472),
+('150783', '扎兰屯市', '150700', 473),
+('150784', '额尔古纳市', '150700', 474),
+('150785', '根河市', '150700', 475),
+('150800', '巴彦淖尔市', '150000', 476),
+('150801', '市辖区', '150800', 477),
+('150802', '临河区', '150800', 478),
+('150821', '五原县', '150800', 479),
+('150822', '磴口县', '150800', 480),
+('150823', '乌拉特前旗', '150800', 481),
+('150824', '乌拉特中旗', '150800', 482),
+('150825', '乌拉特后旗', '150800', 483),
+('150826', '杭锦后旗', '150800', 484),
+('150900', '乌兰察布市', '150000', 485),
+('150901', '市辖区', '150900', 486),
+('150902', '集宁区', '150900', 487),
+('150921', '卓资县', '150900', 488),
+('150922', '化德县', '150900', 489),
+('150923', '商都县', '150900', 490),
+('150924', '兴和县', '150900', 491),
+('150925', '凉城县', '150900', 492),
+('150926', '察哈尔右翼前旗', '150900', 493),
+('150927', '察哈尔右翼中旗', '150900', 494),
+('150928', '察哈尔右翼后旗', '150900', 495),
+('150929', '四子王旗', '150900', 496),
+('150981', '丰镇市', '150900', 497),
+('152200', '兴安盟', '150000', 498),
+('152201', '乌兰浩特市', '152200', 499),
+('152202', '阿尔山市', '152200', 500),
+('152221', '科尔沁右翼前旗', '152200', 501),
+('152222', '科尔沁右翼中旗', '152200', 502),
+('152223', '扎赉特旗', '152200', 503),
+('152224', '突泉县', '152200', 504),
+('152500', '锡林郭勒盟', '150000', 505),
+('152501', '二连浩特市', '152500', 506),
+('152502', '锡林浩特市', '152500', 507),
+('152522', '阿巴嘎旗', '152500', 508),
+('152523', '苏尼特左旗', '152500', 509),
+('152524', '苏尼特右旗', '152500', 510),
+('152525', '东乌珠穆沁旗', '152500', 511),
+('152526', '西乌珠穆沁旗', '152500', 512),
+('152527', '太仆寺旗', '152500', 513),
+('152528', '镶黄旗', '152500', 514),
+('152529', '正镶白旗', '152500', 515),
+('152530', '正蓝旗', '152500', 516),
+('152531', '多伦县', '152500', 517),
+('152571', '乌拉盖管理区管委会', '152500', 518),
+('152900', '阿拉善盟', '150000', 519),
+('152921', '阿拉善左旗', '152900', 520),
+('152922', '阿拉善右旗', '152900', 521),
+('152923', '额济纳旗', '152900', 522),
+('152971', '内蒙古阿拉善高新技术产业开发区', '152900', 523),
+('210000', '辽宁省', NULL, 524),
+('210100', '沈阳市', '210000', 525),
+('210101', '市辖区', '210100', 526),
+('210102', '和平区', '210100', 527),
+('210103', '沈河区', '210100', 528),
+('210104', '大东区', '210100', 529),
+('210105', '皇姑区', '210100', 530),
+('210106', '铁西区', '210100', 531),
+('210111', '苏家屯区', '210100', 532),
+('210112', '浑南区', '210100', 533),
+('210113', '沈北新区', '210100', 534),
+('210114', '于洪区', '210100', 535),
+('210115', '辽中区', '210100', 536),
+('210123', '康平县', '210100', 537),
+('210124', '法库县', '210100', 538),
+('210181', '新民市', '210100', 539),
+('210200', '大连市', '210000', 540),
+('210201', '市辖区', '210200', 541),
+('210202', '中山区', '210200', 542),
+('210203', '西岗区', '210200', 543),
+('210204', '沙河口区', '210200', 544),
+('210211', '甘井子区', '210200', 545),
+('210212', '旅顺口区', '210200', 546),
+('210213', '金州区', '210200', 547),
+('210214', '普兰店区', '210200', 548),
+('210224', '长海县', '210200', 549),
+('210281', '瓦房店市', '210200', 550),
+('210283', '庄河市', '210200', 551),
+('210300', '鞍山市', '210000', 552),
+('210301', '市辖区', '210300', 553),
+('210302', '铁东区', '210300', 554),
+('210303', '铁西区', '210300', 555),
+('210304', '立山区', '210300', 556),
+('210311', '千山区', '210300', 557),
+('210321', '台安县', '210300', 558),
+('210323', '岫岩满族自治县', '210300', 559),
+('210381', '海城市', '210300', 560),
+('210400', '抚顺市', '210000', 561),
+('210401', '市辖区', '210400', 562),
+('210402', '新抚区', '210400', 563),
+('210403', '东洲区', '210400', 564),
+('210404', '望花区', '210400', 565),
+('210411', '顺城区', '210400', 566),
+('210421', '抚顺县', '210400', 567),
+('210422', '新宾满族自治县', '210400', 568),
+('210423', '清原满族自治县', '210400', 569),
+('210500', '本溪市', '210000', 570),
+('210501', '市辖区', '210500', 571),
+('210502', '平山区', '210500', 572),
+('210503', '溪湖区', '210500', 573),
+('210504', '明山区', '210500', 574),
+('210505', '南芬区', '210500', 575),
+('210521', '本溪满族自治县', '210500', 576),
+('210522', '桓仁满族自治县', '210500', 577),
+('210600', '丹东市', '210000', 578),
+('210601', '市辖区', '210600', 579),
+('210602', '元宝区', '210600', 580),
+('210603', '振兴区', '210600', 581),
+('210604', '振安区', '210600', 582),
+('210624', '宽甸满族自治县', '210600', 583),
+('210681', '东港市', '210600', 584),
+('210682', '凤城市', '210600', 585),
+('210700', '锦州市', '210000', 586),
+('210701', '市辖区', '210700', 587),
+('210702', '古塔区', '210700', 588),
+('210703', '凌河区', '210700', 589),
+('210711', '太和区', '210700', 590),
+('210726', '黑山县', '210700', 591),
+('210727', '义县', '210700', 592),
+('210781', '凌海市', '210700', 593),
+('210782', '北镇市', '210700', 594),
+('210800', '营口市', '210000', 595),
+('210801', '市辖区', '210800', 596),
+('210802', '站前区', '210800', 597),
+('210803', '西市区', '210800', 598),
+('210804', '鲅鱼圈区', '210800', 599),
+('210811', '老边区', '210800', 600),
+('210881', '盖州市', '210800', 601),
+('210882', '大石桥市', '210800', 602),
+('210900', '阜新市', '210000', 603),
+('210901', '市辖区', '210900', 604),
+('210902', '海州区', '210900', 605),
+('210903', '新邱区', '210900', 606),
+('210904', '太平区', '210900', 607),
+('210905', '清河门区', '210900', 608),
+('210911', '细河区', '210900', 609),
+('210921', '阜新蒙古族自治县', '210900', 610),
+('210922', '彰武县', '210900', 611),
+('211000', '辽阳市', '210000', 612),
+('211001', '市辖区', '211000', 613),
+('211002', '白塔区', '211000', 614),
+('211003', '文圣区', '211000', 615),
+('211004', '宏伟区', '211000', 616),
+('211005', '弓长岭区', '211000', 617),
+('211011', '太子河区', '211000', 618),
+('211021', '辽阳县', '211000', 619),
+('211081', '灯塔市', '211000', 620),
+('211100', '盘锦市', '210000', 621),
+('211101', '市辖区', '211100', 622),
+('211102', '双台子区', '211100', 623),
+('211103', '兴隆台区', '211100', 624),
+('211104', '大洼区', '211100', 625),
+('211122', '盘山县', '211100', 626),
+('211200', '铁岭市', '210000', 627),
+('211201', '市辖区', '211200', 628),
+('211202', '银州区', '211200', 629),
+('211204', '清河区', '211200', 630),
+('211221', '铁岭县', '211200', 631),
+('211223', '西丰县', '211200', 632),
+('211224', '昌图县', '211200', 633),
+('211281', '调兵山市', '211200', 634),
+('211282', '开原市', '211200', 635),
+('211300', '朝阳市', '210000', 636),
+('211301', '市辖区', '211300', 637),
+('211302', '双塔区', '211300', 638),
+('211303', '龙城区', '211300', 639),
+('211321', '朝阳县', '211300', 640),
+('211322', '建平县', '211300', 641),
+('211324', '喀喇沁左翼蒙古族自治县', '211300', 642),
+('211381', '北票市', '211300', 643),
+('211382', '凌源市', '211300', 644),
+('211400', '葫芦岛市', '210000', 645),
+('211401', '市辖区', '211400', 646),
+('211402', '连山区', '211400', 647),
+('211403', '龙港区', '211400', 648),
+('211404', '南票区', '211400', 649),
+('211421', '绥中县', '211400', 650),
+('211422', '建昌县', '211400', 651),
+('211481', '兴城市', '211400', 652),
+('220000', '吉林省', NULL, 653),
+('220100', '长春市', '220000', 654),
+('220101', '市辖区', '220100', 655),
+('220102', '南关区', '220100', 656),
+('220103', '宽城区', '220100', 657),
+('220104', '朝阳区', '220100', 658),
+('220105', '二道区', '220100', 659),
+('220106', '绿园区', '220100', 660),
+('220112', '双阳区', '220100', 661),
+('220113', '九台区', '220100', 662),
+('220122', '农安县', '220100', 663),
+('220171', '长春经济技术开发区', '220100', 664),
+('220172', '长春净月高新技术产业开发区', '220100', 665),
+('220173', '长春高新技术产业开发区', '220100', 666),
+('220174', '长春汽车经济技术开发区', '220100', 667),
+('220182', '榆树市', '220100', 668),
+('220183', '德惠市', '220100', 669),
+('220184', '公主岭市', '220100', 670),
+('220200', '吉林市', '220000', 671),
+('220201', '市辖区', '220200', 672),
+('220202', '昌邑区', '220200', 673),
+('220203', '龙潭区', '220200', 674),
+('220204', '船营区', '220200', 675),
+('220211', '丰满区', '220200', 676),
+('220221', '永吉县', '220200', 677),
+('220271', '吉林经济开发区', '220200', 678),
+('220272', '吉林高新技术产业开发区', '220200', 679),
+('220273', '吉林中国新加坡食品区', '220200', 680),
+('220281', '蛟河市', '220200', 681),
+('220282', '桦甸市', '220200', 682),
+('220283', '舒兰市', '220200', 683),
+('220284', '磐石市', '220200', 684),
+('220300', '四平市', '220000', 685),
+('220301', '市辖区', '220300', 686),
+('220302', '铁西区', '220300', 687),
+('220303', '铁东区', '220300', 688),
+('220322', '梨树县', '220300', 689),
+('220323', '伊通满族自治县', '220300', 690),
+('220382', '双辽市', '220300', 691),
+('220400', '辽源市', '220000', 692),
+('220401', '市辖区', '220400', 693),
+('220402', '龙山区', '220400', 694),
+('220403', '西安区', '220400', 695),
+('220421', '东丰县', '220400', 696),
+('220422', '东辽县', '220400', 697),
+('220500', '通化市', '220000', 698),
+('220501', '市辖区', '220500', 699),
+('220502', '东昌区', '220500', 700),
+('220503', '二道江区', '220500', 701),
+('220521', '通化县', '220500', 702),
+('220523', '辉南县', '220500', 703),
+('220524', '柳河县', '220500', 704),
+('220581', '梅河口市', '220500', 705),
+('220582', '集安市', '220500', 706),
+('220600', '白山市', '220000', 707),
+('220601', '市辖区', '220600', 708),
+('220602', '浑江区', '220600', 709),
+('220605', '江源区', '220600', 710),
+('220621', '抚松县', '220600', 711),
+('220622', '靖宇县', '220600', 712),
+('220623', '长白朝鲜族自治县', '220600', 713),
+('220681', '临江市', '220600', 714),
+('220700', '松原市', '220000', 715),
+('220701', '市辖区', '220700', 716),
+('220702', '宁江区', '220700', 717),
+('220721', '前郭尔罗斯蒙古族自治县', '220700', 718),
+('220722', '长岭县', '220700', 719),
+('220723', '乾安县', '220700', 720),
+('220771', '吉林松原经济开发区', '220700', 721),
+('220781', '扶余市', '220700', 722),
+('220800', '白城市', '220000', 723),
+('220801', '市辖区', '220800', 724),
+('220802', '洮北区', '220800', 725),
+('220821', '镇赉县', '220800', 726),
+('220822', '通榆县', '220800', 727),
+('220871', '吉林白城经济开发区', '220800', 728),
+('220881', '洮南市', '220800', 729),
+('220882', '大安市', '220800', 730),
+('222400', '延边朝鲜族自治州', '220000', 731),
+('222401', '延吉市', '222400', 732),
+('222402', '图们市', '222400', 733),
+('222403', '敦化市', '222400', 734),
+('222404', '珲春市', '222400', 735),
+('222405', '龙井市', '222400', 736),
+('222406', '和龙市', '222400', 737),
+('222424', '汪清县', '222400', 738),
+('222426', '安图县', '222400', 739),
+('230000', '黑龙江省', NULL, 740),
+('230100', '哈尔滨市', '230000', 741),
+('230101', '市辖区', '230100', 742),
+('230102', '道里区', '230100', 743),
+('230103', '南岗区', '230100', 744),
+('230104', '道外区', '230100', 745),
+('230108', '平房区', '230100', 746),
+('230109', '松北区', '230100', 747),
+('230110', '香坊区', '230100', 748),
+('230111', '呼兰区', '230100', 749),
+('230112', '阿城区', '230100', 750),
+('230113', '双城区', '230100', 751),
+('230123', '依兰县', '230100', 752),
+('230124', '方正县', '230100', 753),
+('230125', '宾县', '230100', 754),
+('230126', '巴彦县', '230100', 755),
+('230127', '木兰县', '230100', 756),
+('230128', '通河县', '230100', 757),
+('230129', '延寿县', '230100', 758),
+('230183', '尚志市', '230100', 759),
+('230184', '五常市', '230100', 760),
+('230200', '齐齐哈尔市', '230000', 761),
+('230201', '市辖区', '230200', 762),
+('230202', '龙沙区', '230200', 763),
+('230203', '建华区', '230200', 764),
+('230204', '铁锋区', '230200', 765),
+('230205', '昂昂溪区', '230200', 766),
+('230206', '富拉尔基区', '230200', 767),
+('230207', '碾子山区', '230200', 768),
+('230208', '梅里斯达斡尔族区', '230200', 769),
+('230221', '龙江县', '230200', 770),
+('230223', '依安县', '230200', 771),
+('230224', '泰来县', '230200', 772),
+('230225', '甘南县', '230200', 773),
+('230227', '富裕县', '230200', 774),
+('230229', '克山县', '230200', 775),
+('230230', '克东县', '230200', 776),
+('230231', '拜泉县', '230200', 777),
+('230281', '讷河市', '230200', 778),
+('230300', '鸡西市', '230000', 779),
+('230301', '市辖区', '230300', 780),
+('230302', '鸡冠区', '230300', 781),
+('230303', '恒山区', '230300', 782),
+('230304', '滴道区', '230300', 783),
+('230305', '梨树区', '230300', 784),
+('230306', '城子河区', '230300', 785),
+('230307', '麻山区', '230300', 786),
+('230321', '鸡东县', '230300', 787),
+('230381', '虎林市', '230300', 788),
+('230382', '密山市', '230300', 789),
+('230400', '鹤岗市', '230000', 790),
+('230401', '市辖区', '230400', 791),
+('230402', '向阳区', '230400', 792),
+('230403', '工农区', '230400', 793),
+('230404', '南山区', '230400', 794),
+('230405', '兴安区', '230400', 795),
+('230406', '东山区', '230400', 796),
+('230407', '兴山区', '230400', 797),
+('230421', '萝北县', '230400', 798),
+('230422', '绥滨县', '230400', 799),
+('230500', '双鸭山市', '230000', 800),
+('230501', '市辖区', '230500', 801),
+('230502', '尖山区', '230500', 802),
+('230503', '岭东区', '230500', 803),
+('230505', '四方台区', '230500', 804),
+('230506', '宝山区', '230500', 805),
+('230521', '集贤县', '230500', 806),
+('230522', '友谊县', '230500', 807),
+('230523', '宝清县', '230500', 808),
+('230524', '饶河县', '230500', 809),
+('230600', '大庆市', '230000', 810),
+('230601', '市辖区', '230600', 811),
+('230602', '萨尔图区', '230600', 812),
+('230603', '龙凤区', '230600', 813),
+('230604', '让胡路区', '230600', 814),
+('230605', '红岗区', '230600', 815),
+('230606', '大同区', '230600', 816),
+('230621', '肇州县', '230600', 817),
+('230622', '肇源县', '230600', 818),
+('230623', '林甸县', '230600', 819),
+('230624', '杜尔伯特蒙古族自治县', '230600', 820),
+('230671', '大庆高新技术产业开发区', '230600', 821),
+('230700', '伊春市', '230000', 822),
+('230701', '市辖区', '230700', 823),
+('230717', '伊美区', '230700', 824),
+('230718', '乌翠区', '230700', 825),
+('230719', '友好区', '230700', 826),
+('230722', '嘉荫县', '230700', 827),
+('230723', '汤旺县', '230700', 828),
+('230724', '丰林县', '230700', 829),
+('230725', '大箐山县', '230700', 830),
+('230726', '南岔县', '230700', 831),
+('230751', '金林区', '230700', 832),
+('230781', '铁力市', '230700', 833),
+('230800', '佳木斯市', '230000', 834),
+('230801', '市辖区', '230800', 835),
+('230803', '向阳区', '230800', 836),
+('230804', '前进区', '230800', 837),
+('230805', '东风区', '230800', 838),
+('230811', '郊区', '230800', 839),
+('230822', '桦南县', '230800', 840),
+('230826', '桦川县', '230800', 841),
+('230828', '汤原县', '230800', 842),
+('230881', '同江市', '230800', 843),
+('230882', '富锦市', '230800', 844),
+('230883', '抚远市', '230800', 845),
+('230900', '七台河市', '230000', 846),
+('230901', '市辖区', '230900', 847),
+('230902', '新兴区', '230900', 848),
+('230903', '桃山区', '230900', 849),
+('230904', '茄子河区', '230900', 850),
+('230921', '勃利县', '230900', 851),
+('231000', '牡丹江市', '230000', 852),
+('231001', '市辖区', '231000', 853),
+('231002', '东安区', '231000', 854),
+('231003', '阳明区', '231000', 855),
+('231004', '爱民区', '231000', 856),
+('231005', '西安区', '231000', 857),
+('231025', '林口县', '231000', 858),
+('231081', '绥芬河市', '231000', 859),
+('231083', '海林市', '231000', 860),
+('231084', '宁安市', '231000', 861),
+('231085', '穆棱市', '231000', 862),
+('231086', '东宁市', '231000', 863),
+('231100', '黑河市', '230000', 864),
+('231101', '市辖区', '231100', 865),
+('231102', '爱辉区', '231100', 866),
+('231123', '逊克县', '231100', 867),
+('231124', '孙吴县', '231100', 868),
+('231181', '北安市', '231100', 869),
+('231182', '五大连池市', '231100', 870),
+('231183', '嫩江市', '231100', 871),
+('231200', '绥化市', '230000', 872),
+('231201', '市辖区', '231200', 873),
+('231202', '北林区', '231200', 874),
+('231221', '望奎县', '231200', 875),
+('231222', '兰西县', '231200', 876),
+('231223', '青冈县', '231200', 877),
+('231224', '庆安县', '231200', 878),
+('231225', '明水县', '231200', 879),
+('231226', '绥棱县', '231200', 880),
+('231281', '安达市', '231200', 881),
+('231282', '肇东市', '231200', 882),
+('231283', '海伦市', '231200', 883),
+('232700', '大兴安岭地区', '230000', 884),
+('232701', '漠河市', '232700', 885),
+('232721', '呼玛县', '232700', 886),
+('232722', '塔河县', '232700', 887),
+('232761', '加格达奇区', '232700', 888),
+('232762', '松岭区', '232700', 889),
+('232763', '新林区', '232700', 890),
+('232764', '呼中区', '232700', 891),
+('310000', '上海市', NULL, 892),
+('310100', '上海市', '310000', 893),
+('310101', '黄浦区', '310100', 894),
+('310104', '徐汇区', '310100', 895),
+('310105', '长宁区', '310100', 896),
+('310106', '静安区', '310100', 897),
+('310107', '普陀区', '310100', 898),
+('310109', '虹口区', '310100', 899),
+('310110', '杨浦区', '310100', 900),
+('310112', '闵行区', '310100', 901),
+('310113', '宝山区', '310100', 902),
+('310114', '嘉定区', '310100', 903),
+('310115', '浦东新区', '310100', 904),
+('310116', '金山区', '310100', 905),
+('310117', '松江区', '310100', 906),
+('310118', '青浦区', '310100', 907),
+('310120', '奉贤区', '310100', 908),
+('310151', '崇明区', '310100', 909),
+('320000', '江苏省', NULL, 910),
+('320100', '南京市', '320000', 911),
+('320101', '市辖区', '320100', 912),
+('320102', '玄武区', '320100', 913),
+('320104', '秦淮区', '320100', 914),
+('320105', '建邺区', '320100', 915),
+('320106', '鼓楼区', '320100', 916),
+('320111', '浦口区', '320100', 917),
+('320113', '栖霞区', '320100', 918),
+('320114', '雨花台区', '320100', 919),
+('320115', '江宁区', '320100', 920),
+('320116', '六合区', '320100', 921),
+('320117', '溧水区', '320100', 922),
+('320118', '高淳区', '320100', 923),
+('320200', '无锡市', '320000', 924),
+('320201', '市辖区', '320200', 925),
+('320205', '锡山区', '320200', 926),
+('320206', '惠山区', '320200', 927),
+('320211', '滨湖区', '320200', 928),
+('320213', '梁溪区', '320200', 929),
+('320214', '新吴区', '320200', 930),
+('320281', '江阴市', '320200', 931),
+('320282', '宜兴市', '320200', 932),
+('320300', '徐州市', '320000', 933),
+('320301', '市辖区', '320300', 934),
+('320302', '鼓楼区', '320300', 935),
+('320303', '云龙区', '320300', 936),
+('320305', '贾汪区', '320300', 937),
+('320311', '泉山区', '320300', 938),
+('320312', '铜山区', '320300', 939),
+('320321', '丰县', '320300', 940),
+('320322', '沛县', '320300', 941),
+('320324', '睢宁县', '320300', 942),
+('320371', '徐州经济技术开发区', '320300', 943),
+('320381', '新沂市', '320300', 944),
+('320382', '邳州市', '320300', 945),
+('320400', '常州市', '320000', 946),
+('320401', '市辖区', '320400', 947),
+('320402', '天宁区', '320400', 948),
+('320404', '钟楼区', '320400', 949),
+('320411', '新北区', '320400', 950),
+('320412', '武进区', '320400', 951),
+('320413', '金坛区', '320400', 952),
+('320481', '溧阳市', '320400', 953),
+('320500', '苏州市', '320000', 954),
+('320501', '市辖区', '320500', 955),
+('320505', '虎丘区', '320500', 956),
+('320506', '吴中区', '320500', 957),
+('320507', '相城区', '320500', 958),
+('320508', '姑苏区', '320500', 959),
+('320509', '吴江区', '320500', 960),
+('320576', '苏州工业园区', '320500', 961),
+('320581', '常熟市', '320500', 962),
+('320582', '张家港市', '320500', 963),
+('320583', '昆山市', '320500', 964),
+('320585', '太仓市', '320500', 965),
+('320600', '南通市', '320000', 966),
+('320601', '市辖区', '320600', 967),
+('320612', '通州区', '320600', 968),
+('320613', '崇川区', '320600', 969),
+('320614', '海门区', '320600', 970),
+('320623', '如东县', '320600', 971),
+('320671', '南通经济技术开发区', '320600', 972),
+('320681', '启东市', '320600', 973),
+('320682', '如皋市', '320600', 974),
+('320685', '海安市', '320600', 975),
+('320700', '连云港市', '320000', 976),
+('320701', '市辖区', '320700', 977),
+('320703', '连云区', '320700', 978),
+('320706', '海州区', '320700', 979),
+('320707', '赣榆区', '320700', 980),
+('320722', '东海县', '320700', 981),
+('320723', '灌云县', '320700', 982),
+('320724', '灌南县', '320700', 983),
+('320771', '连云港经济技术开发区', '320700', 984),
+('320800', '淮安市', '320000', 985),
+('320801', '市辖区', '320800', 986),
+('320803', '淮安区', '320800', 987),
+('320804', '淮阴区', '320800', 988),
+('320812', '清江浦区', '320800', 989),
+('320813', '洪泽区', '320800', 990),
+('320826', '涟水县', '320800', 991),
+('320830', '盱眙县', '320800', 992),
+('320831', '金湖县', '320800', 993),
+('320871', '淮安经济技术开发区', '320800', 994),
+('320900', '盐城市', '320000', 995),
+('320901', '市辖区', '320900', 996),
+('320902', '亭湖区', '320900', 997),
+('320903', '盐都区', '320900', 998),
+('320904', '大丰区', '320900', 999),
+('320921', '响水县', '320900', 1000),
+('320922', '滨海县', '320900', 1001),
+('320923', '阜宁县', '320900', 1002),
+('320924', '射阳县', '320900', 1003),
+('320925', '建湖县', '320900', 1004),
+('320971', '盐城经济技术开发区', '320900', 1005),
+('320981', '东台市', '320900', 1006),
+('321000', '扬州市', '320000', 1007),
+('321001', '市辖区', '321000', 1008),
+('321002', '广陵区', '321000', 1009),
+('321003', '邗江区', '321000', 1010),
+('321012', '江都区', '321000', 1011),
+('321023', '宝应县', '321000', 1012),
+('321071', '扬州经济技术开发区', '321000', 1013),
+('321081', '仪征市', '321000', 1014),
+('321084', '高邮市', '321000', 1015),
+('321100', '镇江市', '320000', 1016),
+('321101', '市辖区', '321100', 1017),
+('321102', '京口区', '321100', 1018),
+('321111', '润州区', '321100', 1019),
+('321112', '丹徒区', '321100', 1020),
+('321171', '镇江新区', '321100', 1021),
+('321181', '丹阳市', '321100', 1022),
+('321182', '扬中市', '321100', 1023),
+('321183', '句容市', '321100', 1024),
+('321200', '泰州市', '320000', 1025),
+('321201', '市辖区', '321200', 1026),
+('321202', '海陵区', '321200', 1027),
+('321203', '高港区', '321200', 1028),
+('321204', '姜堰区', '321200', 1029),
+('321281', '兴化市', '321200', 1030),
+('321282', '靖江市', '321200', 1031),
+('321283', '泰兴市', '321200', 1032),
+('321300', '宿迁市', '320000', 1033),
+('321301', '市辖区', '321300', 1034),
+('321302', '宿城区', '321300', 1035),
+('321311', '宿豫区', '321300', 1036),
+('321322', '沭阳县', '321300', 1037),
+('321323', '泗阳县', '321300', 1038),
+('321324', '泗洪县', '321300', 1039),
+('321371', '宿迁经济技术开发区', '321300', 1040),
+('330000', '浙江省', NULL, 1041),
+('330100', '杭州市', '330000', 1042),
+('330101', '市辖区', '330100', 1043),
+('330102', '上城区', '330100', 1044),
+('330105', '拱墅区', '330100', 1045),
+('330106', '西湖区', '330100', 1046),
+('330108', '滨江区', '330100', 1047),
+('330109', '萧山区', '330100', 1048),
+('330110', '余杭区', '330100', 1049),
+('330111', '富阳区', '330100', 1050),
+('330112', '临安区', '330100', 1051),
+('330113', '临平区', '330100', 1052),
+('330114', '钱塘区', '330100', 1053),
+('330122', '桐庐县', '330100', 1054),
+('330127', '淳安县', '330100', 1055),
+('330182', '建德市', '330100', 1056),
+('330200', '宁波市', '330000', 1057),
+('330201', '市辖区', '330200', 1058),
+('330203', '海曙区', '330200', 1059),
+('330205', '江北区', '330200', 1060),
+('330206', '北仑区', '330200', 1061),
+('330211', '镇海区', '330200', 1062),
+('330212', '鄞州区', '330200', 1063),
+('330213', '奉化区', '330200', 1064),
+('330225', '象山县', '330200', 1065),
+('330226', '宁海县', '330200', 1066),
+('330281', '余姚市', '330200', 1067),
+('330282', '慈溪市', '330200', 1068),
+('330300', '温州市', '330000', 1069),
+('330301', '市辖区', '330300', 1070),
+('330302', '鹿城区', '330300', 1071),
+('330303', '龙湾区', '330300', 1072),
+('330304', '瓯海区', '330300', 1073),
+('330305', '洞头区', '330300', 1074),
+('330324', '永嘉县', '330300', 1075),
+('330326', '平阳县', '330300', 1076),
+('330327', '苍南县', '330300', 1077),
+('330328', '文成县', '330300', 1078),
+('330329', '泰顺县', '330300', 1079),
+('330381', '瑞安市', '330300', 1080),
+('330382', '乐清市', '330300', 1081),
+('330383', '龙港市', '330300', 1082),
+('330400', '嘉兴市', '330000', 1083),
+('330401', '市辖区', '330400', 1084),
+('330402', '南湖区', '330400', 1085),
+('330411', '秀洲区', '330400', 1086),
+('330421', '嘉善县', '330400', 1087),
+('330424', '海盐县', '330400', 1088),
+('330481', '海宁市', '330400', 1089),
+('330482', '平湖市', '330400', 1090),
+('330483', '桐乡市', '330400', 1091),
+('330500', '湖州市', '330000', 1092),
+('330501', '市辖区', '330500', 1093),
+('330502', '吴兴区', '330500', 1094),
+('330503', '南浔区', '330500', 1095),
+('330521', '德清县', '330500', 1096),
+('330522', '长兴县', '330500', 1097),
+('330523', '安吉县', '330500', 1098),
+('330600', '绍兴市', '330000', 1099),
+('330601', '市辖区', '330600', 1100),
+('330602', '越城区', '330600', 1101),
+('330603', '柯桥区', '330600', 1102),
+('330604', '上虞区', '330600', 1103),
+('330624', '新昌县', '330600', 1104),
+('330681', '诸暨市', '330600', 1105),
+('330683', '嵊州市', '330600', 1106),
+('330700', '金华市', '330000', 1107),
+('330701', '市辖区', '330700', 1108),
+('330702', '婺城区', '330700', 1109),
+('330703', '金东区', '330700', 1110),
+('330723', '武义县', '330700', 1111),
+('330726', '浦江县', '330700', 1112),
+('330727', '磐安县', '330700', 1113),
+('330781', '兰溪市', '330700', 1114),
+('330782', '义乌市', '330700', 1115),
+('330783', '东阳市', '330700', 1116),
+('330784', '永康市', '330700', 1117),
+('330800', '衢州市', '330000', 1118),
+('330801', '市辖区', '330800', 1119),
+('330802', '柯城区', '330800', 1120),
+('330803', '衢江区', '330800', 1121),
+('330822', '常山县', '330800', 1122),
+('330824', '开化县', '330800', 1123),
+('330825', '龙游县', '330800', 1124),
+('330881', '江山市', '330800', 1125),
+('330900', '舟山市', '330000', 1126),
+('330901', '市辖区', '330900', 1127),
+('330902', '定海区', '330900', 1128),
+('330903', '普陀区', '330900', 1129),
+('330921', '岱山县', '330900', 1130),
+('330922', '嵊泗县', '330900', 1131),
+('331000', '台州市', '330000', 1132),
+('331001', '市辖区', '331000', 1133),
+('331002', '椒江区', '331000', 1134),
+('331003', '黄岩区', '331000', 1135),
+('331004', '路桥区', '331000', 1136),
+('331022', '三门县', '331000', 1137),
+('331023', '天台县', '331000', 1138),
+('331024', '仙居县', '331000', 1139),
+('331081', '温岭市', '331000', 1140),
+('331082', '临海市', '331000', 1141),
+('331083', '玉环市', '331000', 1142),
+('331100', '丽水市', '330000', 1143),
+('331101', '市辖区', '331100', 1144),
+('331102', '莲都区', '331100', 1145),
+('331121', '青田县', '331100', 1146),
+('331122', '缙云县', '331100', 1147),
+('331123', '遂昌县', '331100', 1148),
+('331124', '松阳县', '331100', 1149),
+('331125', '云和县', '331100', 1150),
+('331126', '庆元县', '331100', 1151),
+('331127', '景宁畲族自治县', '331100', 1152),
+('331181', '龙泉市', '331100', 1153),
+('340000', '安徽省', NULL, 1154),
+('340100', '合肥市', '340000', 1155),
+('340101', '市辖区', '340100', 1156),
+('340102', '瑶海区', '340100', 1157),
+('340103', '庐阳区', '340100', 1158),
+('340104', '蜀山区', '340100', 1159),
+('340111', '包河区', '340100', 1160),
+('340121', '长丰县', '340100', 1161),
+('340122', '肥东县', '340100', 1162),
+('340123', '肥西县', '340100', 1163),
+('340124', '庐江县', '340100', 1164),
+('340176', '合肥高新技术产业开发区', '340100', 1165),
+('340177', '合肥经济技术开发区', '340100', 1166),
+('340178', '合肥新站高新技术产业开发区', '340100', 1167),
+('340181', '巢湖市', '340100', 1168),
+('340200', '芜湖市', '340000', 1169),
+('340201', '市辖区', '340200', 1170),
+('340202', '镜湖区', '340200', 1171),
+('340207', '鸠江区', '340200', 1172),
+('340209', '弋江区', '340200', 1173),
+('340210', '湾沚区', '340200', 1174),
+('340212', '繁昌区', '340200', 1175),
+('340223', '南陵县', '340200', 1176),
+('340271', '芜湖经济技术开发区', '340200', 1177),
+('340272', '安徽芜湖三山经济开发区', '340200', 1178),
+('340281', '无为市', '340200', 1179),
+('340300', '蚌埠市', '340000', 1180),
+('340301', '市辖区', '340300', 1181),
+('340302', '龙子湖区', '340300', 1182),
+('340303', '蚌山区', '340300', 1183),
+('340304', '禹会区', '340300', 1184),
+('340311', '淮上区', '340300', 1185),
+('340321', '怀远县', '340300', 1186),
+('340322', '五河县', '340300', 1187),
+('340323', '固镇县', '340300', 1188),
+('340371', '蚌埠市高新技术开发区', '340300', 1189),
+('340372', '蚌埠市经济开发区', '340300', 1190),
+('340400', '淮南市', '340000', 1191),
+('340401', '市辖区', '340400', 1192),
+('340402', '大通区', '340400', 1193),
+('340403', '田家庵区', '340400', 1194),
+('340404', '谢家集区', '340400', 1195),
+('340405', '八公山区', '340400', 1196),
+('340406', '潘集区', '340400', 1197),
+('340421', '凤台县', '340400', 1198),
+('340422', '寿县', '340400', 1199),
+('340500', '马鞍山市', '340000', 1200),
+('340501', '市辖区', '340500', 1201),
+('340503', '花山区', '340500', 1202),
+('340504', '雨山区', '340500', 1203),
+('340506', '博望区', '340500', 1204),
+('340521', '当涂县', '340500', 1205),
+('340522', '含山县', '340500', 1206),
+('340523', '和县', '340500', 1207),
+('340600', '淮北市', '340000', 1208),
+('340601', '市辖区', '340600', 1209),
+('340602', '杜集区', '340600', 1210),
+('340603', '相山区', '340600', 1211),
+('340604', '烈山区', '340600', 1212),
+('340621', '濉溪县', '340600', 1213),
+('340700', '铜陵市', '340000', 1214),
+('340701', '市辖区', '340700', 1215),
+('340705', '铜官区', '340700', 1216),
+('340706', '义安区', '340700', 1217),
+('340711', '郊区', '340700', 1218),
+('340722', '枞阳县', '340700', 1219),
+('340800', '安庆市', '340000', 1220),
+('340801', '市辖区', '340800', 1221),
+('340802', '迎江区', '340800', 1222),
+('340803', '大观区', '340800', 1223),
+('340811', '宜秀区', '340800', 1224),
+('340822', '怀宁县', '340800', 1225),
+('340825', '太湖县', '340800', 1226),
+('340826', '宿松县', '340800', 1227),
+('340827', '望江县', '340800', 1228),
+('340828', '岳西县', '340800', 1229),
+('340871', '安徽安庆经济开发区', '340800', 1230),
+('340881', '桐城市', '340800', 1231),
+('340882', '潜山市', '340800', 1232),
+('341000', '黄山市', '340000', 1233),
+('341001', '市辖区', '341000', 1234),
+('341002', '屯溪区', '341000', 1235),
+('341003', '黄山区', '341000', 1236),
+('341004', '徽州区', '341000', 1237),
+('341021', '歙县', '341000', 1238),
+('341022', '休宁县', '341000', 1239),
+('341023', '黟县', '341000', 1240),
+('341024', '祁门县', '341000', 1241),
+('341100', '滁州市', '340000', 1242),
+('341101', '市辖区', '341100', 1243),
+('341102', '琅琊区', '341100', 1244),
+('341103', '南谯区', '341100', 1245),
+('341122', '来安县', '341100', 1246),
+('341124', '全椒县', '341100', 1247),
+('341125', '定远县', '341100', 1248),
+('341126', '凤阳县', '341100', 1249),
+('341171', '中新苏滁高新技术产业开发区', '341100', 1250),
+('341172', '滁州经济技术开发区', '341100', 1251),
+('341181', '天长市', '341100', 1252),
+('341182', '明光市', '341100', 1253),
+('341200', '阜阳市', '340000', 1254),
+('341201', '市辖区', '341200', 1255),
+('341202', '颍州区', '341200', 1256),
+('341203', '颍东区', '341200', 1257),
+('341204', '颍泉区', '341200', 1258),
+('341221', '临泉县', '341200', 1259),
+('341222', '太和县', '341200', 1260),
+('341225', '阜南县', '341200', 1261),
+('341226', '颍上县', '341200', 1262),
+('341271', '阜阳合肥现代产业园区', '341200', 1263),
+('341272', '阜阳经济技术开发区', '341200', 1264),
+('341282', '界首市', '341200', 1265),
+('341300', '宿州市', '340000', 1266),
+('341301', '市辖区', '341300', 1267),
+('341302', '埇桥区', '341300', 1268),
+('341321', '砀山县', '341300', 1269),
+('341322', '萧县', '341300', 1270),
+('341323', '灵璧县', '341300', 1271),
+('341324', '泗县', '341300', 1272),
+('341371', '宿州马鞍山现代产业园区', '341300', 1273),
+('341372', '宿州经济技术开发区', '341300', 1274),
+('341500', '六安市', '340000', 1275),
+('341501', '市辖区', '341500', 1276),
+('341502', '金安区', '341500', 1277),
+('341503', '裕安区', '341500', 1278),
+('341504', '叶集区', '341500', 1279),
+('341522', '霍邱县', '341500', 1280),
+('341523', '舒城县', '341500', 1281),
+('341524', '金寨县', '341500', 1282),
+('341525', '霍山县', '341500', 1283),
+('341600', '亳州市', '340000', 1284),
+('341601', '市辖区', '341600', 1285),
+('341602', '谯城区', '341600', 1286),
+('341621', '涡阳县', '341600', 1287),
+('341622', '蒙城县', '341600', 1288),
+('341623', '利辛县', '341600', 1289),
+('341700', '池州市', '340000', 1290),
+('341701', '市辖区', '341700', 1291),
+('341702', '贵池区', '341700', 1292),
+('341721', '东至县', '341700', 1293),
+('341722', '石台县', '341700', 1294),
+('341723', '青阳县', '341700', 1295),
+('341800', '宣城市', '340000', 1296),
+('341801', '市辖区', '341800', 1297),
+('341802', '宣州区', '341800', 1298),
+('341821', '郎溪县', '341800', 1299),
+('341823', '泾县', '341800', 1300),
+('341824', '绩溪县', '341800', 1301),
+('341825', '旌德县', '341800', 1302),
+('341871', '宣城市经济开发区', '341800', 1303),
+('341881', '宁国市', '341800', 1304),
+('341882', '广德市', '341800', 1305),
+('350000', '福建省', NULL, 1306),
+('350100', '福州市', '350000', 1307),
+('350101', '市辖区', '350100', 1308),
+('350102', '鼓楼区', '350100', 1309),
+('350103', '台江区', '350100', 1310),
+('350104', '仓山区', '350100', 1311),
+('350105', '马尾区', '350100', 1312),
+('350111', '晋安区', '350100', 1313),
+('350112', '长乐区', '350100', 1314),
+('350121', '闽侯县', '350100', 1315),
+('350122', '连江县', '350100', 1316),
+('350123', '罗源县', '350100', 1317),
+('350124', '闽清县', '350100', 1318),
+('350125', '永泰县', '350100', 1319),
+('350128', '平潭县', '350100', 1320),
+('350181', '福清市', '350100', 1321),
+('350200', '厦门市', '350000', 1322),
+('350201', '市辖区', '350200', 1323),
+('350203', '思明区', '350200', 1324),
+('350205', '海沧区', '350200', 1325),
+('350206', '湖里区', '350200', 1326),
+('350211', '集美区', '350200', 1327),
+('350212', '同安区', '350200', 1328),
+('350213', '翔安区', '350200', 1329),
+('350300', '莆田市', '350000', 1330),
+('350301', '市辖区', '350300', 1331),
+('350302', '城厢区', '350300', 1332),
+('350303', '涵江区', '350300', 1333),
+('350304', '荔城区', '350300', 1334),
+('350305', '秀屿区', '350300', 1335),
+('350322', '仙游县', '350300', 1336),
+('350400', '三明市', '350000', 1337),
+('350401', '市辖区', '350400', 1338),
+('350404', '三元区', '350400', 1339),
+('350405', '沙县区', '350400', 1340),
+('350421', '明溪县', '350400', 1341),
+('350423', '清流县', '350400', 1342),
+('350424', '宁化县', '350400', 1343),
+('350425', '大田县', '350400', 1344),
+('350426', '尤溪县', '350400', 1345),
+('350428', '将乐县', '350400', 1346),
+('350429', '泰宁县', '350400', 1347),
+('350430', '建宁县', '350400', 1348),
+('350481', '永安市', '350400', 1349),
+('350500', '泉州市', '350000', 1350),
+('350501', '市辖区', '350500', 1351),
+('350502', '鲤城区', '350500', 1352),
+('350503', '丰泽区', '350500', 1353),
+('350504', '洛江区', '350500', 1354),
+('350505', '泉港区', '350500', 1355),
+('350521', '惠安县', '350500', 1356),
+('350524', '安溪县', '350500', 1357),
+('350525', '永春县', '350500', 1358),
+('350526', '德化县', '350500', 1359),
+('350527', '金门县', '350500', 1360),
+('350581', '石狮市', '350500', 1361),
+('350582', '晋江市', '350500', 1362),
+('350583', '南安市', '350500', 1363),
+('350600', '漳州市', '350000', 1364),
+('350601', '市辖区', '350600', 1365),
+('350602', '芗城区', '350600', 1366),
+('350603', '龙文区', '350600', 1367),
+('350604', '龙海区', '350600', 1368),
+('350605', '长泰区', '350600', 1369),
+('350622', '云霄县', '350600', 1370),
+('350623', '漳浦县', '350600', 1371),
+('350624', '诏安县', '350600', 1372),
+('350626', '东山县', '350600', 1373),
+('350627', '南靖县', '350600', 1374),
+('350628', '平和县', '350600', 1375),
+('350629', '华安县', '350600', 1376),
+('350700', '南平市', '350000', 1377),
+('350701', '市辖区', '350700', 1378),
+('350702', '延平区', '350700', 1379),
+('350703', '建阳区', '350700', 1380),
+('350721', '顺昌县', '350700', 1381),
+('350722', '浦城县', '350700', 1382),
+('350723', '光泽县', '350700', 1383),
+('350724', '松溪县', '350700', 1384),
+('350725', '政和县', '350700', 1385),
+('350781', '邵武市', '350700', 1386),
+('350782', '武夷山市', '350700', 1387),
+('350783', '建瓯市', '350700', 1388),
+('350800', '龙岩市', '350000', 1389),
+('350801', '市辖区', '350800', 1390),
+('350802', '新罗区', '350800', 1391),
+('350803', '永定区', '350800', 1392),
+('350821', '长汀县', '350800', 1393),
+('350823', '上杭县', '350800', 1394),
+('350824', '武平县', '350800', 1395),
+('350825', '连城县', '350800', 1396),
+('350881', '漳平市', '350800', 1397),
+('350900', '宁德市', '350000', 1398),
+('350901', '市辖区', '350900', 1399),
+('350902', '蕉城区', '350900', 1400),
+('350921', '霞浦县', '350900', 1401),
+('350922', '古田县', '350900', 1402),
+('350923', '屏南县', '350900', 1403),
+('350924', '寿宁县', '350900', 1404),
+('350925', '周宁县', '350900', 1405),
+('350926', '柘荣县', '350900', 1406),
+('350981', '福安市', '350900', 1407),
+('350982', '福鼎市', '350900', 1408),
+('360000', '江西省', NULL, 1409),
+('360100', '南昌市', '360000', 1410),
+('360101', '市辖区', '360100', 1411),
+('360102', '东湖区', '360100', 1412),
+('360103', '西湖区', '360100', 1413),
+('360104', '青云谱区', '360100', 1414),
+('360111', '青山湖区', '360100', 1415),
+('360112', '新建区', '360100', 1416),
+('360113', '红谷滩区', '360100', 1417),
+('360121', '南昌县', '360100', 1418),
+('360123', '安义县', '360100', 1419),
+('360124', '进贤县', '360100', 1420),
+('360200', '景德镇市', '360000', 1421),
+('360201', '市辖区', '360200', 1422),
+('360202', '昌江区', '360200', 1423),
+('360203', '珠山区', '360200', 1424),
+('360222', '浮梁县', '360200', 1425),
+('360281', '乐平市', '360200', 1426),
+('360300', '萍乡市', '360000', 1427),
+('360301', '市辖区', '360300', 1428),
+('360302', '安源区', '360300', 1429),
+('360313', '湘东区', '360300', 1430),
+('360321', '莲花县', '360300', 1431),
+('360322', '上栗县', '360300', 1432),
+('360323', '芦溪县', '360300', 1433),
+('360400', '九江市', '360000', 1434),
+('360401', '市辖区', '360400', 1435),
+('360402', '濂溪区', '360400', 1436),
+('360403', '浔阳区', '360400', 1437),
+('360404', '柴桑区', '360400', 1438),
+('360423', '武宁县', '360400', 1439),
+('360424', '修水县', '360400', 1440),
+('360425', '永修县', '360400', 1441),
+('360426', '德安县', '360400', 1442),
+('360428', '都昌县', '360400', 1443),
+('360429', '湖口县', '360400', 1444),
+('360430', '彭泽县', '360400', 1445),
+('360481', '瑞昌市', '360400', 1446),
+('360482', '共青城市', '360400', 1447),
+('360483', '庐山市', '360400', 1448),
+('360500', '新余市', '360000', 1449),
+('360501', '市辖区', '360500', 1450),
+('360502', '渝水区', '360500', 1451),
+('360521', '分宜县', '360500', 1452),
+('360600', '鹰潭市', '360000', 1453),
+('360601', '市辖区', '360600', 1454),
+('360602', '月湖区', '360600', 1455),
+('360603', '余江区', '360600', 1456),
+('360681', '贵溪市', '360600', 1457),
+('360700', '赣州市', '360000', 1458),
+('360701', '市辖区', '360700', 1459),
+('360702', '章贡区', '360700', 1460),
+('360703', '南康区', '360700', 1461),
+('360704', '赣县区', '360700', 1462),
+('360722', '信丰县', '360700', 1463),
+('360723', '大余县', '360700', 1464),
+('360724', '上犹县', '360700', 1465),
+('360725', '崇义县', '360700', 1466),
+('360726', '安远县', '360700', 1467),
+('360728', '定南县', '360700', 1468),
+('360729', '全南县', '360700', 1469),
+('360730', '宁都县', '360700', 1470),
+('360731', '于都县', '360700', 1471),
+('360732', '兴国县', '360700', 1472),
+('360733', '会昌县', '360700', 1473),
+('360734', '寻乌县', '360700', 1474),
+('360735', '石城县', '360700', 1475),
+('360781', '瑞金市', '360700', 1476),
+('360783', '龙南市', '360700', 1477),
+('360800', '吉安市', '360000', 1478),
+('360801', '市辖区', '360800', 1479),
+('360802', '吉州区', '360800', 1480),
+('360803', '青原区', '360800', 1481),
+('360821', '吉安县', '360800', 1482),
+('360822', '吉水县', '360800', 1483),
+('360823', '峡江县', '360800', 1484),
+('360824', '新干县', '360800', 1485),
+('360825', '永丰县', '360800', 1486),
+('360826', '泰和县', '360800', 1487),
+('360827', '遂川县', '360800', 1488),
+('360828', '万安县', '360800', 1489),
+('360829', '安福县', '360800', 1490),
+('360830', '永新县', '360800', 1491),
+('360881', '井冈山市', '360800', 1492),
+('360900', '宜春市', '360000', 1493),
+('360901', '市辖区', '360900', 1494),
+('360902', '袁州区', '360900', 1495),
+('360921', '奉新县', '360900', 1496),
+('360922', '万载县', '360900', 1497),
+('360923', '上高县', '360900', 1498),
+('360924', '宜丰县', '360900', 1499),
+('360925', '靖安县', '360900', 1500),
+('360926', '铜鼓县', '360900', 1501),
+('360981', '丰城市', '360900', 1502),
+('360982', '樟树市', '360900', 1503),
+('360983', '高安市', '360900', 1504),
+('361000', '抚州市', '360000', 1505),
+('361001', '市辖区', '361000', 1506),
+('361002', '临川区', '361000', 1507),
+('361003', '东乡区', '361000', 1508),
+('361021', '南城县', '361000', 1509),
+('361022', '黎川县', '361000', 1510),
+('361023', '南丰县', '361000', 1511),
+('361024', '崇仁县', '361000', 1512),
+('361025', '乐安县', '361000', 1513),
+('361026', '宜黄县', '361000', 1514),
+('361027', '金溪县', '361000', 1515),
+('361028', '资溪县', '361000', 1516),
+('361030', '广昌县', '361000', 1517),
+('361100', '上饶市', '360000', 1518),
+('361101', '市辖区', '361100', 1519),
+('361102', '信州区', '361100', 1520),
+('361103', '广丰区', '361100', 1521),
+('361104', '广信区', '361100', 1522),
+('361123', '玉山县', '361100', 1523),
+('361124', '铅山县', '361100', 1524),
+('361125', '横峰县', '361100', 1525),
+('361126', '弋阳县', '361100', 1526),
+('361127', '余干县', '361100', 1527),
+('361128', '鄱阳县', '361100', 1528),
+('361129', '万年县', '361100', 1529),
+('361130', '婺源县', '361100', 1530),
+('361181', '德兴市', '361100', 1531),
+('370000', '山东省', NULL, 1532),
+('370100', '济南市', '370000', 1533),
+('370101', '市辖区', '370100', 1534),
+('370102', '历下区', '370100', 1535),
+('370103', '市中区', '370100', 1536),
+('370104', '槐荫区', '370100', 1537),
+('370105', '天桥区', '370100', 1538),
+('370112', '历城区', '370100', 1539),
+('370113', '长清区', '370100', 1540),
+('370114', '章丘区', '370100', 1541),
+('370115', '济阳区', '370100', 1542),
+('370116', '莱芜区', '370100', 1543),
+('370117', '钢城区', '370100', 1544),
+('370124', '平阴县', '370100', 1545),
+('370126', '商河县', '370100', 1546),
+('370176', '济南高新技术产业开发区', '370100', 1547),
+('370200', '青岛市', '370000', 1548),
+('370201', '市辖区', '370200', 1549),
+('370202', '市南区', '370200', 1550),
+('370203', '市北区', '370200', 1551),
+('370211', '黄岛区', '370200', 1552),
+('370212', '崂山区', '370200', 1553),
+('370213', '李沧区', '370200', 1554),
+('370214', '城阳区', '370200', 1555),
+('370215', '即墨区', '370200', 1556),
+('370281', '胶州市', '370200', 1557),
+('370283', '平度市', '370200', 1558),
+('370285', '莱西市', '370200', 1559),
+('370300', '淄博市', '370000', 1560),
+('370301', '市辖区', '370300', 1561),
+('370302', '淄川区', '370300', 1562),
+('370303', '张店区', '370300', 1563),
+('370304', '博山区', '370300', 1564),
+('370305', '临淄区', '370300', 1565),
+('370306', '周村区', '370300', 1566),
+('370321', '桓台县', '370300', 1567),
+('370322', '高青县', '370300', 1568),
+('370323', '沂源县', '370300', 1569),
+('370400', '枣庄市', '370000', 1570),
+('370401', '市辖区', '370400', 1571),
+('370402', '市中区', '370400', 1572),
+('370403', '薛城区', '370400', 1573),
+('370404', '峄城区', '370400', 1574),
+('370405', '台儿庄区', '370400', 1575),
+('370406', '山亭区', '370400', 1576),
+('370481', '滕州市', '370400', 1577),
+('370500', '东营市', '370000', 1578),
+('370501', '市辖区', '370500', 1579),
+('370502', '东营区', '370500', 1580),
+('370503', '河口区', '370500', 1581),
+('370505', '垦利区', '370500', 1582),
+('370522', '利津县', '370500', 1583),
+('370523', '广饶县', '370500', 1584),
+('370571', '东营经济技术开发区', '370500', 1585),
+('370572', '东营港经济开发区', '370500', 1586),
+('370600', '烟台市', '370000', 1587),
+('370601', '市辖区', '370600', 1588),
+('370602', '芝罘区', '370600', 1589),
+('370611', '福山区', '370600', 1590),
+('370612', '牟平区', '370600', 1591),
+('370613', '莱山区', '370600', 1592),
+('370614', '蓬莱区', '370600', 1593),
+('370671', '烟台高新技术产业开发区', '370600', 1594),
+('370676', '烟台经济技术开发区', '370600', 1595),
+('370681', '龙口市', '370600', 1596),
+('370682', '莱阳市', '370600', 1597),
+('370683', '莱州市', '370600', 1598),
+('370685', '招远市', '370600', 1599),
+('370686', '栖霞市', '370600', 1600),
+('370687', '海阳市', '370600', 1601),
+('370700', '潍坊市', '370000', 1602),
+('370701', '市辖区', '370700', 1603),
+('370702', '潍城区', '370700', 1604),
+('370703', '寒亭区', '370700', 1605),
+('370704', '坊子区', '370700', 1606),
+('370705', '奎文区', '370700', 1607),
+('370724', '临朐县', '370700', 1608),
+('370725', '昌乐县', '370700', 1609),
+('370772', '潍坊滨海经济技术开发区', '370700', 1610),
+('370781', '青州市', '370700', 1611),
+('370782', '诸城市', '370700', 1612),
+('370783', '寿光市', '370700', 1613),
+('370784', '安丘市', '370700', 1614),
+('370785', '高密市', '370700', 1615),
+('370786', '昌邑市', '370700', 1616),
+('370800', '济宁市', '370000', 1617),
+('370801', '市辖区', '370800', 1618),
+('370811', '任城区', '370800', 1619),
+('370812', '兖州区', '370800', 1620),
+('370826', '微山县', '370800', 1621),
+('370827', '鱼台县', '370800', 1622),
+('370828', '金乡县', '370800', 1623),
+('370829', '嘉祥县', '370800', 1624),
+('370830', '汶上县', '370800', 1625),
+('370831', '泗水县', '370800', 1626),
+('370832', '梁山县', '370800', 1627),
+('370871', '济宁高新技术产业开发区', '370800', 1628),
+('370881', '曲阜市', '370800', 1629),
+('370883', '邹城市', '370800', 1630),
+('370900', '泰安市', '370000', 1631),
+('370901', '市辖区', '370900', 1632),
+('370902', '泰山区', '370900', 1633),
+('370911', '岱岳区', '370900', 1634),
+('370921', '宁阳县', '370900', 1635),
+('370923', '东平县', '370900', 1636),
+('370982', '新泰市', '370900', 1637),
+('370983', '肥城市', '370900', 1638),
+('371000', '威海市', '370000', 1639),
+('371001', '市辖区', '371000', 1640),
+('371002', '环翠区', '371000', 1641),
+('371003', '文登区', '371000', 1642),
+('371071', '威海火炬高技术产业开发区', '371000', 1643),
+('371072', '威海经济技术开发区', '371000', 1644),
+('371073', '威海临港经济技术开发区', '371000', 1645),
+('371082', '荣成市', '371000', 1646),
+('371083', '乳山市', '371000', 1647),
+('371100', '日照市', '370000', 1648),
+('371101', '市辖区', '371100', 1649),
+('371102', '东港区', '371100', 1650),
+('371103', '岚山区', '371100', 1651),
+('371121', '五莲县', '371100', 1652),
+('371122', '莒县', '371100', 1653),
+('371171', '日照经济技术开发区', '371100', 1654),
+('371300', '临沂市', '370000', 1655),
+('371301', '市辖区', '371300', 1656),
+('371302', '兰山区', '371300', 1657),
+('371311', '罗庄区', '371300', 1658),
+('371312', '河东区', '371300', 1659),
+('371321', '沂南县', '371300', 1660),
+('371322', '郯城县', '371300', 1661),
+('371323', '沂水县', '371300', 1662),
+('371324', '兰陵县', '371300', 1663),
+('371325', '费县', '371300', 1664),
+('371326', '平邑县', '371300', 1665),
+('371327', '莒南县', '371300', 1666),
+('371328', '蒙阴县', '371300', 1667),
+('371329', '临沭县', '371300', 1668),
+('371371', '临沂高新技术产业开发区', '371300', 1669),
+('371400', '德州市', '370000', 1670),
+('371401', '市辖区', '371400', 1671),
+('371402', '德城区', '371400', 1672),
+('371403', '陵城区', '371400', 1673),
+('371422', '宁津县', '371400', 1674),
+('371423', '庆云县', '371400', 1675),
+('371424', '临邑县', '371400', 1676),
+('371425', '齐河县', '371400', 1677),
+('371426', '平原县', '371400', 1678),
+('371427', '夏津县', '371400', 1679),
+('371428', '武城县', '371400', 1680),
+('371471', '德州天衢新区', '371400', 1681),
+('371481', '乐陵市', '371400', 1682),
+('371482', '禹城市', '371400', 1683),
+('371500', '聊城市', '370000', 1684),
+('371501', '市辖区', '371500', 1685),
+('371502', '东昌府区', '371500', 1686),
+('371503', '茌平区', '371500', 1687),
+('371521', '阳谷县', '371500', 1688),
+('371522', '莘县', '371500', 1689),
+('371524', '东阿县', '371500', 1690),
+('371525', '冠县', '371500', 1691),
+('371526', '高唐县', '371500', 1692),
+('371581', '临清市', '371500', 1693),
+('371600', '滨州市', '370000', 1694),
+('371601', '市辖区', '371600', 1695),
+('371602', '滨城区', '371600', 1696),
+('371603', '沾化区', '371600', 1697),
+('371621', '惠民县', '371600', 1698),
+('371622', '阳信县', '371600', 1699),
+('371623', '无棣县', '371600', 1700),
+('371625', '博兴县', '371600', 1701),
+('371681', '邹平市', '371600', 1702),
+('371700', '菏泽市', '370000', 1703),
+('371701', '市辖区', '371700', 1704),
+('371702', '牡丹区', '371700', 1705),
+('371703', '定陶区', '371700', 1706),
+('371721', '曹县', '371700', 1707),
+('371722', '单县', '371700', 1708),
+('371723', '成武县', '371700', 1709),
+('371724', '巨野县', '371700', 1710),
+('371725', '郓城县', '371700', 1711),
+('371726', '鄄城县', '371700', 1712),
+('371728', '东明县', '371700', 1713),
+('371771', '菏泽经济技术开发区', '371700', 1714),
+('371772', '菏泽高新技术开发区', '371700', 1715),
+('410000', '河南省', NULL, 1716),
+('410100', '郑州市', '410000', 1717),
+('410101', '市辖区', '410100', 1718),
+('410102', '中原区', '410100', 1719),
+('410103', '二七区', '410100', 1720),
+('410104', '管城回族区', '410100', 1721),
+('410105', '金水区', '410100', 1722),
+('410106', '上街区', '410100', 1723),
+('410108', '惠济区', '410100', 1724),
+('410122', '中牟县', '410100', 1725),
+('410171', '郑州经济技术开发区', '410100', 1726),
+('410172', '郑州高新技术产业开发区', '410100', 1727),
+('410173', '郑州航空港经济综合实验区', '410100', 1728),
+('410181', '巩义市', '410100', 1729),
+('410182', '荥阳市', '410100', 1730),
+('410183', '新密市', '410100', 1731),
+('410184', '新郑市', '410100', 1732),
+('410185', '登封市', '410100', 1733),
+('410200', '开封市', '410000', 1734),
+('410201', '市辖区', '410200', 1735),
+('410202', '龙亭区', '410200', 1736),
+('410203', '顺河回族区', '410200', 1737),
+('410204', '鼓楼区', '410200', 1738),
+('410205', '禹王台区', '410200', 1739),
+('410212', '祥符区', '410200', 1740),
+('410221', '杞县', '410200', 1741),
+('410222', '通许县', '410200', 1742),
+('410223', '尉氏县', '410200', 1743),
+('410225', '兰考县', '410200', 1744),
+('410300', '洛阳市', '410000', 1745),
+('410301', '市辖区', '410300', 1746),
+('410302', '老城区', '410300', 1747),
+('410303', '西工区', '410300', 1748),
+('410304', '瀍河回族区', '410300', 1749),
+('410305', '涧西区', '410300', 1750),
+('410307', '偃师区', '410300', 1751),
+('410308', '孟津区', '410300', 1752),
+('410311', '洛龙区', '410300', 1753),
+('410323', '新安县', '410300', 1754),
+('410324', '栾川县', '410300', 1755),
+('410325', '嵩县', '410300', 1756),
+('410326', '汝阳县', '410300', 1757),
+('410327', '宜阳县', '410300', 1758),
+('410328', '洛宁县', '410300', 1759),
+('410329', '伊川县', '410300', 1760),
+('410371', '洛阳高新技术产业开发区', '410300', 1761),
+('410400', '平顶山市', '410000', 1762),
+('410401', '市辖区', '410400', 1763),
+('410402', '新华区', '410400', 1764),
+('410403', '卫东区', '410400', 1765),
+('410404', '石龙区', '410400', 1766),
+('410411', '湛河区', '410400', 1767),
+('410421', '宝丰县', '410400', 1768),
+('410422', '叶县', '410400', 1769),
+('410423', '鲁山县', '410400', 1770),
+('410425', '郏县', '410400', 1771),
+('410471', '平顶山高新技术产业开发区', '410400', 1772),
+('410472', '平顶山市城乡一体化示范区', '410400', 1773),
+('410481', '舞钢市', '410400', 1774),
+('410482', '汝州市', '410400', 1775),
+('410500', '安阳市', '410000', 1776),
+('410501', '市辖区', '410500', 1777),
+('410502', '文峰区', '410500', 1778),
+('410503', '北关区', '410500', 1779),
+('410505', '殷都区', '410500', 1780),
+('410506', '龙安区', '410500', 1781),
+('410522', '安阳县', '410500', 1782),
+('410523', '汤阴县', '410500', 1783),
+('410526', '滑县', '410500', 1784),
+('410527', '内黄县', '410500', 1785),
+('410571', '安阳高新技术产业开发区', '410500', 1786),
+('410581', '林州市', '410500', 1787),
+('410600', '鹤壁市', '410000', 1788),
+('410601', '市辖区', '410600', 1789),
+('410602', '鹤山区', '410600', 1790),
+('410603', '山城区', '410600', 1791),
+('410611', '淇滨区', '410600', 1792),
+('410621', '浚县', '410600', 1793),
+('410622', '淇县', '410600', 1794),
+('410671', '鹤壁经济技术开发区', '410600', 1795),
+('410700', '新乡市', '410000', 1796),
+('410701', '市辖区', '410700', 1797),
+('410702', '红旗区', '410700', 1798),
+('410703', '卫滨区', '410700', 1799),
+('410704', '凤泉区', '410700', 1800),
+('410711', '牧野区', '410700', 1801),
+('410721', '新乡县', '410700', 1802),
+('410724', '获嘉县', '410700', 1803),
+('410725', '原阳县', '410700', 1804),
+('410726', '延津县', '410700', 1805),
+('410727', '封丘县', '410700', 1806),
+('410771', '新乡高新技术产业开发区', '410700', 1807),
+('410772', '新乡经济技术开发区', '410700', 1808),
+('410773', '新乡市平原城乡一体化示范区', '410700', 1809),
+('410781', '卫辉市', '410700', 1810),
+('410782', '辉县市', '410700', 1811),
+('410783', '长垣市', '410700', 1812),
+('410800', '焦作市', '410000', 1813),
+('410801', '市辖区', '410800', 1814),
+('410802', '解放区', '410800', 1815),
+('410803', '中站区', '410800', 1816),
+('410804', '马村区', '410800', 1817),
+('410811', '山阳区', '410800', 1818),
+('410821', '修武县', '410800', 1819),
+('410822', '博爱县', '410800', 1820),
+('410823', '武陟县', '410800', 1821),
+('410825', '温县', '410800', 1822),
+('410871', '焦作城乡一体化示范区', '410800', 1823),
+('410882', '沁阳市', '410800', 1824),
+('410883', '孟州市', '410800', 1825),
+('410900', '濮阳市', '410000', 1826),
+('410901', '市辖区', '410900', 1827),
+('410902', '华龙区', '410900', 1828),
+('410922', '清丰县', '410900', 1829),
+('410923', '南乐县', '410900', 1830),
+('410926', '范县', '410900', 1831),
+('410927', '台前县', '410900', 1832),
+('410928', '濮阳县', '410900', 1833),
+('410971', '河南濮阳工业园区', '410900', 1834),
+('410972', '濮阳经济技术开发区', '410900', 1835),
+('411000', '许昌市', '410000', 1836),
+('411001', '市辖区', '411000', 1837),
+('411002', '魏都区', '411000', 1838),
+('411003', '建安区', '411000', 1839),
+('411024', '鄢陵县', '411000', 1840),
+('411025', '襄城县', '411000', 1841),
+('411071', '许昌经济技术开发区', '411000', 1842),
+('411081', '禹州市', '411000', 1843),
+('411082', '长葛市', '411000', 1844),
+('411100', '漯河市', '410000', 1845),
+('411101', '市辖区', '411100', 1846),
+('411102', '源汇区', '411100', 1847),
+('411103', '郾城区', '411100', 1848),
+('411104', '召陵区', '411100', 1849),
+('411121', '舞阳县', '411100', 1850),
+('411122', '临颍县', '411100', 1851),
+('411171', '漯河经济技术开发区', '411100', 1852),
+('411200', '三门峡市', '410000', 1853),
+('411201', '市辖区', '411200', 1854),
+('411202', '湖滨区', '411200', 1855),
+('411203', '陕州区', '411200', 1856),
+('411221', '渑池县', '411200', 1857),
+('411224', '卢氏县', '411200', 1858),
+('411271', '河南三门峡经济开发区', '411200', 1859),
+('411281', '义马市', '411200', 1860),
+('411282', '灵宝市', '411200', 1861),
+('411300', '南阳市', '410000', 1862),
+('411301', '市辖区', '411300', 1863),
+('411302', '宛城区', '411300', 1864),
+('411303', '卧龙区', '411300', 1865),
+('411321', '南召县', '411300', 1866),
+('411322', '方城县', '411300', 1867),
+('411323', '西峡县', '411300', 1868),
+('411324', '镇平县', '411300', 1869),
+('411325', '内乡县', '411300', 1870),
+('411326', '淅川县', '411300', 1871),
+('411327', '社旗县', '411300', 1872),
+('411328', '唐河县', '411300', 1873),
+('411329', '新野县', '411300', 1874),
+('411330', '桐柏县', '411300', 1875),
+('411371', '南阳高新技术产业开发区', '411300', 1876),
+('411372', '南阳市城乡一体化示范区', '411300', 1877),
+('411381', '邓州市', '411300', 1878),
+('411400', '商丘市', '410000', 1879),
+('411401', '市辖区', '411400', 1880),
+('411402', '梁园区', '411400', 1881),
+('411403', '睢阳区', '411400', 1882),
+('411421', '民权县', '411400', 1883),
+('411422', '睢县', '411400', 1884),
+('411423', '宁陵县', '411400', 1885),
+('411424', '柘城县', '411400', 1886),
+('411425', '虞城县', '411400', 1887),
+('411426', '夏邑县', '411400', 1888),
+('411471', '豫东综合物流产业聚集区', '411400', 1889),
+('411472', '河南商丘经济开发区', '411400', 1890),
+('411481', '永城市', '411400', 1891),
+('411500', '信阳市', '410000', 1892),
+('411501', '市辖区', '411500', 1893),
+('411502', '浉河区', '411500', 1894),
+('411503', '平桥区', '411500', 1895),
+('411521', '罗山县', '411500', 1896),
+('411522', '光山县', '411500', 1897),
+('411523', '新县', '411500', 1898),
+('411524', '商城县', '411500', 1899),
+('411525', '固始县', '411500', 1900),
+('411526', '潢川县', '411500', 1901),
+('411527', '淮滨县', '411500', 1902),
+('411528', '息县', '411500', 1903),
+('411571', '信阳高新技术产业开发区', '411500', 1904),
+('411600', '周口市', '410000', 1905),
+('411601', '市辖区', '411600', 1906),
+('411602', '川汇区', '411600', 1907),
+('411603', '淮阳区', '411600', 1908),
+('411621', '扶沟县', '411600', 1909),
+('411622', '西华县', '411600', 1910),
+('411623', '商水县', '411600', 1911),
+('411624', '沈丘县', '411600', 1912),
+('411625', '郸城县', '411600', 1913),
+('411627', '太康县', '411600', 1914),
+('411628', '鹿邑县', '411600', 1915),
+('411671', '周口临港开发区', '411600', 1916),
+('411681', '项城市', '411600', 1917),
+('411700', '驻马店市', '410000', 1918),
+('411701', '市辖区', '411700', 1919),
+('411702', '驿城区', '411700', 1920),
+('411721', '西平县', '411700', 1921),
+('411722', '上蔡县', '411700', 1922),
+('411723', '平舆县', '411700', 1923),
+('411724', '正阳县', '411700', 1924),
+('411725', '确山县', '411700', 1925),
+('411726', '泌阳县', '411700', 1926),
+('411727', '汝南县', '411700', 1927),
+('411728', '遂平县', '411700', 1928),
+('411729', '新蔡县', '411700', 1929),
+('411771', '河南驻马店经济开发区', '411700', 1930),
+('419000', '省直辖县级行政区划', '410000', 1931),
+('419001', '济源市', '419000', 1932),
+('420000', '湖北省', NULL, 1933),
+('420100', '武汉市', '420000', 1934),
+('420101', '市辖区', '420100', 1935),
+('420102', '江岸区', '420100', 1936),
+('420103', '江汉区', '420100', 1937),
+('420104', '硚口区', '420100', 1938),
+('420105', '汉阳区', '420100', 1939),
+('420106', '武昌区', '420100', 1940),
+('420107', '青山区', '420100', 1941),
+('420111', '洪山区', '420100', 1942),
+('420112', '东西湖区', '420100', 1943),
+('420113', '汉南区', '420100', 1944),
+('420114', '蔡甸区', '420100', 1945),
+('420115', '江夏区', '420100', 1946),
+('420116', '黄陂区', '420100', 1947),
+('420117', '新洲区', '420100', 1948),
+('420200', '黄石市', '420000', 1949),
+('420201', '市辖区', '420200', 1950),
+('420202', '黄石港区', '420200', 1951),
+('420203', '西塞山区', '420200', 1952),
+('420204', '下陆区', '420200', 1953),
+('420205', '铁山区', '420200', 1954),
+('420222', '阳新县', '420200', 1955),
+('420281', '大冶市', '420200', 1956),
+('420300', '十堰市', '420000', 1957),
+('420301', '市辖区', '420300', 1958),
+('420302', '茅箭区', '420300', 1959),
+('420303', '张湾区', '420300', 1960),
+('420304', '郧阳区', '420300', 1961),
+('420322', '郧西县', '420300', 1962),
+('420323', '竹山县', '420300', 1963),
+('420324', '竹溪县', '420300', 1964),
+('420325', '房县', '420300', 1965),
+('420381', '丹江口市', '420300', 1966),
+('420500', '宜昌市', '420000', 1967),
+('420501', '市辖区', '420500', 1968),
+('420502', '西陵区', '420500', 1969),
+('420503', '伍家岗区', '420500', 1970),
+('420504', '点军区', '420500', 1971),
+('420505', '猇亭区', '420500', 1972),
+('420506', '夷陵区', '420500', 1973),
+('420525', '远安县', '420500', 1974),
+('420526', '兴山县', '420500', 1975),
+('420527', '秭归县', '420500', 1976),
+('420528', '长阳土家族自治县', '420500', 1977),
+('420529', '五峰土家族自治县', '420500', 1978),
+('420581', '宜都市', '420500', 1979),
+('420582', '当阳市', '420500', 1980),
+('420583', '枝江市', '420500', 1981),
+('420600', '襄阳市', '420000', 1982),
+('420601', '市辖区', '420600', 1983),
+('420602', '襄城区', '420600', 1984),
+('420606', '樊城区', '420600', 1985),
+('420607', '襄州区', '420600', 1986),
+('420624', '南漳县', '420600', 1987),
+('420625', '谷城县', '420600', 1988),
+('420626', '保康县', '420600', 1989),
+('420682', '老河口市', '420600', 1990),
+('420683', '枣阳市', '420600', 1991),
+('420684', '宜城市', '420600', 1992),
+('420700', '鄂州市', '420000', 1993),
+('420701', '市辖区', '420700', 1994),
+('420702', '梁子湖区', '420700', 1995),
+('420703', '华容区', '420700', 1996),
+('420704', '鄂城区', '420700', 1997),
+('420800', '荆门市', '420000', 1998),
+('420801', '市辖区', '420800', 1999),
+('420802', '东宝区', '420800', 2000),
+('420804', '掇刀区', '420800', 2001),
+('420822', '沙洋县', '420800', 2002),
+('420881', '钟祥市', '420800', 2003),
+('420882', '京山市', '420800', 2004),
+('420900', '孝感市', '420000', 2005),
+('420901', '市辖区', '420900', 2006),
+('420902', '孝南区', '420900', 2007),
+('420921', '孝昌县', '420900', 2008),
+('420922', '大悟县', '420900', 2009),
+('420923', '云梦县', '420900', 2010),
+('420981', '应城市', '420900', 2011),
+('420982', '安陆市', '420900', 2012),
+('420984', '汉川市', '420900', 2013),
+('421000', '荆州市', '420000', 2014),
+('421001', '市辖区', '421000', 2015),
+('421002', '沙市区', '421000', 2016),
+('421003', '荆州区', '421000', 2017),
+('421022', '公安县', '421000', 2018),
+('421024', '江陵县', '421000', 2019),
+('421071', '荆州经济技术开发区', '421000', 2020),
+('421081', '石首市', '421000', 2021),
+('421083', '洪湖市', '421000', 2022),
+('421087', '松滋市', '421000', 2023),
+('421088', '监利市', '421000', 2024),
+('421100', '黄冈市', '420000', 2025),
+('421101', '市辖区', '421100', 2026),
+('421102', '黄州区', '421100', 2027),
+('421121', '团风县', '421100', 2028),
+('421122', '红安县', '421100', 2029),
+('421123', '罗田县', '421100', 2030),
+('421124', '英山县', '421100', 2031),
+('421125', '浠水县', '421100', 2032),
+('421126', '蕲春县', '421100', 2033),
+('421127', '黄梅县', '421100', 2034),
+('421171', '龙感湖管理区', '421100', 2035),
+('421181', '麻城市', '421100', 2036),
+('421182', '武穴市', '421100', 2037),
+('421200', '咸宁市', '420000', 2038),
+('421201', '市辖区', '421200', 2039),
+('421202', '咸安区', '421200', 2040),
+('421221', '嘉鱼县', '421200', 2041),
+('421222', '通城县', '421200', 2042),
+('421223', '崇阳县', '421200', 2043),
+('421224', '通山县', '421200', 2044),
+('421281', '赤壁市', '421200', 2045),
+('421300', '随州市', '420000', 2046),
+('421301', '市辖区', '421300', 2047),
+('421303', '曾都区', '421300', 2048),
+('421321', '随县', '421300', 2049),
+('421381', '广水市', '421300', 2050),
+('422800', '恩施土家族苗族自治州', '420000', 2051),
+('422801', '恩施市', '422800', 2052),
+('422802', '利川市', '422800', 2053),
+('422822', '建始县', '422800', 2054),
+('422823', '巴东县', '422800', 2055),
+('422825', '宣恩县', '422800', 2056),
+('422826', '咸丰县', '422800', 2057),
+('422827', '来凤县', '422800', 2058),
+('422828', '鹤峰县', '422800', 2059),
+('429000', '省直辖县级行政区划', '420000', 2060),
+('429004', '仙桃市', '429000', 2061),
+('429005', '潜江市', '429000', 2062),
+('429006', '天门市', '429000', 2063),
+('429021', '神农架林区', '429000', 2064),
+('430000', '湖南省', NULL, 2065),
+('430100', '长沙市', '430000', 2066),
+('430101', '市辖区', '430100', 2067),
+('430102', '芙蓉区', '430100', 2068),
+('430103', '天心区', '430100', 2069),
+('430104', '岳麓区', '430100', 2070),
+('430105', '开福区', '430100', 2071),
+('430111', '雨花区', '430100', 2072),
+('430112', '望城区', '430100', 2073),
+('430121', '长沙县', '430100', 2074),
+('430181', '浏阳市', '430100', 2075),
+('430182', '宁乡市', '430100', 2076),
+('430200', '株洲市', '430000', 2077),
+('430201', '市辖区', '430200', 2078),
+('430202', '荷塘区', '430200', 2079),
+('430203', '芦淞区', '430200', 2080),
+('430204', '石峰区', '430200', 2081),
+('430211', '天元区', '430200', 2082),
+('430212', '渌口区', '430200', 2083),
+('430223', '攸县', '430200', 2084),
+('430224', '茶陵县', '430200', 2085),
+('430225', '炎陵县', '430200', 2086),
+('430281', '醴陵市', '430200', 2087),
+('430300', '湘潭市', '430000', 2088),
+('430301', '市辖区', '430300', 2089),
+('430302', '雨湖区', '430300', 2090),
+('430304', '岳塘区', '430300', 2091),
+('430321', '湘潭县', '430300', 2092),
+('430371', '湖南湘潭高新技术产业园区', '430300', 2093),
+('430372', '湘潭昭山示范区', '430300', 2094),
+('430373', '湘潭九华示范区', '430300', 2095),
+('430381', '湘乡市', '430300', 2096),
+('430382', '韶山市', '430300', 2097),
+('430400', '衡阳市', '430000', 2098),
+('430401', '市辖区', '430400', 2099),
+('430405', '珠晖区', '430400', 2100),
+('430406', '雁峰区', '430400', 2101),
+('430407', '石鼓区', '430400', 2102),
+('430408', '蒸湘区', '430400', 2103),
+('430412', '南岳区', '430400', 2104),
+('430421', '衡阳县', '430400', 2105),
+('430422', '衡南县', '430400', 2106),
+('430423', '衡山县', '430400', 2107),
+('430424', '衡东县', '430400', 2108),
+('430426', '祁东县', '430400', 2109),
+('430473', '湖南衡阳松木经济开发区', '430400', 2110),
+('430476', '湖南衡阳高新技术产业园区', '430400', 2111),
+('430481', '耒阳市', '430400', 2112),
+('430482', '常宁市', '430400', 2113),
+('430500', '邵阳市', '430000', 2114),
+('430501', '市辖区', '430500', 2115),
+('430502', '双清区', '430500', 2116),
+('430503', '大祥区', '430500', 2117),
+('430511', '北塔区', '430500', 2118),
+('430522', '新邵县', '430500', 2119),
+('430523', '邵阳县', '430500', 2120),
+('430524', '隆回县', '430500', 2121),
+('430525', '洞口县', '430500', 2122),
+('430527', '绥宁县', '430500', 2123),
+('430528', '新宁县', '430500', 2124),
+('430529', '城步苗族自治县', '430500', 2125),
+('430581', '武冈市', '430500', 2126),
+('430582', '邵东市', '430500', 2127),
+('430600', '岳阳市', '430000', 2128),
+('430601', '市辖区', '430600', 2129),
+('430602', '岳阳楼区', '430600', 2130),
+('430603', '云溪区', '430600', 2131),
+('430611', '君山区', '430600', 2132),
+('430621', '岳阳县', '430600', 2133),
+('430623', '华容县', '430600', 2134),
+('430624', '湘阴县', '430600', 2135),
+('430626', '平江县', '430600', 2136),
+('430671', '岳阳市屈原管理区', '430600', 2137),
+('430681', '汨罗市', '430600', 2138),
+('430682', '临湘市', '430600', 2139),
+('430700', '常德市', '430000', 2140),
+('430701', '市辖区', '430700', 2141),
+('430702', '武陵区', '430700', 2142),
+('430703', '鼎城区', '430700', 2143),
+('430721', '安乡县', '430700', 2144),
+('430722', '汉寿县', '430700', 2145),
+('430723', '澧县', '430700', 2146),
+('430724', '临澧县', '430700', 2147),
+('430725', '桃源县', '430700', 2148),
+('430726', '石门县', '430700', 2149),
+('430771', '常德市西洞庭管理区', '430700', 2150),
+('430781', '津市市', '430700', 2151),
+('430800', '张家界市', '430000', 2152),
+('430801', '市辖区', '430800', 2153),
+('430802', '永定区', '430800', 2154),
+('430811', '武陵源区', '430800', 2155),
+('430821', '慈利县', '430800', 2156),
+('430822', '桑植县', '430800', 2157),
+('430900', '益阳市', '430000', 2158),
+('430901', '市辖区', '430900', 2159),
+('430902', '资阳区', '430900', 2160),
+('430903', '赫山区', '430900', 2161),
+('430921', '南县', '430900', 2162),
+('430922', '桃江县', '430900', 2163),
+('430923', '安化县', '430900', 2164),
+('430971', '益阳市大通湖管理区', '430900', 2165),
+('430972', '湖南益阳高新技术产业园区', '430900', 2166),
+('430981', '沅江市', '430900', 2167),
+('431000', '郴州市', '430000', 2168),
+('431001', '市辖区', '431000', 2169),
+('431002', '北湖区', '431000', 2170),
+('431003', '苏仙区', '431000', 2171),
+('431021', '桂阳县', '431000', 2172),
+('431022', '宜章县', '431000', 2173),
+('431023', '永兴县', '431000', 2174),
+('431024', '嘉禾县', '431000', 2175),
+('431025', '临武县', '431000', 2176),
+('431026', '汝城县', '431000', 2177),
+('431027', '桂东县', '431000', 2178),
+('431028', '安仁县', '431000', 2179),
+('431081', '资兴市', '431000', 2180),
+('431100', '永州市', '430000', 2181),
+('431101', '市辖区', '431100', 2182),
+('431102', '零陵区', '431100', 2183),
+('431103', '冷水滩区', '431100', 2184),
+('431122', '东安县', '431100', 2185),
+('431123', '双牌县', '431100', 2186),
+('431124', '道县', '431100', 2187),
+('431125', '江永县', '431100', 2188),
+('431126', '宁远县', '431100', 2189),
+('431127', '蓝山县', '431100', 2190),
+('431128', '新田县', '431100', 2191),
+('431129', '江华瑶族自治县', '431100', 2192),
+('431171', '永州经济技术开发区', '431100', 2193),
+('431173', '永州市回龙圩管理区', '431100', 2194),
+('431181', '祁阳市', '431100', 2195),
+('431200', '怀化市', '430000', 2196),
+('431201', '市辖区', '431200', 2197),
+('431202', '鹤城区', '431200', 2198),
+('431221', '中方县', '431200', 2199),
+('431222', '沅陵县', '431200', 2200),
+('431223', '辰溪县', '431200', 2201),
+('431224', '溆浦县', '431200', 2202),
+('431225', '会同县', '431200', 2203),
+('431226', '麻阳苗族自治县', '431200', 2204),
+('431227', '新晃侗族自治县', '431200', 2205),
+('431228', '芷江侗族自治县', '431200', 2206),
+('431229', '靖州苗族侗族自治县', '431200', 2207),
+('431230', '通道侗族自治县', '431200', 2208),
+('431271', '怀化市洪江管理区', '431200', 2209),
+('431281', '洪江市', '431200', 2210),
+('431300', '娄底市', '430000', 2211),
+('431301', '市辖区', '431300', 2212),
+('431302', '娄星区', '431300', 2213),
+('431321', '双峰县', '431300', 2214),
+('431322', '新化县', '431300', 2215),
+('431381', '冷水江市', '431300', 2216),
+('431382', '涟源市', '431300', 2217),
+('433100', '湘西土家族苗族自治州', '430000', 2218),
+('433101', '吉首市', '433100', 2219),
+('433122', '泸溪县', '433100', 2220),
+('433123', '凤凰县', '433100', 2221),
+('433124', '花垣县', '433100', 2222),
+('433125', '保靖县', '433100', 2223),
+('433126', '古丈县', '433100', 2224),
+('433127', '永顺县', '433100', 2225),
+('433130', '龙山县', '433100', 2226),
+('440000', '广东省', NULL, 2227),
+('440100', '广州市', '440000', 2228),
+('440101', '市辖区', '440100', 2229),
+('440103', '荔湾区', '440100', 2230),
+('440104', '越秀区', '440100', 2231),
+('440105', '海珠区', '440100', 2232),
+('440106', '天河区', '440100', 2233),
+('440111', '白云区', '440100', 2234),
+('440112', '黄埔区', '440100', 2235),
+('440113', '番禺区', '440100', 2236),
+('440114', '花都区', '440100', 2237),
+('440115', '南沙区', '440100', 2238),
+('440117', '从化区', '440100', 2239),
+('440118', '增城区', '440100', 2240),
+('440200', '韶关市', '440000', 2241),
+('440201', '市辖区', '440200', 2242),
+('440203', '武江区', '440200', 2243),
+('440204', '浈江区', '440200', 2244),
+('440205', '曲江区', '440200', 2245),
+('440222', '始兴县', '440200', 2246),
+('440224', '仁化县', '440200', 2247),
+('440229', '翁源县', '440200', 2248),
+('440232', '乳源瑶族自治县', '440200', 2249),
+('440233', '新丰县', '440200', 2250),
+('440281', '乐昌市', '440200', 2251),
+('440282', '南雄市', '440200', 2252),
+('440300', '深圳市', '440000', 2253),
+('440301', '市辖区', '440300', 2254),
+('440303', '罗湖区', '440300', 2255),
+('440304', '福田区', '440300', 2256),
+('440305', '南山区', '440300', 2257),
+('440306', '宝安区', '440300', 2258),
+('440307', '龙岗区', '440300', 2259),
+('440308', '盐田区', '440300', 2260),
+('440309', '龙华区', '440300', 2261),
+('440310', '坪山区', '440300', 2262),
+('440311', '光明区', '440300', 2263),
+('440400', '珠海市', '440000', 2264),
+('440401', '市辖区', '440400', 2265),
+('440402', '香洲区', '440400', 2266),
+('440403', '斗门区', '440400', 2267),
+('440404', '金湾区', '440400', 2268),
+('440500', '汕头市', '440000', 2269),
+('440501', '市辖区', '440500', 2270),
+('440507', '龙湖区', '440500', 2271),
+('440511', '金平区', '440500', 2272),
+('440512', '濠江区', '440500', 2273),
+('440513', '潮阳区', '440500', 2274),
+('440514', '潮南区', '440500', 2275),
+('440515', '澄海区', '440500', 2276),
+('440523', '南澳县', '440500', 2277),
+('440600', '佛山市', '440000', 2278),
+('440601', '市辖区', '440600', 2279),
+('440604', '禅城区', '440600', 2280),
+('440605', '南海区', '440600', 2281),
+('440606', '顺德区', '440600', 2282),
+('440607', '三水区', '440600', 2283),
+('440608', '高明区', '440600', 2284),
+('440700', '江门市', '440000', 2285),
+('440701', '市辖区', '440700', 2286),
+('440703', '蓬江区', '440700', 2287),
+('440704', '江海区', '440700', 2288),
+('440705', '新会区', '440700', 2289),
+('440781', '台山市', '440700', 2290),
+('440783', '开平市', '440700', 2291),
+('440784', '鹤山市', '440700', 2292),
+('440785', '恩平市', '440700', 2293),
+('440800', '湛江市', '440000', 2294),
+('440801', '市辖区', '440800', 2295),
+('440802', '赤坎区', '440800', 2296),
+('440803', '霞山区', '440800', 2297),
+('440804', '坡头区', '440800', 2298),
+('440811', '麻章区', '440800', 2299),
+('440823', '遂溪县', '440800', 2300),
+('440825', '徐闻县', '440800', 2301),
+('440881', '廉江市', '440800', 2302),
+('440882', '雷州市', '440800', 2303),
+('440883', '吴川市', '440800', 2304),
+('440900', '茂名市', '440000', 2305),
+('440901', '市辖区', '440900', 2306),
+('440902', '茂南区', '440900', 2307),
+('440904', '电白区', '440900', 2308),
+('440981', '高州市', '440900', 2309),
+('440982', '化州市', '440900', 2310),
+('440983', '信宜市', '440900', 2311),
+('441200', '肇庆市', '440000', 2312),
+('441201', '市辖区', '441200', 2313),
+('441202', '端州区', '441200', 2314),
+('441203', '鼎湖区', '441200', 2315),
+('441204', '高要区', '441200', 2316),
+('441223', '广宁县', '441200', 2317),
+('441224', '怀集县', '441200', 2318),
+('441225', '封开县', '441200', 2319),
+('441226', '德庆县', '441200', 2320),
+('441284', '四会市', '441200', 2321),
+('441300', '惠州市', '440000', 2322),
+('441301', '市辖区', '441300', 2323),
+('441302', '惠城区', '441300', 2324),
+('441303', '惠阳区', '441300', 2325),
+('441322', '博罗县', '441300', 2326),
+('441323', '惠东县', '441300', 2327),
+('441324', '龙门县', '441300', 2328),
+('441400', '梅州市', '440000', 2329),
+('441401', '市辖区', '441400', 2330),
+('441402', '梅江区', '441400', 2331),
+('441403', '梅县区', '441400', 2332),
+('441422', '大埔县', '441400', 2333),
+('441423', '丰顺县', '441400', 2334),
+('441424', '五华县', '441400', 2335),
+('441426', '平远县', '441400', 2336),
+('441427', '蕉岭县', '441400', 2337),
+('441481', '兴宁市', '441400', 2338),
+('441500', '汕尾市', '440000', 2339),
+('441501', '市辖区', '441500', 2340),
+('441502', '城区', '441500', 2341),
+('441521', '海丰县', '441500', 2342),
+('441523', '陆河县', '441500', 2343),
+('441581', '陆丰市', '441500', 2344),
+('441600', '河源市', '440000', 2345),
+('441601', '市辖区', '441600', 2346),
+('441602', '源城区', '441600', 2347),
+('441621', '紫金县', '441600', 2348),
+('441622', '龙川县', '441600', 2349),
+('441623', '连平县', '441600', 2350),
+('441624', '和平县', '441600', 2351),
+('441625', '东源县', '441600', 2352),
+('441700', '阳江市', '440000', 2353),
+('441701', '市辖区', '441700', 2354),
+('441702', '江城区', '441700', 2355),
+('441704', '阳东区', '441700', 2356),
+('441721', '阳西县', '441700', 2357),
+('441781', '阳春市', '441700', 2358),
+('441800', '清远市', '440000', 2359),
+('441801', '市辖区', '441800', 2360),
+('441802', '清城区', '441800', 2361),
+('441803', '清新区', '441800', 2362),
+('441821', '佛冈县', '441800', 2363),
+('441823', '阳山县', '441800', 2364),
+('441825', '连山壮族瑶族自治县', '441800', 2365),
+('441826', '连南瑶族自治县', '441800', 2366),
+('441881', '英德市', '441800', 2367),
+('441882', '连州市', '441800', 2368),
+('441900', '东莞市', '440000', 2369),
+('442000', '中山市', '440000', 2370),
+('445100', '潮州市', '440000', 2371),
+('445101', '市辖区', '445100', 2372),
+('445102', '湘桥区', '445100', 2373),
+('445103', '潮安区', '445100', 2374),
+('445122', '饶平县', '445100', 2375),
+('445200', '揭阳市', '440000', 2376),
+('445201', '市辖区', '445200', 2377),
+('445202', '榕城区', '445200', 2378),
+('445203', '揭东区', '445200', 2379),
+('445222', '揭西县', '445200', 2380),
+('445224', '惠来县', '445200', 2381),
+('445281', '普宁市', '445200', 2382),
+('445300', '云浮市', '440000', 2383),
+('445301', '市辖区', '445300', 2384),
+('445302', '云城区', '445300', 2385),
+('445303', '云安区', '445300', 2386),
+('445321', '新兴县', '445300', 2387),
+('445322', '郁南县', '445300', 2388),
+('445381', '罗定市', '445300', 2389),
+('450000', '广西壮族自治区', NULL, 2390),
+('450100', '南宁市', '450000', 2391),
+('450101', '市辖区', '450100', 2392),
+('450102', '兴宁区', '450100', 2393),
+('450103', '青秀区', '450100', 2394),
+('450105', '江南区', '450100', 2395),
+('450107', '西乡塘区', '450100', 2396),
+('450108', '良庆区', '450100', 2397),
+('450109', '邕宁区', '450100', 2398),
+('450110', '武鸣区', '450100', 2399),
+('450123', '隆安县', '450100', 2400),
+('450124', '马山县', '450100', 2401),
+('450125', '上林县', '450100', 2402),
+('450126', '宾阳县', '450100', 2403),
+('450181', '横州市', '450100', 2404),
+('450200', '柳州市', '450000', 2405),
+('450201', '市辖区', '450200', 2406),
+('450202', '城中区', '450200', 2407),
+('450203', '鱼峰区', '450200', 2408),
+('450204', '柳南区', '450200', 2409),
+('450205', '柳北区', '450200', 2410),
+('450206', '柳江区', '450200', 2411),
+('450222', '柳城县', '450200', 2412),
+('450223', '鹿寨县', '450200', 2413),
+('450224', '融安县', '450200', 2414),
+('450225', '融水苗族自治县', '450200', 2415),
+('450226', '三江侗族自治县', '450200', 2416),
+('450300', '桂林市', '450000', 2417),
+('450301', '市辖区', '450300', 2418),
+('450302', '秀峰区', '450300', 2419),
+('450303', '叠彩区', '450300', 2420),
+('450304', '象山区', '450300', 2421),
+('450305', '七星区', '450300', 2422),
+('450311', '雁山区', '450300', 2423),
+('450312', '临桂区', '450300', 2424),
+('450321', '阳朔县', '450300', 2425),
+('450323', '灵川县', '450300', 2426),
+('450324', '全州县', '450300', 2427),
+('450325', '兴安县', '450300', 2428),
+('450326', '永福县', '450300', 2429),
+('450327', '灌阳县', '450300', 2430),
+('450328', '龙胜各族自治县', '450300', 2431),
+('450329', '资源县', '450300', 2432),
+('450330', '平乐县', '450300', 2433),
+('450332', '恭城瑶族自治县', '450300', 2434),
+('450381', '荔浦市', '450300', 2435),
+('450400', '梧州市', '450000', 2436),
+('450401', '市辖区', '450400', 2437),
+('450403', '万秀区', '450400', 2438),
+('450405', '长洲区', '450400', 2439),
+('450406', '龙圩区', '450400', 2440),
+('450421', '苍梧县', '450400', 2441),
+('450422', '藤县', '450400', 2442),
+('450423', '蒙山县', '450400', 2443),
+('450481', '岑溪市', '450400', 2444),
+('450500', '北海市', '450000', 2445),
+('450501', '市辖区', '450500', 2446),
+('450502', '海城区', '450500', 2447),
+('450503', '银海区', '450500', 2448),
+('450512', '铁山港区', '450500', 2449),
+('450521', '合浦县', '450500', 2450),
+('450600', '防城港市', '450000', 2451),
+('450601', '市辖区', '450600', 2452),
+('450602', '港口区', '450600', 2453),
+('450603', '防城区', '450600', 2454),
+('450621', '上思县', '450600', 2455),
+('450681', '东兴市', '450600', 2456),
+('450700', '钦州市', '450000', 2457),
+('450701', '市辖区', '450700', 2458),
+('450702', '钦南区', '450700', 2459),
+('450703', '钦北区', '450700', 2460),
+('450721', '灵山县', '450700', 2461),
+('450722', '浦北县', '450700', 2462),
+('450800', '贵港市', '450000', 2463),
+('450801', '市辖区', '450800', 2464),
+('450802', '港北区', '450800', 2465),
+('450803', '港南区', '450800', 2466),
+('450804', '覃塘区', '450800', 2467),
+('450821', '平南县', '450800', 2468),
+('450881', '桂平市', '450800', 2469),
+('450900', '玉林市', '450000', 2470),
+('450901', '市辖区', '450900', 2471),
+('450902', '玉州区', '450900', 2472),
+('450903', '福绵区', '450900', 2473),
+('450921', '容县', '450900', 2474),
+('450922', '陆川县', '450900', 2475),
+('450923', '博白县', '450900', 2476),
+('450924', '兴业县', '450900', 2477),
+('450981', '北流市', '450900', 2478),
+('451000', '百色市', '450000', 2479),
+('451001', '市辖区', '451000', 2480),
+('451002', '右江区', '451000', 2481),
+('451003', '田阳区', '451000', 2482),
+('451022', '田东县', '451000', 2483),
+('451024', '德保县', '451000', 2484),
+('451026', '那坡县', '451000', 2485),
+('451027', '凌云县', '451000', 2486),
+('451028', '乐业县', '451000', 2487),
+('451029', '田林县', '451000', 2488),
+('451030', '西林县', '451000', 2489),
+('451031', '隆林各族自治县', '451000', 2490),
+('451081', '靖西市', '451000', 2491),
+('451082', '平果市', '451000', 2492),
+('451100', '贺州市', '450000', 2493),
+('451101', '市辖区', '451100', 2494),
+('451102', '八步区', '451100', 2495),
+('451103', '平桂区', '451100', 2496),
+('451121', '昭平县', '451100', 2497),
+('451122', '钟山县', '451100', 2498),
+('451123', '富川瑶族自治县', '451100', 2499),
+('451200', '河池市', '450000', 2500),
+('451201', '市辖区', '451200', 2501),
+('451202', '金城江区', '451200', 2502),
+('451203', '宜州区', '451200', 2503),
+('451221', '南丹县', '451200', 2504),
+('451222', '天峨县', '451200', 2505),
+('451223', '凤山县', '451200', 2506),
+('451224', '东兰县', '451200', 2507),
+('451225', '罗城仫佬族自治县', '451200', 2508),
+('451226', '环江毛南族自治县', '451200', 2509),
+('451227', '巴马瑶族自治县', '451200', 2510),
+('451228', '都安瑶族自治县', '451200', 2511),
+('451229', '大化瑶族自治县', '451200', 2512),
+('451300', '来宾市', '450000', 2513),
+('451301', '市辖区', '451300', 2514),
+('451302', '兴宾区', '451300', 2515),
+('451321', '忻城县', '451300', 2516),
+('451322', '象州县', '451300', 2517),
+('451323', '武宣县', '451300', 2518),
+('451324', '金秀瑶族自治县', '451300', 2519),
+('451381', '合山市', '451300', 2520),
+('451400', '崇左市', '450000', 2521),
+('451401', '市辖区', '451400', 2522),
+('451402', '江州区', '451400', 2523),
+('451421', '扶绥县', '451400', 2524),
+('451422', '宁明县', '451400', 2525),
+('451423', '龙州县', '451400', 2526),
+('451424', '大新县', '451400', 2527),
+('451425', '天等县', '451400', 2528),
+('451481', '凭祥市', '451400', 2529),
+('460000', '海南省', NULL, 2530),
+('460100', '海口市', '460000', 2531),
+('460101', '市辖区', '460100', 2532),
+('460105', '秀英区', '460100', 2533),
+('460106', '龙华区', '460100', 2534),
+('460107', '琼山区', '460100', 2535),
+('460108', '美兰区', '460100', 2536),
+('460200', '三亚市', '460000', 2537),
+('460201', '市辖区', '460200', 2538),
+('460202', '海棠区', '460200', 2539),
+('460203', '吉阳区', '460200', 2540),
+('460204', '天涯区', '460200', 2541),
+('460205', '崖州区', '460200', 2542),
+('460300', '三沙市', '460000', 2543),
+('460321', '西沙群岛', '460300', 2544),
+('460322', '南沙群岛', '460300', 2545),
+('460323', '中沙群岛的岛礁及其海域', '460300', 2546),
+('460400', '儋州市', '460000', 2547),
+('469000', '省直辖县级行政区划', '460000', 2548),
+('469001', '五指山市', '469000', 2549),
+('469002', '琼海市', '469000', 2550),
+('469005', '文昌市', '469000', 2551),
+('469006', '万宁市', '469000', 2552),
+('469007', '东方市', '469000', 2553),
+('469021', '定安县', '469000', 2554),
+('469022', '屯昌县', '469000', 2555),
+('469023', '澄迈县', '469000', 2556),
+('469024', '临高县', '469000', 2557),
+('469025', '白沙黎族自治县', '469000', 2558),
+('469026', '昌江黎族自治县', '469000', 2559),
+('469027', '乐东黎族自治县', '469000', 2560),
+('469028', '陵水黎族自治县', '469000', 2561),
+('469029', '保亭黎族苗族自治县', '469000', 2562),
+('469030', '琼中黎族苗族自治县', '469000', 2563),
+('500000', '重庆市', NULL, 2564),
+('500100', '重庆市', '500000', 2565),
+('500101', '万州区', '500100', 2566),
+('500102', '涪陵区', '500100', 2567),
+('500103', '渝中区', '500100', 2568),
+('500104', '大渡口区', '500100', 2569),
+('500106', '沙坪坝区', '500100', 2570),
+('500107', '九龙坡区', '500100', 2571),
+('500108', '南岸区', '500100', 2572),
+('500109', '北碚区', '500100', 2573),
+('500110', '綦江区', '500100', 2574),
+('500111', '大足区', '500100', 2575),
+('500113', '巴南区', '500100', 2576),
+('500114', '黔江区', '500100', 2577),
+('500115', '长寿区', '500100', 2578),
+('500116', '江津区', '500100', 2579),
+('500117', '合川区', '500100', 2580),
+('500118', '永川区', '500100', 2581),
+('500119', '南川区', '500100', 2582),
+('500120', '璧山区', '500100', 2583),
+('500151', '铜梁区', '500100', 2584),
+('500152', '潼南区', '500100', 2585),
+('500153', '荣昌区', '500100', 2586),
+('500154', '开州区', '500100', 2587),
+('500155', '梁平区', '500100', 2588),
+('500156', '武隆区', '500100', 2589),
+('500157', '两江新区', '500100', 2590),
+('500200', '重庆市', '500000', 2591),
+('500229', '城口县', '500200', 2592),
+('500230', '丰都县', '500200', 2593),
+('500231', '垫江县', '500200', 2594),
+('500233', '忠县', '500200', 2595),
+('500235', '云阳县', '500200', 2596),
+('500236', '奉节县', '500200', 2597),
+('500237', '巫山县', '500200', 2598),
+('500238', '巫溪县', '500200', 2599),
+('500240', '石柱土家族自治县', '500200', 2600),
+('500241', '秀山土家族苗族自治县', '500200', 2601),
+('500242', '酉阳土家族苗族自治县', '500200', 2602),
+('500243', '彭水苗族土家族自治县', '500200', 2603),
+('510000', '四川省', NULL, 2604),
+('510100', '成都市', '510000', 2605),
+('510101', '市辖区', '510100', 2606),
+('510104', '锦江区', '510100', 2607),
+('510105', '青羊区', '510100', 2608),
+('510106', '金牛区', '510100', 2609),
+('510107', '武侯区', '510100', 2610),
+('510108', '成华区', '510100', 2611),
+('510112', '龙泉驿区', '510100', 2612),
+('510113', '青白江区', '510100', 2613),
+('510114', '新都区', '510100', 2614),
+('510115', '温江区', '510100', 2615),
+('510116', '双流区', '510100', 2616),
+('510117', '郫都区', '510100', 2617),
+('510118', '新津区', '510100', 2618),
+('510121', '金堂县', '510100', 2619),
+('510129', '大邑县', '510100', 2620),
+('510131', '蒲江县', '510100', 2621),
+('510181', '都江堰市', '510100', 2622),
+('510182', '彭州市', '510100', 2623),
+('510183', '邛崃市', '510100', 2624),
+('510184', '崇州市', '510100', 2625),
+('510185', '简阳市', '510100', 2626),
+('510300', '自贡市', '510000', 2627),
+('510301', '市辖区', '510300', 2628),
+('510302', '自流井区', '510300', 2629),
+('510303', '贡井区', '510300', 2630),
+('510304', '大安区', '510300', 2631),
+('510311', '沿滩区', '510300', 2632),
+('510321', '荣县', '510300', 2633),
+('510322', '富顺县', '510300', 2634),
+('510400', '攀枝花市', '510000', 2635),
+('510401', '市辖区', '510400', 2636),
+('510402', '东区', '510400', 2637),
+('510403', '西区', '510400', 2638),
+('510411', '仁和区', '510400', 2639),
+('510421', '米易县', '510400', 2640),
+('510422', '盐边县', '510400', 2641),
+('510500', '泸州市', '510000', 2642),
+('510501', '市辖区', '510500', 2643),
+('510502', '江阳区', '510500', 2644),
+('510503', '纳溪区', '510500', 2645),
+('510504', '龙马潭区', '510500', 2646),
+('510521', '泸县', '510500', 2647),
+('510522', '合江县', '510500', 2648),
+('510524', '叙永县', '510500', 2649),
+('510525', '古蔺县', '510500', 2650),
+('510600', '德阳市', '510000', 2651),
+('510601', '市辖区', '510600', 2652),
+('510603', '旌阳区', '510600', 2653),
+('510604', '罗江区', '510600', 2654),
+('510623', '中江县', '510600', 2655),
+('510681', '广汉市', '510600', 2656),
+('510682', '什邡市', '510600', 2657),
+('510683', '绵竹市', '510600', 2658),
+('510700', '绵阳市', '510000', 2659),
+('510701', '市辖区', '510700', 2660),
+('510703', '涪城区', '510700', 2661),
+('510704', '游仙区', '510700', 2662),
+('510705', '安州区', '510700', 2663),
+('510722', '三台县', '510700', 2664),
+('510723', '盐亭县', '510700', 2665),
+('510725', '梓潼县', '510700', 2666),
+('510726', '北川羌族自治县', '510700', 2667),
+('510727', '平武县', '510700', 2668),
+('510781', '江油市', '510700', 2669),
+('510800', '广元市', '510000', 2670),
+('510801', '市辖区', '510800', 2671),
+('510802', '利州区', '510800', 2672),
+('510811', '昭化区', '510800', 2673),
+('510812', '朝天区', '510800', 2674),
+('510821', '旺苍县', '510800', 2675),
+('510822', '青川县', '510800', 2676),
+('510823', '剑阁县', '510800', 2677),
+('510824', '苍溪县', '510800', 2678),
+('510900', '遂宁市', '510000', 2679),
+('510901', '市辖区', '510900', 2680),
+('510903', '船山区', '510900', 2681),
+('510904', '安居区', '510900', 2682),
+('510921', '蓬溪县', '510900', 2683),
+('510923', '大英县', '510900', 2684),
+('510981', '射洪市', '510900', 2685),
+('511000', '内江市', '510000', 2686),
+('511001', '市辖区', '511000', 2687),
+('511002', '市中区', '511000', 2688),
+('511011', '东兴区', '511000', 2689),
+('511024', '威远县', '511000', 2690),
+('511025', '资中县', '511000', 2691),
+('511083', '隆昌市', '511000', 2692),
+('511100', '乐山市', '510000', 2693),
+('511101', '市辖区', '511100', 2694),
+('511102', '市中区', '511100', 2695),
+('511111', '沙湾区', '511100', 2696),
+('511112', '五通桥区', '511100', 2697),
+('511113', '金口河区', '511100', 2698),
+('511123', '犍为县', '511100', 2699),
+('511124', '井研县', '511100', 2700),
+('511126', '夹江县', '511100', 2701),
+('511129', '沐川县', '511100', 2702),
+('511132', '峨边彝族自治县', '511100', 2703),
+('511133', '马边彝族自治县', '511100', 2704),
+('511181', '峨眉山市', '511100', 2705),
+('511300', '南充市', '510000', 2706),
+('511301', '市辖区', '511300', 2707),
+('511302', '顺庆区', '511300', 2708),
+('511303', '高坪区', '511300', 2709),
+('511304', '嘉陵区', '511300', 2710),
+('511321', '南部县', '511300', 2711),
+('511322', '营山县', '511300', 2712),
+('511323', '蓬安县', '511300', 2713),
+('511324', '仪陇县', '511300', 2714),
+('511325', '西充县', '511300', 2715),
+('511381', '阆中市', '511300', 2716),
+('511400', '眉山市', '510000', 2717),
+('511401', '市辖区', '511400', 2718),
+('511402', '东坡区', '511400', 2719),
+('511403', '彭山区', '511400', 2720),
+('511421', '仁寿县', '511400', 2721),
+('511423', '洪雅县', '511400', 2722),
+('511424', '丹棱县', '511400', 2723),
+('511425', '青神县', '511400', 2724),
+('511500', '宜宾市', '510000', 2725),
+('511501', '市辖区', '511500', 2726),
+('511502', '翠屏区', '511500', 2727),
+('511503', '南溪区', '511500', 2728),
+('511504', '叙州区', '511500', 2729),
+('511523', '江安县', '511500', 2730),
+('511524', '长宁县', '511500', 2731),
+('511525', '高县', '511500', 2732),
+('511526', '珙县', '511500', 2733),
+('511527', '筠连县', '511500', 2734),
+('511528', '兴文县', '511500', 2735),
+('511529', '屏山县', '511500', 2736),
+('511600', '广安市', '510000', 2737),
+('511601', '市辖区', '511600', 2738),
+('511602', '广安区', '511600', 2739),
+('511603', '前锋区', '511600', 2740),
+('511621', '岳池县', '511600', 2741),
+('511622', '武胜县', '511600', 2742),
+('511623', '邻水县', '511600', 2743),
+('511681', '华蓥市', '511600', 2744),
+('511700', '达州市', '510000', 2745),
+('511701', '市辖区', '511700', 2746),
+('511702', '通川区', '511700', 2747),
+('511703', '达川区', '511700', 2748),
+('511722', '宣汉县', '511700', 2749),
+('511723', '开江县', '511700', 2750),
+('511724', '大竹县', '511700', 2751),
+('511725', '渠县', '511700', 2752),
+('511781', '万源市', '511700', 2753),
+('511800', '雅安市', '510000', 2754),
+('511801', '市辖区', '511800', 2755),
+('511802', '雨城区', '511800', 2756),
+('511803', '名山区', '511800', 2757),
+('511822', '荥经县', '511800', 2758),
+('511823', '汉源县', '511800', 2759),
+('511824', '石棉县', '511800', 2760),
+('511825', '天全县', '511800', 2761),
+('511826', '芦山县', '511800', 2762),
+('511827', '宝兴县', '511800', 2763),
+('511900', '巴中市', '510000', 2764),
+('511901', '市辖区', '511900', 2765),
+('511902', '巴州区', '511900', 2766),
+('511903', '恩阳区', '511900', 2767),
+('511921', '通江县', '511900', 2768),
+('511922', '南江县', '511900', 2769),
+('511923', '平昌县', '511900', 2770),
+('512000', '资阳市', '510000', 2771),
+('512001', '市辖区', '512000', 2772),
+('512002', '雁江区', '512000', 2773),
+('512021', '安岳县', '512000', 2774),
+('512022', '乐至县', '512000', 2775),
+('513200', '阿坝藏族羌族自治州', '510000', 2776),
+('513201', '马尔康市', '513200', 2777),
+('513221', '汶川县', '513200', 2778),
+('513222', '理县', '513200', 2779),
+('513223', '茂县', '513200', 2780),
+('513224', '松潘县', '513200', 2781),
+('513225', '九寨沟县', '513200', 2782),
+('513226', '金川县', '513200', 2783),
+('513227', '小金县', '513200', 2784),
+('513228', '黑水县', '513200', 2785),
+('513230', '壤塘县', '513200', 2786),
+('513231', '阿坝县', '513200', 2787),
+('513232', '若尔盖县', '513200', 2788),
+('513233', '红原县', '513200', 2789),
+('513300', '甘孜藏族自治州', '510000', 2790),
+('513301', '康定市', '513300', 2791),
+('513322', '泸定县', '513300', 2792),
+('513323', '丹巴县', '513300', 2793),
+('513324', '九龙县', '513300', 2794),
+('513325', '雅江县', '513300', 2795),
+('513326', '道孚县', '513300', 2796),
+('513327', '炉霍县', '513300', 2797),
+('513328', '甘孜县', '513300', 2798),
+('513329', '新龙县', '513300', 2799),
+('513330', '德格县', '513300', 2800),
+('513331', '白玉县', '513300', 2801),
+('513332', '石渠县', '513300', 2802),
+('513333', '色达县', '513300', 2803),
+('513334', '理塘县', '513300', 2804),
+('513335', '巴塘县', '513300', 2805),
+('513336', '乡城县', '513300', 2806),
+('513337', '稻城县', '513300', 2807),
+('513338', '得荣县', '513300', 2808),
+('513400', '凉山彝族自治州', '510000', 2809),
+('513401', '西昌市', '513400', 2810),
+('513402', '会理市', '513400', 2811),
+('513422', '木里藏族自治县', '513400', 2812),
+('513423', '盐源县', '513400', 2813),
+('513424', '德昌县', '513400', 2814),
+('513426', '会东县', '513400', 2815),
+('513427', '宁南县', '513400', 2816),
+('513428', '普格县', '513400', 2817),
+('513429', '布拖县', '513400', 2818),
+('513430', '金阳县', '513400', 2819),
+('513431', '昭觉县', '513400', 2820),
+('513432', '喜德县', '513400', 2821),
+('513433', '冕宁县', '513400', 2822),
+('513434', '越西县', '513400', 2823),
+('513435', '甘洛县', '513400', 2824),
+('513436', '美姑县', '513400', 2825),
+('513437', '雷波县', '513400', 2826),
+('520000', '贵州省', NULL, 2827),
+('520100', '贵阳市', '520000', 2828),
+('520101', '市辖区', '520100', 2829),
+('520102', '南明区', '520100', 2830),
+('520103', '云岩区', '520100', 2831),
+('520111', '花溪区', '520100', 2832),
+('520112', '乌当区', '520100', 2833),
+('520113', '白云区', '520100', 2834),
+('520115', '观山湖区', '520100', 2835),
+('520121', '开阳县', '520100', 2836),
+('520122', '息烽县', '520100', 2837),
+('520123', '修文县', '520100', 2838),
+('520181', '清镇市', '520100', 2839),
+('520200', '六盘水市', '520000', 2840),
+('520201', '钟山区', '520200', 2841),
+('520203', '六枝特区', '520200', 2842),
+('520204', '水城区', '520200', 2843),
+('520281', '盘州市', '520200', 2844),
+('520300', '遵义市', '520000', 2845),
+('520301', '市辖区', '520300', 2846),
+('520302', '红花岗区', '520300', 2847),
+('520303', '汇川区', '520300', 2848),
+('520304', '播州区', '520300', 2849),
+('520322', '桐梓县', '520300', 2850),
+('520323', '绥阳县', '520300', 2851),
+('520324', '正安县', '520300', 2852),
+('520325', '道真仡佬族苗族自治县', '520300', 2853),
+('520326', '务川仡佬族苗族自治县', '520300', 2854),
+('520327', '凤冈县', '520300', 2855),
+('520328', '湄潭县', '520300', 2856),
+('520329', '余庆县', '520300', 2857),
+('520330', '习水县', '520300', 2858),
+('520381', '赤水市', '520300', 2859),
+('520382', '仁怀市', '520300', 2860),
+('520400', '安顺市', '520000', 2861),
+('520401', '市辖区', '520400', 2862),
+('520402', '西秀区', '520400', 2863),
+('520403', '平坝区', '520400', 2864),
+('520422', '普定县', '520400', 2865),
+('520423', '镇宁布依族苗族自治县', '520400', 2866),
+('520424', '关岭布依族苗族自治县', '520400', 2867),
+('520425', '紫云苗族布依族自治县', '520400', 2868),
+('520500', '毕节市', '520000', 2869),
+('520501', '市辖区', '520500', 2870),
+('520502', '七星关区', '520500', 2871),
+('520521', '大方县', '520500', 2872),
+('520523', '金沙县', '520500', 2873),
+('520524', '织金县', '520500', 2874),
+('520525', '纳雍县', '520500', 2875),
+('520526', '威宁彝族回族苗族自治县', '520500', 2876),
+('520527', '赫章县', '520500', 2877),
+('520581', '黔西市', '520500', 2878),
+('520600', '铜仁市', '520000', 2879),
+('520601', '市辖区', '520600', 2880),
+('520602', '碧江区', '520600', 2881),
+('520603', '万山区', '520600', 2882),
+('520621', '江口县', '520600', 2883),
+('520622', '玉屏侗族自治县', '520600', 2884),
+('520623', '石阡县', '520600', 2885),
+('520624', '思南县', '520600', 2886),
+('520625', '印江土家族苗族自治县', '520600', 2887),
+('520626', '德江县', '520600', 2888),
+('520627', '沿河土家族自治县', '520600', 2889),
+('520628', '松桃苗族自治县', '520600', 2890),
+('522300', '黔西南布依族苗族自治州', '520000', 2891),
+('522301', '兴义市', '522300', 2892),
+('522302', '兴仁市', '522300', 2893),
+('522323', '普安县', '522300', 2894),
+('522324', '晴隆县', '522300', 2895),
+('522325', '贞丰县', '522300', 2896),
+('522326', '望谟县', '522300', 2897),
+('522327', '册亨县', '522300', 2898),
+('522328', '安龙县', '522300', 2899),
+('522600', '黔东南苗族侗族自治州', '520000', 2900),
+('522601', '凯里市', '522600', 2901),
+('522622', '黄平县', '522600', 2902),
+('522623', '施秉县', '522600', 2903),
+('522624', '三穗县', '522600', 2904),
+('522625', '镇远县', '522600', 2905),
+('522626', '岑巩县', '522600', 2906),
+('522627', '天柱县', '522600', 2907),
+('522628', '锦屏县', '522600', 2908),
+('522629', '剑河县', '522600', 2909),
+('522630', '台江县', '522600', 2910),
+('522631', '黎平县', '522600', 2911),
+('522632', '榕江县', '522600', 2912),
+('522633', '从江县', '522600', 2913),
+('522634', '雷山县', '522600', 2914),
+('522635', '麻江县', '522600', 2915),
+('522636', '丹寨县', '522600', 2916),
+('522700', '黔南布依族苗族自治州', '520000', 2917),
+('522701', '都匀市', '522700', 2918),
+('522702', '福泉市', '522700', 2919),
+('522722', '荔波县', '522700', 2920),
+('522723', '贵定县', '522700', 2921),
+('522725', '瓮安县', '522700', 2922),
+('522726', '独山县', '522700', 2923),
+('522727', '平塘县', '522700', 2924),
+('522728', '罗甸县', '522700', 2925),
+('522729', '长顺县', '522700', 2926),
+('522730', '龙里县', '522700', 2927),
+('522731', '惠水县', '522700', 2928),
+('522732', '三都水族自治县', '522700', 2929),
+('530000', '云南省', NULL, 2930),
+('530100', '昆明市', '530000', 2931),
+('530101', '市辖区', '530100', 2932),
+('530102', '五华区', '530100', 2933),
+('530103', '盘龙区', '530100', 2934),
+('530111', '官渡区', '530100', 2935),
+('530112', '西山区', '530100', 2936),
+('530113', '东川区', '530100', 2937),
+('530114', '呈贡区', '530100', 2938),
+('530115', '晋宁区', '530100', 2939),
+('530124', '富民县', '530100', 2940),
+('530125', '宜良县', '530100', 2941),
+('530126', '石林彝族自治县', '530100', 2942),
+('530127', '嵩明县', '530100', 2943),
+('530128', '禄劝彝族苗族自治县', '530100', 2944),
+('530129', '寻甸回族彝族自治县', '530100', 2945),
+('530181', '安宁市', '530100', 2946),
+('530300', '曲靖市', '530000', 2947),
+('530301', '市辖区', '530300', 2948),
+('530302', '麒麟区', '530300', 2949),
+('530303', '沾益区', '530300', 2950),
+('530304', '马龙区', '530300', 2951),
+('530322', '陆良县', '530300', 2952),
+('530323', '师宗县', '530300', 2953),
+('530324', '罗平县', '530300', 2954),
+('530325', '富源县', '530300', 2955),
+('530326', '会泽县', '530300', 2956),
+('530381', '宣威市', '530300', 2957),
+('530400', '玉溪市', '530000', 2958),
+('530401', '市辖区', '530400', 2959),
+('530402', '红塔区', '530400', 2960),
+('530403', '江川区', '530400', 2961),
+('530423', '通海县', '530400', 2962),
+('530424', '华宁县', '530400', 2963),
+('530425', '易门县', '530400', 2964),
+('530426', '峨山彝族自治县', '530400', 2965),
+('530427', '新平彝族傣族自治县', '530400', 2966),
+('530428', '元江哈尼族彝族傣族自治县', '530400', 2967),
+('530481', '澄江市', '530400', 2968),
+('530500', '保山市', '530000', 2969),
+('530501', '市辖区', '530500', 2970),
+('530502', '隆阳区', '530500', 2971),
+('530521', '施甸县', '530500', 2972),
+('530523', '龙陵县', '530500', 2973),
+('530524', '昌宁县', '530500', 2974),
+('530581', '腾冲市', '530500', 2975),
+('530600', '昭通市', '530000', 2976),
+('530601', '市辖区', '530600', 2977),
+('530602', '昭阳区', '530600', 2978),
+('530621', '鲁甸县', '530600', 2979),
+('530622', '巧家县', '530600', 2980),
+('530623', '盐津县', '530600', 2981),
+('530624', '大关县', '530600', 2982),
+('530625', '永善县', '530600', 2983),
+('530626', '绥江县', '530600', 2984),
+('530627', '镇雄县', '530600', 2985),
+('530628', '彝良县', '530600', 2986),
+('530629', '威信县', '530600', 2987),
+('530681', '水富市', '530600', 2988),
+('530700', '丽江市', '530000', 2989),
+('530701', '市辖区', '530700', 2990),
+('530702', '古城区', '530700', 2991),
+('530721', '玉龙纳西族自治县', '530700', 2992),
+('530722', '永胜县', '530700', 2993),
+('530723', '华坪县', '530700', 2994),
+('530724', '宁蒗彝族自治县', '530700', 2995),
+('530800', '普洱市', '530000', 2996),
+('530801', '市辖区', '530800', 2997),
+('530802', '思茅区', '530800', 2998),
+('530821', '宁洱哈尼族彝族自治县', '530800', 2999),
+('530822', '墨江哈尼族自治县', '530800', 3000),
+('530823', '景东彝族自治县', '530800', 3001),
+('530824', '景谷傣族彝族自治县', '530800', 3002),
+('530825', '镇沅彝族哈尼族拉祜族自治县', '530800', 3003),
+('530826', '江城哈尼族彝族自治县', '530800', 3004),
+('530827', '孟连傣族拉祜族佤族自治县', '530800', 3005),
+('530828', '澜沧拉祜族自治县', '530800', 3006),
+('530829', '西盟佤族自治县', '530800', 3007),
+('530900', '临沧市', '530000', 3008),
+('530901', '市辖区', '530900', 3009),
+('530902', '临翔区', '530900', 3010),
+('530921', '凤庆县', '530900', 3011),
+('530922', '云县', '530900', 3012),
+('530923', '永德县', '530900', 3013),
+('530924', '镇康县', '530900', 3014),
+('530925', '双江拉祜族佤族布朗族傣族自治县', '530900', 3015),
+('530926', '耿马傣族佤族自治县', '530900', 3016),
+('530927', '沧源佤族自治县', '530900', 3017),
+('532300', '楚雄彝族自治州', '530000', 3018),
+('532301', '楚雄市', '532300', 3019),
+('532302', '禄丰市', '532300', 3020),
+('532322', '双柏县', '532300', 3021),
+('532323', '牟定县', '532300', 3022),
+('532324', '南华县', '532300', 3023),
+('532325', '姚安县', '532300', 3024),
+('532326', '大姚县', '532300', 3025),
+('532327', '永仁县', '532300', 3026),
+('532328', '元谋县', '532300', 3027),
+('532329', '武定县', '532300', 3028),
+('532500', '红河哈尼族彝族自治州', '530000', 3029),
+('532501', '个旧市', '532500', 3030),
+('532502', '开远市', '532500', 3031),
+('532503', '蒙自市', '532500', 3032),
+('532504', '弥勒市', '532500', 3033),
+('532523', '屏边苗族自治县', '532500', 3034),
+('532524', '建水县', '532500', 3035),
+('532525', '石屏县', '532500', 3036),
+('532527', '泸西县', '532500', 3037),
+('532528', '元阳县', '532500', 3038),
+('532529', '红河县', '532500', 3039),
+('532530', '金平苗族瑶族傣族自治县', '532500', 3040),
+('532531', '绿春县', '532500', 3041),
+('532532', '河口瑶族自治县', '532500', 3042),
+('532600', '文山壮族苗族自治州', '530000', 3043),
+('532601', '文山市', '532600', 3044),
+('532622', '砚山县', '532600', 3045),
+('532623', '西畴县', '532600', 3046),
+('532624', '麻栗坡县', '532600', 3047),
+('532625', '马关县', '532600', 3048),
+('532626', '丘北县', '532600', 3049),
+('532627', '广南县', '532600', 3050),
+('532628', '富宁县', '532600', 3051),
+('532800', '西双版纳傣族自治州', '530000', 3052),
+('532801', '景洪市', '532800', 3053),
+('532822', '勐海县', '532800', 3054),
+('532823', '勐腊县', '532800', 3055),
+('532900', '大理白族自治州', '530000', 3056),
+('532901', '大理市', '532900', 3057),
+('532922', '漾濞彝族自治县', '532900', 3058),
+('532923', '祥云县', '532900', 3059),
+('532924', '宾川县', '532900', 3060),
+('532925', '弥渡县', '532900', 3061),
+('532926', '南涧彝族自治县', '532900', 3062),
+('532927', '巍山彝族回族自治县', '532900', 3063),
+('532928', '永平县', '532900', 3064),
+('532929', '云龙县', '532900', 3065),
+('532930', '洱源县', '532900', 3066),
+('532931', '剑川县', '532900', 3067),
+('532932', '鹤庆县', '532900', 3068),
+('533100', '德宏傣族景颇族自治州', '530000', 3069),
+('533102', '瑞丽市', '533100', 3070),
+('533103', '芒市', '533100', 3071),
+('533122', '梁河县', '533100', 3072),
+('533123', '盈江县', '533100', 3073),
+('533124', '陇川县', '533100', 3074),
+('533300', '怒江傈僳族自治州', '530000', 3075),
+('533301', '泸水市', '533300', 3076),
+('533323', '福贡县', '533300', 3077),
+('533324', '贡山独龙族怒族自治县', '533300', 3078),
+('533325', '兰坪白族普米族自治县', '533300', 3079),
+('533400', '迪庆藏族自治州', '530000', 3080),
+('533401', '香格里拉市', '533400', 3081),
+('533422', '德钦县', '533400', 3082),
+('533423', '维西傈僳族自治县', '533400', 3083),
+('540000', '西藏自治区', NULL, 3084),
+('540100', '拉萨市', '540000', 3085),
+('540101', '市辖区', '540100', 3086),
+('540102', '城关区', '540100', 3087),
+('540103', '堆龙德庆区', '540100', 3088),
+('540104', '达孜区', '540100', 3089),
+('540121', '林周县', '540100', 3090),
+('540122', '当雄县', '540100', 3091),
+('540123', '尼木县', '540100', 3092),
+('540124', '曲水县', '540100', 3093),
+('540127', '墨竹工卡县', '540100', 3094),
+('540171', '格尔木藏青工业园区', '540100', 3095),
+('540172', '拉萨经济技术开发区', '540100', 3096),
+('540173', '西藏文化旅游创意园区', '540100', 3097),
+('540174', '达孜工业园区', '540100', 3098),
+('540200', '日喀则市', '540000', 3099),
+('540202', '桑珠孜区', '540200', 3100),
+('540221', '南木林县', '540200', 3101),
+('540222', '江孜县', '540200', 3102),
+('540223', '定日县', '540200', 3103),
+('540224', '萨迦县', '540200', 3104),
+('540225', '拉孜县', '540200', 3105),
+('540226', '昂仁县', '540200', 3106),
+('540227', '谢通门县', '540200', 3107),
+('540228', '白朗县', '540200', 3108),
+('540229', '仁布县', '540200', 3109),
+('540230', '康马县', '540200', 3110),
+('540231', '定结县', '540200', 3111),
+('540232', '仲巴县', '540200', 3112),
+('540233', '亚东县', '540200', 3113),
+('540234', '吉隆县', '540200', 3114),
+('540235', '聂拉木县', '540200', 3115),
+('540236', '萨嘎县', '540200', 3116),
+('540237', '岗巴县', '540200', 3117),
+('540300', '昌都市', '540000', 3118),
+('540302', '卡若区', '540300', 3119),
+('540321', '江达县', '540300', 3120),
+('540322', '贡觉县', '540300', 3121),
+('540323', '类乌齐县', '540300', 3122),
+('540324', '丁青县', '540300', 3123),
+('540325', '察雅县', '540300', 3124),
+('540326', '八宿县', '540300', 3125),
+('540327', '左贡县', '540300', 3126),
+('540328', '芒康县', '540300', 3127),
+('540329', '洛隆县', '540300', 3128),
+('540330', '边坝县', '540300', 3129),
+('540400', '林芝市', '540000', 3130),
+('540402', '巴宜区', '540400', 3131),
+('540421', '工布江达县', '540400', 3132),
+('540423', '墨脱县', '540400', 3133),
+('540424', '波密县', '540400', 3134),
+('540425', '察隅县', '540400', 3135),
+('540426', '朗县', '540400', 3136),
+('540481', '米林市', '540400', 3137),
+('540500', '山南市', '540000', 3138),
+('540501', '市辖区', '540500', 3139),
+('540502', '乃东区', '540500', 3140),
+('540521', '扎囊县', '540500', 3141),
+('540522', '贡嘎县', '540500', 3142),
+('540523', '桑日县', '540500', 3143),
+('540524', '琼结县', '540500', 3144),
+('540525', '曲松县', '540500', 3145),
+('540526', '措美县', '540500', 3146),
+('540527', '洛扎县', '540500', 3147),
+('540528', '加查县', '540500', 3148),
+('540529', '隆子县', '540500', 3149),
+('540531', '浪卡子县', '540500', 3150),
+('540581', '错那市', '540500', 3151),
+('540600', '那曲市', '540000', 3152),
+('540602', '色尼区', '540600', 3153),
+('540621', '嘉黎县', '540600', 3154),
+('540622', '比如县', '540600', 3155),
+('540623', '聂荣县', '540600', 3156),
+('540624', '安多县', '540600', 3157),
+('540625', '申扎县', '540600', 3158),
+('540626', '索县', '540600', 3159),
+('540627', '班戈县', '540600', 3160),
+('540628', '巴青县', '540600', 3161),
+('540629', '尼玛县', '540600', 3162),
+('540630', '双湖县', '540600', 3163),
+('542500', '阿里地区', '540000', 3164),
+('542521', '普兰县', '542500', 3165),
+('542522', '札达县', '542500', 3166),
+('542523', '噶尔县', '542500', 3167),
+('542524', '日土县', '542500', 3168),
+('542525', '革吉县', '542500', 3169),
+('542526', '改则县', '542500', 3170),
+('542527', '措勤县', '542500', 3171),
+('610000', '陕西省', NULL, 3172),
+('610100', '西安市', '610000', 3173),
+('610101', '市辖区', '610100', 3174),
+('610102', '新城区', '610100', 3175),
+('610103', '碑林区', '610100', 3176),
+('610104', '莲湖区', '610100', 3177),
+('610111', '灞桥区', '610100', 3178),
+('610112', '未央区', '610100', 3179),
+('610113', '雁塔区', '610100', 3180),
+('610114', '阎良区', '610100', 3181),
+('610115', '临潼区', '610100', 3182),
+('610116', '长安区', '610100', 3183),
+('610117', '高陵区', '610100', 3184),
+('610118', '鄠邑区', '610100', 3185),
+('610122', '蓝田县', '610100', 3186),
+('610124', '周至县', '610100', 3187),
+('610200', '铜川市', '610000', 3188),
+('610201', '市辖区', '610200', 3189),
+('610202', '王益区', '610200', 3190),
+('610203', '印台区', '610200', 3191),
+('610204', '耀州区', '610200', 3192),
+('610222', '宜君县', '610200', 3193),
+('610300', '宝鸡市', '610000', 3194),
+('610301', '市辖区', '610300', 3195),
+('610302', '渭滨区', '610300', 3196),
+('610303', '金台区', '610300', 3197),
+('610304', '陈仓区', '610300', 3198),
+('610305', '凤翔区', '610300', 3199),
+('610323', '岐山县', '610300', 3200),
+('610324', '扶风县', '610300', 3201),
+('610326', '眉县', '610300', 3202),
+('610327', '陇县', '610300', 3203),
+('610328', '千阳县', '610300', 3204),
+('610329', '麟游县', '610300', 3205),
+('610330', '凤县', '610300', 3206),
+('610331', '太白县', '610300', 3207),
+('610400', '咸阳市', '610000', 3208),
+('610401', '市辖区', '610400', 3209),
+('610402', '秦都区', '610400', 3210),
+('610403', '杨陵区', '610400', 3211),
+('610404', '渭城区', '610400', 3212),
+('610422', '三原县', '610400', 3213),
+('610423', '泾阳县', '610400', 3214),
+('610424', '乾县', '610400', 3215),
+('610425', '礼泉县', '610400', 3216),
+('610426', '永寿县', '610400', 3217),
+('610428', '长武县', '610400', 3218),
+('610429', '旬邑县', '610400', 3219),
+('610430', '淳化县', '610400', 3220),
+('610431', '武功县', '610400', 3221),
+('610481', '兴平市', '610400', 3222),
+('610482', '彬州市', '610400', 3223),
+('610500', '渭南市', '610000', 3224),
+('610501', '市辖区', '610500', 3225),
+('610502', '临渭区', '610500', 3226),
+('610503', '华州区', '610500', 3227),
+('610522', '潼关县', '610500', 3228),
+('610523', '大荔县', '610500', 3229),
+('610524', '合阳县', '610500', 3230),
+('610525', '澄城县', '610500', 3231),
+('610526', '蒲城县', '610500', 3232),
+('610527', '白水县', '610500', 3233),
+('610528', '富平县', '610500', 3234),
+('610581', '韩城市', '610500', 3235),
+('610582', '华阴市', '610500', 3236),
+('610600', '延安市', '610000', 3237),
+('610601', '市辖区', '610600', 3238),
+('610602', '宝塔区', '610600', 3239),
+('610603', '安塞区', '610600', 3240),
+('610621', '延长县', '610600', 3241),
+('610622', '延川县', '610600', 3242),
+('610625', '志丹县', '610600', 3243),
+('610626', '吴起县', '610600', 3244),
+('610627', '甘泉县', '610600', 3245),
+('610628', '富县', '610600', 3246),
+('610629', '洛川县', '610600', 3247),
+('610630', '宜川县', '610600', 3248),
+('610631', '黄龙县', '610600', 3249),
+('610632', '黄陵县', '610600', 3250),
+('610681', '子长市', '610600', 3251),
+('610700', '汉中市', '610000', 3252),
+('610701', '市辖区', '610700', 3253),
+('610702', '汉台区', '610700', 3254),
+('610703', '南郑区', '610700', 3255),
+('610722', '城固县', '610700', 3256),
+('610723', '洋县', '610700', 3257),
+('610724', '西乡县', '610700', 3258),
+('610725', '勉县', '610700', 3259),
+('610726', '宁强县', '610700', 3260),
+('610727', '略阳县', '610700', 3261),
+('610728', '镇巴县', '610700', 3262),
+('610729', '留坝县', '610700', 3263),
+('610730', '佛坪县', '610700', 3264),
+('610800', '榆林市', '610000', 3265),
+('610801', '市辖区', '610800', 3266),
+('610802', '榆阳区', '610800', 3267),
+('610803', '横山区', '610800', 3268),
+('610822', '府谷县', '610800', 3269),
+('610824', '靖边县', '610800', 3270),
+('610825', '定边县', '610800', 3271),
+('610826', '绥德县', '610800', 3272),
+('610827', '米脂县', '610800', 3273),
+('610828', '佳县', '610800', 3274),
+('610829', '吴堡县', '610800', 3275),
+('610830', '清涧县', '610800', 3276),
+('610831', '子洲县', '610800', 3277),
+('610881', '神木市', '610800', 3278),
+('610900', '安康市', '610000', 3279),
+('610901', '市辖区', '610900', 3280),
+('610902', '汉滨区', '610900', 3281),
+('610921', '汉阴县', '610900', 3282),
+('610922', '石泉县', '610900', 3283),
+('610923', '宁陕县', '610900', 3284),
+('610924', '紫阳县', '610900', 3285),
+('610925', '岚皋县', '610900', 3286),
+('610926', '平利县', '610900', 3287),
+('610927', '镇坪县', '610900', 3288),
+('610929', '白河县', '610900', 3289),
+('610981', '旬阳市', '610900', 3290),
+('611000', '商洛市', '610000', 3291),
+('611001', '市辖区', '611000', 3292),
+('611002', '商州区', '611000', 3293),
+('611021', '洛南县', '611000', 3294),
+('611022', '丹凤县', '611000', 3295),
+('611023', '商南县', '611000', 3296),
+('611024', '山阳县', '611000', 3297),
+('611025', '镇安县', '611000', 3298),
+('611026', '柞水县', '611000', 3299),
+('620000', '甘肃省', NULL, 3300),
+('620100', '兰州市', '620000', 3301),
+('620101', '市辖区', '620100', 3302),
+('620102', '城关区', '620100', 3303),
+('620103', '七里河区', '620100', 3304),
+('620104', '西固区', '620100', 3305),
+('620105', '安宁区', '620100', 3306),
+('620111', '红古区', '620100', 3307),
+('620121', '永登县', '620100', 3308),
+('620122', '皋兰县', '620100', 3309),
+('620123', '榆中县', '620100', 3310),
+('620171', '兰州新区', '620100', 3311),
+('620200', '嘉峪关市', '620000', 3312),
+('620201', '市辖区', '620200', 3313),
+('620300', '金昌市', '620000', 3314),
+('620301', '市辖区', '620300', 3315),
+('620302', '金川区', '620300', 3316),
+('620321', '永昌县', '620300', 3317),
+('620400', '白银市', '620000', 3318),
+('620401', '市辖区', '620400', 3319),
+('620402', '白银区', '620400', 3320),
+('620403', '平川区', '620400', 3321),
+('620421', '靖远县', '620400', 3322),
+('620422', '会宁县', '620400', 3323),
+('620423', '景泰县', '620400', 3324),
+('620500', '天水市', '620000', 3325),
+('620501', '市辖区', '620500', 3326),
+('620502', '秦州区', '620500', 3327),
+('620503', '麦积区', '620500', 3328),
+('620521', '清水县', '620500', 3329),
+('620522', '秦安县', '620500', 3330),
+('620523', '甘谷县', '620500', 3331),
+('620524', '武山县', '620500', 3332),
+('620525', '张家川回族自治县', '620500', 3333),
+('620600', '武威市', '620000', 3334),
+('620601', '市辖区', '620600', 3335),
+('620602', '凉州区', '620600', 3336),
+('620621', '民勤县', '620600', 3337),
+('620622', '古浪县', '620600', 3338),
+('620623', '天祝藏族自治县', '620600', 3339),
+('620700', '张掖市', '620000', 3340),
+('620701', '市辖区', '620700', 3341),
+('620702', '甘州区', '620700', 3342),
+('620721', '肃南裕固族自治县', '620700', 3343),
+('620722', '民乐县', '620700', 3344),
+('620723', '临泽县', '620700', 3345),
+('620724', '高台县', '620700', 3346),
+('620725', '山丹县', '620700', 3347),
+('620800', '平凉市', '620000', 3348),
+('620801', '市辖区', '620800', 3349),
+('620802', '崆峒区', '620800', 3350),
+('620821', '泾川县', '620800', 3351),
+('620822', '灵台县', '620800', 3352),
+('620823', '崇信县', '620800', 3353),
+('620825', '庄浪县', '620800', 3354),
+('620826', '静宁县', '620800', 3355),
+('620881', '华亭市', '620800', 3356),
+('620900', '酒泉市', '620000', 3357),
+('620901', '市辖区', '620900', 3358),
+('620902', '肃州区', '620900', 3359),
+('620921', '金塔县', '620900', 3360),
+('620922', '瓜州县', '620900', 3361),
+('620923', '肃北蒙古族自治县', '620900', 3362),
+('620924', '阿克塞哈萨克族自治县', '620900', 3363),
+('620981', '玉门市', '620900', 3364),
+('620982', '敦煌市', '620900', 3365),
+('621000', '庆阳市', '620000', 3366),
+('621001', '市辖区', '621000', 3367),
+('621002', '西峰区', '621000', 3368),
+('621021', '庆城县', '621000', 3369),
+('621022', '环县', '621000', 3370),
+('621023', '华池县', '621000', 3371),
+('621024', '合水县', '621000', 3372),
+('621025', '正宁县', '621000', 3373),
+('621026', '宁县', '621000', 3374),
+('621027', '镇原县', '621000', 3375),
+('621100', '定西市', '620000', 3376),
+('621101', '市辖区', '621100', 3377),
+('621102', '安定区', '621100', 3378),
+('621121', '通渭县', '621100', 3379),
+('621122', '陇西县', '621100', 3380),
+('621123', '渭源县', '621100', 3381),
+('621124', '临洮县', '621100', 3382),
+('621125', '漳县', '621100', 3383),
+('621126', '岷县', '621100', 3384),
+('621200', '陇南市', '620000', 3385),
+('621201', '市辖区', '621200', 3386),
+('621202', '武都区', '621200', 3387),
+('621221', '成县', '621200', 3388),
+('621222', '文县', '621200', 3389),
+('621223', '宕昌县', '621200', 3390),
+('621224', '康县', '621200', 3391),
+('621225', '西和县', '621200', 3392),
+('621226', '礼县', '621200', 3393),
+('621227', '徽县', '621200', 3394),
+('621228', '两当县', '621200', 3395),
+('622900', '临夏回族自治州', '620000', 3396),
+('622901', '临夏市', '622900', 3397),
+('622921', '临夏县', '622900', 3398),
+('622922', '康乐县', '622900', 3399),
+('622923', '永靖县', '622900', 3400),
+('622924', '广河县', '622900', 3401),
+('622925', '和政县', '622900', 3402),
+('622926', '东乡族自治县', '622900', 3403),
+('622927', '积石山保安族东乡族撒拉族自治县', '622900', 3404),
+('623000', '甘南藏族自治州', '620000', 3405),
+('623001', '合作市', '623000', 3406),
+('623021', '临潭县', '623000', 3407),
+('623022', '卓尼县', '623000', 3408),
+('623023', '舟曲县', '623000', 3409),
+('623024', '迭部县', '623000', 3410),
+('623025', '玛曲县', '623000', 3411),
+('623026', '碌曲县', '623000', 3412),
+('623027', '夏河县', '623000', 3413),
+('630000', '青海省', NULL, 3414),
+('630100', '西宁市', '630000', 3415),
+('630101', '市辖区', '630100', 3416),
+('630102', '城东区', '630100', 3417),
+('630103', '城中区', '630100', 3418),
+('630104', '城西区', '630100', 3419),
+('630105', '城北区', '630100', 3420),
+('630106', '湟中区', '630100', 3421),
+('630121', '大通回族土族自治县', '630100', 3422),
+('630123', '湟源县', '630100', 3423),
+('630200', '海东市', '630000', 3424),
+('630202', '乐都区', '630200', 3425),
+('630203', '平安区', '630200', 3426),
+('630222', '民和回族土族自治县', '630200', 3427),
+('630223', '互助土族自治县', '630200', 3428),
+('630224', '化隆回族自治县', '630200', 3429),
+('630225', '循化撒拉族自治县', '630200', 3430),
+('632200', '海北藏族自治州', '630000', 3431),
+('632221', '门源回族自治县', '632200', 3432),
+('632222', '祁连县', '632200', 3433),
+('632223', '海晏县', '632200', 3434),
+('632224', '刚察县', '632200', 3435),
+('632300', '黄南藏族自治州', '630000', 3436),
+('632301', '同仁市', '632300', 3437),
+('632322', '尖扎县', '632300', 3438),
+('632323', '泽库县', '632300', 3439),
+('632324', '河南蒙古族自治县', '632300', 3440),
+('632500', '海南藏族自治州', '630000', 3441),
+('632521', '共和县', '632500', 3442),
+('632522', '同德县', '632500', 3443),
+('632523', '贵德县', '632500', 3444),
+('632524', '兴海县', '632500', 3445),
+('632525', '贵南县', '632500', 3446),
+('632600', '果洛藏族自治州', '630000', 3447),
+('632621', '玛沁县', '632600', 3448),
+('632622', '班玛县', '632600', 3449),
+('632623', '甘德县', '632600', 3450),
+('632624', '达日县', '632600', 3451),
+('632625', '久治县', '632600', 3452),
+('632626', '玛多县', '632600', 3453),
+('632700', '玉树藏族自治州', '630000', 3454),
+('632701', '玉树市', '632700', 3455),
+('632722', '杂多县', '632700', 3456),
+('632723', '称多县', '632700', 3457),
+('632724', '治多县', '632700', 3458),
+('632725', '囊谦县', '632700', 3459),
+('632726', '曲麻莱县', '632700', 3460),
+('632800', '海西蒙古族藏族自治州', '630000', 3461),
+('632801', '格尔木市', '632800', 3462),
+('632802', '德令哈市', '632800', 3463),
+('632803', '茫崖市', '632800', 3464),
+('632821', '乌兰县', '632800', 3465),
+('632822', '都兰县', '632800', 3466),
+('632823', '天峻县', '632800', 3467),
+('632857', '大柴旦行政委员会', '632800', 3468),
+('640000', '宁夏回族自治区', NULL, 3469),
+('640100', '银川市', '640000', 3470),
+('640101', '市辖区', '640100', 3471),
+('640104', '兴庆区', '640100', 3472),
+('640105', '西夏区', '640100', 3473),
+('640106', '金凤区', '640100', 3474),
+('640121', '永宁县', '640100', 3475),
+('640122', '贺兰县', '640100', 3476),
+('640181', '灵武市', '640100', 3477),
+('640200', '石嘴山市', '640000', 3478),
+('640201', '市辖区', '640200', 3479),
+('640202', '大武口区', '640200', 3480),
+('640205', '惠农区', '640200', 3481),
+('640221', '平罗县', '640200', 3482),
+('640300', '吴忠市', '640000', 3483),
+('640301', '市辖区', '640300', 3484),
+('640302', '利通区', '640300', 3485),
+('640303', '红寺堡区', '640300', 3486),
+('640323', '盐池县', '640300', 3487),
+('640324', '同心县', '640300', 3488),
+('640381', '青铜峡市', '640300', 3489),
+('640400', '固原市', '640000', 3490),
+('640401', '市辖区', '640400', 3491),
+('640402', '原州区', '640400', 3492),
+('640422', '西吉县', '640400', 3493),
+('640423', '隆德县', '640400', 3494),
+('640424', '泾源县', '640400', 3495),
+('640425', '彭阳县', '640400', 3496),
+('640500', '中卫市', '640000', 3497),
+('640501', '市辖区', '640500', 3498),
+('640502', '沙坡头区', '640500', 3499),
+('640521', '中宁县', '640500', 3500),
+('640522', '海原县', '640500', 3501),
+('650000', '新疆维吾尔自治区', NULL, 3502),
+('650100', '乌鲁木齐市', '650000', 3503),
+('650101', '市辖区', '650100', 3504),
+('650102', '天山区', '650100', 3505),
+('650103', '沙依巴克区', '650100', 3506),
+('650104', '新市区', '650100', 3507),
+('650105', '水磨沟区', '650100', 3508),
+('650106', '头屯河区', '650100', 3509),
+('650107', '达坂城区', '650100', 3510),
+('650109', '米东区', '650100', 3511),
+('650121', '乌鲁木齐县', '650100', 3512),
+('650200', '克拉玛依市', '650000', 3513),
+('650201', '市辖区', '650200', 3514),
+('650202', '独山子区', '650200', 3515),
+('650203', '克拉玛依区', '650200', 3516),
+('650204', '白碱滩区', '650200', 3517),
+('650205', '乌尔禾区', '650200', 3518),
+('650400', '吐鲁番市', '650000', 3519),
+('650402', '高昌区', '650400', 3520),
+('650421', '鄯善县', '650400', 3521),
+('650422', '托克逊县', '650400', 3522),
+('650500', '哈密市', '650000', 3523),
+('650502', '伊州区', '650500', 3524),
+('650521', '巴里坤哈萨克自治县', '650500', 3525),
+('650522', '伊吾县', '650500', 3526),
+('652300', '昌吉回族自治州', '650000', 3527),
+('652301', '昌吉市', '652300', 3528),
+('652302', '阜康市', '652300', 3529),
+('652323', '呼图壁县', '652300', 3530),
+('652324', '玛纳斯县', '652300', 3531),
+('652325', '奇台县', '652300', 3532),
+('652327', '吉木萨尔县', '652300', 3533),
+('652328', '木垒哈萨克自治县', '652300', 3534),
+('652700', '博尔塔拉蒙古自治州', '650000', 3535),
+('652701', '博乐市', '652700', 3536),
+('652702', '阿拉山口市', '652700', 3537),
+('652722', '精河县', '652700', 3538),
+('652723', '温泉县', '652700', 3539),
+('652800', '巴音郭楞蒙古自治州', '650000', 3540),
+('652801', '库尔勒市', '652800', 3541),
+('652822', '轮台县', '652800', 3542),
+('652823', '尉犁县', '652800', 3543),
+('652824', '若羌县', '652800', 3544),
+('652825', '且末县', '652800', 3545),
+('652826', '焉耆回族自治县', '652800', 3546),
+('652827', '和静县', '652800', 3547),
+('652828', '和硕县', '652800', 3548),
+('652829', '博湖县', '652800', 3549),
+('652900', '阿克苏地区', '650000', 3550),
+('652901', '阿克苏市', '652900', 3551),
+('652902', '库车市', '652900', 3552),
+('652922', '温宿县', '652900', 3553),
+('652924', '沙雅县', '652900', 3554),
+('652925', '新和县', '652900', 3555),
+('652926', '拜城县', '652900', 3556),
+('652927', '乌什县', '652900', 3557),
+('652928', '阿瓦提县', '652900', 3558),
+('652929', '柯坪县', '652900', 3559),
+('653000', '克孜勒苏柯尔克孜自治州', '650000', 3560),
+('653001', '阿图什市', '653000', 3561),
+('653022', '阿克陶县', '653000', 3562),
+('653023', '阿合奇县', '653000', 3563),
+('653024', '乌恰县', '653000', 3564),
+('653100', '喀什地区', '650000', 3565),
+('653101', '喀什市', '653100', 3566),
+('653121', '疏附县', '653100', 3567),
+('653122', '疏勒县', '653100', 3568),
+('653123', '英吉沙县', '653100', 3569),
+('653124', '泽普县', '653100', 3570),
+('653125', '莎车县', '653100', 3571),
+('653126', '叶城县', '653100', 3572),
+('653127', '麦盖提县', '653100', 3573),
+('653128', '岳普湖县', '653100', 3574),
+('653129', '伽师县', '653100', 3575),
+('653130', '巴楚县', '653100', 3576),
+('653131', '塔什库尔干塔吉克自治县', '653100', 3577),
+('653200', '和田地区', '650000', 3578),
+('653201', '和田市', '653200', 3579),
+('653221', '和田县', '653200', 3580),
+('653222', '墨玉县', '653200', 3581),
+('653223', '皮山县', '653200', 3582),
+('653224', '洛浦县', '653200', 3583),
+('653225', '策勒县', '653200', 3584),
+('653226', '于田县', '653200', 3585),
+('653227', '民丰县', '653200', 3586),
+('653228', '和安县', '653200', 3587),
+('653229', '和康县', '653200', 3588),
+('654000', '伊犁哈萨克自治州', '650000', 3589),
+('654002', '伊宁市', '654000', 3590),
+('654003', '奎屯市', '654000', 3591),
+('654004', '霍尔果斯市', '654000', 3592),
+('654021', '伊宁县', '654000', 3593),
+('654022', '察布查尔锡伯自治县', '654000', 3594),
+('654023', '霍城县', '654000', 3595),
+('654024', '巩留县', '654000', 3596),
+('654025', '新源县', '654000', 3597),
+('654026', '昭苏县', '654000', 3598),
+('654027', '特克斯县', '654000', 3599),
+('654028', '尼勒克县', '654000', 3600),
+('654200', '塔城地区', '650000', 3601),
+('654201', '塔城市', '654200', 3602),
+('654202', '乌苏市', '654200', 3603),
+('654203', '沙湾市', '654200', 3604),
+('654221', '额敏县', '654200', 3605),
+('654224', '托里县', '654200', 3606),
+('654225', '裕民县', '654200', 3607),
+('654226', '和布克赛尔蒙古自治县', '654200', 3608),
+('654300', '阿勒泰地区', '650000', 3609),
+('654301', '阿勒泰市', '654300', 3610),
+('654321', '布尔津县', '654300', 3611),
+('654322', '富蕴县', '654300', 3612),
+('654323', '福海县', '654300', 3613),
+('654324', '哈巴河县', '654300', 3614),
+('654325', '青河县', '654300', 3615),
+('654326', '吉木乃县', '654300', 3616),
+('659000', '自治区直辖县级行政区划', '650000', 3617),
+('659001', '石河子市', '659000', 3618),
+('659002', '阿拉尔市', '659000', 3619),
+('659003', '图木舒克市', '659000', 3620),
+('659004', '五家渠市', '659000', 3621),
+('659005', '北屯市', '659000', 3622),
+('659006', '铁门关市', '659000', 3623),
+('659007', '双河市', '659000', 3624),
+('659008', '可克达拉市', '659000', 3625),
+('659009', '昆玉市', '659000', 3626),
+('659010', '胡杨河市', '659000', 3627),
+('659011', '新星市', '659000', 3628),
+('659012', '白杨市', '659000', 3629),
+('710000', '台湾省', NULL, 3630),
+('810000', '香港特别行政区', NULL, 3631),
+('820000', '澳门特别行政区', NULL, 3632);
+
+-- 3) 招标行业分类(24 条)
+DELETE FROM `date_dict_industry`;
+INSERT INTO `date_dict_industry` (`code`, `name`, `parent_code`, `sort_order`) VALUES
+('1', '工程建筑', NULL, 1),
+('2', '办公文教', NULL, 2),
+('3', '医疗卫生', NULL, 3),
+('4', '服务采购', NULL, 4),
+('5', '机械设备', NULL, 5),
+('6', '水利水电', NULL, 6),
+('7', '能源化工', NULL, 7),
+('8', '弱电安防', NULL, 8),
+('9', '信息技术', NULL, 9),
+('10', '交通运输', NULL, 10),
+('11', '市政基建', NULL, 11),
+('12', '农林牧渔', NULL, 12),
+('13', '政府部门', NULL, 13),
+('14', '日用百货', NULL, 14),
+('16', '材料配件', NULL, 15),
+('17', '通讯电子', NULL, 16),
+('18', '仪器仪表', NULL, 17),
+('19', '环保绿化', NULL, 18),
+('20', '服装布料', NULL, 19),
+('21', '制造生产', NULL, 20),
+('22', '家居建材', NULL, 21),
+('23', '食品饮品', NULL, 22),
+('24', '债券发行', NULL, 23),
+('15', '其他', NULL, 24);
+
+-- 4) 证书类型枚举(263 条)
+DELETE FROM `date_dict_certificate`;
+INSERT INTO `date_dict_certificate` (`code`, `name`, `sort_order`) VALUES
+('000001', '强制性产品认证', 1),
+('000002001', '质量管理体系认证', 2),
+('000002002', '环境管理体系认证', 3),
+('000002003', '职业健康安全管理体系认证', 4),
+('000002004', '食品安全管理体系认证', 5),
+('000002005', '信息安全管理体系认证', 6),
+('000002006', '信息技术服务管理体系认证', 7),
+('000002007', '测量管理体系', 8),
+('000002008', '能源管理体系认证', 9),
+('000002009', '知识产权管理体系认证', 10),
+('000002010', '其它管理体系认证', 11),
+('000003', '服务认证', 12),
+('000004', '自愿性产品认证', 13),
+('000005', '食品农产品认证', 14),
+('000006', '强制性产品认证自我声明', 15),
+('001', '电信业务经营许可证', 16),
+('003', '检验检测机构资质认定证书', 17),
+('004001', '工程设计资质证书', 18),
+('004002', '工程勘察资质证书', 19),
+('004003', '工程设计与施工资质证书', 20),
+('004004', '建筑业企业资质证书', 21),
+('004005', '工程监理资质证书', 22),
+('004006', '工程招标代理机构资质证书', 23),
+('004007', '工程造价咨询企业资质证书', 24),
+('004008', '建设工程质量检测机构资质证书', 25),
+('004009', '进省备案登记凭证', 26),
+('006001', '水利安全生产标准化证书', 27),
+('007', '房地产开发企业资质证书', 28),
+('008001', '承装(修、试)电力设施许可证', 29),
+('008002', '电力业务许可证', 30),
+('009', '房地产估价机构资质证书', 31),
+('010', '地质灾害防治单位资质证书', 32),
+('011', '安全生产许可证', 33),
+('012001001', '医疗器械生产许可证', 34),
+('012001002', '医疗器械生产备案凭证', 35),
+('012002001', '医疗器械经营许可证', 36),
+('012002002', '医疗器械经营备案凭证', 37),
+('012003001', '医疗器械注册证', 38),
+('012003002', '医疗器械备案凭证', 39),
+('013001', '药品生产许可证', 40),
+('013002', '药品经营许可证', 41),
+('013003', '药品GMP证书', 42),
+('013004', '药品GSP证书', 43),
+('013005', '药物临床试验机构资格认定证书', 44),
+('013006', '药包材注册证', 45),
+('013007', '中药保护品种证书', 46),
+('013008', '药品注册证书', 47),
+('013009', '互联网药品信息服务资格证书', 48),
+('013010', '生产药品备案凭证', 49),
+('013011', '中药提取物使用备案凭证', 50),
+('013012', '药品出口销售证明', 51),
+('014001', '化妆品生产许可证', 52),
+('014002', '化妆品注册和备案检验检测机构', 53),
+('014003001', '特殊化妆品注册证', 54),
+('014003002', '普通化妆品备案凭证', 55),
+('014003003', '进口化妆品', 56),
+('015001001', '特种设备设计许可证', 57),
+('015001002', '特种设备制造许可证', 58),
+('015001003', '特种设备安装、改造、修理许可证', 59),
+('015001004', '安全附件、保护装置制造许可证', 60),
+('015002001', '气瓶充装许可', 61),
+('015002002', '移动式压力容器充装许可', 62),
+('015003', '特种设备检验检测机构核准证', 63),
+('016', 'CS证书', 64),
+('017', 'ITSS证书', 65),
+('018', 'CMMI证书', 66),
+('019001', '软件企业证书', 67),
+('019002', '软件产品证书', 68),
+('019003', '国家鼓励的软件企业证书', 69),
+('020', '金融许可证', 70),
+('021', '保险许可证', 71),
+('022', '保险中介许可证', 72),
+('023001', '食品生产许可证', 73),
+('023002', '食品经营许可证', 74),
+('023003', '食品经营备案凭证', 75),
+('023004', '出口食品生产备案凭证', 76),
+('024', '工业产品生产许可证', 77),
+('025001', '无线电发射设备型号核准证', 78),
+('025002', '未取得型号核准的无线电发射设备进关核准', 79),
+('026001', '办学许可证', 80),
+('027001', '排污许可证', 81),
+('027002', '排污登记凭证', 82),
+('028001', '采矿许可证', 83),
+('028002', '探矿许可证', 84),
+('029', '支付业务许可证', 85),
+('030', '集成企业资质认证证书', 86),
+('031', 'SPCA认证证书', 87),
+('032', '信息系统服务交付能力认证证书', 88),
+('034001', '电信设备进网许可证', 89),
+('035001', '农药生产批准证书', 90),
+('900', 'CCC工厂认证', 91),
+('901', '卫生许可证', 92),
+('902', '对外承包工程资格证书', 93),
+('903', '物业服务企业资质证书', 94),
+('904', '电信网码号使用许可', 95),
+('905', '通信建设企业资质证书', 96),
+('906', '开采黄金矿产批准书', 97),
+('077', '电视剧制作许可证', 98),
+('035003', '农药登记试验单位证书', 99),
+('088001', '施工劳务资质', 100),
+('075001', '饲料和饲料添加剂生产许可证', 101),
+('043001', '安全评价机构资质证书', 102),
+('044', 'DCMM证书', 103),
+('046002', '中国民用航空局维修许可证', 104),
+('012005', '医疗器械产品出口销售证明', 105),
+('048001', '农作物种子生产经营许可证', 106),
+('035002', '农药登记证', 107),
+('050003', '兽药GMP证书', 108),
+('073001', '区块链信息服务备案', 109),
+('042001', '工程咨询单位备案', 110),
+('012004', '医疗器械网络交易服务第三方平台备案凭证', 111),
+('056001', '营业性演出许可证', 112),
+('004010', '建设工程规划许可证', 113),
+('023009', '特殊医学用途配方食品注册证书', 114),
+('074002', '接收卫星传送的境外电视节目许可证', 115),
+('078002', '烟花爆竹经营(零售)许可证', 116),
+('093001', '燃气经营许可证', 117),
+('083001', '人力资源服务许可证', 118),
+('056004', '艺术品经营单位备案证明', 119),
+('013013', '医疗机构制剂许可证', 120),
+('023005', '特殊食品验证评价技术机构备案', 121),
+('092003', '获认可实验室', 122),
+('057003', '危险化学品安全使用许可证', 123),
+('056', '文化市场经营单位', 124),
+('047001', '快递业务经营许可证', 125),
+('064003', '电影发行经营许可证', 126),
+('055', '招投标类综合资质', 127),
+('066001', '音像制品出版许可证', 128),
+('014004', '化妆品新原料备案凭证', 129),
+('092004', '获认可检验机构', 130),
+('079001', '非药品类易制毒化学品经营许可证', 131),
+('061001', '国产电视动画片发行许可证', 132),
+('087001', '个人征信业务经营许可证', 133),
+('082001', '民用航空空中交通通信导航监视设备使用许可证', 134),
+('079002', '非药品类易制毒化学品经营备案证明', 135),
+('067001', '图书出版许可证', 136),
+('076001', '生猪屠宰生产许可证', 137),
+('056002', '网络文化经营许可证', 138),
+('053', '公路养护作业单位资质证书', 139),
+('023006', '保健食品注册证书', 140),
+('012006', '定制式医疗器械备案', 141),
+('036', '电子认证服务许可证', 142),
+('064001', '电影剧本(梗概)备案回执', 143),
+('051001', '烟草专卖零售许可证', 144),
+('056003', '娱乐经营许可证', 145),
+('071001', '劳务派遣经营许可证', 146),
+('092002', '获认可审定与核查机构', 147),
+('041001', '会计师事务所执业证书', 148),
+('080002', '民用爆炸物品销售许可证', 149),
+('091001', '保险公估机构备案', 150),
+('094001', '电力需求侧管理服务机构能力评定证书', 151),
+('050002', '兽药经营许可证', 152),
+('046001', '民用航空维修培训机构合格证', 153),
+('084001', '外劳务合作经营资格证书', 154),
+('056005', '营业性演出备案证明', 155),
+('064002', '电影片公映许可证', 156),
+('085001', '互联网新闻信息服务许可证', 157),
+('072001', '网上传播视听节目许可证', 158),
+('058001', '涉外调查许可证', 159),
+('079004', '非药品类易制毒化学品生产许可证', 160),
+('068001', '广播电视节目制作经营许可证', 161),
+('013014', '药物临床试验机构备案', 162),
+('012007', '医疗器械临床试验机构备案', 163),
+('057001', '危险化学品经营许可证', 164),
+('089001', '道路运输经营许可证', 165),
+('069001', '辐射安全许可证', 166),
+('080001', '民用爆炸物品生产许可证', 167),
+('086001', '外国机构在中国境内投资设立企业提供金融信息服务许可证', 168),
+('092001', '获认可认证机构', 169),
+('050001', '兽药生产许可证', 170),
+('023008', '婴幼儿配方乳粉产品配方注册证书', 171),
+('090001', '计算机信息系统安全专用产品销售许可证', 172),
+('065001', '印刷经营许可证', 173),
+('043002', '安全生产检测检验机构资质证书', 174),
+('096001', '成品油零售经营批准证书', 175),
+('023007', '保健食品备案凭证', 176),
+('039001', '代理记账许可证书', 177),
+('045001', 'DOC证书', 178),
+('038001', '证券投资咨询业务资格证书', 179),
+('059001', '网络出版服务许可证', 180),
+('062001', '出版物经营许可证', 181),
+('078001', '烟花爆竹经营(批发)许可证', 182),
+('054', '公路工程监理资质证书', 183),
+('070', '危险废物经营许可证', 184),
+('057002', '危险化学品登记证', 185),
+('060001', '国产网络剧片发行许可证', 186),
+('037', '经营证券期货业务许可证', 187),
+('049001', '名特优新农产品证书', 188),
+('052', '测绘资质证书', 189),
+('063001', '国产电视剧发行许可证', 190),
+('095001', '医疗机构执业许可证', 191),
+('045002', 'SMC证书', 192),
+('040001', '旅行社业务经营许可证', 193),
+('097001', '中国信息安全服务资质', 194),
+('097002', '中国信息安全产品测评', 195),
+('034002', '域名注册服务机构', 196),
+('115008', '进口饲料和饲料添加剂企业', 197),
+('102001', 'CNCERT网络安全应急服务支撑单位', 198),
+('110001', '安防工程企业资质', 199),
+('117004', '民用核安全设备无损检验许可证', 200),
+('118002', '核设施运行许可证', 201),
+('035005', '农药经营许可证', 202),
+('034003', '互联网域名根服务器设置及其运行机构和注册管理机构', 203),
+('098001', '实验动物生产许可证', 204),
+('099001', '煤矿安全标志', 205),
+('115022', '进口粮食定点加工企业', 206),
+('115016', '供港冰鲜猪肉养殖场', 207),
+('112001', '城乡规划编制单位资质', 208),
+('109002', '展览陈列工程设计与施工一体化资质', 209),
+('116003', '放射性固体废物处置许可证', 210),
+('114001', '船用产品证书', 211),
+('047002', '快递末端网点备案', 212),
+('099002', '非煤安全标志', 213),
+('115006', '进口毛燕指定加工企业', 214),
+('115021', '进境动物遗传物质使用单位', 215),
+('087003', '法人信用评级机构备案', 216),
+('068005', '广播电视视频点播业务许可证', 217),
+('098002', '实验动物使用许可证', 218),
+('115031', '出入境检疫处理单位核准', 219),
+('115017', '食品进口商', 220),
+('115003', '进口食品境外出口商或者代理商', 221),
+('115011', '进境粮食指定存放企业', 222),
+('113001', '拍卖经营批准证书', 223),
+('115005', '供港澳蔬菜生产加工企业', 224),
+('115012', '出口食品原料种植场', 225),
+('115026', '出口畜禽类原料养殖场', 226),
+('115028', '出境特定动植物及其产品和其他检疫物的生产、加工、存放单位注册登记', 227),
+('105001', '废弃电器电子产品处理资格证书', 228),
+('115023', '进境植物繁殖材料隔离检疫圃', 229),
+('115007', '进境肠衣定点加工企业', 230),
+('115025', '出口水产品原料养殖场', 231),
+('115014', '出口禽蛋原料养殖场', 232),
+('115019', '出口饲料和饲料添加剂企业', 233),
+('115010', '进境非食用动物产品生产/加工/存放企业', 234),
+('115015', '供港冰鲜牛、羊肉养殖场', 235),
+('115020', '进境食用水生动物收货人', 236),
+('115004', '出口食品生产企业', 237),
+('115001', '报关企业', 238),
+('115030', '免税商店经营许可', 239),
+('111', '博物馆陈列展览设计施工资质', 240),
+('117001', '民用核安全设备设计许可证', 241),
+('108', '施工图审查机构', 242),
+('087002', '企业征信机构备案', 243),
+('109001', '展览工程企业资质', 244),
+('097003', '安全可靠测评', 245),
+('116001', '放射性固体废物贮存许可证', 246),
+('106', '文物保护工程资质', 247),
+('116002', '放射性固体废物处理许可证', 248),
+('115029', '经营海关监管作业场所企业注册登记', 249),
+('115002', '跨境电子商务企业', 250),
+('115018', '进口中药材指定存放、加工企业', 251),
+('118001', '核设施建造许可证', 252),
+('107', '消防技术服务机构资质', 253),
+('042002', '工程咨询资信单位资质', 254),
+('086002', '境外机构在中国境内提供金融信息服务许可证', 255),
+('097004', '中国信息安全系统评估', 256),
+('115027', '供港冰鲜、冷冻禽肉养殖场', 257),
+('117003', '民用核安全设备安装许可证', 258),
+('115013', '出口蜂产品原料养殖场', 259),
+('115024', '供港澳蔬菜种植基地', 260),
+('115009', '进境生物材料使用和存放单位', 261),
+('117002', '民用核安全设备制造许可证', 262),
+('-1', '其他', 263);
diff --git a/sql/migration_v1.0.16.sql b/sql/migration_v1.0.16.sql
new file mode 100644
index 0000000..84d0b1f
--- /dev/null
+++ b/sql/migration_v1.0.16.sql
@@ -0,0 +1,140 @@
+-- ============================================================
+-- SuperLink Web 后台管理系统 - v1.0.16 数据库结构变更脚本
+-- 对应需求文档《修改说明》:
+-- 1) 所有数据表时间字段调整为"年-月-日"(DATETIME -> DATE)
+-- 2) companies / persons 增加 source_channel、source_detail
+-- 3) social_accounts 增加 is_defult(1常用 / 0不常用备用)
+-- 4) 数据字典:certification_types 改名为 date_dict_certificate,
+-- 新增 date_dict_country / date_dict_area / date_dict_industry / source_channels
+-- 字典数据见:sql/dict_seed.sql(由官方 Excel 生成,需一并执行)
+-- 执行方式:先执行本文件,再执行 sql/dict_seed.sql。
+-- 提示:原库业务表(companies/persons/social_accounts 等)不在仓库中,
+-- 时间字段批量转换建议使用 tools/migrate_time_to_date.php 自动处理。
+-- ============================================================
+
+SET NAMES utf8mb4;
+
+-- ------------------------------------------------------------
+-- 1) 时间字段调整(DATETIME -> DATE)
+-- 以下为各业务表已知时间字段的手工 ALTER 示例(请按实际库结构核对列名):
+-- companies.created_at / updated_at / established_date
+-- persons.created_at / updated_at
+-- social_accounts.created_at
+-- company_needs.created_at
+-- company_documents.publish_date / created_at
+-- company_certifications.issue_date / expiry_date / created_at
+-- company_relations.established_date / created_at
+-- person_work_experiences.start_date / end_date / created_at
+-- company_products.created_at
+-- media_commercial_attributes.created_at
+-- channels.created_at / updated_at
+-- system_users.last_login_time / created_at / updated_at
+-- system_roles.created_at
+-- system_logs.created_at
+--
+-- 示例(MySQL 8.0.13+ 支持 DEFAULT (CURRENT_DATE);5.7 请去掉默认值改为 NULL 后由程序写入):
+-- ALTER TABLE companies MODIFY COLUMN created_at DATE NULL DEFAULT (CURRENT_DATE);
+-- ALTER TABLE companies MODIFY COLUMN updated_at DATE NULL DEFAULT (CURRENT_DATE);
+-- 批量转换推荐直接运行:php tools/migrate_time_to_date.php (自动遍历 information_schema)
+
+-- ------------------------------------------------------------
+-- 2) companies / persons 增加来源字段
+-- ------------------------------------------------------------
+ALTER TABLE `companies`
+ ADD COLUMN `source_channel` VARCHAR(50) NULL DEFAULT NULL COMMENT '来源渠道(字典:source_channels,如展会/SNS/竞价广告)' AFTER `website`,
+ ADD COLUMN `source_detail` VARCHAR(255) NULL DEFAULT NULL COMMENT '来源详情(如:华南工博会)' AFTER `source_channel`;
+
+ALTER TABLE `persons`
+ ADD COLUMN `source_channel` VARCHAR(50) NULL DEFAULT NULL COMMENT '来源渠道(字典:source_channels)' AFTER `work_location`,
+ ADD COLUMN `source_detail` VARCHAR(255) NULL DEFAULT NULL COMMENT '来源详情' AFTER `source_channel`;
+
+-- ------------------------------------------------------------
+-- 3) social_accounts 增加 is_defult(1常用 / 0不常用、备用)
+-- ------------------------------------------------------------
+ALTER TABLE `social_accounts`
+ ADD COLUMN `is_defult` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否常用:1常用,0不常用/备用' AFTER `is_primary`;
+
+-- ------------------------------------------------------------
+-- 4) 数据字典
+-- ------------------------------------------------------------
+-- 4.1 certification_types 改名为 date_dict_certificate(保留原数据,随后用 dict_seed.sql 覆盖为官方枚举)
+RENAME TABLE `certification_types` TO `date_dict_certificate`;
+ALTER TABLE `date_dict_certificate`
+ ADD COLUMN `code` VARCHAR(50) NULL DEFAULT NULL COMMENT '证书类型枚举编码' AFTER `id`;
+
+-- 4.2 国家地区编码字典
+DROP TABLE IF EXISTS `date_dict_country`;
+CREATE TABLE `date_dict_country` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '国家/地区编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '国家/地区中文名',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='国家地区编码字典';
+
+-- 4.3 行政区划编码字典(省/市/区县三级,parent_code 关联)
+DROP TABLE IF EXISTS `date_dict_area`;
+CREATE TABLE `date_dict_area` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '行政区划编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '行政区划名称',
+ `parent_code` VARCHAR(50) DEFAULT NULL COMMENT '上级行政区划编码(省级为NULL)',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_parent` (`parent_code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='行政区划编码字典';
+
+-- 4.4 招标行业分类字典(parent_code 预留大类/细分层级)
+DROP TABLE IF EXISTS `date_dict_industry`;
+CREATE TABLE `date_dict_industry` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '行业编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '行业名称',
+ `parent_code` VARCHAR(50) DEFAULT NULL COMMENT '上级行业编码(大类为NULL)',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_parent` (`parent_code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='招标行业分类字典';
+
+-- 4.5 证书类型枚举字典
+ALTER TABLE `date_dict_certificate`
+ MODIFY COLUMN `code` VARCHAR(50) NULL DEFAULT NULL COMMENT '证书类型枚举编码',
+ ADD UNIQUE KEY `uk_code` (`code`);
+
+-- 4.6 来源渠道字典(source_channel 枚举,参考 certification_types 结构)
+DROP TABLE IF EXISTS `source_channels`;
+CREATE TABLE `source_channels` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `name` VARCHAR(50) NOT NULL COMMENT '渠道名称',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='来源渠道字典';
+
+-- 来源渠道默认数据
+INSERT INTO `source_channels` (`name`, `sort_order`) VALUES
+('展会', 1), ('SNS/社交媒体', 2), ('竞价广告', 3), ('搜索引擎自然流量', 4),
+('行业媒体/门户', 5), ('转介绍', 6), ('电话销售', 7), ('邮件营销', 8),
+('地推', 9), ('代理商/渠道', 10), ('官网咨询', 11), ('其他', 99);
+
+-- ------------------------------------------------------------
+-- 字典数据(date_dict_country / date_dict_area / date_dict_industry / date_dict_certificate)
+-- 请执行:sql/dict_seed.sql
+-- ------------------------------------------------------------
+
+-- ============================================================
+-- 附:时间字段批量转换工具使用说明
+-- 在部署机上执行:php tools/migrate_time_to_date.php
+-- 该脚本会自动遍历 mysuperlink 库中所有 DATETIME/TIMESTAMP 字段并转换为 DATE,
+-- 即满足"所有数据表时间字段调整为年-月-日"的需求,无需手工逐个核对。
+-- ============================================================
diff --git a/sql/system_tables.sql b/sql/system_tables.sql
index 1363086..b5f3202 100644
--- a/sql/system_tables.sql
+++ b/sql/system_tables.sql
@@ -1,11 +1,15 @@
-- ============================================================
--- SuperLink Web 后台管理系统 - 新增系统表
+-- SuperLink Web 后台管理系统 - 系统表(含 v1.0.16 数据字典表)
-- 数据库:mysuperlink (utf8mb4 / utf8mb4_unicode_ci)
-- 说明:
-- 1) 原库已有14张业务表(companies/persons/social_accounts/company_needs 等),本文件不改动它们。
--- 2) 本文件新增文档要求的 3 张系统表:system_users / system_roles / system_logs(含默认数据)。
--- 3) 另新增 1 张业务表 channels(渠道管理模块需要,原14张表中没有渠道表),
--- 如不需要渠道模块可直接跳过该段。
+-- 2) 本文件定义系统表:system_users / system_roles / system_logs / channels,
+-- 以及 v1.0.16 新增的数据字典表:date_dict_country / date_dict_area /
+-- date_dict_industry / date_dict_certificate / source_channels。
+-- 3) 按需求文档:所有时间字段调整为"年-月-日"(DATE 类型,不保留时分秒)。
+-- 注意:DATE 默认值使用表达式 DEFAULT (CURRENT_DATE),需 MySQL 8.0.13+;
+-- 若为 MySQL 5.7,请将时间字段保留为 DATETIME 或由应用层写入日期。
+-- 4) 数据字典的完整数据由官方 Excel 生成,见 sql/dict_seed.sql(建表后执行)。
-- 执行方式:Navicat / phpMyAdmin / mysql 命令行执行本文件即可(可重复执行前请先删除旧表)。
-- ============================================================
@@ -22,10 +26,10 @@ CREATE TABLE `system_users` (
`real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名',
`role_id` INT UNSIGNED NOT NULL COMMENT '角色ID',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态(0禁用,1启用)',
- `last_login_time` DATETIME DEFAULT NULL COMMENT '最后登录时间',
+ `last_login_time` DATE DEFAULT NULL COMMENT '最后登录时间(年-月-日)',
`last_login_ip` VARCHAR(50) DEFAULT NULL COMMENT '最后登录IP',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ `created_at` DATE DEFAULT (CURRENT_DATE) COMMENT '创建时间(年-月-日)',
+ `updated_at` DATE DEFAULT (CURRENT_DATE) COMMENT '更新时间(年-月-日)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`),
KEY `idx_role_id` (`role_id`)
@@ -40,7 +44,7 @@ CREATE TABLE `system_roles` (
`role_name` VARCHAR(50) NOT NULL COMMENT '角色名称',
`permissions` JSON NOT NULL COMMENT '权限列表(菜单标识数组)',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `created_at` DATE DEFAULT (CURRENT_DATE) COMMENT '创建时间(年-月-日)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_role_name` (`role_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统角色表';
@@ -59,7 +63,7 @@ CREATE TABLE `system_logs` (
`target_id` INT UNSIGNED DEFAULT NULL COMMENT '操作对象记录ID',
`content` JSON DEFAULT NULL COMMENT '操作内容(变更前后数据)',
`ip` VARCHAR(50) DEFAULT NULL COMMENT '客户端IP',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
+ `created_at` DATE DEFAULT (CURRENT_DATE) COMMENT '操作时间(年-月-日)',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_action` (`action`),
@@ -97,9 +101,88 @@ CREATE TABLE `channels` (
`efficiency_score` DECIMAL(5,2) DEFAULT 0 COMMENT '效率评分(0-100)',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`is_active` TINYINT(1) UNSIGNED DEFAULT 1 COMMENT '启用状态',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ `created_at` DATE DEFAULT (CURRENT_DATE) COMMENT '创建时间(年-月-日)',
+ `updated_at` DATE DEFAULT (CURRENT_DATE) COMMENT '更新时间(年-月-日)',
PRIMARY KEY (`id`),
KEY `idx_channel_type` (`channel_type`),
KEY `idx_is_active` (`is_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='渠道管理表';
+
+-- ------------------------------------------------------------
+-- 6. v1.0.16 数据字典表
+-- ------------------------------------------------------------
+-- 6.1 国家地区编码字典
+DROP TABLE IF EXISTS `date_dict_country`;
+CREATE TABLE `date_dict_country` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '国家/地区编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '国家/地区中文名',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='国家地区编码字典';
+
+-- 6.2 行政区划编码字典(省/市/区县三级,parent_code 关联)
+DROP TABLE IF EXISTS `date_dict_area`;
+CREATE TABLE `date_dict_area` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '行政区划编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '行政区划名称',
+ `parent_code` VARCHAR(50) DEFAULT NULL COMMENT '上级行政区划编码(省级为NULL)',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_parent` (`parent_code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='行政区划编码字典';
+
+-- 6.3 招标行业分类字典(parent_code 预留大类/细分层级)
+DROP TABLE IF EXISTS `date_dict_industry`;
+CREATE TABLE `date_dict_industry` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) NOT NULL COMMENT '行业编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '行业名称',
+ `parent_code` VARCHAR(50) DEFAULT NULL COMMENT '上级行业编码(大类为NULL)',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_parent` (`parent_code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='招标行业分类字典';
+
+-- 6.4 证书类型枚举字典(原 certification_types 表改名而来;新装环境在此创建)
+DROP TABLE IF EXISTS `date_dict_certificate`;
+CREATE TABLE `date_dict_certificate` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `code` VARCHAR(50) DEFAULT NULL COMMENT '证书类型枚举编码',
+ `name` VARCHAR(100) NOT NULL COMMENT '证书类型名称',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_code` (`code`),
+ KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='证书类型枚举字典';
+
+-- 6.5 来源渠道字典(source_channel 枚举)
+DROP TABLE IF EXISTS `source_channels`;
+CREATE TABLE `source_channels` (
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+ `name` VARCHAR(50) NOT NULL COMMENT '渠道名称',
+ `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
+ `is_active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '启用状态',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `uk_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='来源渠道字典';
+
+-- 6.6 来源渠道默认数据
+INSERT INTO `source_channels` (`name`, `sort_order`) VALUES
+('展会', 1), ('SNS/社交媒体', 2), ('竞价广告', 3), ('搜索引擎自然流量', 4),
+('行业媒体/门户', 5), ('转介绍', 6), ('电话销售', 7), ('邮件营销', 8),
+('地推', 9), ('代理商/渠道', 10), ('官网咨询', 11), ('其他', 99);
+
+-- 6.7 数据字典完整数据(国家/行政区划/行业/证书)由官方 Excel 生成:
+-- 请执行 sql/dict_seed.sql
diff --git a/static/js/company.js b/static/js/company.js
index af74286..f48dafe 100644
--- a/static/js/company.js
+++ b/static/js/company.js
@@ -88,21 +88,49 @@ $(function () {
/* ---------- 新增/编辑 ---------- */
$('#btn-add').on('click', function () {
httpGet('company/cert_types.php').then(function (d) {
- openForm(null, [], [], d.types || []);
+ loadDicts().then(function (dicts) {
+ openForm(null, [], [], d.types || [], dicts);
+ });
});
});
window.editCompany = function (id) {
httpGet('company/detail.php', { id: id }).then(function (d) {
- openForm(d.company, d.financials, d.certifications, d.certification_types);
+ loadDicts().then(function (dicts) {
+ openForm(d.company, d.financials, d.certifications, d.certification_types, dicts);
+ });
});
};
- function openForm(company, financials, certifications, certTypes) {
+ /** 拉取数据字典(国家/行业/来源渠道),供表单下拉使用 */
+ function loadDicts() {
+ return httpGet('common/dicts.php', { type: 'all' }).catch(function () {
+ return { countries: [], industries: [], source_channels: [] };
+ });
+ }
+
+ /** 生成下拉选项:value 与当前值匹配则选中;若当前值不在字典中则追加一个选项保留原值 */
+ function dictOptions(list, cur, labelKey) {
+ var html = '';
+ var found = false;
+ (list || []).forEach(function (item) {
+ var name = item[labelKey || 'name'];
+ var sel = (String(name) === String(cur)) ? ' selected' : '';
+ if (sel) found = true;
+ html += '';
+ });
+ if (cur && !found) {
+ html += '';
+ }
+ return html;
+ }
+
+ function openForm(company, financials, certifications, certTypes, dicts) {
var isEdit = !!company;
var c = company || {};
financials = financials || [];
certifications = certifications || [];
certTypes = certTypes || [];
+ dicts = dicts || {};
// Tab1 工商信息
var bizHtml =
@@ -113,7 +141,7 @@ $(function () {
' ' +
' ' +
'
' +
- ' ' +
+ ' ' +
' ' +
' ' +
' ' +
@@ -127,9 +155,11 @@ $(function () {
var indHtml =
'';
// Tab3 财务信息:顶部独立字段(是否上市/股票代码/最新员工/最新营收)+ 年度财务明细列表
@@ -350,6 +380,24 @@ $(function () {
window.viewCompany = function (id) {
httpGet('company/detail.php', { id: id }).then(function (d) {
var c = d.company;
+ // 联系方式列表(social_accounts 中属于该公司的记录,仅展示)
+ var accountsHtml = '';
+ (d.accounts || []).forEach(function (a) {
+ var tag = '';
+ if (a.is_defult) tag = ' 常用';
+ else if (a.is_primary) tag = ' 默认';
+ accountsHtml += '' +
+ '| ' + escHtml(a.platform || '-') + ' | ' +
+ '' + escHtml(a.account_id || '-') + ' | ' +
+ '' + (a.profile_url ? '打开' : '-') + ' | ' +
+ '' + escHtml(a.remark || '-') + ' | ' +
+ '' + (a.is_active ? '启用' : '停用') + tag + ' | ' +
+ '
';
+ });
+ var accountsSection = accountsHtml
+ ? '| 平台 | 账号/号码 | 主页链接 | 备注 | 状态 |
' + accountsHtml + '
'
+ : '暂无联系方式
';
+
var html =
'' +
'
' + escHtml(c.name_zh || c.name_en || '企业 #' + c.id) + '
' +
@@ -362,9 +410,10 @@ $(function () {
detailRow('注册资本', c.registered_capital) + detailRow('成立日期', c.established_date) +
detailRow('员工数', c.latest_employee_count) + detailRow('年营收', c.latest_annual_revenue) +
detailRow('是否上市', c.is_listed ? '是' : '否') + detailRow('股票代码', c.stock_code) +
+ detailRow('来源渠道', c.source_channel) + detailRow('来源详情', c.source_detail) +
'' +
' 经营范围
' + escHtml(c.business_scope || '-') + '
' +
- ' 关联需求
' + miniTable(['联系人', '需求大类', '意向品类', '场景'], d.needs.map(function (n) { return [n.contact_person || '-', n.need_category || '-', n.target_product_category || '-', n.application_scenario || '-']; })) +
+ ' 联系方式
' + accountsSection +
'';
Dialog.open({ title: '企业详情', area: ['820px', 'auto'], content: html, btn: ['关闭'] });
});
@@ -374,16 +423,6 @@ $(function () {
return '' + label + ':' + escHtml(val || '-') + '
';
}
- function miniTable(headers, rows) {
- if (!rows.length) return '暂无数据
';
- var html = '';
- html += '' + headers.map(function (h) { return '| ' + h + ' | '; }).join('') + '
';
- rows.forEach(function (r) {
- html += '' + r.map(function (v) { return '| ' + escHtml(v) + ' | '; }).join('') + '
';
- });
- return html + '
';
- }
-
/* ---------- 员工列表弹窗(按公司查看员工,分页 + 姓名/职级筛选) ---------- */
var empCompanyId = 0;
var empPage = 1;
diff --git a/static/js/config.js b/static/js/config.js
index ff875ee..629ab53 100644
--- a/static/js/config.js
+++ b/static/js/config.js
@@ -5,7 +5,7 @@ var BASE_URL = '/api/';
var PAGE_SIZE = 20;
/** 系统版本号(logo旁展示):修改代码后运行 tools/bump_version.php 自动递增 */
-var APP_VERSION = 'v1.0.15';
+var APP_VERSION = 'v1.0.17';
/** 页脚版权/备案信息(在 config.js 中修改) */
var FOOTER_TEXT = '© 2026 SuperLink 管理系统 版权所有 | 备案号:请替换为真实备案号';
diff --git a/static/js/media.js b/static/js/media.js
index 1bd54ae..d988682 100644
--- a/static/js/media.js
+++ b/static/js/media.js
@@ -118,9 +118,14 @@ $(function () {
' ' +
' ' +
' ' +
- '
' +
- ' ' +
+ ' ' +
+ ' ' +
' ' +
+ ' ' +
' ' +
@@ -144,6 +149,25 @@ $(function () {
$('#form-cancel').on('click', function () { Dialog.close(idx); });
+ // 手机号归属地自动识别(平台为 phone 时,录入号码自动识别归属地)
+ var $geo = $('#media-account-geo');
+ var bindGeo = function () {
+ if ($('#media-platform').val() !== 'phone') { $geo.text('').hide(); return; }
+ $('#media-account').off('blur.geo').on('blur.geo', function () {
+ var val = $.trim($(this).val());
+ if (!val) { $geo.text('').hide(); return; }
+ httpGet('common/phone_geo.php', { phone: val }).then(function (d) {
+ if (d && d.label && d.label !== '未知') {
+ $geo.text('归属地:' + d.label).show();
+ } else {
+ $geo.text('归属地:未能识别').show();
+ }
+ }).catch(function () { $geo.text('').hide(); });
+ });
+ };
+ $('#media-platform').on('change', bindGeo);
+ bindGeo();
+
$('#media-form').on('submit', function (e) {
e.preventDefault();
var data = {};
diff --git a/static/js/person.js b/static/js/person.js
index 4cf83a6..363c57d 100644
--- a/static/js/person.js
+++ b/static/js/person.js
@@ -30,7 +30,7 @@ $(function () {
' ' +
' ' +
' ' +
' ' +
@@ -58,17 +58,17 @@ $(function () {
'' + escHtml(r.work_location || '-') + ' | ' +
'' + escHtml(r.hometown || '-') + ' | ' +
'' + escHtml(r.education || '-') + ' | ' +
- '' + escHtml((r.contacts || '-').substring(0, 40)) + ' | ' +
+ '' + escHtml(r.phone || '-') + ' | ' +
+ '' + escHtml((r.email || '-').substring(0, 30)) + ' | ' +
'' + fmtDate(r.created_at) + ' | ' +
'' +
' 详情' +
- ' 公司' +
- ' 产品' +
+ ' 履历' +
' 编辑' +
' | ';
});
if (!rows.length) {
- html = '| 暂无数据 |
';
+ html = '| 暂无数据 |
';
}
$('#person-tbody').html(html);
renderPagination($('#pagination'), data, loadList);
@@ -81,43 +81,155 @@ $(function () {
loadList(1);
});
- $('#btn-add').on('click', function () { openForm(null); });
+ $('#btn-add').on('click', function () { openForm(null, null, null, null, null); });
window.editPerson = function (id) {
httpGet('person/detail.php', { id: id }).then(function (d) {
- openForm(d.person, d.accounts);
+ openForm(d.person, d.accounts, d.phone, d.email, d.experiences);
});
};
- function contactsInputHtml(accounts) {
- accounts = accounts || [];
- var html = '';
- if (!accounts.length) {
- accounts = [{ platform: 'email', account_id: '', is_primary: 1 }];
+ /** 手机号输入后自动识别归属地(录入手机号码时自动识别:国内-国家省-市;港澳台-中国香港/澳门/台湾;海外-国籍) */
+ function bindPhoneGeo($phoneInput, $geoHint) {
+ var timer = null;
+ $phoneInput.on('blur', function () {
+ var val = $.trim($(this).val());
+ if (!val) { $geoHint.text('').hide(); return; }
+ clearTimeout(timer);
+ timer = setTimeout(function () {
+ httpGet('common/phone_geo.php', { phone: val }).then(function (d) {
+ if (d && d.label && d.label !== '未知') {
+ $geoHint.text('归属地:' + d.label).show();
+ } else {
+ $geoHint.text('归属地:未能识别').show();
+ }
+ }).catch(function () { $geoHint.text('').hide(); });
+ }, 300);
+ });
+ }
+
+ /** 省市区三级联动下拉(数据来自 date_dict_area 字典)
+ * value 格式:"省-市-区县"(直辖市省略市,如 "北京市-东城区") */
+ function areaSelectsHtml(target, value) {
+ return '
' +
+ '' +
+ '' +
+ '' +
+ '
' +
+ '
';
+ }
+
+ /** 构建省/市/区三级联动:填充选项并按已有值回选 */
+ function initAreaCascade(areas) {
+ var provMap = {}; // code -> name
+ var childMap = {}; // parent_code -> [{code,name}]
+ (areas || []).forEach(function (a) {
+ if (!a.parent_code) {
+ provMap[a.code] = a.name;
+ } else {
+ (childMap[a.parent_code] = childMap[a.parent_code] || []).push({ code: a.code, name: a.name });
+ }
+ });
+ var provCodes = Object.keys(provMap);
+
+ function fillProv($box) {
+ var html = '
';
+ provCodes.forEach(function (code) {
+ html += '
';
+ });
+ $box.find('.area-prov').html(html);
}
- accounts.forEach(function (a, i) {
- html += '
' +
- '' +
- '' +
- '' +
- '
';
+ function fillCity($box, provCode) {
+ var html = '
';
+ (childMap[provCode] || []).forEach(function (c) {
+ html += '
';
+ });
+ $box.find('.area-city').html(html);
+ $box.find('.area-dist').html('
');
+ }
+ function fillDist($box, cityCode) {
+ var html = '
';
+ (childMap[cityCode] || []).forEach(function (c) {
+ html += '
';
+ });
+ $box.find('.area-dist').html(html);
+ }
+ function combine($box) {
+ var target = $box.data('target');
+ var provName = $box.find('.area-prov option:selected').text();
+ var cityName = $box.find('.area-city option:selected').text();
+ var distName = $box.find('.area-dist option:selected').text();
+ var parts = [];
+ if ($box.find('.area-prov').val()) parts.push(provName);
+ if ($box.find('.area-city').val() && cityName !== provName) parts.push(cityName);
+ if ($box.find('.area-dist').val()) parts.push(distName);
+ $box.closest('.form-item').find('input[name="' + target + '"]').val(parts.join('-'));
+ }
+
+ $('.area-cascade').each(function () {
+ var $box = $(this);
+ var target = $box.data('target');
+ var current = $box.closest('.form-item').find('input[name="' + target + '"]').val() || '';
+ var parts = current.split('-');
+ var provName = parts[0] || '';
+ var cityName = parts[1] || '';
+ var distName = parts[2] || '';
+
+ fillProv($box);
+
+ // 回选省
+ var provCode = '';
+ provCodes.forEach(function (code) {
+ if (provMap[code] === provName) {
+ provCode = code;
+ $box.find('.area-prov').val(code);
+ }
+ });
+ if (!provCode) return;
+
+ fillCity($box, provCode);
+ var cityList = childMap[provCode] || [];
+ var cityCode = '';
+ // 直接按市名匹配;直辖市(省/市同名,如"北京市-东城区")时 parts[1] 实为区县
+ var direct = cityList.filter(function (c) { return c.name === cityName; });
+ if (direct.length) {
+ cityCode = direct[0].code;
+ $box.find('.area-city').val(cityCode);
+ } else if (cityList.length === 1 && cityList[0].name === provName) {
+ cityCode = cityList[0].code;
+ $box.find('.area-city').val(cityCode);
+ if (parts[1] && !distName) {
+ distName = parts[1]; // 直辖市:第二段实为区县
+ }
+ }
+ if (!cityCode) return;
+
+ fillDist($box, cityCode);
+ (childMap[cityCode] || []).forEach(function (c) {
+ if (c.name === distName) $box.find('.area-dist').val(c.code);
+ });
+ });
+
+ // 联动事件
+ $('.area-cascade').off('change.area').on('change.area', '.area-prov', function () {
+ var $box = $(this).closest('.area-cascade');
+ fillCity($box, $(this).val());
+ combine($box);
+ });
+ $('.area-cascade').off('change.areaCity').on('change.areaCity', '.area-city', function () {
+ var $box = $(this).closest('.area-cascade');
+ fillDist($box, $(this).val());
+ combine($box);
+ });
+ $('.area-cascade').off('change.areaDist').on('change.areaDist', '.area-dist', function () {
+ combine($(this).closest('.area-cascade'));
});
- return html + '
' +
- '';
}
- function platformOpts(sel) {
- var list = ['phone', 'email', 'wechat', 'douyin', 'linkedin', 'x', 'facebook', 'instagram', 'tiktok', 'other'];
- var html = '';
- list.forEach(function (p) {
- html += '';
- });
- return html;
- }
-
- function openForm(person, accounts) {
+ function openForm(person, accounts, phone, email, experiences) {
var isEdit = !!person;
var p = person || {};
+ var pPhone = phone || '';
+ var pEmail = email || '';
var content =
'