commit acd6c38ae2abe29375e4a7ab74a27614db136836
Author: wkc <978997012@qq.com>
Date: Thu Feb 26 14:51:13 2026 +0800
init
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e33cf1c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,55 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
+
+**/_remote.repositories
+mvn/
+/.idea/
+
+浙江省/
+
+ruoyi-ui/vue.config.js
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..8564f29
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 RuoYi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e5a47b8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,96 @@
+
+
+
+RuoYi v3.8.8
+基于SpringBoot+Vue前后端分离的Java快速开发框架
+
+
+
+
+
+
+## 平台简介
+
+若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
+
+* 前端采用Vue、Element UI。
+* 后端采用Spring Boot、Spring Security、Redis & Jwt。
+* 权限认证使用Jwt,支持多终端认证系统。
+* 支持加载动态权限菜单,多方式轻松权限控制。
+* 高效率开发,使用代码生成器可以一键生成前后端代码。
+* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
+* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
+* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
+* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
+* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
+
+## 内置功能
+
+1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
+2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
+3. 岗位管理:配置系统用户所属担任职务。
+4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
+5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
+6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
+7. 参数管理:对系统动态配置常用参数。
+8. 通知公告:系统通知公告信息发布维护。
+9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
+10. 登录日志:系统登录日志记录查询包含登录异常。
+11. 在线用户:当前系统中活跃用户状态监控。
+12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
+13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
+14. 系统接口:根据业务代码自动生成相关的api接口文档。
+15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
+16. 缓存监控:对系统的缓存信息查询,命令统计等。
+17. 在线构建器:拖动表单元素生成相应的HTML代码。
+18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
+
+## 在线体验
+
+- admin/admin123
+- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
+
+演示地址:http://vue.ruoyi.vip
+文档地址:http://doc.ruoyi.vip
+
+## 演示图
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 若依前后端分离交流群
+
+QQ群: [](https://jq.qq.com/?_wv=1027&k=5bVB1og) [](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [](https://jq.qq.com/?_wv=1027&k=51G72yr) [](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [](https://jq.qq.com/?_wv=1027&k=SpyH2875) [](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) 点击按钮入群。
\ No newline at end of file
diff --git a/bin/clean.bat b/bin/clean.bat
new file mode 100644
index 0000000..24c0974
--- /dev/null
+++ b/bin/clean.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] target·
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean
+
+pause
\ No newline at end of file
diff --git a/bin/package.bat b/bin/package.bat
new file mode 100644
index 0000000..c693ec0
--- /dev/null
+++ b/bin/package.bat
@@ -0,0 +1,12 @@
+@echo off
+echo.
+echo [Ϣ] Weḅwar/jarļ
+echo.
+
+%~d0
+cd %~dp0
+
+cd ..
+call mvn clean package -Dmaven.test.skip=true
+
+pause
\ No newline at end of file
diff --git a/bin/run.bat b/bin/run.bat
new file mode 100644
index 0000000..41efbd0
--- /dev/null
+++ b/bin/run.bat
@@ -0,0 +1,14 @@
+@echo off
+echo.
+echo [Ϣ] ʹJarWeb̡
+echo.
+
+cd %~dp0
+cd ../ruoyi-admin/target
+
+set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
+
+java -jar %JAVA_OPTS% ruoyi-admin.jar
+
+cd bin
+pause
\ No newline at end of file
diff --git a/doc/0314sql-更新.txt b/doc/0314sql-更新.txt
new file mode 100644
index 0000000..5ef3dd6
--- /dev/null
+++ b/doc/0314sql-更新.txt
@@ -0,0 +1,487 @@
+alter table sys_group_customer add column `cust_lb` char(1) DEFAULT NULL COMMENT '是否行内客户'; -- 舒
+
+
+-- 张淋彬
+ALTER TABLE ibs.ibs_anchor_address_965 ADD source varchar(100) NULL COMMENT '地址来源';
+
+ALTER TABLE ibs.ibs_anchor_965 ADD cust_status INT DEFAULT 1 NULL;
+ALTER TABLE ibs.ibs_anchor_965 ADD cust_address_status INT DEFAULT 1 NULL;
+ALTER TABLE ibs.ibs_anchor_965 ADD create_time DATETIME DEFAULT CURRENT_TIMESTAMP NULL;
+
+CREATE INDEX `ibs_anchor_update_time_IDX` USING BTREE ON ibs.ibs_anchor_965 (update_time desc);
+CREATE INDEX `ibs_anchor_cust_status_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_status,cust_address_status,delete_status,cust_type);
+CREATE INDEX `ibs_anchor_cust_type_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_type,delete_status,address_id);
+CREATE INDEX `ibs_anchor_cust_id_IDX` USING BTREE ON ibs.ibs_anchor_965 (cust_id,legal_id,delete_status);
+
+
+ALTER TABLE ibs.cust_info_retail_965 ADD normal_location varchar(100) NULL COMMENT '常住地址';
+ALTER TABLE ibs.cust_info_retail_965 ADD idc_location varchar(100) NULL COMMENT '身份证地址';
+ALTER TABLE ibs.cust_info_retail_965 ADD relation_location varchar(100) NULL COMMENT '联系地址';
+
+
+-- 张昱
+CREATE TABLE `sys_campaign_group` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id',
+ `group_id` varchar(100) DEFAULT NULL COMMENT '客群id',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `create_by` varchar(10) DEFAULT NULL COMMENT '创建人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=359 DEFAULT CHARSET=utf8 COMMENT='清单客群关系表'
+
+
+
+-- ibs_pre.sys_campaign_second definition
+
+CREATE TABLE `sys_campaign_second` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `campaign_name` varchar(100) DEFAULT NULL COMMENT '活动名称(任务名称)',
+ `dept_id` bigint(20) DEFAULT NULL COMMENT '部门id',
+ `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
+ `create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `start_time` datetime DEFAULT NULL COMMENT '活动开始时间',
+ `end_time` datetime DEFAULT NULL COMMENT '活动结束时间',
+ `campaign_degree` varchar(100) DEFAULT NULL COMMENT '活动紧急程度,高,中,低',
+ `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+ `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,2代表删除)',
+ `campaign_type` varchar(100) DEFAULT NULL COMMENT '活动类型,走访,电话,短信',
+ `claim_type` char(1) DEFAULT NULL COMMENT '认领类型,0强制认领,1可选认领',
+ `distribute_type` varchar(100) DEFAULT NULL COMMENT '第一优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id(任务id)',
+ `claim_start_time` datetime DEFAULT NULL COMMENT '活动认领开始时间',
+ `claim_end_time` datetime DEFAULT NULL COMMENT '活动认领结束时间',
+ `executer` char(1) DEFAULT NULL COMMENT '执行人,0代表机构,1代表个人,2代表混合分配',
+ `create_role` char(1) DEFAULT NULL COMMENT '活动创建角色,0总行管理员,1: 零售 2对公 3运管 5 支行',
+ `group_id` varchar(100) DEFAULT NULL COMMENT '客群id',
+ `second_push_status` char(1) DEFAULT '0' COMMENT '活动是否二次推送过,0未推送,1已推送',
+ `distribute_type2` varchar(100) DEFAULT NULL COMMENT '第二优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
+ `distribute_type3` varchar(100) DEFAULT NULL COMMENT '第三优先级分配规则,0手动指定,1按照客户归属2按照地址归属',
+ `task_type` varchar(100) DEFAULT NULL COMMENT '任务类型,0营销任务,1事务任务',
+ `check_target` varchar(100) DEFAULT NULL COMMENT '考核目标,存款营销,贷款营销,产品营销,贷前调查,贷后回访,预期催收,其他',
+ `task_index` varchar(100) DEFAULT NULL COMMENT '任务指标',
+ `reward` varchar(300) DEFAULT NULL COMMENT '奖励说明',
+ `feed_back` varchar(100) DEFAULT NULL COMMENT '反馈要求,无,签到签退,拍照,反馈记录',
+ `cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
+ `distribute_cont` varchar(100) DEFAULT NULL COMMENT '規則1内容',
+ `distribute_cont2` varchar(100) DEFAULT NULL COMMENT '規則2内容',
+ `distribute_cont3` varchar(100) DEFAULT NULL COMMENT '規則3内容',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='二次分配活动表';
+
+
+insert into sys_campaign_group(campaign_id ,group_id )
+select distinct campaign_id ,group_id from sys_campaign_group_customer;
+
+ALTER TABLE ibs.sys_campaign ADD distribute_cont3 varchar(100) NULL COMMENT '';
+ALTER TABLE ibs.sys_campaign ADD distribute_cont2 varchar(100) NULL COMMENT '';
+ALTER TABLE ibs.sys_campaign ADD distribute_cont varchar(100) NULL COMMENT '';
+ALTER TABLE ibs.sys_campaign MODIFY COLUMN distribute_type2 varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '';
+ALTER TABLE ibs.sys_campaign MODIFY COLUMN distribute_type3 varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '';
+
+
+
+-- 何
+
+ALTER TABLE ibs.relation_rule ADD add_source varchar(100) NULL COMMENT '地址来源';
+ALTER TABLE ibs.relation_rule ADD add_source_id varchar(100) NULL COMMENT '地址来源码值';
+
+ALTER TABLE ibs.cust_tab_list_info ADD is_start varchar(1) NULL COMMENT '0停用,1启动';
+ALTER TABLE ibs.cust_tab_list_info MODIFY COLUMN comput_type varchar(1) COMMENT '加工类型: 0手动执行,1 天,2周 ,3月,4年';
+
+--各个客户表都要,965以外的其余行社
+ALTER TABLE ibs.cust_info_retail_965 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_merchant_965 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_business_965 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+
+ALTER TABLE ibs.cust_info_retail_807 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_merchant_807 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_business_807 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+
+ALTER TABLE ibs.cust_info_retail_831 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_merchant_831 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_business_831 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+
+ALTER TABLE ibs.cust_info_retail_931 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_merchant_931 ADD record_status char(1) NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+ALTER TABLE ibs.cust_info_business_931 ADD record_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '建档标识,新入客户表的客户状态为未建档';
+
+-- ibs.family_member definition
+
+CREATE TABLE `family_member` (
+ `id_card` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份证号',
+ `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名',
+ `father_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父亲身份证',
+ `mother_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '母亲身份证',
+ `spouse_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配偶身份证',
+ `family_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '家庭id',
+ `gender` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '性别,M男,F女',
+ `age` int(11) DEFAULT NULL COMMENT '年龄',
+ `is_delete` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '0未删除,1逻辑删除',
+ `bs_id` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '兄弟姐妹唯一id',
+ `spouse_family_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配偶家庭id,女性出嫁后,此字段填充男方家庭id,男方结婚后也要写入女方家庭id',
+ `create_time` datetime DEFAULT NULL,
+ `create_by` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
+ `update_by` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
+ `update_time` datetime DEFAULT NULL,
+ `birth_date` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+
+INSERT INTO ibs.sys_dict_type
+(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES(null, '地址来源码值', 'address_source', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
+INSERT INTO ibs.sys_dict_type
+(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES(null, '亲属关系码值', 'family_relation', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
+INSERT INTO ibs.sys_dict_type
+(dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES(null, '对公经营状态', 'reg_status', '0', 'admin', '2024-10-25 10:52:38', '', NULL, NULL);
+
+
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'信用卡开卡','0_gh_xykkk','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:55:21','9650702','2024-11-21 10:03:41',NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (1,'信用卡销卡','1_gh_xykxk','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:55:54','9650702','2024-11-20 16:23:07',NULL),
+ (0,'家庭地址','0_dz_jtdz','ral_rules',NULL,'default','N','0','admin','2024-10-25 10:56:33','9650702','2024-11-21 10:03:44',NULL),
+ (0,'信用卡-企业开卡','0_gh_xykkk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:23:59','9650702','2024-11-21 10:05:16',NULL),
+ (0,'信用卡-企业销卡','0_gh_xykxk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:24:21','9650702','2024-11-21 10:05:21',NULL),
+ (0,'注册地址','2_dz_zcdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:24:43','9650702','2024-11-21 10:04:03',NULL),
+ (0,'经营地址','2_dz_jydz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:01','9650702','2024-11-21 10:04:10',NULL),
+ (0,'商户-行用卡销卡','1_gh_xykxk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:26','9650702','2024-11-21 10:04:44',NULL),
+ (0,'行用卡开卡-商户','1_gh_xykkk','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:25:45','9650702','2024-11-21 10:04:51',NULL),
+ (0,'注册地址','1_dz_zcdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:26:00','9650702','2024-11-21 14:18:29',NULL),
+ (0,'经营地址','1_dz_btdz','ral_rules',NULL,'default','N','0','9650702','2024-11-20 16:26:25','9650702','2024-11-21 14:19:54',NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'工作地址','0_dz_gzdz','ral_rules',NULL,'default','N','0','9650702','2024-11-21 14:20:51','',NULL,NULL),
+ (0,'户籍地址','0_dz_hjdz','ral_rules',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'核心','0_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'大信贷','0_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'EICC','0_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'ECIF','0_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'手工导入','0_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'核心','1_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'大信贷','1_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'EICC','1_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'ECIF','1_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'手工导入','1_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'新华社','1_xhs','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'金综','1_jz','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'核心','2_hx','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'大信贷','2_dxd','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'EICC','2_eicc','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'ECIF','2_ecif','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'手工导入','2_sgdr','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'新华社','2_xhs','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'金综','2_jz','address_source',NULL,'default','N','0','9650702','2024-11-21 14:21:10','',NULL,NULL),
+ (0,'外高祖母','m,m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'小姑子','h,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾伯祖父','f,f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外甥女','ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'女婿','h,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'舅祖母/妗婆','f,m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外曾孙','s,d,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'叔祖母','f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑母/太姑婆','f,f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'女儿','h,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖姑丈/老太姑婆公','f,f,f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'公公','h,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖母/老太奶奶','f,f,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姑夫','f,f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'嫂子','bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外姑丈/堂外姑婆公','m,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'婆婆','h,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'妹夫','ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'侄子','bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'表妹夫','f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'大伯子','h,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高伯祖母/老太婆','f,f,f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂叔祖母','f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖父的妻子(高祖母)','f,f,f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外叔祖母/堂外婶婆','m,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'大姑子','h,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'小叔子','h,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'哥哥','bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾外孙女','d,d,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'堂姐夫','f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑母/姑婆','f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'妻子的伯祖父','w,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姐夫/表妹夫','m,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'襟兄','w,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表叔','f,f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表婶','f,f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑母/太姑婆','f,f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'孙女婿','d,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'弟弟','sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'姐姐','bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑丈/姑婆公','f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑丈/太姑婆公','f,f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外曾婆','h,m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑丈/姑婆公','f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姨夫','m,f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姑','f,f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'妹妹','ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外甥','sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高叔祖母/老太婆','f,f,f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'女儿','d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'伯祖父','f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂婶','f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外婆','h,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'父亲','f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表舅','m,f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'丈夫','h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外姑丈/外姑婆公','m,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'儿媳','w,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'母亲','m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'表妗','m,f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'弟媳','sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'岳父','w,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'叔祖父','f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'儿子','s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑母/姑婆','f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姨','m,f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'妻子','w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾叔祖父','f,f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'岳母','w,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'女婿','w,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姐/表妹','m,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外姑丈/堂外姑婆公','m,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表伯','f,f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姑夫','f,f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表哥/表弟','m,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂妹/妹妹','f,sb,w,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'舅母/舅妈','m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姨','m,f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾孙媳妇','s,s,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'祖父','f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'大外祖母/外太婆/太姥姥','m,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表哥/表弟','m,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂弟/弟弟','f,sb,w,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖母/奶奶','f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姑','f,f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外伯祖母/外姆婆','m,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑丈/姑婆公','f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾孙','s,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'孙媳妇','s,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'母亲','f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂伯祖母','f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾叔祖母','f,f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姨夫','m,f,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'叔岳父','w,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾伯祖母','f,f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外叔祖母/外婶婆','m,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂伯祖父','f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外姑丈/外姑婆公','m,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高伯祖母/老太婆','f,f,f,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'曾伯祖母','f,f,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外祖父/外公/姥爷','m,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'父亲/爸爸','m,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表嫂/表弟妇','m,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姐夫/表妹夫','m,ss,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表舅','m,f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外祖母','m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表甥女','m,mb,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'伯岳父','w,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'祖姑母/姑婆','f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'大外祖父/外太公/太姥爷','m,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姐夫/表妹夫','m,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'大外祖母/外太婆/太姥姥','m,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑母/太姑婆','f,f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外舅祖母/外妗婆','m,m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖姑丈/老太姑婆公','f,f,f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'舅舅','m,mb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外伯祖父/堂外伯公','m,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表舅','m,m,mb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高叔祖父/老太公','f,f,f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'曾祖姑母/太姑婆','f,f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'姑丈/姑夫','f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾叔祖父','f,f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表嫂/表弟妇','m,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖父','f,f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖母/老太奶奶','f,f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外姑母/堂外姑婆','m,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表弟','f,ss,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'孙女','d,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'高祖姑母/老太姑婆','f,f,f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'外舅祖父/外舅公','m,m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾伯祖父','f,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'女婿','d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂伯','f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖母/太奶奶','f,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑丈/太姑婆公','f,f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'岳曾祖父','w,f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外甥','d,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姨','m,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表妹','f,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'曾祖姑丈/太姑婆公','f,f,f,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'堂外姑母/堂外姑婆','m,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'表姐/表妹','m,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'曾祖姑丈/太姑婆公','f,f,f,f,bb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'姨夫','m,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'伯母','f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:15','',NULL,NULL),
+ (0,'外曾祖母','m,m,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'太岳母','w,f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂外叔祖父/堂外叔公','m,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表嫂','f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'堂妹夫','f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表嫂/表弟妇','m,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姑母/姑姑','f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'岳祖父','w,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外舅祖母/外妗婆','m,m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姐/表妹','m,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'婶婶','f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'太岳母','w,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外舅祖父/外舅公','m,m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姐/表妹','m,ss,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'高伯祖父/老太公','f,f,f,f,f,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'祖姑母/姑婆','f,f,f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姨丈/姨夫','m,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'叔岳母','w,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'舅妈','m,mb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高祖姑母/老太姑婆','f,f,f,f,f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表舅','m,mb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂叔祖父','f,f,f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'伯伯','f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高叔祖母/老太婆','f,f,f,f,f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'孙女','s,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂叔','f,sb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'曾叔祖母','f,f,f,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'舅母/舅妈','m,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姐夫/表妹夫','m,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姑姑','f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'叔叔','f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'孙子','s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表哥/表弟','m,bb,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂妹','f,sb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'儿媳','s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'伯岳母','w,f,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高祖姑母/老太姑婆','f,f,f,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'小姨子','w,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'襟弟','w,ss,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'大妗','w,bb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高祖姑母/老太姑婆','f,f,f,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'大姨子','w,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'小舅子','w,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高叔祖父/老太公','f,f,f,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'高伯祖父/老太公','f,f,f,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'大舅子','w,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姐夫','f,bs,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂弟妇/弟妹','f,sb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外姑母/外姑婆','m,f,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'孙媳妇的丈夫(即自己)','s,s,w,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外叔祖父/外叔公','m,f,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外甥女','d,s,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高祖姑丈/老太姑婆公','f,f,f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外伯祖父/外伯公','m,f,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'阿姨','m,bs','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表弟妇','f,ss,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'舅祖父/舅公','f,m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂外伯祖母/堂外姆婆','m,f,f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'祖姑丈/姑婆公','f,f,f,sb,d,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姨母/姨姨','m,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'曾祖母/太奶奶','f,f,m','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'舅祖母/妗婆','f,m,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表嫂/表弟妇','m,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂姐/堂姊','f,bb,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'舅祖父/舅公','f,m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'祖母/奶奶','f,f,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姆','f,f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'妈妈的弟弟','m,sb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'小妗','w,sb,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外姑母/外姑婆','m,f,ss','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姐夫','bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'外高祖母的丈夫(外高祖父)','m,m,m,m,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂嫂/嫂嫂','f,bb,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表姐','f,bs,d','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'曾祖父','f,f,f','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'高祖姑丈/老太姑婆公','f,f,f,f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'堂侄','f,bb,s,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'舅父/大舅','m,bb','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表兄/表哥','f,bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'侄女','bs,s','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'姑丈/姑夫','f,bs,h','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'表妗','m,f,bs,s,w','family_relation',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'变更','1','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'变更中','2','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'吊销已注销','3','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'存续(在营、开业,在册)','4','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'已注销','5','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'歇业','6','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'正常','7','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'注销','8','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'其他','9','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'吊销','10','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'吊销未注销','11','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'在业','12','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+INSERT INTO ibs.sys_dict_data (dict_sort,dict_label,dict_value,dict_type,css_class,list_class,is_default,status,create_by,create_time,update_by,update_time,remark) VALUES
+ (0,'废止','13','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'撤销','14','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'注销中','15','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'吊销已注销','16','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'存续','17','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'迁出','18','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'备案','19','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'开业','20','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL),
+ (0,'空','21','reg_status',NULL,NULL,'N','0','admin','2025-03-12 10:50:16','',NULL,NULL);
+
+----吴
+-- ibs.task_visit_log definition
+
+CREATE TABLE `task_visit_log` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `cust_id` varchar(255) DEFAULT NULL COMMENT '客户号',
+ `nick_name` varchar(255) DEFAULT NULL COMMENT '柜员名称',
+ `cust_feedback` varchar(10) DEFAULT NULL COMMENT '客户意向',
+ `visit_result` varchar(10) DEFAULT NULL COMMENT '营销结果',
+ `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务走访记录表';
+
+-- ibs.task_visit_error_log definition
+
+CREATE TABLE `task_visit_error_log` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `cust_id` varchar(255) DEFAULT NULL COMMENT '客户号',
+ `task_id` varchar(255) DEFAULT NULL COMMENT '任务id',
+ `address_error_flag` varchar(1) DEFAULT NULL COMMENT '地址是否错误',
+ `contact_error_flag` varchar(1) DEFAULT NULL COMMENT '联系方式是否错误',
+ `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='任务走访无法触达';
+
+
+
+
+
diff --git a/doc/0324sql b/doc/0324sql
new file mode 100644
index 0000000..e69de29
diff --git a/doc/0417更新sql.txt b/doc/0417更新sql.txt
new file mode 100644
index 0000000..0ef3648
--- /dev/null
+++ b/doc/0417更新sql.txt
@@ -0,0 +1,178 @@
+-- zy
+CREATE TABLE `sys_campaign_group_customer_supplement` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `cust_id` varchar(100) DEFAULT NULL COMMENT '客户号',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id',
+ `group_id` varchar(100) DEFAULT NULL COMMENT '分群id',
+ `dept_id` bigint(20) DEFAULT NULL COMMENT '部门id',
+ `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
+ `create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+ `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在,2代表删除)',
+ `grid_id` bigint(20) DEFAULT NULL COMMENT '网格id',
+ `list_type` char(1) DEFAULT NULL COMMENT '0推荐营销清单,1我的营销清单(出版需求设计的字段,现在暂时不用)',
+ `push_status` char(1) DEFAULT '0' COMMENT '推送状态(0代表未推送,1代表推送成功,2代表推送失败)',
+ `org_claim_status` char(1) DEFAULT '0' COMMENT '机构认领状态(0待认领,1已认领)',
+ `org_distribute_status` char(1) DEFAULT '0' COMMENT '机构分配状态(0待分配,1已分配)',
+ `cust_claim_status` char(1) DEFAULT '0' COMMENT '客户经理认领状态(0待认领,1已认领)',
+ `create_role` char(1) DEFAULT NULL COMMENT '记录创建角色,0总行管理员,1零售2对公3运管5支行',
+ `grid_name` varchar(100) DEFAULT NULL COMMENT '一级网格名称',
+ `grid_name2` varchar(100) DEFAULT NULL COMMENT '二级网格名称',
+ `outlets` varchar(100) DEFAULT NULL COMMENT '客户经理所在网点',
+ `cust_idc` varchar(100) DEFAULT NULL COMMENT '客户身份证号',
+ `second_push_status` char(1) DEFAULT '0' COMMENT '活动是否二次推送过,0未推送,1已推送',
+ `cust_phone` varchar(100) DEFAULT NULL COMMENT '客户电话',
+ `social_credit_code` varchar(100) DEFAULT NULL COMMENT '统一社会信用识别码(只有企业和商户有)',
+ `outlets_id` varchar(30) DEFAULT NULL COMMENT '客户经理所在网点ID(若客户经理不属于网点,则无值)',
+ `push_user_level` varchar(10) DEFAULT NULL COMMENT '推送客户经理级别:head 总行 branch支行',
+ `push_status_branch` varchar(1) DEFAULT NULL COMMENT '支行推送状态 0 未推送1成功2失败',
+ PRIMARY KEY (`id`),
+ KEY `sys_campaign_group_customer_supplement_cust_id_IDX` (`cust_id`) USING BTREE,
+ KEY `sys_campaign_group_customer_supplement_campaign_id_IDX` (`campaign_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=3610 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='活动分群客户关联关系表-跑批结果表-补充客户经理、机构'
+
+
+ALTER TABLE sys_menu ADD is_link varchar(1) DEFAULT '0' NULL COMMENT '是否可以直接访问';
+
+CREATE TABLE `admin_region_index_965` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `create_time` date DEFAULT NULL COMMENT '创建日期',
+ `level` int(11) DEFAULT NULL COMMENT '行政区划等级',
+ `code` varchar(255) DEFAULT NULL COMMENT '行政区划编码',
+ `item_name` varchar(255) DEFAULT NULL COMMENT '指标名称',
+ `item_val` varchar(255) DEFAULT NULL COMMENT '指标值',
+ `dept_id` bigint(21) DEFAULT NULL COMMENT '归属机构',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '归属部室',
+ `item_idx` varchar(10) DEFAULT NULL COMMENT '指标码值',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='行政区划热力指标';
+
+ALTER TABLE draw_shape ADD create_by varchar(100) NULL COMMENT '创建者';
+
+update draw_shape set create_by = update_by;
+
+INSERT INTO sys_dict_type ( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES
+('行政区划数据码值', 'admin_region_data_metric', '0', 'admin', '2025-04-01 11:01:29', '', NULL, NULL);
+
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '建档率', '1001', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '授信率', '1002', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', '1003', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '信用卡覆盖率', '1004', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, 'ETC覆盖率', '1005', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '丰收互联覆盖率', '1006', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收单覆盖率', '1007', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费覆盖率', '1008', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款黑名单占比', '1009', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(人)', '1010', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(金额)', '1011', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', '2001', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '签发承兑汇票率', '2002', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贴现业务率', '2003', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '保函业务率', '2004', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '有效代发工资率', '2005', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费率', '2006', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣水费率', '2007', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣税费率', '2008', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '票据宝签约率', '2009', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '财资宝签约率', '2010', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收付宝签约率', '2011', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贸融宝签约率', '2012', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '数字生态产品签约率', '2013', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '开户率', '2014', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '国际结算业务率', '2015', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '远期结算汇业务率', '2016', 'admin_region_data_metric', NULL, 'default', 'N', '0', 'admin', '2025-03-24 20:21:30', '', NULL, NULL);
+
+
+
+
+-- zlb
+CREATE TABLE `draw_layer_audit_965` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `shape_id` varchar(100) DEFAULT NULL COMMENT '图形id',
+ `shape_name` varchar(100) DEFAULT NULL COMMENT '图形名称锚点编号。同客户编号,即证件类型',
+ `layer_id` varchar(100) DEFAULT NULL COMMENT '图层id',
+ `layer_name` varchar(100) DEFAULT NULL COMMENT '图层名称',
+ `dept_id` varchar(100) DEFAULT NULL COMMENT '支行机构号',
+ `dept_name` varchar(100) NOT NULL COMMENT '支行名称',
+ `user_name` varchar(100) DEFAULT NULL COMMENT '客户经理柜员号',
+ `nick_name` varchar(100) NOT NULL COMMENT '客户经理名称(申请者、创建者)',
+ `ops_dept` varchar(10) NOT NULL COMMENT '部室归属',
+ `delete_status` int(11) DEFAULT '0' COMMENT '删除状态,0为正常,1为已删除',
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域审批表';
+
+ALTER TABLE draw_shape ADD audit_status varchar(10) DEFAULT '0' NOT NULL COMMENT '审批状态,0待审批1审批通过2拒绝';
+ALTER TABLE draw_shape ADD audit_remark varchar(100) NULL COMMENT '审批意见';
+ALTER TABLE sys_group_customer MODIFY COLUMN push_status char(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' NULL COMMENT '导入状态(1代表导入成功,2代表导入失败(缺乏必填项,或地址电话不全))';
+
+
+
+--szq
+CREATE TABLE `campaign_count` (
+ `dt` varchar(10) DEFAULT NULL COMMENT '统计日期',
+ `dept_id` varchar(10) DEFAULT NULL COMMENT '行社机构号',
+ `dept_name` varchar(10) DEFAULT NULL COMMENT '行社名称',
+ `user_id` varchar(10) DEFAULT NULL COMMENT '用户id',
+ `user_name` varchar(10) DEFAULT NULL COMMENT '用户姓名',
+ `create_camp_num_year` int(10) DEFAULT NULL COMMENT '创建的总任务数--年',
+ `push_camp_num_year` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--年',
+ `other_camp_num_year` int(10) DEFAULT NULL COMMENT '其他总任务数--年',
+ `create_camp_num_month` int(10) DEFAULT NULL COMMENT '创建的总任务数--月',
+ `push_camp_num_month` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--月',
+ `other_camp_num_month` int(10) DEFAULT NULL COMMENT '其他总任务数--月',
+ `create_camp_num_week` int(10) DEFAULT NULL COMMENT '创建的总任务数--周',
+ `push_camp_num_week` int(10) DEFAULT NULL COMMENT '推送给我的总任务数--周',
+ `other_camp_num_week` int(10) DEFAULT NULL COMMENT '其他总任务数--周',
+ `sum_type` char(2) DEFAULT NULL COMMENT '统计层级 0总行 1零售 2公司 3运管 5支行 -1客户经理',
+ `cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='走访任务统计卡片'
+
+
+
+CREATE TABLE `visit_info` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '任务id',
+ `vis_name` varchar(100) DEFAULT NULL COMMENT '走访客户经理姓名',
+ `vis_id` varchar(100) DEFAULT NULL COMMENT '走访客户经理id',
+ `dept_id` varchar(100) DEFAULT NULL COMMENT '走访客户经理部门',
+ `vis_time` datetime DEFAULT NULL COMMENT '走访时间',
+ `cust_name` varchar(100) DEFAULT NULL COMMENT '走访客户名称',
+ `cust_idc` varchar(100) DEFAULT NULL COMMENT '客户证件号',
+ `social_credit_code` varchar(100) DEFAULT NULL COMMENT '企业(商户)统信码',
+ `create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(100) DEFAULT NULL COMMENT '更新者',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `remark` varchar(500) DEFAULT NULL COMMENT '走访备注',
+ `cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
+ `dept_name` varchar(100) DEFAULT NULL COMMENT '部门名称',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1232 DEFAULT CHARSET=utf8 COMMENT='走访名单表'
+
+CREATE TABLE `visit_campaign_count` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '任务id',
+ `cust_num` bigint(20) DEFAULT NULL COMMENT '活动客户数',
+ `push_success_num` bigint(20) DEFAULT NULL COMMENT '推送成功客户数',
+ `allocate_rate` varchar(100) DEFAULT NULL COMMENT '机构分配率',
+ `issued_num` varchar(100) DEFAULT NULL COMMENT '客户认领率',
+ `claim_num` bigint(20) DEFAULT NULL COMMENT '认领客户数',
+ `valid_visit_num` bigint(20) DEFAULT NULL COMMENT '有效待走访客户数',
+ `visit_rate` varchar(100) DEFAULT NULL COMMENT '走访率',
+ `loan_sign_rate` varchar(100) DEFAULT NULL COMMENT '贷款合同签约率',
+ `increase_deposit_amount` varchar(100) DEFAULT NULL COMMENT '活期存款提升金额',
+ `push_client_id` varchar(100) DEFAULT NULL COMMENT '推送的客户经理',
+ `cust_type` char(1) DEFAULT NULL COMMENT '客户类型 0个人,1商户,2企业',
+ `dispatch_num` bigint(20) DEFAULT NULL COMMENT '已下发客户数',
+ `dept_id` bigint(20) DEFAULT NULL COMMENT '机构号',
+ `campaign_create_time` varchar(100) DEFAULT NULL COMMENT '活动创建时间',
+ `start_time` varchar(100) DEFAULT NULL COMMENT '活动开始时间',
+ `end_time` varchar(100) DEFAULT NULL COMMENT '活动结束时间',
+ `claim_ddline` varchar(100) DEFAULT NULL COMMENT '活动认领时限',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=537 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='走访任务统计'
\ No newline at end of file
diff --git a/doc/0515更新sql.txt b/doc/0515更新sql.txt
new file mode 100644
index 0000000..d0c49df
--- /dev/null
+++ b/doc/0515更新sql.txt
@@ -0,0 +1,371 @@
+-zy
+
+
+CREATE TABLE `admin_region_index_965` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `create_time` date DEFAULT NULL COMMENT '创建日期',
+ `level` int(11) DEFAULT NULL COMMENT '行政区划等级',
+ `code` varchar(255) DEFAULT NULL COMMENT '行政区划编码',
+ `item_idx` varchar(10) DEFAULT NULL COMMENT '指标码值',
+ `item_name` varchar(255) DEFAULT NULL COMMENT '指标名称',
+ `item_val` varchar(255) DEFAULT NULL COMMENT '指标值',
+ `dept_id` bigint(20) DEFAULT NULL COMMENT '归属机构',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '归属部室',
+ `head_id` bigint(21) DEFAULT NULL COMMENT '归属总行',
+ `branch_id` bigint(21) DEFAULT NULL COMMENT '归属支行',
+ `outlet_id` bigint(21) DEFAULT NULL COMMENT '归属网店',
+ `head_name` varchar(50) DEFAULT NULL COMMENT '归属总行名称',
+ `branch_name` varchar(50) DEFAULT NULL COMMENT '归属支行名称',
+ `outlet_name` varchar(50) DEFAULT NULL COMMENT '归属网点名称',
+ `user_name` varchar(50) DEFAULT NULL COMMENT '柜员号',
+ `nick_name` varchar(50) DEFAULT NULL COMMENT '柜员名称',
+ `index_type` varchar(100) DEFAULT NULL COMMENT '指标层级head、branch、outlet、manager',
+ PRIMARY KEY (`id`),
+ KEY `admin_region_index_965_code_IDX` (`code`) USING BTREE,
+ KEY `admin_region_index_965_item_idx_IDX` (`item_idx`,`ops_dept`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=19265 DEFAULT CHARSET=utf8 COMMENT='行政区划热力指标'
+
+ALTER TABLE grid_draw_user_relate ADD relate_branch_name varchar(100) NULL;
+ALTER TABLE grid_draw_user_relate ADD relate_outlet_name varchar(100) NULL;
+ALTER TABLE grid_draw_user_relate ADD relate_branch_id bigint(21) NULL;
+ALTER TABLE grid_draw_user_relate ADD relate_outlet_id bigint(21) NULL;
+ALTER TABLE family_member_965 ADD deposit_balance varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '存款余额';
+ALTER TABLE family_member_965 ADD loan_balance varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '贷款余额';
+ALTER TABLE family_member_965 ADD loan_manager varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '贷款客户经理';
+
+CREATE TABLE `grid_region_cust_user_965` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT,
+ `top_grid_id` bigint(21) DEFAULT NULL COMMENT '一级网格id',
+ `top_grid_name` varchar(100) DEFAULT NULL COMMENT '一级网格名称',
+ `sec_grid_id` bigint(21) DEFAULT NULL COMMENT '二级网格id',
+ `sec_grid_name` varchar(100) DEFAULT NULL COMMENT '二级网格名称',
+ `code` varchar(255) DEFAULT NULL COMMENT '行政编码',
+ `ops_dept` varchar(255) DEFAULT NULL COMMENT '业务归属',
+ `creator` varchar(255) DEFAULT NULL COMMENT '创建者',
+ `creator_id` bigint(21) DEFAULT NULL COMMENT '创建者id',
+ `creator_name` varchar(255) DEFAULT NULL COMMENT '创建者名称',
+ `create_dept_id` bigint(21) DEFAULT NULL COMMENT '创建机构',
+ `create_dept_name` varchar(255) DEFAULT NULL COMMENT '创建机构名称',
+ `cust_id` varchar(255) DEFAULT NULL COMMENT '客户号',
+ `cust_name` varchar(255) DEFAULT NULL COMMENT '客户名称',
+ `cust_type` varchar(255) DEFAULT NULL COMMENT '客户类型',
+ `user_names` varchar(255) DEFAULT NULL COMMENT '柜员号',
+ `nick_names` varchar(255) DEFAULT NULL COMMENT '柜员名称',
+ `branch_ids` varchar(255) DEFAULT NULL COMMENT '支行机构号',
+ `branch_names` varchar(255) DEFAULT NULL COMMENT '支行机构名称',
+ `outlet_ids` varchar(255) DEFAULT NULL COMMENT '网点机构号',
+ `outlet_names` varchar(255) DEFAULT NULL COMMENT '网点机构名称',
+ PRIMARY KEY (`id`),
+ KEY `grid_region_cust_user_965_cust_id_IDX` (`cust_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='行政网格管护关系表';
+
+CREATE TABLE `visit_trajectory_965` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `date` date DEFAULT NULL,
+ `lng` varchar(255) DEFAULT NULL,
+ `lat` varchar(255) DEFAULT NULL,
+ `count` varchar(255) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `visit_trajectory_965_date_IDX` (`date`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
+
+
+ALTER TABLE cust_info_business_965 ADD hq_cur_balance varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '活期存款余额';
+ALTER TABLE cust_info_business_965 ADD bz_cur_balance varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '保证金存款余额';
+ALTER TABLE cust_info_business_965 ADD is_credit varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否授信';
+ALTER TABLE cust_info_business_965 ADD loan_balance_cny varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款余额';
+ALTER TABLE cust_info_business_965 ADD loan_year_dailyaverage varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款年日均';
+ALTER TABLE cust_info_business_965 ADD is_ph varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否普惠签约';
+ALTER TABLE cust_info_business_965 ADD finance_prod_716_open_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否有签发承兑汇票';
+ALTER TABLE cust_info_business_965 ADD finance_prod_716_balance varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '承兑汇票余额';
+ALTER TABLE cust_info_business_965 ADD finance_prod_711_open_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否有贴现业务';
+ALTER TABLE cust_info_business_965 ADD finance_prod_711_balance varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贴现金额';
+ALTER TABLE cust_info_business_965 ADD intl_bussiness_jcbh_open_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否有保函业务';
+ALTER TABLE cust_info_business_965 ADD is_ustr varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否为有效代发工资客户';
+ALTER TABLE cust_info_business_965 ADD ustr_count_per_m varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '月均代发工资笔数';
+ALTER TABLE cust_info_business_965 ADD ustr_bal_m varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '月均代发工资金额(元)';
+ALTER TABLE cust_info_business_965 ADD eleccharge_sign_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否代扣电费';
+ALTER TABLE cust_info_business_965 ADD watercharge_sign_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否代扣水费';
+ALTER TABLE cust_info_business_965 ADD taxdeduction_sign_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否代扣税费';
+ALTER TABLE cust_info_business_965 ADD pjb varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否票据宝签约';
+ALTER TABLE cust_info_business_965 ADD czb varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否财资宝签约';
+ALTER TABLE cust_info_business_965 ADD sfb varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否收付宝签约';
+ALTER TABLE cust_info_business_965 ADD mrb varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否贸融宝签约';
+ALTER TABLE cust_info_business_965 ADD szst varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否数字生态产品签约';
+ALTER TABLE cust_info_business_965 ADD is_open_sts varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否开户';
+ALTER TABLE cust_info_business_965 ADD intl_bussiness_open_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否国际结算业务';
+ALTER TABLE cust_info_business_965 ADD intl_bussiness_325_open_flag varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否有远期结算汇业务';
+ALTER TABLE cust_info_business_965 ADD is_htqy varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否合同签约';
+
+ALTER TABLE cust_info_retail_901 ADD normal_location varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '常住地址';
+ALTER TABLE cust_info_retail_901 ADD idc_location varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '身份证地址';
+ALTER TABLE cust_info_retail_901 ADD relation_location varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '联系地址';
+ALTER TABLE cust_info_retail_901 ADD cur_bal_d varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '活期存款余额';
+ALTER TABLE cust_info_retail_901 ADD cur_bal_t varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '定期存款余额';
+ALTER TABLE cust_info_retail_901 ADD bal_loan varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款余额';
+ALTER TABLE cust_info_retail_901 ADD cur_bal_5_bad varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '五级不良贷款余额';
+ALTER TABLE cust_info_retail_901 ADD cur_d_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '活期存款年日均';
+ALTER TABLE cust_info_retail_901 ADD cur_t_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '定期存款年日均';
+ALTER TABLE cust_info_retail_901 ADD loan_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款年日均';
+ALTER TABLE cust_info_retail_901 ADD is_ph varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否建档';
+ALTER TABLE cust_info_retail_901 ADD is_sx varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否授信';
+ALTER TABLE cust_info_retail_901 ADD is_yxht varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否合同签约';
+ALTER TABLE cust_info_retail_901 ADD is_xyk varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否持有信用卡';
+ALTER TABLE cust_info_retail_901 ADD fshl varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否开通丰收互联';
+ALTER TABLE cust_info_retail_901 ADD is_sd varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否办理收单';
+ALTER TABLE cust_info_retail_901 ADD etc varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否办理etc';
+ALTER TABLE cust_info_retail_901 ADD dian varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否代扣电费';
+ALTER TABLE cust_info_retail_901 ADD is_black varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否贷款黑名单';
+ALTER TABLE cust_info_retail_901 ADD is_bad varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否五级不良贷款客户';
+
+ALTER TABLE cust_info_merchant_965 ADD actual_controller varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '实际控制人';
+ALTER TABLE cust_info_merchant_965 ADD cur_bal_d varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '活期存款余额';
+ALTER TABLE cust_info_merchant_965 ADD cur_bal_t varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '定期存款余额';
+ALTER TABLE cust_info_merchant_965 ADD bal_loan varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款余额';
+ALTER TABLE cust_info_merchant_965 ADD cur_bal_5_bad varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '五级不良贷款余额';
+ALTER TABLE cust_info_merchant_965 ADD cur_d_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '活期存款年日均';
+ALTER TABLE cust_info_merchant_965 ADD cur_t_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '定期存款年日均';
+ALTER TABLE cust_info_merchant_965 ADD loan_ave varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '贷款年日均';
+ALTER TABLE cust_info_merchant_965 ADD is_ph varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否建档';
+ALTER TABLE cust_info_merchant_965 ADD is_sx varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否授信';
+ALTER TABLE cust_info_merchant_965 ADD is_yxht varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否合同签约';
+ALTER TABLE cust_info_merchant_965 ADD is_xyk varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否持有信用卡';
+ALTER TABLE cust_info_merchant_965 ADD fshl varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否开通丰收互联';
+ALTER TABLE cust_info_merchant_965 ADD is_sd varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否办理收单';
+ALTER TABLE cust_info_merchant_965 ADD etc varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否办理etc';
+ALTER TABLE cust_info_merchant_965 ADD dian varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否代扣电费';
+ALTER TABLE cust_info_merchant_965 ADD is_black varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否贷款黑名单';
+ALTER TABLE cust_info_merchant_965 ADD is_bad varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '是否五级不良贷款客户';
+
+
+
+
+INSERT INTO grid_admin_division (id,province,city,county,town,village,code,parent_code,`level`,label) VALUES
+ (26811,'上海市','市辖区','崇明区','','','310151','3101',3,'崇明区'),
+ (26810,'上海市','市辖区','奉贤区','','','310120','3101',3,'奉贤区'),
+ (26809,'上海市','市辖区','青浦区','','','310118','3101',3,'青浦区'),
+ (26808,'上海市','市辖区','松江区','','','310117','3101',3,'松江区'),
+ (26807,'上海市','市辖区','金山区','','','310116','3101',3,'金山区'),
+ (26806,'上海市','市辖区','浦东新区','','','310115','3101',3,'浦东新区'),
+ (26805,'上海市','市辖区','嘉定区','','','310114','3101',3,'嘉定区'),
+ (26804,'上海市','市辖区','宝山区','','','310113','3101',3,'宝山区'),
+ (26803,'上海市','市辖区','闵行区','','','310112','3101',3,'闵行区'),
+ (26802,'上海市','市辖区','杨浦区','','','310110','3101',3,'杨浦区');
+INSERT INTO grid_admin_division (id,province,city,county,town,village,code,parent_code,`level`,label) VALUES
+ (26801,'上海市','市辖区','虹口区','','','310109','3101',3,'虹口区'),
+ (26800,'上海市','市辖区','普陀区','','','310107','3101',3,'普陀区'),
+ (26799,'上海市','市辖区','静安区','','','310106','3101',3,'静安区'),
+ (26798,'上海市','市辖区','长宁区','','','310105','3101',3,'长宁区'),
+ (26797,'上海市','市辖区','徐汇区','','','310104','3101',3,'徐汇区'),
+ (26796,'上海市','市辖区','黄浦区','','','310101','3101',3,'黄浦区'),
+ (26795,'上海市','市辖区','','','','3101','31',2,'市辖区'),
+ (26794,'上海市','','','','','31','',1,'上海市');
+
+INSERT INTO grid_admin_division_fence (id,grid) VALUES
+ (26811,'POLYGON ((121.44930772753433 31.780731558474947, 121.45062310720314 31.78023851946902, 121.45137547337288 31.77995767913022, 121.45326052836371 31.779254646022107, 121.46235044482428 31.77593006712192, 121.46423113567127 31.775194525316277, 121.46555870357786 31.77461361843047, 121.46602203741003 31.77433131670656, 121.4667431126736 31.77362514586376, 121.46757995717967 31.77274170772662, 121.46783988876655 31.772493487860512, 121.46810751419572 31.77227883631516, 121.46860473299876 31.772066311414783, 121.4712747100682 31.771098523818953, 121.47494121795725 31.769826746840437, 121.47630415543752 31.769384504901613, 121.47755243421 31.768980380157007, 121.47956655442586 31.76840023099495, 121.48063835523932 31.76820014053557, 121.48145780694213 31.76809281748735, 121.48222335554068 31.768153734389617, 121.48247597516287 31.768231932861482, 121.4828970070011 31.76821055454238, 121.48374672037107 31.768142818509723, 121.48588999085923 31.76773571289943, 121.49923128041158 31.765072894170718, 121.50006972175213 31.764818461293693, 121.50230928681222 31.764134678142035, 121.50605922390442 31.76339033871862, 121.51048470399154 31.76258025413012, 121.51699490064445 31.76152164748465, 121.51772403594526 31.761760010497035, 121.52113761078435 31.760140924592022, 121.52300662176512 31.75905477073565, 121.52522996412138 31.757680689492446, 121.52622758371376 31.756969338695665, 121.52765921217451 31.75596861078831, 121.53154627299357 31.75330143333358, 121.53298546770336 31.75246996114432, 121.54629663927263 31.74893632965064, 121.5575403230821 31.74622572089494, 121.55750153830289 31.745825215045176, 121.5574918425425 31.745725088133796, 121.55719961374109 31.74402136897096, 121.55721486371075 31.743949773184067, 121.55724498775582 31.74390344336667, 121.56340232122302 31.739803696194745, 121.5671893080378 31.73728501450341, 121.5672956757731 31.737228154693863, 121.5673863350494 31.73722960746148, 121.56743198207252 31.737259617952265, 121.56777476078625 31.737998790979283, 121.56786372430808 31.738268936989737, 121.5679821515634 31.738749022161606, 121.56805127699204 31.73899908127571, 121.56811078146806 31.739059229050884, 121.56850253288044 31.73915936839071, 121.57690060370652 31.732439994662702, 121.58072898526864 31.72933264306646, 121.58304073513641 31.727808055443347, 121.59521005770996 31.722183136040574, 121.59614233152723 31.721784700906483, 121.59659310825393 31.721591924918943, 121.60219926343972 31.719729347049274, 121.60624261615091 31.718390555234446, 121.60825518256468 31.71774935510136, 121.61045154433741 31.717052708785705, 121.610361650614 31.716717010071207, 121.60982949445932 31.714730766797533, 121.61021413725467 31.714567266227792, 121.62144145486229 31.71025970542586, 121.62164855288685 31.710255904711723, 121.62175596034885 31.71032050981545, 121.62182515195805 31.71055673404286, 121.6218489613537 31.711442535207105, 121.62172010189856 31.713352832124833, 121.62139129507183 31.715293860622047, 121.62110029870617 31.716578742247307, 121.62096238840624 31.717384563495372, 121.62093930225227 31.717621424355265, 121.62101601876782 31.717765032274603, 121.62114656458566 31.717809029054568, 121.62155306142805 31.717855438759624, 121.62203629485218 31.71788358605271, 121.62248111346955 31.71786277546724, 121.62263441264403 31.71779879053565, 121.62786537313431 31.715362461216742, 121.6328024699558 31.713105389589288, 121.63406952091785 31.71252497124382, 121.63470259241473 31.71224947746551, 121.64216656614407 31.709057880386354, 121.65262244992967 31.705777119019295, 121.65308487539023 31.70567007247797, 121.65330494576266 31.705714184822487, 121.65909288686309 31.70742191896194, 121.65961610529207 31.70757716931208, 121.66034436445948 31.707839532076008, 121.660485979317 31.707896165339324, 121.67232530216938 31.70444364778796, 121.67240867879173 31.704419291075222, 121.68518480690915 31.70058741684632, 121.69361716693294 31.697922695776242, 121.69788128703321 31.69652771421324, 121.7108483702945 31.692116045050327, 121.7239215322222 31.687558914532534, 121.73666833177741 31.683057803203276, 121.74931960819251 31.678749166800603, 121.76191336227566 31.674864573395737, 121.76452840111862 31.67420117667694, 121.77508459308079 31.671590629277702, 121.80201282569334 31.664683113440976, 121.81256664929109 31.661754154897704, 121.82736087036402 31.657362469429604, 121.8310714617916 31.656236212752397, 121.83116114969562 31.65621662349717, 121.84220617682703 31.6537636674579, 121.85684970404581 31.650375063562883, 121.87158399102233 31.647196798983845, 121.87427790891697 31.64667278210332, 121.8861468966299 31.644520373612117, 121.89610999424238 31.64275492805325, 121.89680019535537 31.621196574809233, 121.89680033630442 31.621192136127114, 121.89681176866793 31.62083876410831, 121.89936489319524 31.619789154546467, 121.90672103337081 31.61680865884968, 121.907978865409 31.616298227460703, 121.90797924641835 31.616298075120003, 121.91368511401288 31.613104405413072, 121.91885175003522 31.607966716088615, 121.91893191927394 31.607867510527704, 121.91905185623042 31.6076980357296, 121.91918041615808 31.607516353060564, 121.91924370202015 31.60725959083929, 121.9192693435496 31.607155557768028, 121.91928948866973 31.60702687764138, 121.91929903110051 31.606965902580104, 121.91930504783461 31.606817340403435, 121.91929332269424 31.60667433163678, 121.9192673982781 31.606572844306008, 121.919252062924 31.606512805836196, 121.91913403008559 31.606242469528794, 121.91893521412189 31.605897382633067, 121.91962323220733 31.605379060817228, 121.91985276115378 31.605206022864, 121.92216546367146 31.603459039098222, 121.92967599341642 31.597503044885293, 121.93062755037043 31.596721664654417, 121.93089477600036 31.588606513153238, 121.93013550027088 31.587020025450837, 121.9301592078257 31.587003752164637, 121.93019440773458 31.5869795911819, 121.93019750954316 31.58697741842744, 121.9302005807401 31.58697520954428, 121.93020361684489 31.58697297621065, 121.93020662863857 31.586970712172867, 121.93020960533256 31.58696841828755, 121.93021255141542 31.586966089175288, 121.9302154624042 31.586963734715024, 121.93021834369449 31.586961355828638, 121.93022119527102 31.586958940820658, 121.9302240063593 31.586956501344336, 121.93022678774034 31.586954031145595, 121.93022953852318 31.58695153651902, 121.93023224970804 31.586949011131537, 121.9302349311935 31.58694646132085, 121.93023757218145 31.586943880746748, 121.93024017807349 31.58694127482924, 121.93024275426443 31.58693864359036, 121.9302452854697 31.58693598786955, 121.9302477860743 31.586933306824683, 121.93025024708665 31.58693060042069, 121.93025267300224 31.58692786867583, 121.93025505933223 31.586925116970924, 121.93025740966021 31.586922335424095, 121.93025972040091 31.586919533018598, 121.93026199694457 31.58691670617734, 121.93026423210242 31.586913858471192, 121.930266428567 31.586910986312596, 121.93026858364539 31.5869080932901, 121.93027070003616 31.58690518031452, 121.93049196947092 31.586860368612967, 121.93079506548432 31.586798847207156, 121.93139103071567 31.58667742426091, 121.93159497800686 31.586635731736518, 121.93159504817818 31.58663571744531, 121.9318032924117 31.586593067794205, 121.9327634328121 31.586395477398437, 121.93316986969339 31.58680733957818, 121.93560787628901 31.590321045720312, 121.93602583252007 31.590562425944345, 121.93709437448129 31.590465135496206, 121.98127381462122 31.557135984632566, 121.9896684604553 31.549089189102354, 121.98966851019333 31.54908914416481, 121.99332427278601 31.54561980121489, 122.00030388002587 31.536577914407697, 122.00714484715128 31.52199271181935, 122.00726633500433 31.521734414288275, 122.00740809313626 31.520671740233727, 122.0074186516355 31.52059264420342, 122.00738315844741 31.520096757269698, 122.00737531632076 31.51998716838619, 122.00735870336437 31.51975489177444, 122.00693037851347 31.513754643413797, 122.00651511806645 31.507530545223144, 122.00651508834927 31.507530084816892, 122.00651451423977 31.507524527929288, 122.00651383674607 31.507517507552294, 122.00645373188 31.506934723679205, 122.00640222110425 31.506732245882922, 122.00636837672879 31.506599111928853, 122.00632798657382 31.50654556125667, 122.00955498331228 31.50497958011191, 122.00943601709086 31.503667076549057, 122.00903270935122 31.499222719212593, 122.00874304441356 31.496024554465947, 122.00818542650357 31.493569051551162, 122.00686047232146 31.487376776771214, 122.00636679231268 31.48599041931505, 122.0051402789104 31.48395412051592, 122.00494043302302 31.483767446227134, 122.00029935594499 31.485182835641, 121.99554247267636 31.48831025869174, 121.99190549303736 31.49062898237012, 121.99004418794193 31.493382622549166, 121.98812320473769 31.496190446970758, 121.98766191797755 31.496867311132494, 121.98626146745978 31.50245932489594, 121.98530419967355 31.506309850204747, 121.9844628427376 31.509589980353464, 121.98415075178647 31.51133049530164, 121.97600476763394 31.513606378659336, 121.9747314606422 31.513970539031856, 121.97473106083775 31.513970653820213, 121.97473102532675 31.51397066006692, 121.97434188165268 31.51314584637608, 121.97293357747391 31.510162462674394, 121.97282835694786 31.509939674905507, 121.97239446112258 31.509021081077456, 121.97169260574667 31.50753568401503, 121.97169249960312 31.507535456757303, 121.97157211152285 31.50728072482103, 121.97036353504902 31.50472455329419, 121.9690344841601 31.50191554558403, 121.96894053607193 31.501717047306663, 121.9689175992422 31.501679005073886, 121.96479642310715 31.494849191534787, 121.96473220526099 31.494742855779826, 121.96344499660385 31.492611879212483, 121.9623148453644 31.490741434720505, 121.96209332376243 31.49037485593554, 121.96199538080131 31.490212772496054, 121.96131201612259 31.48908197892963, 121.96072259166964 31.488106675092254, 121.96053063989662 31.48778906489498, 121.96001855924649 31.48700268083798, 121.96000758156634 31.48698582909216, 121.9600010340931 31.486976247044392, 121.95999907121387 31.486973376521316, 121.95997482117437 31.486952822732455, 121.95987721600763 31.486883569106602, 121.95987716502042 31.486883531200625, 121.95987705939854 31.486883460005117, 121.95981608004755 31.486840190133805, 121.95915036640297 31.486366424505274, 121.95851897139083 31.485916953607877, 121.95848470580728 31.485892557952834, 121.95754151714064 31.485216909270996, 121.95659846943576 31.4845409329693, 121.95637328312993 31.48437830713981, 121.95555647829889 31.483788149715533, 121.95513052532837 31.48348021072203, 121.95432249774777 31.482907455632326, 121.95363911311046 31.482422637656637, 121.95314453499914 31.48207149490107, 121.95231909588794 31.481479922645978, 121.95186557716534 31.48115460167951, 121.9514938438561 31.480887775945565, 121.95139649637667 31.48084878686751, 121.95026946866213 31.480036763306476, 121.9480487834107 31.47843199812366, 121.94427762616365 31.4756898720934, 121.9435184147889 31.475134929378328, 121.9426392086558 31.474490964715773, 121.94234598369479 31.474282521066378, 121.94233640989417 31.47427571098256, 121.9423362540985 31.47427561377629, 121.94227257566425 31.47423632583821, 121.9422438134283 31.47420479926338, 121.94224099070695 31.474164777492522, 121.9422422838433 31.474163629910514, 121.94228420333567 31.474126918311708, 121.94243480821024 31.474040770859503, 121.94243492859722 31.47404069859645, 121.94244405827948 31.474035477713908, 121.94252983270096 31.47399070751027, 121.94268772833718 31.473908271507938, 121.94291956600877 31.473776679354604, 121.94292001418184 31.473776426539178, 121.94428309490513 31.47300140000513, 121.94580635787028 31.472160981563714, 121.94598700325972 31.472061138721287, 121.94690988712506 31.47151976635559, 121.94694937139012 31.4714890644701, 121.94695017306954 31.47148843997938, 121.94699782542696 31.471451374680367, 121.94704380037591 31.47141089352363, 121.94704704773449 31.471408035171223, 121.94707354371417 31.471364151264517, 121.94707358902926 31.471364080901058, 121.94707360987138 31.47136404531249, 121.94708193803143 31.47135024915914, 121.94708204405798 31.47135007207173, 121.94710291212313 31.47129249800371, 121.94710391184702 31.47128693565121, 121.9471166345321 31.47121630151369, 121.94710852734204 31.47111645434933, 121.94707310997148 31.47102627166025, 121.94704902437742 31.470995983642986, 121.94701380076715 31.470951680202862, 121.94682636006563 31.470804198775802, 121.94642155597094 31.470587270126526, 121.94516161682985 31.469918696793695, 121.94458934613566 31.469614191359604, 121.94439631002444 31.46951135810241, 121.94363128385285 31.46910318186341, 121.94317252408942 31.468855213438697, 121.9418023536035 31.468112363515754, 121.94117577972092 31.46777357539349, 121.94070942371621 31.467520932945764, 121.94004660202071 31.467145957667153, 121.93982905528925 31.467028399910653, 121.93945723036515 31.466827253717106, 121.93941892322206 31.466806517270655, 121.93893420591611 31.466536180087648, 121.93893376815502 31.466535934992585, 121.93891715379709 31.46652639681028, 121.93818725809749 31.466107281878866, 121.93759238238069 31.465779091203835, 121.93741274192551 31.4656798425015, 121.93720709577296 31.465565896595482, 121.93658545944939 31.46522091858752, 121.93609489130293 31.46494942274857, 121.93609452466765 31.464949220008883, 121.93609435850576 31.4649491266238, 121.93609394671857 31.46494889898669, 121.93600412958338 31.46489913667615, 121.93592132425037 31.46485348301385, 121.93541172878179 31.46457220287248, 121.93495135535923 31.464314935995233, 121.93456771387235 31.464102542489186, 121.93393289026697 31.463846252002075, 121.93339983744954 31.46363041103109, 121.93321450333511 31.463555327393813, 121.93232878697708 31.463195510680293, 121.93122966428747 31.46274702334163, 121.92947510675141 31.462027022558747, 121.92886674584832 31.461775876612613, 121.92842232402003 31.461591920509395, 121.92822860673625 31.461511608082514, 121.92788187552034 31.461367670276694, 121.92733777634564 31.46114130522472, 121.92680398791744 31.46091863239611, 121.92627011813748 31.460695354117256, 121.92597343873601 31.460571021358287, 121.92580196845817 31.460499081791134, 121.92555871850666 31.460396927081486, 121.92378280362402 31.459644604941946, 121.92340007041066 31.459481746611587, 121.92307287173837 31.459342303617326, 121.92180690478168 31.458816301402553, 121.92180645615237 31.45881611299303, 121.92158162079795 31.45882874514892, 121.92158121287832 31.45882876707278, 121.92123979254458 31.458847800783687, 121.92081220677116 31.458871383547393, 121.92055385614547 31.458885499345175, 121.92045210346694 31.45888954293677, 121.91928493311822 31.458934825176815, 121.91776668937837 31.45899239100503, 121.91694070931202 31.459022400898455, 121.91652006953886 31.459039177428085, 121.91558143050601 31.459075824631217, 121.91537989714104 31.459083552562056, 121.91440336503855 31.459120342304523, 121.91420997112854 31.459127506855882, 121.91420983651165 31.459127507432346, 121.91383466395354 31.459141214981592, 121.91186901400664 31.45921072998648, 121.91153526065102 31.459222373378516, 121.91092403751723 31.45924345310091, 121.9106453030322 31.459252968166194, 121.9101246892946 31.45927057153023, 121.90967879753028 31.459287758359764, 121.90899912532758 31.459313695128024, 121.9084454045635 31.459344688023613, 121.90842996256691 31.45934554791106, 121.90842985847678 31.459345554264274, 121.90819218797739 31.458807991029772, 121.90802877642203 31.458438356979684, 121.90791006637605 31.45816982170892, 121.90790984300813 31.458169318093105, 121.90744049919458 31.457107528079554, 121.90721778874264 31.45660365155266, 121.90717887296267 31.45651560080106, 121.90690321334131 31.455891851898837, 121.90681362928899 31.45568915031726, 121.9068026859221 31.45566438199303, 121.90672703494785 31.455493194725882, 121.90665737500109 31.45534262673335, 121.90641815160762 31.454825528438967, 121.90639914522978 31.45478444174969, 121.90636587942721 31.454712532751657, 121.9062389589182 31.454438166628094, 121.90691903304398 31.45368458249492, 121.90697527019984 31.453622265412193, 121.9071847591172 31.453390104952675, 121.90762605746835 31.452901002824763, 121.90776574761408 31.452746171798744, 121.90790543760318 31.452591325827772, 121.90782284128183 31.452385518873655, 121.90765403152541 31.451964879694977, 121.90762236833262 31.451946271285596, 121.90760389728065 31.45193541438844, 121.90755589324503 31.451907202381655, 121.90742734952165 31.451832452731956, 121.90731556206111 31.451767440232658, 121.9073152699395 31.451767269880808, 121.90731492794816 31.45176707259609, 121.90731472487995 31.451766950338403, 121.9072997412662 31.451758238669722, 121.90725540718181 31.451730867836826, 121.90725477303536 31.45173048037794, 121.90725375766579 31.451729849256203, 121.90725339160929 31.451729626822832, 121.90725291153754 31.451729329322404, 121.90704546234878 31.45160124709394, 121.90688423174204 31.45150285683931, 121.90682405305382 31.451466126837133, 121.90655064895692 31.451296695983142, 121.90626054272303 31.451124667073, 121.90625852326993 31.451123485378016, 121.90623884523909 31.451111979032593, 121.9060419998036 31.45099685954212, 121.90604494678558 31.45099231407747, 121.90604802139916 31.450987572371808, 121.90603454092637 31.450976678762697, 121.90603432802315 31.45097650564264, 121.90601860300491 31.450965968604844, 121.90601269600147 31.450961956640185, 121.90600218932529 31.450954815839076, 121.90598797146883 31.450945837634492, 121.90597757456577 31.45093927039527, 121.90589464871172 31.450880772924037, 121.90586453208603 31.45085619052482, 121.90584602019092 31.45083670503595, 121.90583315114966 31.45081384583367, 121.90583313150992 31.450813810035623, 121.90582672957098 31.45080243422009, 121.90581953890992 31.450780741102168, 121.90581003998803 31.450752090382174, 121.9057929912497 31.450691464999075, 121.90578849740257 31.450675472109054, 121.90578842841029 31.450675229337783, 121.90577060365914 31.450630800501717, 121.90577058932203 31.450630749588022, 121.90577043466875 31.450630368772376, 121.90576572904949 31.45061018452938, 121.90575481618733 31.45056333242499, 121.90575369280958 31.450560299812505, 121.90574927180852 31.450548393351415, 121.90574170846727 31.450536936737517, 121.90573874250288 31.45053258787823, 121.90573552412258 31.45052787995081, 121.9057040284424 31.45050088977141, 121.90569002272758 31.450491371244425, 121.90567120394115 31.45047858075877, 121.90552677267374 31.450393998620402, 121.905373686143 31.450302877405328, 121.90536894447808 31.45030044742857, 121.90536011094757 31.450295921018743, 121.9053429486333 31.450287130850217, 121.90518206104274 31.450223195394027, 121.90511582219305 31.450197994559534, 121.90507355841308 31.45018191595086, 121.90502443998548 31.45016616508613, 121.90487332185245 31.450122075984567, 121.90478632403081 31.45009979002835, 121.9047862644391 31.45009977800742, 121.90473355008747 31.450086272225352, 121.90465419709042 31.45006720362687, 121.90445539937134 31.450019426534105, 121.90445433206854 31.45001918867101, 121.90444312623859 31.450016667721975, 121.90444246794746 31.450016053771066, 121.9044391596109 31.45001298791453, 121.90443564284742 31.45000973459997, 121.90441431383302 31.450006231719335, 121.90440826766825 31.450007788598338, 121.90440347072231 31.450009023640032, 121.90438376817939 31.450001194926905, 121.9043829709628 31.450000875763084, 121.90438164504779 31.450000258708886, 121.90437004821555 31.44999487022306, 121.90431775910362 31.449981885554624, 121.90424878454483 31.449964762282868, 121.90418764207159 31.449952827028344, 121.90412861498966 31.449941307812235, 121.90408861319675 31.449932533041704, 121.90408860779645 31.449932502244117, 121.9040872574396 31.449922620903987, 121.90407777185281 31.449853369308435, 121.90406858691183 31.44978627074592, 121.90395495984448 31.449744908724828, 121.90391411836751 31.44940335550615, 121.90362464023588 31.446982672817928, 121.90329353898915 31.444213437363963, 121.90321142342248 31.443526452390497, 121.90317449711122 31.44321228003848, 121.90040822910501 31.41952839288894, 121.89987716546277 31.414931995278938, 121.8948053617613 31.37049508246496, 121.89480411312891 31.370484192913402, 121.89485777452002 31.370442354357586, 121.8951485934057 31.37021563579115, 121.92280501040646 31.360225200415496, 121.92560132166855 31.359176305923306, 121.92602544174753 31.359016185864476, 121.93102344465458 31.357107861600443, 121.93380401995128 31.35604034538959, 121.96323458575614 31.344155712249098, 122.03787543306436 31.331878880765842, 122.09231637418907 31.328594422922833, 122.11449916718453 31.32819883242341, 122.12707210933058 31.32834669418212, 122.13483295820978 31.322559427936696, 122.13437221357182 31.315552459313153, 122.11835963317245 31.284432503126542, 122.11149007925687 31.27124236287593, 122.11005513183436 31.271794234953855, 122.10950066576902 31.272008360368417, 122.0681494723321 31.2887511312829, 122.0426429244483 31.295590725380993, 122.02803074067864 31.29822537680357, 122.00248872900333 31.30116108337947, 121.98427591931267 31.302697294075738, 121.94754995993415 31.304745855215085, 121.91775289526196 31.305635860262832, 121.9177506681005 31.305626941993538, 121.91598356087472 31.305638178847378, 121.90959400410243 31.3056499205059, 121.88529844267669 31.30565686235204, 121.87597928734907 31.30583269520572, 121.87157378407674 31.30311807469618, 121.87269205999853 31.289444230967444, 121.87287623574558 31.287214206117365, 121.87286955256397 31.28378475396428, 121.85392213839938 31.290422546095034, 121.80757195766377 31.307030926516255, 121.78326370260629 31.314589883029228, 121.77179585191838 31.318033232420927, 121.72631001416035 31.333206550963276, 121.71598694753236 31.338570134091523, 121.71202728993411 31.34061611755546, 121.70995728348176 31.341680278257922, 121.69687668208937 31.348280224527954, 121.55955972105241 31.415383332333242, 121.52562385754503 31.433767782183974, 121.52322188624714 31.4350920725912, 121.52313204611681 31.435141757466244, 121.5228068650481 31.435321694991124, 121.52204637808144 31.43585168461997, 121.4664365853531 31.476284361557465, 121.44007974112716 31.509042812257857, 121.42907992586136 31.52339142491249, 121.42652581200848 31.52671016217536, 121.42328946173416 31.530912326494224, 121.41437609064326 31.542487887906436, 121.40574711364988 31.553767176851135, 121.40474768133554 31.555037541457935, 121.40470168968004 31.555096029239326, 121.40470161999862 31.55509611758014, 121.4047027873367 31.555108667199026, 121.40462704723893 31.555196146748457, 121.40213713294412 31.55691744143301, 121.39996347580735 31.55838476500381, 121.39770331138062 31.559801564624145, 121.39633206889167 31.560630827860646, 121.39496764229794 31.56144332344536, 121.36361596008241 31.58007479468473, 121.35819941107776 31.583350171019767, 121.35300782319943 31.586472443603665, 121.3491017487574 31.5887430040382, 121.34365107420739 31.591625789409136, 121.33638424001022 31.598560219222055, 121.33490255085005 31.60028381600061, 121.33363635791635 31.601733415371726, 121.33061560325365 31.605044635721065, 121.31905040113962 31.617297895985633, 121.3126965372548 31.62391945327807, 121.31082475802422 31.625883821529257, 121.307882008373 31.62902766285187, 121.30469773895251 31.63243566675487, 121.30193291398908 31.635388047976228, 121.30088500902784 31.636490941167622, 121.2866481308474 31.65139900036896, 121.27959238706363 31.65873520576004, 121.27725500570365 31.6604675035133, 121.27577710039564 31.661603637469106, 121.27289625706815 31.663864639056364, 121.2603359147431 31.674343938879048, 121.25368314590959 31.678953648277755, 121.24723551413196 31.683442030688383, 121.23979590563157 31.68861383972733, 121.2296898859403 31.695579625819093, 121.221456183019 31.701156034732435, 121.21708048023977 31.70407805804549, 121.2068260747368 31.71080674907691, 121.20471345533763 31.711303054814138, 121.19526148410468 31.717623286748882, 121.19196794410027 31.720408279393745, 121.18740308110507 31.72334645554638, 121.17473530816291 31.7313186014817, 121.16234600160702 31.739165575995177, 121.15340225825139 31.744928559019925, 121.14716476427705 31.749141891991947, 121.14590376938233 31.750076754961956, 121.14527682398699 31.750624053221102, 121.14446563113063 31.75137505364547, 121.1344252633345 31.7605668799557, 121.13227265185103 31.76249996750763, 121.1288376693343 31.765574992281174, 121.12839441416892 31.76597218823389, 121.12466019415476 31.76919472089776, 121.12447177294568 31.769350669872736, 121.1192394765161 31.773680347066286, 121.11939930523158 31.77368754837293, 121.11963777708316 31.77376805068301, 121.12221978513627 31.77467957816386, 121.12224055309039 31.774686910186908, 121.12438818007352 31.775563457599198, 121.1269278446405 31.776759028476803, 121.12932965380698 31.778159126423034, 121.13009680878692 31.778607173015416, 121.15048049793045 31.790971956959094, 121.15499946041493 31.793846632257992, 121.16561846093984 31.801560969247216, 121.17222586871992 31.807554045015813, 121.18234364682931 31.81744900180729, 121.18975569912085 31.824750409865967, 121.19313574020423 31.82806280083327, 121.1959657226169 31.829854517858262, 121.19954623718279 31.832019294898565, 121.20159882538043 31.83327443599371, 121.20994067090007 31.838289149214678, 121.21654592355615 31.8421538143063, 121.22007069863116 31.844233878879205, 121.22580315311217 31.847422041588263, 121.22745262232421 31.848320761052804, 121.24066464017842 31.855410985799878, 121.24470668070467 31.8568503307233, 121.26262962813112 31.86284155168513, 121.2695941008162 31.865310622036475, 121.29756465316525 31.876182039375855, 121.30264032075684 31.87816014619385, 121.31277969716389 31.881080937374307, 121.32329483025681 31.88128306167253, 121.32452799252793 31.880901652381585, 121.32507780536837 31.880728998123125, 121.33427553744744 31.877726611428614, 121.34770663175614 31.873058753057094, 121.35301662086671 31.871147796241374, 121.37160133404056 31.864375237820592, 121.38770909046703 31.858735649144474, 121.39026212145096 31.85787108155121, 121.39264328750214 31.857033703071554, 121.39294933375982 31.856879440193104, 121.3935541003449 31.856267143080977, 121.40664201098436 31.83971503637324, 121.40873520139569 31.836966900755954, 121.40892286035833 31.836715580234724, 121.41067428278748 31.834370210353956, 121.41123815691331 31.833725071198508, 121.41530408944767 31.82907565306711, 121.4216837469229 31.82188555801057, 121.42624133900422 31.81855983850254, 121.42875310194698 31.817256436150423, 121.42881236445423 31.817188425257907, 121.43117153227564 31.813765041518227, 121.43159579193478 31.813048246956033, 121.43397902482144 31.80828164669683, 121.43368501271118 31.808133215561625, 121.43308980714066 31.807862799717856, 121.4324950241823 31.80761502192055, 121.43128584630203 31.80713769878788, 121.42940304840144 31.80638674479296, 121.4283777490067 31.80588267587798, 121.42841162149399 31.805799298556348, 121.43084270389524 31.801484884046815, 121.4310710429221 31.801112209034358, 121.43151112209385 31.80039439323112, 121.43185186342593 31.79983978211917, 121.43243326379945 31.798906968309275, 121.43275991355448 31.79838278504539, 121.43390135280043 31.796645929293604, 121.4367753280636 31.792902135396865, 121.43749511777918 31.791968587891308, 121.43896453077885 31.790094731730054, 121.43981726469251 31.789129436509572, 121.44092907185781 31.787881601857023, 121.44265137693924 31.78624971510696, 121.44501669276733 31.784059316446655, 121.44668295154067 31.782519629110812, 121.44817694431137 31.781145544244925, 121.44930772753433 31.780731558474947))'),
+ (26810,'POLYGON ((121.5767805857776 31.00455267609185, 121.57722404900906 31.004555967467123, 121.58369191646898 31.005310854110878, 121.58743488055683 31.00596829193237, 121.58905446384145 31.006703182024857, 121.59648175814313 31.00680934057805, 121.60085639225653 31.006755443098, 121.60186796308552 31.008264969164216, 121.60189675565698 31.008313960633636, 121.60461043908624 31.008094982117907, 121.6063688748279 31.00771506740998, 121.60909117896617 31.007201482961293, 121.61067815445668 31.006945588949357, 121.61149509831336 31.006863926956832, 121.61717307633876 31.006693232025054, 121.62303814669266 31.002509964788658, 121.62461896093781 31.00060925206943, 121.62613006429102 30.999093047194048, 121.62707445340192 30.99821683806619, 121.62713601240138 30.998206995193506, 121.62818072582881 30.998156644056486, 121.62994744004186 30.998158238173414, 121.63543840805701 30.998355311261086, 121.63778425585339 30.998451711705755, 121.6397629002371 30.99861187560165, 121.64374180666323 30.998874683308642, 121.64516029358349 30.99893479816669, 121.65290075905902 30.999259950940093, 121.65387095677482 30.999263559007055, 121.66280777502713 30.99919675409485, 121.6693955139797 30.999000935652596, 121.67575431140506 30.997894690213613, 121.67576118667714 30.99789128631928, 121.67576788760661 30.997887630128016, 121.67577439801543 30.997883731346082, 121.67578070352283 30.997879595202345, 121.67578679963405 30.997875226144966, 121.67579267106981 30.997870639290568, 121.67579830255045 30.997865833558777, 121.67580369407469 30.997860826049752, 121.67580882586962 30.997855624627626, 121.67581369254154 30.99785023013069, 121.67581828959563 30.997844662304583, 121.67582260624633 30.9978389255221, 121.67582662901125 30.99783303582138, 121.67583035699084 30.997826996794004, 121.67583378479186 30.997820824574948, 121.67583690252721 30.997814528046632, 121.67583970031002 30.99780811789092, 121.67584217903824 30.9978016040189, 121.6758443324202 30.99779500615364, 121.67584616135403 30.997788334205847, 121.67584765505428 30.997781588047683, 121.67584881441938 30.997774792886606, 121.67584963405669 30.997767963956125, 121.67585012385196 30.997761101375495, 121.67585026852663 30.997754218459495, 121.67591775026352 30.99735974424494, 121.67591868484642 30.99735463169841, 121.67591977401543 30.997349547090323, 121.67592101777049 30.997344488620563, 121.67592241701074 30.9973394625983, 121.67592397623031 30.997334473575712, 121.6759256846443 30.997329521423637, 121.67592754315164 30.997324610651333, 121.67592955714541 30.997319751220612, 121.67593171584072 30.99731493940279, 121.67593402373154 30.997310174350787, 121.67593648261608 30.997305470482583, 121.67593908530458 30.997300829511374, 121.67594182820214 30.99729624869377, 121.6759447113092 30.997291730728385, 121.67594773462653 30.997287289111778, 121.67595089725529 30.997282913933955, 121.67595419020857 30.99727861588498, 121.67595761798033 30.99727439411733, 121.67596117607778 30.997270259374478, 121.67596485820933 30.99726620528167, 121.67596866617318 30.997262238157887, 121.67597259817234 30.997258357980613, 121.6759766506123 30.997254579103384, 121.67650684640743 30.99677937688969, 121.67829006968127 30.995990728611726, 121.67833295098477 30.995985720522, 121.67837585252099 30.995980872022226, 121.67841879047644 30.99597616706806, 121.6784617477676 30.99597161988598, 121.67850473069099 30.995967232332394, 121.67854773385082 30.995962993552602, 121.67859076264533 30.995958917091837, 121.67863381257798 30.995954990304732, 121.67867688724716 30.99595121232123, 121.67871997766193 30.9959475974497, 121.678763088319 30.99594413583038, 121.67880621921977 30.995940828359096, 121.67884936586789 30.99593767409001, 121.67889253366096 30.99593467306969, 121.67893571630474 30.99593183063496, 121.6789789137995 30.995929142283142, 121.6790221279454 30.995926611626786, 121.67906535694368 30.995924230547068, 121.67910860079662 30.995922012538564, 121.67915185590569 30.995919942267705, 121.67919512137333 30.995918031421702, 121.67923840169696 30.995916273738946, 121.67928168878225 30.99591466914389, 121.67932498532863 30.995913223057254, 121.67936829223623 30.995911935484266, 121.6794116104043 30.995910796531597, 121.67945493353797 30.995909816039713, 121.67949826163769 30.995908993106493, 121.6795415965025 30.995908324146104, 121.67954849791208 30.995911280617168, 121.67955518438353 30.995914590626413, 121.6795616370241 30.99591823871681, 121.67956781805115 30.995922209268183, 121.67957372026589 30.995926493224474, 121.67957932207615 30.995931068807135, 121.67958458839772 30.995935922220173, 121.67958952012675 30.995941038178653, 121.67959408217894 30.99594640108704, 121.67959826825282 30.995951980300557, 121.67960205945607 30.995957765762366, 121.6796054458902 30.99596373399516, 121.67960841225977 30.995969863274414, 121.67961094866628 30.995976128322457, 121.67961303981491 30.99598251011364, 121.67961469110007 30.9959889880003, 121.67961588182881 30.995995532111102, 121.67961662279387 30.996002128142678, 121.679616898699 30.99600873907032, 121.67961671404059 30.996015351435044, 121.67961606971575 30.996021940048465, 121.6796149693204 30.99602847974456, 121.67961341465106 30.996034939942316, 121.67961141020518 30.996041311679924, 121.67960896497536 30.99604755903791, 121.67945919327138 30.996395716096856, 121.6793470708105 30.99665902009031, 121.67941883783948 30.997271039232256, 121.68082423498039 30.99804311577734, 121.68083367468024 30.998053446885784, 121.68084353010877 30.99806348585253, 121.68085379497084 30.998073217321995, 121.68086445037446 30.99808262674481, 121.68088046951546 30.998096768383586, 121.69556375261631 30.996382817964005, 121.69785713144773 30.996016266420344, 121.69828514809916 30.995931769140125, 121.69940828241351 30.995693324904522, 121.70597523301561 30.993516791442392, 121.70807249837975 30.992778920270762, 121.70938004119483 30.992282892289946, 121.71302526554871 30.990488906476347, 121.71464442291122 30.989574390089107, 121.71810708405268 30.987557081474915, 121.71833605896376 30.987422944084855, 121.71892401664056 30.987078506221064, 121.72043038596382 30.985996146287242, 121.7215650217135 30.985155992689187, 121.72311355316847 30.98388637927485, 121.72411964583189 30.983080653543194, 121.7253300840914 30.982252163260874, 121.72924023404687 30.979780325799773, 121.73358363372081 30.9770538636078, 121.73400795417021 30.9767468964177, 121.7353199311579 30.975676457664207, 121.73650435381623 30.974710905709095, 121.7387787284986 30.972659478716622, 121.74007977908757 30.97131547156744, 121.74230131791447 30.96814140810076, 121.74325081690343 30.964997664346814, 121.74757354457871 30.96343203805144, 121.74988177788973 30.962570923201092, 121.74992661184487 30.962538487869494, 121.75026093698446 30.962257619425305, 121.75501509912071 30.95820795405443, 121.75549021114459 30.95848847561632, 121.75917439729695 30.958197576149068, 121.76026723999004 30.95760697538156, 121.76067633864236 30.957349848618684, 121.76069266806425 30.95733384653888, 121.76070914271762 30.957317967140902, 121.76072576616936 30.95730219517505, 121.76074252498131 30.95728653497204, 121.76075942811777 30.957270992053452, 121.7607764701952 30.957255560953747, 121.76079365300387 30.957240241701125, 121.76081096401352 30.957225050338074, 121.76082842112208 30.95720996550141, 121.76084601180352 30.957195007733873, 121.76086373156606 30.95718016708078, 121.76088159206202 30.95716544909969, 121.76089958163905 30.957150851842872, 121.76091770029305 30.957136372614723, 121.76093595430349 30.95712202050286, 121.76095433201456 30.9571077899588, 121.76097283969791 30.95709368196956, 121.76099147736073 30.957079705540608, 121.76101023962062 30.95706585610553, 121.76102912109533 30.957052129097626, 121.76104813164832 30.957038533652174, 121.76106726320937 30.957025065167077, 121.76108651847018 30.9570117290828, 121.76110589294356 30.956998519944218, 121.76112538304838 30.95698544220867, 121.76114499685231 30.956972501387995, 121.76116472090493 30.956959688307577, 121.76118456417255 30.95694701119141, 121.76120452217003 30.95693446638416, 121.7612559492665 30.956909351244096, 121.76128709311034 30.956894190217536, 121.7613182905746 30.95687910978251, 121.76134953269528 30.95686410622091, 121.76138083471243 30.956849189639755, 121.76336393268265 30.955739026517918, 121.76471927125235 30.95499947430214, 121.76565764029984 30.95460671087903, 121.7673779889998 30.953384683243286, 121.76742328525681 30.953335630414614, 121.76742408949463 30.953311200101965, 121.76742428163381 30.95328674419163, 121.76742386706623 30.95326228797489, 121.76742284579669 30.95323783685233, 121.76742121155972 30.953213389819222, 121.76741897153713 30.95318897309851, 121.76741612394717 30.953164596562235, 121.76741266879282 30.95314026471271, 121.76740861235473 30.953115997458838, 121.76740395463153 30.953091794803743, 121.76739869385015 30.953067677421693, 121.76739283717207 30.95304364993734, 121.76738639266749 30.95301973319133, 121.7673793513893 30.952995931538265, 121.76737171871339 30.9529722549741, 121.76736350359877 30.952948718055517, 121.76735471141768 30.95292532717916, 121.76734533770546 30.952902096676834, 121.76733539142145 30.952879042006487, 121.76732487882684 30.952856163280472, 121.76775614674636 30.949939217799233, 121.76871895833281 30.945376435426844, 121.7699354818844 30.94292217275032, 121.76993570105695 30.94291225487984, 121.76993599001456 30.942902348148937, 121.76993634875265 30.94289244265814, 121.76993678174414 30.942882538486945, 121.76993728451846 30.942872640955585, 121.76993786244071 30.942862744759832, 121.76993850477801 30.942852854208745, 121.76993922584379 30.942842970456383, 121.76994001221922 30.942833092364765, 121.769940868373 30.942823211013767, 121.76994179878683 30.942813346281703, 121.76994279451026 30.942803487210437, 121.7699438689596 30.942793629538603, 121.76994500872073 30.942783782927314, 121.76994622273737 30.9427739430358, 121.76994750653854 30.94276411428446, 121.76994886011953 30.942754285874067, 121.76995028348786 30.942744474903545, 121.76995177127083 30.942734669578453, 121.76995333778174 30.942724871053, 121.77023431048646 30.94260280205723, 121.77214872819295 30.94229076206883, 121.7724992218534 30.942300567305093, 121.77570119571111 30.94141778484588, 121.77631282128175 30.9410263517918, 121.77745979669884 30.94044262971874, 121.77860969910796 30.939945340916545, 121.77917356148791 30.93984598399117, 121.77952678426878 30.939119115198384, 121.77944868730937 30.93851778073098, 121.7793692241971 30.938166387990506, 121.77958662705109 30.937791993451416, 121.77985342350682 30.937609827606234, 121.78019178552537 30.93748797772748, 121.78125143392238 30.93750528567048, 121.78127442759713 30.937504585190133, 121.78180993131083 30.93760251900994, 121.78260487979239 30.93763273802638, 121.78262811247455 30.937633338290578, 121.78265134511197 30.93763352801943, 121.78267456340058 30.93763331146265, 121.7826977664451 30.937632679605656, 121.7827209390486 30.937631642082486, 121.78274407226968 30.93763019333858, 121.78276716074446 30.93762833328119, 121.78279019016969 30.93762607156092, 121.78281314892148 30.937623398078372, 121.78283603342533 30.9376203235712, 121.78285883384578 30.937616841570968, 121.78288153409116 30.937612958099514, 121.7829041350552 30.93760867137448, 121.78292661170569 30.937603988163314, 121.78294897477039 30.937598901455406, 121.7829712027938 30.93759342258024, 121.78299328683542 30.937587551386052, 121.78301522153087 30.937581285983505, 121.78303699257619 30.93757463332768, 121.78305859907806 30.937567597006364, 121.7830800267317 30.937560176776156, 121.78310126570321 30.937552378770516, 121.78312231062823 30.93754420110147, 121.78314315167376 30.93753565530209, 121.78316377363974 30.937526734815886, 121.78318418189234 30.937517450538774, 121.78320435676287 30.937507806636205, 121.78322429378082 30.93749780393624, 121.7839918390371 30.936448192180684, 121.7843838784271 30.93532945436418, 121.78436439160825 30.935323640224397, 121.78434508809366 30.935317383561983, 121.78432597414101 30.935310659291293, 121.78430706405712 30.935303499151875, 121.78428838198259 30.935295896355285, 121.78426993954086 30.93528785290225, 121.78425174477904 30.9352793824317, 121.78423380932057 30.935270491444093, 121.78421615641211 30.935261180336447, 121.78419879231244 30.93525145731945, 121.78418173132752 30.935241335238445, 121.78416498329234 30.93523081786529, 121.78414856877129 30.93521991005255, 121.78413249134081 30.935208623565806, 121.78411676798916 30.935196972196238, 121.78410140676282 30.935184951587736, 121.78408642375587 30.935172576416676, 121.78407182880369 30.935159863953366, 121.78405762637645 30.935146811581422, 121.78404383614466 30.93513344123638, 121.78403046347258 30.935119747617314, 121.78401751908991 30.93510575610841, 121.78400501640778 30.93509146694359, 121.78399295632074 30.93507689994171, 121.78398135402784 30.93506205086757, 121.7839702229413 30.935046948749722, 121.78395956037856 30.93503159444965, 121.78394936902167 30.935015998817356, 121.78385624844468 30.93445466022018, 121.78413505193028 30.932968238295665, 121.78475532272184 30.93165065193015, 121.78584103261569 30.929507376723063, 121.78591773770003 30.92931917769395, 121.78599942944487 30.929118765541617, 121.78612594546827 30.928797376509714, 121.78680550215003 30.925865141130892, 121.78713140144689 30.924450805037672, 121.78750646285874 30.922668372661885, 121.78757503322669 30.922062051684165, 121.78735010520481 30.921009698534903, 121.78668523236347 30.91843352980545, 121.7865899661212 30.918064302457694, 121.7862788846575 30.917436704163563, 121.7855689205918 30.916415534251296, 121.785328621162 30.916063176110136, 121.78464666650832 30.91097331854255, 121.78471762319452 30.907888105070022, 121.78521704721959 30.905525838776946, 121.78495736198384 30.900612785423665, 121.78387137218735 30.896396982780242, 121.78373189014575 30.89593585058866, 121.782660235489 30.890994084890377, 121.78304266949714 30.886631173623336, 121.77897624164156 30.883664915480093, 121.77680015347484 30.877465715267572, 121.77433291472713 30.869543415147998, 121.7744886477602 30.867263151052427, 121.77456353594778 30.866165237604935, 121.77520071860306 30.857040115611568, 121.77558314324304 30.85446557558925, 121.77522054514584 30.85488724376806, 121.75190436096572 30.854844840018664, 121.75117726698814 30.854451689795287, 121.74998962598731 30.853810748367533, 121.72965023216547 30.8536285469458, 121.72910093473024 30.85362814699411, 121.72846304272359 30.8535938717847, 121.7145250942295 30.85288009857018, 121.71449079727999 30.85287836856993, 121.71448895482612 30.852877624759753, 121.71115247124243 30.85152779634804, 121.70933432609439 30.85153378187271, 121.69717802459833 30.851527996200556, 121.67763727173454 30.8501709321968, 121.67329697468423 30.849819099407068, 121.67005081985468 30.849371948745265, 121.66718645445107 30.847808433276345, 121.66667460271047 30.847528464709143, 121.66617104249237 30.847252886157882, 121.66588478449233 30.846596167523614, 121.66536838204505 30.84628419967031, 121.64967549962654 30.843940245904786, 121.64955610651589 30.844727025994544, 121.63467199195694 30.84262351909862, 121.62556286314503 30.8405056020587, 121.62613444297966 30.83713163557841, 121.6261485698663 30.836852596574868, 121.62578994668341 30.836567614801858, 121.60429888915515 30.830634953184006, 121.58230689904046 30.825828247896297, 121.58090074006562 30.825528784897458, 121.58046567193936 30.82558597085665, 121.54202730772971 30.816077503050273, 121.54145665487007 30.816297058059245, 121.54115458602853 30.816824064443125, 121.53905162969174 30.819177660440957, 121.5358634377015 30.822746081093587, 121.51810824969947 30.816861359470504, 121.52096004309877 30.809083583146247, 121.52094067056859 30.808393270335273, 121.50236574371623 30.800882274937, 121.50096184525053 30.799893095359003, 121.4979952607536 30.79780989538992, 121.48588775131391 30.79154594869552, 121.46949993962619 30.785621778526632, 121.46949685510647 30.78562654600091, 121.46932747110121 30.785887891585833, 121.46122058690399 30.79882036334611, 121.46161956161463 30.79901995189878, 121.45990957856793 30.801798876525744, 121.45869037298357 30.803745516547874, 121.45632285545585 30.80749091869557, 121.45329247024452 30.812008007343298, 121.44987322212734 30.813157724294804, 121.44702574950458 30.815628094003912, 121.44464464630718 30.821479391202704, 121.44425311367017 30.822441630409376, 121.44344237045432 30.824404363336242, 121.44335511201444 30.824615606475167, 121.44333774481407 30.824657634969054, 121.43925575359137 30.824981575567534, 121.43702877269334 30.824733696595313, 121.43140642094343 30.825079560757146, 121.42696748342655 30.825831660117558, 121.42693196289409 30.825825343254184, 121.42689475238183 30.825777701162004, 121.42685522161044 30.825577072171452, 121.42682292518282 30.825044279932634, 121.42666454959674 30.824215503820277, 121.42640005224087 30.823199023140795, 121.42631628414627 30.82288220552162, 121.42620034605228 30.822443925016373, 121.42612532854541 30.822301138230692, 121.42603989590776 30.82225019749912, 121.42603319247324 30.822246196732877, 121.42373777462556 30.822089134828172, 121.42343041292284 30.82207427585899, 121.42240170549356 30.822070932721363, 121.42199138858979 30.82213852187159, 121.4219260493644 30.822238235258276, 121.42213291408751 30.823476300958667, 121.42230890290107 30.824674632732915, 121.42211386845538 30.826247548473187, 121.42191516279149 30.826401565372045, 121.42034688570962 30.826919805326465, 121.41695935523377 30.827839283483893, 121.41396362346657 30.828534721345317, 121.4137386372623 30.82858154133425, 121.41169638023493 30.82921576953549, 121.40775036516467 30.83303504551888, 121.40740908367027 30.835683551819212, 121.40744323956626 30.835697633275057, 121.40747744447145 30.8357116494694, 121.40751167867303 30.835725592860932, 121.40754595828656 30.835739456528188, 121.40758027167887 30.835753251969624, 121.40761462511342 30.835766972993305, 121.40764901321687 30.835780620405714, 121.40768344136205 30.835794193399714, 121.40771790865902 30.835807698259714, 121.40775240972248 30.835821123191412, 121.40778694635456 30.8358344799258, 121.40782152212748 30.835847757724576, 121.40785613256702 30.83586096100934, 121.40789077767907 30.83587409607972, 121.4079254628311 30.835887156728905, 121.40796017727195 30.835900139168327, 121.40799493085584 30.835913046269813, 121.40802971910712 30.835925880654564, 121.40806454202828 30.835938645022, 121.40809940050698 30.835951331286978, 121.40813429275522 30.835963943017493, 121.40816921877368 30.83597648111294, 121.40820417587543 30.835988945525287, 121.40823917659277 30.83600133017429, 121.40827420212926 30.836013646428654, 121.40830926232583 30.83602588366055, 121.40834435718673 30.83603804636941, 121.40837948133927 30.836050135359756, 121.40841464105151 30.836062149841222, 121.40913583021187 30.835960400794825, 121.41006446072036 30.83585112854068, 121.41030873985608 30.836009602481923, 121.41096750519743 30.838190869851047, 121.41106671402004 30.838929584365623, 121.4111523331148 30.839748095277834, 121.40616455905 30.840005099458804, 121.4045691063915 30.839260817362998, 121.40423753853135 30.83903458498777, 121.40399399802898 30.838544083018995, 121.40336494869095 30.834821983705314, 121.40338192799052 30.83469948705364, 121.40143119971226 30.833725169540262, 121.398886573655 30.832939093243844, 121.39471894240546 30.835331967752044, 121.39004671208751 30.839567857112993, 121.3900413364228 30.83957290262314, 121.39003625063677 30.839578174441993, 121.39003146010265 30.839583648287476, 121.3900269756045 30.839589313402225, 121.38792221900071 30.84238984970896, 121.38614773519211 30.845412837324506, 121.3859707009727 30.84688311132389, 121.38597214306773 30.848686888298985, 121.389016665277 30.84885087901081, 121.39047668021101 30.848924929522227, 121.39141896333108 30.848891870559086, 121.39184302491532 30.848808393631753, 121.39154147153201 30.85310198322256, 121.39077934044207 30.860996960367906, 121.39007152965532 30.86807952477702, 121.38941402263684 30.875038292136868, 121.38935909507819 30.880053429850577, 121.38884401657324 30.88419242288406, 121.38870929017365 30.884497456488916, 121.38867962217506 30.884564541975703, 121.38833983015535 30.884797672675305, 121.38742822781143 30.884971538140654, 121.38704100224835 30.885031555208986, 121.38524027435363 30.885223290032382, 121.38454555417057 30.885385227166086, 121.38337110649906 30.885832086414812, 121.38232527815521 30.88625583447861, 121.38182625852191 30.886506613595795, 121.37671432556971 30.88954535370727, 121.36983439079064 30.89245669996515, 121.36789085720095 30.89796815615307, 121.36499246547297 30.906403164317297, 121.36364659803647 30.91310912615747, 121.36353112250677 30.913587350607354, 121.36347680767207 30.913812288577297, 121.363079212797 30.914437785400935, 121.36218014873312 30.915538641908125, 121.36152994389602 30.91633486407588, 121.35836161236024 30.919159432069392, 121.36155825325898 30.92225868630988, 121.36190057045589 30.922646441786792, 121.36205801945601 30.922862709625434, 121.36214944693508 30.92304069886565, 121.36218428949343 30.923194225211624, 121.36226270892 30.92379364023656, 121.3624400420943 30.925463098601472, 121.36244709712783 30.92563930233177, 121.36242465988654 30.925708115678457, 121.36188701943881 30.927130076804954, 121.3618182782445 30.92724029037676, 121.36166105217954 30.927380858949512, 121.35881735452534 30.92961406606706, 121.35879852992008 30.92961573367315, 121.35877970981198 30.929617455225316, 121.35876090053962 30.92961923241451, 121.35874209667004 30.9296210644334, 121.35872329639113 30.929622956711157, 121.35870450242075 30.929624903802356, 121.3586857183813 30.929626905644835, 121.35866693883824 30.92962896772956, 121.35864816922647 30.929631084564793, 121.35862940501703 30.929633260726362, 121.35861064530668 30.92963548813139, 121.35852505166572 30.929828847926544, 121.35855309427413 30.932677616196145, 121.35855598075139 30.93271381664012, 121.35855889808587 30.93275001657594, 121.3585618453718 30.93278621601907, 121.35856481808162 30.932822415046942, 121.35856782527122 30.932858608105843, 121.35857085879007 30.932894800734168, 121.35857391682768 30.93293098846372, 121.3585770102501 30.932967175607793, 121.35858013453009 30.933003356844985, 121.35858327880034 30.933039543158944, 121.35858645845568 30.933075723488642, 121.35858966806299 30.933111898826834, 121.3585929030938 30.93314807824915, 121.35859617260428 30.933184252602555, 121.35859946844455 30.933220421126713, 121.35860279423629 30.93325658915853, 121.3586061499797 30.93329275669814, 121.35860953205271 30.933328918408503, 121.3586129431717 30.933365080541968, 121.35861638514815 30.933401236768873, 121.35861985707625 30.93343739250364, 121.35862335986153 30.93347354233191, 121.35862689259841 30.93350969256794, 121.3586304498535 30.933545846903954, 121.35863403343825 30.93358199091181, 121.35863765150233 30.933618133450526, 121.35864129589591 30.933654271959906, 121.35864497476867 30.933690409000157, 121.35864868359303 30.93372654554862, 121.35865199118729 30.933737775508195, 121.35865540926486 30.93374897838671, 121.3586589278644 30.933760159753515, 121.35866256328599 30.933771308532148, 121.35866629832401 30.933782435814692, 121.35867013931733 30.93379352709581, 121.35867408626574 30.933804595872857, 121.35867813826358 30.93381563226343, 121.35868229712189 30.933826642535447, 121.35772753739266 30.93652462035734, 121.3577497113345 30.9365317995246, 121.35777193596391 30.936538882462305, 121.35779420041344 30.93654586935762, 121.35781650468248 30.936552756611736, 121.35783886054315 30.936559546722975, 121.35980647990107 30.93725912086838, 121.35989408526886 30.93728474318258, 121.36018058079497 30.93733711717345, 121.36022745421724 30.937343774750914, 121.36025977880657 30.937312845797752, 121.36026314188717 30.93721646496279, 121.36022632553588 30.936932763729654, 121.36026161228321 30.936730791532426, 121.36026705402308 30.936723135429745, 121.3602728471069 30.936715667774887, 121.36027898248102 30.93670839951988, 121.36028544565939 30.936701347107906, 121.36029223573615 30.93669451325484, 121.36029933822597 30.936687918903015, 121.36030673773558 30.93668156611309, 121.36031442883376 30.93667547207516, 121.36032239160049 30.936669644325278, 121.36033061154926 30.936664093007398, 121.36033908868029 30.936658827121246, 121.36034779673541 30.936653851610078, 121.36035672213302 30.936649173902776, 121.36036585853654 30.9366448121045, 121.36037518602555 30.936640767451983, 121.36038468468008 30.936637045681096, 121.36039434453969 30.93663364606068, 121.36040415111896 30.936630588632756, 121.36041408811828 30.93662786467414, 121.36042413561917 30.93662548891887, 121.36043427913397 30.936623461611696, 121.36044449783725 30.936621784003773, 121.36045478267467 30.936620459847617, 121.36046511191479 30.9366194859101, 121.36047547741022 30.936618875826635, 121.3604858474698 30.93661862653166, 121.36155637423438 30.936611880955873, 121.36165027831136 30.936629378893024, 121.36170740250046 30.936690014093585, 121.36211489912314 30.937677744505812, 121.3621181124359 30.937689414302344, 121.36212116461277 30.937701115552816, 121.36212404660222 30.937712855604723, 121.36212675659186 30.937724623689125, 121.36212930001439 30.93773642421555, 121.36213166781602 30.93774825193351, 121.36213386452368 30.93776010856782, 121.36213589013727 30.937771992318527, 121.3621377500872 30.937783894097123, 121.36213943894354 30.93779582389149, 121.36214094584042 30.937807771081623, 121.36214228707296 30.93781973179965, 121.3621434572102 30.937831709734244, 121.36214445082042 30.937843705874574, 121.36214527333462 30.937855714731803, 121.36214592475187 30.937867731806517, 121.36214640054551 30.937879756273176, 121.36214670524235 30.937891788957096, 121.3621468334094 30.937903824548393, 121.36214679047951 30.937915867457015, 121.3621465755456 30.937927908699113, 121.36214618589241 30.93793995191894, 121.36214561970866 30.93795199444669, 121.36214488151957 30.937964029008963, 121.36214397313684 30.937976060975235, 121.36214289365321 30.937988081361777, 121.36214163763762 30.938000094757562, 121.36214021504743 30.938012095599618, 121.36213861230266 30.938024084111518, 121.36213474838972 30.938033173530656, 121.3621306581341 30.93804219109086, 121.36212634606127 30.938051133118893, 121.36212181760251 30.938059997726217, 121.36211706823124 30.938068786787895, 121.36211210699766 30.938077488457314, 121.36210693480608 30.938086099120742, 121.3621015552783 30.93809462321883, 121.36209596478936 30.938103045514104, 121.36209017329857 30.938111370342853, 121.36208417537148 30.93811958969647, 121.36207798096702 30.938127706111544, 121.36207158464995 30.93813570708018, 121.36206499818972 30.938143595108972, 121.3620582197735 30.938151362129872, 121.36205125483347 30.938159011653784, 121.36204409884043 30.938166533857654, 121.3620367662781 30.938173924004296, 121.3620292580526 30.93818118747909, 121.36202156872898 30.938188313573928, 121.36201371279218 30.938195302050964, 121.36200568571415 30.938202149386374, 121.36199749835812 30.938208853602198, 121.36198914891067 30.93821540483049, 121.36198063918447 30.93822181474092, 121.36197197732335 30.93822806610226, 121.36196317056998 30.93823416059562, 121.36195421711186 30.93824009195272, 121.361945117855 30.938245865558798, 121.36287881836004 30.93967486211443, 121.366006930818 30.940702217501677, 121.36608656273683 30.940704156146236, 121.3671981138185 30.940547818815524, 121.36861831940215 30.940394612120333, 121.3688846625081 30.940370136796517, 121.36913054249032 30.940394684144625, 121.3691433237381 30.94081692649471, 121.36905669043168 30.954404908393563, 121.36936875028688 30.95889297825311, 121.36935956232317 30.958916530778726, 121.36932723628776 30.958907613612055, 121.3694363252508 30.959864010106806, 121.36971145216357 30.96131507162121, 121.36973662818905 30.961605305385884, 121.36976735973894 30.96216870727046, 121.3697472352895 30.963834195237805, 121.36974155717735 30.964303809963624, 121.36863517942933 30.967331012486664, 121.3680967036408 30.972464870507395, 121.3681000536907 30.97246508357526, 121.36779677106752 30.97532228818667, 121.367040249581 30.980887423780278, 121.36703899636859 30.98088731156877, 121.36687185508983 30.98211353587772, 121.36661055367219 30.984044149128305, 121.37556315541016 30.986445605607948, 121.3770758942615 30.98683184893504, 121.37946050242014 30.987503630447645, 121.39132344605308 30.990930294122037, 121.39442041148517 30.991963252790008, 121.3976957248108 30.992876955811937, 121.39963281607729 30.993310572257986, 121.40318225425905 30.99379819873637, 121.40569310376509 30.994147042464206, 121.41033643216447 30.994888031278624, 121.4127894520887 30.9953346094437, 121.41662930793318 30.996159131137638, 121.41902207841517 30.996734150857552, 121.42391578842307 30.998226183579735, 121.43087494423206 31.001012055715208, 121.43305062253361 31.0020842614892, 121.4341111886942 31.002664589903635, 121.43636393464298 31.004152963062648, 121.43671092726355 31.004401390530127, 121.43782810120703 31.005507158526438, 121.44014196935196 31.007792925583125, 121.4417321116634 31.00933191398911, 121.44453420019933 31.010942593670098, 121.44733887365213 31.012486864369873, 121.45056568245676 31.013094667898265, 121.45413209518584 31.013692849352605, 121.45429315351664 31.013691732277422, 121.46014379978 31.01363512074918, 121.46386105831405 31.013620691928082, 121.46805132578535 31.013710204004507, 121.47067239067539 31.01467823091548, 121.47306098543328 31.015680810938893, 121.4756520951284 31.01676700486688, 121.47705237000844 31.01735372655625, 121.48081737013729 31.018656046968967, 121.48304196088247 31.019043192842442, 121.4952604762724 31.020827342123354, 121.49697688762011 31.019815167300777, 121.49815978565483 31.019102155071117, 121.49851973170324 31.01888539321133, 121.49864642749702 31.018773129727197, 121.49866925449382 31.018751965273545, 121.4986909193377 31.01872990769135, 121.49871137171884 31.01870700872382, 121.49873056132526 31.018683322813487, 121.49874845401882 31.018658890738173, 121.49876500486097 31.018633782179872, 121.49878018240082 31.018608044190135, 121.49879394260569 31.018581735651033, 121.4988062710798 31.018554907039874, 121.49881712736631 31.018527633402325, 121.49882649078958 31.01849995629456, 121.49883434243587 31.018471955043818, 121.49884066162424 31.0184436739162, 121.4988454384156 31.018415193955782, 121.49884865750775 31.01838656568166, 121.4988503188489 31.01835785385401, 121.4988504134065 31.01832912333325, 121.49884894022297 31.018300444300035, 121.49884591002892 31.018271866127677, 121.49884132185868 31.01824346440778, 121.49883518553256 31.01821529933197, 121.49882751625726 31.0181874301419, 121.49881833462477 31.018159916928457, 121.49829498310561 31.016742095524357, 121.49784240039634 31.015880825732662, 121.4984968730199 31.01375772005759, 121.49962285219183 31.010183327416144, 121.50194845568409 31.00376070874338, 121.5049861412339 31.003915063399106, 121.5049997345425 31.004353710036185, 121.50543563947724 31.005625176998414, 121.50938184797425 31.008697301206638, 121.50951472285587 31.008783762554035, 121.50984134803639 31.008992352340307, 121.51130805205372 31.009747958201253, 121.51187321901965 31.009872283176687, 121.51229734354787 31.009961246598674, 121.51342937489184 31.010067652058485, 121.51488843405335 31.010213719800984, 121.51490538923096 31.010210438439387, 121.51492248884122 31.010207758166437, 121.51493970783999 31.010205685159942, 121.51495701045181 31.010204227340658, 121.51497437164024 31.010203380086317, 121.51499176278593 31.010203148651442, 121.51500915348511 31.01020353288121, 121.51502651959386 31.010204532651237, 121.51548332333898 31.010239873260115, 121.51565413710642 31.010266291757233, 121.51637173588746 31.010399983218257, 121.5168838160321 31.01069515300226, 121.51694509851549 31.01073012605881, 121.51724584318015 31.01089810077013, 121.51730881319482 31.010927937213484, 121.51801844675144 31.011224468940547, 121.51856751900627 31.011341098591718, 121.51859890655935 31.01134758492394, 121.51863045786081 31.011353413050937, 121.51866215414782 31.01135857743059, 121.51869398470215 31.011363068987148, 121.5187259200329 31.011366891982018, 121.5187579494197 31.01137004183416, 121.51879004337631 31.01137251740232, 121.51882219832817 31.011374318660422, 121.51885438211536 31.011375435443398, 121.51888658132864 31.011375878434905, 121.51891877631488 31.011375642069687, 121.51895094652484 31.011374726170747, 121.51898307676743 31.01137313510339, 121.51901514381655 31.011370864165315, 121.51904713069088 31.01136792400033, 121.51907901863729 31.01136430274314, 121.5191107871021 31.011360010103243, 121.51914241732423 31.01135504770654, 121.51917389411194 31.011349424405836, 121.51920519692217 31.011343135510167, 121.51923630073917 31.011336185284286, 121.5192399706654 31.01132974963087, 121.51924392908214 31.011323437078445, 121.51924815542809 31.011317266342537, 121.51925265952605 31.011311243810137, 121.51925742707499 31.011305378355335, 121.51926244734965 31.011299675285073, 121.51926772570401 31.011294143646328, 121.51927323800776 31.011288794926028, 121.51927898872411 31.011283633664952, 121.51928496712229 31.011278674166896, 121.51929116426695 31.011273917256073, 121.51929756049644 31.01126937175915, 121.51930416384722 31.01126504314837, 121.51931095198024 31.011260936627735, 121.51931791863132 31.011257066539994, 121.51932505397555 31.01125342830279, 121.51933234728546 31.011250030821046, 121.51933979051607 31.011246880323995, 121.51934737204944 31.011243981209915, 121.5193550731202 31.011241338712985, 121.51936289283519 31.01123895192786, 121.51937081153213 31.011236831478357, 121.51937882474732 31.01123497192868, 121.51938691192227 31.011233388392426, 121.51994176188161 31.011126908000218, 121.51996042860368 31.011123676069886, 121.51997924309357 31.011121145752092, 121.51999817139456 31.01111933292936, 121.52001718849478 31.011118235572308, 121.52003625062197 31.011117854172824, 121.52005532114808 31.011118193785816, 121.52007436166552 31.01111924865109, 121.52009334269327 31.01112102388663, 121.52011222314562 31.011123512803067, 121.52013096908452 31.01112670697688, 121.52014955013809 31.011130609712385, 121.52016792255094 31.01113520079326, 121.52018606131296 31.011140480871955, 121.5213621398775 31.012765978310856, 121.52135853485733 31.012787089525126, 121.52135504411872 31.012808221726235, 121.52135167302728 31.012829365072793, 121.52134842068298 31.01285052945087, 121.52134528709321 31.01287170496327, 121.52134227315054 31.012892892518188, 121.52133937885252 31.012914095713523, 121.52133926679672 31.01292476830838, 121.52133950213765 31.012935449908685, 121.52134009114057 31.012946120786946, 121.5213410266624 31.012956779070077, 121.52134230513941 31.012967412126226, 121.52134393640362 31.012978008362786, 121.52134590973789 31.01298856766966, 121.5213482305106 31.01299907570936, 121.52135088979387 31.013009527892457, 121.52135389116789 31.013019912562413, 121.52135723017264 31.013030221578006, 121.52136090234666 31.013040448597664, 121.52136490769612 31.013050584627322, 121.5213692399763 31.013060618808844, 121.52137390008363 31.013070545756726, 121.5213788781964 31.013080361773234, 121.52138417432533 31.01309005066787, 121.52138978757989 31.013099607936745, 121.52139570456718 31.013109028045932, 121.52140192975806 31.013118302049484, 121.52140844708502 31.01312741808794, 121.52141526279739 31.01313637803027, 121.52142236708217 31.013145165584213, 121.5214297492218 31.013153780642185, 121.52143741369036 31.013162209760466, 121.52150140546463 31.013230886896356, 121.52151245475586 31.013242652894196, 121.52152389091057 31.013254142351744, 121.52153570947179 31.013265340836913, 121.52154790062845 31.013276228463265, 121.52156045008678 31.013286809588326, 121.52157334713878 31.013297069714078, 121.52158658196612 31.013306998849995, 121.52160014385845 31.013316586096497, 121.52161402477638 31.013325831377994, 121.52162819883075 31.01333472003497, 121.52164267048876 31.013343246725697, 121.52165741564414 31.013351401307084, 121.52167242894079 31.013359178332855, 121.52168769073349 31.013366574003925, 121.52170319656042 31.013373581083467, 121.52171892589001 31.013380186765236, 121.5217348688916 31.013386399048784, 121.52175100504247 31.013392193430995, 121.52176732629681 31.013397579728714, 121.52178382104766 31.013402553325665, 121.52205505307579 31.013483329154393, 121.52208403094615 31.013491588558793, 121.52211319744713 31.01349935579835, 121.52214251776735 31.013506608910095, 121.52217199725358 31.01351336055677, 121.52220162162638 31.01351959799483, 121.52223136945227 31.01352532279532, 121.52226124251597 31.01353053498484, 121.52229121939052 31.013535228035245, 121.52232129114493 31.013539402752833, 121.52235144795709 31.01354305813376, 121.52238166839867 31.013546190345068, 121.52241195425573 31.013548798510076, 121.5224422849943 31.013550877904052, 121.52247265078485 31.013552438315084, 121.52250303734901 31.01355346878817, 121.52253343753958 31.01355397464129, 121.52256382903721 31.013553952024207, 121.52259421094746 31.01355340362431, 121.52262456809126 31.013552330168018, 121.5226548799324 31.013550732319924, 121.52268514826149 31.013548604698386, 121.52271535254076 31.01354595066496, 121.5227454766907 31.01354278262705, 121.52445124720133 31.012358416891285, 121.52447774199692 31.01236039326075, 121.52450427726222 31.012361790269292, 121.52453083782548 31.01236260322966, 121.5245574031572 31.012362830985055, 121.52458395451558 31.01236246880113, 121.52461048118234 31.012361527337717, 121.52463695816976 31.012359999080772, 121.52466337655068 31.01235788661352, 121.52468971043463 31.012355197702668, 121.52471595536643 31.012351922390575, 121.52474207563587 31.012348071016408, 121.52476807302936 31.012343643596214, 121.52479392255266 31.0123386443047, 121.52481960724806 31.012333072918757, 121.52484510925862 31.01232693909957, 121.52487042323371 31.012320238271386, 121.52489551346154 31.01231298526434, 121.52492038173354 31.012305173792775, 121.52494500126332 31.012296819698133, 121.52496935866849 31.012287917399618, 121.52499344322986 31.01227848204251, 121.5250172299586 31.012268512394417, 121.52504070902783 31.012258024510423, 121.52506387151878 31.012247011964764, 121.52508669153895 31.012235490605196, 121.52565903246044 31.01184457816766, 121.52666884585162 31.010684398212266, 121.52714669720595 31.009048438397382, 121.52716043563832 31.009046919078884, 121.52784895133561 31.008969902359734, 121.5283498823285 31.008804372831076, 121.52842911793493 31.008557896541053, 121.52840085338349 31.008381497783486, 121.5282341039336 31.008106838214278, 121.52808184870582 31.007900233554416, 121.52791197990864 31.007828252288935, 121.52693312077237 31.00776250767547, 121.52680879066719 31.00775934784703, 121.52663664741205 31.007822564642073, 121.52656688688278 31.007320784839784, 121.5271166285188 31.005996819207475, 121.5277665765237 31.005216118373834, 121.53421371435401 31.0019216542052, 121.534763104318 31.001681494417603, 121.53522832318993 31.001571655128096, 121.537569891367 31.001063635580802, 121.54114183493733 31.00101970344359, 121.54422753663323 31.000942553350697, 121.54421538133745 30.99988488389322, 121.54427444852426 30.99920425905032, 121.54427487987275 30.999200973997407, 121.54427547097954 30.999197710241663, 121.5442762254139 30.999194475035157, 121.5442771288952 30.999191277161277, 121.54427818588636 30.99918811128812, 121.54427940174185 30.999184987393953, 121.54428076218015 30.999181921460636, 121.54428227523493 30.999178902810886, 121.54428393287287 30.999175940321955, 121.54428573509291 30.99917305109007, 121.54428767029277 30.99917022864191, 121.54428974471949 30.99916748296902, 121.54429195301816 30.99916481489052, 121.5442942907255 30.999162233337138, 121.54429674713141 30.999159739047585, 121.54429932759034 30.999157341999844, 121.54430202228532 30.999155035747485, 121.54430482585978 30.999152841805344, 121.54430773920743 30.999150743989738, 121.54431075072465 30.999148758322825, 121.54431385773351 30.99914688926316, 121.54431705309456 30.999145131304303, 121.5443203332371 30.999143494290387, 121.54563615612041 30.99929260614827, 121.54555810593827 30.999768475869267, 121.5455548734876 30.999777284015423, 121.54555247030788 30.999786299450264, 121.54555090086839 30.999795461053974, 121.54555018570495 30.999804721436195, 121.54555032303986 30.999814007687252, 121.54555131020011 30.999823277476942, 121.54555314987306 30.999832448960372, 121.54555581974702 30.999841483119866, 121.5455593073335 30.999850313185384, 121.54556359478649 30.999858884905603, 121.54556865087048 30.99986714293467, 121.54557444167155 30.999875036386253, 121.54558093238339 30.999882514360745, 121.54558808373646 30.9998895267935, 121.54559584574821 30.999896027963405, 121.54560416754263 30.999901981134766, 121.54561300181471 30.999907346924473, 121.54562229143926 30.99991208940664, 121.54625581728419 31.00016068904468, 121.54628750868413 31.000170117852036, 121.54631934938439 31.00017914878763, 121.54733702879727 31.000569079755323, 121.54771790170629 31.000591010080388, 121.54927847508044 31.000371757027466, 121.54913876799966 31.00006034646798, 121.54899904684251 31.0000366744387, 121.54893832458504 30.999940647288913, 121.54894017550947 30.999819150531955, 121.54899640154744 30.999705735979834, 121.54905959075393 30.99963976335677, 121.54991734150151 30.99924831426765, 121.55011218670903 30.99922591909525, 121.55036921982425 30.99920485607282, 121.55064155965457 30.999204502835095, 121.55082801997527 30.99922224700453, 121.55091216763275 30.999311969496233, 121.55239630929594 30.999044381552263, 121.5532272487453 30.998597939693187, 121.55323548439674 30.998595519856746, 121.55324364586966 30.99859290487214, 121.55325171349534 30.99859009274643, 121.55325969084868 30.99858709521418, 121.5532675645191 30.998583911244637, 121.55327533361181 30.998580540830705, 121.55328299812618 30.998576984873992, 121.55329053839287 30.998573252180233, 121.55329796424542 30.9985693383495, 121.55330525601433 30.998565253087673, 121.55331241369886 30.998560996396908, 121.55331943729834 30.998556567379463, 121.55332631697726 30.99855197313922, 121.55333304737061 30.99854721632495, 121.55333962311315 30.998542308583954, 121.5533460406281 30.99853723818549, 121.55570105865554 30.995253285806207, 121.55565463765207 30.995227458756933, 121.5552847553836 30.99497582393461, 121.55528491703333 30.994962357829973, 121.55528554199793 30.994948899179175, 121.55528663922651 30.994935475051964, 121.55528820335267 30.994922085402575, 121.55529022990773 30.994908749089348, 121.55529272426102 30.994895476953076, 121.5552956765758 30.994882277907895, 121.55529909043288 30.994869163678693, 121.5553029577866 30.99485615309207, 121.55530727685027 30.9948432506284, 121.55531204404954 30.994830467051816, 121.55531725849491 30.994817823046745, 121.55532291124551 30.994805327532262, 121.55532899604218 30.99479298045055, 121.55533550841973 30.994780811454024, 121.5553424439068 30.994768811500332, 121.55534979177722 30.99475701018948, 121.55535755739956 30.994745402159356, 121.55536571663015 30.994734012399125, 121.55537427841577 30.994722836475617, 121.55538322308507 30.994711898514847, 121.5553925506419 30.994701203907898, 121.5554022458842 30.994690757020493, 121.55541229987288 30.994680573968164, 121.55542271171633 30.99467065293522, 121.5554334617438 30.994661020747422, 121.55544455085261 30.99465167560373, 121.5554559620519 30.99464262365502, 121.55546768282454 30.99463387918808, 121.55750902369971 30.994231969896735, 121.55823911720535 30.994481650500216, 121.55909753083593 30.994944224193492, 121.55911248090305 30.994952275415336, 121.5592931058103 30.998351027399412, 121.55973999126152 31.00017269293822, 121.5652171936901 31.001816219617883, 121.57461203491101 31.00408059177951, 121.5767805857776 31.00455267609185))'),
+ (26809,'POLYGON ((121.16030840126778 31.282551161589552, 121.16031820222739 31.282302424811647, 121.16027305695258 31.282300628014777, 121.15968852389754 31.278155245855555, 121.15856040349306 31.274776262147984, 121.1584520476309 31.27360189209514, 121.15898595934314 31.272829649860473, 121.1618110808812 31.272087238992665, 121.16260164078027 31.27387941683568, 121.16244697550192 31.273957943538115, 121.16218320777644 31.27414216997031, 121.16233037403808 31.274487118428866, 121.1632993039463 31.276102164511396, 121.16366962659701 31.27670247615483, 121.16515003432639 31.276149018083174, 121.16841310738457 31.27472029446758, 121.17039560102387 31.27297637660509, 121.17426760958215 31.26833697074372, 121.1746669801046 31.266419743531543, 121.17469797346911 31.265577538094735, 121.17458464453945 31.26378979409105, 121.17476831410383 31.262821229486576, 121.17478996069948 31.262738680284933, 121.17481971037449 31.262656450209278, 121.17486078748954 31.262561642859307, 121.17507222035208 31.26207365066128, 121.17900574037755 31.26208957619795, 121.17944765044943 31.262594263886857, 121.18008564616771 31.263297557893992, 121.18012511133833 31.263339062448704, 121.18026499808141 31.263437300768285, 121.18330248409782 31.261601148884786, 121.18410997779046 31.2611327865101, 121.18456041378549 31.260651707243632, 121.18456523658791 31.2606469113474, 121.18457035759377 31.260642364737738, 121.18457578126133 31.260638078275928, 121.18458147273326 31.260634065810823, 121.18541205692796 31.260101133076088, 121.18611640323749 31.26001885542037, 121.18613464863019 31.260135924997574, 121.18618826522193 31.260252193156962, 121.18628429070357 31.260348170641187, 121.18647814017417 31.260461544001704, 121.18746741741202 31.260988162340887, 121.18812382616396 31.260752878331044, 121.1881273528235 31.260744570515723, 121.18813332276459 31.26072591877065, 121.18813752937795 31.260706892832065, 121.1881399367981 31.260687611852802, 121.1881405359722 31.260668201645935, 121.18813932052805 31.260648790754406, 121.1881362957223 31.26062950067952, 121.18813148736209 31.260610464893425, 121.19045845054646 31.25821729060598, 121.19046421715328 31.25821135558276, 121.19273227093045 31.258558072976577, 121.19303177447098 31.258611245348956, 121.19333091583553 31.25868999621825, 121.19362629174267 31.258779123300027, 121.19380566882462 31.25884200550759, 121.19397844861332 31.25892469796519, 121.19409150806912 31.2590227146833, 121.19416090671467 31.25914686794136, 121.19431945263285 31.259878627954425, 121.19431066266353 31.260182534844777, 121.19376878361335 31.260143859714436, 121.193728369544 31.260282496333822, 121.194544785479 31.261040495594745, 121.19455296270326 31.26104869849299, 121.19456157429782 31.26105657435161, 121.19457057821778 31.261064104781884, 121.19457997627478 31.261071268204162, 121.1945897478958 31.26107805452455, 121.1945998537172 31.261084448978398, 121.19461029285924 31.26109043715737, 121.19462103579546 31.26109601248407, 121.1951436188935 31.261321376701446, 121.197345276971 31.26087889550681, 121.19877239732116 31.260491752209937, 121.19923186261673 31.26010271828207, 121.1993207568896 31.259834386516317, 121.19931897074596 31.25973426754989, 121.19928758085817 31.259690897216878, 121.1991588625267 31.2595648935152, 121.19906201558213 31.25948729121998, 121.19891547681844 31.25942413577816, 121.19882484533589 31.259388555187783, 121.19926305886314 31.25835963643795, 121.19965555458128 31.25754259533448, 121.20115930248365 31.25740258660904, 121.20230406435864 31.257593818148884, 121.2037650032313 31.260214190127712, 121.20867465705516 31.263523969564353, 121.20869861506164 31.263565418689275, 121.20901015111929 31.263431042455984, 121.21122288465428 31.265095421241483, 121.21286084007717 31.266323776030365, 121.21312024984739 31.266590305845803, 121.21448824496518 31.267536962305527, 121.2150048591085 31.26778359091723, 121.21552194355596 31.26778565911591, 121.21588203286497 31.267786957005328, 121.21725234878689 31.26748185366122, 121.21724916574411 31.267470778727592, 121.21875801478048 31.266028681880236, 121.22057432048778 31.26238689961451, 121.21974216511417 31.262114248044178, 121.22048721080586 31.260576132046264, 121.22402453454113 31.25953833147908, 121.22473367159286 31.2595794462062, 121.22509958151592 31.259957691027765, 121.22580590245757 31.26201152767578, 121.22652511173223 31.263462568265737, 121.22998539025733 31.26740074327034, 121.22993305713307 31.26755518765227, 121.23016901443073 31.267609545003463, 121.23017848014544 31.26761172523835, 121.23095412105407 31.267870142921232, 121.23351059366333 31.26875406470069, 121.23460228267889 31.268869712073908, 121.23514986731892 31.26878628450447, 121.23627216107789 31.268615275739325, 121.23813085983785 31.26844118569815, 121.24069768151496 31.268548566460353, 121.24174278673492 31.268624391841982, 121.2429375316272 31.26836840026973, 121.24305652572725 31.268342926282767, 121.24433889733972 31.26783824542953, 121.24540989765893 31.267192519015808, 121.24705581573578 31.26572090835961, 121.24784790737871 31.26534203553727, 121.24874387948155 31.265177616643193, 121.24873552919091 31.265141076564202, 121.25309684130022 31.26416093443219, 121.25756637848859 31.263942515458208, 121.26074898527379 31.26443992213586, 121.26095410274411 31.26525992010745, 121.26106450608734 31.264872127497668, 121.26094189284956 31.26365182455114, 121.26077456722048 31.26349302264516, 121.26049050455033 31.263265883520788, 121.26027049450158 31.26311794263568, 121.25855523512134 31.26230811146288, 121.25666756441869 31.261365131619648, 121.25517693921093 31.260153352742265, 121.25407806296147 31.25909075128232, 121.24832177507342 31.253051747863953, 121.24828927281314 31.253004771589104, 121.2473570588485 31.25103632895571, 121.24666610297001 31.246984784585543, 121.24668217794742 31.246973285322483, 121.24669845951092 31.2469619968113, 121.24671493592197 31.24695092555281, 121.24673161259625 31.246940071461058, 121.24674847508582 31.246929443781067, 121.24676552881046 31.246919033431105, 121.24801518710002 31.246157323211563, 121.24802493993575 31.246151834855688, 121.24803501838224 31.246146815394386, 121.25002751940312 31.246021597865994, 121.25059195926754 31.245994623882922, 121.25206637088057 31.24595375750765, 121.25378686148593 31.246276552576816, 121.25439553058328 31.24656405538208, 121.2592272228314 31.242819284239605, 121.26020545057374 31.242054589252156, 121.26391551780982 31.236465584595244, 121.26443323254905 31.23553683572569, 121.26475633054484 31.232732497101605, 121.26521734336224 31.22778921646049, 121.26981341775516 31.216245011963426, 121.27064542516895 31.214598272294808, 121.27136551102323 31.212652386707724, 121.27063125989046 31.21212938850298, 121.27009725137158 31.21198526697105, 121.27689565256065 31.20534572486305, 121.28036086371868 31.202141116264837, 121.28176855269511 31.20101218113474, 121.28331962937429 31.199798434846947, 121.28374190778588 31.199482822369, 121.28399675229907 31.199313989102404, 121.28782031421689 31.199750977180543, 121.29037106852564 31.200225054257565, 121.29143211933469 31.200645987105688, 121.29391952567696 31.20228880350802, 121.29519459995477 31.20328450516055, 121.29660438203844 31.20442813283562, 121.2985061598706 31.20636683261149, 121.29880894045891 31.206819191082847, 121.29894098106031 31.207122558084464, 121.29900594839089 31.208407602095875, 121.29900739611594 31.208423277521405, 121.30116546141838 31.20924400219564, 121.30225768179798 31.20947293586022, 121.30239362236793 31.20941912428417, 121.30785394772208 31.203251561624985, 121.31208569842497 31.197986488746892, 121.31572603583167 31.193248986170403, 121.31713893025487 31.191311856480006, 121.31970268646803 31.187636421864323, 121.32301261945776 31.182789924603192, 121.32329875251165 31.18232854804366, 121.32424648008121 31.18065087471803, 121.3244051730107 31.18024466778572, 121.3245239457147 31.17992889183421, 121.32496303309411 31.178219821236606, 121.32497895696001 31.177929384115124, 121.32584733361865 31.176065930515623, 121.32642192778246 31.174860821661742, 121.327240219173 31.173279216789275, 121.32875116004318 31.170515598356044, 121.32899876003576 31.170208876351996, 121.32601840700522 31.163732960639937, 121.32510853695734 31.163242262613075, 121.32353253887223 31.162802691329542, 121.32159130058442 31.16554024243173, 121.3211933870403 31.166217514263703, 121.3188073574921 31.165545732202187, 121.3107559311504 31.16181439035534, 121.31059578908231 31.161734471155007, 121.3097899341671 31.16128587912342, 121.3094966517352 31.161113209216577, 121.30935755471369 31.161003768749524, 121.30933189358464 31.160190516121098, 121.31001727447922 31.159400787743998, 121.3061143215373 31.157526911600964, 121.30402974606761 31.158680234880894, 121.3039726524619 31.158791959792755, 121.30352391602824 31.159670094949846, 121.30332056879473 31.15989736247687, 121.30152357644579 31.16041329219956, 121.3014459016653 31.160428403544664, 121.30134859318288 31.160411836876367, 121.30093334452299 31.16032274469803, 121.30076303043121 31.16026944260477, 121.29374227511477 31.15805002036179, 121.29073493708107 31.156744313255594, 121.28970854820636 31.156309606714473, 121.28696769816003 31.156071389393464, 121.28636619603229 31.157302293414446, 121.28625787403361 31.157422579562223, 121.28576647520964 31.157340066105967, 121.28406524097622 31.154493021457895, 121.28324621030139 31.15151521563284, 121.28373697144919 31.150051683538823, 121.28422928849439 31.150346082665905, 121.28474455434605 31.150759480000158, 121.28545788517658 31.15125454210484, 121.28606034085016 31.151545959003055, 121.28609371126628 31.151539197014657, 121.28609447891742 31.151539040249038, 121.28610085624835 31.15153743487701, 121.2861077077996 31.151534917442522, 121.28611555765104 31.151530977045798, 121.29104398690455 31.148533296065867, 121.29111916838004 31.14848746104294, 121.29418485489002 31.146088612957943, 121.29423568464412 31.146043575483496, 121.29424673363675 31.146020857506034, 121.29365333026082 31.145089054776836, 121.288985345042 31.139873280406274, 121.28794268767581 31.13946097179393, 121.28818736887423 31.13898250984722, 121.27282363973694 31.14202426942765, 121.2728283201878 31.14204080924639, 121.27244675704901 31.14211609448525, 121.27031380281714 31.14098382428957, 121.26818294134006 31.139463140092623, 121.26753293174225 31.13827576688332, 121.26760687402566 31.138033851115896, 121.26827548346958 31.13571768021665, 121.26866324845939 31.13437416165297, 121.2684393285148 31.132689308406775, 121.26509083076319 31.13254752051501, 121.26507370887784 31.13254690851467, 121.26505658772174 31.13254645245056, 121.26503946098963 31.132546160428138, 121.26502232419043 31.132546019859205, 121.26500519171398 31.13254604421811, 121.26498806447401 31.132546213711517, 121.26497093255352 31.132546553543097, 121.26460580240621 31.132980262866454, 121.26460325910847 31.132988830146136, 121.26460100107198 31.132997461677757, 121.26459902380658 31.133006143973287, 121.26459732551744 31.133014869837393, 121.2645959188159 31.13302362485134, 121.26459479109367 31.133032419832617, 121.26459396396623 31.133041234948568, 121.26459341223368 31.133050068445907, 121.26459316111027 31.133058902284986, 121.26459319438942 31.133067744592275, 121.26459351388085 31.13307658187005, 121.26459412318859 31.133085408714276, 121.26459502771986 31.133094215219643, 121.26459621218147 31.133102990619868, 121.26459768647314 31.13311173579725, 121.26459944699826 31.133120445362124, 121.26460148746294 31.133129110331367, 121.26460381777925 31.133137713595822, 121.26460642894205 31.133146261471424, 121.26460931016143 31.133154738686855, 121.26461247133369 31.133163150623968, 121.26461590887918 31.1331714676047, 121.26461962008405 31.133179708528985, 121.2646235923612 31.133187853631227, 121.26462783561368 31.133195898398604, 121.26475957520603 31.136481599918774, 121.2640795419779 31.137798663920574, 121.25361326553124 31.139849657877512, 121.25352879792595 31.13984528385621, 121.25343408172577 31.13978639217527, 121.25322438003165 31.139630522222365, 121.25310864907898 31.139536297612434, 121.25304472481929 31.139457527188224, 121.25302189236756 31.13942938779403, 121.25296653471185 31.139307596098405, 121.25248199051295 31.137928328651114, 121.25206715224526 31.136629428244273, 121.25193035247437 31.13548433667802, 121.25190199588047 31.135340446438615, 121.25109452572642 31.131324617333664, 121.25108443013106 31.131282530406185, 121.25105845905688 31.131287274088635, 121.24809480395372 31.13183173417319, 121.246761403285 31.131994016710827, 121.2460407351746 31.132079304027926, 121.24508611336023 31.13208284308629, 121.24436906232066 31.132031952577396, 121.24399970800212 31.13198046390466, 121.24338305846724 31.131662491949967, 121.24329071196 31.13084481886667, 121.24332201851928 31.130541982638263, 121.24332712585317 31.129644718453715, 121.24328252814624 31.128211340801336, 121.24301688664325 31.12491094873918, 121.2406077038174 31.123035275448835, 121.23854219754183 31.12257815074734, 121.23000564913448 31.121172669870095, 121.22950601442447 31.12114996797454, 121.22836753170496 31.12121434763612, 121.22789169433061 31.12127865261202, 121.22780493645153 31.121727957225886, 121.22787301187316 31.12172879400858, 121.22778788790502 31.12377716222997, 121.22808134965702 31.12518902998298, 121.22912574766309 31.129990793484055, 121.2331410374304 31.14257798505874, 121.23389137404176 31.144148129971878, 121.23411792830532 31.144475790076374, 121.23464208901709 31.145093087482355, 121.23189023507064 31.14515630518019, 121.23035782473646 31.145186596872133, 121.22735956110554 31.144500284433835, 121.2259926043641 31.144198049808605, 121.22162029421222 31.143224083555136, 121.2201080249925 31.14293919816054, 121.21682666066762 31.142103839860198, 121.2158390093773 31.142002642992754, 121.21550527876707 31.14196825253416, 121.21510043502693 31.141970071726988, 121.20855160471139 31.146014303747922, 121.2081251917702 31.147418764363625, 121.20809935905454 31.147415925185076, 121.20807359153766 31.14741270912548, 121.20804789998887 31.147409123350734, 121.20802227362685 31.147405170600145, 121.20799673760519 31.14740084180175, 121.20797129191715 31.147396142359543, 121.20794593655656 31.14739107677799, 121.20792069128336 31.14738564050355, 121.20789555159666 31.14737984255395, 121.20787053725581 31.147373678377694, 121.20784563837385 31.147367154311222, 121.20782088009125 31.14736027298476, 121.20779626151061 31.147353030812855, 121.20777178891103 31.147345432284318, 121.20774746588101 31.14733747829847, 121.20772330857776 31.147329173315736, 121.20769931699888 31.147320516448303, 121.20767549921318 31.14731151847887, 121.2076518579156 31.14730217491393, 121.20762840656921 31.147292489325192, 121.20760514965968 31.14728246261249, 121.20758209346401 31.147272100168546, 121.20755923797444 31.147261406504782, 121.20753660653453 31.14725038156969, 121.20751418566553 31.14723903081251, 121.2074919951148 31.147227358690838, 121.20735965289472 31.147157367749323, 121.207326705238 31.147139888125352, 121.20729422267999 31.14712179185819, 121.20726220520507 31.14710308259013, 121.20723068242168 31.14708377108599, 121.20435901913385 31.145380198632747, 121.20301987589923 31.144184971915543, 121.20218595820616 31.144273391548133, 121.20082981825337 31.14458501615513, 121.2005869156713 31.144640662165894, 121.19886532656147 31.14575935576011, 121.19258515306402 31.148136376675026, 121.188504777153 31.14959510658244, 121.18830473605618 31.14891078657238, 121.1882636917312 31.14847607182976, 121.18831527935369 31.14813940555396, 121.1883877629718 31.145804520514037, 121.1885531672298 31.14033978086047, 121.18816177185789 31.137994498717138, 121.18811302469851 31.13796180284187, 121.18810307989317 31.13795548373114, 121.18809295166857 31.13794938243719, 121.18808264447927 31.137943517910024, 121.18807217263158 31.13793788674553, 121.18806153612609 31.13793248894088, 121.18805074567928 31.137927338135245, 121.18803980129938 31.137922425329847, 121.18802872264013 31.137917766086932, 121.18801750434402 31.13791335403267, 121.18800616696527 31.13790919664576, 121.1879947149717 31.137905296684632, 121.18798314836302 31.137901655046704, 121.18797148143771 31.137898277325576, 121.1879597159839 31.137895163544194, 121.18794786987603 31.137892318446518, 121.18793595026916 31.137889737632424, 121.18792395447483 31.137887430059127, 121.18791189947606 31.13788539686068, 121.18789979510967 31.13788363367474, 121.18788764047889 31.13788214408625, 121.18787545524853 31.137880929267517, 121.18786324567182 31.13787999380296, 121.18785100549131 31.13787933850471, 121.1878387659968 31.137878958410543, 121.18782652004256 31.13787884712364, 121.18781427476144 31.13787902633402, 121.18780204894102 31.137879476512595, 121.18748382162661 31.13785793718548, 121.18673020370129 31.137806234653997, 121.186627792961 31.137648040060093, 121.18655903757997 31.136371298676483, 121.18657894203399 31.13550235548065, 121.18706715008618 31.133491915122814, 121.18853971771674 31.130548110309753, 121.18863106677132 31.13048136851723, 121.18908119973243 31.130485127907964, 121.19033707117516 31.1306673676247, 121.1907642736026 31.129199407958467, 121.1909284504987 31.128627729228633, 121.19096806748455 31.1284339687552, 121.1909608281913 31.128423002227304, 121.19095343056448 31.128412114734843, 121.1909458683405 31.128401314297403, 121.1909381468879 31.128390597378168, 121.19093028141376 31.128379958759105, 121.19092224687274 31.128369408033638, 121.19091406293785 31.12835895083349, 121.19090572424919 31.12834857719529, 121.19089723706072 31.12833830068678, 121.19088860137752 31.128328113208415, 121.1908798100418 31.128318022768592, 121.1908708800476 31.128308026870144, 121.19086179619106 31.128298128026465, 121.19085257814714 31.128288328271275, 121.19084321518238 31.128278631971057, 121.19083370908443 31.12826904274337, 121.19082405806948 31.128259553366483, 121.19081427734045 31.128250165820777, 121.19080435258287 31.128240892526026, 121.19079429363836 31.128231727300744, 121.19078411034702 31.128222665763026, 121.19077378839165 31.128213726630065, 121.19076333672277 31.128204896512447, 121.1907527598103 31.128196179959996, 121.19074205496976 31.128187582335663, 121.19073122488788 31.128179097371483, 121.19072027582004 31.128170735937072, 121.1907092068729 31.128162498018888, 121.19069801447237 31.12815437907247, 121.1906892483509 31.128146159113424, 121.19068072558501 31.12813774683371, 121.19067244616747 31.128129153033697, 121.19066441545846 31.12812038677944, 121.1906566495534 31.128111448271213, 121.19064914129153 31.12810234822203, 121.19064189156562 31.12809308664666, 121.1906349209384 31.128083672796556, 121.19062822851159 31.128074112062855, 121.19062180980725 31.128064415190728, 121.1906156791355 31.128054576060673, 121.1906098320137 31.128044615314224, 121.19060428364541 31.128034528642182, 121.19059902865925 31.12802432587852, 121.19059406704706 31.128014020521587, 121.19058940775223 31.128003609984617, 121.19058505792385 31.127993102455086, 121.19058101129569 31.127982508655094, 121.19057727770394 31.127971828707615, 121.19057385266659 31.127961082352993, 121.1905707504935 31.127950265270268, 121.19056796134255 31.127939386337676, 121.19056548610423 31.1279284518656, 121.1905633337164 31.127917470961997, 121.1905614997043 31.12790644897142, 121.19055998853153 31.12789540124447, 121.19055880646015 31.12788432246069, 121.19055794633083 31.12787322242958, 121.19055740992714 31.127862111070158, 121.19055879804127 31.127850883847778, 121.1905602254978 31.12783965710485, 121.19056167798905 31.12782842976627, 121.19056316981745 31.12781721370305, 121.19056469651436 31.127806003462247, 121.19056625897989 31.12779478735893, 121.19056785988843 31.12778358251974, 121.1905694911942 31.127772383447862, 121.19057116273727 31.127761183965948, 121.19057286378354 31.12774999024017, 121.19057460953533 31.1277388024566, 121.19057637942525 31.127727619463606, 121.19057819491778 31.127716437025395, 121.19058003991097 31.12770526574096, 121.19063022281578 31.127404246947375, 121.19063345935135 31.12738518339138, 121.19063684878864 31.127366132486586, 121.190431175716 31.12625418413986, 121.19047933337913 31.125683841774716, 121.19054637262619 31.12488949287215, 121.18609355132446 31.12364023242042, 121.18497230309985 31.12472760841284, 121.18324488256533 31.12500759208652, 121.18285376860355 31.124925018946218, 121.18192753386276 31.124454894194518, 121.18189014793985 31.124435290118992, 121.18099423475171 31.123965360665352, 121.18088582856275 31.117923791482617, 121.18148201706985 31.11465969032712, 121.17732685349938 31.11431447454446, 121.17251778016308 31.11424230435899, 121.17252099620421 31.11423423301574, 121.17299583525948 31.110101039770036, 121.17225026435005 31.107211588651236, 121.17143566653012 31.106375339676823, 121.1706401993749 31.10626652831288, 121.16609188173533 31.10618422396219, 121.16358119640195 31.104563476070563, 121.16324379288758 31.0992393846941, 121.16323657176947 31.099127478170153, 121.16322912665431 31.099015583982215, 121.16322146201503 31.098903701291672, 121.16178748722707 31.09612405572679, 121.16010115637903 31.09584612715509, 121.15802659973632 31.09739244824547, 121.15662828630636 31.100233235280086, 121.15657139768027 31.10034719459853, 121.15646854325573 31.100490392671023, 121.15636249646958 31.10063184424947, 121.15618106055142 31.100868117233933, 121.15598514332692 31.10101071727629, 121.15111124781389 31.10302907119386, 121.14829882619595 31.1040954788009, 121.14389380945163 31.10402360095175, 121.14394451729441 31.103517991804367, 121.1439468195291 31.10350195618137, 121.14299202981627 31.103485168596652, 121.14254853384409 31.103619771670616, 121.14210552783979 31.103755887853428, 121.14171486487274 31.103880016142657, 121.14132477496996 31.10400540742269, 121.14010111609757 31.104551060719114, 121.13235310556402 31.108764313479274, 121.131819251624 31.10922301039234, 121.13018822004312 31.110874575685344, 121.1290690556245 31.112104186607763, 121.12845299849565 31.11284337731521, 121.12739934378475 31.114694602172204, 121.11937226620432 31.11755394765548, 121.11930053982512 31.117506294960034, 121.11926742090273 31.117483422194795, 121.11923480865367 31.1174600143416, 121.1192027247621 31.117436086274203, 121.1191711773611 31.117411642328488, 121.11914017729413 31.117386698486047, 121.11910972998419 31.11736125283639, 121.1190798498882 31.11733531679304, 121.11905053700873 31.117308904746277, 121.11902182206393 31.117282016100546, 121.1189937050565 31.117254670645142, 121.11896618508544 31.11722687379016, 121.11893928293155 31.11719863412895, 121.11891301395528 31.11716996305862, 121.11210108436867 31.109587170211448, 121.11315128848352 31.10780705185353, 121.10715865349323 31.104439972117675, 121.10439324937028 31.099799253658144, 121.10450923757917 31.099497205730337, 121.10457230087714 31.099344362951925, 121.106159403053 31.096093710785855, 121.1061047280017 31.091921446164584, 121.10590240691822 31.089351376141963, 121.10688525324942 31.087540675236248, 121.10720975977988 31.087077589041648, 121.10727087987455 31.086990361652177, 121.10920480176371 31.085873223890488, 121.11009588978592 31.08637097246994, 121.11057267924791 31.086678482515467, 121.11138348052259 31.087382332507904, 121.1113913131819 31.087387242707184, 121.11373952670601 31.088062156203065, 121.12376572314761 31.081278502583164, 121.12835414298657 31.075447001297416, 121.13072032260067 31.07249998960259, 121.1327971347435 31.07231418299883, 121.13304602888958 31.070964461988517, 121.13285432961533 31.065975025935597, 121.13307913530033 31.065139545858912, 121.13347042523685 31.065232716744674, 121.13537056812068 31.06568687679525, 121.1353946982979 31.065509989404184, 121.1339100168174 31.06390695141389, 121.13273473615743 31.06292383762339, 121.124268635842 31.061909323228342, 121.1185706502317 31.062576412897243, 121.11522935703128 31.06387125986745, 121.10966083081755 31.063549392917658, 121.10879768781491 31.06345562418499, 121.10829636912513 31.063298872815125, 121.10868326907853 31.061963047291552, 121.1087237117271 31.061536871349603, 121.10867940556055 31.061344525582022, 121.1083713155715 31.060726892947972, 121.10810745528629 31.060262599454745, 121.10775003949412 31.059633590545253, 121.10109484807568 31.062494199803233, 121.1010895186561 31.06249971167459, 121.10108499805217 31.06250474791097, 121.1010807330435 31.06250995094442, 121.10107538985463 31.062517078287744, 121.09970031852943 31.0645088390521, 121.09998571216416 31.06503571502638, 121.10041267972487 31.066210360577415, 121.10041902986202 31.06622813591048, 121.10042495845892 31.066246015396093, 121.10043046551581 31.066264000840015, 121.1004355456114 31.066282086014777, 121.100440199636 31.066300251115365, 121.1004444312068 31.06631850690143, 121.10044822676907 31.066336833745023, 121.10045160166642 31.066355225161246, 121.1004545387423 31.06637367686515, 121.10045704431327 31.066392184281945, 121.10045911385836 31.066410736670456, 121.10046074556311 31.066429319655757, 121.1004619466564 31.066447943949967, 121.10046270538506 31.066466582700365, 121.10046303348308 31.066485231263158, 121.10046292372873 31.066503891527717, 121.10046237792352 31.066522556271984, 121.10046139515319 31.066541206607447, 121.10045997631748 31.066559837122217, 121.100458120517 31.066578453225617, 121.1004558376737 31.066597039494265, 121.10045311333423 31.06661558170437, 121.10044995201216 31.06663407889751, 121.10044636454211 31.066652530937123, 121.10044316947507 31.067143476669944, 121.10044328007622 31.067158501189137, 121.10044373104688 31.06717351162043, 121.10044452870608 31.067188506985705, 121.10044566763199 31.067203479251265, 121.10044714782698 31.067218432016148, 121.1004489692814 31.067233349979784, 121.10045113199612 31.067248234040626, 121.10045362603397 31.067263074419724, 121.10045647124711 31.067277854671076, 121.10045964326964 31.067292591292098, 121.10046315653764 31.067307268802853, 121.10046700562745 31.067321876467844, 121.10047119053725 31.067336410684074, 121.1004757031414 31.06735087064865, 121.10048055065941 31.067365250869, 121.10048571502966 31.067379542564737, 121.10049122061906 31.06739373013156, 121.10049703764687 31.067407832832334, 121.10050318505826 31.067421827029406, 121.1005096438908 31.067435707552654, 121.10051642949269 31.06744947330755, 121.10052352561124 31.06746312089015, 121.1005309286351 31.067476649439975, 121.10053864758018 31.06749003814078, 121.10054666710306 31.06750329347676, 121.10055499352065 31.067516409964057, 121.10056362050749 31.067529377775568, 121.10057253813262 31.06754219612848, 121.10058175722803 31.06755486038243, 121.10074519331624 31.067693642820547, 121.10100283352264 31.06791214661696, 121.10101145308307 31.067919617271546, 121.10101959527654 31.06792747374949, 121.10102724112215 31.06793568750255, 121.10103436532363 31.067944238162948, 121.1010409624486 31.067953105109094, 121.10104700268445 31.067962264430488, 121.10105247517532 31.06797168657416, 121.10105736093908 31.06798134119074, 121.1010616500333 31.067991214014278, 121.10106532077019 31.06800127922857, 121.10106838034582 31.06801149714772, 121.10107081158809 31.068021843696325, 121.10107260545075 31.068032293794197, 121.10107376281584 31.068042816833376, 121.10107427193206 31.06805339316641, 121.10107413276863 31.068063976895573, 121.10107335705467 31.068074555270748, 121.10107193302444 31.068085086142432, 121.1010698769169 31.06809554950124, 121.10106718329261 31.06810591211443, 121.10106386748636 31.068116151282638, 121.10105993850595 31.068126234486616, 121.10105540174747 31.06813612925271, 121.10105027345507 31.06814582186722, 121.1010445617318 31.06815527712063, 121.10103828823384 31.06816447312923, 121.10103216655789 31.068168514787246, 121.10102597983067 31.068172486148736, 121.10101973798565 31.068176388885917, 121.10101343560498 31.068180222167125, 121.1010070726885 31.068183985991446, 121.10100066458574 31.06818768016255, 121.10099419142641 31.068191295032932, 121.10098766767032 31.06819485021711, 121.10098109420396 31.068198321403656, 121.10097446561984 31.068201723060138, 121.10096778642962 31.068205050628556, 121.10096106114392 31.06820829865085, 121.10095428706113 31.068211477060423, 121.10094746688316 31.068214575922386, 121.1009406015161 31.068217599724463, 121.10031643709232 31.068732906024987, 121.09935019617713 31.069402279143258, 121.09934087404307 31.0694059884334, 121.09933179324467 31.069410115190976, 121.09932296821326 31.069414643956772, 121.09931443505194 31.069419569824245, 121.09930621360444 31.069424872773467, 121.09929832823447 31.069430541733123, 121.09929079879284 31.069436566583615, 121.09928364691794 31.069442912885474, 121.09927689697741 31.069449574968118, 121.09927056339771 31.06945653197433, 121.09926467144271 31.069463769223436, 121.0992662082009 31.06949891261783, 121.09926862779864 31.069534006381584, 121.09927191037367 31.06956904533548, 121.09927607125417 31.069604004098334, 121.09928110591656 31.069638867412753, 121.09928700352351 31.06967362639141, 121.09929377398365 31.06970825030905, 121.09930139744402 31.06974274477748, 121.09930989012845 31.069777073595755, 121.09931923488519 31.06981123244165, 121.09932942809125 31.06984520153696, 121.0993404742518 31.06987896550909, 121.09935235891972 31.069912514600155, 121.09936507666333 31.069945823648002, 121.0993786220674 31.0699788890888, 121.09939299962495 31.070011678443645, 121.09940818587471 31.070044198252603, 121.09942419523833 31.070076414119924, 121.09944099703122 31.07010832996672, 121.09945859755024 31.07013991058791, 121.09947698957934 31.07017115693251, 121.09949615054056 31.070202049426108, 121.09951609306486 31.0702325716866, 121.09953678916982 31.070262719500555, 121.09955824245317 31.070292468488326, 121.09958043305234 31.070321808041545, 121.09960336186374 31.070350722810158, 121.09964649711333 31.070419061614313, 121.09959604781206 31.070712806592546, 121.09724714442518 31.07102455734855, 121.09448708480487 31.070630886004064, 121.09431516628321 31.07072091527114, 121.09422519638854 31.07059314757694, 121.09265630300602 31.069431639007853, 121.09261545553089 31.06940136049881, 121.09264386656494 31.069139825932293, 121.09264740351296 31.069107782846142, 121.0926511803632 31.06907575917137, 121.09265521785751 31.069043759293862, 121.09265950697609 31.069011777859064, 121.092664045923 31.0689798247732, 121.0926688310892 31.06894789555247, 121.09267387690562 31.068915995515496, 121.09267916353502 31.06888412296534, 121.09268470991508 31.068852280496017, 121.09269049350652 31.068820470924898, 121.09269653143886 31.06878868965537, 121.09270282642517 31.068756947468053, 121.09270936133109 31.068725239051027, 121.09271614698395 31.06869357424069, 121.09272317796741 31.06866194226165, 121.09273046600883 31.068630350244895, 121.09273799398322 31.068598806377864, 121.09274577270068 31.068567295296667, 121.09275379676426 31.06853583412464, 121.09276206707504 31.06850442105097, 121.09277058813956 31.06847305154502, 121.09277934914533 31.068441735559695, 121.09300126118713 31.067820443045115, 121.09312484312774 31.067474446892266, 121.09208511863511 31.06662836942961, 121.092069913631 31.066616288430694, 121.0920544176336 31.066604474081267, 121.09203864688236 31.066592941589853, 121.09202260047672 31.066581689147622, 121.0920062829276 31.066570718519845, 121.09198971047442 31.066560044915917, 121.09197288311772 31.066549666523123, 121.09195581528516 31.066539584161045, 121.09193850157524 31.066529807741908, 121.09192095731676 31.066520338081556, 121.09190319333209 31.066511178717626, 121.09186459597785 31.06649761140716, 121.09182594850223 31.066484158037525, 121.09178724549457 31.066470814126532, 121.09110444113125 31.064850390174175, 121.09014464619636 31.064109092711185, 121.08789094396327 31.062979539292677, 121.08776154422637 31.06295239171999, 121.08749488184161 31.062849448240602, 121.08803111323297 31.061821861557732, 121.0890414396846 31.060278642522963, 121.08992009874122 31.059139816223304, 121.0902637484824 31.058694272596867, 121.09028675306435 31.05866908855553, 121.09122768434842 31.057638832626097, 121.09216468835808 31.056699496686328, 121.09217479260094 31.056692899090088, 121.092339983103 31.056584988957056, 121.0928562893864 31.056247586740685, 121.09429327120189 31.055694486627306, 121.09431083894992 31.055726232724695, 121.0944386188462 31.055957160793266, 121.09440107149685 31.056055997280488, 121.09418679572903 31.056444846396573, 121.09387951007638 31.056568077977406, 121.09379962819821 31.056437753019193, 121.09359678333271 31.056390620969967, 121.09340721629258 31.05638925378218, 121.09287288498338 31.056614171368857, 121.09314304963787 31.057931862164583, 121.09378230571897 31.059043965260965, 121.09493764871091 31.05862253421032, 121.09625247671606 31.058058245907663, 121.10282670207125 31.05082425507314, 121.10140068341126 31.048408599300735, 121.1041941740305 31.044917922910578, 121.10556530930027 31.042609354759705, 121.10566329653048 31.042433995287674, 121.10573686125838 31.042249269974043, 121.10659965149242 31.039941478153775, 121.106649015354 31.039298581512636, 121.10654760412565 31.03793934865423, 121.10644614240607 31.037167340096374, 121.10322704991702 31.03245449223601, 121.10319546981653 31.032411115198563, 121.10301184941548 31.03235528175413, 121.0989271141626 31.03228557248296, 121.09612528566647 31.034128543948004, 121.09338314572882 31.03311246077156, 121.09221566043 31.031839952484468, 121.09217515318801 31.031795766666264, 121.0967708389673 31.02870280693414, 121.10077028909309 31.025997426990717, 121.10669171398297 31.019306343589335, 121.1067545294782 31.019235259260526, 121.10922495561745 31.01551855664151, 121.11102424542698 31.01421506692315, 121.1111185002348 31.014146747523426, 121.11102054102282 31.01404655308004, 121.11079965769167 31.004095010027932, 121.11072066148682 31.001184403803524, 121.1106640892691 31.0011011451961, 121.10680251508686 31.001194897451523, 121.1066967818342 31.001136712554626, 121.10665029495269 31.001028253226725, 121.10630560587164 30.996890569996214, 121.10564960633603 30.98823850548507, 121.1058145326011 30.984004275232316, 121.10579493501258 30.980193817553488, 121.10318817537292 30.97999175156161, 121.10211696116603 30.975152751596944, 121.10261099850058 30.97470850216556, 121.1041486891347 30.972883692671626, 121.10424098373136 30.972681156747875, 121.10443148199144 30.971963526916475, 121.1043380320898 30.971902546338484, 121.09500496177102 30.96973940519471, 121.0872916314962 30.966468832171344, 121.08543807101367 30.964467251868335, 121.08306175972517 30.96206275064525, 121.07767409247721 30.960967437517375, 121.0720676614422 30.96109661737087, 121.07130311754844 30.961115428974477, 121.06680755971534 30.962603835368135, 121.06476263363624 30.9652815323735, 121.06461187566342 30.965479976320733, 121.06403986140084 30.967915278277715, 121.06419727524842 30.970026457623007, 121.06385685266812 30.971259242371108, 121.05915855888165 30.97222590544298, 121.05775086578738 30.974991550293087, 121.0575631634748 30.975352542830247, 121.05346491549041 30.975486482715464, 121.05007463472883 30.97436420182941, 121.05007939366342 30.974355572274177, 121.04994981489031 30.974300542105528, 121.05194555805411 30.970652470056145, 121.05280310638432 30.969115438633782, 121.0527575293834 30.96907923898051, 121.05277840851579 30.96905951776843, 121.05019374405406 30.963209174919225, 121.04932701747596 30.962499787640766, 121.04856307574254 30.962336814171184, 121.04622640682821 30.961952873234374, 121.0455453534536 30.961916378529228, 121.043899857167 30.962310352228194, 121.0425546302703 30.962539366080716, 121.04249960840781 30.962424297945, 121.04226587907912 30.961935567231745, 121.0413742165823 30.959403437126245, 121.04000054358094 30.952578479559463, 121.0400025436812 30.952578209023773, 121.03999851919468 30.952568405751858, 121.03946511764529 30.95252880921679, 121.03689096051338 30.95210669293314, 121.03463942247339 30.951525075378083, 121.03482669872345 30.949301274624613, 121.02639278274948 30.946949724620456, 121.02456583189539 30.94542129923503, 121.02414813303338 30.94551161264641, 121.0233329076629 30.94582591627767, 121.01856291667933 30.9494196214702, 121.01781328317739 30.950458521067127, 121.0177417783986 30.950964664025264, 121.017755793318 30.95168655397311, 121.01791156963242 30.952723259781646, 121.01948700787906 30.953103737870926, 121.02039908145606 30.953309002542074, 121.0206113538619 30.95275524414933, 121.0206266223756 30.95269857028044, 121.02106471585759 30.95280521330954, 121.02106916913557 30.952806298765022, 121.02097258905022 30.95355516590938, 121.02073287932883 30.95534880281877, 121.01832885536625 30.956704766782032, 121.01787426527346 30.95676363295429, 121.01712909527009 30.956749431343912, 121.01693033034131 30.956583886979132, 121.01681440690831 30.955607627532792, 121.01679754805473 30.955158059695712, 121.01691300502107 30.954482268917612, 121.01697841084915 30.95448047483449, 121.01696631113323 30.95407580079309, 121.01690559877858 30.954055718633548, 121.01655065488113 30.95395673727095, 121.01548194217256 30.953754558137735, 121.0154542369204 30.953749393431643, 121.01133467401476 30.95279034613189, 121.01068538706993 30.952690457394855, 121.00950915666816 30.952754131662353, 121.00950154324036 30.952775072288084, 121.00914869875375 30.95520971157505, 121.0091113597178 30.955679560603016, 121.00912334384215 30.956091027843144, 121.00907366881866 30.956362407863182, 121.00897398628503 30.95683870656094, 121.00773794810974 30.956889423829846, 121.00674576531767 30.956916403843312, 121.00595665682185 30.95693370453646, 121.00453597571192 30.956959607736025, 121.00452027941239 30.956959896860262, 121.00450457751667 30.95696005205291, 121.00448888091222 30.95696008125879, 121.00447318416471 30.956959989955898, 121.00445749724346 30.956959774400957, 121.00444181560933 30.9569594283581, 121.0044261329221 30.956958958218447, 121.00441045643306 30.956958362077764, 121.00439479883094 30.956957635253325, 121.0043791519721 30.956956794062837, 121.00436351402725 30.95695582233082, 121.00434788681069 30.95695472093095, 121.0043322794033 30.95695350413358, 121.0043166872523 30.956952152201875, 121.00430111490533 30.956950679471298, 121.00428555692355 30.95694908691963, 121.00427001510977 30.95694736371953, 121.0042545076077 30.956945520410205, 121.00382822624206 30.955610677807247, 121.00384439286638 30.956465883094623, 121.0021756975555 30.95954053862968, 120.99944873259942 30.960980350650082, 120.99892220318289 30.964336184256553, 120.99913595767458 30.964340729732644, 121.00020662340944 30.96436360597766, 121.00060670266146 30.9643475887123, 121.00126937008403 30.96435071378384, 121.00127120493234 30.964354273404542, 121.00120517934843 30.964744490387524, 121.00002691089936 30.968822578884257, 120.99833800783041 30.974321001689525, 120.99877905417536 30.976380018658705, 120.99993175908038 30.977953063244975, 121.00163567135812 30.977920507495387, 121.00417538589835 30.97825149125009, 121.00627518682889 30.97898458107221, 121.00773433688514 30.979784625808545, 121.00776267650471 30.979840458670797, 121.00920650815836 30.98329335226526, 121.00922913148214 30.983371882274927, 121.0091417016286 30.984398039752833, 121.00878581501955 30.98547687401163, 121.00465887042071 30.992652575314903, 121.00162094813949 31.000962061190897, 120.99900289393668 31.005076467201388, 120.99897013887475 31.013853529589916, 120.99588430110954 31.018700936822988, 120.99303063182103 31.020180330912723, 120.98957548136693 31.021969014818563, 120.98755344552791 31.022410499608608, 120.97395217704519 31.022338867132028, 120.97020350678514 31.022608344308185, 120.97000959249948 31.022670931086353, 120.96957193980737 31.02301742613696, 120.96944003674345 31.023176387026545, 120.96656775897927 31.02756439641772, 120.96593512070447 31.030386885039057, 120.96455921329418 31.035140248822785, 120.96449130508337 31.03517430500659, 120.96133145507295 31.036246771954982, 120.96083727276591 31.036386656695502, 120.95834735414402 31.03641901627222, 120.95517845100483 31.03642320111359, 120.95468672144837 31.035437176605445, 120.95458591241565 31.034994525412472, 120.95455322843105 31.034561267787684, 120.95501773508576 31.03128877124939, 120.95714413548212 31.03066879156424, 120.95749328921234 31.03047822779491, 120.95639833634864 31.02399302217424, 120.9424169565443 31.023325076653823, 120.94242932882207 31.023040383923355, 120.94246742468299 31.021646969039182, 120.94597494892557 31.017709116880603, 120.94694698633053 31.016460977829126, 120.9465454128489 31.015723632069097, 120.94630309685895 31.01549319544159, 120.94608504868073 31.01534421036942, 120.94545872881719 31.01523350256952, 120.94404952206723 31.015284968973578, 120.94253156786483 31.015620880259203, 120.93974183048962 31.016407852558427, 120.93948541654798 31.01648590636504, 120.93929096955321 31.016593418395367, 120.939187350144 31.016694234630396, 120.93911578165614 31.016822969244547, 120.93896446298774 31.01718248126911, 120.93881168614635 31.01737695451362, 120.93861283940024 31.017500106749157, 120.93836362812135 31.01757938932718, 120.9380004043098 31.017610041205774, 120.93423621518373 31.01785213637555, 120.92500863026908 31.01823902528115, 120.92474958254834 31.018238638647166, 120.92419505952537 31.018233756797606, 120.92344007905838 31.01817831734703, 120.92326260330114 31.018155272868114, 120.9227186591675 31.018059603108814, 120.92236076285187 31.01794413394246, 120.91942092118833 31.016290398834787, 120.91781236422486 31.018865887265225, 120.91772034699994 31.020394806862836, 120.91766410440405 31.022679446905858, 120.91659677608133 31.022721639565244, 120.91659763684022 31.022741024069703, 120.9084127134759 31.022970885009986, 120.90802001763487 31.022977262563046, 120.90797834704078 31.022977947558083, 120.90800642097695 31.02420675399583, 120.90797508865509 31.02987537868893, 120.90816853824333 31.03303899024475, 120.90819089204672 31.033490962171832, 120.90846670502991 31.041799125525866, 120.90711694740462 31.045068986851394, 120.90690463739051 31.045167768934515, 120.90673245029956 31.045255944152984, 120.9066979091504 31.045275226339786, 120.9066619315764 31.045299247042568, 120.9065799569932 31.045358536094373, 120.90652841291715 31.04541250862362, 120.90643616057525 31.045547381891236, 120.90582641364684 31.046545135626637, 120.90551545762028 31.04711131731439, 120.90511252807482 31.047847132239593, 120.90444786056024 31.049179867679275, 120.9041250834824 31.049919153199333, 120.90395112387675 31.050373346354817, 120.90179084752492 31.056609284685724, 120.90163920838772 31.057063650811664, 120.90147600172818 31.057706073927232, 120.90142516362614 31.057982820055155, 120.90133541140635 31.058850641750265, 120.90128363730523 31.05995578493424, 120.9012579306497 31.061447950367054, 120.90129538333265 31.062091801780344, 120.90130545719487 31.062210548507398, 120.90152227420693 31.064328742738166, 120.90167098571455 31.065400798905024, 120.90176546030843 31.065940425736663, 120.90191354233237 31.066494784348556, 120.90223201083978 31.067599470123263, 120.9025502097016 31.068673578895137, 120.90573142998778 31.078780265993338, 120.90836953153192 31.083737501137513, 120.90889446994339 31.083719476513288, 120.90931260886057 31.083706030111045, 120.90973095227609 31.08371577348266, 120.909922453131 31.08373420965393, 120.91011864843252 31.083775673348907, 120.910319476883 31.08383634814694, 120.91074371939229 31.08399228608684, 120.9110163948137 31.084121926807168, 120.91114170012078 31.084194483230117, 120.9112403185353 31.08426711431446, 120.9113123585284 31.084351307218345, 120.91133997851334 31.084439481259288, 120.91134564788759 31.084554542351658, 120.91133011139323 31.084769371404846, 120.91121841270534 31.08514556011224, 120.90898110146007 31.09124262063705, 120.90893871957027 31.09131301432776, 120.90888179474392 31.09136698198305, 120.90842924071924 31.091617020352007, 120.90824809221961 31.091704711731804, 120.90665807589366 31.092263972698916, 120.90654816324273 31.09229364885452, 120.90596415538998 31.09237240467087, 120.90578700035945 31.092394460319312, 120.90552522531131 31.092409675270925, 120.9054564170453 31.092413669979972, 120.90441069580359 31.092373435434773, 120.90252694187916 31.094346111946372, 120.89697394033873 31.100080921128402, 120.8960354654871 31.09990288264231, 120.89574667542077 31.099850155581642, 120.8954966432464 31.099829855649542, 120.89529490713063 31.099833472468866, 120.89509812346127 31.099853579872356, 120.88444458309307 31.101158461709964, 120.88441623345649 31.101170057233187, 120.88441665751692 31.101211310714312, 120.8844321403955 31.101451005109126, 120.88443726478623 31.101525876725848, 120.8848338341019 31.103612749228322, 120.8848751510926 31.103814266411263, 120.88308611036554 31.105915095501125, 120.88306431706913 31.105923154316077, 120.88106254751587 31.10641406722186, 120.88092282930025 31.106432734764077, 120.87940139274482 31.106389247085282, 120.87757341932092 31.105021674272262, 120.87596835072779 31.103605754238377, 120.87595438348546 31.103519854300206, 120.8758867036428 31.103304135753504, 120.87585105344327 31.10323382537688, 120.87583332785931 31.103211788049542, 120.87580697932597 31.10319748501548, 120.8757720114317 31.103198427428794, 120.87498474635665 31.103315438039022, 120.87489216439916 31.103296233082247, 120.87312313886704 31.103689368998847, 120.8707402654569 31.104879163310947, 120.87026477345285 31.105105077253334, 120.86945166401479 31.105230763633326, 120.86929672175287 31.105245388783192, 120.86876923587256 31.105357719969206, 120.86466091363988 31.10714945379018, 120.86407237526113 31.107878130722618, 120.86359223652263 31.108482253827162, 120.86313461618481 31.109066219348644, 120.8630449897808 31.109193090423865, 120.86303199981782 31.109259698221003, 120.86298661588052 31.110719763150506, 120.86297640437046 31.11108671210029, 120.86298153471347 31.111148998976645, 120.86298647885565 31.11119179639373, 120.8629970863112 31.111212823757363, 120.8637270596498 31.11270085500249, 120.86373126294701 31.112699294580352, 120.86379535592913 31.112831966249445, 120.86466613768894 31.11463419347086, 120.86493368093788 31.11469752625204, 120.86552277585412 31.11485793808068, 120.86581644574615 31.114978282716276, 120.86709055850511 31.115901340448755, 120.86736478556716 31.11619572382821, 120.86788741013547 31.117588839041225, 120.86853614548211 31.118928627301848, 120.86936518309713 31.11980130264737, 120.87076054075246 31.12040970620464, 120.871926932751 31.1207070414843, 120.8739347321231 31.12162696296472, 120.8754035079677 31.12339797947804, 120.87760833863382 31.12820241693304, 120.87757579236396 31.128636449238886, 120.87753876949776 31.12913008587415, 120.87780182716321 31.130636457071844, 120.87850094359175 31.132329855814987, 120.87910826585963 31.13311593540427, 120.87942609975696 31.13345124164964, 120.87955423636326 31.13358642833584, 120.88306403186408 31.137290966555128, 120.88483548625337 31.138760179759636, 120.88508731053142 31.139024011683276, 120.8863090060983 31.139834048944934, 120.89096497780906 31.140286283399366, 120.89831845503447 31.141033411445576, 120.90298160629 31.141361964969995, 120.90383750721799 31.141424643398537, 120.90530151065049 31.14153360798112, 120.90559405381406 31.14155564550113, 120.90562495183147 31.141557977263624, 120.9116136459699 31.14013682677356, 120.91208101934926 31.140212502879844, 120.91414596469443 31.140549491543148, 120.91724094439299 31.141062401087844, 120.91826856047622 31.141250431676784, 120.9216837219174 31.141881848106948, 120.92289214707061 31.142107481955726, 120.92310516672836 31.142147366893877, 120.92372773333202 31.142390391043094, 120.93187290342973 31.14559067825348, 120.93428889914826 31.146593340073306, 120.9365364196011 31.14752684429592, 120.93701554208864 31.14747868702579, 120.93702369147297 31.147529451271232, 120.93704348021294 31.147526770606678, 120.94295893503904 31.146724479721748, 120.9444818601173 31.14651675602742, 120.94448031096329 31.146509264787678, 120.9469918421366 31.14616588432263, 120.95397138855164 31.14519420920004, 120.9586053917467 31.144530303447862, 120.9591266450527 31.14443841613424, 120.9688176808911 31.142686129087448, 120.96962079952098 31.142517900408613, 120.97242087404767 31.141925426763972, 120.97271004242654 31.141863356123963, 120.97675609465855 31.140986667561922, 120.97891311685652 31.140505203779526, 120.98162864080018 31.139894398025888, 120.98890304880022 31.138252550529717, 120.98971697418894 31.13806825025054, 120.9897711171986 31.138062815802435, 120.98984268642126 31.1380717344103, 120.98989698088036 31.138078924685544, 120.99260509357126 31.138530123618487, 120.9930593906724 31.138605789697863, 120.99405939377156 31.138773806664595, 120.99577314332151 31.139065802948625, 121.00231354784201 31.139298230013935, 121.01181060999721 31.139316620669156, 121.02454001580828 31.140018380815615, 121.02463201243452 31.14009880567058, 121.02745533433902 31.142857014306827, 121.02895388301904 31.144325386017417, 121.03212558829706 31.146952577036433, 121.03812176384754 31.147881617644565, 121.03945719761033 31.14798178283524, 121.03956414656521 31.147962439778567, 121.042146664785 31.14645339159928, 121.04218018389346 31.146356683843177, 121.04227672365109 31.145971089677765, 121.04232609986839 31.144873621218625, 121.04259442530233 31.143310037078894, 121.04493808730446 31.142915800783296, 121.04499899458196 31.142915582132083, 121.04722700606953 31.14351736532721, 121.04833727137729 31.144845116713483, 121.04850768642403 31.145102302789333, 121.05151263635766 31.150745798529034, 121.05153369636754 31.15095987519233, 121.05145917285738 31.151675810461228, 121.05014887979522 31.15239613102134, 121.049014039601 31.152407640554316, 121.04793167857754 31.152834093659123, 121.04788622696164 31.152877602381047, 121.04786309109927 31.15294895481581, 121.04771660364136 31.15518752061872, 121.04771655799468 31.155250654728032, 121.05109970448842 31.15673914220411, 121.05111372394612 31.160238398001837, 121.055852235283 31.158650909056675, 121.05581567548582 31.158383364841647, 121.05583812256991 31.158300501393864, 121.05633171718497 31.156511376771192, 121.05757727300903 31.15648157770509, 121.05863548272312 31.15656747207718, 121.06200009248458 31.15690276611395, 121.0620228203247 31.156926120753965, 121.06202276463097 31.1569599458816, 121.0618898872237 31.157201008690897, 121.06166191193773 31.15809301708596, 121.06381801881277 31.15905261948556, 121.06393216864113 31.159083651418015, 121.06654365227254 31.15933071532264, 121.06694334825902 31.159361638518362, 121.0684094659413 31.15941247692076, 121.06860758273605 31.159405348244487, 121.06871429061643 31.159356919835286, 121.07144427703678 31.15552751094415, 121.07499915452257 31.15607203419169, 121.07651516596464 31.15962509301843, 121.0783990644331 31.162021787488076, 121.0795958965868 31.1635115255957, 121.08132849372835 31.164349937483795, 121.08297262566815 31.165137121822628, 121.08305199101771 31.165195342722424, 121.08363585877707 31.167529417174713, 121.08347456902865 31.168326847075935, 121.0836176427405 31.1683487448636, 121.08408950511469 31.168391972895325, 121.08351519568639 31.16923311749101, 121.08322645027985 31.172153791045854, 121.08294518853631 31.173589118992886, 121.08283056661321 31.174162265408725, 121.08218196204878 31.176943061670165, 121.08155048255301 31.17683068034137, 121.08113773453898 31.17673803023146, 121.0797455718074 31.176451143936283, 121.07827340561191 31.176241250741153, 121.07822843821059 31.176430931698935, 121.0779570787909 31.17758622601791, 121.07856044074069 31.179160816324057, 121.07887683554807 31.179410661387443, 121.08100663227121 31.180013792858773, 121.08121327989471 31.180079963219995, 121.08111260798486 31.180316785588154, 121.07997225090027 31.182678022969, 121.0797646134712 31.18307119228367, 121.07900002540983 31.184084668436288, 121.07690933940903 31.188252477610913, 121.07519588772541 31.19130542996544, 121.07531821733227 31.191357514502517, 121.07518719064034 31.19176365414496, 121.07717052096656 31.195081686127093, 121.07863731105878 31.19754509466274, 121.0758740163048 31.200983153819823, 121.07541379199276 31.202709642451257, 121.07414552450476 31.207640749038347, 121.0708386988214 31.223282961727055, 121.06960087953277 31.230164609087357, 121.07066848634891 31.2370633676471, 121.06814368718373 31.240963803299515, 121.06751138302782 31.242722346697136, 121.06720644721628 31.244351684405974, 121.06721401715245 31.24441282148252, 121.06722140071946 31.244451403016804, 121.067244352504 31.24448147581897, 121.06727483108449 31.244511804017055, 121.06732064443834 31.244544886960252, 121.06736626638808 31.24457120357739, 121.06741951571027 31.244593253376355, 121.06746528053208 31.244597021418482, 121.06807232327503 31.244618111705435, 121.06903596351252 31.244661948018226, 121.06946626251253 31.244726894471544, 121.06975354094583 31.24487048708439, 121.06990796252202 31.245675972093213, 121.07026583897452 31.24967714335701, 121.07035120272009 31.252462057918432, 121.07028486670715 31.252516087097053, 121.06900476057515 31.252816534003614, 121.06872824717038 31.25285080574096, 121.06819192179925 31.252781377526144, 121.06773548602786 31.25243499736606, 121.06771722656354 31.25620215972129, 121.06774675188136 31.257508631068113, 121.06846369914285 31.2729942875446, 121.06852462076382 31.273706815842196, 121.06856748172046 31.273982415683374, 121.06861938969695 31.274252659202354, 121.06862299290006 31.274271414340536, 121.06862625496737 31.274279476645386, 121.06867109103558 31.274390195874094, 121.07028370699133 31.274166965732114, 121.07108626476209 31.274164150336414, 121.07505677449528 31.274286981697916, 121.07607630537875 31.274791165739945, 121.07835726740984 31.275544059969715, 121.08053483333218 31.27588860746197, 121.08320467729955 31.276139982819444, 121.0860581489489 31.27626093086414, 121.08760726874348 31.27712534838305, 121.08881196610889 31.27808072429138, 121.08953837860581 31.279266735717705, 121.09081725403765 31.28183366281825, 121.09092987103647 31.282059566708508, 121.0902675010938 31.282371343354058, 121.08882554122476 31.28304865780449, 121.08865725601382 31.2831117651856, 121.08803809587155 31.283283518940575, 121.08748781579081 31.283433346424463, 121.08743993669367 31.28345799196441, 121.08791058574742 31.285298454354766, 121.08800711460846 31.285552079776423, 121.09123297109201 31.293944023148164, 121.09189637314881 31.295659363601036, 121.09305223145381 31.29817788872046, 121.09314802960562 31.298310588671796, 121.09368995105328 31.29860010460667, 121.09536205740098 31.298482487221495, 121.09539246601362 31.29847593236278, 121.09624967416033 31.298206363884294, 121.09969739524868 31.296063620203633, 121.10034771084544 31.294995227673393, 121.1006826067112 31.2949321119933, 121.10058468047998 31.294526157654328, 121.10452199432652 31.285026713230305, 121.1042852116183 31.284043811254122, 121.10448674612779 31.28305625700376, 121.1050840158027 31.282629952722083, 121.10511901658387 31.282611725644916, 121.10723874852144 31.281506464973873, 121.10966508923032 31.28023876631172, 121.11108867664787 31.279949906418953, 121.11189475363798 31.279887482123375, 121.11220465019375 31.279863427009158, 121.11223683761662 31.28026439244434, 121.11207805416383 31.281256554081533, 121.11168445971758 31.281232412618003, 121.1158983470206 31.2858077803254, 121.12072544285137 31.29089796926163, 121.12074063837483 31.29117301381479, 121.12076368417688 31.29149989304616, 121.1207713203041 31.291513387676087, 121.12129222161023 31.291639717624722, 121.12134616851097 31.29164399843502, 121.12262236993318 31.291737240805926, 121.12758827385352 31.291614798276317, 121.1307873213826 31.2903732159042, 121.1308783452659 31.288800024436707, 121.1334864905136 31.287289502523834, 121.13371538108802 31.28715017749532, 121.13347758775706 31.286859883496163, 121.13463797386717 31.286828751971893, 121.13596026035617 31.285860513076308, 121.13597475551855 31.285839997492733, 121.13601223423541 31.285859210302167, 121.1376341242446 31.285819605921677, 121.13769554564195 31.28589268986995, 121.13823963385646 31.286922522353528, 121.14457880948656 31.284620037507175, 121.14462743773117 31.284310485330508, 121.14405930522945 31.283057692742545, 121.14483108047531 31.282516318126195, 121.15028098462189 31.28069671564376, 121.15030145690909 31.28054103925307, 121.1573626110015 31.281265497030308, 121.16030840126778 31.282551161589552))'),
+ (26808,'POLYGON ((121.32601840700522 31.163732960639937, 121.33116797012252 31.163982411627643, 121.33241896470355 31.16426461404738, 121.33270553284754 31.16429650380999, 121.33510812199279 31.162916073528116, 121.33532025882424 31.162712475815148, 121.33553139491904 31.162436850960816, 121.33573328294088 31.162161398470353, 121.33600808223486 31.16174064545089, 121.3453819227965 31.14692127638707, 121.3503167018791 31.138068246032052, 121.35118316894757 31.13638267185956, 121.35121739946644 31.136172918175085, 121.35108152558267 31.135986769321786, 121.3507308195343 31.135793613246573, 121.35055846419968 31.1356462680296, 121.35057099666007 31.135468790784625, 121.35327512882762 31.128086612721965, 121.35749773620884 31.122219145630684, 121.35748900143996 31.122215944139924, 121.35748039712848 31.12221252447523, 121.35747190425583 31.1222088887624, 121.3574635418379 31.122205045672146, 121.35745532527018 31.12220099493974, 121.35744725092783 31.12219674652437, 121.35743933149176 31.12219229031099, 121.35743156333594 31.122187641657185, 121.35742396185461 31.122182804796957, 121.35741653701074 31.122177775060326, 121.35740927702899 31.12217256254653, 121.35740221451034 31.122167171193944, 121.3573953376817 31.122161602104395, 121.35738864291824 31.122155864337333, 121.35738215919969 31.12214995829452, 121.35737587746652 31.12214389762732, 121.35736981130505 31.12213767400469, 121.35701189897472 31.1217487918133, 121.35701544300267 31.121730368127523, 121.35701911198363 31.121711971081325, 121.3570229023001 31.121693577343617, 121.35702682390861 31.12167521193606, 121.35703086503949 31.12165685886565, 121.35703503837038 31.121638523312992, 121.35703932669416 31.121620206473576, 121.35704374178316 31.121601911744076, 121.35704828635428 31.121583639977583, 121.35705294772973 31.121565386893327, 121.35705773496568 31.12154715143597, 121.35706264806147 31.12152893810427, 121.3570676815831 31.121510747891403, 121.35707284096443 31.121492580704032, 121.35707812620424 31.121474441940734, 121.35708352734194 31.12145632547444, 121.35708905977313 31.121438231940484, 121.35709470266725 31.121420167095295, 121.3571004759495 31.12140212429838, 121.35710637056128 31.12138411450232, 121.35711239103274 31.121366127732173, 121.35711852740128 31.121348168657928, 121.35712478419386 31.12133024260035, 121.35713116684627 31.12131233956891, 121.35713767082838 31.121294469538732, 121.35714428980086 31.121276632618834, 121.35715103553807 31.1212588232084, 121.3571578962656 31.121241046908423, 121.35716488375571 31.1212233089152, 121.35717503688107 31.121207697507348, 121.35850788016378 31.11920414895419, 121.36050935878077 31.117643128003298, 121.36172797571858 31.118068888099558, 121.36176031663709 31.118080439021174, 121.36179252163947 31.11809226148687, 121.36182457624001 31.11810435753414, 121.36185648949261 31.11811672611125, 121.36188825596584 31.118129357408403, 121.36191986207886 31.118142261545508, 121.36195132141303 31.118155429297843, 121.36198261495582 31.118168864576365, 121.36201375266653 31.118182568113756, 121.36204472820847 31.11819652921464, 121.36205659227679 31.11821554395467, 121.36207002623102 31.118233761726547, 121.3620849494942 31.1182510992961, 121.36210129778564 31.11826746326372, 121.36211898056898 31.118282775059612, 121.36213791545636 31.118296950580906, 121.36215799923636 31.118309922263546, 121.36217913956158 31.118321634960694, 121.36220122597864 31.118332017626255, 121.36222414260193 31.11834101459801, 121.36224777988292 31.11834859530129, 121.36227202103154 31.118354704984018, 121.36229674473054 31.118359326756778, 121.3623218160837 31.11836243135291, 121.36234711920706 31.118364002686974, 121.3623725228263 31.118364035720166, 121.36239789657354 31.11836252899407, 121.36242311913426 31.118359488996337, 121.36244805923614 31.1183549286726, 121.36247259737627 31.118348878767616, 121.3624965968518 31.11834136220643, 121.36251995174048 31.118332424800872, 121.36254253620447 31.11832210008917, 121.36256423617459 31.11831045020694, 121.36258499823805 31.11829753899557, 121.36333243965058 31.117283583929325, 121.36372366451593 31.116433027644707, 121.35984316618809 31.113607908637917, 121.35517871764984 31.11236394435834, 121.35778121890107 31.10500207340136, 121.36215524067593 31.105858942968297, 121.36908286600213 31.106209882254586, 121.36910503689978 31.106174293716673, 121.36957781779505 31.105415331605688, 121.37122828001172 31.10216449194908, 121.3720670431963 31.100512222247836, 121.37229951302102 31.10005426101872, 121.37229860794037 31.100053931171107, 121.37257010482075 31.099521194056585, 121.37273600425021 31.099013877364925, 121.37287405153232 31.098591719472083, 121.37288268112243 31.098565329474557, 121.37296248447191 31.0983212640751, 121.3728374451331 31.09793822850284, 121.37249048432386 31.09750687836768, 121.37319859295188 31.096614341693748, 121.37349142658202 31.09624528846751, 121.37476335568957 31.094642655540074, 121.37491597410948 31.09443413681174, 121.37518714402115 31.093945596825098, 121.37633907553422 31.091870392485053, 121.3789300430904 31.085663266094084, 121.37880099352061 31.0856241748817, 121.37878932141714 31.085545977694245, 121.37866094724532 31.084685952176276, 121.37722144614357 31.084078494310123, 121.37659029223165 31.083823016491362, 121.37508634246716 31.084723484806286, 121.37235785932964 31.083793648763915, 121.37151210859797 31.083200733515234, 121.36997543923744 31.081324261236503, 121.3683170120735 31.07865741459814, 121.36840759211181 31.078527664990375, 121.36945961891854 31.07712603254745, 121.37023450212847 31.076221625467497, 121.36998183734902 31.074514466357822, 121.36432357689999 31.069858063864796, 121.36325788504935 31.0691440772778, 121.3630632174791 31.069039708171466, 121.3564409522761 31.066890021933727, 121.35095650440529 31.065473257159784, 121.34967506208113 31.06526169201551, 121.34892900131243 31.06517456910862, 121.34889065174832 31.06547825692867, 121.34886384529287 31.06605343624548, 121.34879229371614 31.066893963292785, 121.34861567726612 31.067764926667476, 121.34809015479036 31.069519363770734, 121.34280849372242 31.06878874166499, 121.34165465716184 31.066996388816275, 121.34158880101066 31.066894043639014, 121.34144660140994 31.0668836043428, 121.34176825990411 31.064090655841753, 121.34173639637727 31.063996626523007, 121.34169860992928 31.06387276039996, 121.34167169689366 31.063697216417886, 121.34165199813286 31.06345670948259, 121.34164383916472 31.0632623288839, 121.34163312528703 31.057962581175357, 121.34111954651566 31.051666283923566, 121.3409707876546 31.04983753814648, 121.34078833509243 31.049350474624095, 121.34006644468754 31.046979661476502, 121.34001071045945 31.04669256302781, 121.3398155440358 31.04065294701659, 121.33963012516976 31.03208992818521, 121.33953382915995 31.027413989647453, 121.33982204176833 31.02581706979452, 121.33974366064078 31.023469255756314, 121.33948194752932 31.02038382940105, 121.34147558273075 31.02039499489005, 121.3435144341107 31.020403500526232, 121.3440760846841 31.020405365152357, 121.35006216884621 31.02041484036143, 121.34651829371404 31.01658901603621, 121.34633555678579 31.016363867890192, 121.3460389686895 31.015862511265976, 121.34602679204336 31.01582983461076, 121.34584133378931 31.015332256424568, 121.34535079637145 31.014016081406453, 121.34493224876857 31.012750990457455, 121.34480857470918 31.01254744752065, 121.34359106758745 31.010860639255483, 121.34158368162252 31.00827019282041, 121.34135899960258 31.008022593187178, 121.33841131406679 31.00538943099579, 121.33434736398452 31.002341174859275, 121.33400675834501 31.002072465485348, 121.33371572485197 31.001791932950816, 121.33353659134421 31.001560611491158, 121.33337284778774 31.00125678680141, 121.33328854555988 31.00084467207785, 121.33326464662716 31.00060246325489, 121.33237481074725 30.99021156537706, 121.33237442658474 30.99018120598764, 121.33236881789878 30.989739509175045, 121.33237793392696 30.989207079339426, 121.33245478977669 30.988832585771185, 121.33264640678894 30.988338071496827, 121.33270437645857 30.988244566831877, 121.33358910342741 30.986817197681063, 121.33377852741962 30.986898390236984, 121.3339108619521 30.986955089463873, 121.335791470736 30.987384513654654, 121.33688886907353 30.98737082119681, 121.33838239731939 30.987350542797547, 121.33995109170093 30.987170096011102, 121.34223180765544 30.986432791528557, 121.34408420911812 30.985506924548837, 121.34806051444338 30.983648489025185, 121.34970954553174 30.982988937354126, 121.35050952162064 30.982668640453443, 121.35219568288969 30.982060397211374, 121.35609206390941 30.98185865824393, 121.35814455130333 30.981988464497274, 121.35987171127762 30.98216621630786, 121.36154309668619 30.98243724726936, 121.36260858192364 30.98270822223694, 121.36315789545334 30.982848061762887, 121.36661055367219 30.984044149128305, 121.36687185508983 30.98211353587772, 121.36703899636859 30.98088731156877, 121.367040249581 30.980887423780278, 121.36779677106752 30.97532228818667, 121.3681000536907 30.97246508357526, 121.3680967036408 30.972464870507395, 121.36863517942933 30.967331012486664, 121.36974155717735 30.964303809963624, 121.3697472352895 30.963834195237805, 121.36976735973894 30.96216870727046, 121.36973662818905 30.961605305385884, 121.36971145216357 30.96131507162121, 121.3694363252508 30.959864010106806, 121.36932723628776 30.958907613612055, 121.36935956232317 30.958916530778726, 121.36936875028688 30.95889297825311, 121.36905669043168 30.954404908393563, 121.3691433237381 30.94081692649471, 121.36913054249032 30.940394684144625, 121.3688846625081 30.940370136796517, 121.36861831940215 30.940394612120333, 121.3671981138185 30.940547818815524, 121.36608656273683 30.940704156146236, 121.366006930818 30.940702217501677, 121.36287881836004 30.93967486211443, 121.361945117855 30.938245865558798, 121.36195421711186 30.93824009195272, 121.36196317056998 30.93823416059562, 121.36197197732335 30.93822806610226, 121.36198063918447 30.93822181474092, 121.36198914891067 30.93821540483049, 121.36199749835812 30.938208853602198, 121.36200568571415 30.938202149386374, 121.36201371279218 30.938195302050964, 121.36202156872898 30.938188313573928, 121.3620292580526 30.93818118747909, 121.3620367662781 30.938173924004296, 121.36204409884043 30.938166533857654, 121.36205125483347 30.938159011653784, 121.3620582197735 30.938151362129872, 121.36206499818972 30.938143595108972, 121.36207158464995 30.93813570708018, 121.36207798096702 30.938127706111544, 121.36208417537148 30.93811958969647, 121.36209017329857 30.938111370342853, 121.36209596478936 30.938103045514104, 121.3621015552783 30.93809462321883, 121.36210693480608 30.938086099120742, 121.36211210699766 30.938077488457314, 121.36211706823124 30.938068786787895, 121.36212181760251 30.938059997726217, 121.36212634606127 30.938051133118893, 121.3621306581341 30.93804219109086, 121.36213474838972 30.938033173530656, 121.36213861230266 30.938024084111518, 121.36214021504743 30.938012095599618, 121.36214163763762 30.938000094757562, 121.36214289365321 30.937988081361777, 121.36214397313684 30.937976060975235, 121.36214488151957 30.937964029008963, 121.36214561970866 30.93795199444669, 121.36214618589241 30.93793995191894, 121.3621465755456 30.937927908699113, 121.36214679047951 30.937915867457015, 121.3621468334094 30.937903824548393, 121.36214670524235 30.937891788957096, 121.36214640054551 30.937879756273176, 121.36214592475187 30.937867731806517, 121.36214527333462 30.937855714731803, 121.36214445082042 30.937843705874574, 121.3621434572102 30.937831709734244, 121.36214228707296 30.93781973179965, 121.36214094584042 30.937807771081623, 121.36213943894354 30.93779582389149, 121.3621377500872 30.937783894097123, 121.36213589013727 30.937771992318527, 121.36213386452368 30.93776010856782, 121.36213166781602 30.93774825193351, 121.36212930001439 30.93773642421555, 121.36212675659186 30.937724623689125, 121.36212404660222 30.937712855604723, 121.36212116461277 30.937701115552816, 121.3621181124359 30.937689414302344, 121.36211489912314 30.937677744505812, 121.36170740250046 30.936690014093585, 121.36165027831136 30.936629378893024, 121.36155637423438 30.936611880955873, 121.3604858474698 30.93661862653166, 121.36047547741022 30.936618875826635, 121.36046511191479 30.9366194859101, 121.36045478267467 30.936620459847617, 121.36044449783725 30.936621784003773, 121.36043427913397 30.936623461611696, 121.36042413561917 30.93662548891887, 121.36041408811828 30.93662786467414, 121.36040415111896 30.936630588632756, 121.36039434453969 30.93663364606068, 121.36038468468008 30.936637045681096, 121.36037518602555 30.936640767451983, 121.36036585853654 30.9366448121045, 121.36035672213302 30.936649173902776, 121.36034779673541 30.936653851610078, 121.36033908868029 30.936658827121246, 121.36033061154926 30.936664093007398, 121.36032239160049 30.936669644325278, 121.36031442883376 30.93667547207516, 121.36030673773558 30.93668156611309, 121.36029933822597 30.936687918903015, 121.36029223573615 30.93669451325484, 121.36028544565939 30.936701347107906, 121.36027898248102 30.93670839951988, 121.3602728471069 30.936715667774887, 121.36026705402308 30.936723135429745, 121.36026161228321 30.936730791532426, 121.36022632553588 30.936932763729654, 121.36026314188717 30.93721646496279, 121.36025977880657 30.937312845797752, 121.36022745421724 30.937343774750914, 121.36018058079497 30.93733711717345, 121.35989408526886 30.93728474318258, 121.35980647990107 30.93725912086838, 121.35783886054315 30.936559546722975, 121.35781650468248 30.936552756611736, 121.35779420041344 30.93654586935762, 121.35777193596391 30.936538882462305, 121.3577497113345 30.9365317995246, 121.35772753739266 30.93652462035734, 121.35868229712189 30.933826642535447, 121.35867813826358 30.93381563226343, 121.35867408626574 30.933804595872857, 121.35867013931733 30.93379352709581, 121.35866629832401 30.933782435814692, 121.35866256328599 30.933771308532148, 121.3586589278644 30.933760159753515, 121.35865540926486 30.93374897838671, 121.35865199118729 30.933737775508195, 121.35864868359303 30.93372654554862, 121.35864497476867 30.933690409000157, 121.35864129589591 30.933654271959906, 121.35863765150233 30.933618133450526, 121.35863403343825 30.93358199091181, 121.3586304498535 30.933545846903954, 121.35862689259841 30.93350969256794, 121.35862335986153 30.93347354233191, 121.35861985707625 30.93343739250364, 121.35861638514815 30.933401236768873, 121.3586129431717 30.933365080541968, 121.35860953205271 30.933328918408503, 121.3586061499797 30.93329275669814, 121.35860279423629 30.93325658915853, 121.35859946844455 30.933220421126713, 121.35859617260428 30.933184252602555, 121.3585929030938 30.93314807824915, 121.35858966806299 30.933111898826834, 121.35858645845568 30.933075723488642, 121.35858327880034 30.933039543158944, 121.35858013453009 30.933003356844985, 121.3585770102501 30.932967175607793, 121.35857391682768 30.93293098846372, 121.35857085879007 30.932894800734168, 121.35856782527122 30.932858608105843, 121.35856481808162 30.932822415046942, 121.3585618453718 30.93278621601907, 121.35855889808587 30.93275001657594, 121.35855598075139 30.93271381664012, 121.35855309427413 30.932677616196145, 121.35852505166572 30.929828847926544, 121.35861064530668 30.92963548813139, 121.35862940501703 30.929633260726362, 121.35864816922647 30.929631084564793, 121.35866693883824 30.92962896772956, 121.3586857183813 30.929626905644835, 121.35870450242075 30.929624903802356, 121.35872329639113 30.929622956711157, 121.35874209667004 30.9296210644334, 121.35876090053962 30.92961923241451, 121.35877970981198 30.929617455225316, 121.35879852992008 30.92961573367315, 121.35881735452534 30.92961406606706, 121.36166105217954 30.927380858949512, 121.3618182782445 30.92724029037676, 121.36188701943881 30.927130076804954, 121.36242465988654 30.925708115678457, 121.36244709712783 30.92563930233177, 121.3624400420943 30.925463098601472, 121.36226270892 30.92379364023656, 121.36218428949343 30.923194225211624, 121.36214944693508 30.92304069886565, 121.36205801945601 30.922862709625434, 121.36190057045589 30.922646441786792, 121.36155825325898 30.92225868630988, 121.35836161236024 30.919159432069392, 121.35546507235581 30.918339770886416, 121.35151125109218 30.91519367839772, 121.35097585193877 30.91510038074634, 121.34250960946999 30.913729457285292, 121.342145276773 30.91401670745653, 121.34180521501017 30.914283421120935, 121.34158710495466 30.914426880058674, 121.33926334845248 30.914521107073305, 121.3383774493094 30.91428683874899, 121.33733002306785 30.913973662694676, 121.33690825093596 30.91481770703003, 121.33667702058621 30.91532834746319, 121.3366494180899 30.915331054321005, 121.33662180500741 30.915333650857615, 121.33659417321199 30.915336130837225, 121.33656653083115 30.915338500492684, 121.33399170536832 30.916678233475256, 121.33351639335403 30.91652541495389, 121.33360607059359 30.915907352797916, 121.33335678172136 30.91571717390137, 121.32929556254655 30.914981109815738, 121.32760404115346 30.91557148256039, 121.32735760088916 30.916381244979462, 121.32617986459843 30.917834579161834, 121.32453991075036 30.91764717560622, 121.3240578103063 30.917548328107436, 121.3172163570584 30.91681865282445, 121.30821909470538 30.915886517874842, 121.30452491805568 30.916880421892532, 121.30348781483241 30.919875199307548, 121.30346812928865 30.919918972419083, 121.30289591889837 30.921191106090316, 121.30101853319405 30.924844865302983, 121.29939383774921 30.924482173168716, 121.29594570558572 30.92367388882785, 121.29540840883757 30.923543745236135, 121.29512549264018 30.923469482589887, 121.29487827742679 30.916588959679224, 121.29606999034318 30.916170358933083, 121.29648516828499 30.915996477308376, 121.29695177456476 30.912965496213754, 121.29731175337847 30.91048505507345, 121.29727813847177 30.90920484014188, 121.29645151853879 30.906379726572755, 121.29458668917573 30.90238695025785, 121.29454514009463 30.902374594523558, 121.29225535097041 30.901694029308768, 121.27945478268863 30.904853419291662, 121.27325671674463 30.90870665770199, 121.27335587551083 30.909161440952225, 121.27351458009457 30.91074348868613, 121.2734310045837 30.912065521720773, 121.27104267515811 30.913170605578426, 121.26881290973547 30.91393749043007, 121.26130621846951 30.91553020278137, 121.26108674872941 30.915555452894814, 121.25905443991478 30.915656472612817, 121.2586736023807 30.915672397706665, 121.25756927323232 30.915709072239537, 121.25254423394391 30.91626657445562, 121.25240369382833 30.91656853405171, 121.25136140138873 30.92271471750669, 121.2470622986593 30.930804925667857, 121.24680948294966 30.931165171177277, 121.24458605164556 30.931237931398055, 121.24459157633058 30.93124605670283, 121.24459672994269 30.9312543686167, 121.24460149713738 30.93126285301504, 121.24460587701464 30.931271494614872, 121.24460986145094 30.931280288160654, 121.24461343871427 30.93128920866572, 121.24461660970918 30.93129824711409, 121.24461936902043 30.931307397302284, 121.24462170581783 30.93131664052681, 121.24462362190965 30.931325960557615, 121.24462511639558 30.93133534391298, 121.24462618927721 30.931344779794358, 121.24462683062721 30.93135424858312, 121.24462703954353 30.931363744896256, 121.2446268277664 30.931373243329578, 121.24462617814322 30.93138274059054, 121.24462511324695 30.931392214680947, 121.24462361050995 30.93140165070818, 121.24462169160093 30.93141103568871, 121.24461934659008 30.931420361702777, 121.24461658450757 30.93142961149422, 121.24461341077222 30.93143876787145, 121.24460982628867 30.931447816423262, 121.24460584459953 30.93145674791142, 121.24460146660958 30.931465545225674, 121.24458849890523 30.9314847322709, 121.24457457793535 30.931503426265916, 121.24455971814572 30.931521591876976, 121.24454395474635 30.931539192499354, 121.24452731391915 30.931556189890664, 121.24450983448399 30.931572556379617, 121.24449154171894 30.931588262737915, 121.244472481667 30.931603272166416, 121.24445267870395 30.93161755455259, 121.2444321879001 30.93163107923255, 121.24332660125599 30.93232130149583, 121.24127906453886 30.932163814384626, 121.24122074579812 30.93275156507283, 121.24106819909376 30.934740742858956, 121.24098400793166 30.934741283773448, 121.24075140330035 30.934629779615246, 121.23362356680963 30.932874311838237, 121.23354145262861 30.93280868320272, 121.23350256718165 30.932844503076957, 121.23314869193153 30.93317049895987, 121.23185106212654 30.93435736343356, 121.23183126075855 30.934375472956972, 121.22959700565748 30.937336396373986, 121.22779422716988 30.93611584893974, 121.22467902190664 30.933774280013754, 121.222364559916 30.931860264550945, 121.21917572478407 30.928832522472227, 121.217571888606 30.92747313574609, 121.2168746349224 30.927224648261795, 121.21492941650659 30.92652901031939, 121.20549791216678 30.924412815620347, 121.2030035711416 30.923837727036233, 121.19959986908441 30.923532883415138, 121.19768514004437 30.923456381740277, 121.19485511404031 30.923070389272635, 121.19363657283687 30.922485516752577, 121.1932294766761 30.92223355347677, 121.19223678615526 30.92164984422837, 121.189683665934 30.92133660270609, 121.18884490962799 30.92123271795615, 121.18456483741166 30.92100774042284, 121.17871245887059 30.920688297983325, 121.17758921637513 30.92075733858449, 121.17682364287353 30.920976717208283, 121.17536712615654 30.92169610013759, 121.17427300737566 30.92232260277311, 121.17337772008545 30.923025032237977, 121.17288017981872 30.923879148072476, 121.17221567374881 30.925075999533988, 121.17152194407 30.9257154384053, 121.17059326129412 30.92606946603348, 121.16918646765285 30.926270097267707, 121.16818319843811 30.926220573511788, 121.1673841757031 30.92618142408889, 121.16709891849993 30.92616200490802, 121.16558213838934 30.926059417926428, 121.16442104505236 30.925956953210424, 121.16407042923025 30.925757970515374, 121.16314485846813 30.924156222845074, 121.16300787081639 30.92303181952447, 121.16292695411389 30.92236747094952, 121.16289092448595 30.921876572712222, 121.16273756502561 30.919785689678925, 121.16247963225112 30.91626452408687, 121.16248702243571 30.91626420020276, 121.15965946074587 30.916137327001895, 121.15912003965046 30.916175145896737, 121.15634243780485 30.917078793536742, 121.14958870773694 30.920539932364374, 121.14861615897111 30.921326406440755, 121.14853931525501 30.922449344476878, 121.14870543665535 30.92272519281791, 121.14968526963338 30.923873338747285, 121.14835216949308 30.925057970998196, 121.14561930094169 30.925445876196843, 121.14413834230733 30.920210188094234, 121.14387225206235 30.91884580245798, 121.14387024271316 30.91883254572988, 121.14386881309241 30.918819226416453, 121.14386797846184 30.91880586964513, 121.14386771723866 30.91879249529335, 121.14386805188452 30.91877911316744, 121.14386896530122 30.918765754824587, 121.14387047366002 30.918752428298856, 121.14387255627099 30.91873915976559, 121.1438752239071 30.918725964479727, 121.14424929129044 30.91719788109705, 121.14431812723284 30.917191161574777, 121.14526532715884 30.91715284602177, 121.14546758347899 30.917071054629403, 121.14660660166406 30.916212852906234, 121.14667070497211 30.916114511619448, 121.14669328511233 30.91599501878352, 121.14764964512376 30.909671161248095, 121.14773594390903 30.909082728412454, 121.1478026239511 30.908493611965955, 121.14780425091797 30.908194576903004, 121.14777778791532 30.90789537348447, 121.1476673290626 30.90686516996212, 121.14077721133492 30.90694873843365, 121.1375227713163 30.90759995048953, 121.13752067731983 30.9076076437289, 121.13751839789514 30.907615298301955, 121.13751593844815 30.907622909658997, 121.13751329807799 30.907630477809896, 121.1375104731831 30.907638002791032, 121.13750747277041 30.907645480017674, 121.13750429234783 30.90765289873965, 121.13750094271441 30.907660263350852, 121.13749741126882 30.907667570377665, 121.13749370611825 30.907674814344546, 121.13748983537096 30.907681988876526, 121.13748578371425 30.907689101322088, 121.13748157277104 30.907696134378547, 121.1374771863283 30.907703095403456, 121.13747264509547 30.90770998149676, 121.13746793377807 30.90771678021583, 121.1374630676684 30.907723504906595, 121.13745803597945 30.907730136785208, 121.13745285401279 30.907736679301777, 121.13744751186262 30.907743134354913, 121.13744202034286 30.90774949014546, 121.13743638305345 30.90775574753962, 121.13743059098545 30.907761912025833, 121.13742465855827 30.907767967271397, 121.13741858126477 30.907773918720416, 121.1374123645103 30.907779761823793, 121.13740601189551 30.90778549654814, 121.13739952432522 30.90779111748902, 121.13655020856329 30.908508303547762, 121.13592981914253 30.90860357882605, 121.13256368953687 30.90905160631906, 121.13005930495936 30.909077257826308, 121.12457102636483 30.907605067053257, 121.12429410169169 30.907441215986026, 121.12393779402133 30.907202531937664, 121.123485382575 30.906844283568322, 121.12298561720046 30.906394542991105, 121.1226574568675 30.90597945162253, 121.12163375196066 30.90504509505286, 121.11993757520864 30.903535436889175, 121.11971479960125 30.90365209540982, 121.1174667142896 30.905136297642297, 121.1174633577013 30.905137557835445, 121.11746003177511 30.905138876811964, 121.11745673019013 30.90514025109517, 121.11745346378879 30.905141679576584, 121.11745022805384 30.90514316234335, 121.11744702208185 30.905144699412745, 121.11744385581086 30.90514629059343, 121.1174407202105 30.90514793156126, 121.11743761889032 30.90514962674485, 121.11743456359979 30.905151371419823, 121.1174315434982 30.905153164895353, 121.11742856761505 30.905155012395287, 121.11742562782746 30.905156905079856, 121.11742273225444 30.90515885628683, 121.1174198827253 30.905160841691735, 121.11741707831811 30.905162881103575, 121.1174143181389 30.90516496464392, 121.11741160399347 30.905167093177607, 121.11740893949269 30.905169270233497, 121.11740632103174 30.905171485985434, 121.11718162744256 30.906808986803124, 121.1178593062026 30.908194879749107, 121.11850957955551 30.908536893705357, 121.11853171919964 30.90854832683303, 121.1185540641467 30.908559466374907, 121.11857662072508 30.908570305913553, 121.11859936363662 30.908580847735777, 121.11862230733539 30.908591090665617, 121.11864543195533 30.908601024290977, 121.1188134061242 30.908589171666545, 121.11960357691454 30.909051145724025, 121.12379448553776 30.914219560302627, 121.12590867402514 30.917727133750653, 121.12797574500426 30.925803183254796, 121.12080537657698 30.92764872934803, 121.11164448895138 30.926137412523076, 121.11164367327434 30.926141089456223, 121.11136057571564 30.927419782349375, 121.11126940154963 30.927831667429178, 121.11117930793979 30.92823869536283, 121.11089590226075 30.928877870091792, 121.11059883636172 30.929207212676125, 121.11030884617378 30.929495914219586, 121.1097224597536 30.930079611986244, 121.1096226998039 30.930178898999063, 121.10789350167161 30.931899455157573, 121.10695716801067 30.932830646486828, 121.10601541204132 30.93179229071685, 121.10441138837338 30.929920942431743, 121.10348040365841 30.92872624938868, 121.10263430364223 30.927639788655185, 121.10255011415332 30.927531647830037, 121.10238607724567 30.927320913615826, 121.09915662623652 30.923724730216556, 121.09912376675148 30.923741197190225, 121.09898460480399 30.923532872162617, 121.09806346234072 30.92280980971719, 121.09704069341336 30.92221800904964, 121.09577462887468 30.921689992096244, 121.09575352665534 30.921682624871185, 121.09576183896796 30.921665394189723, 121.09571415075105 30.921573673226987, 121.09547924364004 30.920915929445083, 121.09545108367362 30.919680407582895, 121.09553321265011 30.918342137804, 121.0965061665427 30.917375702025417, 121.0990215918067 30.916837596605717, 121.10130886554916 30.916426756286718, 121.10276162830803 30.91660219309733, 121.10492283123237 30.91393888208319, 121.10517042103321 30.91348883885029, 121.1052996984808 30.91276139667869, 121.10505683206974 30.91116352391224, 121.10358106334667 30.90942481896711, 121.10180931496618 30.908868550860216, 121.10088988678713 30.908749338870038, 121.10084623925738 30.908774057207633, 121.09546549015262 30.91060654329053, 121.08751410673699 30.912520704658483, 121.08719835428973 30.912498686926114, 121.08468267952762 30.912179384613367, 121.08235612311137 30.911836357827752, 121.08235771599789 30.911834085554712, 121.08224450402497 30.91177479393163, 121.08216276561481 30.911731981012018, 121.08101428537294 30.91152813589281, 121.07093847124972 30.91038430848112, 121.06221140787525 30.90949682528537, 121.05835350705631 30.909196120546568, 121.0532944039906 30.908269521671883, 121.05249107707917 30.908122541820855, 121.05246005170328 30.908109434598, 121.05153540393336 30.907718886431706, 121.04777829684491 30.907063326750663, 121.0432773880489 30.90784514423271, 121.04106903269334 30.908676457490664, 121.0411899730138 30.909506222036356, 121.04148263727862 30.911506825687304, 121.03143953415301 30.914842435310053, 121.0313466191292 30.91610553185659, 121.03127631903749 30.91733438833056, 121.03149112686508 30.918607638677663, 121.03233571459276 30.92202345849166, 121.03513327557661 30.931925967637262, 121.0373388229497 30.939405921791302, 121.03817612733128 30.942378264920332, 121.03881063142286 30.945576705780393, 121.03656935746301 30.949827415394807, 121.03609124960138 30.94972888387874, 121.03482669872345 30.949301274624613, 121.03463942247339 30.951525075378083, 121.03689096051338 30.95210669293314, 121.03946511764529 30.95252880921679, 121.03999851919468 30.952568405751858, 121.0400025436812 30.952578209023773, 121.04000054358094 30.952578479559463, 121.0413742165823 30.959403437126245, 121.04226587907912 30.961935567231745, 121.04249960840781 30.962424297945, 121.0425546302703 30.962539366080716, 121.043899857167 30.962310352228194, 121.0455453534536 30.961916378529228, 121.04622640682821 30.961952873234374, 121.04856307574254 30.962336814171184, 121.04932701747596 30.962499787640766, 121.05019374405406 30.963209174919225, 121.05277840851579 30.96905951776843, 121.0527575293834 30.96907923898051, 121.05280310638432 30.969115438633782, 121.05194555805411 30.970652470056145, 121.04994981489031 30.974300542105528, 121.05007939366342 30.974355572274177, 121.05007463472883 30.97436420182941, 121.05346491549041 30.975486482715464, 121.0575631634748 30.975352542830247, 121.05775086578738 30.974991550293087, 121.05915855888165 30.97222590544298, 121.06385685266812 30.971259242371108, 121.06419727524842 30.970026457623007, 121.06403986140084 30.967915278277715, 121.06461187566342 30.965479976320733, 121.06476263363624 30.9652815323735, 121.06680755971534 30.962603835368135, 121.07130311754844 30.961115428974477, 121.0720676614422 30.96109661737087, 121.07767409247721 30.960967437517375, 121.08306175972517 30.96206275064525, 121.08543807101367 30.964467251868335, 121.0872916314962 30.966468832171344, 121.09500496177102 30.96973940519471, 121.1043380320898 30.971902546338484, 121.10443148199144 30.971963526916475, 121.10424098373136 30.972681156747875, 121.1041486891347 30.972883692671626, 121.10261099850058 30.97470850216556, 121.10211696116603 30.975152751596944, 121.10318817537292 30.97999175156161, 121.10579493501258 30.980193817553488, 121.1058145326011 30.984004275232316, 121.10564960633603 30.98823850548507, 121.10630560587164 30.996890569996214, 121.10665029495269 31.001028253226725, 121.1066967818342 31.001136712554626, 121.10680251508686 31.001194897451523, 121.1106640892691 31.0011011451961, 121.11072066148682 31.001184403803524, 121.11079965769167 31.004095010027932, 121.11102054102282 31.01404655308004, 121.1111185002348 31.014146747523426, 121.11102424542698 31.01421506692315, 121.10922495561745 31.01551855664151, 121.1067545294782 31.019235259260526, 121.10669171398297 31.019306343589335, 121.10077028909309 31.025997426990717, 121.0967708389673 31.02870280693414, 121.09217515318801 31.031795766666264, 121.09221566043 31.031839952484468, 121.09338314572882 31.03311246077156, 121.09612528566647 31.034128543948004, 121.0989271141626 31.03228557248296, 121.10301184941548 31.03235528175413, 121.10319546981653 31.032411115198563, 121.10322704991702 31.03245449223601, 121.10644614240607 31.037167340096374, 121.10654760412565 31.03793934865423, 121.106649015354 31.039298581512636, 121.10659965149242 31.039941478153775, 121.10573686125838 31.042249269974043, 121.10566329653048 31.042433995287674, 121.10556530930027 31.042609354759705, 121.1041941740305 31.044917922910578, 121.10140068341126 31.048408599300735, 121.10282670207125 31.05082425507314, 121.09625247671606 31.058058245907663, 121.09493764871091 31.05862253421032, 121.09378230571897 31.059043965260965, 121.09314304963787 31.057931862164583, 121.09287288498338 31.056614171368857, 121.09340721629258 31.05638925378218, 121.09359678333271 31.056390620969967, 121.09379962819821 31.056437753019193, 121.09387951007638 31.056568077977406, 121.09418679572903 31.056444846396573, 121.09440107149685 31.056055997280488, 121.0944386188462 31.055957160793266, 121.09431083894992 31.055726232724695, 121.09429327120189 31.055694486627306, 121.0928562893864 31.056247586740685, 121.092339983103 31.056584988957056, 121.09217479260094 31.056692899090088, 121.09216468835808 31.056699496686328, 121.09122768434842 31.057638832626097, 121.09028675306435 31.05866908855553, 121.0902637484824 31.058694272596867, 121.08992009874122 31.059139816223304, 121.0890414396846 31.060278642522963, 121.08803111323297 31.061821861557732, 121.08749488184161 31.062849448240602, 121.08776154422637 31.06295239171999, 121.08789094396327 31.062979539292677, 121.09014464619636 31.064109092711185, 121.09110444113125 31.064850390174175, 121.09178724549457 31.066470814126532, 121.09182594850223 31.066484158037525, 121.09186459597785 31.06649761140716, 121.09190319333209 31.066511178717626, 121.09192095731676 31.066520338081556, 121.09193850157524 31.066529807741908, 121.09195581528516 31.066539584161045, 121.09197288311772 31.066549666523123, 121.09198971047442 31.066560044915917, 121.0920062829276 31.066570718519845, 121.09202260047672 31.066581689147622, 121.09203864688236 31.066592941589853, 121.0920544176336 31.066604474081267, 121.092069913631 31.066616288430694, 121.09208511863511 31.06662836942961, 121.09312484312774 31.067474446892266, 121.09300126118713 31.067820443045115, 121.09277934914533 31.068441735559695, 121.09277058813956 31.06847305154502, 121.09276206707504 31.06850442105097, 121.09275379676426 31.06853583412464, 121.09274577270068 31.068567295296667, 121.09273799398322 31.068598806377864, 121.09273046600883 31.068630350244895, 121.09272317796741 31.06866194226165, 121.09271614698395 31.06869357424069, 121.09270936133109 31.068725239051027, 121.09270282642517 31.068756947468053, 121.09269653143886 31.06878868965537, 121.09269049350652 31.068820470924898, 121.09268470991508 31.068852280496017, 121.09267916353502 31.06888412296534, 121.09267387690562 31.068915995515496, 121.0926688310892 31.06894789555247, 121.092664045923 31.0689798247732, 121.09265950697609 31.069011777859064, 121.09265521785751 31.069043759293862, 121.0926511803632 31.06907575917137, 121.09264740351296 31.069107782846142, 121.09264386656494 31.069139825932293, 121.09261545553089 31.06940136049881, 121.09265630300602 31.069431639007853, 121.09422519638854 31.07059314757694, 121.09431516628321 31.07072091527114, 121.09448708480487 31.070630886004064, 121.09724714442518 31.07102455734855, 121.09959604781206 31.070712806592546, 121.09964649711333 31.070419061614313, 121.09960336186374 31.070350722810158, 121.09958043305234 31.070321808041545, 121.09955824245317 31.070292468488326, 121.09953678916982 31.070262719500555, 121.09951609306486 31.0702325716866, 121.09949615054056 31.070202049426108, 121.09947698957934 31.07017115693251, 121.09945859755024 31.07013991058791, 121.09944099703122 31.07010832996672, 121.09942419523833 31.070076414119924, 121.09940818587471 31.070044198252603, 121.09939299962495 31.070011678443645, 121.0993786220674 31.0699788890888, 121.09936507666333 31.069945823648002, 121.09935235891972 31.069912514600155, 121.0993404742518 31.06987896550909, 121.09932942809125 31.06984520153696, 121.09931923488519 31.06981123244165, 121.09930989012845 31.069777073595755, 121.09930139744402 31.06974274477748, 121.09929377398365 31.06970825030905, 121.09928700352351 31.06967362639141, 121.09928110591656 31.069638867412753, 121.09927607125417 31.069604004098334, 121.09927191037367 31.06956904533548, 121.09926862779864 31.069534006381584, 121.0992662082009 31.06949891261783, 121.09926467144271 31.069463769223436, 121.09927056339771 31.06945653197433, 121.09927689697741 31.069449574968118, 121.09928364691794 31.069442912885474, 121.09929079879284 31.069436566583615, 121.09929832823447 31.069430541733123, 121.09930621360444 31.069424872773467, 121.09931443505194 31.069419569824245, 121.09932296821326 31.069414643956772, 121.09933179324467 31.069410115190976, 121.09934087404307 31.0694059884334, 121.09935019617713 31.069402279143258, 121.10031643709232 31.068732906024987, 121.1009406015161 31.068217599724463, 121.10094746688316 31.068214575922386, 121.10095428706113 31.068211477060423, 121.10096106114392 31.06820829865085, 121.10096778642962 31.068205050628556, 121.10097446561984 31.068201723060138, 121.10098109420396 31.068198321403656, 121.10098766767032 31.06819485021711, 121.10099419142641 31.068191295032932, 121.10100066458574 31.06818768016255, 121.1010070726885 31.068183985991446, 121.10101343560498 31.068180222167125, 121.10101973798565 31.068176388885917, 121.10102597983067 31.068172486148736, 121.10103216655789 31.068168514787246, 121.10103828823384 31.06816447312923, 121.1010445617318 31.06815527712063, 121.10105027345507 31.06814582186722, 121.10105540174747 31.06813612925271, 121.10105993850595 31.068126234486616, 121.10106386748636 31.068116151282638, 121.10106718329261 31.06810591211443, 121.1010698769169 31.06809554950124, 121.10107193302444 31.068085086142432, 121.10107335705467 31.068074555270748, 121.10107413276863 31.068063976895573, 121.10107427193206 31.06805339316641, 121.10107376281584 31.068042816833376, 121.10107260545075 31.068032293794197, 121.10107081158809 31.068021843696325, 121.10106838034582 31.06801149714772, 121.10106532077019 31.06800127922857, 121.1010616500333 31.067991214014278, 121.10105736093908 31.06798134119074, 121.10105247517532 31.06797168657416, 121.10104700268445 31.067962264430488, 121.1010409624486 31.067953105109094, 121.10103436532363 31.067944238162948, 121.10102724112215 31.06793568750255, 121.10101959527654 31.06792747374949, 121.10101145308307 31.067919617271546, 121.10100283352264 31.06791214661696, 121.10074519331624 31.067693642820547, 121.10058175722803 31.06755486038243, 121.10057253813262 31.06754219612848, 121.10056362050749 31.067529377775568, 121.10055499352065 31.067516409964057, 121.10054666710306 31.06750329347676, 121.10053864758018 31.06749003814078, 121.1005309286351 31.067476649439975, 121.10052352561124 31.06746312089015, 121.10051642949269 31.06744947330755, 121.1005096438908 31.067435707552654, 121.10050318505826 31.067421827029406, 121.10049703764687 31.067407832832334, 121.10049122061906 31.06739373013156, 121.10048571502966 31.067379542564737, 121.10048055065941 31.067365250869, 121.1004757031414 31.06735087064865, 121.10047119053725 31.067336410684074, 121.10046700562745 31.067321876467844, 121.10046315653764 31.067307268802853, 121.10045964326964 31.067292591292098, 121.10045647124711 31.067277854671076, 121.10045362603397 31.067263074419724, 121.10045113199612 31.067248234040626, 121.1004489692814 31.067233349979784, 121.10044714782698 31.067218432016148, 121.10044566763199 31.067203479251265, 121.10044452870608 31.067188506985705, 121.10044373104688 31.06717351162043, 121.10044328007622 31.067158501189137, 121.10044316947507 31.067143476669944, 121.10044636454211 31.066652530937123, 121.10044995201216 31.06663407889751, 121.10045311333423 31.06661558170437, 121.1004558376737 31.066597039494265, 121.100458120517 31.066578453225617, 121.10045997631748 31.066559837122217, 121.10046139515319 31.066541206607447, 121.10046237792352 31.066522556271984, 121.10046292372873 31.066503891527717, 121.10046303348308 31.066485231263158, 121.10046270538506 31.066466582700365, 121.1004619466564 31.066447943949967, 121.10046074556311 31.066429319655757, 121.10045911385836 31.066410736670456, 121.10045704431327 31.066392184281945, 121.1004545387423 31.06637367686515, 121.10045160166642 31.066355225161246, 121.10044822676907 31.066336833745023, 121.1004444312068 31.06631850690143, 121.100440199636 31.066300251115365, 121.1004355456114 31.066282086014777, 121.10043046551581 31.066264000840015, 121.10042495845892 31.066246015396093, 121.10041902986202 31.06622813591048, 121.10041267972487 31.066210360577415, 121.09998571216416 31.06503571502638, 121.09970031852943 31.0645088390521, 121.10107538985463 31.062517078287744, 121.1010807330435 31.06250995094442, 121.10108499805217 31.06250474791097, 121.1010895186561 31.06249971167459, 121.10109484807568 31.062494199803233, 121.10775003949412 31.059633590545253, 121.10810745528629 31.060262599454745, 121.1083713155715 31.060726892947972, 121.10867940556055 31.061344525582022, 121.1087237117271 31.061536871349603, 121.10868326907853 31.061963047291552, 121.10829636912513 31.063298872815125, 121.10879768781491 31.06345562418499, 121.10966083081755 31.063549392917658, 121.11522935703128 31.06387125986745, 121.1185706502317 31.062576412897243, 121.124268635842 31.061909323228342, 121.13273473615743 31.06292383762339, 121.1339100168174 31.06390695141389, 121.1353946982979 31.065509989404184, 121.13537056812068 31.06568687679525, 121.13347042523685 31.065232716744674, 121.13307913530033 31.065139545858912, 121.13285432961533 31.065975025935597, 121.13304602888958 31.070964461988517, 121.1327971347435 31.07231418299883, 121.13072032260067 31.07249998960259, 121.12835414298657 31.075447001297416, 121.12376572314761 31.081278502583164, 121.11373952670601 31.088062156203065, 121.1113913131819 31.087387242707184, 121.11138348052259 31.087382332507904, 121.11057267924791 31.086678482515467, 121.11009588978592 31.08637097246994, 121.10920480176371 31.085873223890488, 121.10727087987455 31.086990361652177, 121.10720975977988 31.087077589041648, 121.10688525324942 31.087540675236248, 121.10590240691822 31.089351376141963, 121.1061047280017 31.091921446164584, 121.106159403053 31.096093710785855, 121.10457230087714 31.099344362951925, 121.10450923757917 31.099497205730337, 121.10439324937028 31.099799253658144, 121.10715865349323 31.104439972117675, 121.11315128848352 31.10780705185353, 121.11210108436867 31.109587170211448, 121.11891301395528 31.11716996305862, 121.11893928293155 31.11719863412895, 121.11896618508544 31.11722687379016, 121.1189937050565 31.117254670645142, 121.11902182206393 31.117282016100546, 121.11905053700873 31.117308904746277, 121.1190798498882 31.11733531679304, 121.11910972998419 31.11736125283639, 121.11914017729413 31.117386698486047, 121.1191711773611 31.117411642328488, 121.1192027247621 31.117436086274203, 121.11923480865367 31.1174600143416, 121.11926742090273 31.117483422194795, 121.11930053982512 31.117506294960034, 121.11937226620432 31.11755394765548, 121.12739934378475 31.114694602172204, 121.12845299849565 31.11284337731521, 121.1290690556245 31.112104186607763, 121.13018822004312 31.110874575685344, 121.131819251624 31.10922301039234, 121.13235310556402 31.108764313479274, 121.14010111609757 31.104551060719114, 121.14132477496996 31.10400540742269, 121.14171486487274 31.103880016142657, 121.14210552783979 31.103755887853428, 121.14254853384409 31.103619771670616, 121.14299202981627 31.103485168596652, 121.1439468195291 31.10350195618137, 121.14394451729441 31.103517991804367, 121.14389380945163 31.10402360095175, 121.14829882619595 31.1040954788009, 121.15111124781389 31.10302907119386, 121.15598514332692 31.10101071727629, 121.15618106055142 31.100868117233933, 121.15636249646958 31.10063184424947, 121.15646854325573 31.100490392671023, 121.15657139768027 31.10034719459853, 121.15662828630636 31.100233235280086, 121.15802659973632 31.09739244824547, 121.16010115637903 31.09584612715509, 121.16178748722707 31.09612405572679, 121.16322146201503 31.098903701291672, 121.16322912665431 31.099015583982215, 121.16323657176947 31.099127478170153, 121.16324379288758 31.0992393846941, 121.16358119640195 31.104563476070563, 121.16609188173533 31.10618422396219, 121.1706401993749 31.10626652831288, 121.17143566653012 31.106375339676823, 121.17225026435005 31.107211588651236, 121.17299583525948 31.110101039770036, 121.17252099620421 31.11423423301574, 121.17251778016308 31.11424230435899, 121.17732685349938 31.11431447454446, 121.18148201706985 31.11465969032712, 121.18088582856275 31.117923791482617, 121.18099423475171 31.123965360665352, 121.18189014793985 31.124435290118992, 121.18192753386276 31.124454894194518, 121.18285376860355 31.124925018946218, 121.18324488256533 31.12500759208652, 121.18497230309985 31.12472760841284, 121.18609355132446 31.12364023242042, 121.19054637262619 31.12488949287215, 121.19047933337913 31.125683841774716, 121.190431175716 31.12625418413986, 121.19063684878864 31.127366132486586, 121.19063345935135 31.12738518339138, 121.19063022281578 31.127404246947375, 121.19058003991097 31.12770526574096, 121.19057819491778 31.127716437025395, 121.19057637942525 31.127727619463606, 121.19057460953533 31.1277388024566, 121.19057286378354 31.12774999024017, 121.19057116273727 31.127761183965948, 121.1905694911942 31.127772383447862, 121.19056785988843 31.12778358251974, 121.19056625897989 31.12779478735893, 121.19056469651436 31.127806003462247, 121.19056316981745 31.12781721370305, 121.19056167798905 31.12782842976627, 121.1905602254978 31.12783965710485, 121.19055879804127 31.127850883847778, 121.19055740992714 31.127862111070158, 121.19055794633083 31.12787322242958, 121.19055880646015 31.12788432246069, 121.19055998853153 31.12789540124447, 121.1905614997043 31.12790644897142, 121.1905633337164 31.127917470961997, 121.19056548610423 31.1279284518656, 121.19056796134255 31.127939386337676, 121.1905707504935 31.127950265270268, 121.19057385266659 31.127961082352993, 121.19057727770394 31.127971828707615, 121.19058101129569 31.127982508655094, 121.19058505792385 31.127993102455086, 121.19058940775223 31.128003609984617, 121.19059406704706 31.128014020521587, 121.19059902865925 31.12802432587852, 121.19060428364541 31.128034528642182, 121.1906098320137 31.128044615314224, 121.1906156791355 31.128054576060673, 121.19062180980725 31.128064415190728, 121.19062822851159 31.128074112062855, 121.1906349209384 31.128083672796556, 121.19064189156562 31.12809308664666, 121.19064914129153 31.12810234822203, 121.1906566495534 31.128111448271213, 121.19066441545846 31.12812038677944, 121.19067244616747 31.128129153033697, 121.19068072558501 31.12813774683371, 121.1906892483509 31.128146159113424, 121.19069801447237 31.12815437907247, 121.1907092068729 31.128162498018888, 121.19072027582004 31.128170735937072, 121.19073122488788 31.128179097371483, 121.19074205496976 31.128187582335663, 121.1907527598103 31.128196179959996, 121.19076333672277 31.128204896512447, 121.19077378839165 31.128213726630065, 121.19078411034702 31.128222665763026, 121.19079429363836 31.128231727300744, 121.19080435258287 31.128240892526026, 121.19081427734045 31.128250165820777, 121.19082405806948 31.128259553366483, 121.19083370908443 31.12826904274337, 121.19084321518238 31.128278631971057, 121.19085257814714 31.128288328271275, 121.19086179619106 31.128298128026465, 121.1908708800476 31.128308026870144, 121.1908798100418 31.128318022768592, 121.19088860137752 31.128328113208415, 121.19089723706072 31.12833830068678, 121.19090572424919 31.12834857719529, 121.19091406293785 31.12835895083349, 121.19092224687274 31.128369408033638, 121.19093028141376 31.128379958759105, 121.1909381468879 31.128390597378168, 121.1909458683405 31.128401314297403, 121.19095343056448 31.128412114734843, 121.1909608281913 31.128423002227304, 121.19096806748455 31.1284339687552, 121.1909284504987 31.128627729228633, 121.1907642736026 31.129199407958467, 121.19033707117516 31.1306673676247, 121.18908119973243 31.130485127907964, 121.18863106677132 31.13048136851723, 121.18853971771674 31.130548110309753, 121.18706715008618 31.133491915122814, 121.18657894203399 31.13550235548065, 121.18655903757997 31.136371298676483, 121.186627792961 31.137648040060093, 121.18673020370129 31.137806234653997, 121.18748382162661 31.13785793718548, 121.18780204894102 31.137879476512595, 121.18781427476144 31.13787902633402, 121.18782652004256 31.13787884712364, 121.1878387659968 31.137878958410543, 121.18785100549131 31.13787933850471, 121.18786324567182 31.13787999380296, 121.18787545524853 31.137880929267517, 121.18788764047889 31.13788214408625, 121.18789979510967 31.13788363367474, 121.18791189947606 31.13788539686068, 121.18792395447483 31.137887430059127, 121.18793595026916 31.137889737632424, 121.18794786987603 31.137892318446518, 121.1879597159839 31.137895163544194, 121.18797148143771 31.137898277325576, 121.18798314836302 31.137901655046704, 121.1879947149717 31.137905296684632, 121.18800616696527 31.13790919664576, 121.18801750434402 31.13791335403267, 121.18802872264013 31.137917766086932, 121.18803980129938 31.137922425329847, 121.18805074567928 31.137927338135245, 121.18806153612609 31.13793248894088, 121.18807217263158 31.13793788674553, 121.18808264447927 31.137943517910024, 121.18809295166857 31.13794938243719, 121.18810307989317 31.13795548373114, 121.18811302469851 31.13796180284187, 121.18816177185789 31.137994498717138, 121.1885531672298 31.14033978086047, 121.1883877629718 31.145804520514037, 121.18831527935369 31.14813940555396, 121.1882636917312 31.14847607182976, 121.18830473605618 31.14891078657238, 121.188504777153 31.14959510658244, 121.19258515306402 31.148136376675026, 121.19886532656147 31.14575935576011, 121.2005869156713 31.144640662165894, 121.20082981825337 31.14458501615513, 121.20218595820616 31.144273391548133, 121.20301987589923 31.144184971915543, 121.20435901913385 31.145380198632747, 121.20723068242168 31.14708377108599, 121.20726220520507 31.14710308259013, 121.20729422267999 31.14712179185819, 121.207326705238 31.147139888125352, 121.20735965289472 31.147157367749323, 121.2074919951148 31.147227358690838, 121.20751418566553 31.14723903081251, 121.20753660653453 31.14725038156969, 121.20755923797444 31.147261406504782, 121.20758209346401 31.147272100168546, 121.20760514965968 31.14728246261249, 121.20762840656921 31.147292489325192, 121.2076518579156 31.14730217491393, 121.20767549921318 31.14731151847887, 121.20769931699888 31.147320516448303, 121.20772330857776 31.147329173315736, 121.20774746588101 31.14733747829847, 121.20777178891103 31.147345432284318, 121.20779626151061 31.147353030812855, 121.20782088009125 31.14736027298476, 121.20784563837385 31.147367154311222, 121.20787053725581 31.147373678377694, 121.20789555159666 31.14737984255395, 121.20792069128336 31.14738564050355, 121.20794593655656 31.14739107677799, 121.20797129191715 31.147396142359543, 121.20799673760519 31.14740084180175, 121.20802227362685 31.147405170600145, 121.20804789998887 31.147409123350734, 121.20807359153766 31.14741270912548, 121.20809935905454 31.147415925185076, 121.2081251917702 31.147418764363625, 121.20855160471139 31.146014303747922, 121.21510043502693 31.141970071726988, 121.21550527876707 31.14196825253416, 121.2158390093773 31.142002642992754, 121.21682666066762 31.142103839860198, 121.2201080249925 31.14293919816054, 121.22162029421222 31.143224083555136, 121.2259926043641 31.144198049808605, 121.22735956110554 31.144500284433835, 121.23035782473646 31.145186596872133, 121.23189023507064 31.14515630518019, 121.23464208901709 31.145093087482355, 121.23411792830532 31.144475790076374, 121.23389137404176 31.144148129971878, 121.2331410374304 31.14257798505874, 121.22912574766309 31.129990793484055, 121.22808134965702 31.12518902998298, 121.22778788790502 31.12377716222997, 121.22787301187316 31.12172879400858, 121.22780493645153 31.121727957225886, 121.22789169433061 31.12127865261202, 121.22836753170496 31.12121434763612, 121.22950601442447 31.12114996797454, 121.23000564913448 31.121172669870095, 121.23854219754183 31.12257815074734, 121.2406077038174 31.123035275448835, 121.24301688664325 31.12491094873918, 121.24328252814624 31.128211340801336, 121.24332712585317 31.129644718453715, 121.24332201851928 31.130541982638263, 121.24329071196 31.13084481886667, 121.24338305846724 31.131662491949967, 121.24399970800212 31.13198046390466, 121.24436906232066 31.132031952577396, 121.24508611336023 31.13208284308629, 121.2460407351746 31.132079304027926, 121.246761403285 31.131994016710827, 121.24809480395372 31.13183173417319, 121.25105845905688 31.131287274088635, 121.25108443013106 31.131282530406185, 121.25109452572642 31.131324617333664, 121.25190199588047 31.135340446438615, 121.25193035247437 31.13548433667802, 121.25206715224526 31.136629428244273, 121.25248199051295 31.137928328651114, 121.25296653471185 31.139307596098405, 121.25302189236756 31.13942938779403, 121.25304472481929 31.139457527188224, 121.25310864907898 31.139536297612434, 121.25322438003165 31.139630522222365, 121.25343408172577 31.13978639217527, 121.25352879792595 31.13984528385621, 121.25361326553124 31.139849657877512, 121.2640795419779 31.137798663920574, 121.26475957520603 31.136481599918774, 121.26462783561368 31.133195898398604, 121.2646235923612 31.133187853631227, 121.26461962008405 31.133179708528985, 121.26461590887918 31.1331714676047, 121.26461247133369 31.133163150623968, 121.26460931016143 31.133154738686855, 121.26460642894205 31.133146261471424, 121.26460381777925 31.133137713595822, 121.26460148746294 31.133129110331367, 121.26459944699826 31.133120445362124, 121.26459768647314 31.13311173579725, 121.26459621218147 31.133102990619868, 121.26459502771986 31.133094215219643, 121.26459412318859 31.133085408714276, 121.26459351388085 31.13307658187005, 121.26459319438942 31.133067744592275, 121.26459316111027 31.133058902284986, 121.26459341223368 31.133050068445907, 121.26459396396623 31.133041234948568, 121.26459479109367 31.133032419832617, 121.2645959188159 31.13302362485134, 121.26459732551744 31.133014869837393, 121.26459902380658 31.133006143973287, 121.26460100107198 31.132997461677757, 121.26460325910847 31.132988830146136, 121.26460580240621 31.132980262866454, 121.26497093255352 31.132546553543097, 121.26498806447401 31.132546213711517, 121.26500519171398 31.13254604421811, 121.26502232419043 31.132546019859205, 121.26503946098963 31.132546160428138, 121.26505658772174 31.13254645245056, 121.26507370887784 31.13254690851467, 121.26509083076319 31.13254752051501, 121.2684393285148 31.132689308406775, 121.26866324845939 31.13437416165297, 121.26827548346958 31.13571768021665, 121.26760687402566 31.138033851115896, 121.26753293174225 31.13827576688332, 121.26818294134006 31.139463140092623, 121.27031380281714 31.14098382428957, 121.27244675704901 31.14211609448525, 121.2728283201878 31.14204080924639, 121.27282363973694 31.14202426942765, 121.28818736887423 31.13898250984722, 121.28794268767581 31.13946097179393, 121.288985345042 31.139873280406274, 121.29365333026082 31.145089054776836, 121.29424673363675 31.146020857506034, 121.29423568464412 31.146043575483496, 121.29418485489002 31.146088612957943, 121.29111916838004 31.14848746104294, 121.29104398690455 31.148533296065867, 121.28611555765104 31.151530977045798, 121.2861077077996 31.151534917442522, 121.28610085624835 31.15153743487701, 121.28609447891742 31.151539040249038, 121.28609371126628 31.151539197014657, 121.28606034085016 31.151545959003055, 121.28545788517658 31.15125454210484, 121.28474455434605 31.150759480000158, 121.28422928849439 31.150346082665905, 121.28373697144919 31.150051683538823, 121.28324621030139 31.15151521563284, 121.28406524097622 31.154493021457895, 121.28576647520964 31.157340066105967, 121.28625787403361 31.157422579562223, 121.28636619603229 31.157302293414446, 121.28696769816003 31.156071389393464, 121.28970854820636 31.156309606714473, 121.29073493708107 31.156744313255594, 121.29374227511477 31.15805002036179, 121.30076303043121 31.16026944260477, 121.30093334452299 31.16032274469803, 121.30134859318288 31.160411836876367, 121.3014459016653 31.160428403544664, 121.30152357644579 31.16041329219956, 121.30332056879473 31.15989736247687, 121.30352391602824 31.159670094949846, 121.3039726524619 31.158791959792755, 121.30402974606761 31.158680234880894, 121.3061143215373 31.157526911600964, 121.31001727447922 31.159400787743998, 121.30933189358464 31.160190516121098, 121.30935755471369 31.161003768749524, 121.3094966517352 31.161113209216577, 121.3097899341671 31.16128587912342, 121.31059578908231 31.161734471155007, 121.3107559311504 31.16181439035534, 121.3188073574921 31.165545732202187, 121.3211933870403 31.166217514263703, 121.32159130058442 31.16554024243173, 121.32353253887223 31.162802691329542, 121.32510853695734 31.163242262613075, 121.32601840700522 31.163732960639937))'),
+ (26807,'POLYGON ((121.03482669872345 30.949301274624613, 121.03609124960138 30.94972888387874, 121.03656935746301 30.949827415394807, 121.03881063142286 30.945576705780393, 121.03817612733128 30.942378264920332, 121.0373388229497 30.939405921791302, 121.03513327557661 30.931925967637262, 121.03233571459276 30.92202345849166, 121.03149112686508 30.918607638677663, 121.03127631903749 30.91733438833056, 121.0313466191292 30.91610553185659, 121.03143953415301 30.914842435310053, 121.04148263727862 30.911506825687304, 121.0411899730138 30.909506222036356, 121.04106903269334 30.908676457490664, 121.0432773880489 30.90784514423271, 121.04777829684491 30.907063326750663, 121.05153540393336 30.907718886431706, 121.05246005170328 30.908109434598, 121.05249107707917 30.908122541820855, 121.0532944039906 30.908269521671883, 121.05835350705631 30.909196120546568, 121.06221140787525 30.90949682528537, 121.07093847124972 30.91038430848112, 121.08101428537294 30.91152813589281, 121.08216276561481 30.911731981012018, 121.08224450402497 30.91177479393163, 121.08235771599789 30.911834085554712, 121.08235612311137 30.911836357827752, 121.08468267952762 30.912179384613367, 121.08719835428973 30.912498686926114, 121.08751410673699 30.912520704658483, 121.09546549015262 30.91060654329053, 121.10084623925738 30.908774057207633, 121.10088988678713 30.908749338870038, 121.10180931496618 30.908868550860216, 121.10358106334667 30.90942481896711, 121.10505683206974 30.91116352391224, 121.1052996984808 30.91276139667869, 121.10517042103321 30.91348883885029, 121.10492283123237 30.91393888208319, 121.10276162830803 30.91660219309733, 121.10130886554916 30.916426756286718, 121.0990215918067 30.916837596605717, 121.0965061665427 30.917375702025417, 121.09553321265011 30.918342137804, 121.09545108367362 30.919680407582895, 121.09547924364004 30.920915929445083, 121.09571415075105 30.921573673226987, 121.09576183896796 30.921665394189723, 121.09575352665534 30.921682624871185, 121.09577462887468 30.921689992096244, 121.09704069341336 30.92221800904964, 121.09806346234072 30.92280980971719, 121.09898460480399 30.923532872162617, 121.09912376675148 30.923741197190225, 121.09915662623652 30.923724730216556, 121.10238607724567 30.927320913615826, 121.10255011415332 30.927531647830037, 121.10263430364223 30.927639788655185, 121.10348040365841 30.92872624938868, 121.10441138837338 30.929920942431743, 121.10601541204132 30.93179229071685, 121.10695716801067 30.932830646486828, 121.10789350167161 30.931899455157573, 121.1096226998039 30.930178898999063, 121.1097224597536 30.930079611986244, 121.11030884617378 30.929495914219586, 121.11059883636172 30.929207212676125, 121.11089590226075 30.928877870091792, 121.11117930793979 30.92823869536283, 121.11126940154963 30.927831667429178, 121.11136057571564 30.927419782349375, 121.11164367327434 30.926141089456223, 121.11164448895138 30.926137412523076, 121.12080537657698 30.92764872934803, 121.12797574500426 30.925803183254796, 121.12590867402514 30.917727133750653, 121.12379448553776 30.914219560302627, 121.11960357691454 30.909051145724025, 121.1188134061242 30.908589171666545, 121.11864543195533 30.908601024290977, 121.11862230733539 30.908591090665617, 121.11859936363662 30.908580847735777, 121.11857662072508 30.908570305913553, 121.1185540641467 30.908559466374907, 121.11853171919964 30.90854832683303, 121.11850957955551 30.908536893705357, 121.1178593062026 30.908194879749107, 121.11718162744256 30.906808986803124, 121.11740632103174 30.905171485985434, 121.11740893949269 30.905169270233497, 121.11741160399347 30.905167093177607, 121.1174143181389 30.90516496464392, 121.11741707831811 30.905162881103575, 121.1174198827253 30.905160841691735, 121.11742273225444 30.90515885628683, 121.11742562782746 30.905156905079856, 121.11742856761505 30.905155012395287, 121.1174315434982 30.905153164895353, 121.11743456359979 30.905151371419823, 121.11743761889032 30.90514962674485, 121.1174407202105 30.90514793156126, 121.11744385581086 30.90514629059343, 121.11744702208185 30.905144699412745, 121.11745022805384 30.90514316234335, 121.11745346378879 30.905141679576584, 121.11745673019013 30.90514025109517, 121.11746003177511 30.905138876811964, 121.1174633577013 30.905137557835445, 121.1174667142896 30.905136297642297, 121.11971479960125 30.90365209540982, 121.11993757520864 30.903535436889175, 121.12163375196066 30.90504509505286, 121.1226574568675 30.90597945162253, 121.12298561720046 30.906394542991105, 121.123485382575 30.906844283568322, 121.12393779402133 30.907202531937664, 121.12429410169169 30.907441215986026, 121.12457102636483 30.907605067053257, 121.13005930495936 30.909077257826308, 121.13256368953687 30.90905160631906, 121.13592981914253 30.90860357882605, 121.13655020856329 30.908508303547762, 121.13739952432522 30.90779111748902, 121.13740601189551 30.90778549654814, 121.1374123645103 30.907779761823793, 121.13741858126477 30.907773918720416, 121.13742465855827 30.907767967271397, 121.13743059098545 30.907761912025833, 121.13743638305345 30.90775574753962, 121.13744202034286 30.90774949014546, 121.13744751186262 30.907743134354913, 121.13745285401279 30.907736679301777, 121.13745803597945 30.907730136785208, 121.1374630676684 30.907723504906595, 121.13746793377807 30.90771678021583, 121.13747264509547 30.90770998149676, 121.1374771863283 30.907703095403456, 121.13748157277104 30.907696134378547, 121.13748578371425 30.907689101322088, 121.13748983537096 30.907681988876526, 121.13749370611825 30.907674814344546, 121.13749741126882 30.907667570377665, 121.13750094271441 30.907660263350852, 121.13750429234783 30.90765289873965, 121.13750747277041 30.907645480017674, 121.1375104731831 30.907638002791032, 121.13751329807799 30.907630477809896, 121.13751593844815 30.907622909658997, 121.13751839789514 30.907615298301955, 121.13752067731983 30.9076076437289, 121.1375227713163 30.90759995048953, 121.14077721133492 30.90694873843365, 121.1476673290626 30.90686516996212, 121.14777778791532 30.90789537348447, 121.14780425091797 30.908194576903004, 121.1478026239511 30.908493611965955, 121.14773594390903 30.909082728412454, 121.14764964512376 30.909671161248095, 121.14669328511233 30.91599501878352, 121.14667070497211 30.916114511619448, 121.14660660166406 30.916212852906234, 121.14546758347899 30.917071054629403, 121.14526532715884 30.91715284602177, 121.14431812723284 30.917191161574777, 121.14424929129044 30.91719788109705, 121.1438752239071 30.918725964479727, 121.14387255627099 30.91873915976559, 121.14387047366002 30.918752428298856, 121.14386896530122 30.918765754824587, 121.14386805188452 30.91877911316744, 121.14386771723866 30.91879249529335, 121.14386797846184 30.91880586964513, 121.14386881309241 30.918819226416453, 121.14387024271316 30.91883254572988, 121.14387225206235 30.91884580245798, 121.14413834230733 30.920210188094234, 121.14561930094169 30.925445876196843, 121.14835216949308 30.925057970998196, 121.14968526963338 30.923873338747285, 121.14870543665535 30.92272519281791, 121.14853931525501 30.922449344476878, 121.14861615897111 30.921326406440755, 121.14958870773694 30.920539932364374, 121.15634243780485 30.917078793536742, 121.15912003965046 30.916175145896737, 121.15965946074587 30.916137327001895, 121.16248702243571 30.91626420020276, 121.16247963225112 30.91626452408687, 121.16273756502561 30.919785689678925, 121.16289092448595 30.921876572712222, 121.16292695411389 30.92236747094952, 121.16300787081639 30.92303181952447, 121.16314485846813 30.924156222845074, 121.16407042923025 30.925757970515374, 121.16442104505236 30.925956953210424, 121.16558213838934 30.926059417926428, 121.16709891849993 30.92616200490802, 121.1673841757031 30.92618142408889, 121.16818319843811 30.926220573511788, 121.16918646765285 30.926270097267707, 121.17059326129412 30.92606946603348, 121.17152194407 30.9257154384053, 121.17221567374881 30.925075999533988, 121.17288017981872 30.923879148072476, 121.17337772008545 30.923025032237977, 121.17427300737566 30.92232260277311, 121.17536712615654 30.92169610013759, 121.17682364287353 30.920976717208283, 121.17758921637513 30.92075733858449, 121.17871245887059 30.920688297983325, 121.18456483741166 30.92100774042284, 121.18884490962799 30.92123271795615, 121.189683665934 30.92133660270609, 121.19223678615526 30.92164984422837, 121.1932294766761 30.92223355347677, 121.19363657283687 30.922485516752577, 121.19485511404031 30.923070389272635, 121.19768514004437 30.923456381740277, 121.19959986908441 30.923532883415138, 121.2030035711416 30.923837727036233, 121.20549791216678 30.924412815620347, 121.21492941650659 30.92652901031939, 121.2168746349224 30.927224648261795, 121.217571888606 30.92747313574609, 121.21917572478407 30.928832522472227, 121.222364559916 30.931860264550945, 121.22467902190664 30.933774280013754, 121.22779422716988 30.93611584893974, 121.22959700565748 30.937336396373986, 121.23183126075855 30.934375472956972, 121.23185106212654 30.93435736343356, 121.23314869193153 30.93317049895987, 121.23350256718165 30.932844503076957, 121.23354145262861 30.93280868320272, 121.23362356680963 30.932874311838237, 121.24075140330035 30.934629779615246, 121.24098400793166 30.934741283773448, 121.24106819909376 30.934740742858956, 121.24122074579812 30.93275156507283, 121.24127906453886 30.932163814384626, 121.24332660125599 30.93232130149583, 121.2444321879001 30.93163107923255, 121.24445267870395 30.93161755455259, 121.244472481667 30.931603272166416, 121.24449154171894 30.931588262737915, 121.24450983448399 30.931572556379617, 121.24452731391915 30.931556189890664, 121.24454395474635 30.931539192499354, 121.24455971814572 30.931521591876976, 121.24457457793535 30.931503426265916, 121.24458849890523 30.9314847322709, 121.24460146660958 30.931465545225674, 121.24460584459953 30.93145674791142, 121.24460982628867 30.931447816423262, 121.24461341077222 30.93143876787145, 121.24461658450757 30.93142961149422, 121.24461934659008 30.931420361702777, 121.24462169160093 30.93141103568871, 121.24462361050995 30.93140165070818, 121.24462511324695 30.931392214680947, 121.24462617814322 30.93138274059054, 121.2446268277664 30.931373243329578, 121.24462703954353 30.931363744896256, 121.24462683062721 30.93135424858312, 121.24462618927721 30.931344779794358, 121.24462511639558 30.93133534391298, 121.24462362190965 30.931325960557615, 121.24462170581783 30.93131664052681, 121.24461936902043 30.931307397302284, 121.24461660970918 30.93129824711409, 121.24461343871427 30.93128920866572, 121.24460986145094 30.931280288160654, 121.24460587701464 30.931271494614872, 121.24460149713738 30.93126285301504, 121.24459672994269 30.9312543686167, 121.24459157633058 30.93124605670283, 121.24458605164556 30.931237931398055, 121.24680948294966 30.931165171177277, 121.2470622986593 30.930804925667857, 121.25136140138873 30.92271471750669, 121.25240369382833 30.91656853405171, 121.25254423394391 30.91626657445562, 121.25756927323232 30.915709072239537, 121.2586736023807 30.915672397706665, 121.25905443991478 30.915656472612817, 121.26108674872941 30.915555452894814, 121.26130621846951 30.91553020278137, 121.26881290973547 30.91393749043007, 121.27104267515811 30.913170605578426, 121.2734310045837 30.912065521720773, 121.27351458009457 30.91074348868613, 121.27335587551083 30.909161440952225, 121.27325671674463 30.90870665770199, 121.27945478268863 30.904853419291662, 121.29225535097041 30.901694029308768, 121.29454514009463 30.902374594523558, 121.29458668917573 30.90238695025785, 121.29645151853879 30.906379726572755, 121.29727813847177 30.90920484014188, 121.29731175337847 30.91048505507345, 121.29695177456476 30.912965496213754, 121.29648516828499 30.915996477308376, 121.29606999034318 30.916170358933083, 121.29487827742679 30.916588959679224, 121.29512549264018 30.923469482589887, 121.29540840883757 30.923543745236135, 121.29594570558572 30.92367388882785, 121.29939383774921 30.924482173168716, 121.30101853319405 30.924844865302983, 121.30289591889837 30.921191106090316, 121.30346812928865 30.919918972419083, 121.30348781483241 30.919875199307548, 121.30452491805568 30.916880421892532, 121.30821909470538 30.915886517874842, 121.3172163570584 30.91681865282445, 121.3240578103063 30.917548328107436, 121.32453991075036 30.91764717560622, 121.32617986459843 30.917834579161834, 121.32735760088916 30.916381244979462, 121.32760404115346 30.91557148256039, 121.32929556254655 30.914981109815738, 121.33335678172136 30.91571717390137, 121.33360607059359 30.915907352797916, 121.33351639335403 30.91652541495389, 121.33399170536832 30.916678233475256, 121.33656653083115 30.915338500492684, 121.33659417321199 30.915336130837225, 121.33662180500741 30.915333650857615, 121.3366494180899 30.915331054321005, 121.33667702058621 30.91532834746319, 121.33690825093596 30.91481770703003, 121.33733002306785 30.913973662694676, 121.3383774493094 30.91428683874899, 121.33926334845248 30.914521107073305, 121.34158710495466 30.914426880058674, 121.34180521501017 30.914283421120935, 121.342145276773 30.91401670745653, 121.34250960946999 30.913729457285292, 121.35097585193877 30.91510038074634, 121.35151125109218 30.91519367839772, 121.35546507235581 30.918339770886416, 121.35836161236024 30.919159432069392, 121.36152994389602 30.91633486407588, 121.36218014873312 30.915538641908125, 121.363079212797 30.914437785400935, 121.36347680767207 30.913812288577297, 121.36353112250677 30.913587350607354, 121.36364659803647 30.91310912615747, 121.36499246547297 30.906403164317297, 121.36789085720095 30.89796815615307, 121.36983439079064 30.89245669996515, 121.37671432556971 30.88954535370727, 121.38182625852191 30.886506613595795, 121.38232527815521 30.88625583447861, 121.38337110649906 30.885832086414812, 121.38454555417057 30.885385227166086, 121.38524027435363 30.885223290032382, 121.38704100224835 30.885031555208986, 121.38742822781143 30.884971538140654, 121.38833983015535 30.884797672675305, 121.38867962217506 30.884564541975703, 121.38870929017365 30.884497456488916, 121.38884401657324 30.88419242288406, 121.38935909507819 30.880053429850577, 121.38941402263684 30.875038292136868, 121.39007152965532 30.86807952477702, 121.39077934044207 30.860996960367906, 121.39154147153201 30.85310198322256, 121.39184302491532 30.848808393631753, 121.39141896333108 30.848891870559086, 121.39047668021101 30.848924929522227, 121.389016665277 30.84885087901081, 121.38597214306773 30.848686888298985, 121.3859707009727 30.84688311132389, 121.38614773519211 30.845412837324506, 121.38792221900071 30.84238984970896, 121.3900269756045 30.839589313402225, 121.39003146010265 30.839583648287476, 121.39003625063677 30.839578174441993, 121.3900413364228 30.83957290262314, 121.39004671208751 30.839567857112993, 121.39471894240546 30.835331967752044, 121.398886573655 30.832939093243844, 121.40143119971226 30.833725169540262, 121.40338192799052 30.83469948705364, 121.40336494869095 30.834821983705314, 121.40399399802898 30.838544083018995, 121.40423753853135 30.83903458498777, 121.4045691063915 30.839260817362998, 121.40616455905 30.840005099458804, 121.4111523331148 30.839748095277834, 121.41106671402004 30.838929584365623, 121.41096750519743 30.838190869851047, 121.41030873985608 30.836009602481923, 121.41006446072036 30.83585112854068, 121.40913583021187 30.835960400794825, 121.40841464105151 30.836062149841222, 121.40837948133927 30.836050135359756, 121.40834435718673 30.83603804636941, 121.40830926232583 30.83602588366055, 121.40827420212926 30.836013646428654, 121.40823917659277 30.83600133017429, 121.40820417587543 30.835988945525287, 121.40816921877368 30.83597648111294, 121.40813429275522 30.835963943017493, 121.40809940050698 30.835951331286978, 121.40806454202828 30.835938645022, 121.40802971910712 30.835925880654564, 121.40799493085584 30.835913046269813, 121.40796017727195 30.835900139168327, 121.4079254628311 30.835887156728905, 121.40789077767907 30.83587409607972, 121.40785613256702 30.83586096100934, 121.40782152212748 30.835847757724576, 121.40778694635456 30.8358344799258, 121.40775240972248 30.835821123191412, 121.40771790865902 30.835807698259714, 121.40768344136205 30.835794193399714, 121.40764901321687 30.835780620405714, 121.40761462511342 30.835766972993305, 121.40758027167887 30.835753251969624, 121.40754595828656 30.835739456528188, 121.40751167867303 30.835725592860932, 121.40747744447145 30.8357116494694, 121.40744323956626 30.835697633275057, 121.40740908367027 30.835683551819212, 121.40775036516467 30.83303504551888, 121.41169638023493 30.82921576953549, 121.4137386372623 30.82858154133425, 121.41396362346657 30.828534721345317, 121.41695935523377 30.827839283483893, 121.42034688570962 30.826919805326465, 121.42191516279149 30.826401565372045, 121.42211386845538 30.826247548473187, 121.42230890290107 30.824674632732915, 121.42213291408751 30.823476300958667, 121.4219260493644 30.822238235258276, 121.42199138858979 30.82213852187159, 121.42240170549356 30.822070932721363, 121.42343041292284 30.82207427585899, 121.42373777462556 30.822089134828172, 121.42603319247324 30.822246196732877, 121.42603989590776 30.82225019749912, 121.42612532854541 30.822301138230692, 121.42620034605228 30.822443925016373, 121.42631628414627 30.82288220552162, 121.42640005224087 30.823199023140795, 121.42666454959674 30.824215503820277, 121.42682292518282 30.825044279932634, 121.42685522161044 30.825577072171452, 121.42689475238183 30.825777701162004, 121.42693196289409 30.825825343254184, 121.42696748342655 30.825831660117558, 121.43140642094343 30.825079560757146, 121.43702877269334 30.824733696595313, 121.43925575359137 30.824981575567534, 121.44333774481407 30.824657634969054, 121.44335511201444 30.824615606475167, 121.44344237045432 30.824404363336242, 121.44425311367017 30.822441630409376, 121.44464464630718 30.821479391202704, 121.44702574950458 30.815628094003912, 121.44987322212734 30.813157724294804, 121.45329247024452 30.812008007343298, 121.45632285545585 30.80749091869557, 121.45869037298357 30.803745516547874, 121.45990957856793 30.801798876525744, 121.46161956161463 30.79901995189878, 121.46122058690399 30.79882036334611, 121.46932747110121 30.785887891585833, 121.46949685510647 30.78562654600091, 121.46949993962619 30.785621778526632, 121.4385883280186 30.77402657172172, 121.43843318698231 30.773545226324828, 121.42399140701147 30.765689348008642, 121.41305079114493 30.75835809553415, 121.39801403352845 30.745053935919948, 121.3972931428782 30.744574353508366, 121.39606276301306 30.744344428974603, 121.39576393657832 30.74439512907336, 121.36950845668672 30.724462205508893, 121.37249693052182 30.721952795393037, 121.37251872588428 30.721806423292257, 121.37247072448167 30.721646227455235, 121.37228522326065 30.7214935546751, 121.36638021106644 30.716189203201594, 121.35800410530871 30.708732576221365, 121.35737190753791 30.708350560260147, 121.35653314259505 30.708109017398034, 121.35574242811663 30.708077956213998, 121.35506564412402 30.708217534860882, 121.35322119620494 30.708906663842313, 121.35288724002227 30.709045241337375, 121.35019818601724 30.710125570597985, 121.34833651648984 30.708742098085242, 121.3463370670785 30.7073857081106, 121.33827187642447 30.70188561851722, 121.33061145669761 30.701018577513672, 121.32492548148349 30.700984496212318, 121.31873258178673 30.70230180106923, 121.31699599550555 30.703058302080894, 121.3049849150348 30.701558049960187, 121.28406268045798 30.697560020653803, 121.28249317013983 30.697071271409598, 121.27883424579484 30.69509119811374, 121.27791381572553 30.702890562624155, 121.27663194334171 30.707637946180697, 121.2741509835116 30.710181054035665, 121.27283080650369 30.712623592297884, 121.27273596163313 30.712837427976343, 121.27182962482613 30.715355940059418, 121.27182256534981 30.7154136861951, 121.2718623859861 30.715464941128932, 121.27202024591305 30.715525099804825, 121.27288288396646 30.715878041706294, 121.27328513840081 30.71666492591047, 121.27426004811876 30.71875241688509, 121.27582738573221 30.7227743155925, 121.27830966563143 30.72935934465783, 121.27793967839884 30.73238133839084, 121.2765176477421 30.737238042804496, 121.27625256564438 30.737894597322562, 121.27513861910346 30.74029583148436, 121.27501370041298 30.740451648577757, 121.27441530543204 30.740910498192704, 121.27384424828855 30.740805543450815, 121.27299619283492 30.74056858163283, 121.27297006577362 30.740516760039338, 121.27316939452457 30.740035587263428, 121.27268973608781 30.739903919172008, 121.27261693190822 30.739917714097746, 121.27199447711088 30.740344927182765, 121.27144645425575 30.740721318670904, 121.2682239124538 30.7435426303921, 121.2671139107988 30.744687611141686, 121.26619325422762 30.745727957655696, 121.26608544160396 30.74588571788456, 121.26527813259816 30.7470672027722, 121.26451233286613 30.748065830471873, 121.26398006878848 30.74860315891729, 121.26365517550019 30.74893124045024, 121.26315852794217 30.749394306807275, 121.26222989500226 30.74995834814741, 121.25935280835976 30.751468948804426, 121.25073179708761 30.755975826986482, 121.24829434489 30.75707000459581, 121.24531025170566 30.758437658783095, 121.2421786633803 30.76002182927364, 121.23911652387757 30.76157355730091, 121.23867337605317 30.76182172918522, 121.2385317662452 30.761902990786858, 121.23840335413682 30.762111471130204, 121.23808259111546 30.763421509012524, 121.23750501210736 30.765779487017138, 121.237442013092 30.76633241824759, 121.23732611611744 30.767415891808145, 121.23722734498087 30.769185759634425, 121.23721187423298 30.769380004834673, 121.23719171508098 30.769485205402965, 121.23717154014706 30.769590406196095, 121.23714054548944 30.769689744909307, 121.23581867779765 30.773471449708403, 121.23579744876969 30.77352910362111, 121.23577621966376 30.773586747610914, 121.23570459855014 30.77375751668571, 121.23567941559315 30.773814053299244, 121.23562515837793 30.77392584880669, 121.2354594345313 30.774230243359224, 121.23561939616314 30.774292181356383, 121.23553283532164 30.774640739763655, 121.23465215356754 30.77818607633852, 121.23425449191099 30.778867512280126, 121.23203217418575 30.782059004405927, 121.23164137855494 30.78259431441532, 121.23141959302284 30.7828964913463, 121.23115074623821 30.78317598739203, 121.23098421975487 30.783161562840917, 121.23049485290954 30.782893621236436, 121.23044377470686 30.78256128793041, 121.22982556594167 30.782199931821136, 121.2293168571494 30.78196622797142, 121.22906464637781 30.78228576516883, 121.22875759013426 30.782675770851903, 121.2266489230286 30.786610479346, 121.22679294006998 30.789458210685453, 121.22530452055433 30.792159353815414, 121.22524932597179 30.79219915942791, 121.22296436091239 30.792303060562304, 121.21245747174724 30.792372189239803, 121.20882574462098 30.791218715275274, 121.20629960880838 30.789761585981065, 121.20560570064177 30.78704436653105, 121.20562066372258 30.7855027019981, 121.20564057295405 30.785342483743428, 121.20574057648196 30.784578760865227, 121.205899285127 30.78418164465566, 121.206239443595 30.783509580132083, 121.20643269261363 30.78328149664212, 121.20653955486019 30.783110961773392, 121.20661338740457 30.78291250469728, 121.20724928148022 30.780494826673625, 121.20728042956326 30.78036266559323, 121.20728993522683 30.780249568440425, 121.20726733871408 30.780183911584746, 121.20719066060948 30.780137751519685, 121.20330941172325 30.77981322191691, 121.20325907094316 30.77985787072777, 121.19994232367081 30.78279503254571, 121.1978632739245 30.78576679554717, 121.19771767145288 30.78610056326479, 121.19750720960728 30.78603043661355, 121.19662036460352 30.786686675219386, 121.19325702344378 30.785690514744406, 121.19282176533275 30.78543592049938, 121.1925650575265 30.785153124077105, 121.1925569247374 30.784136666117295, 121.19239469316554 30.783335863449405, 121.19214149569157 30.782906595063306, 121.19225549702267 30.782810110730253, 121.19168450980823 30.78230162048287, 121.19137342049667 30.78213093376443, 121.1898503836172 30.78129417222957, 121.18974809652254 30.781258902247778, 121.1874205657198 30.78062547036425, 121.18644610567078 30.780521126290786, 121.18645914337229 30.780415805522296, 121.18425078034684 30.779932397138726, 121.18083605970742 30.779225627449467, 121.1756915734206 30.782015961837413, 121.1751519092339 30.781877020187338, 121.17243295546457 30.781271530036076, 121.16936617618106 30.780730132139254, 121.1673644303288 30.78099903488756, 121.16734819111093 30.781187496227027, 121.16725442643647 30.782275488105928, 121.16682526975181 30.782571804480607, 121.16411577151798 30.78342120986251, 121.16371005761381 30.78338057360017, 121.16308859211576 30.783113534613545, 121.16251435050098 30.7830245112756, 121.16186849106548 30.78312503048592, 121.16096319124377 30.783483905963504, 121.15979758924655 30.784364052860738, 121.15977576023602 30.784380553383667, 121.15883643401875 30.78472527570724, 121.1530768672109 30.78512968659596, 121.15032428663189 30.785265348791402, 121.15032413434957 30.785263173270735, 121.15028308960056 30.785264943171153, 121.1502604528407 30.785230224212654, 121.15018749086938 30.78511833682038, 121.14980907934921 30.784394707852115, 121.14963014334776 30.783931371969548, 121.14761395122424 30.78282022734281, 121.14726399664424 30.78282575966223, 121.13885974464452 30.78301698094301, 121.13885974928951 30.783023688098492, 121.13846503087122 30.78302754421743, 121.13763462378292 30.783198962087535, 121.13610543132148 30.783928253216214, 121.13523799890741 30.784190665932336, 121.13445300135794 30.78442859485019, 121.13367400889588 30.784507521955767, 121.13362526577676 30.78451121930031, 121.13364809576765 30.78478302895837, 121.13300249499324 30.79131365172913, 121.13276461130118 30.79432922966345, 121.1327510919211 30.799566639057733, 121.1336087663568 30.808181693401792, 121.13402473957764 30.810775010966044, 121.13535259980196 30.816589017172927, 121.13645775494389 30.82045969025412, 121.13673144268824 30.821352228591206, 121.13900103508459 30.82506886733936, 121.13904455262586 30.82513473482273, 121.13909165680113 30.825198717317182, 121.13914224118822 30.82526068206529, 121.14337213299262 30.8303169887183, 121.143450671059 30.830390871852934, 121.1434833056589 30.83041986561364, 121.1436001289775 30.83051190251376, 121.14407431065814 30.830511447731435, 121.14417083800517 30.830633197540447, 121.14443858497386 30.83137227377568, 121.14454450757749 30.832269081262414, 121.14405568424272 30.83614281574905, 121.14386992052135 30.83637082697628, 121.13851136563763 30.84158705967191, 121.1324027162443 30.841925599081726, 121.13201333948612 30.841946281114122, 121.12690406085824 30.842170670585073, 121.12641018648152 30.8421735829192, 121.12648610728252 30.848002211025523, 121.12658237388469 30.848498624023765, 121.12670951811538 30.848895850158637, 121.12892393106034 30.851745463968495, 121.12698616526394 30.85541527343475, 121.12085492391229 30.858157065174126, 121.11777251091775 30.857724191712315, 121.11773425443428 30.857685301013515, 121.11751813438359 30.857598909174154, 121.11717658341253 30.857486965664812, 121.11184943986987 30.855843261850666, 121.11175607430518 30.855814561968838, 121.11138345227133 30.85576464379795, 121.10817331558951 30.856292719829785, 121.1047952576597 30.861808615823264, 121.1048075278671 30.861900843386938, 121.10434965702193 30.862516393688193, 121.1037574612047 30.863128905074415, 121.10315705763415 30.862909029117226, 121.10212512948836 30.862479377769787, 121.09336998753204 30.858238875277344, 121.09036190575193 30.85666360454387, 121.08994313244906 30.856392898388233, 121.08951061132997 30.8561501557288, 121.08912859671457 30.85597394606226, 121.08852679870576 30.855709485487008, 121.08827440508347 30.855599853811345, 121.08731398455853 30.855202924634405, 121.08714713601317 30.855146699636702, 121.0869745016144 30.855102873696687, 121.08689639407328 30.85508913442895, 121.08334773998675 30.85526207762697, 121.08265154278058 30.855259074387554, 121.07357549187175 30.855072782174037, 121.07337454202856 30.85505420963061, 121.07336756132706 30.85505098675828, 121.07303863708995 30.85489839144777, 121.07274284758581 30.854753128044752, 121.07237477644148 30.854570915014836, 121.07191526723025 30.8543301342288, 121.07128894019418 30.853962594289197, 121.06792543918903 30.85194451824, 121.06727900218404 30.851367192760613, 121.06685208165997 30.84925979294497, 121.06684435984475 30.849212338709176, 121.06718924600007 30.84635459056908, 121.06752295484523 30.845182388693786, 121.06777455089782 30.844784186651413, 121.06697301423495 30.84416153038198, 121.06657581347302 30.843913441347166, 121.06616875321834 30.843677132906553, 121.06332335247183 30.842081239557476, 121.06315056724182 30.842010756521375, 121.06297136677351 30.841955206758897, 121.06247234641852 30.84180955974897, 121.0567323523589 30.8385468995671, 121.05405918359745 30.836991202724, 121.05395804681645 30.836703305716117, 121.05438073451774 30.834734409599722, 121.05522282385034 30.833290095270453, 121.05119151833216 30.83245673959422, 121.04700412577824 30.83276949548829, 121.04437012859478 30.826588013331925, 121.0446454918118 30.825958666338934, 121.04481116466705 30.825602886054803, 121.04509624346258 30.82503935101527, 121.04524356905739 30.824882331029457, 121.04537501317677 30.82479959437047, 121.04554807060603 30.82479297392115, 121.04882343695003 30.82581215837559, 121.04933139150906 30.82597064301638, 121.04991129206654 30.826174582249227, 121.04991393195971 30.826173285311437, 121.05003189777264 30.82611515320191, 121.05133188559734 30.82253498596587, 121.05150886318931 30.821858122417247, 121.04760308237441 30.8207959190792, 121.04598444813367 30.820390824189307, 121.04460929088623 30.820054735331613, 121.04399582549262 30.820789108998987, 121.04282809268906 30.823596590673084, 121.04276521306528 30.823872165929686, 121.04279912000901 30.823985285632745, 121.04314688011213 30.824322406881883, 121.04318545405438 30.82444458162424, 121.04251926392946 30.825977392919377, 121.03889776512511 30.831175796864564, 121.03618437570313 30.834781040128817, 121.02887229033632 30.83725379101012, 121.02113519839634 30.841687754519093, 121.01873319991365 30.841385271478988, 121.01808629975875 30.840981484368204, 121.0150208822421 30.837759772759092, 121.01166348871295 30.834001205289844, 121.00497888427115 30.832392829318977, 121.00081401079825 30.827233218180297, 121.00073176503976 30.82718322449244, 120.99652308519195 30.829445451854383, 120.99558526099696 30.839520789595415, 120.99795140248123 30.84295012060145, 120.99954237775485 30.844580758251535, 120.99985251953282 30.84460415047284, 121.0013792927052 30.843981937742765, 121.00172807498575 30.84383986098324, 121.00312095952944 30.84688313319576, 121.00328297039631 30.84750194044919, 121.00364522595007 30.84889872136553, 121.00447490853163 30.850500497044173, 121.00751591098273 30.85091444457982, 121.01022717629662 30.851758883000592, 121.01201763851635 30.853321296594522, 121.01216872750888 30.853562342646317, 121.01435635715991 30.856343823853, 121.01652615541855 30.85861701497448, 121.01831036556563 30.858166203099266, 121.02229411380173 30.866072741230973, 121.02270073953129 30.86841122220544, 121.02319041475016 30.87311135213884, 121.02293035375035 30.876384418137288, 121.02684711608757 30.878060224078645, 121.02694759424146 30.87807328734456, 121.02790580268943 30.879032674082573, 121.02851182734253 30.880681766310854, 121.02851114951504 30.880714099557913, 121.02723574389789 30.883965876617594, 121.02456750165612 30.888420543687364, 121.02218059435431 30.887950337554248, 121.02140612417317 30.887764192435732, 121.02023848649463 30.88761770713212, 121.02014746562627 30.887621485573767, 121.01764462857687 30.88788154381702, 121.01372143003817 30.889246560508713, 121.01391649075245 30.889497494616105, 121.0148206766665 30.89049146691596, 121.01504331521924 30.89070605888805, 121.01527502553085 30.890958965972075, 121.01564577277553 30.89136700824369, 121.0158482188587 30.89159150604736, 121.01670631121551 30.89259027230231, 121.01625724440254 30.892893462609205, 121.01629895713306 30.892940078751288, 121.01614691286159 30.893040573250364, 121.01504179925888 30.893650035061437, 121.01414875133405 30.894045247261307, 121.0121757713852 30.894476805267697, 121.01206083761883 30.894495540796775, 121.0077183541568 30.895209498598277, 121.00749165290877 30.895183945981387, 121.00729226172938 30.895164787437412, 120.99963721364965 30.895907553218475, 120.99964000827033 30.895943386749288, 120.99962021267203 30.895944837512303, 120.99698890251332 30.901714827334043, 120.99702280933988 30.90191619996729, 120.99930829072224 30.90796366681169, 120.99948112415528 30.90825057633337, 120.99987486716952 30.90861357244084, 121.00052125129785 30.90912861498796, 121.0055787981175 30.91178586042673, 121.00957902201164 30.910963364489763, 121.01013699926679 30.91145338808241, 121.01137420340086 30.912799467152386, 121.01158522048098 30.91440383807177, 121.01147671763776 30.91503285526669, 121.01141518978538 30.915072307305696, 121.01105100020712 30.915137611090742, 121.00598587294117 30.915488887765697, 121.00597000689243 30.91549030457765, 121.00597326197227 30.91552196151996, 121.00606376095129 30.921517752226013, 121.00618104889917 30.928059429429496, 121.0064803251146 30.938519269549197, 121.00655273480062 30.941020269716894, 121.00681680998453 30.94240715723521, 121.00716953561934 30.94297951539574, 121.00771280951274 30.943428174724023, 121.00572773892027 30.94527610201353, 121.0050273726754 30.94592845781222, 121.00322855900647 30.947997975238465, 121.00314994999107 30.948142065285154, 121.00259999819771 30.94915022328281, 121.00236497329072 30.9496779518889, 121.00228182849423 30.949864668013454, 121.0025204776076 30.950021362418077, 121.00332723315455 30.949858798375416, 121.00371749392016 30.949845576931395, 121.00378206366575 30.94989830574015, 121.0038262748885 30.95007784219597, 121.00387523519565 30.95062282983411, 121.00408792924189 30.954452067495765, 121.00382822624206 30.955610677807247, 121.0042545076077 30.956945520410205, 121.00427001510977 30.95694736371953, 121.00428555692355 30.95694908691963, 121.00430111490533 30.956950679471298, 121.0043166872523 30.956952152201875, 121.0043322794033 30.95695350413358, 121.00434788681069 30.95695472093095, 121.00436351402725 30.95695582233082, 121.0043791519721 30.956956794062837, 121.00439479883094 30.956957635253325, 121.00441045643306 30.956958362077764, 121.0044261329221 30.956958958218447, 121.00444181560933 30.9569594283581, 121.00445749724346 30.956959774400957, 121.00447318416471 30.956959989955898, 121.00448888091222 30.95696008125879, 121.00450457751667 30.95696005205291, 121.00452027941239 30.956959896860262, 121.00453597571192 30.956959607736025, 121.00595665682185 30.95693370453646, 121.00674576531767 30.956916403843312, 121.00773794810974 30.956889423829846, 121.00897398628503 30.95683870656094, 121.00907366881866 30.956362407863182, 121.00912334384215 30.956091027843144, 121.0091113597178 30.955679560603016, 121.00914869875375 30.95520971157505, 121.00950154324036 30.952775072288084, 121.00950915666816 30.952754131662353, 121.01068538706993 30.952690457394855, 121.01133467401476 30.95279034613189, 121.0154542369204 30.953749393431643, 121.01548194217256 30.953754558137735, 121.01655065488113 30.95395673727095, 121.01690559877858 30.954055718633548, 121.01696631113323 30.95407580079309, 121.01697841084915 30.95448047483449, 121.01691300502107 30.954482268917612, 121.01679754805473 30.955158059695712, 121.01681440690831 30.955607627532792, 121.01693033034131 30.956583886979132, 121.01712909527009 30.956749431343912, 121.01787426527346 30.95676363295429, 121.01832885536625 30.956704766782032, 121.02073287932883 30.95534880281877, 121.02097258905022 30.95355516590938, 121.02106916913557 30.952806298765022, 121.02106471585759 30.95280521330954, 121.0206266223756 30.95269857028044, 121.0206113538619 30.95275524414933, 121.02039908145606 30.953309002542074, 121.01948700787906 30.953103737870926, 121.01791156963242 30.952723259781646, 121.017755793318 30.95168655397311, 121.0177417783986 30.950964664025264, 121.01781328317739 30.950458521067127, 121.01856291667933 30.9494196214702, 121.0233329076629 30.94582591627767, 121.02414813303338 30.94551161264641, 121.02456583189539 30.94542129923503, 121.02639278274948 30.946949724620456, 121.03482669872345 30.949301274624613))'),
+ (26806,'MULTIPOLYGON (((121.86213392325428 31.280280041475372, 121.86213392337842 31.280279848976253, 121.86213391784855 31.280271711907247, 121.86213390855052 31.280263850116327, 121.86210097946983 31.264760511519324, 121.86210097413627 31.264760451287366, 121.86209130720127 31.264662654313998, 121.86197167479136 31.263452287535202, 121.85622700773365 31.24825813017814, 121.85622698348732 31.248258060293207, 121.84841961519851 31.241328022489252, 121.84826888726192 31.24129751295798, 121.84473999655404 31.24058691113115, 121.84537489603983 31.23926128862637, 121.84547540476704 31.23896986964945, 121.84558564180573 31.238650293698058, 121.8461496582235 31.237015011388948, 121.84625794049074 31.23681471567958, 121.84650714621762 31.23635381130685, 121.84644650188399 31.235729341884156, 121.84641771931842 31.235432933803754, 121.84668566094436 31.233969913806405, 121.84650676149057 31.233467347084748, 121.84650873303625 31.233321938477847, 121.84653604237457 31.231324207949434, 121.84654488538492 31.2294979521567, 121.84650653466261 31.229060611824885, 121.846372849846 31.228491650667223, 121.84652513569256 31.227917515846556, 121.84708521431652 31.22722209832821, 121.84728689552315 31.226227467874462, 121.84709975176838 31.225983494177285, 121.84667645485085 31.225819494026577, 121.84537957185297 31.22548182398351, 121.84440694084344 31.225481322520654, 121.84257605931006 31.22582212868464, 121.841031067571 31.22619615165971, 121.83986742479304 31.226448674042388, 121.8391616511657 31.226672805035285, 121.83879929458331 31.226985013705452, 121.83828421975916 31.227186250396866, 121.8374065779738 31.22716645078266, 121.83641463097541 31.227663380110247, 121.83551822995547 31.22823444749068, 121.83492698043702 31.228703952741483, 121.83490794971553 31.228951990701383, 121.83490809317084 31.22927577160678, 121.83469833988524 31.229584814137176, 121.83404980011478 31.229960203374077, 121.83244866370882 31.230730140964983, 121.83206238395393 31.230952253268057, 121.83186218727188 31.23108490074857, 121.83174769998134 31.23127292877317, 121.83174780774624 31.231601501730612, 121.83161920163018 31.231846941384052, 121.83127575584115 31.231853893807028, 121.8309181203317 31.23197535885537, 121.83036023239754 31.23231509550174, 121.82965932327583 31.2328717609304, 121.82794301152754 31.234161927506275, 121.82689899699488 31.234810037532235, 121.82605529492224 31.2352683082767, 121.82515451695359 31.236141403922257, 121.82508303386501 31.236528338731357, 121.82512591200006 31.236713268304516, 121.82522597625751 31.236825756221553, 121.82521175873158 31.236940259111254, 121.82510029143675 31.23714237234899, 121.82508483752245 31.237170386159928, 121.82508466729354 31.237170699556962, 121.8212127516663 31.23701052624324, 121.80654587132891 31.235806108061517, 121.79875440352068 31.23158511619027, 121.78808766831585 31.223755881053822, 121.78381549485349 31.22059548359596, 121.78511759892669 31.218368625458897, 121.78621479733043 31.217560874855383, 121.79904669592872 31.202733103362338, 121.79922628364503 31.202511623194606, 121.79923714408775 31.202498225148005, 121.79948004936507 31.202198613807287, 121.79995828209078 31.20160852257357, 121.80010393094454 31.20142877424914, 121.80055940617888 31.200866566997362, 121.80210163643336 31.20130629434412, 121.8051254396012 31.202161070354343, 121.82758991742689 31.17748415380174, 121.83426305435938 31.17295612634605, 121.846944928314 31.166069493664825, 121.87779191134776 31.143190206044455, 121.87780638459894 31.1431796531604, 121.88756645719502 31.136091966226306, 121.88750710260614 31.134297927335492, 121.8704728637691 31.11899309073168, 121.87089197616203 31.118508280643326, 121.87131738193251 31.118016309791837, 121.87148894357105 31.117817938839366, 121.87243661890433 31.11672249284487, 121.87251948096335 31.11661418978203, 121.87311738139222 31.1158324168845, 121.87312826149582 31.11584246616613, 121.87718342838554 31.11959740395048, 121.89106902547975 31.132572196525356, 121.93039051981515 31.099715063110096, 121.92897249458976 31.098732310173883, 121.91591699570925 31.089575903342507, 121.91449235288714 31.0885655339549, 121.91010073144918 31.085439262960953, 121.90130807182578 31.07913967271638, 121.90130684767156 31.079138834157824, 121.90213631297794 31.078061559205054, 121.90213667530485 31.078061690817517, 121.90260938252914 31.078232875190995, 121.90511307347359 31.07433205952751, 121.90892788715723 31.068388296064125, 121.9100077338496 31.066705698868756, 121.91209865594023 31.063447398983016, 121.92019103965403 31.0508316427698, 121.92019108995427 31.050831568414065, 121.92242122895419 31.047352644108827, 121.92535366042358 31.042776230383076, 121.92743570746913 31.039525398493794, 121.93517720238458 31.02742491758049, 121.9356947261824 31.026615168864343, 121.93847898579948 31.022256912772185, 121.94051948268012 31.019060867140503, 121.94265971323426 31.015706774318865, 121.94366899600702 31.014124421008297, 121.94372823643424 31.01403152644606, 121.94378731119467 31.013828226309496, 121.94398302200383 31.013154600190802, 121.94392647247739 31.012272590125246, 121.94721373351804 31.007756599467193, 121.95003370659217 31.003879291848417, 121.95050327515969 31.003233453501302, 121.95067281991398 31.003000234189553, 121.98483802604034 30.923843561999977, 121.98327082548774 30.888347266141384, 121.97523412601102 30.881797853706985, 121.97292068824841 30.880986236701226, 121.95846961363875 30.875994810844823, 121.92716400774395 30.864334457162922, 121.92303337895083 30.862602228844132, 121.89815404853036 30.851846888969988, 121.89706594774705 30.851700588537756, 121.89232287911831 30.85160582441375, 121.89024460020015 30.853002933523847, 121.88664221215213 30.852399495581906, 121.8845218130487 30.852047450027516, 121.85899442088034 30.853819519388402, 121.85810155786663 30.852831220614487, 121.85720151019588 30.851835880777127, 121.84607308793002 30.848774949629263, 121.83589707507797 30.848903614096315, 121.82746417597262 30.849661521651658, 121.81165505205175 30.851841465255294, 121.79441593753415 30.85272264732107, 121.77559043057697 30.85190742308503, 121.77558314324304 30.85446557558925, 121.77520071860306 30.857040115611568, 121.77456353594778 30.866165237604935, 121.7744886477602 30.867263151052427, 121.77433291472713 30.869543415147998, 121.77680015347484 30.877465715267572, 121.77897624164156 30.883664915480093, 121.78304266949714 30.886631173623336, 121.782660235489 30.890994084890377, 121.78373189014575 30.89593585058866, 121.78387137218735 30.896396982780242, 121.78495736198384 30.900612785423665, 121.78521704721959 30.905525838776946, 121.78471762319452 30.907888105070022, 121.78464666650832 30.91097331854255, 121.785328621162 30.916063176110136, 121.7855689205918 30.916415534251296, 121.7862788846575 30.917436704163563, 121.7865899661212 30.918064302457694, 121.78668523236347 30.91843352980545, 121.78735010520481 30.921009698534903, 121.78757503322669 30.922062051684165, 121.78750646285874 30.922668372661885, 121.78713140144689 30.924450805037672, 121.78680550215003 30.925865141130892, 121.78612594546827 30.928797376509714, 121.78599942944487 30.929118765541617, 121.78591773770003 30.92931917769395, 121.78584103261569 30.929507376723063, 121.78475532272184 30.93165065193015, 121.78413505193028 30.932968238295665, 121.78385624844468 30.93445466022018, 121.78394936902167 30.935015998817356, 121.78395956037856 30.93503159444965, 121.7839702229413 30.935046948749722, 121.78398135402784 30.93506205086757, 121.78399295632074 30.93507689994171, 121.78400501640778 30.93509146694359, 121.78401751908991 30.93510575610841, 121.78403046347258 30.935119747617314, 121.78404383614466 30.93513344123638, 121.78405762637645 30.935146811581422, 121.78407182880369 30.935159863953366, 121.78408642375587 30.935172576416676, 121.78410140676282 30.935184951587736, 121.78411676798916 30.935196972196238, 121.78413249134081 30.935208623565806, 121.78414856877129 30.93521991005255, 121.78416498329234 30.93523081786529, 121.78418173132752 30.935241335238445, 121.78419879231244 30.93525145731945, 121.78421615641211 30.935261180336447, 121.78423380932057 30.935270491444093, 121.78425174477904 30.9352793824317, 121.78426993954086 30.93528785290225, 121.78428838198259 30.935295896355285, 121.78430706405712 30.935303499151875, 121.78432597414101 30.935310659291293, 121.78434508809366 30.935317383561983, 121.78436439160825 30.935323640224397, 121.7843838784271 30.93532945436418, 121.7839918390371 30.936448192180684, 121.78322429378082 30.93749780393624, 121.78320435676287 30.937507806636205, 121.78318418189234 30.937517450538774, 121.78316377363974 30.937526734815886, 121.78314315167376 30.93753565530209, 121.78312231062823 30.93754420110147, 121.78310126570321 30.937552378770516, 121.7830800267317 30.937560176776156, 121.78305859907806 30.937567597006364, 121.78303699257619 30.93757463332768, 121.78301522153087 30.937581285983505, 121.78299328683542 30.937587551386052, 121.7829712027938 30.93759342258024, 121.78294897477039 30.937598901455406, 121.78292661170569 30.937603988163314, 121.7829041350552 30.93760867137448, 121.78288153409116 30.937612958099514, 121.78285883384578 30.937616841570968, 121.78283603342533 30.9376203235712, 121.78281314892148 30.937623398078372, 121.78279019016969 30.93762607156092, 121.78276716074446 30.93762833328119, 121.78274407226968 30.93763019333858, 121.7827209390486 30.937631642082486, 121.7826977664451 30.937632679605656, 121.78267456340058 30.93763331146265, 121.78265134511197 30.93763352801943, 121.78262811247455 30.937633338290578, 121.78260487979239 30.93763273802638, 121.78180993131083 30.93760251900994, 121.78127442759713 30.937504585190133, 121.78125143392238 30.93750528567048, 121.78019178552537 30.93748797772748, 121.77985342350682 30.937609827606234, 121.77958662705109 30.937791993451416, 121.7793692241971 30.938166387990506, 121.77944868730937 30.93851778073098, 121.77952678426878 30.939119115198384, 121.77917356148791 30.93984598399117, 121.77860969910796 30.939945340916545, 121.77745979669884 30.94044262971874, 121.77631282128175 30.9410263517918, 121.77570119571111 30.94141778484588, 121.7724992218534 30.942300567305093, 121.77214872819295 30.94229076206883, 121.77023431048646 30.94260280205723, 121.76995333778174 30.942724871053, 121.76995177127083 30.942734669578453, 121.76995028348786 30.942744474903545, 121.76994886011953 30.942754285874067, 121.76994750653854 30.94276411428446, 121.76994622273737 30.9427739430358, 121.76994500872073 30.942783782927314, 121.7699438689596 30.942793629538603, 121.76994279451026 30.942803487210437, 121.76994179878683 30.942813346281703, 121.769940868373 30.942823211013767, 121.76994001221922 30.942833092364765, 121.76993922584379 30.942842970456383, 121.76993850477801 30.942852854208745, 121.76993786244071 30.942862744759832, 121.76993728451846 30.942872640955585, 121.76993678174414 30.942882538486945, 121.76993634875265 30.94289244265814, 121.76993599001456 30.942902348148937, 121.76993570105695 30.94291225487984, 121.7699354818844 30.94292217275032, 121.76871895833281 30.945376435426844, 121.76775614674636 30.949939217799233, 121.76732487882684 30.952856163280472, 121.76733539142145 30.952879042006487, 121.76734533770546 30.952902096676834, 121.76735471141768 30.95292532717916, 121.76736350359877 30.952948718055517, 121.76737171871339 30.9529722549741, 121.7673793513893 30.952995931538265, 121.76738639266749 30.95301973319133, 121.76739283717207 30.95304364993734, 121.76739869385015 30.953067677421693, 121.76740395463153 30.953091794803743, 121.76740861235473 30.953115997458838, 121.76741266879282 30.95314026471271, 121.76741612394717 30.953164596562235, 121.76741897153713 30.95318897309851, 121.76742121155972 30.953213389819222, 121.76742284579669 30.95323783685233, 121.76742386706623 30.95326228797489, 121.76742428163381 30.95328674419163, 121.76742408949463 30.953311200101965, 121.76742328525681 30.953335630414614, 121.7673779889998 30.953384683243286, 121.76565764029984 30.95460671087903, 121.76471927125235 30.95499947430214, 121.76336393268265 30.955739026517918, 121.76138083471243 30.956849189639755, 121.76134953269528 30.95686410622091, 121.7613182905746 30.95687910978251, 121.76128709311034 30.956894190217536, 121.7612559492665 30.956909351244096, 121.76120452217003 30.95693446638416, 121.76118456417255 30.95694701119141, 121.76116472090493 30.956959688307577, 121.76114499685231 30.956972501387995, 121.76112538304838 30.95698544220867, 121.76110589294356 30.956998519944218, 121.76108651847018 30.9570117290828, 121.76106726320937 30.957025065167077, 121.76104813164832 30.957038533652174, 121.76102912109533 30.957052129097626, 121.76101023962062 30.95706585610553, 121.76099147736073 30.957079705540608, 121.76097283969791 30.95709368196956, 121.76095433201456 30.9571077899588, 121.76093595430349 30.95712202050286, 121.76091770029305 30.957136372614723, 121.76089958163905 30.957150851842872, 121.76088159206202 30.95716544909969, 121.76086373156606 30.95718016708078, 121.76084601180352 30.957195007733873, 121.76082842112208 30.95720996550141, 121.76081096401352 30.957225050338074, 121.76079365300387 30.957240241701125, 121.7607764701952 30.957255560953747, 121.76075942811777 30.957270992053452, 121.76074252498131 30.95728653497204, 121.76072576616936 30.95730219517505, 121.76070914271762 30.957317967140902, 121.76069266806425 30.95733384653888, 121.76067633864236 30.957349848618684, 121.76026723999004 30.95760697538156, 121.75917439729695 30.958197576149068, 121.75549021114459 30.95848847561632, 121.75501509912071 30.95820795405443, 121.75026093698446 30.962257619425305, 121.74992661184487 30.962538487869494, 121.74988177788973 30.962570923201092, 121.74757354457871 30.96343203805144, 121.74325081690343 30.964997664346814, 121.74230131791447 30.96814140810076, 121.74007977908757 30.97131547156744, 121.7387787284986 30.972659478716622, 121.73650435381623 30.974710905709095, 121.7353199311579 30.975676457664207, 121.73400795417021 30.9767468964177, 121.73358363372081 30.9770538636078, 121.72924023404687 30.979780325799773, 121.7253300840914 30.982252163260874, 121.72411964583189 30.983080653543194, 121.72311355316847 30.98388637927485, 121.7215650217135 30.985155992689187, 121.72043038596382 30.985996146287242, 121.71892401664056 30.987078506221064, 121.71833605896376 30.987422944084855, 121.71810708405268 30.987557081474915, 121.71464442291122 30.989574390089107, 121.71302526554871 30.990488906476347, 121.70938004119483 30.992282892289946, 121.70807249837975 30.992778920270762, 121.70597523301561 30.993516791442392, 121.69940828241351 30.995693324904522, 121.69828514809916 30.995931769140125, 121.69785713144773 30.996016266420344, 121.69556375261631 30.996382817964005, 121.68088046951546 30.998096768383586, 121.68086445037446 30.99808262674481, 121.68085379497084 30.998073217321995, 121.68084353010877 30.99806348585253, 121.68083367468024 30.998053446885784, 121.68082423498039 30.99804311577734, 121.67941883783948 30.997271039232256, 121.6793470708105 30.99665902009031, 121.67945919327138 30.996395716096856, 121.67960896497536 30.99604755903791, 121.67961141020518 30.996041311679924, 121.67961341465106 30.996034939942316, 121.6796149693204 30.99602847974456, 121.67961606971575 30.996021940048465, 121.67961671404059 30.996015351435044, 121.679616898699 30.99600873907032, 121.67961662279387 30.996002128142678, 121.67961588182881 30.995995532111102, 121.67961469110007 30.9959889880003, 121.67961303981491 30.99598251011364, 121.67961094866628 30.995976128322457, 121.67960841225977 30.995969863274414, 121.6796054458902 30.99596373399516, 121.67960205945607 30.995957765762366, 121.67959826825282 30.995951980300557, 121.67959408217894 30.99594640108704, 121.67958952012675 30.995941038178653, 121.67958458839772 30.995935922220173, 121.67957932207615 30.995931068807135, 121.67957372026589 30.995926493224474, 121.67956781805115 30.995922209268183, 121.6795616370241 30.99591823871681, 121.67955518438353 30.995914590626413, 121.67954849791208 30.995911280617168, 121.6795415965025 30.995908324146104, 121.67949826163769 30.995908993106493, 121.67945493353797 30.995909816039713, 121.6794116104043 30.995910796531597, 121.67936829223623 30.995911935484266, 121.67932498532863 30.995913223057254, 121.67928168878225 30.99591466914389, 121.67923840169696 30.995916273738946, 121.67919512137333 30.995918031421702, 121.67915185590569 30.995919942267705, 121.67910860079662 30.995922012538564, 121.67906535694368 30.995924230547068, 121.6790221279454 30.995926611626786, 121.6789789137995 30.995929142283142, 121.67893571630474 30.99593183063496, 121.67889253366096 30.99593467306969, 121.67884936586789 30.99593767409001, 121.67880621921977 30.995940828359096, 121.678763088319 30.99594413583038, 121.67871997766193 30.9959475974497, 121.67867688724716 30.99595121232123, 121.67863381257798 30.995954990304732, 121.67859076264533 30.995958917091837, 121.67854773385082 30.995962993552602, 121.67850473069099 30.995967232332394, 121.6784617477676 30.99597161988598, 121.67841879047644 30.99597616706806, 121.67837585252099 30.995980872022226, 121.67833295098477 30.995985720522, 121.67829006968127 30.995990728611726, 121.67650684640743 30.99677937688969, 121.6759766506123 30.997254579103384, 121.67597259817234 30.997258357980613, 121.67596866617318 30.997262238157887, 121.67596485820933 30.99726620528167, 121.67596117607778 30.997270259374478, 121.67595761798033 30.99727439411733, 121.67595419020857 30.99727861588498, 121.67595089725529 30.997282913933955, 121.67594773462653 30.997287289111778, 121.6759447113092 30.997291730728385, 121.67594182820214 30.99729624869377, 121.67593908530458 30.997300829511374, 121.67593648261608 30.997305470482583, 121.67593402373154 30.997310174350787, 121.67593171584072 30.99731493940279, 121.67592955714541 30.997319751220612, 121.67592754315164 30.997324610651333, 121.6759256846443 30.997329521423637, 121.67592397623031 30.997334473575712, 121.67592241701074 30.9973394625983, 121.67592101777049 30.997344488620563, 121.67591977401543 30.997349547090323, 121.67591868484642 30.99735463169841, 121.67591775026352 30.99735974424494, 121.67585026852663 30.997754218459495, 121.67585012385196 30.997761101375495, 121.67584963405669 30.997767963956125, 121.67584881441938 30.997774792886606, 121.67584765505428 30.997781588047683, 121.67584616135403 30.997788334205847, 121.6758443324202 30.99779500615364, 121.67584217903824 30.9978016040189, 121.67583970031002 30.99780811789092, 121.67583690252721 30.997814528046632, 121.67583378479186 30.997820824574948, 121.67583035699084 30.997826996794004, 121.67582662901125 30.99783303582138, 121.67582260624633 30.9978389255221, 121.67581828959563 30.997844662304583, 121.67581369254154 30.99785023013069, 121.67580882586962 30.997855624627626, 121.67580369407469 30.997860826049752, 121.67579830255045 30.997865833558777, 121.67579267106981 30.997870639290568, 121.67578679963405 30.997875226144966, 121.67578070352283 30.997879595202345, 121.67577439801543 30.997883731346082, 121.67576788760661 30.997887630128016, 121.67576118667714 30.99789128631928, 121.67575431140506 30.997894690213613, 121.6693955139797 30.999000935652596, 121.66280777502713 30.99919675409485, 121.65387095677482 30.999263559007055, 121.65290075905902 30.999259950940093, 121.64516029358349 30.99893479816669, 121.64374180666323 30.998874683308642, 121.6397629002371 30.99861187560165, 121.63778425585339 30.998451711705755, 121.63543840805701 30.998355311261086, 121.62994744004186 30.998158238173414, 121.62818072582881 30.998156644056486, 121.62713601240138 30.998206995193506, 121.62707445340192 30.99821683806619, 121.62613006429102 30.999093047194048, 121.62461896093781 31.00060925206943, 121.62303814669266 31.002509964788658, 121.61717307633876 31.006693232025054, 121.61149509831336 31.006863926956832, 121.61067815445668 31.006945588949357, 121.60909117896617 31.007201482961293, 121.6063688748279 31.00771506740998, 121.60461043908624 31.008094982117907, 121.60189675565698 31.008313960633636, 121.60186796308552 31.008264969164216, 121.60085639225653 31.006755443098, 121.59648175814313 31.00680934057805, 121.58905446384145 31.006703182024857, 121.58743488055683 31.00596829193237, 121.58369191646898 31.005310854110878, 121.57722404900906 31.004555967467123, 121.5767805857776 31.00455267609185, 121.57690356123916 31.00488684514105, 121.57677516781337 31.005376524670062, 121.57663823912462 31.005637102481717, 121.57652765243964 31.005751682903703, 121.57505118749502 31.00706871085226, 121.57495406703437 31.00709979547787, 121.5748182365762 31.007629168411164, 121.57563270915841 31.007915087209817, 121.57640780640516 31.00821660541014, 121.57642182245274 31.00822217993697, 121.57643573226962 31.00822794530323, 121.57644954306093 31.008233887038386, 121.57646324312711 31.008240005274022, 121.57647683786628 31.008246299054903, 121.57649031827846 31.008252768483484, 121.57650367806497 31.008259410033908, 121.57651692262169 31.008266227249557, 121.57653004205348 31.008273210346406, 121.57654304175522 31.00828036556693, 121.5765559109297 31.00828768673617, 121.57656864597541 31.008295174797727, 121.57658125499054 31.008302828766496, 121.57659372357725 31.008310644307134, 121.57660604723739 31.008318616075492, 121.57661823586491 31.00832675026426, 121.57663027956322 31.008335039789483, 121.57664217833198 31.008343481956402, 121.57665392136646 31.008352084986544, 121.57666551947148 31.008360834368933, 121.57667695734361 31.008369736575954, 121.57668823588469 31.008378784404353, 121.5766993577945 31.008387975129168, 121.57671031587046 31.00839731153428, 121.57672110831027 31.008406795443467, 121.57690504255665 31.008785174757175, 121.57690683685564 31.00878900158661, 121.57690850603352 31.008792873915, 121.57691005459212 31.008796788093093, 121.57691147353717 31.00880073342673, 121.57691276286256 31.008804720712785, 121.57691393157931 31.00880872915649, 121.57691496977922 31.00881277416536, 121.57691587837274 31.00881683593587, 121.57691665645491 31.00882092347567, 121.57691730043292 31.008825023330065, 121.57691781840191 31.00882914440464, 121.5769182058647 31.008833281352228, 121.57691845923134 31.00883741531988, 121.57691858209425 31.008841560662276, 121.57691752776975 31.008847399984184, 121.57691623947248 31.008853196969422, 121.57691470459989 31.008858957158186, 121.57691293575556 31.008864674108956, 121.5765586095609 31.00999072944029, 121.57655758274609 31.00999386180471, 121.57655637957431 31.009996956527655, 121.57655501715585 31.009999992727042, 121.57655349458793 31.010002975810373, 121.57655181187373 31.010005900378953, 121.5765499690223 31.010008752036864, 121.57654797593293 31.01001152977461, 121.5765458380108 31.01001422453491, 121.57653309515237 31.010030281422193, 121.57645348969446 31.010024978454258, 121.57641188730946 31.010046262088803, 121.57632746595873 31.01016713481401, 121.57602916654456 31.010682977402197, 121.57601305102034 31.010776356473922, 121.57601198071985 31.010784430784174, 121.57601124511145 31.010792532138552, 121.57601082530996 31.010800644543373, 121.57601074021316 31.010808763300485, 121.57601097453038 31.01081687957494, 121.5760115354701 31.010824977095893, 121.576012420339 31.01083304599491, 121.57601363094042 31.010841080854036, 121.57601517177578 31.01084907802594, 121.57601702306683 31.010857011627973, 121.57601919380825 31.010864886961567, 121.57602168580985 31.0108726887112, 121.57602448738145 31.010880407102228, 121.57602759942698 31.01088803672484, 121.57603101565715 31.01089556414806, 121.57603473337821 31.01090298220051, 121.57697586312382 31.011548547990543, 121.5776263746154 31.011890808382834, 121.57737520724355 31.01231960019268, 121.57701933202955 31.01270805952501, 121.5769684101103 31.012785203846526, 121.57691072603318 31.01288987322414, 121.57681738883848 31.01308322453702, 121.57655052503145 31.013696478406267, 121.57654795878547 31.013702378790224, 121.57654542852488 31.013708294065914, 121.57654293245379 31.013714218855363, 121.57603263142518 31.01474966965056, 121.57595559749801 31.01517238330073, 121.57566604693939 31.016893083961808, 121.5734092717369 31.017584115430633, 121.57436072990552 31.018620490028, 121.57710058192632 31.020154125300532, 121.57736209813017 31.0204780278785, 121.58097090122646 31.026979417703124, 121.58059563398652 31.02901093115983, 121.57898949250178 31.030293354965973, 121.57755394264497 31.031241719751055, 121.57756879142322 31.03222621274422, 121.57771127762169 31.032266683414363, 121.57826274688557 31.03237251516316, 121.57824843355223 31.032636473320984, 121.57824737453628 31.032639852802145, 121.57824623541124 31.03264321348307, 121.57824502608146 31.0326465543414, 121.57824373754299 31.032649876387985, 121.57824237789872 31.032653179522264, 121.57824094805363 31.03265645833506, 121.57823944350646 31.032659712881994, 121.57823786965425 31.032662948493616, 121.57823621930423 31.032666154463293, 121.57823450505975 31.032669331534404, 121.57823272061908 31.032672479784647, 121.57823086057626 31.032675603778788, 121.57822893573908 31.03267869888461, 121.57822694611717 31.03268175430634, 121.5782248862905 31.03268479080196, 121.57822275628534 31.03268777868337, 121.57822056598447 31.0326907412181, 121.57821831179884 31.032693664955964, 121.57821599102346 31.032696554428124, 121.57821360636817 31.03269939970504, 121.57821116592626 31.032702211481652, 121.57820865619969 31.032704982727513, 121.57820609069054 31.032707715974322, 121.57820346040246 31.03271040413584, 121.5782007752379 31.032713047989045, 121.57819803519709 31.032715647533603, 121.57819523487828 31.032718202835845, 121.5781923796833 31.03272071382876, 121.57818947501802 31.032723175947037, 121.57818722298103 31.03272264867647, 121.5781861014673 31.032722381835523, 121.57818498085729 31.03272211138395, 121.5781838647497 31.032721839976244, 121.57818162264132 31.032721287384273, 121.57818050744375 31.032721006066655, 121.5781793913463 31.032720724759244, 121.57817827525389 31.03272043805308, 121.57817716456351 31.032720151279392, 121.57817604847573 31.032719860073197, 121.57817493778983 31.032719568799433, 121.57817382620888 31.03271927213807, 121.57817271553242 31.032718970966542, 121.57754134157042 31.03254941364317, 121.57753707418028 31.032548253274204, 121.5775328212493 31.03254703334521, 121.57752859807597 31.03254575817332, 121.57752439565961 31.032544426965835, 121.57752021849926 31.03254304146888, 121.5755201041083 31.031770102101735, 121.57551495767196 31.031769624679594, 121.5745637382835 31.031523260290346, 121.57437110571357 31.031472128479408, 121.57377806546465 31.031211367829158, 121.57340885533925 31.030567187326483, 121.5733989185517 31.030549170223516, 121.57338935776897 31.030530994260694, 121.57338018646985 31.030512664732882, 121.57363714521408 31.030402636401835, 121.57437165162004 31.030856479099583, 121.57455749779392 31.03098499887776, 121.57487751020268 31.030508062908833, 121.57375343318071 31.029183233372734, 121.57203318711657 31.027512342216955, 121.57052264382637 31.027597424346805, 121.57012892688999 31.0281170208602, 121.56997804721347 31.02858507996302, 121.56963040702688 31.029361215535122, 121.56962703065919 31.02936835880751, 121.56962316408611 31.029375320046796, 121.56961881812023 31.02938206321033, 121.56961400894282 31.029388573819304, 121.56960875993039 31.02939482656419, 121.56960308188566 31.029400796196647, 121.56959699549012 31.029406458319542, 121.5695905339921 31.029411795671553, 121.56958370818695 31.02941679110076, 121.56957655401732 31.029421427333155, 121.56956907959076 31.029425680033302, 121.56956133162112 31.029429538173215, 121.56955333437182 31.02943298813561, 121.569545107613 31.029436019024107, 121.56953669177528 31.029438615345516, 121.56952810662726 31.02944076710458, 121.56951939707565 31.02944247408182, 121.56951058289675 31.02944371728771, 121.56950169910994 31.029444504648698, 121.56949278613337 31.029444832371922, 121.56948386284131 31.029444685073315, 121.56947497591703 31.02944408142252, 121.56946614871325 31.029443018610927, 121.56848553034007 31.029299547327884, 121.5685288943345 31.0290987212371, 121.56849288034914 31.02908732550666, 121.56845682537848 31.029076008761724, 121.56842074199305 31.029064770950406, 121.56838461852242 31.029053612113035, 121.56834846573655 31.029042537603043, 121.56831227735753 31.029031541142803, 121.56827606056723 31.029020624501566, 121.56823980819028 31.029009781404458, 121.568203526503 31.028999021720985, 121.56816720563029 31.02898834638218, 121.56813085994217 31.028977749935976, 121.56809447417828 31.028967232432077, 121.56805806449871 31.028956793810977, 121.56802161922995 31.028946438607285, 121.56798514466125 31.028936162298017, 121.56794863630428 31.02892596579429, 121.56791210223685 31.028915851764687, 121.56787553976909 31.02890581751619, 121.56783894172179 31.028895862168902, 121.56780231438029 31.028885984799302, 121.5677656568414 31.028876192603907, 121.5677289709038 31.028866482874793, 121.56769225387815 31.028856852918114, 121.56765551833354 31.028847300893293, 121.56761874272163 31.02883783405928, 121.56758194230534 31.028828449667806, 121.56754511799048 31.02881913961682, 121.56750825899796 31.028809913830436, 121.56747137969559 31.028800765966604, 121.56746821199373 31.028815550239884, 121.56746529916957 31.02883036796563, 121.56746264032411 31.02884522004831, 121.56746022648524 31.028860102017056, 121.5674580720143 31.028875012933447, 121.56745616704185 31.02888994832878, 121.5674545259282 31.02890490816385, 121.56745312983043 31.02891988619594, 121.5674519886286 31.02893487430142, 121.56745110142096 31.028949876981905, 121.56745047897857 31.028964893307876, 121.56745010515797 31.02897990983121, 121.567449981751 31.02899493014556, 121.56745012222477 31.02900994971496, 121.56745051312133 31.029024963179523, 121.56745115803501 31.02903996603075, 121.56745206234625 31.02905496365073, 121.5674532206801 31.029069945258513, 121.5674546339342 31.02908491085072, 121.56745629672285 31.029099861341148, 121.56745821893453 31.02911478050757, 121.56752231341277 31.03016123324822, 121.56808328055006 31.030250544009498, 121.56802455970401 31.03073395696012, 121.56629040522088 31.03029316007224, 121.56613244267524 31.030247828789374, 121.56606329780286 31.030220120077015, 121.56239133435176 31.026517517691506, 121.56238970718007 31.026515249175606, 121.56238812484352 31.02651295465876, 121.56238659182556 31.02651063145139, 121.56238510901461 31.026508287652025, 121.56238368178714 31.026505924171364, 121.56238230387468 31.026503535599268, 121.56238097527712 31.026501121935915, 121.56237970226287 31.026498688591897, 121.56237847856337 31.026496230157008, 121.5623773149187 31.02649376194665, 121.56237619610778 31.02649126863669, 121.56237513735579 31.026488761053617, 121.56237413329127 31.02648623288927, 121.56237317942333 31.026483694930185, 121.56237228472297 31.02648113729897, 121.56237144470418 31.026478565384213, 121.56237066025552 31.026475987284524, 121.56236993497356 31.02647339041272, 121.56236926526574 31.026470782858084, 121.56236864933899 31.026468165516697, 121.56236808898066 31.026465543790103, 121.56236758778533 31.026462906890146, 121.5623671475355 31.0264602656161, 121.56236675569022 31.026457613645068, 121.5623664292671 31.026454961807165, 121.56236615841719 31.026452300186723, 121.56227513296064 31.02531080076943, 121.56227390715097 31.025295283349124, 121.56227280054146 31.025279755385338, 121.56227180775332 31.025264218666155, 121.56227093595253 31.025248676805695, 121.56227017796436 31.025233135186703, 121.56226954007217 31.025217583027274, 121.56226902136872 31.02520203202086, 121.56226861737402 31.025186481258423, 121.56226833795091 31.025170925363362, 121.56226817323635 31.025155369712504, 121.56226812771033 31.02513981521513, 121.5622681968988 31.02512425466469, 121.56226838616772 31.025108699767642, 121.56226868924828 31.025093146012566, 121.56226911779218 31.025077591624832, 121.56226966013944 31.025062047374973, 121.56227032257644 31.025046498882276, 121.56227109881675 31.025030960527005, 121.56227199514291 31.025015422426495, 121.56227300617374 31.02499988906709, 121.56227413727622 31.024984371255314, 121.5622753875729 31.024968849197332, 121.56227675704615 31.024953341784656, 121.5622782412236 31.024937840011077, 121.56227984548333 31.02492234298802, 121.56228156354227 31.02490686149702, 121.56228501848508 31.024898961167157, 121.56228793140038 31.02489089505035, 121.56229028522773 31.02488269730056, 121.56229207188183 31.024874387696098, 121.56229330028906 31.0248660031429, 121.56229394623142 31.02485756608236, 121.56229401415405 31.02484911430884, 121.56229350313549 31.024840674809084, 121.56229242032047 31.024832274585812, 121.56229075851662 31.02482393881152, 121.56228853919674 31.02481570621232, 121.56228575696564 31.024807597464594, 121.56228242613078 31.02479964767933, 121.56227856190941 31.02479187757494, 121.56227416875733 31.02478431594279, 121.56226927353403 31.024776992521016, 121.56226387890482 31.02476993429687, 121.56225801621707 31.02476316382045, 121.5622517042767 31.024756698217114, 121.56224495828893 31.02475057169711, 121.56223780961285 31.024744794215763, 121.5622302761498 31.024739391892712, 121.56222239373173 31.024734382790115, 121.56221417667943 31.02472978852234, 121.56220566531366 31.02472561816615, 121.56219688022891 31.02472189245104, 121.5621878599565 31.024718616852994, 121.56217863584978 31.024715805829544, 121.5621692311967 31.02471347382103, 121.56212540327647 31.024706352957242, 121.56208155610784 31.024699330100095, 121.56203768520975 31.024692406137127, 121.56199379417328 31.0246855747776, 121.56194988389402 31.024678836921822, 121.561905953468 31.0246722015622, 121.56186200469537 31.02466566060525, 121.56181804026212 31.024659216755314, 121.56177405748396 31.024652866405997, 121.5617300491838 31.024646619432996, 121.56168603239648 31.0246404650842, 121.56164199099337 31.02463440421544, 121.56159793930165 31.024628446760033, 121.56155386389176 31.024622581884604, 121.56150977371797 31.024616815910196, 121.56146566967759 31.02461114793892, 121.56142155087967 31.0246055725698, 121.56137741194321 31.024600096083525, 121.56133325913656 31.02459472209601, 121.56128909157256 31.024589441607638, 121.56124491014717 31.024584254620663, 121.56120071396057 31.024579165629586, 121.5611565030089 31.024574179131967, 121.56111227729974 31.024569287030484, 121.56106803772687 31.024564492026236, 121.56102378876774 31.024559795932735, 121.56097952505348 31.024555192434697, 121.56093524119923 31.0245506923088, 121.56089095423486 31.024546285716102, 121.55977392571107 31.024820895434576, 121.55819605296965 31.027102058414744, 121.55810239147708 31.02767225143801, 121.55861418322758 31.02949663917304, 121.55966289267512 31.029328421757736, 121.56081668450182 31.029135755653297, 121.56435898225439 31.03267384390092, 121.56540283600123 31.036329894258426, 121.56531004211384 31.04059650704286, 121.56525554212074 31.04348913721883, 121.56520335803935 31.046316199019905, 121.56521625045887 31.04752993473565, 121.56521647661256 31.047551279087973, 121.56550266077309 31.047637025338165, 121.56591157987712 31.047759431359406, 121.56619882917794 31.047880416813282, 121.56642428165804 31.048066525320504, 121.5677868081573 31.049553563946382, 121.56760796155345 31.050196519563137, 121.56734153041118 31.05069407016179, 121.56709390160093 31.050954949484876, 121.56075845954737 31.056662075213797, 121.56061326761889 31.0566693181509, 121.55756254029016 31.056008376739403, 121.55699400413368 31.055714771766958, 121.55669172586171 31.055408116832925, 121.55632859888928 31.05439176143809, 121.55626119529329 31.054282873482457, 121.55622876050872 31.054230476651163, 121.55367413641648 31.053436079632693, 121.55281834099239 31.053637575632127, 121.55271220020285 31.06276833368012, 121.55271170908983 31.06276958941379, 121.55303817429092 31.062869217323016, 121.55440811367565 31.069680737781034, 121.55718392738649 31.070446320954417, 121.56184230159947 31.072705153529675, 121.56283443294149 31.073175117385276, 121.56283612399467 31.073177902003742, 121.56283978755712 31.07318452289317, 121.56284317246167 31.07319124863304, 121.56284627243242 31.073198078316228, 121.56284907401238 31.073204998423908, 121.56285158168555 31.073212012565534, 121.56285380080432 31.073219091951216, 121.56285570537335 31.073226234742005, 121.56285731152364 31.073233438264836, 121.56285860848418 31.07324068540397, 121.5624791449776 31.073674174728612, 121.56246343327264 31.073684217446594, 121.56244724793795 31.07369368389787, 121.56129269099496 31.07432461707026, 121.5607510510827 31.07397792583363, 121.56058710687951 31.07377150544254, 121.55924218323304 31.07321731056234, 121.55912755263483 31.073382754592913, 121.55917959617898 31.074042256606866, 121.55935846091887 31.075480849872918, 121.55937680733821 31.07556243627568, 121.5604806736954 31.077082772639187, 121.56354330367006 31.0796993360825, 121.56909050820059 31.08109084711459, 121.57245752893135 31.081821985752793, 121.5735610126426 31.08212392097722, 121.57459010723674 31.082428049934684, 121.58181090121954 31.08610593674923, 121.57863933837727 31.086547091393605, 121.57310694756265 31.088241304316483, 121.56811359397251 31.08993422043849, 121.56789108121214 31.090077447729467, 121.5676808536647 31.090093870854204, 121.56576477661542 31.08975020727945, 121.56376973072035 31.08913020550178, 121.56352970269597 31.089045753526115, 121.56350715724624 31.08903448322266, 121.56284244865014 31.088701874496763, 121.5625207885831 31.088462093906557, 121.56134909662076 31.087548949184622, 121.56002222629836 31.086523375142864, 121.55992480911391 31.086463290868146, 121.55972637866692 31.08652588145968, 121.55672794205263 31.088742256062076, 121.55663080931942 31.088835402145772, 121.5547080889476 31.09280483742351, 121.55481861652038 31.092925972960323, 121.55815211575054 31.09626506277807, 121.5625145342614 31.097736876140775, 121.5635961373227 31.098045606775514, 121.56604007743059 31.098288837610976, 121.56787442950903 31.09816237647321, 121.56835307113765 31.09800878896168, 121.5691495076842 31.097990302754, 121.56996236263107 31.098014810401793, 121.57264403452348 31.098588703853075, 121.57312224498618 31.098755068456974, 121.57386783983921 31.099284330054502, 121.57326189506723 31.103010185278244, 121.57326064918104 31.103015434290995, 121.56971347362781 31.107796089955386, 121.56970975471877 31.10780709106154, 121.56970505578629 31.107817816229424, 121.5675345331096 31.112034205312906, 121.56504105784326 31.114789940116058, 121.56567989989577 31.116565903684624, 121.56663492503809 31.117327088113814, 121.56653294567337 31.117660536512297, 121.56448803914219 31.119385609753873, 121.56448664281332 31.11938685049461, 121.56448524648499 31.119388091233407, 121.56448385105422 31.119389326571696, 121.56448244934644 31.119390567306482, 121.56448104853627 31.11939180264076, 121.56447824153692 31.119394274203128, 121.56447542915959 31.119396740358887, 121.56447402297195 31.119397970284705, 121.56447120611442 31.119400431929925, 121.56446838387892 31.119402887268667, 121.56446413573433 31.119406559014216, 121.56446130453739 31.119409005335335, 121.56445987773066 31.11941022624279, 121.56445703577688 31.119412661754208, 121.56445560986853 31.119413882655834, 121.56445275805461 31.11941630825722, 121.56445133214828 31.119417523754297, 121.56444990086199 31.11941873924901, 121.56444704456905 31.119421160335374, 121.56057460445629 31.120138666283946, 121.5584555372045 31.11979798017775, 121.55567970431277 31.119109499455117, 121.55617463663728 31.11841809600354, 121.55677926561977 31.1174738858879, 121.55675373872658 31.117439706511753, 121.55672762140426 31.11740585708457, 121.55670092619366 31.117372349355282, 121.55667364505592 31.117339185927502, 121.55664579590061 31.117306377688376, 121.55661738053179 31.117273935409695, 121.55658840791116 31.117241863615764, 121.5565588834219 31.117210167704958, 121.55652880707879 31.117178856635547, 121.55649819321232 31.117147936770472, 121.55646705257385 31.117117416246845, 121.55643537980983 31.117087296784824, 121.55640319551385 31.117057593792506, 121.55637050327925 31.11702830995614, 121.55633730401578 31.116999452440755, 121.5563036084745 31.116971025785073, 121.55626943009051 31.116943039047854, 121.55623476887865 31.11691549848814, 121.55619963648401 31.116888403254173, 121.55616404097381 31.116861773163457, 121.55612798862437 31.116835600126116, 121.55566102645903 31.116502035247255, 121.55563547776008 31.116483890508118, 121.55560941669799 31.116466310684498, 121.55558286296316 31.11644929230441, 121.55555582819686 31.11643285432724, 121.55401242014133 31.115523357370524, 121.55202347678934 31.115738074385167, 121.55203689468941 31.115756108505465, 121.55204989078989 31.115774373704323, 121.55206245972224 31.115792854638222, 121.55207459612022 31.115811555759745, 121.55208629461457 31.11583045182699, 121.55209755698941 31.115849548268702, 121.55210836625818 31.115868835014638, 121.55211872867197 31.115888296845082, 121.55212863886454 31.11590793371221, 121.55213808700047 31.115927741020776, 121.55214707307425 31.115947698083996, 121.55215559708301 31.115967810309456, 121.55216364472169 31.11598805775628, 121.55217122403033 31.116008435119504, 121.5521783269625 31.11602894232058, 121.55218494815081 31.116049559513268, 121.55219109206155 31.116070285852, 121.55219674349745 31.11609111308252, 121.55220191318018 31.116112024228304, 121.55220659574512 31.116133021037125, 121.55221078672021 31.1161540872693, 121.55221448610347 31.116175218430023, 121.55221769299908 31.11619640911467, 121.55222039757265 31.11621763942581, 121.55222261054841 31.116238910380318, 121.55222432656228 31.11626021472484, 121.55222554114322 31.11628153441719, 121.55222977175752 31.116366321431457, 121.55223063762784 31.11638740702357, 121.55223097703755 31.116408496902924, 121.55223079981847 31.116429592074375, 121.55223010596855 31.116450665543145, 121.55222888476268 31.116471714494992, 121.55222714245738 31.116492737195486, 121.55222488709641 31.116513714832294, 121.55222211152936 31.11653463203002, 121.55221881754531 31.116555497802754, 121.55221500782564 31.116576288780397, 121.55221068594625 31.116596994199224, 121.55220585190891 31.116617614054558, 121.55220050660868 31.11663813845285, 121.55219465451536 31.11665854674036, 121.55218830010028 31.11667883985846, 121.55218144336497 31.116699002503697, 121.55217409056827 31.116719030236595, 121.55216624081883 31.116738912242365, 121.55215789858755 31.116758633263913, 121.55214906924056 31.11677819514962, 121.55213975367423 31.11679758530279, 121.5521299652978 31.116816791260433, 121.55184491752522 31.11735154303362, 121.55184362081192 31.11735380987867, 121.55184219540402 31.117356020429344, 121.55184065470709 31.11735816943279, 121.5518390005086 31.117360252409153, 121.55183722655258 31.11736226479071, 121.55183534803206 31.117364199544586, 121.55183336584082 31.11736605398067, 121.55183128891593 31.1173678272964, 121.5518291074268 31.11736950948618, 121.55182684192874 31.1173711061729, 121.5518244915278 31.117372601150027, 121.55182205711812 31.117373999825684, 121.55181954763663 31.11737529869802, 121.55181697380766 31.117376490685512, 121.55181433116302 31.11737757753846, 121.55181163310829 31.117378558503443, 121.55180888500544 31.1173794192419, 121.55180608774856 31.117380174160264, 121.55180325563676 31.117380813516846, 121.55180038866985 31.117381327413675, 121.55179749221033 31.1173817303061, 121.5517945751952 31.117382014193538, 121.55179164834877 31.117382181892804, 121.55178871256454 31.117382224415564, 121.551785775886 31.11738214724877, 121.55178284456896 31.11738195046097, 121.5510302576818 31.117224643736364, 121.55102721245174 31.117223833166644, 121.55102415203507 31.117223077304576, 121.55102106749659 31.11722238684509, 121.55101796687799 31.1172217555818, 121.55101485285999 31.11722118444517, 121.55101172276254 31.11722068330219, 121.55100858283964 31.11722023692789, 121.55100543309203 31.11721986061898, 121.55100227351932 31.117219544477457, 121.55099910948275 31.11721928766512, 121.55099593472796 31.11721910180749, 121.55099276980602 31.117218974543537, 121.55098959595263 31.11721890835696, 121.55098642120971 31.11721890693936, 121.55098324647103 31.117218975699927, 121.55098007709734 31.11721909940358, 121.55097691308903 31.117219292447334, 121.55097375355254 31.117219551221602, 121.55097060831643 31.11721986594178, 121.55096746933899 31.11722024461359, 121.55096434466223 31.117220693628312, 121.55096122981809 31.117221198537678, 121.55095813463556 31.117221768453085, 121.55095505464689 31.117222397924287, 121.55095198985215 31.11722308785121, 121.5509489545477 31.117223843797557, 121.55094593354343 31.11722465928972, 121.55094293845525 31.11722553536156, 121.55093996749599 31.117226471092827, 121.55086707223383 31.11729551650595, 121.55085544800308 31.11731126518658, 121.5508438389773 31.117327023848787, 121.54978020181098 31.118093528156685, 121.54977930759006 31.118094157832868, 121.5497775191485 31.118095420782907, 121.54977722167062 31.11809562768254, 121.54977663028788 31.118096050523402, 121.54977544305606 31.11809690154847, 121.54977515004461 31.118097118400275, 121.54953770823026 31.118678649056324, 121.54900391276831 31.12013529383708, 121.54896606574533 31.120375825700695, 121.54891784122712 31.122104068976054, 121.54617679475696 31.121479871463443, 121.5460107944886 31.1212175625074, 121.54600682046193 31.12121068188893, 121.54600318837147 31.12120366669407, 121.545999904463 31.121196531409957, 121.54599696694937 31.121189281411073, 121.54599438743102 31.12118194025857, 121.54599217037061 31.121174510716855, 121.54599031576355 31.12116701528084, 121.54311432982819 31.122488378127056, 121.54310966962234 31.122492943473166, 121.54156103018894 31.123871692767167, 121.53777864925425 31.12422328982008, 121.53685541653229 31.124010069828334, 121.53624731007689 31.123847429943005, 121.53174541282715 31.122415203287098, 121.52934619905034 31.121472257307648, 121.52632141177847 31.121677456528964, 121.52209092108124 31.1208762907106, 121.52122429471967 31.120789522929286, 121.52121361331075 31.12079573016402, 121.5206645797911 31.121114858895478, 121.52055375350878 31.12140218602037, 121.52031377734146 31.122160798004753, 121.52023312002927 31.122461959831522, 121.52015546655124 31.12352691295298, 121.52006072763061 31.1237487505278, 121.51917439254554 31.125123286563575, 121.51786125838134 31.127045089699497, 121.51289108798647 31.126092182991226, 121.51226475144543 31.125609200308663, 121.51188065293819 31.125276320842225, 121.51051939543854 31.123744773862004, 121.51086920742802 31.1223341075556, 121.51087140887356 31.12232577687243, 121.51087375978805 31.12231748056328, 121.51087626554448 31.122309209638374, 121.51087891539714 31.122300979381198, 121.51088171919372 31.122292783506737, 121.51088467245526 31.122284633707434, 121.51088777428929 31.122276519186595, 121.51089102648342 31.122268448945228, 121.51089442277105 31.12226042477643, 121.51089796315237 31.122252444882292, 121.51090164762407 31.12224452096078, 121.51090548155918 31.12223664222328, 121.51090945421215 31.12222882395376, 121.51091357185122 31.12222105536475, 121.51091782910397 31.122213341849758, 121.51092222507205 31.12220569420614, 121.51092676602393 31.122198100747127, 121.51093144031849 31.12219057855489, 121.51105443012749 31.12201934687939, 121.51176865448267 31.12102508190234, 121.51047184502187 31.12027431230589, 121.50813620730426 31.12029573053637, 121.50662662056735 31.12429088996434, 121.50585203030926 31.126471849847537, 121.50516496729647 31.127003812047043, 121.49881287608483 31.126426845804428, 121.49841456074564 31.127155233118156, 121.49669764009278 31.129999365040522, 121.49594528897104 31.13048993499355, 121.49593564902361 31.130495602000334, 121.49592567957636 31.13050082894785, 121.49591542106776 31.130505603622833, 121.49590489326819 31.13050991767844, 121.49589413033321 31.130513749085427, 121.49588315832112 31.13051709301218, 121.49587200149331 31.13051994464963, 121.49586070028906 31.130522292679128, 121.49580734244374 31.13053086871704, 121.49260203492364 31.129825499242195, 121.49217963465675 31.128803152571503, 121.49218063184277 31.12781251671384, 121.49207629314512 31.1276509157241, 121.49190722451995 31.127436200267216, 121.491661067105 31.12717988780987, 121.48840446580489 31.124367471826865, 121.48764452349936 31.12382032236617, 121.48604773249573 31.122954200522152, 121.48477496173844 31.12062594035129, 121.48605856169478 31.119300126410344, 121.487841784986 31.1164693756085, 121.48641576033447 31.115729965708624, 121.48575394875158 31.115774451906333, 121.48506135183791 31.11723433394015, 121.48394014117306 31.116618604854313, 121.48393703154824 31.11661239452288, 121.48393404258174 31.11660614665245, 121.48393116886993 31.116599841556635, 121.48392841491626 31.11659350433817, 121.48392577621846 31.11658712878954, 121.48392326268156 31.11658071650891, 121.48392086440035 31.11657426229811, 121.48391859038031 31.116567779471183, 121.48391643791976 31.116561259984426, 121.48391440972014 31.116554707381923, 121.48391249677746 31.11654813264385, 121.4839107143993 31.116541525561317, 121.48390904727789 31.11653489004415, 121.48390750982105 31.116528232997993, 121.4839060975266 31.116521552714445, 121.48390480499181 31.116514851102714, 121.48390363852003 31.116508130733926, 121.48390259721094 31.11650139342592, 121.48390168556709 31.116494638187298, 121.48390089368327 31.116487870617842, 121.48390022786317 31.116481090589588, 121.48389969711123 31.11647429791943, 121.4838992861199 31.116467497417258, 121.48389900029163 31.116460684474337, 121.48389883962723 31.11645387348743, 121.48389880862882 31.116447056266853, 121.48389890369465 31.116440240084277, 121.48389912392389 31.116433416859635, 121.48389946841672 31.11642659650915, 121.48442336941733 31.115610717836514, 121.4843267126596 31.115391827676014, 121.48373662865266 31.115208631505347, 121.48372812764906 31.115205992706258, 121.48371948079871 31.115203702436, 121.48371071961769 31.115201754654798, 121.48370184770855 31.1152001546892, 121.48369289118666 31.115198911006097, 121.48368386896236 31.115198025020423, 121.48367480174684 31.115197494510923, 121.4836657003468 31.1151973246565, 121.48365659267759 31.115197514888113, 121.48358721693423 31.115199721524313, 121.48357607769331 31.115200474480698, 121.48356502317353 31.115201941109326, 121.48355410830709 31.11520412478618, 121.4835433952273 31.11520700534366, 121.48353294607014 31.11521058060999, 121.48352282837051 31.115214814108594, 121.48351309075548 31.115219691344652, 121.48350379986047 31.115225179458005, 121.48349499890757 31.11523124696648, 121.48348674372654 31.11523786482935, 121.48347907933892 31.11524498533026, 121.4834720507682 31.11525257874907, 121.48346570753735 31.115260587379215, 121.48346006675334 31.11526897757272, 121.48345518064072 31.1152776924678, 121.48345106630482 31.115286686719447, 121.48344775345807 31.115295909326335, 121.48344525109955 31.115305306112024, 121.48344357993537 31.115314819961817, 121.4834427498652 31.115324397582096, 121.4834427707893 31.115333987479517, 121.48344363279408 31.115343525069704, 121.48344533677555 31.115352970742777, 121.4834478710183 31.11536225365375, 121.48345122110854 31.11537133090825, 121.48345536812812 31.115380145307384, 121.48353204787165 31.11597556246497, 121.48340704504771 31.11713979146857, 121.48340625450953 31.117146185433565, 121.48340500830065 31.117152539240013, 121.48340331542555 31.11715882301082, 121.48340117768495 31.11716501961366, 121.48339860498369 31.117171095554056, 121.48313885020497 31.117696253886358, 121.48312788931311 31.11771816605645, 121.48311650332113 31.1177399214387, 121.483104702134 31.11776151983389, 121.48309248485023 31.117782957666012, 121.48307985777285 31.117804213215223, 121.4830668245028 31.117825302608452, 121.4830533751332 31.117846199960695, 121.48303953127608 31.11786691562957, 121.48302528572624 31.11788743447216, 121.48301065018988 31.117907751753652, 121.48299562376519 31.11792786119927, 121.48298021185452 31.117947764502734, 121.48296441986034 31.117967444462085, 121.48221778876214 31.118892111431066, 121.48084028236809 31.120480227763, 121.48066031194848 31.12036024145815, 121.47873692997517 31.118030777908324, 121.47874944147192 31.117763300797996, 121.47885867196783 31.117378388316784, 121.47436875400297 31.117481196000394, 121.47167021427475 31.11834191429799, 121.47499853706783 31.12246249483461, 121.47664725737918 31.12781731386882, 121.47654560177037 31.129854772065126, 121.47568510215729 31.13271401907296, 121.47270488720443 31.13675649075919, 121.4693279636118 31.139315361760232, 121.46858875059004 31.13987497167394, 121.46753097380129 31.141107707945235, 121.46693067632094 31.14180706840992, 121.46436960203167 31.145081051117618, 121.46426418533227 31.14574962476179, 121.46381177911233 31.148618890457207, 121.46368485697917 31.15067422533497, 121.46365638631157 31.15113537001311, 121.46488202084832 31.154677656281727, 121.46788587183177 31.157217626650137, 121.46804400460218 31.157339436804417, 121.4680882179649 31.157373491705506, 121.46874190005387 31.15787686784528, 121.474213303355 31.16247135980851, 121.47493115185924 31.164513767099503, 121.47538124084427 31.165794045881945, 121.47568398022848 31.1666550434333, 121.4754541639217 31.168388989099547, 121.47534548843556 31.169209297024658, 121.47514667324448 31.170710638248167, 121.47190359802266 31.18137006260733, 121.4714909884381 31.184339484353906, 121.47342553500224 31.18788230953159, 121.47898480494159 31.19221358786383, 121.48190963082611 31.193895877590727, 121.49502166952877 31.196889572285535, 121.50003590104158 31.198036453378393, 121.50258439547612 31.199285972722993, 121.50557502145165 31.20234916005844, 121.5071557650052 31.204461514304352, 121.51226360797378 31.211309195040876, 121.51505621013521 31.2162661486968, 121.51648002601614 31.221484284599693, 121.51503521312675 31.226265209586384, 121.51227848704777 31.22962163810842, 121.51108048478373 31.230793538814392, 121.50445695517398 31.237289385643514, 121.50089172178451 31.240732823029848, 121.49946308904418 31.24326926606839, 121.49942504363618 31.2456099435855, 121.50151008027464 31.248009135253955, 121.50377958736534 31.248811790172837, 121.50622963591722 31.25002682347415, 121.51107897047017 31.251710577279816, 121.51227507060626 31.252129719916255, 121.52296133913221 31.25288732123441, 121.53040878284614 31.252821991493928, 121.53925536610878 31.254341743943975, 121.54539964816429 31.25720713426067, 121.55187637683325 31.261300471057808, 121.56453426581928 31.270774530779452, 121.56823716018414 31.27413612841295, 121.57213272182186 31.277653958970948, 121.57214860239237 31.277680293873694, 121.57417256245144 31.28103366779217, 121.57526686979686 31.28358439943015, 121.57554644251933 31.28804545722012, 121.5751033848213 31.291306319433527, 121.57468885743728 31.292531686030696, 121.5735955671659 31.29576448610274, 121.56996501172571 31.302347284015426, 121.56776538312565 31.30973682630423, 121.5685378470443 31.31969821355801, 121.56823429005567 31.328845438468946, 121.56502105601375 31.337562457824998, 121.56224777353108 31.340673956942954, 121.56191024526964 31.340992041293063, 121.5610093672624 31.341799488500357, 121.56063740266923 31.34205264403507, 121.56026033113514 31.342299968597416, 121.55987826614606 31.3425414528281, 121.55949141681339 31.342776922468552, 121.5590998884734 31.3430064541348, 121.55870368415668 31.343229874871444, 121.55830311663988 31.34344708288354, 121.55789807973811 31.343658077824283, 121.55748889678591 31.343862769405913, 121.55668450846801 31.34424130357051, 121.5514632292542 31.345926542522104, 121.54563318724841 31.34775320094729, 121.54102733433974 31.348726731937827, 121.53440838736866 31.35144831306549, 121.53192439619016 31.352716242954724, 121.52752058210653 31.354848991216986, 121.52332539597771 31.35714248841541, 121.51630426600224 31.361469296588698, 121.51402117297299 31.363616585832492, 121.51253152108563 31.365338078813355, 121.51139372166435 31.36686811586905, 121.50979613174825 31.37101034846433, 121.50965408559539 31.375204663537485, 121.5103033227016 31.37984673087231, 121.51126048619611 31.383428591649537, 121.51569716597658 31.38873837730715, 121.5203645804302 31.392526909221743, 121.52114419108642 31.393134323632218, 121.52271940627892 31.394175070513352, 121.52671817467892 31.3951736116006, 121.52671881345353 31.39517377148996, 121.54142926308508 31.401182818523296, 121.54888076212126 31.411130515711655, 121.68611262541617 31.34400140681558, 121.69912596642398 31.337571470879467, 121.70118383148544 31.336542306131392, 121.70512008192652 31.334565910493232, 121.71538642103592 31.329379812647876, 121.76090302447793 31.314106526926842, 121.77244234052084 31.310455553827488, 121.79686016245522 31.30269275566132, 121.84316004473685 31.286827341033884, 121.86213392325428 31.280280041475372)), ((121.89592376782606 31.24844944626327, 121.89701171994696 31.24839825200849, 121.89781580940745 31.248532207510305, 121.89802742382335 31.248614237886375, 121.89971674750468 31.248645521390465, 121.91955289189951 31.24265233259881, 121.93183293886725 31.23504446548656, 121.93331084075693 31.232936701558703, 121.93426275745418 31.227216926284214, 121.93409097292239 31.220949577248366, 121.93374804806191 31.219587251914948, 121.93362566696953 31.218766530586212, 121.93318816108604 31.21766902909684, 121.93297986322337 31.216820134406447, 121.93282886802487 31.216042320647873, 121.93239861352565 31.215023029916086, 121.93230574510464 31.214848113102388, 121.92857397091142 31.209822456649828, 121.92511133470535 31.205105645545746, 121.91875283828044 31.205331128451494, 121.9118809236155 31.20861558997597, 121.91182527729053 31.208643662526825, 121.90411371256945 31.213832289919047, 121.88563534213762 31.235876855134592, 121.88376527827094 31.244295871219034, 121.88378269321085 31.247780779295827, 121.88425568771036 31.24826348525099, 121.88558453724913 31.249300603321128, 121.88584780516294 31.249441340250293, 121.8862497820104 31.249780724956857, 121.88647156442991 31.249953827616178, 121.88864221178622 31.25090871980498, 121.89262965845997 31.25033330842065, 121.89327425907994 31.249852626158454, 121.89592376782606 31.24844944626327)), ((121.98708484142514 31.23109704731122, 122.00708182385749 31.22639540125595, 122.01886490524552 31.22665057597706, 122.0338860767069 31.22693929346464, 122.03807416502134 31.22527850879884, 122.04626893164053 31.22019165487496, 122.04874764142278 31.216956847065294, 122.05064863903593 31.2083829530223, 122.05044365122806 31.20693442330982, 122.0504886497556 31.206808315475612, 122.05039131313863 31.20514160065977, 122.04953424438531 31.199034597444093, 122.04337472114216 31.186081586652858, 122.03836404172652 31.173790924156005, 122.03760297097067 31.17272078239116, 122.03592490425203 31.17116511511332, 122.03551326275091 31.170938052369966, 122.03550990702588 31.170936202453667, 122.03453285352639 31.170396590901923, 122.03360502035028 31.16995474737241, 122.03257019245841 31.169974740106923, 122.03229639343095 31.170891428846062, 122.03217743794832 31.171289748014686, 122.0322235104672 31.171868077340182, 122.03194251855335 31.172051061586163, 122.03042046649354 31.172406638583865, 122.02983756386043 31.172396509716872, 122.0294307354515 31.172028922485442, 122.02836106935246 31.171223890594415, 122.02762867830977 31.17081004575031, 122.02718460893617 31.170558949411387, 122.02640045504177 31.169900983043174, 122.02565187270129 31.169886147733152, 122.02497462730142 31.169908197189017, 122.02436862263464 31.170288584931054, 122.02429251462391 31.17074395118302, 122.02422588949801 31.171142636757125, 122.0240831874681 31.172032389824842, 122.02365540307127 31.173130466454495, 122.02287133624611 31.17379245659447, 122.02151720438702 31.17433485740595, 122.02060379551878 31.174488218374258, 122.0200114047075 31.172056919786527, 122.01966754497369 31.170645055795625, 122.01936670798457 31.169409482070822, 122.01706977729344 31.163085143329305, 122.01622741026354 31.162427260617058, 122.01110506742029 31.159664342313047, 122.01073173474218 31.159370142958384, 122.00955623397502 31.158523996002714, 122.00759623631082 31.157912289884035, 122.00595628622472 31.157879794951025, 122.00456570004344 31.157746258363762, 122.00121242857358 31.157973166701126, 122.00047095723882 31.158332068761105, 121.99467597514682 31.15877182032225, 121.98456317430444 31.16214027250772, 121.97536767874618 31.16556674912164, 121.97447779576811 31.16572182079536, 121.97372413694671 31.16576439102691, 121.97264720944901 31.16609634917041, 121.97174944666634 31.166855696768398, 121.97103110027561 31.16768499092612, 121.96981008920461 31.168127985837266, 121.9691635248281 31.16863597681651, 121.96765479453674 31.16951285303441, 121.96692427141238 31.170258061406727, 121.96690222518484 31.170280551209167, 121.96478034899123 31.17244662383015, 121.96432825633794 31.173576620644763, 121.96159244040656 31.17739655189672, 121.95641892056429 31.181292984867085, 121.95182443598526 31.18899045226998, 121.9507641526063 31.19134667218094, 121.95057619936887 31.191391746290616, 121.95026521799993 31.19173022116263, 121.94994258438267 31.19242602689696, 121.94958391324649 31.19294380874451, 121.94909369168428 31.193558916758757, 121.9486273453839 31.194054502465985, 121.9482447725515 31.194501073982238, 121.94804163108138 31.194837633228722, 121.94770740252996 31.195747706023063, 121.94754008416552 31.19597651759455, 121.94734877612477 31.196134249958124, 121.9471814523406 31.19633922583062, 121.94690673266625 31.196843475163327, 121.94664408247505 31.19743085701758, 121.94636952068892 31.19805410629311, 121.94613077792803 31.198581538979383, 121.945963604851 31.19889357866633, 121.94599976563661 31.199154979123506, 121.94578524727103 31.199943958371907, 121.9455341715441 31.200078602835386, 121.94528320751076 31.200308465972597, 121.94521181287183 31.2006666804252, 121.94555942569424 31.201340301083246, 121.94605069880024 31.20208317272133, 121.94647010629639 31.202707947343654, 121.94703299094395 31.20319949150741, 121.94747617016378 31.203609405560353, 121.94791385424598 31.20392584460834, 121.94911045335382 31.204790474201964, 121.94896937041744 31.207515581890718, 121.94744102606275 31.21077814457672, 121.94534025533807 31.215572025429783, 121.94476930749754 31.219009052628227, 121.94577730351148 31.223293802704873, 121.95088152066222 31.23352165023573, 121.95155321029009 31.234178141072732, 121.95194333884054 31.23455938102432, 121.95338037636671 31.23539207720954, 121.95486545242184 31.236176078249233, 121.9564464350077 31.236386985314407, 121.95814614629198 31.236902740078317, 121.95941702895257 31.237288575397923, 121.96037530090244 31.237605799969057, 121.96248344920298 31.237571312592895, 121.96449562259946 31.23715890297818, 121.96641172700816 31.23674961850681, 121.96899794654634 31.236333486725083, 121.97076949464494 31.23554996086243, 121.9725473866421 31.234964463210567, 121.98708484142514 31.23109704731122)))'),
+ (26805,'POLYGON ((121.34275906892444 31.301172076332755, 121.34071757718974 31.299504739017667, 121.33953517404612 31.29728300130909, 121.33660038748877 31.296501124003886, 121.332768690896 31.295219446527184, 121.33231616956321 31.293651828883483, 121.33287520174206 31.292274761404293, 121.3335903606016 31.291515794042173, 121.33539850140775 31.290853877639893, 121.33956646761001 31.288636714016206, 121.34147403599997 31.28600691057913, 121.34174967467455 31.283494057931463, 121.34251341227461 31.281866227709397, 121.34461104027166 31.2791458723322, 121.3499610581747 31.277599683670335, 121.35105922201018 31.28006082073809, 121.37392953047366 31.275415062415536, 121.37356421861061 31.274796113127703, 121.37387101653862 31.274000247023768, 121.37386781844992 31.273112474813665, 121.37386821291969 31.27309805303065, 121.37386835077808 31.27308362939021, 121.37386823201764 31.273069212887094, 121.37386786748509 31.273054798912387, 121.37386724722775 31.273040402859895, 121.37386638029467 31.27302600934573, 121.37386526215913 31.273011628311178, 121.37385731339518 31.272989291528628, 121.37384883228678 31.272967105094164, 121.37383981882198 31.272945078912283, 121.37383027208459 31.272923223796873, 121.37382020743257 31.27290153870147, 121.37380962123474 31.272880038966328, 121.37379851166662 31.27285873991377, 121.37378689950248 31.272837646738747, 121.37377478473468 31.272816763052294, 121.37376216282614 31.27279610600514, 121.37374904823223 31.272775672763085, 121.37373544092907 31.27275548582774, 121.373721350853 31.272735543311814, 121.37370677888794 31.272715862311223, 121.37369174400733 31.272696439945566, 121.37367623082973 31.272677293480758, 121.37366026645472 31.272658427147558, 121.37364384364041 31.272639850032512, 121.37362697954485 31.272621568268967, 121.37360967234702 31.272603591786634, 121.3735919373954 31.27258592943622, 121.37357377016562 31.27256858218133, 121.37355520136396 31.272551564107903, 121.3735362092916 31.272534881757203, 121.37351682557264 31.272518533014267, 121.37349704476165 31.27250253864117, 121.37347688131564 31.27248689400474, 121.37345633521599 31.27247161441311, 121.37343542814679 31.272456697854373, 121.37336592566975 31.272407123845305, 121.37311801551002 31.272455056612376, 121.36943277808915 31.273188560609793, 121.36829909021685 31.273412291438362, 121.36800189793439 31.27343434851064, 121.36780289997931 31.273424626159187, 121.36655880547971 31.272865208567215, 121.3655025396314 31.26938932953005, 121.3682284171371 31.265915633121327, 121.36825329963062 31.265886141228634, 121.36827938805527 31.265857417186638, 121.36830665341245 31.26582949832959, 121.36833505946977 31.26580241849521, 121.3683645699975 31.26577620882303, 121.36839514695242 31.26575090497504, 121.36842674324491 31.265726543637665, 121.36845933440758 31.26570315308772, 121.36849286430949 31.26568076563785, 121.3685272894906 31.2656594071271, 121.36856257191006 31.265639112312723, 121.36859866901844 31.265619901621328, 121.36863551927404 31.265601792140497, 121.36867309187097 31.26558482301893, 121.36871133160645 31.265569005854683, 121.36875017964734 31.265554366683318, 121.36878960340778 31.26554091588662, 121.36885128654166 31.2655212413616, 121.36887324915848 31.265514326688535, 121.36889542736954 31.265507949036387, 121.36891779585058 31.265502103361097, 121.36894033469348 31.26549679713639, 121.3689630393664 31.265492037626576, 121.36898587368474 31.265487828027315, 121.36900882859912 31.265484171165003, 121.36903188782516 31.265481069064172, 121.36905502784532 31.265478521147685, 121.36907822694161 31.265476537606457, 121.36910148059984 31.265475108610207, 121.37240471887 31.263367019625715, 121.38111815722874 31.262671545592756, 121.3812555251201 31.26298970506337, 121.3815098400482 31.263792606056125, 121.38172365098949 31.264898472068626, 121.38202018829739 31.265123639699905, 121.38387453135331 31.2651407666836, 121.38590328158344 31.264607016829466, 121.38651036535926 31.264332494529157, 121.38759135393167 31.26340278941679, 121.38384988410232 31.253504972925693, 121.38232530025033 31.250035681585647, 121.37896533603372 31.249430094191943, 121.37846337628967 31.249686711656082, 121.37715751255779 31.25061704586254, 121.3720512262309 31.250354701550965, 121.36673395425204 31.246170857850412, 121.36291134762172 31.244764635053123, 121.3610789942367 31.24338762845379, 121.36068237513624 31.2432127537434, 121.36044799754451 31.24358977802768, 121.35939799959432 31.244415889881854, 121.35879453625572 31.24472973580066, 121.3552073631614 31.245367847443717, 121.35519673814237 31.245369735038153, 121.35572244843028 31.24750754702295, 121.35606357739769 31.247481099662053, 121.35659886857785 31.247826220871495, 121.3562058321864 31.248901314783804, 121.3561149670334 31.249121570346336, 121.35604464800932 31.249197153226902, 121.35582845704134 31.249322047051017, 121.35518478791202 31.249635458687223, 121.3547602944497 31.24973896918311, 121.35473247631528 31.249728151284064, 121.35470492562827 31.249716853768184, 121.35467765687301 31.249705086284347, 121.35465068000853 31.249692853161545, 121.35462401042989 31.24968015503787, 121.35459764451109 31.249666996474495, 121.3545716148464 31.249653392209368, 121.35454591328732 31.249639336985886, 121.35452055432089 31.249624835056437, 121.35449555333322 31.249609902352706, 121.35447091937989 31.24959453872233, 121.35444665879209 31.249578757553, 121.35442278153569 31.24956255058088, 121.35439929665527 31.249545936545033, 121.35437622498023 31.249528915092984, 121.35435355654141 31.249511496292218, 121.35433131125617 31.249493690600794, 121.35430949908617 31.24947549695216, 121.3542881308895 31.24945693045675, 121.3542672003224 31.249437996622706, 121.35424673273886 31.249418700418573, 121.35422672451068 31.249399050005167, 121.35420719374581 31.249379052273646, 121.35418814224903 31.24935871619195, 121.35416957453955 31.249338056079228, 121.35415150510862 31.249317068093625, 121.3541339393758 31.24929577553472, 121.35411688187021 31.24927417473022, 121.35410034345294 31.249252275393737, 121.35409538463693 31.249233579482617, 121.35409065677679 31.2492148301607, 121.35408615080807 31.24919604107598, 121.35408187669486 31.249177208461226, 121.3540778280975 31.249158332424532, 121.35194348008683 31.248784355565913, 121.34776296905122 31.24632438211332, 121.34778955955419 31.246277749145637, 121.34745355819489 31.246142008506606, 121.34458379429431 31.24409551902861, 121.34457701329501 31.24409067902836, 121.34373221654113 31.243487201151734, 121.34305075743087 31.243000028294038, 121.34084288075586 31.241419100671514, 121.34122560255149 31.239147410999028, 121.3409433804301 31.23863643421098, 121.33964564686461 31.237911343110735, 121.33884466768785 31.23767381053601, 121.33864488709015 31.23761448236845, 121.33485375867564 31.236481770390917, 121.33249404533204 31.235877987448205, 121.3289951203055 31.23587587063112, 121.32725651114923 31.23545658761613, 121.3258600418291 31.23465300099713, 121.32505793010542 31.2341904104136, 121.32251427108554 31.233647652549273, 121.3201240582531 31.2335376574772, 121.31933805460235 31.233732453609466, 121.31702763753988 31.23494963523707, 121.31632109687904 31.235142594378704, 121.31616729478837 31.23518075441384, 121.31613342692084 31.23518915399766, 121.31444409948855 31.235607041178906, 121.3111650679065 31.236272893359807, 121.30663343776959 31.236937683579647, 121.30569319228782 31.236802561869624, 121.30552339987553 31.236778112881492, 121.30436532509651 31.23689037938823, 121.3025765179342 31.23754173043801, 121.30079237443887 31.238237387449153, 121.30001621011581 31.23853983288835, 121.29953714743614 31.23876301713055, 121.29871988088594 31.239143701536804, 121.2987153598555 31.2391506470224, 121.29484937327763 31.2447405153685, 121.29401828167292 31.246692032455833, 121.29217667060985 31.25020362665591, 121.29118821021281 31.250544431769647, 121.29107451725159 31.250617423805707, 121.29107611065733 31.250619250354127, 121.28924141135134 31.2550085031478, 121.28982898773138 31.255837830408307, 121.2903125321381 31.2566996982266, 121.29077970682687 31.257634463143315, 121.29041254241916 31.257788342372088, 121.28998339415872 31.2579320631134, 121.28968298918267 31.25797444796333, 121.28311327851819 31.258662299724392, 121.27495657116812 31.257698794773503, 121.27137647060785 31.261895153093008, 121.27148742926452 31.26204291501749, 121.27103970949227 31.262290326240393, 121.26273097591795 31.264816432950315, 121.26108030040017 31.26522832080172, 121.2610814536767 31.26523178473626, 121.26095410274411 31.26525992010745, 121.26074898527379 31.26443992213586, 121.25756637848859 31.263942515458208, 121.25309684130022 31.26416093443219, 121.24873552919091 31.265141076564202, 121.24874387948155 31.265177616643193, 121.24784790737871 31.26534203553727, 121.24705581573578 31.26572090835961, 121.24540989765893 31.267192519015808, 121.24433889733972 31.26783824542953, 121.24305652572725 31.268342926282767, 121.2429375316272 31.26836840026973, 121.24174278673492 31.268624391841982, 121.24069768151496 31.268548566460353, 121.23813085983785 31.26844118569815, 121.23627216107789 31.268615275739325, 121.23514986731892 31.26878628450447, 121.23460228267889 31.268869712073908, 121.23351059366333 31.26875406470069, 121.23095412105407 31.267870142921232, 121.23017848014544 31.26761172523835, 121.23016901443073 31.267609545003463, 121.22993305713307 31.26755518765227, 121.22998539025733 31.26740074327034, 121.22652511173223 31.263462568265737, 121.22580590245757 31.26201152767578, 121.22509958151592 31.259957691027765, 121.22473367159286 31.2595794462062, 121.22402453454113 31.25953833147908, 121.22048721080586 31.260576132046264, 121.21974216511417 31.262114248044178, 121.22057432048778 31.26238689961451, 121.21875801478048 31.266028681880236, 121.21724916574411 31.267470778727592, 121.21725234878689 31.26748185366122, 121.21588203286497 31.267786957005328, 121.21552194355596 31.26778565911591, 121.2150048591085 31.26778359091723, 121.21448824496518 31.267536962305527, 121.21312024984739 31.266590305845803, 121.21286084007717 31.266323776030365, 121.21122288465428 31.265095421241483, 121.20901015111929 31.263431042455984, 121.20869861506164 31.263565418689275, 121.20867465705516 31.263523969564353, 121.2037650032313 31.260214190127712, 121.20230406435864 31.257593818148884, 121.20115930248365 31.25740258660904, 121.19965555458128 31.25754259533448, 121.19926305886314 31.25835963643795, 121.19882484533589 31.259388555187783, 121.19891547681844 31.25942413577816, 121.19906201558213 31.25948729121998, 121.1991588625267 31.2595648935152, 121.19928758085817 31.259690897216878, 121.19931897074596 31.25973426754989, 121.1993207568896 31.259834386516317, 121.19923186261673 31.26010271828207, 121.19877239732116 31.260491752209937, 121.197345276971 31.26087889550681, 121.1951436188935 31.261321376701446, 121.19462103579546 31.26109601248407, 121.19461029285924 31.26109043715737, 121.1945998537172 31.261084448978398, 121.1945897478958 31.26107805452455, 121.19457997627478 31.261071268204162, 121.19457057821778 31.261064104781884, 121.19456157429782 31.26105657435161, 121.19455296270326 31.26104869849299, 121.194544785479 31.261040495594745, 121.193728369544 31.260282496333822, 121.19376878361335 31.260143859714436, 121.19431066266353 31.260182534844777, 121.19431945263285 31.259878627954425, 121.19416090671467 31.25914686794136, 121.19409150806912 31.2590227146833, 121.19397844861332 31.25892469796519, 121.19380566882462 31.25884200550759, 121.19362629174267 31.258779123300027, 121.19333091583553 31.25868999621825, 121.19303177447098 31.258611245348956, 121.19273227093045 31.258558072976577, 121.19046421715328 31.25821135558276, 121.19045845054646 31.25821729060598, 121.18813148736209 31.260610464893425, 121.1881362957223 31.26062950067952, 121.18813932052805 31.260648790754406, 121.1881405359722 31.260668201645935, 121.1881399367981 31.260687611852802, 121.18813752937795 31.260706892832065, 121.18813332276459 31.26072591877065, 121.1881273528235 31.260744570515723, 121.18812382616396 31.260752878331044, 121.18746741741202 31.260988162340887, 121.18647814017417 31.260461544001704, 121.18628429070357 31.260348170641187, 121.18618826522193 31.260252193156962, 121.18613464863019 31.260135924997574, 121.18611640323749 31.26001885542037, 121.18541205692796 31.260101133076088, 121.18458147273326 31.260634065810823, 121.18457578126133 31.260638078275928, 121.18457035759377 31.260642364737738, 121.18456523658791 31.2606469113474, 121.18456041378549 31.260651707243632, 121.18410997779046 31.2611327865101, 121.18330248409782 31.261601148884786, 121.18026499808141 31.263437300768285, 121.18012511133833 31.263339062448704, 121.18008564616771 31.263297557893992, 121.17944765044943 31.262594263886857, 121.17900574037755 31.26208957619795, 121.17507222035208 31.26207365066128, 121.17486078748954 31.262561642859307, 121.17481971037449 31.262656450209278, 121.17478996069948 31.262738680284933, 121.17476831410383 31.262821229486576, 121.17458464453945 31.26378979409105, 121.17469797346911 31.265577538094735, 121.1746669801046 31.266419743531543, 121.17426760958215 31.26833697074372, 121.17039560102387 31.27297637660509, 121.16841310738457 31.27472029446758, 121.16515003432639 31.276149018083174, 121.16366962659701 31.27670247615483, 121.1632993039463 31.276102164511396, 121.16233037403808 31.274487118428866, 121.16218320777644 31.27414216997031, 121.16244697550192 31.273957943538115, 121.16260164078027 31.27387941683568, 121.1618110808812 31.272087238992665, 121.15898595934314 31.272829649860473, 121.1584520476309 31.27360189209514, 121.15856040349306 31.274776262147984, 121.15968852389754 31.278155245855555, 121.16027305695258 31.282300628014777, 121.16031820222739 31.282302424811647, 121.16030840126778 31.282551161589552, 121.16045924515558 31.282581146116407, 121.16043345958136 31.282682993181275, 121.16184505469523 31.284172005840407, 121.16757076747881 31.287976795158343, 121.16770259359022 31.289360028595144, 121.16771890576808 31.290015244817035, 121.16762177082595 31.29026417300622, 121.16665237281273 31.29221463998734, 121.16590244125868 31.29325727301948, 121.16533210220472 31.293775371625777, 121.16480712286355 31.293931305650922, 121.16451588851395 31.293927691025846, 121.16450553001243 31.29384888461062, 121.16458886719705 31.2932536281103, 121.16458755151258 31.29313758691107, 121.16398458020208 31.29311527738385, 121.16260140487243 31.293104053666912, 121.15916330257768 31.296163553751907, 121.15768706566864 31.29769430024429, 121.15762191082707 31.298012015939776, 121.15743961365236 31.29967164042976, 121.15799450274542 31.299679624399335, 121.15752844772057 31.305667377410927, 121.15497901376054 31.309056481537407, 121.15006006172725 31.31560163059056, 121.14896364117155 31.3147362362617, 121.14542518465002 31.311890052685172, 121.14531127364535 31.31148830946415, 121.1455868282777 31.310921271250432, 121.14584351368205 31.310364455527466, 121.14598180235353 31.30977319050368, 121.14549870873832 31.308655717373526, 121.13988826128835 31.307941876498855, 121.13663942717756 31.308332105597326, 121.13650115443257 31.308371056096693, 121.1359480480801 31.309288371056727, 121.13560007063002 31.312120914888556, 121.13557144446885 31.312784538259063, 121.13562232118569 31.313167485827787, 121.13567660748365 31.313477288675042, 121.13611706493208 31.314099600476702, 121.13612590165778 31.31436823690333, 121.13474411193626 31.32184358508108, 121.13467409013225 31.322073365727466, 121.13457940440244 31.322384056339466, 121.13440983899 31.322682862728758, 121.1343301681933 31.3227651455516, 121.13420938870678 31.322795799543506, 121.13624071949701 31.32806172426952, 121.13967455943234 31.33153807107528, 121.13988968691866 31.331814099152915, 121.13998412909582 31.33208322138092, 121.13999690107647 31.33569234056119, 121.13998572017015 31.33597191106656, 121.13980064726545 31.336195353502696, 121.13967090689843 31.33633584870348, 121.13852840945944 31.337341092045847, 121.13680569380067 31.342693359143095, 121.13697096677969 31.344552477632888, 121.13712177839972 31.347614917519216, 121.13687738717705 31.34996602833233, 121.13684954601374 31.35001867793219, 121.13678989195039 31.350057218416364, 121.13657967436558 31.35007664973938, 121.13446804436754 31.349752405959684, 121.134074631534 31.349634264884642, 121.13367094604165 31.349510084011143, 121.13352243856295 31.34942485708341, 121.13305126577337 31.349241037008248, 121.13269464803251 31.349145889106524, 121.1322291045388 31.349074200498393, 121.13154877892147 31.348998072781622, 121.12871030434357 31.349007389504912, 121.12485461309043 31.349521836299846, 121.12426044514724 31.349617445681858, 121.1241141472515 31.349648965917783, 121.1240527072575 31.34979756620531, 121.12356063816522 31.35296053384443, 121.12358789340598 31.353235105294345, 121.12365791944754 31.353429926308987, 121.12466667859431 31.353507381022016, 121.12621498900552 31.353785665615447, 121.12629039019217 31.353816065805276, 121.12626865671207 31.35395013942093, 121.12622448885722 31.35405082827999, 121.1241335956426 31.357363877594672, 121.12404950687197 31.35748187579411, 121.12350548939773 31.358100324761303, 121.12154692966564 31.35749727829834, 121.120689665069 31.35721631370417, 121.12050961439883 31.357146282345155, 121.1197353027983 31.35688738132788, 121.11939078601692 31.356777776653985, 121.11906072516203 31.35668996018478, 121.11875532007592 31.356634960147055, 121.11862601824383 31.356637343286874, 121.11518477690696 31.357089448255383, 121.1146004853512 31.357883479662906, 121.11417380024591 31.359048386255107, 121.1136285252929 31.361214415005982, 121.1135447454731 31.361571022092935, 121.11357943701319 31.363547387735895, 121.11421501401428 31.3655558776497, 121.11389017642281 31.368421340777473, 121.11361287081347 31.369088669053458, 121.11311682237276 31.37073831924185, 121.11310842031152 31.37101520034754, 121.1130759213363 31.372849559034805, 121.11539310644406 31.370916619789053, 121.1154823543141 31.370869069649665, 121.11724818854877 31.37088485695548, 121.11952708578174 31.371460679717107, 121.12690163185343 31.374952079603357, 121.1265725724245 31.37552495475083, 121.12630364976435 31.375933229168368, 121.12601829273764 31.376218490707828, 121.12531451405869 31.37690922249142, 121.12512826787894 31.37695643205537, 121.12508226984217 31.37696558802343, 121.12500575578214 31.376968085293225, 121.12494450260775 31.376966018851263, 121.12476068772895 31.376930526459958, 121.12450797708604 31.376879496969828, 121.12440075398304 31.376852801332916, 121.12415566646226 31.376799525055038, 121.12397206187279 31.376768590852347, 121.12376500197398 31.376740010291602, 121.12361953560321 31.376729260132915, 121.12152049627859 31.377279056867422, 121.12060196777949 31.379108773920414, 121.1204223553409 31.379522546402978, 121.12022664056649 31.380375521149034, 121.12036778679621 31.380475460489908, 121.1291662313947 31.384007815682015, 121.12947305512336 31.384122640206424, 121.12962337373784 31.384171013168114, 121.12987242205455 31.384239309945308, 121.12993625787685 31.384099981595604, 121.13025921117536 31.383395095845362, 121.13050779865331 31.382945025463226, 121.13067252166967 31.382701060137627, 121.13084093258668 31.382507158006597, 121.13093855368867 31.38241414647263, 121.13138825222362 31.3825567709997, 121.14443901995107 31.386990184108676, 121.1545888948987 31.39124940161513, 121.15537499550888 31.392855579349913, 121.15537414080276 31.3929113020073, 121.15337834810072 31.395596647268274, 121.15283015718882 31.396289392493127, 121.15228220592651 31.39683813839015, 121.15199279185055 31.397121351041303, 121.15194715661157 31.397143054699832, 121.15135368234147 31.397396116346446, 121.15191510690983 31.399633609680713, 121.15538620720508 31.406398530642523, 121.15646074105757 31.408014267363086, 121.16006361565098 31.412182895719315, 121.16356937601871 31.4134909945394, 121.16396414503114 31.413889769653395, 121.1650532321622 31.4160540557916, 121.16499634432552 31.416204291034934, 121.16486566270314 31.416447707392823, 121.16477639098542 31.41657686048997, 121.16403735173326 31.417071573889068, 121.1583942362311 31.420268200419073, 121.15561051682762 31.421490318906322, 121.15504465189537 31.42195368284861, 121.15502963044779 31.421969149095705, 121.15499907772666 31.422042918171165, 121.1541616362629 31.425805341476842, 121.15449287838447 31.427261750124728, 121.15983589952198 31.431256305129843, 121.16142295400434 31.431754816938835, 121.16404021148954 31.43168137721323, 121.16580719421486 31.431280550446377, 121.1658827038753 31.431278222571986, 121.16600427424594 31.43131105940136, 121.16736181054405 31.43184023998952, 121.1674983216918 31.43189390465317, 121.17088774415205 31.43326647163247, 121.17089526444619 31.437336911825945, 121.16842002527781 31.438334339746223, 121.16781098835514 31.438232645072027, 121.16662548417524 31.438126318701862, 121.16600817203651 31.438097050399012, 121.16536972267353 31.438105706571044, 121.1642189684848 31.438218775990645, 121.16416023272713 31.43822840919185, 121.16306065600028 31.438410905244716, 121.16178614859885 31.438635982493963, 121.16062521181294 31.4388741005237, 121.15979897464824 31.439087995938806, 121.15904657317957 31.439326165102866, 121.15821937396339 31.439599381339583, 121.15736912920069 31.440012421427806, 121.15661732738508 31.44038543501575, 121.15597182874217 31.44073868566705, 121.15561499707215 31.440967716287943, 121.15508333673012 31.44133521322824, 121.15457460508024 31.44171696777451, 121.15433919082611 31.4419083231043, 121.15410376123745 31.4421177611766, 121.15345807104919 31.44277690866096, 121.15330630715268 31.442940820349712, 121.15314678606808 31.44311587147203, 121.15300262074142 31.443293499415283, 121.15299495762424 31.44331816506055, 121.15278370190617 31.44484993903015, 121.1532017481943 31.447358372420403, 121.15410381276216 31.449158685729135, 121.15413425449931 31.449177339989895, 121.16776994774408 31.45539069511902, 121.17226087380809 31.456429659372052, 121.17232153597165 31.456433814999137, 121.17466960940305 31.454933604360473, 121.17902876157315 31.455239361215888, 121.17957211124933 31.455285359466437, 121.1801675751759 31.45538732326686, 121.18098566760544 31.455647827757186, 121.18161447876669 31.45588969512659, 121.18533871509956 31.457435457988883, 121.18836868046654 31.45871746049948, 121.19187982001552 31.46067889029588, 121.19199793223804 31.46077121428606, 121.19207167319848 31.460858335750636, 121.19212368738073 31.461073890865652, 121.19212526423219 31.461130315071387, 121.19207774841976 31.461323938949008, 121.19184482147489 31.46178342838379, 121.19146750423121 31.462563315098848, 121.19132734736911 31.463258383906368, 121.19135093060468 31.463348297615205, 121.1922179767077 31.46636744072838, 121.19502035044452 31.469418754362817, 121.19639569656954 31.47075312711689, 121.1996561508601 31.47364983991285, 121.19991302475262 31.473851768578847, 121.20046184608599 31.474129363251116, 121.20149032582962 31.474486431210174, 121.20172605214766 31.474442265246847, 121.20204418528012 31.474382569980055, 121.20313187534511 31.474350632197964, 121.20322332307407 31.474352064543663, 121.20339052827165 31.47437044282735, 121.20387005903629 31.474467926815905, 121.2041669281548 31.474533213632444, 121.20439537333644 31.474592908228118, 121.20882023955622 31.47600228785569, 121.20893453551615 31.476053038356092, 121.20904131825387 31.47610144224337, 121.20913295125894 31.47616998525479, 121.20921662068622 31.476242949990567, 121.2092929214971 31.476340636345434, 121.2093385882823 31.47644254090681, 121.2093845098067 31.476600796893237, 121.20939959285714 31.476722695930334, 121.20939951530559 31.47676102338887, 121.2093889505918 31.47683622985405, 121.2091567190111 31.477523452398398, 121.20905661037261 31.477976996551355, 121.20904294780095 31.478224414174903, 121.20907117421899 31.47839452194807, 121.2090957697921 31.478483760828944, 121.20911890822475 31.47856515476538, 121.20924840731973 31.478717019427997, 121.20940652656687 31.478856519811806, 121.21213018608502 31.480969157043592, 121.21310685420973 31.48171369425563, 121.2139939873509 31.48235622719872, 121.21445874281576 31.482673715540017, 121.21533810962933 31.483190102437014, 121.2159191211631 31.4834349788213, 121.22004110838637 31.485162523269558, 121.2202879408141 31.485258144087428, 121.22056934227417 31.485337472392573, 121.22094093841459 31.485344630155744, 121.22110658582201 31.485326884154215, 121.22123058199733 31.485156030515505, 121.22138448949602 31.484608935954345, 121.2213553629428 31.484335286604924, 121.22121662031975 31.4840007046096, 121.22090548427043 31.4836649761679, 121.22018211591694 31.483126873264474, 121.21964940455129 31.48254151082849, 121.21977932016377 31.482316032702816, 121.21983291728442 31.48226870943492, 121.21992470558625 31.482221398174815, 121.22005438299615 31.48218986480627, 121.22029138613705 31.482160588254605, 121.22490271609713 31.48165987718752, 121.23176832374624 31.482556142028926, 121.2364096093823 31.48341937322412, 121.23650149533451 31.483445877755504, 121.23657037543025 31.483501816742827, 121.23666234708341 31.483627513131285, 121.23672354265389 31.483773684976413, 121.23674637851866 31.483838922393304, 121.23680010430076 31.48399640777369, 121.2368383255355 31.48418780255272, 121.23686906182469 31.4843566979935, 121.23688406533289 31.484622621234497, 121.2369145123214 31.485386669372367, 121.23692929121745 31.48680455298828, 121.23691379012146 31.48712701182701, 121.23687534659383 31.487271516191218, 121.2367986361533 31.48743203296159, 121.23676816097559 31.48748857264714, 121.23671434044572 31.487506928755735, 121.23650004128393 31.487564572224628, 121.2362548848007 31.487613387826755, 121.23588703771541 31.487658434358924, 121.23564195737168 31.487686960095502, 121.23542738734761 31.487724315030704, 121.23531247965381 31.487779114245743, 121.23522042525968 31.48782925926801, 121.23512102033798 31.48788395996743, 121.23504428851825 31.4879610611195, 121.23502264551192 31.48798599039269, 121.23497542154023 31.488040376749474, 121.23491418933395 31.488151199835276, 121.23489096407928 31.488225730204512, 121.23488317763717 31.488286644656284, 121.23489081104934 31.488385784251697, 121.23494461621405 31.488520718482317, 121.23505152687538 31.488673365267747, 121.23906054620632 31.493656030766584, 121.23916529146756 31.493780758501597, 121.2432799596889 31.497812291917548, 121.24698660676601 31.4993689792921, 121.24732915251184 31.49948114307025, 121.24749847069845 31.499515839200324, 121.24771037119889 31.499532408146155, 121.24786463277613 31.499527059678556, 121.24802671951366 31.49949961198777, 121.24818458055276 31.499418097046547, 121.24823892620914 31.49936613278769, 121.24833856879515 31.499158538731248, 121.25025981351838 31.493344409063113, 121.2502675368344 31.49323620118242, 121.25026025529675 31.49294993331686, 121.2502295170029 31.4928350010905, 121.25015337862612 31.49257810651242, 121.24988843044883 31.49176464954528, 121.24981723085527 31.491546088869047, 121.25094492588073 31.48737472534779, 121.2537016676607 31.482889016129466, 121.25374957473818 31.482838592606914, 121.25385135145847 31.482784196984266, 121.26725796318694 31.483649161254448, 121.26732659668208 31.483654665224197, 121.26741063678683 31.483662660719556, 121.26747166036928 31.483670321969033, 121.26753247529314 31.48368925343177, 121.26757840545915 31.483712474864582, 121.2676318900031 31.483753854090363, 121.26779377013447 31.483892269377126, 121.26809602747623 31.48455089053059, 121.26827302240895 31.485166641777745, 121.2683017919248 31.486137126191, 121.26840103348643 31.486499070713514, 121.26860154057042 31.486759015067012, 121.2739271274276 31.490784092944335, 121.27698949073287 31.49074756433732, 121.27701247697028 31.490730075920577, 121.2770201159299 31.490725755956575, 121.27834554154494 31.489992020606458, 121.27836071866837 31.489987893929662, 121.2786568734935 31.490042931122083, 121.28122242328777 31.490917932015567, 121.28263764105036 31.491631711339995, 121.28447736430167 31.493603834469912, 121.2866286565256 31.495535848164963, 121.29037004288216 31.4955787346639, 121.29622183217604 31.494689504682277, 121.29983677054548 31.49554483939018, 121.29995087139517 31.495580232168628, 121.30131192412841 31.496074383972772, 121.30145618072042 31.49612877892354, 121.30475697542109 31.49742725991206, 121.30477212792327 31.49744127458202, 121.30711225995358 31.501703613152237, 121.30735561351139 31.502965014732037, 121.309174218135 31.503264854515454, 121.30944215824627 31.503230388453062, 121.31564931809082 31.49871649764452, 121.31664777292109 31.496013593136762, 121.316488633852 31.4939281042011, 121.31859387302394 31.489345935449087, 121.32236409569566 31.48756189092966, 121.32265646095848 31.487584450092644, 121.32511807523818 31.482320045359362, 121.32517969673374 31.481800697412286, 121.32522680406545 31.48138942057324, 121.32516458982961 31.48098908365808, 121.32485209579808 31.48069510160282, 121.3233131290753 31.480158736955357, 121.3228188872327 31.48004777094489, 121.32226490861281 31.47995229082846, 121.32122619416796 31.479235327694404, 121.32068801390147 31.478825201743593, 121.3206138554778 31.478534803680805, 121.32367406192394 31.470487820473004, 121.32407923654908 31.466464754254975, 121.32498356655917 31.463409885537626, 121.32512514992725 31.46308169330159, 121.32633314538404 31.4611116836074, 121.32768923748017 31.461267502123643, 121.3310725178252 31.459796260871855, 121.33332083931661 31.457428862017107, 121.3336650909505 31.456599447368863, 121.33366722978268 31.456594269269356, 121.33366924306213 31.45658905672268, 121.3336711362017 31.456583804303243, 121.33367289837507 31.4565785228642, 121.33367453500036 31.456573212378103, 121.33367604065843 31.45656787197391, 121.33367742619554 31.456562512392743, 121.33367867625091 31.456557123817483, 121.3336797962613 31.45655172601431, 121.33368078982323 31.456546302770068, 121.3336816533264 31.456540855903285, 121.33368238137567 31.45653540973445, 121.33368214074169 31.456515137560704, 121.33368184500726 31.456494860269466, 121.33368149959986 31.45647458772953, 121.33368109367898 31.456454315498313, 121.33368063175553 31.45643403905382, 121.33385036328191 31.4550280035053, 121.33384846682122 31.455018893901393, 121.33384613786544 31.45500985766961, 121.33384338276008 31.455000918166615, 121.33384021143945 31.454992075336378, 121.33383661761484 31.454983360699433, 121.33383261212278 31.45497477329436, 121.3338282058159 31.454966327454965, 121.3338234023336 31.454958049249424, 121.33381820349244 31.454949947660264, 121.33381263729486 31.454942028832097, 121.33380669021007 31.454934306326713, 121.33378395717911 31.45490479782085, 121.33365553380663 31.454910157160118, 121.33260324162939 31.454972191407006, 121.33459117444471 31.44735514724061, 121.33486810168058 31.446852395894258, 121.33527536309826 31.44659130194491, 121.3358007749233 31.446306370985113, 121.33768938965822 31.445928508951248, 121.33820983551873 31.446018069140553, 121.33957871075637 31.446328923511032, 121.33959820165562 31.446334308289956, 121.33961777826023 31.446339446267732, 121.33963744057708 31.44634434283925, 121.33965718769772 31.44634899351145, 121.33967702053243 31.446353402770203, 121.33969692280102 31.446357566280028, 121.33971689631768 31.44636148851822, 121.33973693925289 31.44636514970566, 121.33975704710699 31.44636856878096, 121.33977721082942 31.446371737736897, 121.33979743404261 31.446374661032557, 121.33981770769289 31.4463773279619, 121.33983802094059 31.446379748532706, 121.33985838462745 31.446381913633207, 121.33987878338027 31.446383822521323, 121.33989921721152 31.446385485992852, 121.3399196806899 31.446386898704432, 121.33994016385792 31.446388050861394, 121.3399606730613 31.4463889567932, 121.33998119110929 31.446389607681134, 121.34000173427293 31.446389997955873, 121.34002227724251 31.44639013687998, 121.3400428200256 31.446390031651852, 121.34006337255076 31.446389665071553, 121.34008391583963 31.44638904813637, 121.34010444807241 31.446388170968717, 121.34012496926005 31.446387043466792, 121.34014547126428 31.446385666617292, 121.34016595226849 31.44638403324256, 121.34018252969791 31.446370325610896, 121.34019883924975 31.446356390281448, 121.3402148727718 31.44634221745337, 121.34023062937497 31.446327823342028, 121.34024609911211 31.446313210762657, 121.34026128649832 31.44629837607807, 121.34027618793056 31.44628333463245, 121.34029078712247 31.446268081211077, 121.34030508498091 31.446252620313025, 121.34031908513748 31.446236967205103, 121.34033277944087 31.44622111298639, 121.340346156147 31.446205071289064, 121.34035922157898 31.44618883755581, 121.34037196942093 31.446172427159667, 121.34038439062203 31.446155835708346, 121.34039648971651 31.446139076658643, 121.3404082567564 31.446122151926055, 121.34041969625326 31.446105054272472, 121.34043079466433 31.446087806346707, 121.34044155559704 31.446070400920096, 121.34045197906798 31.446052855096166, 121.34046205149716 31.44603515733269, 121.34047177651662 31.446017322894303, 121.34048115413063 31.445999357187077, 121.34049017439492 31.445981265724726, 121.34055550327858 31.44584701849624, 121.340564979274 31.4458262645431, 121.34057370529884 31.445805283866292, 121.34234357311641 31.441187651623622, 121.34283812333983 31.439567717620744, 121.3431192967221 31.43761119462941, 121.34304994505945 31.436118658839728, 121.3430384488305 31.436047785692537, 121.34303613690399 31.436034332995618, 121.34303340794337 31.436020945836816, 121.3430302710018 31.436007629498402, 121.3430267324261 31.43599439739399, 121.34302278044734 31.435981241571522, 121.34301842685461 31.435968189771568, 121.34301367074579 31.435955243801523, 121.34300852750603 31.43594240706298, 121.34300298268495 31.4359297058268, 121.34299704984537 31.435917130020677, 121.34299072990606 31.43590469312484, 121.3429840328316 31.43589240670603, 121.3429769586367 31.435880285155076, 121.34296951275026 31.435868327498852, 121.34296170422708 31.43585653991652, 121.34295352945858 31.43584493234501, 121.34294500203137 31.43583351900412, 121.34293611833182 31.435822304431912, 121.34292689193427 31.435811290251575, 121.34291733461994 31.435800495203946, 121.3429074454845 31.435789918394526, 121.34289722906001 31.435779566958022, 121.34288669078828 31.435769453416338, 121.34287585148168 31.435759579302037, 121.3428647057226 31.435749954573623, 121.34285326799174 31.435740582642484, 121.34284153921064 31.435731479686005, 121.34282953384722 31.435722635619758, 121.34281374968229 31.43572268668416, 121.3427979601068 31.435722713361123, 121.34278217507267 31.43572271552649, 121.34276638553095 31.435722691493275, 121.34275060143044 31.435722637538593, 121.3427348119185 31.435722558295925, 121.34271902694817 31.435722454541178, 121.34270324742239 31.435722324463732, 121.34268746339112 31.4357221699863, 121.34267167846798 31.4357219856654, 121.34265589899464 31.435721780419914, 121.34264011501072 31.43572154537547, 121.34262433556783 31.435721284918685, 121.34260856157037 31.4357209990385, 121.34259277672966 31.435720683436877, 121.34257700728631 31.435720342289034, 121.3425612279087 31.43571997590686, 121.34254545941009 31.43571958943256, 121.34252969001496 31.435719167715266, 121.34251391521438 31.43571872610587, 121.34249814675994 31.435718254562683, 121.34248237742278 31.435717762171763, 121.34246661352715 31.435717239858178, 121.34245084874036 31.435716687699284, 121.34243508488024 31.435716114670257, 121.34241932103363 31.43571551178456, 121.3424035617282 31.43571488348556, 121.34238780787388 31.435714235160738, 121.34237204860517 31.43571355704516, 121.3423347583355 31.435708343055385, 121.34229754303236 31.435702752035013, 121.3422604135314 31.435696763162362, 121.34222338884467 31.435690392407917, 121.34218645448205 31.435683624656594, 121.34214963579132 31.435676479402822, 121.34211292281073 31.435668946875857, 121.34207633092184 31.435661031396222, 121.3420398537919 31.43565273394671, 121.34200350770156 31.435644053440097, 121.34196729717736 31.43563499522902, 121.34193122221329 31.435625554823176, 121.34189528824382 31.435615741164018, 121.34185950973617 31.435605549590353, 121.34182388217043 31.43559498556387, 121.34178841549007 31.435584043578526, 121.34175310880171 31.435572738050894, 121.34171798380028 31.43556105524047, 121.34168302964126 31.43554900878211, 121.34164825175043 31.43553659952312, 121.34161366368856 31.435523821918174, 121.34157926274456 31.43551068140959, 121.34154506249233 31.43549718684916, 121.34151105749433 31.43548333021532, 121.34147726494152 31.43546911941949, 121.3414436821182 31.43545455540644, 121.34141031625249 31.435439632708093, 121.3413771664563 31.435424372042775, 121.34134424265596 31.435408751716547, 121.34149129900507 31.433950845224576, 121.34157183989622 31.433703317634254, 121.34244124839255 31.43152862767685, 121.34343472250036 31.428075446046808, 121.34367740623236 31.427012163971757, 121.34385484758896 31.425975295580546, 121.34386210840118 31.42572344904265, 121.34386958139397 31.425441053241236, 121.34259938662419 31.425389114448457, 121.33926798973316 31.42320659623644, 121.33906721832739 31.42157862070457, 121.33940383203958 31.42131639318645, 121.34018675418619 31.42054931350513, 121.34038251521669 31.42001340346405, 121.33957650555108 31.416913569147436, 121.33701041490357 31.416595117769653, 121.33648160573559 31.41664353440443, 121.33600866901129 31.416919754642095, 121.33527678927045 31.417686782882207, 121.3349594840959 31.417956810047933, 121.33491217277967 31.41799707012506, 121.33475118303934 31.418134042229934, 121.32989745379848 31.41655566583508, 121.3205101975447 31.413424258224342, 121.3205269643351 31.413089414564556, 121.32091558236843 31.405360909325903, 121.32099355733972 31.40507471241437, 121.32111716560692 31.404756697442718, 121.32123876677664 31.40468407139346, 121.3214007289347 31.404587326115994, 121.32306160840659 31.404292748131045, 121.32461093477346 31.404070697134422, 121.32496428747557 31.40407655053259, 121.32559383392336 31.403953201666027, 121.32780439855911 31.403092509308372, 121.32924657541406 31.402258483864795, 121.32975286626994 31.401162661002278, 121.32978030823733 31.400171017727715, 121.32966251941885 31.40014004276682, 121.32979099879799 31.39978506440585, 121.32947711500194 31.394846933017952, 121.33291260434449 31.387456646100258, 121.33294720866974 31.387468242156125, 121.33306599830071 31.387215559349926, 121.33482181673341 31.38701478412949, 121.33631340179132 31.38391095860511, 121.33889421208755 31.38025994294276, 121.34272232688095 31.374837690273726, 121.34224509590842 31.372741866934824, 121.34231139149134 31.372776708863817, 121.34374566111076 31.370818601042934, 121.34697213978593 31.366550860432433, 121.34758537957127 31.36554352114381, 121.3481506747808 31.364108875136523, 121.34804853985709 31.363984471407882, 121.34598786468692 31.362826794428184, 121.3461901212587 31.36256885979466, 121.34396813193895 31.358929846395743, 121.34285449567365 31.357876302835162, 121.34206787115296 31.357311674869244, 121.34195605350874 31.357299008108214, 121.34145440411761 31.35726681591375, 121.34050272268931 31.357419659877824, 121.33977813876459 31.35747467294408, 121.33896354476909 31.357405677023387, 121.33874770130548 31.357336059126162, 121.3391137347935 31.353256871420218, 121.34316237332263 31.351755795853023, 121.34606653111028 31.349809510313232, 121.34639154566206 31.349967700824084, 121.34686416683003 31.349274227021716, 121.34759371683386 31.3487295665139, 121.34872225909889 31.34754226721136, 121.34871278686794 31.34753577092423, 121.34884992181715 31.347406749191336, 121.34887548808756 31.347414854252726, 121.35085159260626 31.34804078939659, 121.3516886155198 31.345493675316813, 121.35218560854344 31.3439807297308, 121.35228885958797 31.343112334850208, 121.35214659525957 31.34282466219238, 121.35196973842214 31.342626040093695, 121.35037591142448 31.342157323037902, 121.3493022349875 31.341324756607868, 121.34806935915715 31.339571858688053, 121.34878031257786 31.337148210480617, 121.3494425432154 31.335843073000575, 121.35056947300035 31.33417557739222, 121.35113656320624 31.334408855673825, 121.35115566807588 31.33441671251115, 121.35342317364717 31.331541285018858, 121.35396106123682 31.330213630078315, 121.35273788667541 31.329975995603217, 121.35267830627018 31.330248157321822, 121.35242870123001 31.330167121152243, 121.35188316329095 31.329960315777555, 121.35118363864244 31.329679497472025, 121.35134177720128 31.328742122688617, 121.35142833114195 31.32839988387301, 121.35201639055889 31.326956476799186, 121.35328184394865 31.327071533198676, 121.35557108565317 31.32727898926043, 121.35557812535716 31.327000143295127, 121.35551526316301 31.326528686197474, 121.35534877232773 31.32625537089932, 121.35516107343567 31.326023838338628, 121.35489833253624 31.325944825030785, 121.35465223974319 31.32587495109845, 121.35445373646688 31.32580939338681, 121.35214649761402 31.322813172649166, 121.35212237255791 31.322825741819926, 121.3520981976611 31.322838256790316, 121.35207399828666 31.322850722536483, 121.35204975722144 31.32286313304402, 121.3520254871464 31.32287548990073, 121.3520011762975 31.322887801399833, 121.35197683009322 31.322900053051512, 121.35195244311193 31.32291225574331, 121.35192802621519 31.322924403894135, 121.35190357397472 31.3229365020923, 121.35187908729743 31.322948551221252, 121.35185457432706 31.322960544845333, 121.35183603695693 31.322966145358752, 121.35181739244946 31.32297147759135, 121.35179865257801 31.322976541346222, 121.35177981733104 31.3229813258231, 121.35176089577666 31.322985841669116, 121.35174189786596 31.32299007881893, 121.35172281454322 31.32299403742105, 121.35170367116949 31.322997720654023, 121.35168445595839 31.323001116112803, 121.35166518523069 31.32300424152434, 121.3516458598765 31.32300708247427, 121.35162648261279 31.323009638916595, 121.35034631271836 31.32317653524017, 121.34905877354619 31.32186118344221, 121.34676346263853 31.31872785730524, 121.34532982764013 31.316031367784678, 121.34322818411229 31.31196720045654, 121.34068775443075 31.309568978120772, 121.34064565578073 31.309545147213484, 121.33912697287576 31.30868453648681, 121.33771637025511 31.30781068904996, 121.33775202161908 31.307768945655805, 121.3376772792097 31.30771912388462, 121.33943716035796 31.30402892465095, 121.34060972969858 31.30234794247885, 121.34252739634363 31.303281573851695, 121.34337322235228 31.30297129097372, 121.34389303752783 31.302274695109986, 121.3440639216341 31.30177812339948, 121.34360022337904 31.30148526174748, 121.34329056557962 31.301335355511053, 121.34327222152447 31.301326655307623, 121.3432537527319 31.301318141830805, 121.34323515740003 31.30130983489318, 121.34321644095336 31.301301719125266, 121.3431976052042 31.301293799897966, 121.343178652871 31.301286087069226, 121.3431595857609 31.301278570714377, 121.34314041292434 31.301271256112717, 121.34312112893625 31.301264151426366, 121.34310174012808 31.301257248473114, 121.34308225011969 31.301250547203015, 121.34306266525013 31.30124406192768, 121.34304298551451 31.301237776447927, 121.34302320458482 31.301231703436024, 121.34300333783854 31.30122583099739, 121.34298338618778 31.301220178911354, 121.3429633541526 31.301214733621293, 121.34294323178409 31.30120950334636, 121.34292303989088 31.301204484222698, 121.34290277123556 31.30119967633796, 121.34288243305983 31.301195088595488, 121.34286201993096 31.30119070666431, 121.34284155085554 31.30118655009799, 121.34282101226039 31.301182610065876, 121.34280041771454 31.301178880097567, 121.34277977355502 31.301175370008597, 121.34275906892444 31.301172076332755))'),
+ (26804,'POLYGON ((121.54888076212126 31.411130515711655, 121.54142926308508 31.401182818523296, 121.52671881345353 31.39517377148996, 121.52671817467892 31.3951736116006, 121.52271940627892 31.394175070513352, 121.52114419108642 31.393134323632218, 121.5203645804302 31.392526909221743, 121.51569716597658 31.38873837730715, 121.51126048619611 31.383428591649537, 121.5103033227016 31.37984673087231, 121.50965408559539 31.375204663537485, 121.50979613174825 31.37101034846433, 121.51139372166435 31.36686811586905, 121.51253152108563 31.365338078813355, 121.51402117297299 31.363616585832492, 121.51630426600224 31.361469296588698, 121.52332539597771 31.35714248841541, 121.52752058210653 31.354848991216986, 121.53192439619016 31.352716242954724, 121.5293770214043 31.348408559627405, 121.52421037116545 31.346422416362266, 121.52245537862551 31.34723736194223, 121.51810454427668 31.34938944723443, 121.51229040257203 31.35157655621724, 121.51226652199108 31.351585593373244, 121.51205599969289 31.351373622741853, 121.51142026373934 31.350551707046947, 121.50246359267545 31.339023432817847, 121.50019734088306 31.335874811569283, 121.50430734558047 31.333528818724563, 121.50554153207487 31.3312292807982, 121.50554780367221 31.331217408440285, 121.5055534574398 31.33120530285675, 121.50555847728452 31.331193000097343, 121.5055628542655 31.331180519086143, 121.50556657854845 31.331167881451464, 121.50556964478768 31.33115511600377, 121.50557204315297 31.331142248873014, 121.50557376828746 31.33112929897354, 121.50557482650377 31.331116301371598, 121.50557520617195 31.331103276809067, 121.50557490822025 31.33109025497744, 121.50557393715106 31.331077255656506, 121.50557228941692 31.33106431485748, 121.50556997309803 31.33105144604934, 121.50556699002419 31.331038685224392, 121.50556334828653 31.331026056652497, 121.50555905417487 31.331013576513215, 121.50555411310695 31.331001284387582, 121.50554853853963 31.330989193728616, 121.50554234125589 31.33097733239934, 121.50553553203731 31.330965727363683, 121.50552812433811 31.33095439027766, 121.50552013971006 31.33094336156091, 121.50551158622052 31.330932644793688, 121.50550248093437 31.33092227591566, 121.50549284717293 31.33091227374329, 121.5054827055603 31.330902649905198, 121.50414806855748 31.32994938069739, 121.50278481561577 31.329323587825986, 121.50277239752428 31.32931426094335, 121.5027604086015 31.32930452094536, 121.50274887218944 31.329294382956153, 121.50273781432615 31.329283866580642, 121.50272723502633 31.329272981702083, 121.50271716391714 31.32926174880058, 121.50270760639889 31.32925018132265, 121.50269858133585 31.329238300721915, 121.50269010489906 31.329226126671035, 121.50268218696884 31.32921366808744, 121.50267484192783 31.329200950056293, 121.50266808057755 31.329188003987085, 121.50266190740395 31.32917482803759, 121.50265633679035 31.329161448194963, 121.5026513804315 31.329147893165075, 121.50264703654857 31.329134174650044, 121.50264332042377 31.329120321332894, 121.5026402383558 31.329106349361457, 121.50263778409229 31.32909228217028, 121.5025908231583 31.32875160302309, 121.50279055332823 31.326365051375255, 121.50305354561486 31.322431006223727, 121.50322850601576 31.317278272128835, 121.50263821962714 31.31708921110971, 121.50194901941022 31.317093009343264, 121.49920533912511 31.317135158554958, 121.49663537828403 31.317208481532216, 121.49247715130092 31.317335366330692, 121.4919096576915 31.317255704237798, 121.49204010113907 31.31776641383765, 121.4920293050927 31.320473321358108, 121.4919376771183 31.320482882750156, 121.49164989832967 31.320512964020423, 121.47948586638104 31.321745599888736, 121.4748213678486 31.322100118496472, 121.47491195015887 31.32313645670045, 121.47472380330815 31.32546681969118, 121.47465832245638 31.3262643031035, 121.47192282847004 31.32741395747678, 121.47158471611161 31.327486782178, 121.46630114671098 31.327308924363656, 121.46364120645197 31.327214063306844, 121.46302701112509 31.326889149613763, 121.46186635852246 31.32612525139027, 121.45950426226314 31.324718883204135, 121.45430273257377 31.32335511856839, 121.4541618296089 31.323789779635337, 121.45298232617874 31.326417085242063, 121.44743350586415 31.326228508351917, 121.44318360329768 31.32595725187702, 121.44292167220311 31.327331366941003, 121.44013505622301 31.327274918101732, 121.43883453263867 31.325166215520643, 121.4385626957617 31.318092552110752, 121.4388328631988 31.312270004233913, 121.43763380943183 31.309962362260993, 121.43337833115334 31.304836929533757, 121.43323434226073 31.304723361188636, 121.43009226531325 31.303518823214993, 121.42918590772321 31.303376019076946, 121.42645690737055 31.30310336578853, 121.42524832312351 31.30017078216053, 121.4250347532225 31.299165807160378, 121.42501951464823 31.298433916154785, 121.42525185223487 31.297785319819194, 121.42609550737497 31.297192092381877, 121.42614945806513 31.297204209460634, 121.42620340986781 31.29721632499318, 121.42625736189166 31.29722844975415, 121.42631131413698 31.29724057204026, 121.4264192094583 31.297264827894857, 121.42647315164301 31.297276960535548, 121.42652710032132 31.297289096171344, 121.42658104833639 31.29730123647984, 121.42663499210967 31.297313374199504, 121.42668893522315 31.29732551567823, 121.42674287499409 31.29733765996678, 121.42679681410891 31.297349808000526, 121.42888507935967 31.297276230872765, 121.4302128231949 31.29722776791886, 121.43022491439399 31.297016570348912, 121.43004232785033 31.295384316563705, 121.42950664086007 31.29216052788644, 121.42959054893758 31.289506916074874, 121.43099445042219 31.278258258585065, 121.4311536830768 31.27747406610229, 121.43157096839306 31.276960235639788, 121.42781906165293 31.273003259132786, 121.42596371432569 31.271514703702874, 121.42218058281537 31.272065973536755, 121.41969932684236 31.275943900812265, 121.4174134736075 31.279189503118662, 121.41227655415628 31.27895614790197, 121.41193511494271 31.278921984964388, 121.41250037486923 31.28062994468473, 121.41291737366538 31.282175191055906, 121.41294324814645 31.28227108367624, 121.41294695108698 31.28276085500505, 121.41248995942085 31.28288879420232, 121.41190597521117 31.28304658819814, 121.41138490847545 31.28311590831575, 121.41128664209154 31.28276854361537, 121.41114560097192 31.282267336392938, 121.4109902153252 31.281728921105277, 121.4100630003685 31.28193475788615, 121.40953345239829 31.282125433932162, 121.40952469665113 31.28214063022112, 121.40951586212515 31.282155799026853, 121.40950695777566 31.282170936913456, 121.40949798360815 31.28218603398659, 121.40948892439248 31.282201104364802, 121.40947980072761 31.28221613852561, 121.40947059739202 31.282231136194852, 121.4094613251291 31.282246098466672, 121.40945196692745 31.282261023235773, 121.4094425451675 31.28227591720343, 121.40943304373523 31.28229077468242, 121.40942347158715 31.28230559043762, 121.40941382602738 31.282320380613122, 121.40940410975115 31.282335129066226, 121.40939431917572 31.282349836632633, 121.40938445429536 31.282364513208098, 121.4093745142203 31.282379147982677, 121.40936450521481 31.282393746467275, 121.40935442101386 31.28240830315253, 121.40934427235564 31.28242282902712, 121.40933404313087 31.28243730940893, 121.40932374497206 31.282451757101924, 121.40931337788294 31.282466164910478, 121.40930293470086 31.2824805309074, 121.40929242258576 31.282494860619515, 121.40928184064472 31.28250914863433, 121.40927118977223 31.282523395868203, 121.40925989742748 31.28253508586938, 121.40924827121637 31.282546535129818, 121.4092363326326 31.282557733244996, 121.40922407451305 31.282568676491756, 121.40921151834628 31.282579363460805, 121.40919866324263 31.282589780646678, 121.40918551010125 31.282599917274744, 121.40917207324136 31.282609783501094, 121.40915836699844 31.282619359796595, 121.4091443877858 31.282628651498015, 121.40913015441375 31.282637643654212, 121.4091156632986 31.282646336204685, 121.40910093235242 31.28265471957914, 121.40908596246608 31.282662798295124, 121.40907076886543 31.282670562734044, 121.4090553569262 31.282678004000037, 121.40903973560128 31.282685121357503, 121.4090239156342 31.28269191500223, 121.40900789613858 31.28269836513143, 121.40899169769693 31.282704491906976, 121.40897533016533 31.282710281115275, 121.40895879892093 31.282715722060896, 121.40894210843938 31.282720814826725, 121.40892528289285 31.28272556614444, 121.40890831422736 31.282729964178543, 121.4088912203502 31.282734010150964, 121.40771194966472 31.283074226666738, 121.40700886258077 31.283251059665094, 121.40700124699876 31.283252814897395, 121.40699390067306 31.28325522963913, 121.4069868916908 31.283258285261304, 121.40698188577589 31.28326096044417, 121.4069771725694 31.283264001364522, 121.40697131830868 31.28326849717641, 121.40696728282511 31.28327218928608, 121.40696364041506 31.283276173279216, 121.40696031677884 31.283280362426478, 121.40695742565931 31.283284789254374, 121.40650469712983 31.283989233597147, 121.40650083326884 31.283996825504918, 121.40649811496925 31.284004791178287, 121.40649681655427 31.28401093130294, 121.40649628132442 31.284017174261876, 121.40649658084337 31.28402552099936, 121.4064980906513 31.284033789206127, 121.40650079110452 31.284041847216503, 121.40650464732731 31.284049568506948, 121.40650957875525 31.284056829382617, 121.40676581567611 31.28442140260679, 121.40802940389118 31.286685683941236, 121.40843942628725 31.287469279462183, 121.40844267574298 31.28747562333051, 121.40844584548788 31.287481996379523, 121.40844894000158 31.287488393290428, 121.40845196465553 31.287494818656057, 121.4084548952714 31.287501272048427, 121.4084577560308 31.28750774489909, 121.4084605415562 31.287514251506295, 121.40846324827258 31.287520771115698, 121.40846586901061 31.287527319792975, 121.40846841631101 31.287533886964727, 121.40847088390542 31.287540472519705, 121.40847327089524 31.287547086337455, 121.40847557907438 31.287553719453445, 121.40847780754972 31.287560365554594, 121.40847995631924 31.28756703093775, 121.40848201463551 31.28757371991049, 121.40848399951666 31.28758042197874, 121.40848590379868 31.2875871379151, 121.408487729271 31.287593872249076, 121.40848946877165 31.287600619456065, 121.40849112946239 31.287607385959937, 121.40849270060096 31.28761416077517, 121.41005254860372 31.28974592399363, 121.41005987948712 31.28975303506154, 121.41006712529848 31.289760204869438, 121.41007429140767 31.28976744251086, 121.41008136796879 31.289774738809534, 121.41008836482948 31.289782098442707, 121.4100952721426 31.289789517631682, 121.41010208990895 31.289796993677154, 121.4101088226061 31.289804523961415, 121.41011547112743 31.28981211839599, 121.41012202473227 31.289819765089483, 121.41012849416306 31.289827470534654, 121.41013486867782 31.28983522913726, 121.41014115364844 31.28984304189449, 121.41014734817915 31.289850912387923, 121.41015345406277 31.289858831653685, 121.41015946055634 31.289866798595487, 121.41016538198242 31.289874824269766, 121.41017119864716 31.289882898420736, 121.41017692666615 31.289891020442468, 121.41018255440089 31.289899191021668, 121.41018809259619 31.28990740495629, 121.4101935305068 31.28991567194554, 121.41019887529743 31.28992398222399, 121.41020411980696 31.289932331162266, 121.41020926403286 31.2899407322542, 121.410482746967 31.290692391780443, 121.41089623539452 31.292190517124254, 121.41016381035348 31.292349538379213, 121.41009596378588 31.292089777448957, 121.40680726776637 31.29198081404597, 121.40492245216339 31.292960925083065, 121.40493976460166 31.29424721624024, 121.40424194867785 31.29618731245001, 121.40274199358656 31.29650350284289, 121.40088645978878 31.296833775166874, 121.40041766787579 31.29694999843006, 121.40021677887785 31.297032925174832, 121.4002913749121 31.297323141379305, 121.4005010991435 31.298139024663453, 121.4006809033315 31.298838447691114, 121.40108075039298 31.30008989880614, 121.40117586622534 31.30037447656558, 121.39536529163783 31.30096927500977, 121.3948652933945 31.300954933254108, 121.39121335437432 31.30009932246171, 121.38964639175568 31.299490023922512, 121.38807708912661 31.2983414943976, 121.38266279976649 31.296307373756072, 121.37609611008925 31.29485574297825, 121.3724796832388 31.29606139138251, 121.36513678320435 31.299161012895095, 121.36672143460554 31.300388942240136, 121.36815814509383 31.30393347717561, 121.36910066773792 31.306265898145718, 121.36974865282065 31.307678901456118, 121.36992314754949 31.30848492421259, 121.36992448541422 31.30848536215612, 121.36992328453962 31.308485527115582, 121.36981863549076 31.30849978614168, 121.3686275117411 31.30866250360204, 121.36684077429413 31.3084857363103, 121.36570503901034 31.308002020737145, 121.36440072381886 31.307447275934287, 121.36313521880841 31.306909713693027, 121.36305392578329 31.30682953969697, 121.36266384410246 31.306444854480382, 121.36176015830024 31.30580846152003, 121.36175882315675 31.305807523541773, 121.36155874669664 31.305666660400906, 121.36135081711953 31.30572904426141, 121.36135106922043 31.305729700513517, 121.36127137888914 31.305753890502622, 121.3608523949335 31.30616463437986, 121.35950056643195 31.307533814954066, 121.35933150699924 31.307584770871937, 121.35916329356931 31.307585484803234, 121.35890572147707 31.307399983411507, 121.35772975298865 31.30681655946008, 121.35728628649912 31.306759855054974, 121.35713199131531 31.306696370127952, 121.35710176236766 31.30668392692537, 121.35707155784229 31.306671459026344, 121.35704136324229 31.306658955880884, 121.35701118943959 31.30664642269963, 121.35698103552551 31.30663385409796, 121.35695090150662 31.30662125997227, 121.35692078737412 31.306608625024545, 121.35526620341852 31.306310682647272, 121.35525748558116 31.306308185662044, 121.35524922546988 31.306304780129548, 121.35524155443285 31.306300504291972, 121.35523458754277 31.306295440760977, 121.35522842537274 31.306289657999876, 121.35522317485439 31.30628325495627, 121.35521892570392 31.306276319175208, 121.35521572871214 31.30626896946164, 121.35521364463017 31.30626132085033, 121.3552127034149 31.30625348800339, 121.35521291510756 31.30624560032057, 121.35529758400361 31.3051110388922, 121.3554768785662 31.304908592806402, 121.35564809917742 31.304450327622334, 121.35598248281703 31.303531681882642, 121.35501912342443 31.302574431934595, 121.35335961632289 31.302394820954053, 121.34999196317268 31.303311038733526, 121.34860921802657 31.303973723192303, 121.34737223979106 31.303313081226204, 121.34740937519966 31.301866536618693, 121.34726503517224 31.299886730994604, 121.34473329950292 31.299463847750637, 121.34326413466599 31.299859681004392, 121.34275906892444 31.301172076332755, 121.34277977355502 31.301175370008597, 121.34280041771454 31.301178880097567, 121.34282101226039 31.301182610065876, 121.34284155085554 31.30118655009799, 121.34286201993096 31.30119070666431, 121.34288243305983 31.301195088595488, 121.34290277123556 31.30119967633796, 121.34292303989088 31.301204484222698, 121.34294323178409 31.30120950334636, 121.3429633541526 31.301214733621293, 121.34298338618778 31.301220178911354, 121.34300333783854 31.30122583099739, 121.34302320458482 31.301231703436024, 121.34304298551451 31.301237776447927, 121.34306266525013 31.30124406192768, 121.34308225011969 31.301250547203015, 121.34310174012808 31.301257248473114, 121.34312112893625 31.301264151426366, 121.34314041292434 31.301271256112717, 121.3431595857609 31.301278570714377, 121.343178652871 31.301286087069226, 121.3431976052042 31.301293799897966, 121.34321644095336 31.301301719125266, 121.34323515740003 31.30130983489318, 121.3432537527319 31.301318141830805, 121.34327222152447 31.301326655307623, 121.34329056557962 31.301335355511053, 121.34360022337904 31.30148526174748, 121.3440639216341 31.30177812339948, 121.34389303752783 31.302274695109986, 121.34337322235228 31.30297129097372, 121.34252739634363 31.303281573851695, 121.34060972969858 31.30234794247885, 121.33943716035796 31.30402892465095, 121.3376772792097 31.30771912388462, 121.33775202161908 31.307768945655805, 121.33771637025511 31.30781068904996, 121.33912697287576 31.30868453648681, 121.34064565578073 31.309545147213484, 121.34068775443075 31.309568978120772, 121.34322818411229 31.31196720045654, 121.34532982764013 31.316031367784678, 121.34676346263853 31.31872785730524, 121.34905877354619 31.32186118344221, 121.35034631271836 31.32317653524017, 121.35162648261279 31.323009638916595, 121.3516458598765 31.32300708247427, 121.35166518523069 31.32300424152434, 121.35168445595839 31.323001116112803, 121.35170367116949 31.322997720654023, 121.35172281454322 31.32299403742105, 121.35174189786596 31.32299007881893, 121.35176089577666 31.322985841669116, 121.35177981733104 31.3229813258231, 121.35179865257801 31.322976541346222, 121.35181739244946 31.32297147759135, 121.35183603695693 31.322966145358752, 121.35185457432706 31.322960544845333, 121.35187908729743 31.322948551221252, 121.35190357397472 31.3229365020923, 121.35192802621519 31.322924403894135, 121.35195244311193 31.32291225574331, 121.35197683009322 31.322900053051512, 121.3520011762975 31.322887801399833, 121.3520254871464 31.32287548990073, 121.35204975722144 31.32286313304402, 121.35207399828666 31.322850722536483, 121.3520981976611 31.322838256790316, 121.35212237255791 31.322825741819926, 121.35214649761402 31.322813172649166, 121.35445373646688 31.32580939338681, 121.35465223974319 31.32587495109845, 121.35489833253624 31.325944825030785, 121.35516107343567 31.326023838338628, 121.35534877232773 31.32625537089932, 121.35551526316301 31.326528686197474, 121.35557812535716 31.327000143295127, 121.35557108565317 31.32727898926043, 121.35328184394865 31.327071533198676, 121.35201639055889 31.326956476799186, 121.35142833114195 31.32839988387301, 121.35134177720128 31.328742122688617, 121.35118363864244 31.329679497472025, 121.35188316329095 31.329960315777555, 121.35242870123001 31.330167121152243, 121.35267830627018 31.330248157321822, 121.35273788667541 31.329975995603217, 121.35396106123682 31.330213630078315, 121.35342317364717 31.331541285018858, 121.35115566807588 31.33441671251115, 121.35113656320624 31.334408855673825, 121.35056947300035 31.33417557739222, 121.3494425432154 31.335843073000575, 121.34878031257786 31.337148210480617, 121.34806935915715 31.339571858688053, 121.3493022349875 31.341324756607868, 121.35037591142448 31.342157323037902, 121.35196973842214 31.342626040093695, 121.35214659525957 31.34282466219238, 121.35228885958797 31.343112334850208, 121.35218560854344 31.3439807297308, 121.3516886155198 31.345493675316813, 121.35085159260626 31.34804078939659, 121.34887548808756 31.347414854252726, 121.34884992181715 31.347406749191336, 121.34871278686794 31.34753577092423, 121.34872225909889 31.34754226721136, 121.34759371683386 31.3487295665139, 121.34686416683003 31.349274227021716, 121.34639154566206 31.349967700824084, 121.34606653111028 31.349809510313232, 121.34316237332263 31.351755795853023, 121.3391137347935 31.353256871420218, 121.33874770130548 31.357336059126162, 121.33896354476909 31.357405677023387, 121.33977813876459 31.35747467294408, 121.34050272268931 31.357419659877824, 121.34145440411761 31.35726681591375, 121.34195605350874 31.357299008108214, 121.34206787115296 31.357311674869244, 121.34285449567365 31.357876302835162, 121.34396813193895 31.358929846395743, 121.3461901212587 31.36256885979466, 121.34598786468692 31.362826794428184, 121.34804853985709 31.363984471407882, 121.3481506747808 31.364108875136523, 121.34758537957127 31.36554352114381, 121.34697213978593 31.366550860432433, 121.34374566111076 31.370818601042934, 121.34231139149134 31.372776708863817, 121.34224509590842 31.372741866934824, 121.34272232688095 31.374837690273726, 121.33889421208755 31.38025994294276, 121.33631340179132 31.38391095860511, 121.33482181673341 31.38701478412949, 121.33306599830071 31.387215559349926, 121.33294720866974 31.387468242156125, 121.33291260434449 31.387456646100258, 121.32947711500194 31.394846933017952, 121.32979099879799 31.39978506440585, 121.32966251941885 31.40014004276682, 121.32978030823733 31.400171017727715, 121.32975286626994 31.401162661002278, 121.32924657541406 31.402258483864795, 121.32780439855911 31.403092509308372, 121.32559383392336 31.403953201666027, 121.32496428747557 31.40407655053259, 121.32461093477346 31.404070697134422, 121.32306160840659 31.404292748131045, 121.3214007289347 31.404587326115994, 121.32123876677664 31.40468407139346, 121.32111716560692 31.404756697442718, 121.32099355733972 31.40507471241437, 121.32091558236843 31.405360909325903, 121.3205269643351 31.413089414564556, 121.3205101975447 31.413424258224342, 121.32989745379848 31.41655566583508, 121.33475118303934 31.418134042229934, 121.33491217277967 31.41799707012506, 121.3349594840959 31.417956810047933, 121.33527678927045 31.417686782882207, 121.33600866901129 31.416919754642095, 121.33648160573559 31.41664353440443, 121.33701041490357 31.416595117769653, 121.33957650555108 31.416913569147436, 121.34038251521669 31.42001340346405, 121.34018675418619 31.42054931350513, 121.33940383203958 31.42131639318645, 121.33906721832739 31.42157862070457, 121.33926798973316 31.42320659623644, 121.34259938662419 31.425389114448457, 121.34386958139397 31.425441053241236, 121.34386210840118 31.42572344904265, 121.34385484758896 31.425975295580546, 121.34367740623236 31.427012163971757, 121.34343472250036 31.428075446046808, 121.34244124839255 31.43152862767685, 121.34157183989622 31.433703317634254, 121.34149129900507 31.433950845224576, 121.34134424265596 31.435408751716547, 121.3413771664563 31.435424372042775, 121.34141031625249 31.435439632708093, 121.3414436821182 31.43545455540644, 121.34147726494152 31.43546911941949, 121.34151105749433 31.43548333021532, 121.34154506249233 31.43549718684916, 121.34157926274456 31.43551068140959, 121.34161366368856 31.435523821918174, 121.34164825175043 31.43553659952312, 121.34168302964126 31.43554900878211, 121.34171798380028 31.43556105524047, 121.34175310880171 31.435572738050894, 121.34178841549007 31.435584043578526, 121.34182388217043 31.43559498556387, 121.34185950973617 31.435605549590353, 121.34189528824382 31.435615741164018, 121.34193122221329 31.435625554823176, 121.34196729717736 31.43563499522902, 121.34200350770156 31.435644053440097, 121.3420398537919 31.43565273394671, 121.34207633092184 31.435661031396222, 121.34211292281073 31.435668946875857, 121.34214963579132 31.435676479402822, 121.34218645448205 31.435683624656594, 121.34222338884467 31.435690392407917, 121.3422604135314 31.435696763162362, 121.34229754303236 31.435702752035013, 121.3423347583355 31.435708343055385, 121.34237204860517 31.43571355704516, 121.34238780787388 31.435714235160738, 121.3424035617282 31.43571488348556, 121.34241932103363 31.43571551178456, 121.34243508488024 31.435716114670257, 121.34245084874036 31.435716687699284, 121.34246661352715 31.435717239858178, 121.34248237742278 31.435717762171763, 121.34249814675994 31.435718254562683, 121.34251391521438 31.43571872610587, 121.34252969001496 31.435719167715266, 121.34254545941009 31.43571958943256, 121.3425612279087 31.43571997590686, 121.34257700728631 31.435720342289034, 121.34259277672966 31.435720683436877, 121.34260856157037 31.4357209990385, 121.34262433556783 31.435721284918685, 121.34264011501072 31.43572154537547, 121.34265589899464 31.435721780419914, 121.34267167846798 31.4357219856654, 121.34268746339112 31.4357221699863, 121.34270324742239 31.435722324463732, 121.34271902694817 31.435722454541178, 121.3427348119185 31.435722558295925, 121.34275060143044 31.435722637538593, 121.34276638553095 31.435722691493275, 121.34278217507267 31.43572271552649, 121.3427979601068 31.435722713361123, 121.34281374968229 31.43572268668416, 121.34282953384722 31.435722635619758, 121.34284153921064 31.435731479686005, 121.34285326799174 31.435740582642484, 121.3428647057226 31.435749954573623, 121.34287585148168 31.435759579302037, 121.34288669078828 31.435769453416338, 121.34289722906001 31.435779566958022, 121.3429074454845 31.435789918394526, 121.34291733461994 31.435800495203946, 121.34292689193427 31.435811290251575, 121.34293611833182 31.435822304431912, 121.34294500203137 31.43583351900412, 121.34295352945858 31.43584493234501, 121.34296170422708 31.43585653991652, 121.34296951275026 31.435868327498852, 121.3429769586367 31.435880285155076, 121.3429840328316 31.43589240670603, 121.34299072990606 31.43590469312484, 121.34299704984537 31.435917130020677, 121.34300298268495 31.4359297058268, 121.34300852750603 31.43594240706298, 121.34301367074579 31.435955243801523, 121.34301842685461 31.435968189771568, 121.34302278044734 31.435981241571522, 121.3430267324261 31.43599439739399, 121.3430302710018 31.436007629498402, 121.34303340794337 31.436020945836816, 121.34303613690399 31.436034332995618, 121.3430384488305 31.436047785692537, 121.34304994505945 31.436118658839728, 121.3431192967221 31.43761119462941, 121.34283812333983 31.439567717620744, 121.34234357311641 31.441187651623622, 121.34057370529884 31.445805283866292, 121.340564979274 31.4458262645431, 121.34055550327858 31.44584701849624, 121.34049017439492 31.445981265724726, 121.34048115413063 31.445999357187077, 121.34047177651662 31.446017322894303, 121.34046205149716 31.44603515733269, 121.34045197906798 31.446052855096166, 121.34044155559704 31.446070400920096, 121.34043079466433 31.446087806346707, 121.34041969625326 31.446105054272472, 121.3404082567564 31.446122151926055, 121.34039648971651 31.446139076658643, 121.34038439062203 31.446155835708346, 121.34037196942093 31.446172427159667, 121.34035922157898 31.44618883755581, 121.340346156147 31.446205071289064, 121.34033277944087 31.44622111298639, 121.34031908513748 31.446236967205103, 121.34030508498091 31.446252620313025, 121.34029078712247 31.446268081211077, 121.34027618793056 31.44628333463245, 121.34026128649832 31.44629837607807, 121.34024609911211 31.446313210762657, 121.34023062937497 31.446327823342028, 121.3402148727718 31.44634221745337, 121.34019883924975 31.446356390281448, 121.34018252969791 31.446370325610896, 121.34016595226849 31.44638403324256, 121.34014547126428 31.446385666617292, 121.34012496926005 31.446387043466792, 121.34010444807241 31.446388170968717, 121.34008391583963 31.44638904813637, 121.34006337255076 31.446389665071553, 121.3400428200256 31.446390031651852, 121.34002227724251 31.44639013687998, 121.34000173427293 31.446389997955873, 121.33998119110929 31.446389607681134, 121.3399606730613 31.4463889567932, 121.33994016385792 31.446388050861394, 121.3399196806899 31.446386898704432, 121.33989921721152 31.446385485992852, 121.33987878338027 31.446383822521323, 121.33985838462745 31.446381913633207, 121.33983802094059 31.446379748532706, 121.33981770769289 31.4463773279619, 121.33979743404261 31.446374661032557, 121.33977721082942 31.446371737736897, 121.33975704710699 31.44636856878096, 121.33973693925289 31.44636514970566, 121.33971689631768 31.44636148851822, 121.33969692280102 31.446357566280028, 121.33967702053243 31.446353402770203, 121.33965718769772 31.44634899351145, 121.33963744057708 31.44634434283925, 121.33961777826023 31.446339446267732, 121.33959820165562 31.446334308289956, 121.33957871075637 31.446328923511032, 121.33820983551873 31.446018069140553, 121.33768938965822 31.445928508951248, 121.3358007749233 31.446306370985113, 121.33527536309826 31.44659130194491, 121.33486810168058 31.446852395894258, 121.33459117444471 31.44735514724061, 121.33260324162939 31.454972191407006, 121.33365553380663 31.454910157160118, 121.33378395717911 31.45490479782085, 121.33380669021007 31.454934306326713, 121.33381263729486 31.454942028832097, 121.33381820349244 31.454949947660264, 121.3338234023336 31.454958049249424, 121.3338282058159 31.454966327454965, 121.33383261212278 31.45497477329436, 121.33383661761484 31.454983360699433, 121.33384021143945 31.454992075336378, 121.33384338276008 31.455000918166615, 121.33384613786544 31.45500985766961, 121.33384846682122 31.455018893901393, 121.33385036328191 31.4550280035053, 121.33368063175553 31.45643403905382, 121.33368109367898 31.456454315498313, 121.33368149959986 31.45647458772953, 121.33368184500726 31.456494860269466, 121.33368214074169 31.456515137560704, 121.33368238137567 31.45653540973445, 121.3336816533264 31.456540855903285, 121.33368078982323 31.456546302770068, 121.3336797962613 31.45655172601431, 121.33367867625091 31.456557123817483, 121.33367742619554 31.456562512392743, 121.33367604065843 31.45656787197391, 121.33367453500036 31.456573212378103, 121.33367289837507 31.4565785228642, 121.3336711362017 31.456583804303243, 121.33366924306213 31.45658905672268, 121.33366722978268 31.456594269269356, 121.3336650909505 31.456599447368863, 121.33332083931661 31.457428862017107, 121.3310725178252 31.459796260871855, 121.32768923748017 31.461267502123643, 121.32633314538404 31.4611116836074, 121.32512514992725 31.46308169330159, 121.32498356655917 31.463409885537626, 121.32407923654908 31.466464754254975, 121.32367406192394 31.470487820473004, 121.3206138554778 31.478534803680805, 121.32068801390147 31.478825201743593, 121.32122619416796 31.479235327694404, 121.32226490861281 31.47995229082846, 121.3228188872327 31.48004777094489, 121.3233131290753 31.480158736955357, 121.32485209579808 31.48069510160282, 121.32516458982961 31.48098908365808, 121.32522680406545 31.48138942057324, 121.32517969673374 31.481800697412286, 121.32511807523818 31.482320045359362, 121.32265646095848 31.487584450092644, 121.32236409569566 31.48756189092966, 121.31859387302394 31.489345935449087, 121.316488633852 31.4939281042011, 121.31664777292109 31.496013593136762, 121.31564931809082 31.49871649764452, 121.30944215824627 31.503230388453062, 121.309174218135 31.503264854515454, 121.30735561351139 31.502965014732037, 121.30755084991314 31.50303582832208, 121.30898941657905 31.504938963947154, 121.30875082032806 31.50531443078986, 121.30819759042487 31.505352646481676, 121.30816707722919 31.50535171183613, 121.30751288242374 31.50502280622393, 121.30665190738696 31.505888625262433, 121.30646258194817 31.506091104932562, 121.30761696529706 31.507694856541324, 121.30864370947957 31.508839751195765, 121.31218291758914 31.51146065107039, 121.31711730930031 31.51226300612949, 121.31826714198792 31.51116263677766, 121.3182823686709 31.51114044576724, 121.31830543933184 31.511068845305477, 121.31832832931534 31.510954411392465, 121.31838237422541 31.510428187365967, 121.31837462152099 31.510403215477112, 121.31826081662679 31.50979427063839, 121.31842170038752 31.509151023846126, 121.3198743050726 31.50699635512772, 121.32081409340607 31.507243293789873, 121.32783606520083 31.506120133447414, 121.33093392477704 31.506396562672556, 121.3369222793775 31.51110979083727, 121.35146919091387 31.520376080145276, 121.35285103424744 31.521707582179577, 121.35740581865946 31.52504713957102, 121.36883104466727 31.533413597975702, 121.3695141419406 31.533902367917733, 121.37403918874035 31.537144462176833, 121.3753729950462 31.538091039844048, 121.38407813461805 31.54430840597686, 121.38897715118308 31.547751051668616, 121.39347284239133 31.550987330709745, 121.39347922329218 31.55105613246707, 121.39347929331029 31.55105604304061, 121.3935255075226 31.550996838164203, 121.39452985423736 31.54971060800049, 121.40320546190996 31.538278141076557, 121.41216655571208 31.526538132074386, 121.41541820370831 31.522281806854405, 121.41798322865603 31.518924211673962, 121.42901569031099 31.504464378427773, 121.45536593300761 31.47191292098419, 121.51108258132892 31.432085467162004, 121.51184910980078 31.431547224887897, 121.51217685624637 31.431363616609424, 121.5122674079216 31.431312905114236, 121.51468881716329 31.429959277924574, 121.54888076212126 31.411130515711655))'),
+ (26803,'POLYGON ((121.34458379429431 31.24409551902861, 121.34534440831143 31.24332240825689, 121.34555675101083 31.24311145160465, 121.34899001960972 31.24034893516351, 121.34997709343156 31.240567907746772, 121.35003712265286 31.240528934818013, 121.35004388909825 31.240524359355266, 121.35005032418883 31.240519439221043, 121.350058420241 31.240512456445288, 121.35006591240608 31.240504993918258, 121.35007274996957 31.240497091144753, 121.3500788930818 31.24048879375285, 121.35008432091014 31.240480138068275, 121.35008899450843 31.24047118499867, 121.35067321898664 31.239258226329166, 121.35195736878042 31.236517404936436, 121.35193509807354 31.234070277268106, 121.34962661455243 31.233483040547625, 121.34803421916664 31.2325109963587, 121.34804002357797 31.23249590462499, 121.34804588321315 31.232480837223477, 121.34805179806939 31.23246578425608, 121.34805777357731 31.232450740240704, 121.34806380521458 31.232435719642627, 121.34806988573465 31.232420709075477, 121.34731095075152 31.231134156220275, 121.34727753957766 31.23090310573147, 121.34761030439826 31.230252000645073, 121.34951382920009 31.229884895551695, 121.35060971611561 31.229724206390795, 121.3521419818594 31.22956179636915, 121.35190539095792 31.22887632265471, 121.35190568507932 31.22886998924114, 121.35190582796328 31.228863653836374, 121.35190584496826 31.228857319619042, 121.3519057116435 31.228850987894575, 121.35190532016037 31.228842560237133, 121.35190487350206 31.228836243606562, 121.35190427199119 31.228829940341782, 121.35190326561828 31.228821551674898, 121.35190235621666 31.228815283209716, 121.35129503713044 31.22881092609631, 121.35061888557262 31.22891356111907, 121.35060559369707 31.22892227127145, 121.35059223568798 31.22893089785694, 121.3505788079254 31.22893944543247, 121.3505653085987 31.22894791402647, 121.35055173498726 31.228956293783956, 121.350538099773 31.228964594396462, 121.35052439480458 31.22897281149602, 121.350510624607 31.228980938709547, 121.3504967828495 31.228988992335573, 121.35048287676935 31.22899695695883, 121.35046890455604 31.22900483260756, 121.35045487164734 31.229012629091073, 121.35044077441654 31.229020335669095, 121.35042661014852 31.229027954184172, 121.35041238699694 31.229035493501886, 121.35039810223886 31.22904293836819, 121.35038375769047 31.229050299550725, 121.35036935244368 31.229057570764375, 121.35035488650155 31.22906475830705, 121.3503403652953 31.229071856691085, 121.35032578429535 31.229078861489533, 121.35031114712778 31.22908578074135, 121.3502964501677 31.229092607305557, 121.35028170156622 31.22909934374912, 121.35026689860732 31.22910599101483, 121.35025204038602 31.229112549116376, 121.3502371314299 31.229119017979873, 121.35022216720957 31.229125392278426, 121.3502071522527 31.2291316719382, 121.34971189062946 31.229222036749146, 121.34923390734595 31.22574352847012, 121.34917587650216 31.22486614357002, 121.3490851426822 31.224473068042467, 121.34892989705314 31.223887498709352, 121.34870267615176 31.223465826736845, 121.34752888290669 31.222941335461677, 121.34670464355281 31.22269970486084, 121.34583756021529 31.222860858532258, 121.3456364264363 31.220819949498736, 121.34618796281514 31.219197899127142, 121.34619510070647 31.219176996760684, 121.34491215758243 31.218693561082297, 121.34538085846455 31.20475163699132, 121.34545290771469 31.20292133541654, 121.34459078955173 31.198909500437257, 121.33838401500397 31.195973610873523, 121.33828962311011 31.195928711103697, 121.34482179823168 31.186316258818753, 121.34784564482213 31.185641453801843, 121.34853135084752 31.185858587410195, 121.34853374824165 31.185964367205756, 121.34938520694364 31.18630883596925, 121.35464013709058 31.188388444098834, 121.3579405215928 31.1895231851832, 121.35915452855104 31.188996735095667, 121.36414593672696 31.189478263870406, 121.37633388115812 31.19253021322407, 121.37961574307555 31.193538237557934, 121.38644406108 31.195662255170014, 121.38710731336317 31.19584748748254, 121.38773704148468 31.195986743646543, 121.38784205475417 31.196006996694543, 121.39154989669778 31.1965972797352, 121.39258162432701 31.19676238677251, 121.39759739584647 31.197578755958105, 121.39794401629717 31.197622847101577, 121.39830598854036 31.19765819496273, 121.39861558228787 31.197678636525623, 121.39892127327755 31.197692784384447, 121.39913346995291 31.19769983646504, 121.39966509410132 31.197688300499156, 121.40097319466886 31.197652417871176, 121.40228088466887 31.19761201769086, 121.40489513079741 31.197531767363497, 121.40766392351388 31.197452659194315, 121.41553618638216 31.1972408755258, 121.4181979709031 31.197173972356286, 121.41906190047045 31.19715450589525, 121.41898983459048 31.19522158889409, 121.41898925730312 31.195199487866525, 121.4189890369928 31.195177378237716, 121.41898917546837 31.195155280740515, 121.41898966735594 31.19513318897446, 121.41899052161844 31.195111120206626, 121.41899172035039 31.195089061501772, 121.4189932859355 31.195067031278377, 121.41899520495537 31.195045031084412, 121.41899747293493 31.195023059035705, 121.41900009883247 31.195001127899147, 121.41900308263878 31.194979227774564, 121.41900641453252 31.194957380076005, 121.4190101052539 31.194935589503945, 121.41901413868325 31.194913839556374, 121.4190185354186 31.19489215221746, 121.41902327577468 31.194870525317405, 121.41902836333713 31.19484896612205, 121.41903380526136 31.19482747296478, 121.41903958992637 31.194806056425918, 121.41904572359893 31.19478472112167, 121.41905220001692 31.19476346783335, 121.41905902454728 31.194742295760353, 121.41911151792428 31.19458264761196, 121.41939897166085 31.193991291068674, 121.41948281437293 31.193819381374283, 121.4200673304813 31.192873109805245, 121.4201107325016 31.19286031495871, 121.42165660534407 31.19338852468073, 121.42190961273587 31.192662376387357, 121.42214395982673 31.19196509612678, 121.42214663148718 31.191953501624962, 121.42214901949896 31.191941856139316, 121.42215110864964 31.191930155798016, 121.42215290969118 31.19191841969317, 121.42215441725675 31.191906649528786, 121.42215562060812 31.191894842413202, 121.42215653138652 31.191883011154395, 121.42215714333608 31.191871163739947, 121.4221574618218 31.191859296666536, 121.42215747701404 31.19184742415684, 121.42215719785914 31.191835545471417, 121.42215662078787 31.19182367224516, 121.42215575117213 31.19181180907403, 121.42215458185808 31.191799960329003, 121.42215312000343 31.19178812613816, 121.42215135398895 31.191776320691545, 121.42214929991238 31.191764536177864, 121.42214695242569 31.191752796798713, 121.42214430615566 31.19174109615754, 121.4221413816888 31.191729445421874, 121.42154907260475 31.189482171507954, 121.41942596799291 31.188607872992623, 121.41940622119104 31.18833082511596, 121.41938569809008 31.18833152798748, 121.41914844295017 31.18833199885822, 121.41843024619557 31.1881974780243, 121.41068556934397 31.1858996196132, 121.40102534640432 31.18349198498842, 121.40101375674845 31.18352894852732, 121.40106671965019 31.18332312016587, 121.4012979819353 31.18250539112027, 121.40098325648587 31.179231785643783, 121.40049872316811 31.175233707778116, 121.4004081487814 31.175118917142324, 121.39807407653461 31.174380979719587, 121.39937439270244 31.170508120382067, 121.40082215708202 31.16624111611154, 121.40113341131037 31.16534400929353, 121.40139034579911 31.16540988054718, 121.40462926950025 31.166316712937302, 121.40486522525327 31.16638748247898, 121.40547275852495 31.166575514801735, 121.40575014174108 31.16666579060536, 121.40653728064606 31.16696335472911, 121.40748610311483 31.167351265522182, 121.40820158535686 31.16765904143868, 121.408708676073 31.167877315874545, 121.40907838507822 31.16802052221124, 121.41330543427684 31.158029948048828, 121.41441002537952 31.1554165646712, 121.41564170558829 31.152488544382113, 121.41628413058183 31.15096133334165, 121.41778543808034 31.148177019569214, 121.42083961883442 31.142571372964664, 121.42797151982016 31.133340826419378, 121.4330897713252 31.134039199453934, 121.44294292663947 31.135318541200885, 121.44461857378548 31.12939777205457, 121.44504078082839 31.127332878845202, 121.44535259453487 31.125802296096683, 121.44494672447276 31.125006297631913, 121.44289638778596 31.12128134249225, 121.44233929686239 31.12028190765256, 121.4440674968791 31.118428354417322, 121.44416269140119 31.11834416493519, 121.44432248572048 31.118287143675815, 121.44461912157202 31.11830491200906, 121.44610521674534 31.118487514400876, 121.4477294063722 31.118838172209568, 121.44826533285061 31.118974304849335, 121.4488715385096 31.119353690406314, 121.44928516322427 31.119670954570942, 121.45009460090594 31.120240489611003, 121.45038958034728 31.120429785317018, 121.45206389290522 31.121320851090495, 121.45696323762847 31.121720557398234, 121.45707829677724 31.121728183392268, 121.45716066064152 31.1217167917743, 121.45797691872329 31.121234452440806, 121.45750025434013 31.11635777140827, 121.45725192856017 31.114051481149733, 121.45395356339351 31.113681588907813, 121.453358864158 31.112827324474548, 121.45359034398457 31.112201402947026, 121.45896958891794 31.107470134780552, 121.46171949732737 31.10697218240216, 121.469509456251 31.108008004053893, 121.4691365399021 31.110834662289573, 121.46910329432792 31.112930090203964, 121.47086804044898 31.11687282996361, 121.47167021427475 31.11834191429799, 121.47436875400297 31.117481196000394, 121.47885867196783 31.117378388316784, 121.47874944147192 31.117763300797996, 121.47873692997517 31.118030777908324, 121.48066031194848 31.12036024145815, 121.48084028236809 31.120480227763, 121.48221778876214 31.118892111431066, 121.48296441986034 31.117967444462085, 121.48298021185452 31.117947764502734, 121.48299562376519 31.11792786119927, 121.48301065018988 31.117907751753652, 121.48302528572624 31.11788743447216, 121.48303953127608 31.11786691562957, 121.4830533751332 31.117846199960695, 121.4830668245028 31.117825302608452, 121.48307985777285 31.117804213215223, 121.48309248485023 31.117782957666012, 121.483104702134 31.11776151983389, 121.48311650332113 31.1177399214387, 121.48312788931311 31.11771816605645, 121.48313885020497 31.117696253886358, 121.48339860498369 31.117171095554056, 121.48340117768495 31.11716501961366, 121.48340331542555 31.11715882301082, 121.48340500830065 31.117152539240013, 121.48340625450953 31.117146185433565, 121.48340704504771 31.11713979146857, 121.48353204787165 31.11597556246497, 121.48345536812812 31.115380145307384, 121.48345122110854 31.11537133090825, 121.4834478710183 31.11536225365375, 121.48344533677555 31.115352970742777, 121.48344363279408 31.115343525069704, 121.4834427707893 31.115333987479517, 121.4834427498652 31.115324397582096, 121.48344357993537 31.115314819961817, 121.48344525109955 31.115305306112024, 121.48344775345807 31.115295909326335, 121.48345106630482 31.115286686719447, 121.48345518064072 31.1152776924678, 121.48346006675334 31.11526897757272, 121.48346570753735 31.115260587379215, 121.4834720507682 31.11525257874907, 121.48347907933892 31.11524498533026, 121.48348674372654 31.11523786482935, 121.48349499890757 31.11523124696648, 121.48350379986047 31.115225179458005, 121.48351309075548 31.115219691344652, 121.48352282837051 31.115214814108594, 121.48353294607014 31.11521058060999, 121.4835433952273 31.11520700534366, 121.48355410830709 31.11520412478618, 121.48356502317353 31.115201941109326, 121.48357607769331 31.115200474480698, 121.48358721693423 31.115199721524313, 121.48365659267759 31.115197514888113, 121.4836657003468 31.1151973246565, 121.48367480174684 31.115197494510923, 121.48368386896236 31.115198025020423, 121.48369289118666 31.115198911006097, 121.48370184770855 31.1152001546892, 121.48371071961769 31.115201754654798, 121.48371948079871 31.115203702436, 121.48372812764906 31.115205992706258, 121.48373662865266 31.115208631505347, 121.4843267126596 31.115391827676014, 121.48442336941733 31.115610717836514, 121.48389946841672 31.11642659650915, 121.48389912392389 31.116433416859635, 121.48389890369465 31.116440240084277, 121.48389880862882 31.116447056266853, 121.48389883962723 31.11645387348743, 121.48389900029163 31.116460684474337, 121.4838992861199 31.116467497417258, 121.48389969711123 31.11647429791943, 121.48390022786317 31.116481090589588, 121.48390089368327 31.116487870617842, 121.48390168556709 31.116494638187298, 121.48390259721094 31.11650139342592, 121.48390363852003 31.116508130733926, 121.48390480499181 31.116514851102714, 121.4839060975266 31.116521552714445, 121.48390750982105 31.116528232997993, 121.48390904727789 31.11653489004415, 121.4839107143993 31.116541525561317, 121.48391249677746 31.11654813264385, 121.48391440972014 31.116554707381923, 121.48391643791976 31.116561259984426, 121.48391859038031 31.116567779471183, 121.48392086440035 31.11657426229811, 121.48392326268156 31.11658071650891, 121.48392577621846 31.11658712878954, 121.48392841491626 31.11659350433817, 121.48393116886993 31.116599841556635, 121.48393404258174 31.11660614665245, 121.48393703154824 31.11661239452288, 121.48394014117306 31.116618604854313, 121.48506135183791 31.11723433394015, 121.48575394875158 31.115774451906333, 121.48641576033447 31.115729965708624, 121.487841784986 31.1164693756085, 121.48605856169478 31.119300126410344, 121.48477496173844 31.12062594035129, 121.48604773249573 31.122954200522152, 121.48764452349936 31.12382032236617, 121.48840446580489 31.124367471826865, 121.491661067105 31.12717988780987, 121.49190722451995 31.127436200267216, 121.49207629314512 31.1276509157241, 121.49218063184277 31.12781251671384, 121.49217963465675 31.128803152571503, 121.49260203492364 31.129825499242195, 121.49580734244374 31.13053086871704, 121.49586070028906 31.130522292679128, 121.49587200149331 31.13051994464963, 121.49588315832112 31.13051709301218, 121.49589413033321 31.130513749085427, 121.49590489326819 31.13050991767844, 121.49591542106776 31.130505603622833, 121.49592567957636 31.13050082894785, 121.49593564902361 31.130495602000334, 121.49594528897104 31.13048993499355, 121.49669764009278 31.129999365040522, 121.49841456074564 31.127155233118156, 121.49881287608483 31.126426845804428, 121.50516496729647 31.127003812047043, 121.50585203030926 31.126471849847537, 121.50662662056735 31.12429088996434, 121.50813620730426 31.12029573053637, 121.51047184502187 31.12027431230589, 121.51176865448267 31.12102508190234, 121.51105443012749 31.12201934687939, 121.51093144031849 31.12219057855489, 121.51092676602393 31.122198100747127, 121.51092222507205 31.12220569420614, 121.51091782910397 31.122213341849758, 121.51091357185122 31.12222105536475, 121.51090945421215 31.12222882395376, 121.51090548155918 31.12223664222328, 121.51090164762407 31.12224452096078, 121.51089796315237 31.122252444882292, 121.51089442277105 31.12226042477643, 121.51089102648342 31.122268448945228, 121.51088777428929 31.122276519186595, 121.51088467245526 31.122284633707434, 121.51088171919372 31.122292783506737, 121.51087891539714 31.122300979381198, 121.51087626554448 31.122309209638374, 121.51087375978805 31.12231748056328, 121.51087140887356 31.12232577687243, 121.51086920742802 31.1223341075556, 121.51051939543854 31.123744773862004, 121.51188065293819 31.125276320842225, 121.51226475144543 31.125609200308663, 121.51289108798647 31.126092182991226, 121.51786125838134 31.127045089699497, 121.51917439254554 31.125123286563575, 121.52006072763061 31.1237487505278, 121.52015546655124 31.12352691295298, 121.52023312002927 31.122461959831522, 121.52031377734146 31.122160798004753, 121.52055375350878 31.12140218602037, 121.5206645797911 31.121114858895478, 121.52121361331075 31.12079573016402, 121.52122429471967 31.120789522929286, 121.52209092108124 31.1208762907106, 121.52632141177847 31.121677456528964, 121.52934619905034 31.121472257307648, 121.53174541282715 31.122415203287098, 121.53624731007689 31.123847429943005, 121.53685541653229 31.124010069828334, 121.53777864925425 31.12422328982008, 121.54156103018894 31.123871692767167, 121.54310966962234 31.122492943473166, 121.54311432982819 31.122488378127056, 121.54599031576355 31.12116701528084, 121.54599217037061 31.121174510716855, 121.54599438743102 31.12118194025857, 121.54599696694937 31.121189281411073, 121.545999904463 31.121196531409957, 121.54600318837147 31.12120366669407, 121.54600682046193 31.12121068188893, 121.5460107944886 31.1212175625074, 121.54617679475696 31.121479871463443, 121.54891784122712 31.122104068976054, 121.54896606574533 31.120375825700695, 121.54900391276831 31.12013529383708, 121.54953770823026 31.118678649056324, 121.54977515004461 31.118097118400275, 121.54977544305606 31.11809690154847, 121.54977663028788 31.118096050523402, 121.54977722167062 31.11809562768254, 121.5497775191485 31.118095420782907, 121.54977930759006 31.118094157832868, 121.54978020181098 31.118093528156685, 121.5508438389773 31.117327023848787, 121.55085544800308 31.11731126518658, 121.55086707223383 31.11729551650595, 121.55093996749599 31.117226471092827, 121.55094293845525 31.11722553536156, 121.55094593354343 31.11722465928972, 121.5509489545477 31.117223843797557, 121.55095198985215 31.11722308785121, 121.55095505464689 31.117222397924287, 121.55095813463556 31.117221768453085, 121.55096122981809 31.117221198537678, 121.55096434466223 31.117220693628312, 121.55096746933899 31.11722024461359, 121.55097060831643 31.11721986594178, 121.55097375355254 31.117219551221602, 121.55097691308903 31.117219292447334, 121.55098007709734 31.11721909940358, 121.55098324647103 31.117218975699927, 121.55098642120971 31.11721890693936, 121.55098959595263 31.11721890835696, 121.55099276980602 31.117218974543537, 121.55099593472796 31.11721910180749, 121.55099910948275 31.11721928766512, 121.55100227351932 31.117219544477457, 121.55100543309203 31.11721986061898, 121.55100858283964 31.11722023692789, 121.55101172276254 31.11722068330219, 121.55101485285999 31.11722118444517, 121.55101796687799 31.1172217555818, 121.55102106749659 31.11722238684509, 121.55102415203507 31.117223077304576, 121.55102721245174 31.117223833166644, 121.5510302576818 31.117224643736364, 121.55178284456896 31.11738195046097, 121.551785775886 31.11738214724877, 121.55178871256454 31.117382224415564, 121.55179164834877 31.117382181892804, 121.5517945751952 31.117382014193538, 121.55179749221033 31.1173817303061, 121.55180038866985 31.117381327413675, 121.55180325563676 31.117380813516846, 121.55180608774856 31.117380174160264, 121.55180888500544 31.1173794192419, 121.55181163310829 31.117378558503443, 121.55181433116302 31.11737757753846, 121.55181697380766 31.117376490685512, 121.55181954763663 31.11737529869802, 121.55182205711812 31.117373999825684, 121.5518244915278 31.117372601150027, 121.55182684192874 31.1173711061729, 121.5518291074268 31.11736950948618, 121.55183128891593 31.1173678272964, 121.55183336584082 31.11736605398067, 121.55183534803206 31.117364199544586, 121.55183722655258 31.11736226479071, 121.5518390005086 31.117360252409153, 121.55184065470709 31.11735816943279, 121.55184219540402 31.117356020429344, 121.55184362081192 31.11735380987867, 121.55184491752522 31.11735154303362, 121.5521299652978 31.116816791260433, 121.55213975367423 31.11679758530279, 121.55214906924056 31.11677819514962, 121.55215789858755 31.116758633263913, 121.55216624081883 31.116738912242365, 121.55217409056827 31.116719030236595, 121.55218144336497 31.116699002503697, 121.55218830010028 31.11667883985846, 121.55219465451536 31.11665854674036, 121.55220050660868 31.11663813845285, 121.55220585190891 31.116617614054558, 121.55221068594625 31.116596994199224, 121.55221500782564 31.116576288780397, 121.55221881754531 31.116555497802754, 121.55222211152936 31.11653463203002, 121.55222488709641 31.116513714832294, 121.55222714245738 31.116492737195486, 121.55222888476268 31.116471714494992, 121.55223010596855 31.116450665543145, 121.55223079981847 31.116429592074375, 121.55223097703755 31.116408496902924, 121.55223063762784 31.11638740702357, 121.55222977175752 31.116366321431457, 121.55222554114322 31.11628153441719, 121.55222432656228 31.11626021472484, 121.55222261054841 31.116238910380318, 121.55222039757265 31.11621763942581, 121.55221769299908 31.11619640911467, 121.55221448610347 31.116175218430023, 121.55221078672021 31.1161540872693, 121.55220659574512 31.116133021037125, 121.55220191318018 31.116112024228304, 121.55219674349745 31.11609111308252, 121.55219109206155 31.116070285852, 121.55218494815081 31.116049559513268, 121.5521783269625 31.11602894232058, 121.55217122403033 31.116008435119504, 121.55216364472169 31.11598805775628, 121.55215559708301 31.115967810309456, 121.55214707307425 31.115947698083996, 121.55213808700047 31.115927741020776, 121.55212863886454 31.11590793371221, 121.55211872867197 31.115888296845082, 121.55210836625818 31.115868835014638, 121.55209755698941 31.115849548268702, 121.55208629461457 31.11583045182699, 121.55207459612022 31.115811555759745, 121.55206245972224 31.115792854638222, 121.55204989078989 31.115774373704323, 121.55203689468941 31.115756108505465, 121.55202347678934 31.115738074385167, 121.55401242014133 31.115523357370524, 121.55555582819686 31.11643285432724, 121.55558286296316 31.11644929230441, 121.55560941669799 31.116466310684498, 121.55563547776008 31.116483890508118, 121.55566102645903 31.116502035247255, 121.55612798862437 31.116835600126116, 121.55616404097381 31.116861773163457, 121.55619963648401 31.116888403254173, 121.55623476887865 31.11691549848814, 121.55626943009051 31.116943039047854, 121.5563036084745 31.116971025785073, 121.55633730401578 31.116999452440755, 121.55637050327925 31.11702830995614, 121.55640319551385 31.117057593792506, 121.55643537980983 31.117087296784824, 121.55646705257385 31.117117416246845, 121.55649819321232 31.117147936770472, 121.55652880707879 31.117178856635547, 121.5565588834219 31.117210167704958, 121.55658840791116 31.117241863615764, 121.55661738053179 31.117273935409695, 121.55664579590061 31.117306377688376, 121.55667364505592 31.117339185927502, 121.55670092619366 31.117372349355282, 121.55672762140426 31.11740585708457, 121.55675373872658 31.117439706511753, 121.55677926561977 31.1174738858879, 121.55617463663728 31.11841809600354, 121.55567970431277 31.119109499455117, 121.5584555372045 31.11979798017775, 121.56057460445629 31.120138666283946, 121.56444704456905 31.119421160335374, 121.56444990086199 31.11941873924901, 121.56445133214828 31.119417523754297, 121.56445275805461 31.11941630825722, 121.56445560986853 31.119413882655834, 121.56445703577688 31.119412661754208, 121.56445987773066 31.11941022624279, 121.56446130453739 31.119409005335335, 121.56446413573433 31.119406559014216, 121.56446838387892 31.119402887268667, 121.56447120611442 31.119400431929925, 121.56447402297195 31.119397970284705, 121.56447542915959 31.119396740358887, 121.56447824153692 31.119394274203128, 121.56448104853627 31.11939180264076, 121.56448244934644 31.119390567306482, 121.56448385105422 31.119389326571696, 121.56448524648499 31.119388091233407, 121.56448664281332 31.11938685049461, 121.56448803914219 31.119385609753873, 121.56653294567337 31.117660536512297, 121.56663492503809 31.117327088113814, 121.56567989989577 31.116565903684624, 121.56504105784326 31.114789940116058, 121.5675345331096 31.112034205312906, 121.56970505578629 31.107817816229424, 121.56970975471877 31.10780709106154, 121.56971347362781 31.107796089955386, 121.57326064918104 31.103015434290995, 121.57326189506723 31.103010185278244, 121.57386783983921 31.099284330054502, 121.57312224498618 31.098755068456974, 121.57264403452348 31.098588703853075, 121.56996236263107 31.098014810401793, 121.5691495076842 31.097990302754, 121.56835307113765 31.09800878896168, 121.56787442950903 31.09816237647321, 121.56604007743059 31.098288837610976, 121.5635961373227 31.098045606775514, 121.5625145342614 31.097736876140775, 121.55815211575054 31.09626506277807, 121.55481861652038 31.092925972960323, 121.5547080889476 31.09280483742351, 121.55663080931942 31.088835402145772, 121.55672794205263 31.088742256062076, 121.55972637866692 31.08652588145968, 121.55992480911391 31.086463290868146, 121.56002222629836 31.086523375142864, 121.56134909662076 31.087548949184622, 121.5625207885831 31.088462093906557, 121.56284244865014 31.088701874496763, 121.56350715724624 31.08903448322266, 121.56352970269597 31.089045753526115, 121.56376973072035 31.08913020550178, 121.56576477661542 31.08975020727945, 121.5676808536647 31.090093870854204, 121.56789108121214 31.090077447729467, 121.56811359397251 31.08993422043849, 121.57310694756265 31.088241304316483, 121.57863933837727 31.086547091393605, 121.58181090121954 31.08610593674923, 121.57459010723674 31.082428049934684, 121.5735610126426 31.08212392097722, 121.57245752893135 31.081821985752793, 121.56909050820059 31.08109084711459, 121.56354330367006 31.0796993360825, 121.5604806736954 31.077082772639187, 121.55937680733821 31.07556243627568, 121.55935846091887 31.075480849872918, 121.55917959617898 31.074042256606866, 121.55912755263483 31.073382754592913, 121.55924218323304 31.07321731056234, 121.56058710687951 31.07377150544254, 121.5607510510827 31.07397792583363, 121.56129269099496 31.07432461707026, 121.56244724793795 31.07369368389787, 121.56246343327264 31.073684217446594, 121.5624791449776 31.073674174728612, 121.56285860848418 31.07324068540397, 121.56285731152364 31.073233438264836, 121.56285570537335 31.073226234742005, 121.56285380080432 31.073219091951216, 121.56285158168555 31.073212012565534, 121.56284907401238 31.073204998423908, 121.56284627243242 31.073198078316228, 121.56284317246167 31.07319124863304, 121.56283978755712 31.07318452289317, 121.56283612399467 31.073177902003742, 121.56283443294149 31.073175117385276, 121.56184230159947 31.072705153529675, 121.55718392738649 31.070446320954417, 121.55440811367565 31.069680737781034, 121.55303817429092 31.062869217323016, 121.55271170908983 31.06276958941379, 121.55271220020285 31.06276833368012, 121.55281834099239 31.053637575632127, 121.55367413641648 31.053436079632693, 121.55622876050872 31.054230476651163, 121.55626119529329 31.054282873482457, 121.55632859888928 31.05439176143809, 121.55669172586171 31.055408116832925, 121.55699400413368 31.055714771766958, 121.55756254029016 31.056008376739403, 121.56061326761889 31.0566693181509, 121.56075845954737 31.056662075213797, 121.56709390160093 31.050954949484876, 121.56734153041118 31.05069407016179, 121.56760796155345 31.050196519563137, 121.5677868081573 31.049553563946382, 121.56642428165804 31.048066525320504, 121.56619882917794 31.047880416813282, 121.56591157987712 31.047759431359406, 121.56550266077309 31.047637025338165, 121.56521647661256 31.047551279087973, 121.56521625045887 31.04752993473565, 121.56520335803935 31.046316199019905, 121.56525554212074 31.04348913721883, 121.56531004211384 31.04059650704286, 121.56540283600123 31.036329894258426, 121.56435898225439 31.03267384390092, 121.56081668450182 31.029135755653297, 121.55966289267512 31.029328421757736, 121.55861418322758 31.02949663917304, 121.55810239147708 31.02767225143801, 121.55819605296965 31.027102058414744, 121.55977392571107 31.024820895434576, 121.56089095423486 31.024546285716102, 121.56093524119923 31.0245506923088, 121.56097952505348 31.024555192434697, 121.56102378876774 31.024559795932735, 121.56106803772687 31.024564492026236, 121.56111227729974 31.024569287030484, 121.5611565030089 31.024574179131967, 121.56120071396057 31.024579165629586, 121.56124491014717 31.024584254620663, 121.56128909157256 31.024589441607638, 121.56133325913656 31.02459472209601, 121.56137741194321 31.024600096083525, 121.56142155087967 31.0246055725698, 121.56146566967759 31.02461114793892, 121.56150977371797 31.024616815910196, 121.56155386389176 31.024622581884604, 121.56159793930165 31.024628446760033, 121.56164199099337 31.02463440421544, 121.56168603239648 31.0246404650842, 121.5617300491838 31.024646619432996, 121.56177405748396 31.024652866405997, 121.56181804026212 31.024659216755314, 121.56186200469537 31.02466566060525, 121.561905953468 31.0246722015622, 121.56194988389402 31.024678836921822, 121.56199379417328 31.0246855747776, 121.56203768520975 31.024692406137127, 121.56208155610784 31.024699330100095, 121.56212540327647 31.024706352957242, 121.5621692311967 31.02471347382103, 121.56217863584978 31.024715805829544, 121.5621878599565 31.024718616852994, 121.56219688022891 31.02472189245104, 121.56220566531366 31.02472561816615, 121.56221417667943 31.02472978852234, 121.56222239373173 31.024734382790115, 121.5622302761498 31.024739391892712, 121.56223780961285 31.024744794215763, 121.56224495828893 31.02475057169711, 121.5622517042767 31.024756698217114, 121.56225801621707 31.02476316382045, 121.56226387890482 31.02476993429687, 121.56226927353403 31.024776992521016, 121.56227416875733 31.02478431594279, 121.56227856190941 31.02479187757494, 121.56228242613078 31.02479964767933, 121.56228575696564 31.024807597464594, 121.56228853919674 31.02481570621232, 121.56229075851662 31.02482393881152, 121.56229242032047 31.024832274585812, 121.56229350313549 31.024840674809084, 121.56229401415405 31.02484911430884, 121.56229394623142 31.02485756608236, 121.56229330028906 31.0248660031429, 121.56229207188183 31.024874387696098, 121.56229028522773 31.02488269730056, 121.56228793140038 31.02489089505035, 121.56228501848508 31.024898961167157, 121.56228156354227 31.02490686149702, 121.56227984548333 31.02492234298802, 121.5622782412236 31.024937840011077, 121.56227675704615 31.024953341784656, 121.5622753875729 31.024968849197332, 121.56227413727622 31.024984371255314, 121.56227300617374 31.02499988906709, 121.56227199514291 31.025015422426495, 121.56227109881675 31.025030960527005, 121.56227032257644 31.025046498882276, 121.56226966013944 31.025062047374973, 121.56226911779218 31.025077591624832, 121.56226868924828 31.025093146012566, 121.56226838616772 31.025108699767642, 121.5622681968988 31.02512425466469, 121.56226812771033 31.02513981521513, 121.56226817323635 31.025155369712504, 121.56226833795091 31.025170925363362, 121.56226861737402 31.025186481258423, 121.56226902136872 31.02520203202086, 121.56226954007217 31.025217583027274, 121.56227017796436 31.025233135186703, 121.56227093595253 31.025248676805695, 121.56227180775332 31.025264218666155, 121.56227280054146 31.025279755385338, 121.56227390715097 31.025295283349124, 121.56227513296064 31.02531080076943, 121.56236615841719 31.026452300186723, 121.5623664292671 31.026454961807165, 121.56236675569022 31.026457613645068, 121.5623671475355 31.0264602656161, 121.56236758778533 31.026462906890146, 121.56236808898066 31.026465543790103, 121.56236864933899 31.026468165516697, 121.56236926526574 31.026470782858084, 121.56236993497356 31.02647339041272, 121.56237066025552 31.026475987284524, 121.56237144470418 31.026478565384213, 121.56237228472297 31.02648113729897, 121.56237317942333 31.026483694930185, 121.56237413329127 31.02648623288927, 121.56237513735579 31.026488761053617, 121.56237619610778 31.02649126863669, 121.5623773149187 31.02649376194665, 121.56237847856337 31.026496230157008, 121.56237970226287 31.026498688591897, 121.56238097527712 31.026501121935915, 121.56238230387468 31.026503535599268, 121.56238368178714 31.026505924171364, 121.56238510901461 31.026508287652025, 121.56238659182556 31.02651063145139, 121.56238812484352 31.02651295465876, 121.56238970718007 31.026515249175606, 121.56239133435176 31.026517517691506, 121.56606329780286 31.030220120077015, 121.56613244267524 31.030247828789374, 121.56629040522088 31.03029316007224, 121.56802455970401 31.03073395696012, 121.56808328055006 31.030250544009498, 121.56752231341277 31.03016123324822, 121.56745821893453 31.02911478050757, 121.56745629672285 31.029099861341148, 121.5674546339342 31.02908491085072, 121.5674532206801 31.029069945258513, 121.56745206234625 31.02905496365073, 121.56745115803501 31.02903996603075, 121.56745051312133 31.029024963179523, 121.56745012222477 31.02900994971496, 121.567449981751 31.02899493014556, 121.56745010515797 31.02897990983121, 121.56745047897857 31.028964893307876, 121.56745110142096 31.028949876981905, 121.5674519886286 31.02893487430142, 121.56745312983043 31.02891988619594, 121.5674545259282 31.02890490816385, 121.56745616704185 31.02888994832878, 121.5674580720143 31.028875012933447, 121.56746022648524 31.028860102017056, 121.56746264032411 31.02884522004831, 121.56746529916957 31.02883036796563, 121.56746821199373 31.028815550239884, 121.56747137969559 31.028800765966604, 121.56750825899796 31.028809913830436, 121.56754511799048 31.02881913961682, 121.56758194230534 31.028828449667806, 121.56761874272163 31.02883783405928, 121.56765551833354 31.028847300893293, 121.56769225387815 31.028856852918114, 121.5677289709038 31.028866482874793, 121.5677656568414 31.028876192603907, 121.56780231438029 31.028885984799302, 121.56783894172179 31.028895862168902, 121.56787553976909 31.02890581751619, 121.56791210223685 31.028915851764687, 121.56794863630428 31.02892596579429, 121.56798514466125 31.028936162298017, 121.56802161922995 31.028946438607285, 121.56805806449871 31.028956793810977, 121.56809447417828 31.028967232432077, 121.56813085994217 31.028977749935976, 121.56816720563029 31.02898834638218, 121.568203526503 31.028999021720985, 121.56823980819028 31.029009781404458, 121.56827606056723 31.029020624501566, 121.56831227735753 31.029031541142803, 121.56834846573655 31.029042537603043, 121.56838461852242 31.029053612113035, 121.56842074199305 31.029064770950406, 121.56845682537848 31.029076008761724, 121.56849288034914 31.02908732550666, 121.5685288943345 31.0290987212371, 121.56848553034007 31.029299547327884, 121.56946614871325 31.029443018610927, 121.56947497591703 31.02944408142252, 121.56948386284131 31.029444685073315, 121.56949278613337 31.029444832371922, 121.56950169910994 31.029444504648698, 121.56951058289675 31.02944371728771, 121.56951939707565 31.02944247408182, 121.56952810662726 31.02944076710458, 121.56953669177528 31.029438615345516, 121.569545107613 31.029436019024107, 121.56955333437182 31.02943298813561, 121.56956133162112 31.029429538173215, 121.56956907959076 31.029425680033302, 121.56957655401732 31.029421427333155, 121.56958370818695 31.02941679110076, 121.5695905339921 31.029411795671553, 121.56959699549012 31.029406458319542, 121.56960308188566 31.029400796196647, 121.56960875993039 31.02939482656419, 121.56961400894282 31.029388573819304, 121.56961881812023 31.02938206321033, 121.56962316408611 31.029375320046796, 121.56962703065919 31.02936835880751, 121.56963040702688 31.029361215535122, 121.56997804721347 31.02858507996302, 121.57012892688999 31.0281170208602, 121.57052264382637 31.027597424346805, 121.57203318711657 31.027512342216955, 121.57375343318071 31.029183233372734, 121.57487751020268 31.030508062908833, 121.57455749779392 31.03098499887776, 121.57437165162004 31.030856479099583, 121.57363714521408 31.030402636401835, 121.57338018646985 31.030512664732882, 121.57338935776897 31.030530994260694, 121.5733989185517 31.030549170223516, 121.57340885533925 31.030567187326483, 121.57377806546465 31.031211367829158, 121.57437110571357 31.031472128479408, 121.5745637382835 31.031523260290346, 121.57551495767196 31.031769624679594, 121.5755201041083 31.031770102101735, 121.57752021849926 31.03254304146888, 121.57752439565961 31.032544426965835, 121.57752859807597 31.03254575817332, 121.5775328212493 31.03254703334521, 121.57753707418028 31.032548253274204, 121.57754134157042 31.03254941364317, 121.57817271553242 31.032718970966542, 121.57817382620888 31.03271927213807, 121.57817493778983 31.032719568799433, 121.57817604847573 31.032719860073197, 121.57817716456351 31.032720151279392, 121.57817827525389 31.03272043805308, 121.5781793913463 31.032720724759244, 121.57818050744375 31.032721006066655, 121.57818162264132 31.032721287384273, 121.5781838647497 31.032721839976244, 121.57818498085729 31.03272211138395, 121.5781861014673 31.032722381835523, 121.57818722298103 31.03272264867647, 121.57818947501802 31.032723175947037, 121.5781923796833 31.03272071382876, 121.57819523487828 31.032718202835845, 121.57819803519709 31.032715647533603, 121.5782007752379 31.032713047989045, 121.57820346040246 31.03271040413584, 121.57820609069054 31.032707715974322, 121.57820865619969 31.032704982727513, 121.57821116592626 31.032702211481652, 121.57821360636817 31.03269939970504, 121.57821599102346 31.032696554428124, 121.57821831179884 31.032693664955964, 121.57822056598447 31.0326907412181, 121.57822275628534 31.03268777868337, 121.5782248862905 31.03268479080196, 121.57822694611717 31.03268175430634, 121.57822893573908 31.03267869888461, 121.57823086057626 31.032675603778788, 121.57823272061908 31.032672479784647, 121.57823450505975 31.032669331534404, 121.57823621930423 31.032666154463293, 121.57823786965425 31.032662948493616, 121.57823944350646 31.032659712881994, 121.57824094805363 31.03265645833506, 121.57824237789872 31.032653179522264, 121.57824373754299 31.032649876387985, 121.57824502608146 31.0326465543414, 121.57824623541124 31.03264321348307, 121.57824737453628 31.032639852802145, 121.57824843355223 31.032636473320984, 121.57826274688557 31.03237251516316, 121.57771127762169 31.032266683414363, 121.57756879142322 31.03222621274422, 121.57755394264497 31.031241719751055, 121.57898949250178 31.030293354965973, 121.58059563398652 31.02901093115983, 121.58097090122646 31.026979417703124, 121.57736209813017 31.0204780278785, 121.57710058192632 31.020154125300532, 121.57436072990552 31.018620490028, 121.5734092717369 31.017584115430633, 121.57566604693939 31.016893083961808, 121.57595559749801 31.01517238330073, 121.57603263142518 31.01474966965056, 121.57654293245379 31.013714218855363, 121.57654542852488 31.013708294065914, 121.57654795878547 31.013702378790224, 121.57655052503145 31.013696478406267, 121.57681738883848 31.01308322453702, 121.57691072603318 31.01288987322414, 121.5769684101103 31.012785203846526, 121.57701933202955 31.01270805952501, 121.57737520724355 31.01231960019268, 121.5776263746154 31.011890808382834, 121.57697586312382 31.011548547990543, 121.57603473337821 31.01090298220051, 121.57603101565715 31.01089556414806, 121.57602759942698 31.01088803672484, 121.57602448738145 31.010880407102228, 121.57602168580985 31.0108726887112, 121.57601919380825 31.010864886961567, 121.57601702306683 31.010857011627973, 121.57601517177578 31.01084907802594, 121.57601363094042 31.010841080854036, 121.576012420339 31.01083304599491, 121.5760115354701 31.010824977095893, 121.57601097453038 31.01081687957494, 121.57601074021316 31.010808763300485, 121.57601082530996 31.010800644543373, 121.57601124511145 31.010792532138552, 121.57601198071985 31.010784430784174, 121.57601305102034 31.010776356473922, 121.57602916654456 31.010682977402197, 121.57632746595873 31.01016713481401, 121.57641188730946 31.010046262088803, 121.57645348969446 31.010024978454258, 121.57653309515237 31.010030281422193, 121.5765458380108 31.01001422453491, 121.57654797593293 31.01001152977461, 121.5765499690223 31.010008752036864, 121.57655181187373 31.010005900378953, 121.57655349458793 31.010002975810373, 121.57655501715585 31.009999992727042, 121.57655637957431 31.009996956527655, 121.57655758274609 31.00999386180471, 121.5765586095609 31.00999072944029, 121.57691293575556 31.008864674108956, 121.57691470459989 31.008858957158186, 121.57691623947248 31.008853196969422, 121.57691752776975 31.008847399984184, 121.57691858209425 31.008841560662276, 121.57691845923134 31.00883741531988, 121.5769182058647 31.008833281352228, 121.57691781840191 31.00882914440464, 121.57691730043292 31.008825023330065, 121.57691665645491 31.00882092347567, 121.57691587837274 31.00881683593587, 121.57691496977922 31.00881277416536, 121.57691393157931 31.00880872915649, 121.57691276286256 31.008804720712785, 121.57691147353717 31.00880073342673, 121.57691005459212 31.008796788093093, 121.57690850603352 31.008792873915, 121.57690683685564 31.00878900158661, 121.57690504255665 31.008785174757175, 121.57672110831027 31.008406795443467, 121.57671031587046 31.00839731153428, 121.5766993577945 31.008387975129168, 121.57668823588469 31.008378784404353, 121.57667695734361 31.008369736575954, 121.57666551947148 31.008360834368933, 121.57665392136646 31.008352084986544, 121.57664217833198 31.008343481956402, 121.57663027956322 31.008335039789483, 121.57661823586491 31.00832675026426, 121.57660604723739 31.008318616075492, 121.57659372357725 31.008310644307134, 121.57658125499054 31.008302828766496, 121.57656864597541 31.008295174797727, 121.5765559109297 31.00828768673617, 121.57654304175522 31.00828036556693, 121.57653004205348 31.008273210346406, 121.57651692262169 31.008266227249557, 121.57650367806497 31.008259410033908, 121.57649031827846 31.008252768483484, 121.57647683786628 31.008246299054903, 121.57646324312711 31.008240005274022, 121.57644954306093 31.008233887038386, 121.57643573226962 31.00822794530323, 121.57642182245274 31.00822217993697, 121.57640780640516 31.00821660541014, 121.57563270915841 31.007915087209817, 121.5748182365762 31.007629168411164, 121.57495406703437 31.00709979547787, 121.57505118749502 31.00706871085226, 121.57652765243964 31.005751682903703, 121.57663823912462 31.005637102481717, 121.57677516781337 31.005376524670062, 121.57690356123916 31.00488684514105, 121.5767805857776 31.00455267609185, 121.57461203491101 31.00408059177951, 121.5652171936901 31.001816219617883, 121.55973999126152 31.00017269293822, 121.5592931058103 30.998351027399412, 121.55911248090305 30.994952275415336, 121.55909753083593 30.994944224193492, 121.55823911720535 30.994481650500216, 121.55750902369971 30.994231969896735, 121.55546768282454 30.99463387918808, 121.5554559620519 30.99464262365502, 121.55544455085261 30.99465167560373, 121.5554334617438 30.994661020747422, 121.55542271171633 30.99467065293522, 121.55541229987288 30.994680573968164, 121.5554022458842 30.994690757020493, 121.5553925506419 30.994701203907898, 121.55538322308507 30.994711898514847, 121.55537427841577 30.994722836475617, 121.55536571663015 30.994734012399125, 121.55535755739956 30.994745402159356, 121.55534979177722 30.99475701018948, 121.5553424439068 30.994768811500332, 121.55533550841973 30.994780811454024, 121.55532899604218 30.99479298045055, 121.55532291124551 30.994805327532262, 121.55531725849491 30.994817823046745, 121.55531204404954 30.994830467051816, 121.55530727685027 30.9948432506284, 121.5553029577866 30.99485615309207, 121.55529909043288 30.994869163678693, 121.5552956765758 30.994882277907895, 121.55529272426102 30.994895476953076, 121.55529022990773 30.994908749089348, 121.55528820335267 30.994922085402575, 121.55528663922651 30.994935475051964, 121.55528554199793 30.994948899179175, 121.55528491703333 30.994962357829973, 121.5552847553836 30.99497582393461, 121.55565463765207 30.995227458756933, 121.55570105865554 30.995253285806207, 121.5533460406281 30.99853723818549, 121.55333962311315 30.998542308583954, 121.55333304737061 30.99854721632495, 121.55332631697726 30.99855197313922, 121.55331943729834 30.998556567379463, 121.55331241369886 30.998560996396908, 121.55330525601433 30.998565253087673, 121.55329796424542 30.9985693383495, 121.55329053839287 30.998573252180233, 121.55328299812618 30.998576984873992, 121.55327533361181 30.998580540830705, 121.5532675645191 30.998583911244637, 121.55325969084868 30.99858709521418, 121.55325171349534 30.99859009274643, 121.55324364586966 30.99859290487214, 121.55323548439674 30.998595519856746, 121.5532272487453 30.998597939693187, 121.55239630929594 30.999044381552263, 121.55091216763275 30.999311969496233, 121.55082801997527 30.99922224700453, 121.55064155965457 30.999204502835095, 121.55036921982425 30.99920485607282, 121.55011218670903 30.99922591909525, 121.54991734150151 30.99924831426765, 121.54905959075393 30.99963976335677, 121.54899640154744 30.999705735979834, 121.54894017550947 30.999819150531955, 121.54893832458504 30.999940647288913, 121.54899904684251 31.0000366744387, 121.54913876799966 31.00006034646798, 121.54927847508044 31.000371757027466, 121.54771790170629 31.000591010080388, 121.54733702879727 31.000569079755323, 121.54631934938439 31.00017914878763, 121.54628750868413 31.000170117852036, 121.54625581728419 31.00016068904468, 121.54562229143926 30.99991208940664, 121.54561300181471 30.999907346924473, 121.54560416754263 30.999901981134766, 121.54559584574821 30.999896027963405, 121.54558808373646 30.9998895267935, 121.54558093238339 30.999882514360745, 121.54557444167155 30.999875036386253, 121.54556865087048 30.99986714293467, 121.54556359478649 30.999858884905603, 121.5455593073335 30.999850313185384, 121.54555581974702 30.999841483119866, 121.54555314987306 30.999832448960372, 121.54555131020011 30.999823277476942, 121.54555032303986 30.999814007687252, 121.54555018570495 30.999804721436195, 121.54555090086839 30.999795461053974, 121.54555247030788 30.999786299450264, 121.5455548734876 30.999777284015423, 121.54555810593827 30.999768475869267, 121.54563615612041 30.99929260614827, 121.5443203332371 30.999143494290387, 121.54431705309456 30.999145131304303, 121.54431385773351 30.99914688926316, 121.54431075072465 30.999148758322825, 121.54430773920743 30.999150743989738, 121.54430482585978 30.999152841805344, 121.54430202228532 30.999155035747485, 121.54429932759034 30.999157341999844, 121.54429674713141 30.999159739047585, 121.5442942907255 30.999162233337138, 121.54429195301816 30.99916481489052, 121.54428974471949 30.99916748296902, 121.54428767029277 30.99917022864191, 121.54428573509291 30.99917305109007, 121.54428393287287 30.999175940321955, 121.54428227523493 30.999178902810886, 121.54428076218015 30.999181921460636, 121.54427940174185 30.999184987393953, 121.54427818588636 30.99918811128812, 121.5442771288952 30.999191277161277, 121.5442762254139 30.999194475035157, 121.54427547097954 30.999197710241663, 121.54427487987275 30.999200973997407, 121.54427444852426 30.99920425905032, 121.54421538133745 30.99988488389322, 121.54422753663323 31.000942553350697, 121.54114183493733 31.00101970344359, 121.537569891367 31.001063635580802, 121.53522832318993 31.001571655128096, 121.534763104318 31.001681494417603, 121.53421371435401 31.0019216542052, 121.5277665765237 31.005216118373834, 121.5271166285188 31.005996819207475, 121.52656688688278 31.007320784839784, 121.52663664741205 31.007822564642073, 121.52680879066719 31.00775934784703, 121.52693312077237 31.00776250767547, 121.52791197990864 31.007828252288935, 121.52808184870582 31.007900233554416, 121.5282341039336 31.008106838214278, 121.52840085338349 31.008381497783486, 121.52842911793493 31.008557896541053, 121.5283498823285 31.008804372831076, 121.52784895133561 31.008969902359734, 121.52716043563832 31.009046919078884, 121.52714669720595 31.009048438397382, 121.52666884585162 31.010684398212266, 121.52565903246044 31.01184457816766, 121.52508669153895 31.012235490605196, 121.52506387151878 31.012247011964764, 121.52504070902783 31.012258024510423, 121.5250172299586 31.012268512394417, 121.52499344322986 31.01227848204251, 121.52496935866849 31.012287917399618, 121.52494500126332 31.012296819698133, 121.52492038173354 31.012305173792775, 121.52489551346154 31.01231298526434, 121.52487042323371 31.012320238271386, 121.52484510925862 31.01232693909957, 121.52481960724806 31.012333072918757, 121.52479392255266 31.0123386443047, 121.52476807302936 31.012343643596214, 121.52474207563587 31.012348071016408, 121.52471595536643 31.012351922390575, 121.52468971043463 31.012355197702668, 121.52466337655068 31.01235788661352, 121.52463695816976 31.012359999080772, 121.52461048118234 31.012361527337717, 121.52458395451558 31.01236246880113, 121.5245574031572 31.012362830985055, 121.52453083782548 31.01236260322966, 121.52450427726222 31.012361790269292, 121.52447774199692 31.01236039326075, 121.52445124720133 31.012358416891285, 121.5227454766907 31.01354278262705, 121.52271535254076 31.01354595066496, 121.52268514826149 31.013548604698386, 121.5226548799324 31.013550732319924, 121.52262456809126 31.013552330168018, 121.52259421094746 31.01355340362431, 121.52256382903721 31.013553952024207, 121.52253343753958 31.01355397464129, 121.52250303734901 31.01355346878817, 121.52247265078485 31.013552438315084, 121.5224422849943 31.013550877904052, 121.52241195425573 31.013548798510076, 121.52238166839867 31.013546190345068, 121.52235144795709 31.01354305813376, 121.52232129114493 31.013539402752833, 121.52229121939052 31.013535228035245, 121.52226124251597 31.01353053498484, 121.52223136945227 31.01352532279532, 121.52220162162638 31.01351959799483, 121.52217199725358 31.01351336055677, 121.52214251776735 31.013506608910095, 121.52211319744713 31.01349935579835, 121.52208403094615 31.013491588558793, 121.52205505307579 31.013483329154393, 121.52178382104766 31.013402553325665, 121.52176732629681 31.013397579728714, 121.52175100504247 31.013392193430995, 121.5217348688916 31.013386399048784, 121.52171892589001 31.013380186765236, 121.52170319656042 31.013373581083467, 121.52168769073349 31.013366574003925, 121.52167242894079 31.013359178332855, 121.52165741564414 31.013351401307084, 121.52164267048876 31.013343246725697, 121.52162819883075 31.01333472003497, 121.52161402477638 31.013325831377994, 121.52160014385845 31.013316586096497, 121.52158658196612 31.013306998849995, 121.52157334713878 31.013297069714078, 121.52156045008678 31.013286809588326, 121.52154790062845 31.013276228463265, 121.52153570947179 31.013265340836913, 121.52152389091057 31.013254142351744, 121.52151245475586 31.013242652894196, 121.52150140546463 31.013230886896356, 121.52143741369036 31.013162209760466, 121.5214297492218 31.013153780642185, 121.52142236708217 31.013145165584213, 121.52141526279739 31.01313637803027, 121.52140844708502 31.01312741808794, 121.52140192975806 31.013118302049484, 121.52139570456718 31.013109028045932, 121.52138978757989 31.013099607936745, 121.52138417432533 31.01309005066787, 121.5213788781964 31.013080361773234, 121.52137390008363 31.013070545756726, 121.5213692399763 31.013060618808844, 121.52136490769612 31.013050584627322, 121.52136090234666 31.013040448597664, 121.52135723017264 31.013030221578006, 121.52135389116789 31.013019912562413, 121.52135088979387 31.013009527892457, 121.5213482305106 31.01299907570936, 121.52134590973789 31.01298856766966, 121.52134393640362 31.012978008362786, 121.52134230513941 31.012967412126226, 121.5213410266624 31.012956779070077, 121.52134009114057 31.012946120786946, 121.52133950213765 31.012935449908685, 121.52133926679672 31.01292476830838, 121.52133937885252 31.012914095713523, 121.52134227315054 31.012892892518188, 121.52134528709321 31.01287170496327, 121.52134842068298 31.01285052945087, 121.52135167302728 31.012829365072793, 121.52135504411872 31.012808221726235, 121.52135853485733 31.012787089525126, 121.5213621398775 31.012765978310856, 121.52018606131296 31.011140480871955, 121.52016792255094 31.01113520079326, 121.52014955013809 31.011130609712385, 121.52013096908452 31.01112670697688, 121.52011222314562 31.011123512803067, 121.52009334269327 31.01112102388663, 121.52007436166552 31.01111924865109, 121.52005532114808 31.011118193785816, 121.52003625062197 31.011117854172824, 121.52001718849478 31.011118235572308, 121.51999817139456 31.01111933292936, 121.51997924309357 31.011121145752092, 121.51996042860368 31.011123676069886, 121.51994176188161 31.011126908000218, 121.51938691192227 31.011233388392426, 121.51937882474732 31.01123497192868, 121.51937081153213 31.011236831478357, 121.51936289283519 31.01123895192786, 121.5193550731202 31.011241338712985, 121.51934737204944 31.011243981209915, 121.51933979051607 31.011246880323995, 121.51933234728546 31.011250030821046, 121.51932505397555 31.01125342830279, 121.51931791863132 31.011257066539994, 121.51931095198024 31.011260936627735, 121.51930416384722 31.01126504314837, 121.51929756049644 31.01126937175915, 121.51929116426695 31.011273917256073, 121.51928496712229 31.011278674166896, 121.51927898872411 31.011283633664952, 121.51927323800776 31.011288794926028, 121.51926772570401 31.011294143646328, 121.51926244734965 31.011299675285073, 121.51925742707499 31.011305378355335, 121.51925265952605 31.011311243810137, 121.51924815542809 31.011317266342537, 121.51924392908214 31.011323437078445, 121.5192399706654 31.01132974963087, 121.51923630073917 31.011336185284286, 121.51920519692217 31.011343135510167, 121.51917389411194 31.011349424405836, 121.51914241732423 31.01135504770654, 121.5191107871021 31.011360010103243, 121.51907901863729 31.01136430274314, 121.51904713069088 31.01136792400033, 121.51901514381655 31.011370864165315, 121.51898307676743 31.01137313510339, 121.51895094652484 31.011374726170747, 121.51891877631488 31.011375642069687, 121.51888658132864 31.011375878434905, 121.51885438211536 31.011375435443398, 121.51882219832817 31.011374318660422, 121.51879004337631 31.01137251740232, 121.5187579494197 31.01137004183416, 121.5187259200329 31.011366891982018, 121.51869398470215 31.011363068987148, 121.51866215414782 31.01135857743059, 121.51863045786081 31.011353413050937, 121.51859890655935 31.01134758492394, 121.51856751900627 31.011341098591718, 121.51801844675144 31.011224468940547, 121.51730881319482 31.010927937213484, 121.51724584318015 31.01089810077013, 121.51694509851549 31.01073012605881, 121.5168838160321 31.01069515300226, 121.51637173588746 31.010399983218257, 121.51565413710642 31.010266291757233, 121.51548332333898 31.010239873260115, 121.51502651959386 31.010204532651237, 121.51500915348511 31.01020353288121, 121.51499176278593 31.010203148651442, 121.51497437164024 31.010203380086317, 121.51495701045181 31.010204227340658, 121.51493970783999 31.010205685159942, 121.51492248884122 31.010207758166437, 121.51490538923096 31.010210438439387, 121.51488843405335 31.010213719800984, 121.51342937489184 31.010067652058485, 121.51229734354787 31.009961246598674, 121.51187321901965 31.009872283176687, 121.51130805205372 31.009747958201253, 121.50984134803639 31.008992352340307, 121.50951472285587 31.008783762554035, 121.50938184797425 31.008697301206638, 121.50543563947724 31.005625176998414, 121.5049997345425 31.004353710036185, 121.5049861412339 31.003915063399106, 121.50194845568409 31.00376070874338, 121.49962285219183 31.010183327416144, 121.4984968730199 31.01375772005759, 121.49784240039634 31.015880825732662, 121.49829498310561 31.016742095524357, 121.49881833462477 31.018159916928457, 121.49882751625726 31.0181874301419, 121.49883518553256 31.01821529933197, 121.49884132185868 31.01824346440778, 121.49884591002892 31.018271866127677, 121.49884894022297 31.018300444300035, 121.4988504134065 31.01832912333325, 121.4988503188489 31.01835785385401, 121.49884865750775 31.01838656568166, 121.4988454384156 31.018415193955782, 121.49884066162424 31.0184436739162, 121.49883434243587 31.018471955043818, 121.49882649078958 31.01849995629456, 121.49881712736631 31.018527633402325, 121.4988062710798 31.018554907039874, 121.49879394260569 31.018581735651033, 121.49878018240082 31.018608044190135, 121.49876500486097 31.018633782179872, 121.49874845401882 31.018658890738173, 121.49873056132526 31.018683322813487, 121.49871137171884 31.01870700872382, 121.4986909193377 31.01872990769135, 121.49866925449382 31.018751965273545, 121.49864642749702 31.018773129727197, 121.49851973170324 31.01888539321133, 121.49815978565483 31.019102155071117, 121.49697688762011 31.019815167300777, 121.4952604762724 31.020827342123354, 121.48304196088247 31.019043192842442, 121.48081737013729 31.018656046968967, 121.47705237000844 31.01735372655625, 121.4756520951284 31.01676700486688, 121.47306098543328 31.015680810938893, 121.47067239067539 31.01467823091548, 121.46805132578535 31.013710204004507, 121.46386105831405 31.013620691928082, 121.46014379978 31.01363512074918, 121.45429315351664 31.013691732277422, 121.45413209518584 31.013692849352605, 121.45056568245676 31.013094667898265, 121.44733887365213 31.012486864369873, 121.44453420019933 31.010942593670098, 121.4417321116634 31.00933191398911, 121.44014196935196 31.007792925583125, 121.43782810120703 31.005507158526438, 121.43671092726355 31.004401390530127, 121.43636393464298 31.004152963062648, 121.4341111886942 31.002664589903635, 121.43305062253361 31.0020842614892, 121.43087494423206 31.001012055715208, 121.42391578842307 30.998226183579735, 121.41902207841517 30.996734150857552, 121.41662930793318 30.996159131137638, 121.4127894520887 30.9953346094437, 121.41033643216447 30.994888031278624, 121.40569310376509 30.994147042464206, 121.40318225425905 30.99379819873637, 121.39963281607729 30.993310572257986, 121.3976957248108 30.992876955811937, 121.39442041148517 30.991963252790008, 121.39132344605308 30.990930294122037, 121.37946050242014 30.987503630447645, 121.3770758942615 30.98683184893504, 121.37556315541016 30.986445605607948, 121.36661055367219 30.984044149128305, 121.36315789545334 30.982848061762887, 121.36260858192364 30.98270822223694, 121.36154309668619 30.98243724726936, 121.35987171127762 30.98216621630786, 121.35814455130333 30.981988464497274, 121.35609206390941 30.98185865824393, 121.35219568288969 30.982060397211374, 121.35050952162064 30.982668640453443, 121.34970954553174 30.982988937354126, 121.34806051444338 30.983648489025185, 121.34408420911812 30.985506924548837, 121.34223180765544 30.986432791528557, 121.33995109170093 30.987170096011102, 121.33838239731939 30.987350542797547, 121.33688886907353 30.98737082119681, 121.335791470736 30.987384513654654, 121.3339108619521 30.986955089463873, 121.33377852741962 30.986898390236984, 121.33358910342741 30.986817197681063, 121.33270437645857 30.988244566831877, 121.33264640678894 30.988338071496827, 121.33245478977669 30.988832585771185, 121.33237793392696 30.989207079339426, 121.33236881789878 30.989739509175045, 121.33237442658474 30.99018120598764, 121.33237481074725 30.99021156537706, 121.33326464662716 31.00060246325489, 121.33328854555988 31.00084467207785, 121.33337284778774 31.00125678680141, 121.33353659134421 31.001560611491158, 121.33371572485197 31.001791932950816, 121.33400675834501 31.002072465485348, 121.33434736398452 31.002341174859275, 121.33841131406679 31.00538943099579, 121.34135899960258 31.008022593187178, 121.34158368162252 31.00827019282041, 121.34359106758745 31.010860639255483, 121.34480857470918 31.01254744752065, 121.34493224876857 31.012750990457455, 121.34535079637145 31.014016081406453, 121.34584133378931 31.015332256424568, 121.34602679204336 31.01582983461076, 121.3460389686895 31.015862511265976, 121.34633555678579 31.016363867890192, 121.34651829371404 31.01658901603621, 121.35006216884621 31.02041484036143, 121.3440760846841 31.020405365152357, 121.3435144341107 31.020403500526232, 121.34147558273075 31.02039499489005, 121.33948194752932 31.02038382940105, 121.33974366064078 31.023469255756314, 121.33982204176833 31.02581706979452, 121.33953382915995 31.027413989647453, 121.33963012516976 31.03208992818521, 121.3398155440358 31.04065294701659, 121.34001071045945 31.04669256302781, 121.34006644468754 31.046979661476502, 121.34078833509243 31.049350474624095, 121.3409707876546 31.04983753814648, 121.34111954651566 31.051666283923566, 121.34163312528703 31.057962581175357, 121.34164383916472 31.0632623288839, 121.34165199813286 31.06345670948259, 121.34167169689366 31.063697216417886, 121.34169860992928 31.06387276039996, 121.34173639637727 31.063996626523007, 121.34176825990411 31.064090655841753, 121.34144660140994 31.0668836043428, 121.34158880101066 31.066894043639014, 121.34165465716184 31.066996388816275, 121.34280849372242 31.06878874166499, 121.34809015479036 31.069519363770734, 121.34861567726612 31.067764926667476, 121.34879229371614 31.066893963292785, 121.34886384529287 31.06605343624548, 121.34889065174832 31.06547825692867, 121.34892900131243 31.06517456910862, 121.34967506208113 31.06526169201551, 121.35095650440529 31.065473257159784, 121.3564409522761 31.066890021933727, 121.3630632174791 31.069039708171466, 121.36325788504935 31.0691440772778, 121.36432357689999 31.069858063864796, 121.36998183734902 31.074514466357822, 121.37023450212847 31.076221625467497, 121.36945961891854 31.07712603254745, 121.36840759211181 31.078527664990375, 121.3683170120735 31.07865741459814, 121.36997543923744 31.081324261236503, 121.37151210859797 31.083200733515234, 121.37235785932964 31.083793648763915, 121.37508634246716 31.084723484806286, 121.37659029223165 31.083823016491362, 121.37722144614357 31.084078494310123, 121.37866094724532 31.084685952176276, 121.37878932141714 31.085545977694245, 121.37880099352061 31.0856241748817, 121.3789300430904 31.085663266094084, 121.37633907553422 31.091870392485053, 121.37518714402115 31.093945596825098, 121.37491597410948 31.09443413681174, 121.37476335568957 31.094642655540074, 121.37349142658202 31.09624528846751, 121.37319859295188 31.096614341693748, 121.37249048432386 31.09750687836768, 121.3728374451331 31.09793822850284, 121.37296248447191 31.0983212640751, 121.37288268112243 31.098565329474557, 121.37287405153232 31.098591719472083, 121.37273600425021 31.099013877364925, 121.37257010482075 31.099521194056585, 121.37229860794037 31.100053931171107, 121.37229951302102 31.10005426101872, 121.3720670431963 31.100512222247836, 121.37122828001172 31.10216449194908, 121.36957781779505 31.105415331605688, 121.36910503689978 31.106174293716673, 121.36908286600213 31.106209882254586, 121.36215524067593 31.105858942968297, 121.35778121890107 31.10500207340136, 121.35517871764984 31.11236394435834, 121.35984316618809 31.113607908637917, 121.36372366451593 31.116433027644707, 121.36333243965058 31.117283583929325, 121.36258499823805 31.11829753899557, 121.36256423617459 31.11831045020694, 121.36254253620447 31.11832210008917, 121.36251995174048 31.118332424800872, 121.3624965968518 31.11834136220643, 121.36247259737627 31.118348878767616, 121.36244805923614 31.1183549286726, 121.36242311913426 31.118359488996337, 121.36239789657354 31.11836252899407, 121.3623725228263 31.118364035720166, 121.36234711920706 31.118364002686974, 121.3623218160837 31.11836243135291, 121.36229674473054 31.118359326756778, 121.36227202103154 31.118354704984018, 121.36224777988292 31.11834859530129, 121.36222414260193 31.11834101459801, 121.36220122597864 31.118332017626255, 121.36217913956158 31.118321634960694, 121.36215799923636 31.118309922263546, 121.36213791545636 31.118296950580906, 121.36211898056898 31.118282775059612, 121.36210129778564 31.11826746326372, 121.3620849494942 31.1182510992961, 121.36207002623102 31.118233761726547, 121.36205659227679 31.11821554395467, 121.36204472820847 31.11819652921464, 121.36201375266653 31.118182568113756, 121.36198261495582 31.118168864576365, 121.36195132141303 31.118155429297843, 121.36191986207886 31.118142261545508, 121.36188825596584 31.118129357408403, 121.36185648949261 31.11811672611125, 121.36182457624001 31.11810435753414, 121.36179252163947 31.11809226148687, 121.36176031663709 31.118080439021174, 121.36172797571858 31.118068888099558, 121.36050935878077 31.117643128003298, 121.35850788016378 31.11920414895419, 121.35717503688107 31.121207697507348, 121.35716488375571 31.1212233089152, 121.3571578962656 31.121241046908423, 121.35715103553807 31.1212588232084, 121.35714428980086 31.121276632618834, 121.35713767082838 31.121294469538732, 121.35713116684627 31.12131233956891, 121.35712478419386 31.12133024260035, 121.35711852740128 31.121348168657928, 121.35711239103274 31.121366127732173, 121.35710637056128 31.12138411450232, 121.3571004759495 31.12140212429838, 121.35709470266725 31.121420167095295, 121.35708905977313 31.121438231940484, 121.35708352734194 31.12145632547444, 121.35707812620424 31.121474441940734, 121.35707284096443 31.121492580704032, 121.3570676815831 31.121510747891403, 121.35706264806147 31.12152893810427, 121.35705773496568 31.12154715143597, 121.35705294772973 31.121565386893327, 121.35704828635428 31.121583639977583, 121.35704374178316 31.121601911744076, 121.35703932669416 31.121620206473576, 121.35703503837038 31.121638523312992, 121.35703086503949 31.12165685886565, 121.35702682390861 31.12167521193606, 121.3570229023001 31.121693577343617, 121.35701911198363 31.121711971081325, 121.35701544300267 31.121730368127523, 121.35701189897472 31.1217487918133, 121.35736981130505 31.12213767400469, 121.35737587746652 31.12214389762732, 121.35738215919969 31.12214995829452, 121.35738864291824 31.122155864337333, 121.3573953376817 31.122161602104395, 121.35740221451034 31.122167171193944, 121.35740927702899 31.12217256254653, 121.35741653701074 31.122177775060326, 121.35742396185461 31.122182804796957, 121.35743156333594 31.122187641657185, 121.35743933149176 31.12219229031099, 121.35744725092783 31.12219674652437, 121.35745532527018 31.12220099493974, 121.3574635418379 31.122205045672146, 121.35747190425583 31.1222088887624, 121.35748039712848 31.12221252447523, 121.35748900143996 31.122215944139924, 121.35749773620884 31.122219145630684, 121.35327512882762 31.128086612721965, 121.35057099666007 31.135468790784625, 121.35055846419968 31.1356462680296, 121.3507308195343 31.135793613246573, 121.35108152558267 31.135986769321786, 121.35121739946644 31.136172918175085, 121.35118316894757 31.13638267185956, 121.3503167018791 31.138068246032052, 121.3453819227965 31.14692127638707, 121.33600808223486 31.16174064545089, 121.33573328294088 31.162161398470353, 121.33553139491904 31.162436850960816, 121.33532025882424 31.162712475815148, 121.33510812199279 31.162916073528116, 121.33270553284754 31.16429650380999, 121.33241896470355 31.16426461404738, 121.33116797012252 31.163982411627643, 121.32601840700522 31.163732960639937, 121.32899876003576 31.170208876351996, 121.32875116004318 31.170515598356044, 121.327240219173 31.173279216789275, 121.32642192778246 31.174860821661742, 121.32584733361865 31.176065930515623, 121.32497895696001 31.177929384115124, 121.32496303309411 31.178219821236606, 121.3245239457147 31.17992889183421, 121.3244051730107 31.18024466778572, 121.32424648008121 31.18065087471803, 121.32329875251165 31.18232854804366, 121.32301261945776 31.182789924603192, 121.31970268646803 31.187636421864323, 121.31713893025487 31.191311856480006, 121.31572603583167 31.193248986170403, 121.31208569842497 31.197986488746892, 121.30785394772208 31.203251561624985, 121.30239362236793 31.20941912428417, 121.30225768179798 31.20947293586022, 121.30116546141838 31.20924400219564, 121.29900739611594 31.208423277521405, 121.29900594839089 31.208407602095875, 121.29894098106031 31.207122558084464, 121.29880894045891 31.206819191082847, 121.2985061598706 31.20636683261149, 121.29660438203844 31.20442813283562, 121.29519459995477 31.20328450516055, 121.29391952567696 31.20228880350802, 121.29143211933469 31.200645987105688, 121.29037106852564 31.200225054257565, 121.28782031421689 31.199750977180543, 121.28399675229907 31.199313989102404, 121.28374190778588 31.199482822369, 121.28331962937429 31.199798434846947, 121.28176855269511 31.20101218113474, 121.28036086371868 31.202141116264837, 121.27689565256065 31.20534572486305, 121.27009725137158 31.21198526697105, 121.27063125989046 31.21212938850298, 121.27136551102323 31.212652386707724, 121.27064542516895 31.214598272294808, 121.26981341775516 31.216245011963426, 121.26521734336224 31.22778921646049, 121.26475633054484 31.232732497101605, 121.26443323254905 31.23553683572569, 121.26391551780982 31.236465584595244, 121.26020545057374 31.242054589252156, 121.2592272228314 31.242819284239605, 121.25439553058328 31.24656405538208, 121.25378686148593 31.246276552576816, 121.25206637088057 31.24595375750765, 121.25059195926754 31.245994623882922, 121.25002751940312 31.246021597865994, 121.24803501838224 31.246146815394386, 121.24802493993575 31.246151834855688, 121.24801518710002 31.246157323211563, 121.24676552881046 31.246919033431105, 121.24674847508582 31.246929443781067, 121.24673161259625 31.246940071461058, 121.24671493592197 31.24695092555281, 121.24669845951092 31.2469619968113, 121.24668217794742 31.246973285322483, 121.24666610297001 31.246984784585543, 121.2473570588485 31.25103632895571, 121.24828927281314 31.253004771589104, 121.24832177507342 31.253051747863953, 121.25407806296147 31.25909075128232, 121.25517693921093 31.260153352742265, 121.25666756441869 31.261365131619648, 121.25855523512134 31.26230811146288, 121.26027049450158 31.26311794263568, 121.26049050455033 31.263265883520788, 121.26077456722048 31.26349302264516, 121.26094189284956 31.26365182455114, 121.26106450608734 31.264872127497668, 121.26095410274411 31.26525992010745, 121.2610814536767 31.26523178473626, 121.26108030040017 31.26522832080172, 121.26273097591795 31.264816432950315, 121.27103970949227 31.262290326240393, 121.27148742926452 31.26204291501749, 121.27137647060785 31.261895153093008, 121.27495657116812 31.257698794773503, 121.28311327851819 31.258662299724392, 121.28968298918267 31.25797444796333, 121.28998339415872 31.2579320631134, 121.29041254241916 31.257788342372088, 121.29077970682687 31.257634463143315, 121.2903125321381 31.2566996982266, 121.28982898773138 31.255837830408307, 121.28924141135134 31.2550085031478, 121.29107611065733 31.250619250354127, 121.29107451725159 31.250617423805707, 121.29118821021281 31.250544431769647, 121.29217667060985 31.25020362665591, 121.29401828167292 31.246692032455833, 121.29484937327763 31.2447405153685, 121.2987153598555 31.2391506470224, 121.29871988088594 31.239143701536804, 121.29953714743614 31.23876301713055, 121.30001621011581 31.23853983288835, 121.30079237443887 31.238237387449153, 121.3025765179342 31.23754173043801, 121.30436532509651 31.23689037938823, 121.30552339987553 31.236778112881492, 121.30569319228782 31.236802561869624, 121.30663343776959 31.236937683579647, 121.3111650679065 31.236272893359807, 121.31444409948855 31.235607041178906, 121.31613342692084 31.23518915399766, 121.31616729478837 31.23518075441384, 121.31632109687904 31.235142594378704, 121.31702763753988 31.23494963523707, 121.31933805460235 31.233732453609466, 121.3201240582531 31.2335376574772, 121.32251427108554 31.233647652549273, 121.32505793010542 31.2341904104136, 121.3258600418291 31.23465300099713, 121.32725651114923 31.23545658761613, 121.3289951203055 31.23587587063112, 121.33249404533204 31.235877987448205, 121.33485375867564 31.236481770390917, 121.33864488709015 31.23761448236845, 121.33884466768785 31.23767381053601, 121.33964564686461 31.237911343110735, 121.3409433804301 31.23863643421098, 121.34122560255149 31.239147410999028, 121.34084288075586 31.241419100671514, 121.34305075743087 31.243000028294038, 121.34373221654113 31.243487201151734, 121.34457701329501 31.24409067902836, 121.34458379429431 31.24409551902861))'),
+ (26802,'POLYGON ((121.52296133913221 31.25288732123441, 121.52299557659249 31.253582357850224, 121.52305755873618 31.254939238534323, 121.52307545704996 31.255426048477755, 121.52305161597822 31.256202372760512, 121.52305164882733 31.256204823441124, 121.52305167631962 31.256207274059623, 121.5230517047046 31.256209724688418, 121.5230517223716 31.256212180590097, 121.52305174004218 31.25621463199424, 121.52305175770962 31.256217086996326, 121.52305177091593 31.25621953834859, 121.52305176849121 31.256222553520356, 121.52305174106395 31.256225573799526, 121.52305168417477 31.256228593737244, 121.52305160764396 31.256231613447323, 121.52305150075779 31.256234633705112, 121.52305136887402 31.25623765277368, 121.52305121288937 31.256240666165773, 121.52305102654901 31.256243680105666, 121.52305082056807 31.25624669291838, 121.52305057977189 31.256249700830107, 121.52305031932985 31.256252713911262, 121.52305003389418 31.256255721305752, 121.5230497190006 31.256258722961764, 121.52304937910898 31.25626172432815, 121.52304901421833 31.256264726304444, 121.5230486198701 31.256267722542376, 121.5230482005236 31.256270718490736, 121.52304776153993 31.256273708814536, 121.52304728774124 31.25627669423745, 121.52304679340884 31.256279678523118, 121.52304627497469 31.25628265803204, 121.52304572172103 31.256285638037276, 121.52304515329482 31.256288611570266, 121.52304455005346 31.256291580202564, 121.5230439271741 31.25629454410999, 121.52304327483348 31.256297506776832, 121.52304260196566 31.256300460210962, 121.52304190052918 31.256303412414965, 121.52304116784872 31.256306359759826, 121.52304087944087 31.256307511406423, 121.52304058567198 31.25630866838806, 121.5230402820868 31.256309819858995, 121.52303998296111 31.256310976778696, 121.52303967401919 31.25631212818767, 121.52303936596917 31.256313280506582, 121.52303905167469 31.256314426456566, 121.52303873380393 31.256315578661823, 121.52303841504114 31.256316729957366, 121.52303808646127 31.256317876641635, 121.52303775788134 31.25631902332596, 121.52303742929772 31.256320174507916, 121.52303709536537 31.256321315733285, 121.52303675696461 31.256322462304105, 121.52303641409996 31.25632360882332, 121.52303607034315 31.25632475443275, 121.52303572212607 31.256325895493017, 121.5230353685514 31.25632703739085, 121.52303501497751 31.25632817838924, 121.5230346524756 31.256329319284365, 121.52303429354481 31.256330460220912, 121.52303392568975 31.256331596556564, 121.52303355694264 31.256332731982514, 121.52303318372641 31.256333873653453, 121.52303280605125 31.256335008976226, 121.52303242748259 31.256336145188204, 121.52303204445424 31.256337275951594, 121.52303165696199 31.256338406663353, 121.5230312632158 31.25633954269999, 121.52303005960201 31.25634301891513, 121.52302884080972 31.256346495855023, 121.52302761666441 31.25634996733675, 121.52302639251421 31.256353444216455, 121.52302515944437 31.256356910199624, 121.52302392011934 31.256360382408, 121.52302267633497 31.256363848269032, 121.52302142808536 31.256367314978938, 121.52302016912253 31.25637078066635, 121.52301890569879 31.25637424180549, 121.52301763245742 31.25637769833447, 121.52301635831915 31.256381159351733, 121.52301507525685 31.256384614869617, 121.5230137868365 31.25638807122609, 121.52301249306316 31.256391522124577, 121.52301120017846 31.256394977531958, 121.52300989212387 31.2563984228703, 121.52300857870756 31.25640187354484, 121.52300726083027 31.25640531967129, 121.52300593759657 31.256408764837385, 121.52300460900544 31.256412209942656, 121.52294012404515 31.256579098158642, 121.52287519539664 31.2567453838879, 121.52287428550662 31.256747704106708, 121.52287336490281 31.25675002420323, 121.52287243537495 31.256752338800798, 121.52287148977561 31.256754654114186, 121.52287053971273 31.256756968477394, 121.5228695851935 31.25675927289539, 121.52286861013951 31.25676157707853, 121.52286763598174 31.256763876774965, 121.52286664575374 31.256766175388204, 121.52286565106525 31.25676846945341, 121.52286464209513 31.256770758857904, 121.52286362240734 31.256773052637797, 121.52286259826329 31.256775336472597, 121.52286156340968 31.256777614788227, 121.52286051962683 31.25677989390174, 121.52285946513085 31.256782171993667, 121.52285840082172 31.256784440079137, 121.52285732669135 31.256786708052797, 121.52285624809585 31.25678897687557, 121.52285515433115 31.25679123473111, 121.52285405520924 31.256793492526064, 121.52285294626613 31.256795750209292, 121.52285182304578 31.256797997835054, 121.52282809127776 31.25684559140444, 121.52269017145626 31.257089264014002, 121.52263758692374 31.257186924439992, 121.52256944844981 31.25739269510272, 121.52323151337393 31.257491398784676, 121.52396371678465 31.2575903548383, 121.52346814176731 31.258553471769794, 121.52332523206286 31.25877000298277, 121.52301186401871 31.25921854536345, 121.52257291408343 31.259846482553133, 121.52203322556561 31.260615521934863, 121.52130520105288 31.26164662887316, 121.52107855608138 31.261950456795375, 121.52093122193288 31.262147694896633, 121.52064004707051 31.26252095375755, 121.5181812383942 31.26539401423207, 121.51798416190374 31.265622316337367, 121.5169806200005 31.26675955379987, 121.51677101384759 31.266957336326062, 121.51643631058023 31.267236915936873, 121.51639583349173 31.267201635223792, 121.51516632936112 31.268304516550707, 121.51508798698171 31.2684118041294, 121.51447690094943 31.26924879286655, 121.51357105725866 31.270693164236324, 121.51297204620087 31.27169011549198, 121.51286720656412 31.271990374195827, 121.51302572525496 31.275988394421205, 121.51318312151182 31.276202544520732, 121.51225395162804 31.277080557792914, 121.51189697661567 31.277393356125263, 121.5071066704087 31.281166995197363, 121.5062336435361 31.281656506423705, 121.50466800618761 31.281994876888014, 121.50310138029187 31.282029486781095, 121.50260613670423 31.288202575278365, 121.50274530214344 31.289374284684712, 121.50314134873568 31.290302278379038, 121.5036481411818 31.29089519127518, 121.50468964433232 31.291860233855044, 121.50587797342722 31.292684003004968, 121.50617030367088 31.292773485934653, 121.50921506749947 31.295220067058445, 121.5081763269166 31.299247648509066, 121.50782151450595 31.30023279639742, 121.50713322621043 31.301158611586366, 121.50036902891155 31.29961455563854, 121.49731403082842 31.29866620513067, 121.49651362286716 31.298366424794008, 121.4964632402145 31.298347576081074, 121.49427783236914 31.30361711739679, 121.49287792394631 31.307419330067148, 121.4920478721006 31.310090238429723, 121.49207021912349 31.312079685798906, 121.49204460032165 31.316906200789465, 121.4919096576915 31.317255704237798, 121.49247715130092 31.317335366330692, 121.49663537828403 31.317208481532216, 121.49920533912511 31.317135158554958, 121.50194901941022 31.317093009343264, 121.50263821962714 31.31708921110971, 121.50322850601576 31.317278272128835, 121.50305354561486 31.322431006223727, 121.50279055332823 31.326365051375255, 121.5025908231583 31.32875160302309, 121.50263778409229 31.32909228217028, 121.5026402383558 31.329106349361457, 121.50264332042377 31.329120321332894, 121.50264703654857 31.329134174650044, 121.5026513804315 31.329147893165075, 121.50265633679035 31.329161448194963, 121.50266190740395 31.32917482803759, 121.50266808057755 31.329188003987085, 121.50267484192783 31.329200950056293, 121.50268218696884 31.32921366808744, 121.50269010489906 31.329226126671035, 121.50269858133585 31.329238300721915, 121.50270760639889 31.32925018132265, 121.50271716391714 31.32926174880058, 121.50272723502633 31.329272981702083, 121.50273781432615 31.329283866580642, 121.50274887218944 31.329294382956153, 121.5027604086015 31.32930452094536, 121.50277239752428 31.32931426094335, 121.50278481561577 31.329323587825986, 121.50414806855748 31.32994938069739, 121.5054827055603 31.330902649905198, 121.50549284717293 31.33091227374329, 121.50550248093437 31.33092227591566, 121.50551158622052 31.330932644793688, 121.50552013971006 31.33094336156091, 121.50552812433811 31.33095439027766, 121.50553553203731 31.330965727363683, 121.50554234125589 31.33097733239934, 121.50554853853963 31.330989193728616, 121.50555411310695 31.331001284387582, 121.50555905417487 31.331013576513215, 121.50556334828653 31.331026056652497, 121.50556699002419 31.331038685224392, 121.50556997309803 31.33105144604934, 121.50557228941692 31.33106431485748, 121.50557393715106 31.331077255656506, 121.50557490822025 31.33109025497744, 121.50557520617195 31.331103276809067, 121.50557482650377 31.331116301371598, 121.50557376828746 31.33112929897354, 121.50557204315297 31.331142248873014, 121.50556964478768 31.33115511600377, 121.50556657854845 31.331167881451464, 121.5055628542655 31.331180519086143, 121.50555847728452 31.331193000097343, 121.5055534574398 31.33120530285675, 121.50554780367221 31.331217408440285, 121.50554153207487 31.3312292807982, 121.50430734558047 31.333528818724563, 121.50019734088306 31.335874811569283, 121.50246359267545 31.339023432817847, 121.51142026373934 31.350551707046947, 121.51205599969289 31.351373622741853, 121.51226652199108 31.351585593373244, 121.51229040257203 31.35157655621724, 121.51810454427668 31.34938944723443, 121.52245537862551 31.34723736194223, 121.52421037116545 31.346422416362266, 121.5293770214043 31.348408559627405, 121.53192439619016 31.352716242954724, 121.53440838736866 31.35144831306549, 121.54102733433974 31.348726731937827, 121.54563318724841 31.34775320094729, 121.5514632292542 31.345926542522104, 121.55668450846801 31.34424130357051, 121.55748889678591 31.343862769405913, 121.55789807973811 31.343658077824283, 121.55830311663988 31.34344708288354, 121.55870368415668 31.343229874871444, 121.5590998884734 31.3430064541348, 121.55949141681339 31.342776922468552, 121.55987826614606 31.3425414528281, 121.56026033113514 31.342299968597416, 121.56063740266923 31.34205264403507, 121.5610093672624 31.341799488500357, 121.56191024526964 31.340992041293063, 121.56224777353108 31.340673956942954, 121.56502105601375 31.337562457824998, 121.56823429005567 31.328845438468946, 121.5685378470443 31.31969821355801, 121.56776538312565 31.30973682630423, 121.56996501172571 31.302347284015426, 121.5735955671659 31.29576448610274, 121.57468885743728 31.292531686030696, 121.5751033848213 31.291306319433527, 121.57554644251933 31.28804545722012, 121.57526686979686 31.28358439943015, 121.57417256245144 31.28103366779217, 121.57214860239237 31.277680293873694, 121.57213272182186 31.277653958970948, 121.56823716018414 31.27413612841295, 121.56453426581928 31.270774530779452, 121.55187637683325 31.261300471057808, 121.54539964816429 31.25720713426067, 121.53925536610878 31.254341743943975, 121.53040878284614 31.252821991493928, 121.52296133913221 31.25288732123441))');
+INSERT INTO grid_admin_division_fence (id,grid) VALUES
+ (26801,'POLYGON ((121.4919096576915 31.317255704237798, 121.49204460032165 31.316906200789465, 121.49207021912349 31.312079685798906, 121.4920478721006 31.310090238429723, 121.49287792394631 31.307419330067148, 121.49427783236914 31.30361711739679, 121.4964632402145 31.298347576081074, 121.49651362286716 31.298366424794008, 121.49731403082842 31.29866620513067, 121.50036902891155 31.29961455563854, 121.50713322621043 31.301158611586366, 121.50782151450595 31.30023279639742, 121.5081763269166 31.299247648509066, 121.50921506749947 31.295220067058445, 121.50617030367088 31.292773485934653, 121.50587797342722 31.292684003004968, 121.50468964433232 31.291860233855044, 121.5036481411818 31.29089519127518, 121.50314134873568 31.290302278379038, 121.50274530214344 31.289374284684712, 121.50260613670423 31.288202575278365, 121.50310138029187 31.282029486781095, 121.50466800618761 31.281994876888014, 121.5062336435361 31.281656506423705, 121.5071066704087 31.281166995197363, 121.51189697661567 31.277393356125263, 121.51225395162804 31.277080557792914, 121.51318312151182 31.276202544520732, 121.51302572525496 31.275988394421205, 121.51286720656412 31.271990374195827, 121.51297204620087 31.27169011549198, 121.51357105725866 31.270693164236324, 121.51447690094943 31.26924879286655, 121.51508798698171 31.2684118041294, 121.51516632936112 31.268304516550707, 121.51639583349173 31.267201635223792, 121.51643631058023 31.267236915936873, 121.51677101384759 31.266957336326062, 121.5169806200005 31.26675955379987, 121.51798416190374 31.265622316337367, 121.5181812383942 31.26539401423207, 121.52064004707051 31.26252095375755, 121.52093122193288 31.262147694896633, 121.52107855608138 31.261950456795375, 121.52130520105288 31.26164662887316, 121.52203322556561 31.260615521934863, 121.52257291408343 31.259846482553133, 121.52301186401871 31.25921854536345, 121.52332523206286 31.25877000298277, 121.52346814176731 31.258553471769794, 121.52396371678465 31.2575903548383, 121.52323151337393 31.257491398784676, 121.52256944844981 31.25739269510272, 121.52263758692374 31.257186924439992, 121.52269017145626 31.257089264014002, 121.52282809127776 31.25684559140444, 121.52285182304578 31.256797997835054, 121.52285294626613 31.256795750209292, 121.52285405520924 31.256793492526064, 121.52285515433115 31.25679123473111, 121.52285624809585 31.25678897687557, 121.52285732669135 31.256786708052797, 121.52285840082172 31.256784440079137, 121.52285946513085 31.256782171993667, 121.52286051962683 31.25677989390174, 121.52286156340968 31.256777614788227, 121.52286259826329 31.256775336472597, 121.52286362240734 31.256773052637797, 121.52286464209513 31.256770758857904, 121.52286565106525 31.25676846945341, 121.52286664575374 31.256766175388204, 121.52286763598174 31.256763876774965, 121.52286861013951 31.25676157707853, 121.5228695851935 31.25675927289539, 121.52287053971273 31.256756968477394, 121.52287148977561 31.256754654114186, 121.52287243537495 31.256752338800798, 121.52287336490281 31.25675002420323, 121.52287428550662 31.256747704106708, 121.52287519539664 31.2567453838879, 121.52294012404515 31.256579098158642, 121.52300460900544 31.256412209942656, 121.52300593759657 31.256408764837385, 121.52300726083027 31.25640531967129, 121.52300857870756 31.25640187354484, 121.52300989212387 31.2563984228703, 121.52301120017846 31.256394977531958, 121.52301249306316 31.256391522124577, 121.5230137868365 31.25638807122609, 121.52301507525685 31.256384614869617, 121.52301635831915 31.256381159351733, 121.52301763245742 31.25637769833447, 121.52301890569879 31.25637424180549, 121.52302016912253 31.25637078066635, 121.52302142808536 31.256367314978938, 121.52302267633497 31.256363848269032, 121.52302392011934 31.256360382408, 121.52302515944437 31.256356910199624, 121.52302639251421 31.256353444216455, 121.52302761666441 31.25634996733675, 121.52302884080972 31.256346495855023, 121.52303005960201 31.25634301891513, 121.5230312632158 31.25633954269999, 121.52303165696199 31.256338406663353, 121.52303204445424 31.256337275951594, 121.52303242748259 31.256336145188204, 121.52303280605125 31.256335008976226, 121.52303318372641 31.256333873653453, 121.52303355694264 31.256332731982514, 121.52303392568975 31.256331596556564, 121.52303429354481 31.256330460220912, 121.5230346524756 31.256329319284365, 121.52303501497751 31.25632817838924, 121.5230353685514 31.25632703739085, 121.52303572212607 31.256325895493017, 121.52303607034315 31.25632475443275, 121.52303641409996 31.25632360882332, 121.52303675696461 31.256322462304105, 121.52303709536537 31.256321315733285, 121.52303742929772 31.256320174507916, 121.52303775788134 31.25631902332596, 121.52303808646127 31.256317876641635, 121.52303841504114 31.256316729957366, 121.52303873380393 31.256315578661823, 121.52303905167469 31.256314426456566, 121.52303936596917 31.256313280506582, 121.52303967401919 31.25631212818767, 121.52303998296111 31.256310976778696, 121.5230402820868 31.256309819858995, 121.52304058567198 31.25630866838806, 121.52304087944087 31.256307511406423, 121.52304116784872 31.256306359759826, 121.52304190052918 31.256303412414965, 121.52304260196566 31.256300460210962, 121.52304327483348 31.256297506776832, 121.5230439271741 31.25629454410999, 121.52304455005346 31.256291580202564, 121.52304515329482 31.256288611570266, 121.52304572172103 31.256285638037276, 121.52304627497469 31.25628265803204, 121.52304679340884 31.256279678523118, 121.52304728774124 31.25627669423745, 121.52304776153993 31.256273708814536, 121.5230482005236 31.256270718490736, 121.5230486198701 31.256267722542376, 121.52304901421833 31.256264726304444, 121.52304937910898 31.25626172432815, 121.5230497190006 31.256258722961764, 121.52305003389418 31.256255721305752, 121.52305031932985 31.256252713911262, 121.52305057977189 31.256249700830107, 121.52305082056807 31.25624669291838, 121.52305102654901 31.256243680105666, 121.52305121288937 31.256240666165773, 121.52305136887402 31.25623765277368, 121.52305150075779 31.256234633705112, 121.52305160764396 31.256231613447323, 121.52305168417477 31.256228593737244, 121.52305174106395 31.256225573799526, 121.52305176849121 31.256222553520356, 121.52305177091593 31.25621953834859, 121.52305175770962 31.256217086996326, 121.52305174004218 31.25621463199424, 121.5230517223716 31.256212180590097, 121.5230517047046 31.256209724688418, 121.52305167631962 31.256207274059623, 121.52305164882733 31.256204823441124, 121.52305161597822 31.256202372760512, 121.52307545704996 31.255426048477755, 121.52305755873618 31.254939238534323, 121.52299557659249 31.253582357850224, 121.52296133913221 31.25288732123441, 121.51227507060626 31.252129719916255, 121.51107897047017 31.251710577279816, 121.50622963591722 31.25002682347415, 121.50377958736534 31.248811790172837, 121.50151008027464 31.248009135253955, 121.49865645255609 31.248409939086887, 121.4965029524449 31.249064971022495, 121.49540940596906 31.24956425855349, 121.49472500747152 31.249814556389733, 121.49373873809381 31.24992912220628, 121.49304352374516 31.249943788195736, 121.49163270565394 31.249438915253826, 121.49104417389013 31.249117940907492, 121.48958562569956 31.247757209220183, 121.48949290404445 31.247976093979865, 121.48891443598973 31.249594755974456, 121.48750135894578 31.254220809328896, 121.48827238960233 31.25654191570402, 121.48690006061584 31.264484128157505, 121.48322390844406 31.267445881933657, 121.48244742644923 31.26805747646613, 121.48185044921193 31.26852775884957, 121.47980693636184 31.270137957166007, 121.47757205587828 31.272204472078446, 121.47558610543533 31.274336531737312, 121.4744058718518 31.276228338328128, 121.473933808337 31.276984980453264, 121.47258433365032 31.278602642342797, 121.47170148162508 31.27966077690012, 121.4706147151753 31.280822803335173, 121.47033959257465 31.280946089842153, 121.46940676545476 31.281363906641126, 121.46874248539378 31.282476596681235, 121.46829134016023 31.283451896007904, 121.46798960190627 31.284945831332355, 121.46795680695625 31.28533029804361, 121.4679488890992 31.285461381605238, 121.46824098098678 31.285486424090898, 121.46788394018472 31.287982432972974, 121.46736391455768 31.2951838959478, 121.46870826205912 31.298758531418578, 121.46895253256783 31.299054972439595, 121.4705077338134 31.302473559789124, 121.47065250777503 31.302881665553873, 121.47095924513124 31.304376633456553, 121.47087052693001 31.30624574277013, 121.47084786853875 31.306800820980072, 121.4703719675987 31.310591916523908, 121.47019638284674 31.3121231463847, 121.47000857020336 31.31211097125811, 121.46999052567723 31.312186401782647, 121.47002879447793 31.312190189004845, 121.47123060324158 31.312246941119767, 121.47247444455536 31.31230291298043, 121.4733488045769 31.312342022486593, 121.47416742507524 31.3123785026795, 121.47449200128308 31.317109506705552, 121.4748213678486 31.322100118496472, 121.47948586638104 31.321745599888736, 121.49164989832967 31.320512964020423, 121.4919376771183 31.320482882750156, 121.4920293050927 31.320473321358108, 121.49204010113907 31.31776641383765, 121.4919096576915 31.317255704237798))'),
+ (26800,'POLYGON ((121.43157096839306 31.276960235639788, 121.43548706733327 31.280659332699816, 121.43612096628726 31.281241252136706, 121.4371638668705 31.2800592737729, 121.43717066749652 31.280051469629623, 121.43824326712483 31.278805599901833, 121.43830791358936 31.278730476782687, 121.43849572740805 31.27856319532609, 121.43944170539956 31.27791541882289, 121.43958303779046 31.277833915260576, 121.44336269041733 31.275916499436732, 121.44348383386856 31.275860910470914, 121.44362198413604 31.275807196256178, 121.4442557570479 31.275560570853415, 121.44432595868696 31.275535827432968, 121.44618794601581 31.274944548948106, 121.44724766293791 31.274606510456188, 121.44727905719034 31.27459598428258, 121.44795234452963 31.274359244748258, 121.44849371006315 31.274168569516664, 121.44874949257994 31.2740396578811, 121.44876907473491 31.27402595324918, 121.44936609619671 31.273597739081655, 121.44956503591142 31.27340836855081, 121.44957505093164 31.273395379332445, 121.44992505398241 31.27293274932894, 121.45264578383632 31.269322306558596, 121.45469691163062 31.266526830860894, 121.45743637145279 31.262712712903465, 121.45781716658638 31.25851989314234, 121.45759983833251 31.25720316960878, 121.45707128249117 31.254402478203865, 121.45618131995721 31.253069910376844, 121.45498815078763 31.251686216327002, 121.45476320640702 31.251287342408133, 121.45471078365306 31.250963523966053, 121.45484472660561 31.250752183240852, 121.45597460991237 31.249895017712383, 121.45643964704948 31.249584458348618, 121.4536862011261 31.24828614678066, 121.44637308814161 31.244340121793865, 121.44389861383755 31.242841010583902, 121.44258751463255 31.24199073171615, 121.44094744193616 31.241420677783527, 121.43924671825934 31.241361023964796, 121.43732505525038 31.241499928159573, 121.43428648255983 31.23755715903291, 121.43418970670545 31.237403092424504, 121.43400043185305 31.236929964561593, 121.4339904653549 31.23557770428358, 121.43294226248827 31.235734305994434, 121.43275184762804 31.235755466887444, 121.43274509209766 31.23575568287006, 121.43273833567153 31.2357558385227, 121.43273158014061 31.235755934766058, 121.43272481923599 31.235755965228392, 121.43271805833152 31.235755940769632, 121.43271129205274 31.235755846031118, 121.43270453114727 31.235755697334266, 121.43269777471879 31.235755487470886, 121.43269101918551 31.23575521819825, 121.43268426275587 31.235754883197178, 121.43267751169884 31.2357544888397, 121.43267076064146 31.23575403416283, 121.43266401943389 31.23575351928265, 121.43265727822613 31.235752944983002, 121.43265055224035 31.235752305145184, 121.43264382625485 31.235751610386732, 121.43263711011853 31.235750850926777, 121.43263040383198 31.23575003126418, 121.43262370739525 31.235749152298908, 121.43261702080812 31.23574821313136, 121.43261034407062 31.235747213761712, 121.43260367807814 31.235746154200637, 121.43259702641264 31.23574503449082, 121.43259038459661 31.235743855479157, 121.43258375800248 31.235742611831007, 121.43257714663096 31.235741312544103, 121.43257054958677 31.23573995940749, 121.43256396776347 31.235738535336935, 121.43255619136146 31.23573678214499, 121.43253935892712 31.235732910412917, 121.4325330609898 31.235731459861313, 121.43252656873806 31.235729961980162, 121.43250731140826 31.23572550583781, 121.43249736889656 31.235723201936892, 121.4324742628832 31.235717833871817, 121.4324673677176 31.235716225606335, 121.43047446692964 31.234975578555098, 121.42896498177204 31.233563681527755, 121.42777937948745 31.2319996891661, 121.4272881906528 31.23161868810296, 121.41991226475476 31.22915185581298, 121.41863561781987 31.228775847440804, 121.41277984138438 31.22719688996408, 121.41051231836771 31.226528573102954, 121.40637064018556 31.22483447416981, 121.4061034282357 31.224403219058352, 121.40581794978198 31.22420809892898, 121.40532867860017 31.224119212715415, 121.39664372003809 31.224278749485237, 121.39306442584943 31.224625742362928, 121.38194993775618 31.226070635267288, 121.37850979657526 31.22765067321981, 121.37314156803482 31.23078020761352, 121.36910987533129 31.231654548972628, 121.36910868014148 31.23172468140534, 121.36878706284818 31.231724967732486, 121.36774308094125 31.23229909186669, 121.36721030884095 31.232785626721256, 121.36636869871045 31.234281599482227, 121.36616617072161 31.234723146655664, 121.36419288125283 31.23789844290539, 121.36140706600087 31.242129211929733, 121.36073452308698 31.243128868993953, 121.36071011648164 31.24316813252056, 121.36068237513624 31.2432127537434, 121.3610789942367 31.24338762845379, 121.36291134762172 31.244764635053123, 121.36673395425204 31.246170857850412, 121.3720512262309 31.250354701550965, 121.37715751255779 31.25061704586254, 121.37846337628967 31.249686711656082, 121.37896533603372 31.249430094191943, 121.38232530025033 31.250035681585647, 121.38384988410232 31.253504972925693, 121.38759135393167 31.26340278941679, 121.38651036535926 31.264332494529157, 121.38590328158344 31.264607016829466, 121.38387453135331 31.2651407666836, 121.38202018829739 31.265123639699905, 121.38172365098949 31.264898472068626, 121.3815098400482 31.263792606056125, 121.3812555251201 31.26298970506337, 121.38111815722874 31.262671545592756, 121.37240471887 31.263367019625715, 121.36910148059984 31.265475108610207, 121.36907822694161 31.265476537606457, 121.36905502784532 31.265478521147685, 121.36903188782516 31.265481069064172, 121.36900882859912 31.265484171165003, 121.36898587368474 31.265487828027315, 121.3689630393664 31.265492037626576, 121.36894033469348 31.26549679713639, 121.36891779585058 31.265502103361097, 121.36889542736954 31.265507949036387, 121.36887324915848 31.265514326688535, 121.36885128654166 31.2655212413616, 121.36878960340778 31.26554091588662, 121.36875017964734 31.265554366683318, 121.36871133160645 31.265569005854683, 121.36867309187097 31.26558482301893, 121.36863551927404 31.265601792140497, 121.36859866901844 31.265619901621328, 121.36856257191006 31.265639112312723, 121.3685272894906 31.2656594071271, 121.36849286430949 31.26568076563785, 121.36845933440758 31.26570315308772, 121.36842674324491 31.265726543637665, 121.36839514695242 31.26575090497504, 121.3683645699975 31.26577620882303, 121.36833505946977 31.26580241849521, 121.36830665341245 31.26582949832959, 121.36827938805527 31.265857417186638, 121.36825329963062 31.265886141228634, 121.3682284171371 31.265915633121327, 121.3655025396314 31.26938932953005, 121.36655880547971 31.272865208567215, 121.36780289997931 31.273424626159187, 121.36800189793439 31.27343434851064, 121.36829909021685 31.273412291438362, 121.36943277808915 31.273188560609793, 121.37311801551002 31.272455056612376, 121.37336592566975 31.272407123845305, 121.37343542814679 31.272456697854373, 121.37345633521599 31.27247161441311, 121.37347688131564 31.27248689400474, 121.37349704476165 31.27250253864117, 121.37351682557264 31.272518533014267, 121.3735362092916 31.272534881757203, 121.37355520136396 31.272551564107903, 121.37357377016562 31.27256858218133, 121.3735919373954 31.27258592943622, 121.37360967234702 31.272603591786634, 121.37362697954485 31.272621568268967, 121.37364384364041 31.272639850032512, 121.37366026645472 31.272658427147558, 121.37367623082973 31.272677293480758, 121.37369174400733 31.272696439945566, 121.37370677888794 31.272715862311223, 121.373721350853 31.272735543311814, 121.37373544092907 31.27275548582774, 121.37374904823223 31.272775672763085, 121.37376216282614 31.27279610600514, 121.37377478473468 31.272816763052294, 121.37378689950248 31.272837646738747, 121.37379851166662 31.27285873991377, 121.37380962123474 31.272880038966328, 121.37382020743257 31.27290153870147, 121.37383027208459 31.272923223796873, 121.37383981882198 31.272945078912283, 121.37384883228678 31.272967105094164, 121.37385731339518 31.272989291528628, 121.37386526215913 31.273011628311178, 121.37386638029467 31.27302600934573, 121.37386724722775 31.273040402859895, 121.37386786748509 31.273054798912387, 121.37386823201764 31.273069212887094, 121.37386835077808 31.27308362939021, 121.37386821291969 31.27309805303065, 121.37386781844992 31.273112474813665, 121.37387101653862 31.274000247023768, 121.37356421861061 31.274796113127703, 121.37392953047366 31.275415062415536, 121.35105922201018 31.28006082073809, 121.3499610581747 31.277599683670335, 121.34461104027166 31.2791458723322, 121.34251341227461 31.281866227709397, 121.34174967467455 31.283494057931463, 121.34147403599997 31.28600691057913, 121.33956646761001 31.288636714016206, 121.33539850140775 31.290853877639893, 121.3335903606016 31.291515794042173, 121.33287520174206 31.292274761404293, 121.33231616956321 31.293651828883483, 121.332768690896 31.295219446527184, 121.33660038748877 31.296501124003886, 121.33953517404612 31.29728300130909, 121.34071757718974 31.299504739017667, 121.34275906892444 31.301172076332755, 121.34326413466599 31.299859681004392, 121.34473329950292 31.299463847750637, 121.34726503517224 31.299886730994604, 121.34740937519966 31.301866536618693, 121.34737223979106 31.303313081226204, 121.34860921802657 31.303973723192303, 121.34999196317268 31.303311038733526, 121.35335961632289 31.302394820954053, 121.35501912342443 31.302574431934595, 121.35598248281703 31.303531681882642, 121.35564809917742 31.304450327622334, 121.3554768785662 31.304908592806402, 121.35529758400361 31.3051110388922, 121.35521291510756 31.30624560032057, 121.3552127034149 31.30625348800339, 121.35521364463017 31.30626132085033, 121.35521572871214 31.30626896946164, 121.35521892570392 31.306276319175208, 121.35522317485439 31.30628325495627, 121.35522842537274 31.306289657999876, 121.35523458754277 31.306295440760977, 121.35524155443285 31.306300504291972, 121.35524922546988 31.306304780129548, 121.35525748558116 31.306308185662044, 121.35526620341852 31.306310682647272, 121.35692078737412 31.306608625024545, 121.35695090150662 31.30662125997227, 121.35698103552551 31.30663385409796, 121.35701118943959 31.30664642269963, 121.35704136324229 31.306658955880884, 121.35707155784229 31.306671459026344, 121.35710176236766 31.30668392692537, 121.35713199131531 31.306696370127952, 121.35728628649912 31.306759855054974, 121.35772975298865 31.30681655946008, 121.35890572147707 31.307399983411507, 121.35916329356931 31.307585484803234, 121.35933150699924 31.307584770871937, 121.35950056643195 31.307533814954066, 121.3608523949335 31.30616463437986, 121.36127137888914 31.305753890502622, 121.36135106922043 31.305729700513517, 121.36135081711953 31.30572904426141, 121.36155874669664 31.305666660400906, 121.36175882315675 31.305807523541773, 121.36176015830024 31.30580846152003, 121.36266384410246 31.306444854480382, 121.36305392578329 31.30682953969697, 121.36313521880841 31.306909713693027, 121.36440072381886 31.307447275934287, 121.36570503901034 31.308002020737145, 121.36684077429413 31.3084857363103, 121.3686275117411 31.30866250360204, 121.36981863549076 31.30849978614168, 121.36992328453962 31.308485527115582, 121.36992448541422 31.30848536215612, 121.36992314754949 31.30848492421259, 121.36974865282065 31.307678901456118, 121.36910066773792 31.306265898145718, 121.36815814509383 31.30393347717561, 121.36672143460554 31.300388942240136, 121.36513678320435 31.299161012895095, 121.3724796832388 31.29606139138251, 121.37609611008925 31.29485574297825, 121.38266279976649 31.296307373756072, 121.38807708912661 31.2983414943976, 121.38964639175568 31.299490023922512, 121.39121335437432 31.30009932246171, 121.3948652933945 31.300954933254108, 121.39536529163783 31.30096927500977, 121.40117586622534 31.30037447656558, 121.40108075039298 31.30008989880614, 121.4006809033315 31.298838447691114, 121.4005010991435 31.298139024663453, 121.4002913749121 31.297323141379305, 121.40021677887785 31.297032925174832, 121.40041766787579 31.29694999843006, 121.40088645978878 31.296833775166874, 121.40274199358656 31.29650350284289, 121.40424194867785 31.29618731245001, 121.40493976460166 31.29424721624024, 121.40492245216339 31.292960925083065, 121.40680726776637 31.29198081404597, 121.41009596378588 31.292089777448957, 121.41016381035348 31.292349538379213, 121.41089623539452 31.292190517124254, 121.410482746967 31.290692391780443, 121.41020926403286 31.2899407322542, 121.41020411980696 31.289932331162266, 121.41019887529743 31.28992398222399, 121.4101935305068 31.28991567194554, 121.41018809259619 31.28990740495629, 121.41018255440089 31.289899191021668, 121.41017692666615 31.289891020442468, 121.41017119864716 31.289882898420736, 121.41016538198242 31.289874824269766, 121.41015946055634 31.289866798595487, 121.41015345406277 31.289858831653685, 121.41014734817915 31.289850912387923, 121.41014115364844 31.28984304189449, 121.41013486867782 31.28983522913726, 121.41012849416306 31.289827470534654, 121.41012202473227 31.289819765089483, 121.41011547112743 31.28981211839599, 121.4101088226061 31.289804523961415, 121.41010208990895 31.289796993677154, 121.4100952721426 31.289789517631682, 121.41008836482948 31.289782098442707, 121.41008136796879 31.289774738809534, 121.41007429140767 31.28976744251086, 121.41006712529848 31.289760204869438, 121.41005987948712 31.28975303506154, 121.41005254860372 31.28974592399363, 121.40849270060096 31.28761416077517, 121.40849112946239 31.287607385959937, 121.40848946877165 31.287600619456065, 121.408487729271 31.287593872249076, 121.40848590379868 31.2875871379151, 121.40848399951666 31.28758042197874, 121.40848201463551 31.28757371991049, 121.40847995631924 31.28756703093775, 121.40847780754972 31.287560365554594, 121.40847557907438 31.287553719453445, 121.40847327089524 31.287547086337455, 121.40847088390542 31.287540472519705, 121.40846841631101 31.287533886964727, 121.40846586901061 31.287527319792975, 121.40846324827258 31.287520771115698, 121.4084605415562 31.287514251506295, 121.4084577560308 31.28750774489909, 121.4084548952714 31.287501272048427, 121.40845196465553 31.287494818656057, 121.40844894000158 31.287488393290428, 121.40844584548788 31.287481996379523, 121.40844267574298 31.28747562333051, 121.40843942628725 31.287469279462183, 121.40802940389118 31.286685683941236, 121.40676581567611 31.28442140260679, 121.40650957875525 31.284056829382617, 121.40650464732731 31.284049568506948, 121.40650079110452 31.284041847216503, 121.4064980906513 31.284033789206127, 121.40649658084337 31.28402552099936, 121.40649628132442 31.284017174261876, 121.40649681655427 31.28401093130294, 121.40649811496925 31.284004791178287, 121.40650083326884 31.283996825504918, 121.40650469712983 31.283989233597147, 121.40695742565931 31.283284789254374, 121.40696031677884 31.283280362426478, 121.40696364041506 31.283276173279216, 121.40696728282511 31.28327218928608, 121.40697131830868 31.28326849717641, 121.4069771725694 31.283264001364522, 121.40698188577589 31.28326096044417, 121.4069868916908 31.283258285261304, 121.40699390067306 31.28325522963913, 121.40700124699876 31.283252814897395, 121.40700886258077 31.283251059665094, 121.40771194966472 31.283074226666738, 121.4088912203502 31.282734010150964, 121.40890831422736 31.282729964178543, 121.40892528289285 31.28272556614444, 121.40894210843938 31.282720814826725, 121.40895879892093 31.282715722060896, 121.40897533016533 31.282710281115275, 121.40899169769693 31.282704491906976, 121.40900789613858 31.28269836513143, 121.4090239156342 31.28269191500223, 121.40903973560128 31.282685121357503, 121.4090553569262 31.282678004000037, 121.40907076886543 31.282670562734044, 121.40908596246608 31.282662798295124, 121.40910093235242 31.28265471957914, 121.4091156632986 31.282646336204685, 121.40913015441375 31.282637643654212, 121.4091443877858 31.282628651498015, 121.40915836699844 31.282619359796595, 121.40917207324136 31.282609783501094, 121.40918551010125 31.282599917274744, 121.40919866324263 31.282589780646678, 121.40921151834628 31.282579363460805, 121.40922407451305 31.282568676491756, 121.4092363326326 31.282557733244996, 121.40924827121637 31.282546535129818, 121.40925989742748 31.28253508586938, 121.40927118977223 31.282523395868203, 121.40928184064472 31.28250914863433, 121.40929242258576 31.282494860619515, 121.40930293470086 31.2824805309074, 121.40931337788294 31.282466164910478, 121.40932374497206 31.282451757101924, 121.40933404313087 31.28243730940893, 121.40934427235564 31.28242282902712, 121.40935442101386 31.28240830315253, 121.40936450521481 31.282393746467275, 121.4093745142203 31.282379147982677, 121.40938445429536 31.282364513208098, 121.40939431917572 31.282349836632633, 121.40940410975115 31.282335129066226, 121.40941382602738 31.282320380613122, 121.40942347158715 31.28230559043762, 121.40943304373523 31.28229077468242, 121.4094425451675 31.28227591720343, 121.40945196692745 31.282261023235773, 121.4094613251291 31.282246098466672, 121.40947059739202 31.282231136194852, 121.40947980072761 31.28221613852561, 121.40948892439248 31.282201104364802, 121.40949798360815 31.28218603398659, 121.40950695777566 31.282170936913456, 121.40951586212515 31.282155799026853, 121.40952469665113 31.28214063022112, 121.40953345239829 31.282125433932162, 121.4100630003685 31.28193475788615, 121.4109902153252 31.281728921105277, 121.41114560097192 31.282267336392938, 121.41128664209154 31.28276854361537, 121.41138490847545 31.28311590831575, 121.41190597521117 31.28304658819814, 121.41248995942085 31.28288879420232, 121.41294695108698 31.28276085500505, 121.41294324814645 31.28227108367624, 121.41291737366538 31.282175191055906, 121.41250037486923 31.28062994468473, 121.41193511494271 31.278921984964388, 121.41227655415628 31.27895614790197, 121.4174134736075 31.279189503118662, 121.41969932684236 31.275943900812265, 121.42218058281537 31.272065973536755, 121.42596371432569 31.271514703702874, 121.42781906165293 31.273003259132786, 121.43157096839306 31.276960235639788))'),
+ (26799,'POLYGON ((121.4748213678486 31.322100118496472, 121.47449200128308 31.317109506705552, 121.47416742507524 31.3123785026795, 121.4733488045769 31.312342022486593, 121.47247444455536 31.31230291298043, 121.47123060324158 31.312246941119767, 121.47002879447793 31.312190189004845, 121.46999052567723 31.312186401782647, 121.47000857020336 31.31211097125811, 121.47019638284674 31.3121231463847, 121.4703719675987 31.310591916523908, 121.47084786853875 31.306800820980072, 121.47087052693001 31.30624574277013, 121.47095924513124 31.304376633456553, 121.47065250777503 31.302881665553873, 121.4705077338134 31.302473559789124, 121.46895253256783 31.299054972439595, 121.46870826205912 31.298758531418578, 121.46736391455768 31.2951838959478, 121.46788394018472 31.287982432972974, 121.46824098098678 31.285486424090898, 121.4679488890992 31.285461381605238, 121.46795680695625 31.28533029804361, 121.46798960190627 31.284945831332355, 121.46829134016023 31.283451896007904, 121.46874248539378 31.282476596681235, 121.46940676545476 31.281363906641126, 121.47033959257465 31.280946089842153, 121.4706147151753 31.280822803335173, 121.47170148162508 31.27966077690012, 121.47258433365032 31.278602642342797, 121.473933808337 31.276984980453264, 121.4744058718518 31.276228338328128, 121.47558610543533 31.274336531737312, 121.47757205587828 31.272204472078446, 121.47980693636184 31.270137957166007, 121.48185044921193 31.26852775884957, 121.48244742644923 31.26805747646613, 121.48322390844406 31.267445881933657, 121.48690006061584 31.264484128157505, 121.48827238960233 31.25654191570402, 121.48750135894578 31.254220809328896, 121.48891443598973 31.249594755974456, 121.48949290404445 31.247976093979865, 121.48958562569956 31.247757209220183, 121.48916094407339 31.24736024911793, 121.48850399243783 31.24677914661166, 121.48787430166199 31.2462977055336, 121.48712549208058 31.246004061583335, 121.48644559621373 31.245921843762545, 121.48587956194534 31.24596346444811, 121.48531101869338 31.24615465188061, 121.48449178681948 31.246597028652666, 121.4835249438674 31.247190316435223, 121.48287083831389 31.247283134908294, 121.48189838863965 31.24732913757806, 121.4812744260162 31.24734727024908, 121.48058181842455 31.247129557458443, 121.47940251219426 31.246518116093693, 121.47889888911784 31.24618677403516, 121.47846976246946 31.245904476373855, 121.47725900814538 31.245430508408568, 121.47646404304336 31.245251383172285, 121.47557827347981 31.245297203845663, 121.47484901716173 31.245528238540672, 121.47418939420338 31.24593286837221, 121.47332245838908 31.246588342879434, 121.47158535876149 31.247220292871905, 121.47065325389505 31.24743377918528, 121.46996329226782 31.247483137630045, 121.46946956808858 31.247500790564505, 121.4706188854086 31.244821530011635, 121.47216560234696 31.242073013842923, 121.47305003629207 31.239533320215997, 121.47354776002551 31.236454425779257, 121.4741156227032 31.231705380777438, 121.47403685341067 31.23076592827868, 121.47395856219603 31.229905205549116, 121.4739268555877 31.229901792850377, 121.47389513821642 31.22989850439347, 121.4738633911639 31.229895347777198, 121.47383162434096 31.229892320089544, 121.47379984225431 31.22988942393216, 121.4737680349922 31.22988665771412, 121.47373621246264 31.229884011324952, 121.47370437016701 31.229881500155173, 121.47367251351024 31.22987911958913, 121.47364064159162 31.229876869643928, 121.4736087499063 31.22987474951352, 121.47357684295784 31.22987275460119, 121.47354492075092 31.22987089480301, 121.47351298868848 31.229869161004366, 121.47348104226694 31.229867555998247, 121.47344908509187 31.229866082405927, 121.47341711806604 31.22986474290587, 121.47338513668085 31.229863528593388, 121.47335314454138 31.229862440290162, 121.47332113804723 31.229861486168883, 121.47328913161398 31.22986066232341, 121.47325711983584 31.229859968866386, 121.47322509370237 31.229859405086696, 121.47319306672789 31.229858966197636, 121.47316103080962 31.22985866766576, 121.47312898954424 31.22985848961715, 121.47309694834362 31.229858445433017, 121.47306489639462 31.229858531740668, 121.47303284541042 31.229858747391276, 121.47287162345754 31.229861071046727, 121.4726422860601 31.22987484146419, 121.4722790508378 31.229901149490406, 121.47210889394354 31.229917614095264, 121.47189711097732 31.229938096159362, 121.47124070862459 31.230032209238203, 121.46923766738458 31.230139363163886, 121.46315622406524 31.230159049743378, 121.46340984674484 31.228225201704863, 121.46415018628622 31.226393844130595, 121.46229653408008 31.22596101306258, 121.46137104098376 31.225465162826442, 121.45915850192365 31.224003419470346, 121.45662257057101 31.223006393718894, 121.45367851430491 31.222312430014238, 121.44581421403744 31.220619708588035, 121.44509775318662 31.221603743352464, 121.44334298126161 31.22514210998638, 121.44309817670607 31.22569224019622, 121.44254202782751 31.227559984752244, 121.44200894547619 31.230168933044375, 121.44192612553417 31.230954248549104, 121.44193479342006 31.231346190884096, 121.44184856266433 31.2314284416801, 121.44112264740644 31.231972066087465, 121.44090887137197 31.232125652861342, 121.44073677302465 31.23223714022927, 121.43686163009978 31.2306817117045, 121.43623730580173 31.230260349721714, 121.43547526988675 31.229368356073305, 121.43405917615947 31.230557092571207, 121.43398062241468 31.234474916227708, 121.4339904653549 31.23557770428358, 121.43400043185305 31.236929964561593, 121.43418970670545 31.237403092424504, 121.43428648255983 31.23755715903291, 121.43732505525038 31.241499928159573, 121.43924671825934 31.241361023964796, 121.44094744193616 31.241420677783527, 121.44258751463255 31.24199073171615, 121.44389861383755 31.242841010583902, 121.44637308814161 31.244340121793865, 121.4536862011261 31.24828614678066, 121.45643964704948 31.249584458348618, 121.45597460991237 31.249895017712383, 121.45484472660561 31.250752183240852, 121.45471078365306 31.250963523966053, 121.45476320640702 31.251287342408133, 121.45498815078763 31.251686216327002, 121.45618131995721 31.253069910376844, 121.45707128249117 31.254402478203865, 121.45759983833251 31.25720316960878, 121.45781716658638 31.25851989314234, 121.45743637145279 31.262712712903465, 121.45469691163062 31.266526830860894, 121.45264578383632 31.269322306558596, 121.44992505398241 31.27293274932894, 121.44957505093164 31.273395379332445, 121.44956503591142 31.27340836855081, 121.44936609619671 31.273597739081655, 121.44876907473491 31.27402595324918, 121.44874949257994 31.2740396578811, 121.44849371006315 31.274168569516664, 121.44795234452963 31.274359244748258, 121.44727905719034 31.27459598428258, 121.44724766293791 31.274606510456188, 121.44618794601581 31.274944548948106, 121.44432595868696 31.275535827432968, 121.4442557570479 31.275560570853415, 121.44362198413604 31.275807196256178, 121.44348383386856 31.275860910470914, 121.44336269041733 31.275916499436732, 121.43958303779046 31.277833915260576, 121.43944170539956 31.27791541882289, 121.43849572740805 31.27856319532609, 121.43830791358936 31.278730476782687, 121.43824326712483 31.278805599901833, 121.43717066749652 31.280051469629623, 121.4371638668705 31.2800592737729, 121.43612096628726 31.281241252136706, 121.43548706733327 31.280659332699816, 121.43157096839306 31.276960235639788, 121.4311536830768 31.27747406610229, 121.43099445042219 31.278258258585065, 121.42959054893758 31.289506916074874, 121.42950664086007 31.29216052788644, 121.43004232785033 31.295384316563705, 121.43022491439399 31.297016570348912, 121.4302128231949 31.29722776791886, 121.42888507935967 31.297276230872765, 121.42679681410891 31.297349808000526, 121.42674287499409 31.29733765996678, 121.42668893522315 31.29732551567823, 121.42663499210967 31.297313374199504, 121.42658104833639 31.29730123647984, 121.42652710032132 31.297289096171344, 121.42647315164301 31.297276960535548, 121.4264192094583 31.297264827894857, 121.42631131413698 31.29724057204026, 121.42625736189166 31.29722844975415, 121.42620340986781 31.29721632499318, 121.42614945806513 31.297204209460634, 121.42609550737497 31.297192092381877, 121.42525185223487 31.297785319819194, 121.42501951464823 31.298433916154785, 121.4250347532225 31.299165807160378, 121.42524832312351 31.30017078216053, 121.42645690737055 31.30310336578853, 121.42918590772321 31.303376019076946, 121.43009226531325 31.303518823214993, 121.43323434226073 31.304723361188636, 121.43337833115334 31.304836929533757, 121.43763380943183 31.309962362260993, 121.4388328631988 31.312270004233913, 121.4385626957617 31.318092552110752, 121.43883453263867 31.325166215520643, 121.44013505622301 31.327274918101732, 121.44292167220311 31.327331366941003, 121.44318360329768 31.32595725187702, 121.44743350586415 31.326228508351917, 121.45298232617874 31.326417085242063, 121.4541618296089 31.323789779635337, 121.45430273257377 31.32335511856839, 121.45950426226314 31.324718883204135, 121.46186635852246 31.32612525139027, 121.46302701112509 31.326889149613763, 121.46364120645197 31.327214063306844, 121.46630114671098 31.327308924363656, 121.47158471611161 31.327486782178, 121.47192282847004 31.32741395747678, 121.47465832245638 31.3262643031035, 121.47472380330815 31.32546681969118, 121.47491195015887 31.32313645670045, 121.4748213678486 31.322100118496472))'),
+ (26798,'POLYGON ((121.36068237513624 31.2432127537434, 121.36071011648164 31.24316813252056, 121.36073452308698 31.243128868993953, 121.36140706600087 31.242129211929733, 121.36419288125283 31.23789844290539, 121.36616617072161 31.234723146655664, 121.36636869871045 31.234281599482227, 121.36721030884095 31.232785626721256, 121.36774308094125 31.23229909186669, 121.36878706284818 31.231724967732486, 121.36910868014148 31.23172468140534, 121.36910987533129 31.231654548972628, 121.37314156803482 31.23078020761352, 121.37850979657526 31.22765067321981, 121.38194993775618 31.226070635267288, 121.39306442584943 31.224625742362928, 121.39664372003809 31.224278749485237, 121.40532867860017 31.224119212715415, 121.40581794978198 31.22420809892898, 121.4061034282357 31.224403219058352, 121.40637064018556 31.22483447416981, 121.41051231836771 31.226528573102954, 121.41277984138438 31.22719688996408, 121.41863561781987 31.228775847440804, 121.41991226475476 31.22915185581298, 121.4272881906528 31.23161868810296, 121.42777937948745 31.2319996891661, 121.42896498177204 31.233563681527755, 121.43047446692964 31.234975578555098, 121.4324673677176 31.235716225606335, 121.4324742628832 31.235717833871817, 121.43249736889656 31.235723201936892, 121.43250731140826 31.23572550583781, 121.43252656873806 31.235729961980162, 121.4325330609898 31.235731459861313, 121.43253935892712 31.235732910412917, 121.43255619136146 31.23573678214499, 121.43256396776347 31.235738535336935, 121.43257054958677 31.23573995940749, 121.43257714663096 31.235741312544103, 121.43258375800248 31.235742611831007, 121.43259038459661 31.235743855479157, 121.43259702641264 31.23574503449082, 121.43260367807814 31.235746154200637, 121.43261034407062 31.235747213761712, 121.43261702080812 31.23574821313136, 121.43262370739525 31.235749152298908, 121.43263040383198 31.23575003126418, 121.43263711011853 31.235750850926777, 121.43264382625485 31.235751610386732, 121.43265055224035 31.235752305145184, 121.43265727822613 31.235752944983002, 121.43266401943389 31.23575351928265, 121.43267076064146 31.23575403416283, 121.43267751169884 31.2357544888397, 121.43268426275587 31.235754883197178, 121.43269101918551 31.23575521819825, 121.43269777471879 31.235755487470886, 121.43270453114727 31.235755697334266, 121.43271129205274 31.235755846031118, 121.43271805833152 31.235755940769632, 121.43272481923599 31.235755965228392, 121.43273158014061 31.235755934766058, 121.43273833567153 31.2357558385227, 121.43274509209766 31.23575568287006, 121.43275184762804 31.235755466887444, 121.43294226248827 31.235734305994434, 121.4339904653549 31.23557770428358, 121.43398062241468 31.234474916227708, 121.43405917615947 31.230557092571207, 121.43547526988675 31.229368356073305, 121.43623730580173 31.230260349721714, 121.43686163009978 31.2306817117045, 121.44073677302465 31.23223714022927, 121.44090887137197 31.232125652861342, 121.44112264740644 31.231972066087465, 121.44184856266433 31.2314284416801, 121.44193479342006 31.231346190884096, 121.44192612553417 31.230954248549104, 121.44200894547619 31.230168933044375, 121.44254202782751 31.227559984752244, 121.44309817670607 31.22569224019622, 121.44334298126161 31.22514210998638, 121.44509775318662 31.221603743352464, 121.44581421403744 31.220619708588035, 121.44580578460106 31.220195831586874, 121.44560691637483 31.21974253995766, 121.44539886326966 31.219268264908965, 121.44439640502871 31.218257398447847, 121.44319504282646 31.217636045959523, 121.44212655606935 31.217514478285224, 121.44165638985837 31.217410219719213, 121.44258431565453 31.21470065311269, 121.44266966768963 31.214451379432692, 121.44420123404598 31.210720495452346, 121.44438962845553 31.210373798871817, 121.44307656828035 31.209602139815633, 121.44302487903308 31.20957359932565, 121.44162717086215 31.208849254349985, 121.4381275589874 31.20702607514461, 121.43802964908313 31.206980763400296, 121.43599697280963 31.206153494271664, 121.43318421893699 31.205002117539248, 121.43242519920055 31.204690186779715, 121.43233639506158 31.204649087091994, 121.43067541556928 31.203789433455842, 121.43044443600829 31.203628128601608, 121.42883134023198 31.201644518540334, 121.42857580633591 31.19992567353401, 121.42858934921168 31.19987099798386, 121.42859862188976 31.19982997958335, 121.42860695363342 31.19978867729854, 121.42861444944255 31.19974736268109, 121.42862110912789 31.199705855745734, 121.42862693277644 31.199664241102244, 121.42863192039736 31.199622528660033, 121.4286360765491 31.199580799491887, 121.42863939209832 31.1995388779758, 121.42864188165099 31.199497039723457, 121.42864342059715 31.19945509211458, 121.42864423270322 31.199413042938584, 121.42864410513639 31.19937107086519, 121.42864324545339 31.19932908804554, 121.42864145047908 31.19928709149427, 121.42863881419387 31.199245082588803, 121.42863534743218 31.19920315148124, 121.42863104481877 31.199161292687204, 121.42862580155298 31.199119425462, 121.42861982716389 31.199077637473987, 121.42861301702065 31.19903601267323, 121.42860526533364 31.19899437849788, 121.42859678888678 31.198952914518657, 121.4285874704293 31.198911617197435, 121.42857721767805 31.198870391562895, 121.42856622755473 31.19882925039819, 121.4285544071564 31.19878836691221, 121.42854175101856 31.198747646508547, 121.42852825915325 31.198707098166704, 121.42851393155429 31.198666712865258, 121.4284988730449 31.19862659112717, 121.42848298328886 31.198586637850596, 121.42846625342986 31.19854694197607, 121.42844879714058 31.19850750516049, 121.4284304997689 31.19846823568321, 121.42841147696129 31.19842931612443, 121.42839161773682 31.198390743909982, 121.42837102842492 31.198352340594905, 121.42834960270979 31.198314289962777, 121.42832755002037 31.198276585198414, 121.42830466262937 31.198239137682908, 121.4282810445508 31.198202134325435, 121.42825659446476 31.198165388187284, 121.42823151393115 31.198129077737335, 121.42820570701492 31.198093030516624, 121.42817916494947 31.198057423652582, 121.42815200050697 31.19802225610067, 121.42812400059185 31.197987436432957, 121.42809537472952 31.197953056853216, 121.42806612203402 31.197919122715113, 121.4280361333147 31.197885626939783, 121.4280055239412 31.19785248213137, 121.42797418311405 31.197819861174768, 121.4279422155663 31.197787780012483, 121.42790962737214 31.197756044308022, 121.42787650732411 31.19772483986533, 121.42784266569622 31.197694170070726, 121.42780829758686 31.197664026149088, 121.42777330358378 31.197634332757087, 121.42773768286578 31.19760515914113, 121.42770154553924 31.19757652764345, 121.4276647770358 31.197548420279514, 121.42762749201668 31.197520940462077, 121.42758968493011 31.19749390178032, 121.42755135059035 31.197467485013874, 121.42751249526458 31.197441689324933, 121.42747322716129 31.19741643175085, 121.4274333332816 31.197391704476832, 121.42739301695472 31.197367684297724, 121.42735228875566 31.197344203056506, 121.4273110333286 31.1973213480331, 121.42726926140595 31.197299108559026, 121.42722717695793 31.19727740947632, 121.42718467097721 31.197256422758894, 121.42714175680736 31.197236064890177, 121.42709841573514 31.19721641384698, 121.42705476304138 31.19719730311278, 121.42701070224862 31.197178904846943, 121.42696621457162 31.197161224126535, 121.42692151818315 31.197144074464003, 121.42687641021772 31.197127733437448, 121.42683109444182 31.19711192704799, 121.4267853563496 31.197096924579608, 121.42673941501813 31.1970825521815, 121.42669315598772 31.197068895322207, 121.42664669371973 31.19705586850407, 121.42660001853949 31.197043642554288, 121.42655303094888 31.197032046681286, 121.42650594490809 31.19702116797887, 121.42645854117261 31.197011003836483, 121.42641103361805 31.19700155676111, 121.42636332282979 31.19699274055727, 121.42631550384237 31.19698473763407, 121.42626747633051 31.196977444676733, 121.4213748558315 31.197087979018956, 121.41906190047045 31.19715450589525, 121.4181979709031 31.197173972356286, 121.41553618638216 31.1972408755258, 121.40766392351388 31.197452659194315, 121.40489513079741 31.197531767363497, 121.40228088466887 31.19761201769086, 121.40097319466886 31.197652417871176, 121.39966509410132 31.197688300499156, 121.39913346995291 31.19769983646504, 121.39892127327755 31.197692784384447, 121.39861558228787 31.197678636525623, 121.39830598854036 31.19765819496273, 121.39794401629717 31.197622847101577, 121.39759739584647 31.197578755958105, 121.39258162432701 31.19676238677251, 121.39154989669778 31.1965972797352, 121.38784205475417 31.196006996694543, 121.38773704148468 31.195986743646543, 121.38710731336317 31.19584748748254, 121.38644406108 31.195662255170014, 121.37961574307555 31.193538237557934, 121.37633388115812 31.19253021322407, 121.36414593672696 31.189478263870406, 121.35915452855104 31.188996735095667, 121.3579405215928 31.1895231851832, 121.35464013709058 31.188388444098834, 121.34938520694364 31.18630883596925, 121.34853374824165 31.185964367205756, 121.34853135084752 31.185858587410195, 121.34784564482213 31.185641453801843, 121.34482179823168 31.186316258818753, 121.33828962311011 31.195928711103697, 121.33838401500397 31.195973610873523, 121.34459078955173 31.198909500437257, 121.34545290771469 31.20292133541654, 121.34538085846455 31.20475163699132, 121.34491215758243 31.218693561082297, 121.34619510070647 31.219176996760684, 121.34618796281514 31.219197899127142, 121.3456364264363 31.220819949498736, 121.34583756021529 31.222860858532258, 121.34670464355281 31.22269970486084, 121.34752888290669 31.222941335461677, 121.34870267615176 31.223465826736845, 121.34892989705314 31.223887498709352, 121.3490851426822 31.224473068042467, 121.34917587650216 31.22486614357002, 121.34923390734595 31.22574352847012, 121.34971189062946 31.229222036749146, 121.3502071522527 31.2291316719382, 121.35022216720957 31.229125392278426, 121.3502371314299 31.229119017979873, 121.35025204038602 31.229112549116376, 121.35026689860732 31.22910599101483, 121.35028170156622 31.22909934374912, 121.3502964501677 31.229092607305557, 121.35031114712778 31.22908578074135, 121.35032578429535 31.229078861489533, 121.3503403652953 31.229071856691085, 121.35035488650155 31.22906475830705, 121.35036935244368 31.229057570764375, 121.35038375769047 31.229050299550725, 121.35039810223886 31.22904293836819, 121.35041238699694 31.229035493501886, 121.35042661014852 31.229027954184172, 121.35044077441654 31.229020335669095, 121.35045487164734 31.229012629091073, 121.35046890455604 31.22900483260756, 121.35048287676935 31.22899695695883, 121.3504967828495 31.228988992335573, 121.350510624607 31.228980938709547, 121.35052439480458 31.22897281149602, 121.350538099773 31.228964594396462, 121.35055173498726 31.228956293783956, 121.3505653085987 31.22894791402647, 121.3505788079254 31.22893944543247, 121.35059223568798 31.22893089785694, 121.35060559369707 31.22892227127145, 121.35061888557262 31.22891356111907, 121.35129503713044 31.22881092609631, 121.35190235621666 31.228815283209716, 121.35190326561828 31.228821551674898, 121.35190427199119 31.228829940341782, 121.35190487350206 31.228836243606562, 121.35190532016037 31.228842560237133, 121.3519057116435 31.228850987894575, 121.35190584496826 31.228857319619042, 121.35190582796328 31.228863653836374, 121.35190568507932 31.22886998924114, 121.35190539095792 31.22887632265471, 121.3521419818594 31.22956179636915, 121.35060971611561 31.229724206390795, 121.34951382920009 31.229884895551695, 121.34761030439826 31.230252000645073, 121.34727753957766 31.23090310573147, 121.34731095075152 31.231134156220275, 121.34806988573465 31.232420709075477, 121.34806380521458 31.232435719642627, 121.34805777357731 31.232450740240704, 121.34805179806939 31.23246578425608, 121.34804588321315 31.232480837223477, 121.34804002357797 31.23249590462499, 121.34803421916664 31.2325109963587, 121.34962661455243 31.233483040547625, 121.35193509807354 31.234070277268106, 121.35195736878042 31.236517404936436, 121.35067321898664 31.239258226329166, 121.35008899450843 31.24047118499867, 121.35008432091014 31.240480138068275, 121.3500788930818 31.24048879375285, 121.35007274996957 31.240497091144753, 121.35006591240608 31.240504993918258, 121.350058420241 31.240512456445288, 121.35005032418883 31.240519439221043, 121.35004388909825 31.240524359355266, 121.35003712265286 31.240528934818013, 121.34997709343156 31.240567907746772, 121.34899001960972 31.24034893516351, 121.34555675101083 31.24311145160465, 121.34534440831143 31.24332240825689, 121.34458379429431 31.24409551902861, 121.34745355819489 31.246142008506606, 121.34778955955419 31.246277749145637, 121.34776296905122 31.24632438211332, 121.35194348008683 31.248784355565913, 121.3540778280975 31.249158332424532, 121.35408187669486 31.249177208461226, 121.35408615080807 31.24919604107598, 121.35409065677679 31.2492148301607, 121.35409538463693 31.249233579482617, 121.35410034345294 31.249252275393737, 121.35411688187021 31.24927417473022, 121.3541339393758 31.24929577553472, 121.35415150510862 31.249317068093625, 121.35416957453955 31.249338056079228, 121.35418814224903 31.24935871619195, 121.35420719374581 31.249379052273646, 121.35422672451068 31.249399050005167, 121.35424673273886 31.249418700418573, 121.3542672003224 31.249437996622706, 121.3542881308895 31.24945693045675, 121.35430949908617 31.24947549695216, 121.35433131125617 31.249493690600794, 121.35435355654141 31.249511496292218, 121.35437622498023 31.249528915092984, 121.35439929665527 31.249545936545033, 121.35442278153569 31.24956255058088, 121.35444665879209 31.249578757553, 121.35447091937989 31.24959453872233, 121.35449555333322 31.249609902352706, 121.35452055432089 31.249624835056437, 121.35454591328732 31.249639336985886, 121.3545716148464 31.249653392209368, 121.35459764451109 31.249666996474495, 121.35462401042989 31.24968015503787, 121.35465068000853 31.249692853161545, 121.35467765687301 31.249705086284347, 121.35470492562827 31.249716853768184, 121.35473247631528 31.249728151284064, 121.3547602944497 31.24973896918311, 121.35518478791202 31.249635458687223, 121.35582845704134 31.249322047051017, 121.35604464800932 31.249197153226902, 121.3561149670334 31.249121570346336, 121.3562058321864 31.248901314783804, 121.35659886857785 31.247826220871495, 121.35606357739769 31.247481099662053, 121.35572244843028 31.24750754702295, 121.35519673814237 31.245369735038153, 121.3552073631614 31.245367847443717, 121.35879453625572 31.24472973580066, 121.35939799959432 31.244415889881854, 121.36044799754451 31.24358977802768, 121.36068237513624 31.2432127537434))'),
+ (26797,'POLYGON ((121.48190963082611 31.193895877590727, 121.47898480494159 31.19221358786383, 121.47342553500224 31.18788230953159, 121.4714909884381 31.184339484353906, 121.47190359802266 31.18137006260733, 121.47514667324448 31.170710638248167, 121.47534548843556 31.169209297024658, 121.4754541639217 31.168388989099547, 121.47568398022848 31.1666550434333, 121.47538124084427 31.165794045881945, 121.47493115185924 31.164513767099503, 121.474213303355 31.16247135980851, 121.46874190005387 31.15787686784528, 121.4680882179649 31.157373491705506, 121.46804400460218 31.157339436804417, 121.46788587183177 31.157217626650137, 121.46488202084832 31.154677656281727, 121.46365638631157 31.15113537001311, 121.46368485697917 31.15067422533497, 121.46381177911233 31.148618890457207, 121.46426418533227 31.14574962476179, 121.46436960203167 31.145081051117618, 121.46693067632094 31.14180706840992, 121.46753097380129 31.141107707945235, 121.46858875059004 31.13987497167394, 121.4693279636118 31.139315361760232, 121.47270488720443 31.13675649075919, 121.47568510215729 31.13271401907296, 121.47654560177037 31.129854772065126, 121.47664725737918 31.12781731386882, 121.47499853706783 31.12246249483461, 121.47167021427475 31.11834191429799, 121.47086804044898 31.11687282996361, 121.46910329432792 31.112930090203964, 121.4691365399021 31.110834662289573, 121.469509456251 31.108008004053893, 121.46171949732737 31.10697218240216, 121.45896958891794 31.107470134780552, 121.45359034398457 31.112201402947026, 121.453358864158 31.112827324474548, 121.45395356339351 31.113681588907813, 121.45725192856017 31.114051481149733, 121.45750025434013 31.11635777140827, 121.45797691872329 31.121234452440806, 121.45716066064152 31.1217167917743, 121.45707829677724 31.121728183392268, 121.45696323762847 31.121720557398234, 121.45206389290522 31.121320851090495, 121.45038958034728 31.120429785317018, 121.45009460090594 31.120240489611003, 121.44928516322427 31.119670954570942, 121.4488715385096 31.119353690406314, 121.44826533285061 31.118974304849335, 121.4477294063722 31.118838172209568, 121.44610521674534 31.118487514400876, 121.44461912157202 31.11830491200906, 121.44432248572048 31.118287143675815, 121.44416269140119 31.11834416493519, 121.4440674968791 31.118428354417322, 121.44233929686239 31.12028190765256, 121.44289638778596 31.12128134249225, 121.44494672447276 31.125006297631913, 121.44535259453487 31.125802296096683, 121.44504078082839 31.127332878845202, 121.44461857378548 31.12939777205457, 121.44294292663947 31.135318541200885, 121.4330897713252 31.134039199453934, 121.42797151982016 31.133340826419378, 121.42083961883442 31.142571372964664, 121.41778543808034 31.148177019569214, 121.41628413058183 31.15096133334165, 121.41564170558829 31.152488544382113, 121.41441002537952 31.1554165646712, 121.41330543427684 31.158029948048828, 121.40907838507822 31.16802052221124, 121.408708676073 31.167877315874545, 121.40820158535686 31.16765904143868, 121.40748610311483 31.167351265522182, 121.40653728064606 31.16696335472911, 121.40575014174108 31.16666579060536, 121.40547275852495 31.166575514801735, 121.40486522525327 31.16638748247898, 121.40462926950025 31.166316712937302, 121.40139034579911 31.16540988054718, 121.40113341131037 31.16534400929353, 121.40082215708202 31.16624111611154, 121.39937439270244 31.170508120382067, 121.39807407653461 31.174380979719587, 121.4004081487814 31.175118917142324, 121.40049872316811 31.175233707778116, 121.40098325648587 31.179231785643783, 121.4012979819353 31.18250539112027, 121.40106671965019 31.18332312016587, 121.40101375674845 31.18352894852732, 121.40102534640432 31.18349198498842, 121.41068556934397 31.1858996196132, 121.41843024619557 31.1881974780243, 121.41914844295017 31.18833199885822, 121.41938569809008 31.18833152798748, 121.41940622119104 31.18833082511596, 121.41942596799291 31.188607872992623, 121.42154907260475 31.189482171507954, 121.4221413816888 31.191729445421874, 121.42214430615566 31.19174109615754, 121.42214695242569 31.191752796798713, 121.42214929991238 31.191764536177864, 121.42215135398895 31.191776320691545, 121.42215312000343 31.19178812613816, 121.42215458185808 31.191799960329003, 121.42215575117213 31.19181180907403, 121.42215662078787 31.19182367224516, 121.42215719785914 31.191835545471417, 121.42215747701404 31.19184742415684, 121.4221574618218 31.191859296666536, 121.42215714333608 31.191871163739947, 121.42215653138652 31.191883011154395, 121.42215562060812 31.191894842413202, 121.42215441725675 31.191906649528786, 121.42215290969118 31.19191841969317, 121.42215110864964 31.191930155798016, 121.42214901949896 31.191941856139316, 121.42214663148718 31.191953501624962, 121.42214395982673 31.19196509612678, 121.42190961273587 31.192662376387357, 121.42165660534407 31.19338852468073, 121.4201107325016 31.19286031495871, 121.4200673304813 31.192873109805245, 121.41948281437293 31.193819381374283, 121.41939897166085 31.193991291068674, 121.41911151792428 31.19458264761196, 121.41905902454728 31.194742295760353, 121.41905220001692 31.19476346783335, 121.41904572359893 31.19478472112167, 121.41903958992637 31.194806056425918, 121.41903380526136 31.19482747296478, 121.41902836333713 31.19484896612205, 121.41902327577468 31.194870525317405, 121.4190185354186 31.19489215221746, 121.41901413868325 31.194913839556374, 121.4190101052539 31.194935589503945, 121.41900641453252 31.194957380076005, 121.41900308263878 31.194979227774564, 121.41900009883247 31.195001127899147, 121.41899747293493 31.195023059035705, 121.41899520495537 31.195045031084412, 121.4189932859355 31.195067031278377, 121.41899172035039 31.195089061501772, 121.41899052161844 31.195111120206626, 121.41898966735594 31.19513318897446, 121.41898917546837 31.195155280740515, 121.4189890369928 31.195177378237716, 121.41898925730312 31.195199487866525, 121.41898983459048 31.19522158889409, 121.41906190047045 31.19715450589525, 121.4213748558315 31.197087979018956, 121.42626747633051 31.196977444676733, 121.42631550384237 31.19698473763407, 121.42636332282979 31.19699274055727, 121.42641103361805 31.19700155676111, 121.42645854117261 31.197011003836483, 121.42650594490809 31.19702116797887, 121.42655303094888 31.197032046681286, 121.42660001853949 31.197043642554288, 121.42664669371973 31.19705586850407, 121.42669315598772 31.197068895322207, 121.42673941501813 31.1970825521815, 121.4267853563496 31.197096924579608, 121.42683109444182 31.19711192704799, 121.42687641021772 31.197127733437448, 121.42692151818315 31.197144074464003, 121.42696621457162 31.197161224126535, 121.42701070224862 31.197178904846943, 121.42705476304138 31.19719730311278, 121.42709841573514 31.19721641384698, 121.42714175680736 31.197236064890177, 121.42718467097721 31.197256422758894, 121.42722717695793 31.19727740947632, 121.42726926140595 31.197299108559026, 121.4273110333286 31.1973213480331, 121.42735228875566 31.197344203056506, 121.42739301695472 31.197367684297724, 121.4274333332816 31.197391704476832, 121.42747322716129 31.19741643175085, 121.42751249526458 31.197441689324933, 121.42755135059035 31.197467485013874, 121.42758968493011 31.19749390178032, 121.42762749201668 31.197520940462077, 121.4276647770358 31.197548420279514, 121.42770154553924 31.19757652764345, 121.42773768286578 31.19760515914113, 121.42777330358378 31.197634332757087, 121.42780829758686 31.197664026149088, 121.42784266569622 31.197694170070726, 121.42787650732411 31.19772483986533, 121.42790962737214 31.197756044308022, 121.4279422155663 31.197787780012483, 121.42797418311405 31.197819861174768, 121.4280055239412 31.19785248213137, 121.4280361333147 31.197885626939783, 121.42806612203402 31.197919122715113, 121.42809537472952 31.197953056853216, 121.42812400059185 31.197987436432957, 121.42815200050697 31.19802225610067, 121.42817916494947 31.198057423652582, 121.42820570701492 31.198093030516624, 121.42823151393115 31.198129077737335, 121.42825659446476 31.198165388187284, 121.4282810445508 31.198202134325435, 121.42830466262937 31.198239137682908, 121.42832755002037 31.198276585198414, 121.42834960270979 31.198314289962777, 121.42837102842492 31.198352340594905, 121.42839161773682 31.198390743909982, 121.42841147696129 31.19842931612443, 121.4284304997689 31.19846823568321, 121.42844879714058 31.19850750516049, 121.42846625342986 31.19854694197607, 121.42848298328886 31.198586637850596, 121.4284988730449 31.19862659112717, 121.42851393155429 31.198666712865258, 121.42852825915325 31.198707098166704, 121.42854175101856 31.198747646508547, 121.4285544071564 31.19878836691221, 121.42856622755473 31.19882925039819, 121.42857721767805 31.198870391562895, 121.4285874704293 31.198911617197435, 121.42859678888678 31.198952914518657, 121.42860526533364 31.19899437849788, 121.42861301702065 31.19903601267323, 121.42861982716389 31.199077637473987, 121.42862580155298 31.199119425462, 121.42863104481877 31.199161292687204, 121.42863534743218 31.19920315148124, 121.42863881419387 31.199245082588803, 121.42864145047908 31.19928709149427, 121.42864324545339 31.19932908804554, 121.42864410513639 31.19937107086519, 121.42864423270322 31.199413042938584, 121.42864342059715 31.19945509211458, 121.42864188165099 31.199497039723457, 121.42863939209832 31.1995388779758, 121.4286360765491 31.199580799491887, 121.42863192039736 31.199622528660033, 121.42862693277644 31.199664241102244, 121.42862110912789 31.199705855745734, 121.42861444944255 31.19974736268109, 121.42860695363342 31.19978867729854, 121.42859862188976 31.19982997958335, 121.42858934921168 31.19987099798386, 121.42857580633591 31.19992567353401, 121.42883134023198 31.201644518540334, 121.43044443600829 31.203628128601608, 121.43067541556928 31.203789433455842, 121.43233639506158 31.204649087091994, 121.43242519920055 31.204690186779715, 121.43318421893699 31.205002117539248, 121.43599697280963 31.206153494271664, 121.43802964908313 31.206980763400296, 121.4381275589874 31.20702607514461, 121.44162717086215 31.208849254349985, 121.44302487903308 31.20957359932565, 121.44307656828035 31.209602139815633, 121.44438962845553 31.210373798871817, 121.44420123404598 31.210720495452346, 121.44266966768963 31.214451379432692, 121.44258431565453 31.21470065311269, 121.44165638985837 31.217410219719213, 121.44212655606935 31.217514478285224, 121.44319504282646 31.217636045959523, 121.44439640502871 31.218257398447847, 121.44539886326966 31.219268264908965, 121.44560691637483 31.21974253995766, 121.44580578460106 31.220195831586874, 121.44581421403744 31.220619708588035, 121.45367851430491 31.222312430014238, 121.45662257057101 31.223006393718894, 121.45915850192365 31.224003419470346, 121.46137104098376 31.225465162826442, 121.46229653408008 31.22596101306258, 121.46415018628622 31.226393844130595, 121.46551374778872 31.22299222594419, 121.46677252144501 31.22041446224727, 121.46703622104582 31.219697056512395, 121.46763660894065 31.218063366406792, 121.46800913455164 31.216744378125178, 121.46805941723316 31.216362307228895, 121.46818850403473 31.21538138464107, 121.46841573268509 31.213185863335966, 121.4684756254226 31.212628339015414, 121.46868245569681 31.210702509443564, 121.46882413369593 31.209404502936653, 121.47330879084825 31.210447784154123, 121.47341552561942 31.210475597527495, 121.47601297479463 31.202981507579043, 121.47635451428145 31.200646058132154, 121.47650042425997 31.19921878767655, 121.47680483082907 31.197310123194633, 121.47690918400673 31.197122283852444, 121.47708453791829 31.19703341288889, 121.47829879275939 31.1968037830768, 121.48034918399908 31.196404453132846, 121.48128507853063 31.196136163289584, 121.48190963082611 31.193895877590727))'),
+ (26796,'POLYGON ((121.50151008027464 31.248009135253955, 121.49942504363618 31.2456099435855, 121.49946308904418 31.24326926606839, 121.50089172178451 31.240732823029848, 121.50445695517398 31.237289385643514, 121.51108048478373 31.230793538814392, 121.51227848704777 31.22962163810842, 121.51503521312675 31.226265209586384, 121.51648002601614 31.221484284599693, 121.51505621013521 31.2162661486968, 121.51226360797378 31.211309195040876, 121.5071557650052 31.204461514304352, 121.50557502145165 31.20234916005844, 121.50258439547612 31.199285972722993, 121.50003590104158 31.198036453378393, 121.49502166952877 31.196889572285535, 121.48190963082611 31.193895877590727, 121.48128507853063 31.196136163289584, 121.48034918399908 31.196404453132846, 121.47829879275939 31.1968037830768, 121.47708453791829 31.19703341288889, 121.47690918400673 31.197122283852444, 121.47680483082907 31.197310123194633, 121.47650042425997 31.19921878767655, 121.47635451428145 31.200646058132154, 121.47601297479463 31.202981507579043, 121.47341552561942 31.210475597527495, 121.47330879084825 31.210447784154123, 121.46882413369593 31.209404502936653, 121.46868245569681 31.210702509443564, 121.4684756254226 31.212628339015414, 121.46841573268509 31.213185863335966, 121.46818850403473 31.21538138464107, 121.46805941723316 31.216362307228895, 121.46800913455164 31.216744378125178, 121.46763660894065 31.218063366406792, 121.46703622104582 31.219697056512395, 121.46677252144501 31.22041446224727, 121.46551374778872 31.22299222594419, 121.46415018628622 31.226393844130595, 121.46340984674484 31.228225201704863, 121.46315622406524 31.230159049743378, 121.46923766738458 31.230139363163886, 121.47124070862459 31.230032209238203, 121.47189711097732 31.229938096159362, 121.47210889394354 31.229917614095264, 121.4722790508378 31.229901149490406, 121.4726422860601 31.22987484146419, 121.47287162345754 31.229861071046727, 121.47303284541042 31.229858747391276, 121.47306489639462 31.229858531740668, 121.47309694834362 31.229858445433017, 121.47312898954424 31.22985848961715, 121.47316103080962 31.22985866766576, 121.47319306672789 31.229858966197636, 121.47322509370237 31.229859405086696, 121.47325711983584 31.229859968866386, 121.47328913161398 31.22986066232341, 121.47332113804723 31.229861486168883, 121.47335314454138 31.229862440290162, 121.47338513668085 31.229863528593388, 121.47341711806604 31.22986474290587, 121.47344908509187 31.229866082405927, 121.47348104226694 31.229867555998247, 121.47351298868848 31.229869161004366, 121.47354492075092 31.22987089480301, 121.47357684295784 31.22987275460119, 121.4736087499063 31.22987474951352, 121.47364064159162 31.229876869643928, 121.47367251351024 31.22987911958913, 121.47370437016701 31.229881500155173, 121.47373621246264 31.229884011324952, 121.4737680349922 31.22988665771412, 121.47379984225431 31.22988942393216, 121.47383162434096 31.229892320089544, 121.4738633911639 31.229895347777198, 121.47389513821642 31.22989850439347, 121.4739268555877 31.229901792850377, 121.47395856219603 31.229905205549116, 121.47403685341067 31.23076592827868, 121.4741156227032 31.231705380777438, 121.47354776002551 31.236454425779257, 121.47305003629207 31.239533320215997, 121.47216560234696 31.242073013842923, 121.4706188854086 31.244821530011635, 121.46946956808858 31.247500790564505, 121.46996329226782 31.247483137630045, 121.47065325389505 31.24743377918528, 121.47158535876149 31.247220292871905, 121.47332245838908 31.246588342879434, 121.47418939420338 31.24593286837221, 121.47484901716173 31.245528238540672, 121.47557827347981 31.245297203845663, 121.47646404304336 31.245251383172285, 121.47725900814538 31.245430508408568, 121.47846976246946 31.245904476373855, 121.47889888911784 31.24618677403516, 121.47940251219426 31.246518116093693, 121.48058181842455 31.247129557458443, 121.4812744260162 31.24734727024908, 121.48189838863965 31.24732913757806, 121.48287083831389 31.247283134908294, 121.4835249438674 31.247190316435223, 121.48449178681948 31.246597028652666, 121.48531101869338 31.24615465188061, 121.48587956194534 31.24596346444811, 121.48644559621373 31.245921843762545, 121.48712549208058 31.246004061583335, 121.48787430166199 31.2462977055336, 121.48850399243783 31.24677914661166, 121.48916094407339 31.24736024911793, 121.48958562569956 31.247757209220183, 121.49104417389013 31.249117940907492, 121.49163270565394 31.249438915253826, 121.49304352374516 31.249943788195736, 121.49373873809381 31.24992912220628, 121.49472500747152 31.249814556389733, 121.49540940596906 31.24956425855349, 121.4965029524449 31.249064971022495, 121.49865645255609 31.248409939086887, 121.50151008027464 31.248009135253955))'),
+ (26795,'MULTIPOLYGON (((121.88546923335595 31.638863849449596, 121.88614565031153 31.617287893773952, 121.8861457881097 31.6172834514702, 121.88615697178062 31.616929787479986, 121.88872461256828 31.615832547377437, 121.89611878028013 31.612721912984394, 121.89738227798144 31.612191289048702, 121.89738266066331 31.612191130715395, 121.90310941675762 31.608917508419594, 121.90828690613498 31.603727947511967, 121.90836718329079 31.60362811493208, 121.90848726869022 31.60345771049584, 121.90861598444788 31.603275045924356, 121.90867926665149 31.603017787211062, 121.9087049072039 31.602913554222745, 121.90872503017981 31.602784712465123, 121.90873456233078 31.60272366103761, 121.90874052291912 31.602575039123412, 121.90872871239229 31.602432101191173, 121.9087026953497 31.602330793448143, 121.90868730532851 31.602270861556363, 121.90856893518435 31.602001372652623, 121.90836959396513 31.601657753546, 121.90905868007566 31.601134341701567, 121.9092885369665 31.60095970082975, 121.91160374028532 31.599199275224365, 121.91911207387913 31.593234775428932, 121.92006223727125 31.59245618244582, 121.92033123050575 31.584342734327628, 121.91957399968572 31.582754044414038, 121.91959768075826 31.58273784282196, 121.91963284105137 31.582713789264915, 121.91963593937645 31.582711626040503, 121.91963900715369 31.582709426612467, 121.91964203990293 31.582707202643437, 121.91964504839248 31.58270494791247, 121.91964802184974 31.582702663243857, 121.91965096475953 31.582700343272162, 121.91965387264031 31.58269799786103, 121.91965675087906 31.58269562794791, 121.91965959946715 31.582693221839122, 121.91966240764003 31.582690791153567, 121.91966518616596 31.582688329670052, 121.9196679341519 31.582685843679172, 121.91967064261537 31.582683326821893, 121.91967332143646 31.582680785464056, 121.91967595983714 31.582678213234068, 121.91967856320787 31.582675615566863, 121.91968113693525 31.58267299250034, 121.91968366575776 31.582670344827797, 121.91968616403892 31.582667671750087, 121.919688622801 31.582664973204924, 121.91969104653278 31.582662249223816, 121.91969343074928 31.582659505172895, 121.91969577903426 31.582656731182567, 121.919698087803 31.582653936223455, 121.9197003624396 31.582651116735065, 121.91970259576436 31.58264827626578, 121.91970479046782 31.582645411236534, 121.91970694385925 31.582642525226866, 121.91970905863268 31.582639619155348, 121.91993000575883 31.582595506217782, 121.92023263620236 31.582535016131818, 121.9208276051889 31.582415869774735, 121.92103118705488 31.582375031672388, 121.9210312570983 31.582375017681727, 121.92123911537232 31.582333279908397, 121.92219730958703 31.582140405379274, 121.92260255507712 31.582554423708736, 121.92503214021583 31.586084011239492, 121.9254486789138 31.58632868690714, 121.92651365361438 31.586240567798963, 121.97046740121723 31.553496041291883, 121.97884294069101 31.545437719330025, 121.97884299035633 31.545437674109237, 121.98249484429817 31.541940830301854, 121.98947408694355 31.53281176691466, 121.9963165309373 31.518104044094823, 121.9964380147889 31.51784330476348, 121.99657929235805 31.516777743537613, 121.99658981346802 31.516698431737154, 121.99655395367223 31.51620323797856, 121.99654602934484 31.516093801922608, 121.99652924077795 31.515861848673456, 121.99609581047193 31.509869775243175, 121.99567451098218 31.503653344644718, 121.99567448080532 31.50365288478088, 121.99567390090357 31.503647338680747, 121.99567321614612 31.503640330990798, 121.99561250343766 31.503058675455947, 121.99556074701626 31.50285719062832, 121.99552674127958 31.502724708338807, 121.9954862565279 31.5026719442938, 121.99871597931732 31.5010401606103, 121.9985956234705 31.499730041137017, 121.99818773425747 31.495293769342645, 121.99789499023247 31.49210143583397, 121.99733473971993 31.489657323060555, 121.99600431197774 31.483491788926, 121.99550942629763 31.48211523030362, 121.99428086261439 31.48010269177536, 121.9940807674494 31.479919801802023, 121.98943761433125 31.481415342303556, 121.98468367579748 31.48460769093334, 121.98105244601534 31.486962378888247, 121.97919642596693 31.489729515405546, 121.97728197029679 31.49254769224849, 121.97682241369091 31.493226494331193, 121.9754307302276 31.498823412546393, 121.97447992927188 31.502676218392907, 121.97364431938993 31.50595758619762, 121.97333483966881 31.507698431774255, 121.96522601629127 31.509944394936518, 121.96395972332972 31.510298332752843, 121.96395932577317 31.510298444115072, 121.96395929045855 31.510298450057046, 121.96357156357121 31.509470137796637, 121.96216849784754 31.50647303672688, 121.96206367653191 31.50624915960787, 121.96163143960905 31.505325982024434, 121.96093231366123 31.503832865140083, 121.96093220793256 31.50383263668661, 121.96081229408199 31.503576543545904, 121.95960858566546 31.50100613002513, 121.95828513685882 31.498180317374555, 121.95819159552815 31.497980588610346, 121.95816876760341 31.497942246314746, 121.9540684374413 31.49105377481597, 121.95400456450128 31.49094645932522, 121.95272439694715 31.488795497123483, 121.95160062487017 31.486907017061924, 121.95138037480174 31.486536856303793, 121.95128299620596 31.48637318463784, 121.95060360597644 31.485231237538468, 121.95001766038311 31.484246220856505, 121.94982685148531 31.483925430980715, 121.9493178716228 31.48313052712375, 121.94930696073908 31.483113492185726, 121.94930045333071 31.483103800854803, 121.94929850246444 31.48310089756794, 121.94927440780633 31.48307993860799, 121.94917743448528 31.483009052672188, 121.94917738382742 31.483009013913062, 121.94917727889113 31.483008940950043, 121.94911669441237 31.48296465030837, 121.94845529635447 31.48247969557141, 121.94782800110502 31.482019545008843, 121.9477939581333 31.48199456815323, 121.94685689705776 31.481302868811852, 121.94591997170993 31.480610771553206, 121.94569624507729 31.480444290329558, 121.9448847252083 31.479840143511073, 121.94446152057435 31.479524912788563, 121.94365869072546 31.47893834855348, 121.9429796777461 31.47844189270251, 121.94248824704582 31.47808236071765, 121.94166802436904 31.477476868267225, 121.9412173506713 31.477143950793586, 121.94084793710799 31.476870929996874, 121.94075120030301 31.476830320104405, 121.93963111952807 31.47599974295785, 121.93742373229537 31.474359546311877, 121.93367364251938 31.471561931474504, 121.93291839643526 31.47099670275645, 121.93204365230218 31.4703412515183, 121.9317518820431 31.47012908137376, 121.93174235545888 31.470122150534305, 121.93174220042893 31.470122051360452, 121.93167883446554 31.47008196040376, 121.93165021569322 31.470050075000078, 121.93164741405366 31.470010026191456, 121.9316487012299 31.47000889529426, 121.93169042725427 31.46997272503788, 121.93184032532415 31.469888521520478, 121.93184044514499 31.469888450817795, 121.93184953183062 31.469883348235868, 121.93193490060725 31.469839691070664, 121.93209204556057 31.469759315944376, 121.93232277398634 31.469630779978324, 121.9323232200043 31.46963053310237, 121.93367956627038 31.4688741209206, 121.93519489020038 31.468055708618984, 121.93537456735886 31.467958553635416, 121.93629243141744 31.467431160117183, 121.93633170038616 31.467401066871528, 121.93633249769235 31.467400454745928, 121.93637988992239 31.467364124932654, 121.93642561515868 31.467324355558343, 121.93642884486846 31.46732154751638, 121.9364552036268 31.467278079693063, 121.93645524870563 31.467278010040257, 121.93645526944016 31.467277974779396, 121.93646355446545 31.46726430947744, 121.9364636599433 31.467264134056496, 121.93648442763984 31.467206894092612, 121.93648542350157 31.46720134849409, 121.93649809710638 31.467130927608586, 121.93649007065595 31.4670309830975, 121.93645488770598 31.46694028337241, 121.93643095071204 31.466909635760288, 121.93639594433243 31.466864806911577, 121.93620962567707 31.466714514996188, 121.93580718989067 31.466491542724718, 121.93455444663357 31.465804653334125, 121.93398535357528 31.465492094008386, 121.93379337596862 31.46538658356024, 121.93303247640122 31.464968001134114, 121.93257613862723 31.464713954867022, 121.93121295030917 31.463953716749465, 121.93058943738377 31.463607377717512, 121.9301253041647 31.46334928640707, 121.92946556636467 31.462966830988524, 121.92924900699461 31.462846884160104, 121.92887884427147 31.462641733799437, 121.92884070654105 31.462620590554696, 121.92835810737849 31.462345202245046, 121.92835767150562 31.462344952667546, 121.92834112891332 31.462335244548097, 121.92761432045755 31.461908870480407, 121.92702185635422 31.461575062874648, 121.9268429268581 31.461474172702548, 121.92663808478665 31.461358379325482, 121.92601881382649 31.461008023838996, 121.92553004134844 31.460732506878195, 121.92552967603156 31.460732301207564, 121.92552951046814 31.460732206494725, 121.92552910016161 31.460731975565896, 121.92543960499069 31.460681498687997, 121.92535709446143 31.460635192116374, 121.92484927350637 31.46035002056938, 121.92439044568106 31.460089428426258, 121.92400804713529 31.459874402020038, 121.92337512559774 31.45961400057442, 121.9228435824614 31.459394981141653, 121.92265875430195 31.4593188514506, 121.92177532018864 31.458954461319344, 121.92067871362165 31.45850129082738, 121.9189274345581 31.457776136089095, 121.91831999606498 31.45752387942824, 121.91787617775849 31.45733933401671, 121.91768270491008 31.457258823576996, 121.91733638290326 31.45711462075223, 121.91679285254382 31.45688807149742, 121.9162595349592 31.45666549348137, 121.91572604957467 31.456442583346004, 121.91542954636378 31.456318573390842, 121.91525816572097 31.456246858906628, 121.91501502759942 31.456145071893967, 121.91323938749443 31.45539715230781, 121.91285658836233 31.455235636923035, 121.9125292983006 31.455097452246452, 121.91126266130621 31.454577263603397, 121.91126221235572 31.45457707752115, 121.91103711345097 31.45459085525145, 121.9110367050401 31.454590879296862, 121.91069485514635 31.45461174254542, 121.91026668174557 31.45463776861494, 121.91000794941519 31.454653442193656, 121.90990604222308 31.454658116723138, 121.9087368790126 31.45471130859854, 121.90721544346661 31.45478097935367, 121.9063874488894 31.454818414522588, 121.90596570773486 31.454839193603263, 121.90502443438133 31.454885300511307, 121.90482230401419 31.454895153051115, 121.90384272494853 31.454942694448533, 121.90364869768754 31.45495207659257, 121.90364856263024 31.454952078724435, 121.9032721336948 31.454970169927737, 121.9012993188298 31.455064348947207, 121.90096425469507 31.455080451341683, 121.90035056291116 31.455109891253827, 121.90007067388868 31.45512330027564, 121.89954785647879 31.455148309624644, 121.89910002733919 31.4551719727305, 121.8984173189991 31.455208010997005, 121.89786104396639 31.455247426638078, 121.89784552983258 31.45524852387851, 121.89784542525555 31.455248531831874, 121.89760712128832 31.454714859668265, 121.8974432730527 31.45434792017825, 121.89732424516156 31.454081352051734, 121.89732402119354 31.454080852144283, 121.89685341508455 31.45302691776799, 121.89663010220933 31.452526811408937, 121.89659108091973 31.452439422194576, 121.89631467172839 31.451820382303037, 121.89622484319882 31.451619219621524, 121.89621386994327 31.45159463957284, 121.89613801213105 31.451424755514086, 121.89606815447844 31.45127538706196, 121.89582824956688 31.450762426721944, 121.89580918886999 31.450721670012864, 121.89577582793002 31.450650338986392, 121.89564854370167 31.45037818298633, 121.89633277191466 31.449613818871065, 121.89638934929931 31.449550620400352, 121.89660010107107 31.449315190578563, 121.89704403570029 31.44881927452212, 121.8971845533939 31.44866230772442, 121.89732506752685 31.448505336354344, 121.89724229480558 31.448300918744263, 121.89707312256226 31.447883130859672, 121.89704132750742 31.447865031669, 121.89702277944595 31.447854472070354, 121.89697457496558 31.447827033529002, 121.89684549151474 31.44775436050871, 121.89673323216628 31.447691160786203, 121.89673293880898 31.447690995179972, 121.89673259536868 31.447690803450094, 121.8967323914455 31.44769068449313, 121.89671734439912 31.447682216288346, 121.89667282406869 31.44765556721108, 121.89667218725127 31.44765519008137, 121.89667116761628 31.4476545755036, 121.8966708000166 31.447654359032395, 121.89667031792708 31.44765406935389, 121.89646199234387 31.447529377681377, 121.89630007393441 31.447433636709235, 121.8962396373242 31.44739789878494, 121.89596505596795 31.447232998152337, 121.89567367782357 31.447065811054916, 121.89567164944802 31.447064663192887, 121.89565188442886 31.447053486617325, 121.89545416514815 31.44694167557058, 121.89545713195614 31.44693708331071, 121.89546022725237 31.44693229278713, 121.89544668992227 31.446921627724695, 121.89544647612196 31.44692145821532, 121.89543068242186 31.446911186890322, 121.89542474966514 31.446907274792057, 121.89541419717253 31.446900311661995, 121.89539991655471 31.446891573650788, 121.89538947373718 31.44688518211224, 121.89530618755262 31.446828090540926, 121.8952759433478 31.446804021006656, 121.89525735764006 31.44678485296156, 121.89524444722092 31.4467622187888, 121.89524442751897 31.446762183334645, 121.89523800499201 31.44675091949368, 121.89523080074548 31.44672935624794, 121.89522128386606 31.446700877124716, 121.89520421274754 31.446640564046408, 121.89519971301425 31.446624653505534, 121.89519964392865 31.446624411997348, 121.89518177543897 31.44658030118277, 121.89518176108295 31.44658025053188, 121.89518160604504 31.44657987247399, 121.89517689794458 31.446559776086772, 121.89516597937846 31.44651312779238, 121.89516485349205 31.446510115342605, 121.89516042258683 31.446498288223637, 121.89515283272786 31.446486963278964, 121.89514985620775 31.44648266599464, 121.89514662636016 31.44647801403073, 121.89511499787898 31.4464515630045, 121.89510093038918 31.4464422832299, 121.89508202854837 31.446429813677284, 121.894936943291 31.44634769345077, 121.89478316138816 31.446259191965904, 121.89477839770105 31.446256843107868, 121.89476952313356 31.446252467843546, 121.8947522810492 31.446243971420063, 121.89459062340937 31.446182787063243, 121.8945240650803 31.44615872142444, 121.89448159708135 31.446143368051093, 121.89443223778372 31.446128459593353, 121.89428037142534 31.446086966228343, 121.89419293784857 31.446066177251762, 121.89419287795448 31.446066166255747, 121.89413989898016 31.446053568960444, 121.89406014544132 31.44603586936996, 121.89386033992173 31.445991532409266, 121.89385926717148 31.445991313046754, 121.89384800416212 31.445988986375372, 121.89384734301441 31.44598838405319, 121.89384402029945 31.445985376631864, 121.8938404882438 31.445982185435813, 121.89381904891758 31.445979051931406, 121.89381296871608 31.445980712375142, 121.89380814476202 31.445982029593363, 121.8937883451833 31.44597454442995, 121.89378754404174 31.445974239171157, 121.89378621169166 31.44597364528372, 121.89377455855598 31.445968459444614, 121.89372200310261 31.445956383897677, 121.89365267656527 31.44594046136468, 121.89359121796794 31.445929590444678, 121.89353188515575 31.445919100004758, 121.89349167692022 31.445911023568822, 121.89349167152405 31.445910992879178, 121.8934903245536 31.445901139535117, 121.89348086260257 31.445832084552396, 121.89347170062788 31.445765176436925, 121.89335750332789 31.445725809510854, 121.89331681068566 31.4453851252772, 121.89302840426052 31.44297062750926, 121.89269852958714 31.440208512057474, 121.89261671208158 31.439523298778003, 121.89257992416441 31.43920992620644, 121.88981606569617 31.41558554938445, 121.88928254845833 31.411000173711315, 121.88415007457857 31.3666622199843, 121.88414881149171 31.366651355092017, 121.88420277779491 31.36660853368805, 121.8844952492415 31.366376482719108, 121.9122623116791 31.356006534145457, 121.91505949042187 31.35495022483098, 121.91548353576367 31.35478963360177, 121.92047657449186 31.35288870422864, 121.92325119382404 31.351835397963132, 121.95252443712543 31.340373581437923, 122.02707857175945 31.327439071100045, 122.08127105775223 31.324654612258815, 122.10343781734957 31.32431981173409, 122.11606327143888 31.324312816215524, 122.12387759804061 31.318393765609134, 122.12342114542565 31.311399379929522, 122.10733291224004 31.28053982736353, 122.10043554861593 31.267406543413124, 122.0989989755927 31.267964210548993, 122.09844404733865 31.268180054709326, 122.05726445400478 31.28444027356494, 122.03186823041347 31.291129337946245, 122.01725908593967 31.293953604388953, 121.99167924339142 31.297419322729603, 121.97348992093433 31.299125083766135, 121.93697839107662 31.30072628176862, 121.90724293795567 31.301478278477504, 121.9072407106897 31.30146938399039, 121.90546914292604 31.301497206922487, 121.89905665459302 31.301589022057684, 121.87462197167478 31.302016424286045, 121.86525512556723 31.302299900975424, 121.86083409436092 31.299611443158568, 121.86195791511241 31.285938679150753, 121.86214210436381 31.283708491867294, 121.86213392325428 31.280280041475372, 121.86213392337842 31.280279848976253, 121.86213391784855 31.280271711907247, 121.86213390855052 31.280263850116327, 121.86210097946983 31.264760511519324, 121.86210097413627 31.264760451287366, 121.86209130720127 31.264662654313998, 121.86197167479136 31.263452287535202, 121.85622700773365 31.24825813017814, 121.85622698348732 31.248258060293207, 121.84841961519851 31.241328022489252, 121.84826888726192 31.24129751295798, 121.84473999655404 31.24058691113115, 121.84537489603983 31.23926128862637, 121.84547540476704 31.23896986964945, 121.84558564180573 31.238650293698058, 121.8461496582235 31.237015011388948, 121.84625794049074 31.23681471567958, 121.84650714621762 31.23635381130685, 121.84644650188399 31.235729341884156, 121.84641771931842 31.235432933803754, 121.84668566094436 31.233969913806405, 121.84650676149057 31.233467347084748, 121.84650873303625 31.233321938477847, 121.84653604237457 31.231324207949434, 121.84654488538492 31.2294979521567, 121.84650653466261 31.229060611824885, 121.846372849846 31.228491650667223, 121.84652513569256 31.227917515846556, 121.84708521431652 31.22722209832821, 121.84728689552315 31.226227467874462, 121.84709975176838 31.225983494177285, 121.84667645485085 31.225819494026577, 121.84537957185297 31.22548182398351, 121.84440694084344 31.225481322520654, 121.84257605931006 31.22582212868464, 121.841031067571 31.22619615165971, 121.83986742479304 31.226448674042388, 121.8391616511657 31.226672805035285, 121.83879929458331 31.226985013705452, 121.83828421975916 31.227186250396866, 121.8374065779738 31.22716645078266, 121.83641463097541 31.227663380110247, 121.83551822995547 31.22823444749068, 121.83492698043702 31.228703952741483, 121.83490794971553 31.228951990701383, 121.83490809317084 31.22927577160678, 121.83469833988524 31.229584814137176, 121.83404980011478 31.229960203374077, 121.83244866370882 31.230730140964983, 121.83206238395393 31.230952253268057, 121.83186218727188 31.23108490074857, 121.83174769998134 31.23127292877317, 121.83174780774624 31.231601501730612, 121.83161920163018 31.231846941384052, 121.83127575584115 31.231853893807028, 121.8309181203317 31.23197535885537, 121.83036023239754 31.23231509550174, 121.82965932327583 31.2328717609304, 121.82794301152754 31.234161927506275, 121.82689899699488 31.234810037532235, 121.82605529492224 31.2352683082767, 121.82515451695359 31.236141403922257, 121.82508303386501 31.236528338731357, 121.82512591200006 31.236713268304516, 121.82522597625751 31.236825756221553, 121.82521175873158 31.236940259111254, 121.82510029143675 31.23714237234899, 121.82508483752245 31.237170386159928, 121.82508466729354 31.237170699556962, 121.8212127516663 31.23701052624324, 121.80654587132891 31.235806108061517, 121.79875440352068 31.23158511619027, 121.78808766831585 31.223755881053822, 121.78381549485349 31.22059548359596, 121.78511759892669 31.218368625458897, 121.78621479733043 31.217560874855383, 121.79904669592872 31.202733103362338, 121.79922628364503 31.202511623194606, 121.79923714408775 31.202498225148005, 121.79948004936507 31.202198613807287, 121.79995828209078 31.20160852257357, 121.80010393094454 31.20142877424914, 121.80055940617888 31.200866566997362, 121.80210163643336 31.20130629434412, 121.8051254396012 31.202161070354343, 121.82758991742689 31.17748415380174, 121.83426305435938 31.17295612634605, 121.846944928314 31.166069493664825, 121.87779191134776 31.143190206044455, 121.87780638459894 31.1431796531604, 121.88756645719502 31.136091966226306, 121.88750710260614 31.134297927335492, 121.8704728637691 31.11899309073168, 121.87089197616203 31.118508280643326, 121.87131738193251 31.118016309791837, 121.87148894357105 31.117817938839366, 121.87243661890433 31.11672249284487, 121.87251948096335 31.11661418978203, 121.87311738139222 31.1158324168845, 121.87312826149582 31.11584246616613, 121.87718342838554 31.11959740395048, 121.89106902547975 31.132572196525356, 121.93039051981515 31.099715063110096, 121.92897249458976 31.098732310173883, 121.91591699570925 31.089575903342507, 121.91449235288714 31.0885655339549, 121.91010073144918 31.085439262960953, 121.90130807182578 31.07913967271638, 121.90130684767156 31.079138834157824, 121.90213631297794 31.078061559205054, 121.90213667530485 31.078061690817517, 121.90260938252914 31.078232875190995, 121.90511307347359 31.07433205952751, 121.90892788715723 31.068388296064125, 121.9100077338496 31.066705698868756, 121.91209865594023 31.063447398983016, 121.92019103965403 31.0508316427698, 121.92019108995427 31.050831568414065, 121.92242122895419 31.047352644108827, 121.92535366042358 31.042776230383076, 121.92743570746913 31.039525398493794, 121.93517720238458 31.02742491758049, 121.9356947261824 31.026615168864343, 121.93847898579948 31.022256912772185, 121.94051948268012 31.019060867140503, 121.94265971323426 31.015706774318865, 121.94366899600702 31.014124421008297, 121.94372823643424 31.01403152644606, 121.94378731119467 31.013828226309496, 121.94398302200383 31.013154600190802, 121.94392647247739 31.012272590125246, 121.94721373351804 31.007756599467193, 121.95003370659217 31.003879291848417, 121.95050327515969 31.003233453501302, 121.95067281991398 31.003000234189553, 121.98483802604034 30.923843561999977, 121.98327082548774 30.888347266141384, 121.97523412601102 30.881797853706985, 121.97292068824841 30.880986236701226, 121.95846961363875 30.875994810844823, 121.92716400774395 30.864334457162922, 121.92303337895083 30.862602228844132, 121.89815404853036 30.851846888969988, 121.89706594774705 30.851700588537756, 121.89232287911831 30.85160582441375, 121.89024460020015 30.853002933523847, 121.88664221215213 30.852399495581906, 121.8845218130487 30.852047450027516, 121.85899442088034 30.853819519388402, 121.85810155786663 30.852831220614487, 121.85720151019588 30.851835880777127, 121.84607308793002 30.848774949629263, 121.83589707507797 30.848903614096315, 121.82746417597262 30.849661521651658, 121.81165505205175 30.851841465255294, 121.79441593753415 30.85272264732107, 121.77559043057697 30.85190742308503, 121.77558314324304 30.85446557558925, 121.77522054514584 30.85488724376806, 121.75190436096572 30.854844840018664, 121.75117726698814 30.854451689795287, 121.74998962598731 30.853810748367533, 121.72965023216547 30.8536285469458, 121.72910093473024 30.85362814699411, 121.72846304272359 30.8535938717847, 121.7145250942295 30.85288009857018, 121.71449079727999 30.85287836856993, 121.71448895482612 30.852877624759753, 121.71115247124243 30.85152779634804, 121.70933432609439 30.85153378187271, 121.69717802459833 30.851527996200556, 121.67763727173454 30.8501709321968, 121.67329697468423 30.849819099407068, 121.67005081985468 30.849371948745265, 121.66718645445107 30.847808433276345, 121.66667460271047 30.847528464709143, 121.66617104249237 30.847252886157882, 121.66588478449233 30.846596167523614, 121.66536838204505 30.84628419967031, 121.64967549962654 30.843940245904786, 121.64955610651589 30.844727025994544, 121.63467199195694 30.84262351909862, 121.62556286314503 30.8405056020587, 121.62613444297966 30.83713163557841, 121.6261485698663 30.836852596574868, 121.62578994668341 30.836567614801858, 121.60429888915515 30.830634953184006, 121.58230689904046 30.825828247896297, 121.58090074006562 30.825528784897458, 121.58046567193936 30.82558597085665, 121.54202730772971 30.816077503050273, 121.54145665487007 30.816297058059245, 121.54115458602853 30.816824064443125, 121.53905162969174 30.819177660440957, 121.5358634377015 30.822746081093587, 121.51810824969947 30.816861359470504, 121.52096004309877 30.809083583146247, 121.52094067056859 30.808393270335273, 121.50236574371623 30.800882274937, 121.50096184525053 30.799893095359003, 121.4979952607536 30.79780989538992, 121.48588775131391 30.79154594869552, 121.46949993962619 30.785621778526632, 121.4385883280186 30.77402657172172, 121.43843318698231 30.773545226324828, 121.42399140701147 30.765689348008642, 121.41305079114493 30.75835809553415, 121.39801403352845 30.745053935919948, 121.3972931428782 30.744574353508366, 121.39606276301306 30.744344428974603, 121.39576393657832 30.74439512907336, 121.36950845668672 30.724462205508893, 121.37249693052182 30.721952795393037, 121.37251872588428 30.721806423292257, 121.37247072448167 30.721646227455235, 121.37228522326065 30.7214935546751, 121.36638021106644 30.716189203201594, 121.35800410530871 30.708732576221365, 121.35737190753791 30.708350560260147, 121.35653314259505 30.708109017398034, 121.35574242811663 30.708077956213998, 121.35506564412402 30.708217534860882, 121.35322119620494 30.708906663842313, 121.35288724002227 30.709045241337375, 121.35019818601724 30.710125570597985, 121.34833651648984 30.708742098085242, 121.3463370670785 30.7073857081106, 121.33827187642447 30.70188561851722, 121.33061145669761 30.701018577513672, 121.32492548148349 30.700984496212318, 121.31873258178673 30.70230180106923, 121.31699599550555 30.703058302080894, 121.3049849150348 30.701558049960187, 121.28406268045798 30.697560020653803, 121.28249317013983 30.697071271409598, 121.27883424579484 30.69509119811374, 121.27791381572553 30.702890562624155, 121.27663194334171 30.707637946180697, 121.2741509835116 30.710181054035665, 121.27283080650369 30.712623592297884, 121.27273596163313 30.712837427976343, 121.27182962482613 30.715355940059418, 121.27182256534981 30.7154136861951, 121.2718623859861 30.715464941128932, 121.27202024591305 30.715525099804825, 121.27288288396646 30.715878041706294, 121.27328513840081 30.71666492591047, 121.27426004811876 30.71875241688509, 121.27582738573221 30.7227743155925, 121.27830966563143 30.72935934465783, 121.27793967839884 30.73238133839084, 121.2765176477421 30.737238042804496, 121.27625256564438 30.737894597322562, 121.27513861910346 30.74029583148436, 121.27501370041298 30.740451648577757, 121.27441530543204 30.740910498192704, 121.27384424828855 30.740805543450815, 121.27299619283492 30.74056858163283, 121.27297006577362 30.740516760039338, 121.27316939452457 30.740035587263428, 121.27268973608781 30.739903919172008, 121.27261693190822 30.739917714097746, 121.27199447711088 30.740344927182765, 121.27144645425575 30.740721318670904, 121.2682239124538 30.7435426303921, 121.2671139107988 30.744687611141686, 121.26619325422762 30.745727957655696, 121.26608544160396 30.74588571788456, 121.26527813259816 30.7470672027722, 121.26451233286613 30.748065830471873, 121.26398006878848 30.74860315891729, 121.26365517550019 30.74893124045024, 121.26315852794217 30.749394306807275, 121.26222989500226 30.74995834814741, 121.25935280835976 30.751468948804426, 121.25073179708761 30.755975826986482, 121.24829434489 30.75707000459581, 121.24531025170566 30.758437658783095, 121.2421786633803 30.76002182927364, 121.23911652387757 30.76157355730091, 121.23867337605317 30.76182172918522, 121.2385317662452 30.761902990786858, 121.23840335413682 30.762111471130204, 121.23808259111546 30.763421509012524, 121.23750501210736 30.765779487017138, 121.237442013092 30.76633241824759, 121.23732611611744 30.767415891808145, 121.23722734498087 30.769185759634425, 121.23721187423298 30.769380004834673, 121.23719171508098 30.769485205402965, 121.23717154014706 30.769590406196095, 121.23714054548944 30.769689744909307, 121.23581867779765 30.773471449708403, 121.23579744876969 30.77352910362111, 121.23577621966376 30.773586747610914, 121.23570459855014 30.77375751668571, 121.23567941559315 30.773814053299244, 121.23562515837793 30.77392584880669, 121.2354594345313 30.774230243359224, 121.23561939616314 30.774292181356383, 121.23553283532164 30.774640739763655, 121.23465215356754 30.77818607633852, 121.23425449191099 30.778867512280126, 121.23203217418575 30.782059004405927, 121.23164137855494 30.78259431441532, 121.23141959302284 30.7828964913463, 121.23115074623821 30.78317598739203, 121.23098421975487 30.783161562840917, 121.23049485290954 30.782893621236436, 121.23044377470686 30.78256128793041, 121.22982556594167 30.782199931821136, 121.2293168571494 30.78196622797142, 121.22906464637781 30.78228576516883, 121.22875759013426 30.782675770851903, 121.2266489230286 30.786610479346, 121.22679294006998 30.789458210685453, 121.22530452055433 30.792159353815414, 121.22524932597179 30.79219915942791, 121.22296436091239 30.792303060562304, 121.21245747174724 30.792372189239803, 121.20882574462098 30.791218715275274, 121.20629960880838 30.789761585981065, 121.20560570064177 30.78704436653105, 121.20562066372258 30.7855027019981, 121.20564057295405 30.785342483743428, 121.20574057648196 30.784578760865227, 121.205899285127 30.78418164465566, 121.206239443595 30.783509580132083, 121.20643269261363 30.78328149664212, 121.20653955486019 30.783110961773392, 121.20661338740457 30.78291250469728, 121.20724928148022 30.780494826673625, 121.20728042956326 30.78036266559323, 121.20728993522683 30.780249568440425, 121.20726733871408 30.780183911584746, 121.20719066060948 30.780137751519685, 121.20330941172325 30.77981322191691, 121.20325907094316 30.77985787072777, 121.19994232367081 30.78279503254571, 121.1978632739245 30.78576679554717, 121.19771767145288 30.78610056326479, 121.19750720960728 30.78603043661355, 121.19662036460352 30.786686675219386, 121.19325702344378 30.785690514744406, 121.19282176533275 30.78543592049938, 121.1925650575265 30.785153124077105, 121.1925569247374 30.784136666117295, 121.19239469316554 30.783335863449405, 121.19214149569157 30.782906595063306, 121.19225549702267 30.782810110730253, 121.19168450980823 30.78230162048287, 121.19137342049667 30.78213093376443, 121.1898503836172 30.78129417222957, 121.18974809652254 30.781258902247778, 121.1874205657198 30.78062547036425, 121.18644610567078 30.780521126290786, 121.18645914337229 30.780415805522296, 121.18425078034684 30.779932397138726, 121.18083605970742 30.779225627449467, 121.1756915734206 30.782015961837413, 121.1751519092339 30.781877020187338, 121.17243295546457 30.781271530036076, 121.16936617618106 30.780730132139254, 121.1673644303288 30.78099903488756, 121.16734819111093 30.781187496227027, 121.16725442643647 30.782275488105928, 121.16682526975181 30.782571804480607, 121.16411577151798 30.78342120986251, 121.16371005761381 30.78338057360017, 121.16308859211576 30.783113534613545, 121.16251435050098 30.7830245112756, 121.16186849106548 30.78312503048592, 121.16096319124377 30.783483905963504, 121.15979758924655 30.784364052860738, 121.15977576023602 30.784380553383667, 121.15883643401875 30.78472527570724, 121.1530768672109 30.78512968659596, 121.15032428663189 30.785265348791402, 121.15032413434957 30.785263173270735, 121.15028308960056 30.785264943171153, 121.1502604528407 30.785230224212654, 121.15018749086938 30.78511833682038, 121.14980907934921 30.784394707852115, 121.14963014334776 30.783931371969548, 121.14761395122424 30.78282022734281, 121.14726399664424 30.78282575966223, 121.13885974464452 30.78301698094301, 121.13885974928951 30.783023688098492, 121.13846503087122 30.78302754421743, 121.13763462378292 30.783198962087535, 121.13610543132148 30.783928253216214, 121.13523799890741 30.784190665932336, 121.13445300135794 30.78442859485019, 121.13367400889588 30.784507521955767, 121.13362526577676 30.78451121930031, 121.13364809576765 30.78478302895837, 121.13300249499324 30.79131365172913, 121.13276461130118 30.79432922966345, 121.1327510919211 30.799566639057733, 121.1336087663568 30.808181693401792, 121.13402473957764 30.810775010966044, 121.13535259980196 30.816589017172927, 121.13645775494389 30.82045969025412, 121.13673144268824 30.821352228591206, 121.13900103508459 30.82506886733936, 121.13904455262586 30.82513473482273, 121.13909165680113 30.825198717317182, 121.13914224118822 30.82526068206529, 121.14337213299262 30.8303169887183, 121.143450671059 30.830390871852934, 121.1434833056589 30.83041986561364, 121.1436001289775 30.83051190251376, 121.14407431065814 30.830511447731435, 121.14417083800517 30.830633197540447, 121.14443858497386 30.83137227377568, 121.14454450757749 30.832269081262414, 121.14405568424272 30.83614281574905, 121.14386992052135 30.83637082697628, 121.13851136563763 30.84158705967191, 121.1324027162443 30.841925599081726, 121.13201333948612 30.841946281114122, 121.12690406085824 30.842170670585073, 121.12641018648152 30.8421735829192, 121.12648610728252 30.848002211025523, 121.12658237388469 30.848498624023765, 121.12670951811538 30.848895850158637, 121.12892393106034 30.851745463968495, 121.12698616526394 30.85541527343475, 121.12085492391229 30.858157065174126, 121.11777251091775 30.857724191712315, 121.11773425443428 30.857685301013515, 121.11751813438359 30.857598909174154, 121.11717658341253 30.857486965664812, 121.11184943986987 30.855843261850666, 121.11175607430518 30.855814561968838, 121.11138345227133 30.85576464379795, 121.10817331558951 30.856292719829785, 121.1047952576597 30.861808615823264, 121.1048075278671 30.861900843386938, 121.10434965702193 30.862516393688193, 121.1037574612047 30.863128905074415, 121.10315705763415 30.862909029117226, 121.10212512948836 30.862479377769787, 121.09336998753204 30.858238875277344, 121.09036190575193 30.85666360454387, 121.08994313244906 30.856392898388233, 121.08951061132997 30.8561501557288, 121.08912859671457 30.85597394606226, 121.08852679870576 30.855709485487008, 121.08827440508347 30.855599853811345, 121.08731398455853 30.855202924634405, 121.08714713601317 30.855146699636702, 121.0869745016144 30.855102873696687, 121.08689639407328 30.85508913442895, 121.08334773998675 30.85526207762697, 121.08265154278058 30.855259074387554, 121.07357549187175 30.855072782174037, 121.07337454202856 30.85505420963061, 121.07336756132706 30.85505098675828, 121.07303863708995 30.85489839144777, 121.07274284758581 30.854753128044752, 121.07237477644148 30.854570915014836, 121.07191526723025 30.8543301342288, 121.07128894019418 30.853962594289197, 121.06792543918903 30.85194451824, 121.06727900218404 30.851367192760613, 121.06685208165997 30.84925979294497, 121.06684435984475 30.849212338709176, 121.06718924600007 30.84635459056908, 121.06752295484523 30.845182388693786, 121.06777455089782 30.844784186651413, 121.06697301423495 30.84416153038198, 121.06657581347302 30.843913441347166, 121.06616875321834 30.843677132906553, 121.06332335247183 30.842081239557476, 121.06315056724182 30.842010756521375, 121.06297136677351 30.841955206758897, 121.06247234641852 30.84180955974897, 121.0567323523589 30.8385468995671, 121.05405918359745 30.836991202724, 121.05395804681645 30.836703305716117, 121.05438073451774 30.834734409599722, 121.05522282385034 30.833290095270453, 121.05119151833216 30.83245673959422, 121.04700412577824 30.83276949548829, 121.04437012859478 30.826588013331925, 121.0446454918118 30.825958666338934, 121.04481116466705 30.825602886054803, 121.04509624346258 30.82503935101527, 121.04524356905739 30.824882331029457, 121.04537501317677 30.82479959437047, 121.04554807060603 30.82479297392115, 121.04882343695003 30.82581215837559, 121.04933139150906 30.82597064301638, 121.04991129206654 30.826174582249227, 121.04991393195971 30.826173285311437, 121.05003189777264 30.82611515320191, 121.05133188559734 30.82253498596587, 121.05150886318931 30.821858122417247, 121.04760308237441 30.8207959190792, 121.04598444813367 30.820390824189307, 121.04460929088623 30.820054735331613, 121.04399582549262 30.820789108998987, 121.04282809268906 30.823596590673084, 121.04276521306528 30.823872165929686, 121.04279912000901 30.823985285632745, 121.04314688011213 30.824322406881883, 121.04318545405438 30.82444458162424, 121.04251926392946 30.825977392919377, 121.03889776512511 30.831175796864564, 121.03618437570313 30.834781040128817, 121.02887229033632 30.83725379101012, 121.02113519839634 30.841687754519093, 121.01873319991365 30.841385271478988, 121.01808629975875 30.840981484368204, 121.0150208822421 30.837759772759092, 121.01166348871295 30.834001205289844, 121.00497888427115 30.832392829318977, 121.00081401079825 30.827233218180297, 121.00073176503976 30.82718322449244, 120.99652308519195 30.829445451854383, 120.99558526099696 30.839520789595415, 120.99795140248123 30.84295012060145, 120.99954237775485 30.844580758251535, 120.99985251953282 30.84460415047284, 121.0013792927052 30.843981937742765, 121.00172807498575 30.84383986098324, 121.00312095952944 30.84688313319576, 121.00328297039631 30.84750194044919, 121.00364522595007 30.84889872136553, 121.00447490853163 30.850500497044173, 121.00751591098273 30.85091444457982, 121.01022717629662 30.851758883000592, 121.01201763851635 30.853321296594522, 121.01216872750888 30.853562342646317, 121.01435635715991 30.856343823853, 121.01652615541855 30.85861701497448, 121.01831036556563 30.858166203099266, 121.02229411380173 30.866072741230973, 121.02270073953129 30.86841122220544, 121.02319041475016 30.87311135213884, 121.02293035375035 30.876384418137288, 121.02684711608757 30.878060224078645, 121.02694759424146 30.87807328734456, 121.02790580268943 30.879032674082573, 121.02851182734253 30.880681766310854, 121.02851114951504 30.880714099557913, 121.02723574389789 30.883965876617594, 121.02456750165612 30.888420543687364, 121.02218059435431 30.887950337554248, 121.02140612417317 30.887764192435732, 121.02023848649463 30.88761770713212, 121.02014746562627 30.887621485573767, 121.01764462857687 30.88788154381702, 121.01372143003817 30.889246560508713, 121.01391649075245 30.889497494616105, 121.0148206766665 30.89049146691596, 121.01504331521924 30.89070605888805, 121.01527502553085 30.890958965972075, 121.01564577277553 30.89136700824369, 121.0158482188587 30.89159150604736, 121.01670631121551 30.89259027230231, 121.01625724440254 30.892893462609205, 121.01629895713306 30.892940078751288, 121.01614691286159 30.893040573250364, 121.01504179925888 30.893650035061437, 121.01414875133405 30.894045247261307, 121.0121757713852 30.894476805267697, 121.01206083761883 30.894495540796775, 121.0077183541568 30.895209498598277, 121.00749165290877 30.895183945981387, 121.00729226172938 30.895164787437412, 120.99963721364965 30.895907553218475, 120.99964000827033 30.895943386749288, 120.99962021267203 30.895944837512303, 120.99698890251332 30.901714827334043, 120.99702280933988 30.90191619996729, 120.99930829072224 30.90796366681169, 120.99948112415528 30.90825057633337, 120.99987486716952 30.90861357244084, 121.00052125129785 30.90912861498796, 121.0055787981175 30.91178586042673, 121.00957902201164 30.910963364489763, 121.01013699926679 30.91145338808241, 121.01137420340086 30.912799467152386, 121.01158522048098 30.91440383807177, 121.01147671763776 30.91503285526669, 121.01141518978538 30.915072307305696, 121.01105100020712 30.915137611090742, 121.00598587294117 30.915488887765697, 121.00597000689243 30.91549030457765, 121.00597326197227 30.91552196151996, 121.00606376095129 30.921517752226013, 121.00618104889917 30.928059429429496, 121.0064803251146 30.938519269549197, 121.00655273480062 30.941020269716894, 121.00681680998453 30.94240715723521, 121.00716953561934 30.94297951539574, 121.00771280951274 30.943428174724023, 121.00572773892027 30.94527610201353, 121.0050273726754 30.94592845781222, 121.00322855900647 30.947997975238465, 121.00314994999107 30.948142065285154, 121.00259999819771 30.94915022328281, 121.00236497329072 30.9496779518889, 121.00228182849423 30.949864668013454, 121.0025204776076 30.950021362418077, 121.00332723315455 30.949858798375416, 121.00371749392016 30.949845576931395, 121.00378206366575 30.94989830574015, 121.0038262748885 30.95007784219597, 121.00387523519565 30.95062282983411, 121.00408792924189 30.954452067495765, 121.00382822624206 30.955610677807247, 121.00384439286638 30.956465883094623, 121.0021756975555 30.95954053862968, 120.99944873259942 30.960980350650082, 120.99892220318289 30.964336184256553, 120.99913595767458 30.964340729732644, 121.00020662340944 30.96436360597766, 121.00060670266146 30.9643475887123, 121.00126937008403 30.96435071378384, 121.00127120493234 30.964354273404542, 121.00120517934843 30.964744490387524, 121.00002691089936 30.968822578884257, 120.99833800783041 30.974321001689525, 120.99877905417536 30.976380018658705, 120.99993175908038 30.977953063244975, 121.00163567135812 30.977920507495387, 121.00417538589835 30.97825149125009, 121.00627518682889 30.97898458107221, 121.00773433688514 30.979784625808545, 121.00776267650471 30.979840458670797, 121.00920650815836 30.98329335226526, 121.00922913148214 30.983371882274927, 121.0091417016286 30.984398039752833, 121.00878581501955 30.98547687401163, 121.00465887042071 30.992652575314903, 121.00162094813949 31.000962061190897, 120.99900289393668 31.005076467201388, 120.99897013887475 31.013853529589916, 120.99588430110954 31.018700936822988, 120.99303063182103 31.020180330912723, 120.98957548136693 31.021969014818563, 120.98755344552791 31.022410499608608, 120.97395217704519 31.022338867132028, 120.97020350678514 31.022608344308185, 120.97000959249948 31.022670931086353, 120.96957193980737 31.02301742613696, 120.96944003674345 31.023176387026545, 120.96656775897927 31.02756439641772, 120.96593512070447 31.030386885039057, 120.96455921329418 31.035140248822785, 120.96449130508337 31.03517430500659, 120.96133145507295 31.036246771954982, 120.96083727276591 31.036386656695502, 120.95834735414402 31.03641901627222, 120.95517845100483 31.03642320111359, 120.95468672144837 31.035437176605445, 120.95458591241565 31.034994525412472, 120.95455322843105 31.034561267787684, 120.95501773508576 31.03128877124939, 120.95714413548212 31.03066879156424, 120.95749328921234 31.03047822779491, 120.95639833634864 31.02399302217424, 120.9424169565443 31.023325076653823, 120.94242932882207 31.023040383923355, 120.94246742468299 31.021646969039182, 120.94597494892557 31.017709116880603, 120.94694698633053 31.016460977829126, 120.9465454128489 31.015723632069097, 120.94630309685895 31.01549319544159, 120.94608504868073 31.01534421036942, 120.94545872881719 31.01523350256952, 120.94404952206723 31.015284968973578, 120.94253156786483 31.015620880259203, 120.93974183048962 31.016407852558427, 120.93948541654798 31.01648590636504, 120.93929096955321 31.016593418395367, 120.939187350144 31.016694234630396, 120.93911578165614 31.016822969244547, 120.93896446298774 31.01718248126911, 120.93881168614635 31.01737695451362, 120.93861283940024 31.017500106749157, 120.93836362812135 31.01757938932718, 120.9380004043098 31.017610041205774, 120.93423621518373 31.01785213637555, 120.92500863026908 31.01823902528115, 120.92474958254834 31.018238638647166, 120.92419505952537 31.018233756797606, 120.92344007905838 31.01817831734703, 120.92326260330114 31.018155272868114, 120.9227186591675 31.018059603108814, 120.92236076285187 31.01794413394246, 120.91942092118833 31.016290398834787, 120.91781236422486 31.018865887265225, 120.91772034699994 31.020394806862836, 120.91766410440405 31.022679446905858, 120.91659677608133 31.022721639565244, 120.91659763684022 31.022741024069703, 120.9084127134759 31.022970885009986, 120.90802001763487 31.022977262563046, 120.90797834704078 31.022977947558083, 120.90800642097695 31.02420675399583, 120.90797508865509 31.02987537868893, 120.90816853824333 31.03303899024475, 120.90819089204672 31.033490962171832, 120.90846670502991 31.041799125525866, 120.90711694740462 31.045068986851394, 120.90690463739051 31.045167768934515, 120.90673245029956 31.045255944152984, 120.9066979091504 31.045275226339786, 120.9066619315764 31.045299247042568, 120.9065799569932 31.045358536094373, 120.90652841291715 31.04541250862362, 120.90643616057525 31.045547381891236, 120.90582641364684 31.046545135626637, 120.90551545762028 31.04711131731439, 120.90511252807482 31.047847132239593, 120.90444786056024 31.049179867679275, 120.9041250834824 31.049919153199333, 120.90395112387675 31.050373346354817, 120.90179084752492 31.056609284685724, 120.90163920838772 31.057063650811664, 120.90147600172818 31.057706073927232, 120.90142516362614 31.057982820055155, 120.90133541140635 31.058850641750265, 120.90128363730523 31.05995578493424, 120.9012579306497 31.061447950367054, 120.90129538333265 31.062091801780344, 120.90130545719487 31.062210548507398, 120.90152227420693 31.064328742738166, 120.90167098571455 31.065400798905024, 120.90176546030843 31.065940425736663, 120.90191354233237 31.066494784348556, 120.90223201083978 31.067599470123263, 120.9025502097016 31.068673578895137, 120.90573142998778 31.078780265993338, 120.90836953153192 31.083737501137513, 120.90889446994339 31.083719476513288, 120.90931260886057 31.083706030111045, 120.90973095227609 31.08371577348266, 120.909922453131 31.08373420965393, 120.91011864843252 31.083775673348907, 120.910319476883 31.08383634814694, 120.91074371939229 31.08399228608684, 120.9110163948137 31.084121926807168, 120.91114170012078 31.084194483230117, 120.9112403185353 31.08426711431446, 120.9113123585284 31.084351307218345, 120.91133997851334 31.084439481259288, 120.91134564788759 31.084554542351658, 120.91133011139323 31.084769371404846, 120.91121841270534 31.08514556011224, 120.90898110146007 31.09124262063705, 120.90893871957027 31.09131301432776, 120.90888179474392 31.09136698198305, 120.90842924071924 31.091617020352007, 120.90824809221961 31.091704711731804, 120.90665807589366 31.092263972698916, 120.90654816324273 31.09229364885452, 120.90596415538998 31.09237240467087, 120.90578700035945 31.092394460319312, 120.90552522531131 31.092409675270925, 120.9054564170453 31.092413669979972, 120.90441069580359 31.092373435434773, 120.90252694187916 31.094346111946372, 120.89697394033873 31.100080921128402, 120.8960354654871 31.09990288264231, 120.89574667542077 31.099850155581642, 120.8954966432464 31.099829855649542, 120.89529490713063 31.099833472468866, 120.89509812346127 31.099853579872356, 120.88444458309307 31.101158461709964, 120.88441623345649 31.101170057233187, 120.88441665751692 31.101211310714312, 120.8844321403955 31.101451005109126, 120.88443726478623 31.101525876725848, 120.8848338341019 31.103612749228322, 120.8848751510926 31.103814266411263, 120.88308611036554 31.105915095501125, 120.88306431706913 31.105923154316077, 120.88106254751587 31.10641406722186, 120.88092282930025 31.106432734764077, 120.87940139274482 31.106389247085282, 120.87757341932092 31.105021674272262, 120.87596835072779 31.103605754238377, 120.87595438348546 31.103519854300206, 120.8758867036428 31.103304135753504, 120.87585105344327 31.10323382537688, 120.87583332785931 31.103211788049542, 120.87580697932597 31.10319748501548, 120.8757720114317 31.103198427428794, 120.87498474635665 31.103315438039022, 120.87489216439916 31.103296233082247, 120.87312313886704 31.103689368998847, 120.8707402654569 31.104879163310947, 120.87026477345285 31.105105077253334, 120.86945166401479 31.105230763633326, 120.86929672175287 31.105245388783192, 120.86876923587256 31.105357719969206, 120.86466091363988 31.10714945379018, 120.86407237526113 31.107878130722618, 120.86359223652263 31.108482253827162, 120.86313461618481 31.109066219348644, 120.8630449897808 31.109193090423865, 120.86303199981782 31.109259698221003, 120.86298661588052 31.110719763150506, 120.86297640437046 31.11108671210029, 120.86298153471347 31.111148998976645, 120.86298647885565 31.11119179639373, 120.8629970863112 31.111212823757363, 120.8637270596498 31.11270085500249, 120.86373126294701 31.112699294580352, 120.86379535592913 31.112831966249445, 120.86466613768894 31.11463419347086, 120.86493368093788 31.11469752625204, 120.86552277585412 31.11485793808068, 120.86581644574615 31.114978282716276, 120.86709055850511 31.115901340448755, 120.86736478556716 31.11619572382821, 120.86788741013547 31.117588839041225, 120.86853614548211 31.118928627301848, 120.86936518309713 31.11980130264737, 120.87076054075246 31.12040970620464, 120.871926932751 31.1207070414843, 120.8739347321231 31.12162696296472, 120.8754035079677 31.12339797947804, 120.87760833863382 31.12820241693304, 120.87757579236396 31.128636449238886, 120.87753876949776 31.12913008587415, 120.87780182716321 31.130636457071844, 120.87850094359175 31.132329855814987, 120.87910826585963 31.13311593540427, 120.87942609975696 31.13345124164964, 120.87955423636326 31.13358642833584, 120.88306403186408 31.137290966555128, 120.88483548625337 31.138760179759636, 120.88508731053142 31.139024011683276, 120.8863090060983 31.139834048944934, 120.89096497780906 31.140286283399366, 120.89831845503447 31.141033411445576, 120.90298160629 31.141361964969995, 120.90383750721799 31.141424643398537, 120.90530151065049 31.14153360798112, 120.90559405381406 31.14155564550113, 120.90562495183147 31.141557977263624, 120.9116136459699 31.14013682677356, 120.91208101934926 31.140212502879844, 120.91414596469443 31.140549491543148, 120.91724094439299 31.141062401087844, 120.91826856047622 31.141250431676784, 120.9216837219174 31.141881848106948, 120.92289214707061 31.142107481955726, 120.92310516672836 31.142147366893877, 120.92372773333202 31.142390391043094, 120.93187290342973 31.14559067825348, 120.93428889914826 31.146593340073306, 120.9365364196011 31.14752684429592, 120.93701554208864 31.14747868702579, 120.93702369147297 31.147529451271232, 120.93704348021294 31.147526770606678, 120.94295893503904 31.146724479721748, 120.9444818601173 31.14651675602742, 120.94448031096329 31.146509264787678, 120.9469918421366 31.14616588432263, 120.95397138855164 31.14519420920004, 120.9586053917467 31.144530303447862, 120.9591266450527 31.14443841613424, 120.9688176808911 31.142686129087448, 120.96962079952098 31.142517900408613, 120.97242087404767 31.141925426763972, 120.97271004242654 31.141863356123963, 120.97675609465855 31.140986667561922, 120.97891311685652 31.140505203779526, 120.98162864080018 31.139894398025888, 120.98890304880022 31.138252550529717, 120.98971697418894 31.13806825025054, 120.9897711171986 31.138062815802435, 120.98984268642126 31.1380717344103, 120.98989698088036 31.138078924685544, 120.99260509357126 31.138530123618487, 120.9930593906724 31.138605789697863, 120.99405939377156 31.138773806664595, 120.99577314332151 31.139065802948625, 121.00231354784201 31.139298230013935, 121.01181060999721 31.139316620669156, 121.02454001580828 31.140018380815615, 121.02463201243452 31.14009880567058, 121.02745533433902 31.142857014306827, 121.02895388301904 31.144325386017417, 121.03212558829706 31.146952577036433, 121.03812176384754 31.147881617644565, 121.03945719761033 31.14798178283524, 121.03956414656521 31.147962439778567, 121.042146664785 31.14645339159928, 121.04218018389346 31.146356683843177, 121.04227672365109 31.145971089677765, 121.04232609986839 31.144873621218625, 121.04259442530233 31.143310037078894, 121.04493808730446 31.142915800783296, 121.04499899458196 31.142915582132083, 121.04722700606953 31.14351736532721, 121.04833727137729 31.144845116713483, 121.04850768642403 31.145102302789333, 121.05151263635766 31.150745798529034, 121.05153369636754 31.15095987519233, 121.05145917285738 31.151675810461228, 121.05014887979522 31.15239613102134, 121.049014039601 31.152407640554316, 121.04793167857754 31.152834093659123, 121.04788622696164 31.152877602381047, 121.04786309109927 31.15294895481581, 121.04771660364136 31.15518752061872, 121.04771655799468 31.155250654728032, 121.05109970448842 31.15673914220411, 121.05111372394612 31.160238398001837, 121.055852235283 31.158650909056675, 121.05581567548582 31.158383364841647, 121.05583812256991 31.158300501393864, 121.05633171718497 31.156511376771192, 121.05757727300903 31.15648157770509, 121.05863548272312 31.15656747207718, 121.06200009248458 31.15690276611395, 121.0620228203247 31.156926120753965, 121.06202276463097 31.1569599458816, 121.0618898872237 31.157201008690897, 121.06166191193773 31.15809301708596, 121.06381801881277 31.15905261948556, 121.06393216864113 31.159083651418015, 121.06654365227254 31.15933071532264, 121.06694334825902 31.159361638518362, 121.0684094659413 31.15941247692076, 121.06860758273605 31.159405348244487, 121.06871429061643 31.159356919835286, 121.07144427703678 31.15552751094415, 121.07499915452257 31.15607203419169, 121.07651516596464 31.15962509301843, 121.0783990644331 31.162021787488076, 121.0795958965868 31.1635115255957, 121.08132849372835 31.164349937483795, 121.08297262566815 31.165137121822628, 121.08305199101771 31.165195342722424, 121.08363585877707 31.167529417174713, 121.08347456902865 31.168326847075935, 121.0836176427405 31.1683487448636, 121.08408950511469 31.168391972895325, 121.08351519568639 31.16923311749101, 121.08322645027985 31.172153791045854, 121.08294518853631 31.173589118992886, 121.08283056661321 31.174162265408725, 121.08218196204878 31.176943061670165, 121.08155048255301 31.17683068034137, 121.08113773453898 31.17673803023146, 121.0797455718074 31.176451143936283, 121.07827340561191 31.176241250741153, 121.07822843821059 31.176430931698935, 121.0779570787909 31.17758622601791, 121.07856044074069 31.179160816324057, 121.07887683554807 31.179410661387443, 121.08100663227121 31.180013792858773, 121.08121327989471 31.180079963219995, 121.08111260798486 31.180316785588154, 121.07997225090027 31.182678022969, 121.0797646134712 31.18307119228367, 121.07900002540983 31.184084668436288, 121.07690933940903 31.188252477610913, 121.07519588772541 31.19130542996544, 121.07531821733227 31.191357514502517, 121.07518719064034 31.19176365414496, 121.07717052096656 31.195081686127093, 121.07863731105878 31.19754509466274, 121.0758740163048 31.200983153819823, 121.07541379199276 31.202709642451257, 121.07414552450476 31.207640749038347, 121.0708386988214 31.223282961727055, 121.06960087953277 31.230164609087357, 121.07066848634891 31.2370633676471, 121.06814368718373 31.240963803299515, 121.06751138302782 31.242722346697136, 121.06720644721628 31.244351684405974, 121.06721401715245 31.24441282148252, 121.06722140071946 31.244451403016804, 121.067244352504 31.24448147581897, 121.06727483108449 31.244511804017055, 121.06732064443834 31.244544886960252, 121.06736626638808 31.24457120357739, 121.06741951571027 31.244593253376355, 121.06746528053208 31.244597021418482, 121.06807232327503 31.244618111705435, 121.06903596351252 31.244661948018226, 121.06946626251253 31.244726894471544, 121.06975354094583 31.24487048708439, 121.06990796252202 31.245675972093213, 121.07026583897452 31.24967714335701, 121.07035120272009 31.252462057918432, 121.07028486670715 31.252516087097053, 121.06900476057515 31.252816534003614, 121.06872824717038 31.25285080574096, 121.06819192179925 31.252781377526144, 121.06773548602786 31.25243499736606, 121.06771722656354 31.25620215972129, 121.06774675188136 31.257508631068113, 121.06846369914285 31.2729942875446, 121.06852462076382 31.273706815842196, 121.06856748172046 31.273982415683374, 121.06861938969695 31.274252659202354, 121.06862299290006 31.274271414340536, 121.06862625496737 31.274279476645386, 121.06867109103558 31.274390195874094, 121.07028370699133 31.274166965732114, 121.07108626476209 31.274164150336414, 121.07505677449528 31.274286981697916, 121.07607630537875 31.274791165739945, 121.07835726740984 31.275544059969715, 121.08053483333218 31.27588860746197, 121.08320467729955 31.276139982819444, 121.0860581489489 31.27626093086414, 121.08760726874348 31.27712534838305, 121.08881196610889 31.27808072429138, 121.08953837860581 31.279266735717705, 121.09081725403765 31.28183366281825, 121.09092987103647 31.282059566708508, 121.0902675010938 31.282371343354058, 121.08882554122476 31.28304865780449, 121.08865725601382 31.2831117651856, 121.08803809587155 31.283283518940575, 121.08748781579081 31.283433346424463, 121.08743993669367 31.28345799196441, 121.08791058574742 31.285298454354766, 121.08800711460846 31.285552079776423, 121.09123297109201 31.293944023148164, 121.09189637314881 31.295659363601036, 121.09305223145381 31.29817788872046, 121.09314802960562 31.298310588671796, 121.09368995105328 31.29860010460667, 121.09536205740098 31.298482487221495, 121.09539246601362 31.29847593236278, 121.09624967416033 31.298206363884294, 121.09969739524868 31.296063620203633, 121.10034771084544 31.294995227673393, 121.1006826067112 31.2949321119933, 121.10058468047998 31.294526157654328, 121.10452199432652 31.285026713230305, 121.1042852116183 31.284043811254122, 121.10448674612779 31.28305625700376, 121.1050840158027 31.282629952722083, 121.10511901658387 31.282611725644916, 121.10723874852144 31.281506464973873, 121.10966508923032 31.28023876631172, 121.11108867664787 31.279949906418953, 121.11189475363798 31.279887482123375, 121.11220465019375 31.279863427009158, 121.11223683761662 31.28026439244434, 121.11207805416383 31.281256554081533, 121.11168445971758 31.281232412618003, 121.1158983470206 31.2858077803254, 121.12072544285137 31.29089796926163, 121.12074063837483 31.29117301381479, 121.12076368417688 31.29149989304616, 121.1207713203041 31.291513387676087, 121.12129222161023 31.291639717624722, 121.12134616851097 31.29164399843502, 121.12262236993318 31.291737240805926, 121.12758827385352 31.291614798276317, 121.1307873213826 31.2903732159042, 121.1308783452659 31.288800024436707, 121.1334864905136 31.287289502523834, 121.13371538108802 31.28715017749532, 121.13347758775706 31.286859883496163, 121.13463797386717 31.286828751971893, 121.13596026035617 31.285860513076308, 121.13597475551855 31.285839997492733, 121.13601223423541 31.285859210302167, 121.1376341242446 31.285819605921677, 121.13769554564195 31.28589268986995, 121.13823963385646 31.286922522353528, 121.14457880948656 31.284620037507175, 121.14462743773117 31.284310485330508, 121.14405930522945 31.283057692742545, 121.14483108047531 31.282516318126195, 121.15028098462189 31.28069671564376, 121.15030145690909 31.28054103925307, 121.1573626110015 31.281265497030308, 121.16030840126778 31.282551161589552, 121.16045924515558 31.282581146116407, 121.16043345958136 31.282682993181275, 121.16184505469523 31.284172005840407, 121.16757076747881 31.287976795158343, 121.16770259359022 31.289360028595144, 121.16771890576808 31.290015244817035, 121.16762177082595 31.29026417300622, 121.16665237281273 31.29221463998734, 121.16590244125868 31.29325727301948, 121.16533210220472 31.293775371625777, 121.16480712286355 31.293931305650922, 121.16451588851395 31.293927691025846, 121.16450553001243 31.29384888461062, 121.16458886719705 31.2932536281103, 121.16458755151258 31.29313758691107, 121.16398458020208 31.29311527738385, 121.16260140487243 31.293104053666912, 121.15916330257768 31.296163553751907, 121.15768706566864 31.29769430024429, 121.15762191082707 31.298012015939776, 121.15743961365236 31.29967164042976, 121.15799450274542 31.299679624399335, 121.15752844772057 31.305667377410927, 121.15497901376054 31.309056481537407, 121.15006006172725 31.31560163059056, 121.14896364117155 31.3147362362617, 121.14542518465002 31.311890052685172, 121.14531127364535 31.31148830946415, 121.1455868282777 31.310921271250432, 121.14584351368205 31.310364455527466, 121.14598180235353 31.30977319050368, 121.14549870873832 31.308655717373526, 121.13988826128835 31.307941876498855, 121.13663942717756 31.308332105597326, 121.13650115443257 31.308371056096693, 121.1359480480801 31.309288371056727, 121.13560007063002 31.312120914888556, 121.13557144446885 31.312784538259063, 121.13562232118569 31.313167485827787, 121.13567660748365 31.313477288675042, 121.13611706493208 31.314099600476702, 121.13612590165778 31.31436823690333, 121.13474411193626 31.32184358508108, 121.13467409013225 31.322073365727466, 121.13457940440244 31.322384056339466, 121.13440983899 31.322682862728758, 121.1343301681933 31.3227651455516, 121.13420938870678 31.322795799543506, 121.13624071949701 31.32806172426952, 121.13967455943234 31.33153807107528, 121.13988968691866 31.331814099152915, 121.13998412909582 31.33208322138092, 121.13999690107647 31.33569234056119, 121.13998572017015 31.33597191106656, 121.13980064726545 31.336195353502696, 121.13967090689843 31.33633584870348, 121.13852840945944 31.337341092045847, 121.13680569380067 31.342693359143095, 121.13697096677969 31.344552477632888, 121.13712177839972 31.347614917519216, 121.13687738717705 31.34996602833233, 121.13684954601374 31.35001867793219, 121.13678989195039 31.350057218416364, 121.13657967436558 31.35007664973938, 121.13446804436754 31.349752405959684, 121.134074631534 31.349634264884642, 121.13367094604165 31.349510084011143, 121.13352243856295 31.34942485708341, 121.13305126577337 31.349241037008248, 121.13269464803251 31.349145889106524, 121.1322291045388 31.349074200498393, 121.13154877892147 31.348998072781622, 121.12871030434357 31.349007389504912, 121.12485461309043 31.349521836299846, 121.12426044514724 31.349617445681858, 121.1241141472515 31.349648965917783, 121.1240527072575 31.34979756620531, 121.12356063816522 31.35296053384443, 121.12358789340598 31.353235105294345, 121.12365791944754 31.353429926308987, 121.12466667859431 31.353507381022016, 121.12621498900552 31.353785665615447, 121.12629039019217 31.353816065805276, 121.12626865671207 31.35395013942093, 121.12622448885722 31.35405082827999, 121.1241335956426 31.357363877594672, 121.12404950687197 31.35748187579411, 121.12350548939773 31.358100324761303, 121.12154692966564 31.35749727829834, 121.120689665069 31.35721631370417, 121.12050961439883 31.357146282345155, 121.1197353027983 31.35688738132788, 121.11939078601692 31.356777776653985, 121.11906072516203 31.35668996018478, 121.11875532007592 31.356634960147055, 121.11862601824383 31.356637343286874, 121.11518477690696 31.357089448255383, 121.1146004853512 31.357883479662906, 121.11417380024591 31.359048386255107, 121.1136285252929 31.361214415005982, 121.1135447454731 31.361571022092935, 121.11357943701319 31.363547387735895, 121.11421501401428 31.3655558776497, 121.11389017642281 31.368421340777473, 121.11361287081347 31.369088669053458, 121.11311682237276 31.37073831924185, 121.11310842031152 31.37101520034754, 121.1130759213363 31.372849559034805, 121.11539310644406 31.370916619789053, 121.1154823543141 31.370869069649665, 121.11724818854877 31.37088485695548, 121.11952708578174 31.371460679717107, 121.12690163185343 31.374952079603357, 121.1265725724245 31.37552495475083, 121.12630364976435 31.375933229168368, 121.12601829273764 31.376218490707828, 121.12531451405869 31.37690922249142, 121.12512826787894 31.37695643205537, 121.12508226984217 31.37696558802343, 121.12500575578214 31.376968085293225, 121.12494450260775 31.376966018851263, 121.12476068772895 31.376930526459958, 121.12450797708604 31.376879496969828, 121.12440075398304 31.376852801332916, 121.12415566646226 31.376799525055038, 121.12397206187279 31.376768590852347, 121.12376500197398 31.376740010291602, 121.12361953560321 31.376729260132915, 121.12152049627859 31.377279056867422, 121.12060196777949 31.379108773920414, 121.1204223553409 31.379522546402978, 121.12022664056649 31.380375521149034, 121.12036778679621 31.380475460489908, 121.1291662313947 31.384007815682015, 121.12947305512336 31.384122640206424, 121.12962337373784 31.384171013168114, 121.12987242205455 31.384239309945308, 121.12993625787685 31.384099981595604, 121.13025921117536 31.383395095845362, 121.13050779865331 31.382945025463226, 121.13067252166967 31.382701060137627, 121.13084093258668 31.382507158006597, 121.13093855368867 31.38241414647263, 121.13138825222362 31.3825567709997, 121.14443901995107 31.386990184108676, 121.1545888948987 31.39124940161513, 121.15537499550888 31.392855579349913, 121.15537414080276 31.3929113020073, 121.15337834810072 31.395596647268274, 121.15283015718882 31.396289392493127, 121.15228220592651 31.39683813839015, 121.15199279185055 31.397121351041303, 121.15194715661157 31.397143054699832, 121.15135368234147 31.397396116346446, 121.15191510690983 31.399633609680713, 121.15538620720508 31.406398530642523, 121.15646074105757 31.408014267363086, 121.16006361565098 31.412182895719315, 121.16356937601871 31.4134909945394, 121.16396414503114 31.413889769653395, 121.1650532321622 31.4160540557916, 121.16499634432552 31.416204291034934, 121.16486566270314 31.416447707392823, 121.16477639098542 31.41657686048997, 121.16403735173326 31.417071573889068, 121.1583942362311 31.420268200419073, 121.15561051682762 31.421490318906322, 121.15504465189537 31.42195368284861, 121.15502963044779 31.421969149095705, 121.15499907772666 31.422042918171165, 121.1541616362629 31.425805341476842, 121.15449287838447 31.427261750124728, 121.15983589952198 31.431256305129843, 121.16142295400434 31.431754816938835, 121.16404021148954 31.43168137721323, 121.16580719421486 31.431280550446377, 121.1658827038753 31.431278222571986, 121.16600427424594 31.43131105940136, 121.16736181054405 31.43184023998952, 121.1674983216918 31.43189390465317, 121.17088774415205 31.43326647163247, 121.17089526444619 31.437336911825945, 121.16842002527781 31.438334339746223, 121.16781098835514 31.438232645072027, 121.16662548417524 31.438126318701862, 121.16600817203651 31.438097050399012, 121.16536972267353 31.438105706571044, 121.1642189684848 31.438218775990645, 121.16416023272713 31.43822840919185, 121.16306065600028 31.438410905244716, 121.16178614859885 31.438635982493963, 121.16062521181294 31.4388741005237, 121.15979897464824 31.439087995938806, 121.15904657317957 31.439326165102866, 121.15821937396339 31.439599381339583, 121.15736912920069 31.440012421427806, 121.15661732738508 31.44038543501575, 121.15597182874217 31.44073868566705, 121.15561499707215 31.440967716287943, 121.15508333673012 31.44133521322824, 121.15457460508024 31.44171696777451, 121.15433919082611 31.4419083231043, 121.15410376123745 31.4421177611766, 121.15345807104919 31.44277690866096, 121.15330630715268 31.442940820349712, 121.15314678606808 31.44311587147203, 121.15300262074142 31.443293499415283, 121.15299495762424 31.44331816506055, 121.15278370190617 31.44484993903015, 121.1532017481943 31.447358372420403, 121.15410381276216 31.449158685729135, 121.15413425449931 31.449177339989895, 121.16776994774408 31.45539069511902, 121.17226087380809 31.456429659372052, 121.17232153597165 31.456433814999137, 121.17466960940305 31.454933604360473, 121.17902876157315 31.455239361215888, 121.17957211124933 31.455285359466437, 121.1801675751759 31.45538732326686, 121.18098566760544 31.455647827757186, 121.18161447876669 31.45588969512659, 121.18533871509956 31.457435457988883, 121.18836868046654 31.45871746049948, 121.19187982001552 31.46067889029588, 121.19199793223804 31.46077121428606, 121.19207167319848 31.460858335750636, 121.19212368738073 31.461073890865652, 121.19212526423219 31.461130315071387, 121.19207774841976 31.461323938949008, 121.19184482147489 31.46178342838379, 121.19146750423121 31.462563315098848, 121.19132734736911 31.463258383906368, 121.19135093060468 31.463348297615205, 121.1922179767077 31.46636744072838, 121.19502035044452 31.469418754362817, 121.19639569656954 31.47075312711689, 121.1996561508601 31.47364983991285, 121.19991302475262 31.473851768578847, 121.20046184608599 31.474129363251116, 121.20149032582962 31.474486431210174, 121.20172605214766 31.474442265246847, 121.20204418528012 31.474382569980055, 121.20313187534511 31.474350632197964, 121.20322332307407 31.474352064543663, 121.20339052827165 31.47437044282735, 121.20387005903629 31.474467926815905, 121.2041669281548 31.474533213632444, 121.20439537333644 31.474592908228118, 121.20882023955622 31.47600228785569, 121.20893453551615 31.476053038356092, 121.20904131825387 31.47610144224337, 121.20913295125894 31.47616998525479, 121.20921662068622 31.476242949990567, 121.2092929214971 31.476340636345434, 121.2093385882823 31.47644254090681, 121.2093845098067 31.476600796893237, 121.20939959285714 31.476722695930334, 121.20939951530559 31.47676102338887, 121.2093889505918 31.47683622985405, 121.2091567190111 31.477523452398398, 121.20905661037261 31.477976996551355, 121.20904294780095 31.478224414174903, 121.20907117421899 31.47839452194807, 121.2090957697921 31.478483760828944, 121.20911890822475 31.47856515476538, 121.20924840731973 31.478717019427997, 121.20940652656687 31.478856519811806, 121.21213018608502 31.480969157043592, 121.21310685420973 31.48171369425563, 121.2139939873509 31.48235622719872, 121.21445874281576 31.482673715540017, 121.21533810962933 31.483190102437014, 121.2159191211631 31.4834349788213, 121.22004110838637 31.485162523269558, 121.2202879408141 31.485258144087428, 121.22056934227417 31.485337472392573, 121.22094093841459 31.485344630155744, 121.22110658582201 31.485326884154215, 121.22123058199733 31.485156030515505, 121.22138448949602 31.484608935954345, 121.2213553629428 31.484335286604924, 121.22121662031975 31.4840007046096, 121.22090548427043 31.4836649761679, 121.22018211591694 31.483126873264474, 121.21964940455129 31.48254151082849, 121.21977932016377 31.482316032702816, 121.21983291728442 31.48226870943492, 121.21992470558625 31.482221398174815, 121.22005438299615 31.48218986480627, 121.22029138613705 31.482160588254605, 121.22490271609713 31.48165987718752, 121.23176832374624 31.482556142028926, 121.2364096093823 31.48341937322412, 121.23650149533451 31.483445877755504, 121.23657037543025 31.483501816742827, 121.23666234708341 31.483627513131285, 121.23672354265389 31.483773684976413, 121.23674637851866 31.483838922393304, 121.23680010430076 31.48399640777369, 121.2368383255355 31.48418780255272, 121.23686906182469 31.4843566979935, 121.23688406533289 31.484622621234497, 121.2369145123214 31.485386669372367, 121.23692929121745 31.48680455298828, 121.23691379012146 31.48712701182701, 121.23687534659383 31.487271516191218, 121.2367986361533 31.48743203296159, 121.23676816097559 31.48748857264714, 121.23671434044572 31.487506928755735, 121.23650004128393 31.487564572224628, 121.2362548848007 31.487613387826755, 121.23588703771541 31.487658434358924, 121.23564195737168 31.487686960095502, 121.23542738734761 31.487724315030704, 121.23531247965381 31.487779114245743, 121.23522042525968 31.48782925926801, 121.23512102033798 31.48788395996743, 121.23504428851825 31.4879610611195, 121.23502264551192 31.48798599039269, 121.23497542154023 31.488040376749474, 121.23491418933395 31.488151199835276, 121.23489096407928 31.488225730204512, 121.23488317763717 31.488286644656284, 121.23489081104934 31.488385784251697, 121.23494461621405 31.488520718482317, 121.23505152687538 31.488673365267747, 121.23906054620632 31.493656030766584, 121.23916529146756 31.493780758501597, 121.2432799596889 31.497812291917548, 121.24698660676601 31.4993689792921, 121.24732915251184 31.49948114307025, 121.24749847069845 31.499515839200324, 121.24771037119889 31.499532408146155, 121.24786463277613 31.499527059678556, 121.24802671951366 31.49949961198777, 121.24818458055276 31.499418097046547, 121.24823892620914 31.49936613278769, 121.24833856879515 31.499158538731248, 121.25025981351838 31.493344409063113, 121.2502675368344 31.49323620118242, 121.25026025529675 31.49294993331686, 121.2502295170029 31.4928350010905, 121.25015337862612 31.49257810651242, 121.24988843044883 31.49176464954528, 121.24981723085527 31.491546088869047, 121.25094492588073 31.48737472534779, 121.2537016676607 31.482889016129466, 121.25374957473818 31.482838592606914, 121.25385135145847 31.482784196984266, 121.26725796318694 31.483649161254448, 121.26732659668208 31.483654665224197, 121.26741063678683 31.483662660719556, 121.26747166036928 31.483670321969033, 121.26753247529314 31.48368925343177, 121.26757840545915 31.483712474864582, 121.2676318900031 31.483753854090363, 121.26779377013447 31.483892269377126, 121.26809602747623 31.48455089053059, 121.26827302240895 31.485166641777745, 121.2683017919248 31.486137126191, 121.26840103348643 31.486499070713514, 121.26860154057042 31.486759015067012, 121.2739271274276 31.490784092944335, 121.27698949073287 31.49074756433732, 121.27701247697028 31.490730075920577, 121.2770201159299 31.490725755956575, 121.27834554154494 31.489992020606458, 121.27836071866837 31.489987893929662, 121.2786568734935 31.490042931122083, 121.28122242328777 31.490917932015567, 121.28263764105036 31.491631711339995, 121.28447736430167 31.493603834469912, 121.2866286565256 31.495535848164963, 121.29037004288216 31.4955787346639, 121.29622183217604 31.494689504682277, 121.29983677054548 31.49554483939018, 121.29995087139517 31.495580232168628, 121.30131192412841 31.496074383972772, 121.30145618072042 31.49612877892354, 121.30475697542109 31.49742725991206, 121.30477212792327 31.49744127458202, 121.30711225995358 31.501703613152237, 121.30735561351139 31.502965014732037, 121.30755084991314 31.50303582832208, 121.30898941657905 31.504938963947154, 121.30875082032806 31.50531443078986, 121.30819759042487 31.505352646481676, 121.30816707722919 31.50535171183613, 121.30751288242374 31.50502280622393, 121.30665190738696 31.505888625262433, 121.30646258194817 31.506091104932562, 121.30761696529706 31.507694856541324, 121.30864370947957 31.508839751195765, 121.31218291758914 31.51146065107039, 121.31711730930031 31.51226300612949, 121.31826714198792 31.51116263677766, 121.3182823686709 31.51114044576724, 121.31830543933184 31.511068845305477, 121.31832832931534 31.510954411392465, 121.31838237422541 31.510428187365967, 121.31837462152099 31.510403215477112, 121.31826081662679 31.50979427063839, 121.31842170038752 31.509151023846126, 121.3198743050726 31.50699635512772, 121.32081409340607 31.507243293789873, 121.32783606520083 31.506120133447414, 121.33093392477704 31.506396562672556, 121.3369222793775 31.51110979083727, 121.35146919091387 31.520376080145276, 121.35285103424744 31.521707582179577, 121.35740581865946 31.52504713957102, 121.36883104466727 31.533413597975702, 121.3695141419406 31.533902367917733, 121.37403918874035 31.537144462176833, 121.3753729950462 31.538091039844048, 121.38407813461805 31.54430840597686, 121.38897715118308 31.547751051668616, 121.39347284239133 31.550987330709745, 121.39347922329218 31.55105613246707, 121.39348038291628 31.55106865970926, 121.39340428541591 31.55115732030431, 121.39090435747465 31.55291591443857, 121.38872309097384 31.554412522043542, 121.38645632957072 31.55585613517935, 121.38508175734367 31.556699698925303, 121.38371453463498 31.55752486005827, 121.35244242300507 31.575992536990768, 121.34706042697064 31.579176688431264, 121.34190350105783 31.58220959445372, 121.33802334162759 31.584415997020763, 121.33260695067277 31.587219640277702, 121.32537892074716 31.594078009927557, 121.32390413628634 31.595791379884997, 121.32264355101708 31.59723382306034, 121.31963494621097 31.600534088420062, 121.30809798531772 31.612828508006306, 121.30174660733952 31.619525881014788, 121.29987390467693 31.621518652906104, 121.2969283475583 31.624711799240938, 121.293739275773 31.628178423752477, 121.29096896913327 31.631184993196015, 121.28991869706005 31.63230898595197, 121.27564136558638 31.64749962002747, 121.26856603260717 31.65494430799003, 121.26622339558426 31.65670409639426, 121.26474257247405 31.657855111447027, 121.26185703918937 31.660139191370483, 121.24929348701144 31.67062047123779, 121.24265167628988 31.67516799407639, 121.23622096939945 31.679562049387528, 121.22880543506804 31.684597143254997, 121.21873188905211 31.691363648104122, 121.21051678068464 31.696798799173003, 121.20614588951406 31.69966287615779, 121.19588494478256 31.70632036900035, 121.19376791381596 31.706814500948603, 121.18428105279125 31.71317744516643, 121.18097081077642 31.71599581374859, 121.17637970725262 31.718992907093828, 121.16362925292623 31.727174082810645, 121.1511662126599 31.73521374633272, 121.14218732232813 31.741058443929774, 121.1359380480225 31.74528693422516, 121.13467609576826 31.746220350992026, 121.13404891709332 31.746766389042254, 121.1332376244796 31.74751521243428, 121.12321035400122 31.75662992003238, 121.12106364736283 31.758535533419742, 121.11763995020675 31.76156020602345, 121.11719830101346 31.761950386974632, 121.11347871335101 31.765109922864024, 121.11329107721528 31.765262532507787, 121.1080819462565 31.769495432026712, 121.10824104205595 31.76950569457824, 121.10847842638589 31.769590771311744, 121.11104899751578 31.770551247545882, 121.11106967630347 31.770558967639413, 121.11320836335666 31.771474995060977, 121.11573827239499 31.77271511552846, 121.11813177823042 31.774154575080207, 121.11889649873554 31.774614518342982, 121.13926685713398 31.787122723734164, 121.1437978602404 31.789976947378904, 121.15446308740418 31.7975767241306, 121.16110744706468 31.80346546580236, 121.17128605093322 31.81318774182229, 121.1787400411381 31.82037967077939, 121.1821370278281 31.823652923130773, 121.18498014087619 31.8254185093613, 121.18857478570483 31.827560035248773, 121.19063408522624 31.828807157731685, 121.19899206561485 31.833831359101296, 121.20559730442064 31.83775070425787, 121.20911780829869 31.839875252164962, 121.21483787181307 31.843154173650817, 121.21648273239383 31.844082376973397, 121.22964868277467 31.85143157597793, 121.23367551700088 31.852946818900723, 121.25155341958296 31.85915078067756, 121.25851686898159 31.86162292293542, 121.28656647727475 31.872095891733196, 121.29166008143002 31.873972719753027, 121.30182406650894 31.876719644380888, 121.3123391962664 31.876819376869765, 121.31357020052403 31.876432519468253, 121.31411891441697 31.876257916177824, 121.32328605910924 31.873266697670747, 121.33663767163586 31.868743968638643, 121.34190930800308 31.866917647130148, 121.36036594320953 31.860434280712685, 121.37641659844904 31.854877158168662, 121.37896750240216 31.85400362684642, 121.38134842997094 31.853152318237125, 121.38165452997978 31.852995864373828, 121.38225923700703 31.85237885770164, 121.3953719881774 31.835654104192876, 121.39747384370112 31.83286899799035, 121.39766233500725 31.83261428345712, 121.39942194339059 31.830236727388613, 121.39998858360782 31.82958107390086, 121.40407615485425 31.824854375003003, 121.41049384090088 31.81754427979157, 121.41507800633494 31.8141402060536, 121.41760347763044 31.81279815498535, 121.41766309196663 31.812729280876, 121.42003677089502 31.809273566848216, 121.42046370034633 31.80855140145979, 121.4228624161986 31.80375738300102, 121.4225673349421 31.803612142801754, 121.4219698915622 31.80334840453315, 121.42137279516858 31.803107586572935, 121.42015873096072 31.80264527083606, 121.41826795632545 31.801919850752128, 121.41723824617755 31.801430723999765, 121.41727237666608 31.801346850783073, 121.41971974849655 31.79699871337911, 121.41994953671797 31.796623082254882, 121.42039238333226 31.79589967829341, 121.42073524249251 31.795340840646997, 121.42132019226898 31.79440102040586, 121.4216488074061 31.79387301687857, 121.42279684730929 31.792123479859946, 121.42568559581298 31.78835262727117, 121.42640878541323 31.787413460319957, 121.42788471597987 31.7855296350611, 121.42874089167661 31.78455949914098, 121.42985690527331 31.78330642142066, 121.43158492226516 31.78166884906262, 121.43395685433386 31.77947556181108, 121.43562692452419 31.777937294210002, 121.43712373107545 31.77656691375779, 121.43825607871234 31.77615730705814, 121.43957293416985 31.77567100744279, 121.44032597781585 31.775394809218323, 121.442212208961 31.77470587724024, 121.45129835132181 31.77149457478488, 121.45317663079295 31.770790508075645, 121.4545022365544 31.770233146520695, 121.45496483865374 31.76995928774693, 121.45568471676202 31.769266438440493, 121.45652007874908 31.768398772717692, 121.4567795334128 31.76815552358452, 121.45704666420207 31.767946029626795, 121.45754296927419 31.767743207243647, 121.46020779719196 31.76682919668114, 121.46386684731061 31.765634481235615, 121.46522701371785 31.765221389657253, 121.46647279591211 31.76484402380865, 121.46848305666303 31.764306927960767, 121.46955294326116 31.76412958155636, 121.47037100953823 31.76403951713666, 121.47113537133276 31.764116459425072, 121.47138763020654 31.76419992717541, 121.47180802942302 31.76418725338461, 121.47265651984735 31.764136912597333, 121.47479703662451 31.763772462018036, 121.48813983352439 31.761313445128085, 121.4889796725615 31.761067088042967, 121.4912238470631 31.76040164858188, 121.4949846374444 31.759677268966062, 121.4994277496109 31.75887283716961, 121.50597295398252 31.75778816624217, 121.50670683705184 31.75802132276541, 121.51014242344505 31.75637123259156, 121.51202422588189 31.755264306494013, 121.51426339444552 31.753862461922253, 121.51526824637793 31.753137663958874, 121.51671045071971 31.752116725164157, 121.52062708119858 31.749390235689905, 121.52207755117468 31.7485356300097, 121.53549353558815 31.744789626953335, 121.54680538688183 31.741958063981816, 121.54676603620308 31.74155765782434, 121.54675619893204 31.7414575560697, 121.54646092706078 31.739755128125385, 121.54647618701937 31.73968340345283, 121.54650641891465 31.73963685488358, 121.55268546290023 31.735511485043922, 121.55648034796126 31.73299476126692, 121.55658688791465 31.73293816037659, 121.55667773219457 31.73293985966547, 121.55672349542547 31.732970007399707, 121.55706755448628 31.733710454979786, 121.55715691247143 31.733980978544636, 121.55727596624091 31.734461621845064, 121.55734543167667 31.73471200283792, 121.55740509503484 31.734772375906907, 121.55779761142307 31.734873976737337, 121.56619405553766 31.728216801569037, 121.57001567036336 31.725157485211103, 121.57232196561536 31.723667002509433, 121.58444889160845 31.718262129163097, 121.58537726745699 31.717881850361767, 121.58582614379284 31.717697848885003, 121.59140840063192 31.715942208414177, 121.59543494802489 31.714674629928606, 121.59743958488055 31.71406589588751, 121.59962777060655 31.71340185535217, 121.59953820980773 31.713064846365278, 121.59900816685355 31.711070768401765, 121.59939142921901 31.71091281082901, 121.61058879744074 31.70671425298397, 121.61079553979927 31.706711374180465, 121.61090274181085 31.70677644114827, 121.61097173265601 31.707012959244267, 121.6109952093122 31.70789887749744, 121.61086607196758 31.709808709891085, 121.61053752574233 31.711748412946168, 121.61024695597833 31.713032032279198, 121.61010928416059 31.713837256953024, 121.61008624310126 31.714074029117654, 121.61016282158069 31.714218039333073, 121.61029313131503 31.71426268321862, 121.61069891302401 31.714310988060365, 121.61118133964509 31.714341169522463, 121.61162545681795 31.714322017583715, 121.61177852218806 31.714258550919304, 121.61700465838622 31.711825437788782, 121.62194290282628 31.70954559728763, 121.6232111236751 31.708955400403113, 121.62384490524613 31.708674440307274, 121.63132316251661 31.705391510229237, 121.64181174771919 31.701920089823354, 121.64227578211592 31.701803606275867, 121.64249656252659 31.70184320753101, 121.64830281947779 31.70343065801097, 121.64882764387652 31.703575075728136, 121.64955808733725 31.703822428670904, 121.64970012014693 31.703876153930985, 121.66157025997661 31.700208336877935, 121.6616537736085 31.700182750596305, 121.6744323197605 31.696233438822045, 121.68284429920011 31.693577941771945, 121.68709184271836 31.692213372569636, 121.69999007344624 31.68797544339394, 121.71298619300758 31.683643877951315, 121.72567869043895 31.67930902716161, 121.7383170471538 31.675037005661803, 121.75094392549225 31.671042292884472, 121.75357073146071 31.670340761628275, 121.76418591209108 31.667546021398994, 121.79125902875529 31.660282906806025, 121.80183420669516 31.657379404293827, 121.81661850159327 31.65319276802993, 121.82032157373212 31.652138901645703, 121.82041106512402 31.652121120192735, 121.83143065265023 31.649896205601898, 121.84605576419226 31.64674601275975, 121.86081422785311 31.643625217688786, 121.8635179217093 31.64308814948244, 121.87544588588081 31.64080297525826, 121.88546923335595 31.638863849449596)), ((121.89592376782606 31.24844944626327, 121.89701171994696 31.24839825200849, 121.89781580940745 31.248532207510305, 121.89802742382335 31.248614237886375, 121.89971674750468 31.248645521390465, 121.91955289189951 31.24265233259881, 121.93183293886725 31.23504446548656, 121.93331084075693 31.232936701558703, 121.93426275745418 31.227216926284214, 121.93409097292239 31.220949577248366, 121.93374804806191 31.219587251914948, 121.93362566696953 31.218766530586212, 121.93318816108604 31.21766902909684, 121.93297986322337 31.216820134406447, 121.93282886802487 31.216042320647873, 121.93239861352565 31.215023029916086, 121.93230574510464 31.214848113102388, 121.92857397091142 31.209822456649828, 121.92511133470535 31.205105645545746, 121.91875283828044 31.205331128451494, 121.9118809236155 31.20861558997597, 121.91182527729053 31.208643662526825, 121.90411371256945 31.213832289919047, 121.88563534213762 31.235876855134592, 121.88376527827094 31.244295871219034, 121.88378269321085 31.247780779295827, 121.88425568771036 31.24826348525099, 121.88558453724913 31.249300603321128, 121.88584780516294 31.249441340250293, 121.8862497820104 31.249780724956857, 121.88647156442991 31.249953827616178, 121.88864221178622 31.25090871980498, 121.89262965845997 31.25033330842065, 121.89327425907994 31.249852626158454, 121.89592376782606 31.24844944626327)), ((121.98708484142514 31.23109704731122, 122.00708182385749 31.22639540125595, 122.01886490524552 31.22665057597706, 122.0338860767069 31.22693929346464, 122.03807416502134 31.22527850879884, 122.04626893164053 31.22019165487496, 122.04874764142278 31.216956847065294, 122.05064863903593 31.2083829530223, 122.05044365122806 31.20693442330982, 122.0504886497556 31.206808315475612, 122.05039131313863 31.20514160065977, 122.04953424438531 31.199034597444093, 122.04337472114216 31.186081586652858, 122.03836404172652 31.173790924156005, 122.03760297097067 31.17272078239116, 122.03592490425203 31.17116511511332, 122.03551326275091 31.170938052369966, 122.03550990702588 31.170936202453667, 122.03453285352639 31.170396590901923, 122.03360502035028 31.16995474737241, 122.03257019245841 31.169974740106923, 122.03229639343095 31.170891428846062, 122.03217743794832 31.171289748014686, 122.0322235104672 31.171868077340182, 122.03194251855335 31.172051061586163, 122.03042046649354 31.172406638583865, 122.02983756386043 31.172396509716872, 122.0294307354515 31.172028922485442, 122.02836106935246 31.171223890594415, 122.02762867830977 31.17081004575031, 122.02718460893617 31.170558949411387, 122.02640045504177 31.169900983043174, 122.02565187270129 31.169886147733152, 122.02497462730142 31.169908197189017, 122.02436862263464 31.170288584931054, 122.02429251462391 31.17074395118302, 122.02422588949801 31.171142636757125, 122.0240831874681 31.172032389824842, 122.02365540307127 31.173130466454495, 122.02287133624611 31.17379245659447, 122.02151720438702 31.17433485740595, 122.02060379551878 31.174488218374258, 122.0200114047075 31.172056919786527, 122.01966754497369 31.170645055795625, 122.01936670798457 31.169409482070822, 122.01706977729344 31.163085143329305, 122.01622741026354 31.162427260617058, 122.01110506742029 31.159664342313047, 122.01073173474218 31.159370142958384, 122.00955623397502 31.158523996002714, 122.00759623631082 31.157912289884035, 122.00595628622472 31.157879794951025, 122.00456570004344 31.157746258363762, 122.00121242857358 31.157973166701126, 122.00047095723882 31.158332068761105, 121.99467597514682 31.15877182032225, 121.98456317430444 31.16214027250772, 121.97536767874618 31.16556674912164, 121.97447779576811 31.16572182079536, 121.97372413694671 31.16576439102691, 121.97264720944901 31.16609634917041, 121.97174944666634 31.166855696768398, 121.97103110027561 31.16768499092612, 121.96981008920461 31.168127985837266, 121.9691635248281 31.16863597681651, 121.96765479453674 31.16951285303441, 121.96692427141238 31.170258061406727, 121.96690222518484 31.170280551209167, 121.96478034899123 31.17244662383015, 121.96432825633794 31.173576620644763, 121.96159244040656 31.17739655189672, 121.95641892056429 31.181292984867085, 121.95182443598526 31.18899045226998, 121.9507641526063 31.19134667218094, 121.95057619936887 31.191391746290616, 121.95026521799993 31.19173022116263, 121.94994258438267 31.19242602689696, 121.94958391324649 31.19294380874451, 121.94909369168428 31.193558916758757, 121.9486273453839 31.194054502465985, 121.9482447725515 31.194501073982238, 121.94804163108138 31.194837633228722, 121.94770740252996 31.195747706023063, 121.94754008416552 31.19597651759455, 121.94734877612477 31.196134249958124, 121.9471814523406 31.19633922583062, 121.94690673266625 31.196843475163327, 121.94664408247505 31.19743085701758, 121.94636952068892 31.19805410629311, 121.94613077792803 31.198581538979383, 121.945963604851 31.19889357866633, 121.94599976563661 31.199154979123506, 121.94578524727103 31.199943958371907, 121.9455341715441 31.200078602835386, 121.94528320751076 31.200308465972597, 121.94521181287183 31.2006666804252, 121.94555942569424 31.201340301083246, 121.94605069880024 31.20208317272133, 121.94647010629639 31.202707947343654, 121.94703299094395 31.20319949150741, 121.94747617016378 31.203609405560353, 121.94791385424598 31.20392584460834, 121.94911045335382 31.204790474201964, 121.94896937041744 31.207515581890718, 121.94744102606275 31.21077814457672, 121.94534025533807 31.215572025429783, 121.94476930749754 31.219009052628227, 121.94577730351148 31.223293802704873, 121.95088152066222 31.23352165023573, 121.95155321029009 31.234178141072732, 121.95194333884054 31.23455938102432, 121.95338037636671 31.23539207720954, 121.95486545242184 31.236176078249233, 121.9564464350077 31.236386985314407, 121.95814614629198 31.236902740078317, 121.95941702895257 31.237288575397923, 121.96037530090244 31.237605799969057, 121.96248344920298 31.237571312592895, 121.96449562259946 31.23715890297818, 121.96641172700816 31.23674961850681, 121.96899794654634 31.236333486725083, 121.97076949464494 31.23554996086243, 121.9725473866421 31.234964463210567, 121.98708484142514 31.23109704731122)))'),
+ (26794,'MULTIPOLYGON (((121.88546923335595 31.638863849449596, 121.88614565031153 31.617287893773952, 121.8861457881097 31.6172834514702, 121.88615697178062 31.616929787479986, 121.88872461256828 31.615832547377437, 121.89611878028013 31.612721912984394, 121.89738227798144 31.612191289048702, 121.89738266066331 31.612191130715395, 121.90310941675762 31.608917508419594, 121.90828690613498 31.603727947511967, 121.90836718329079 31.60362811493208, 121.90848726869022 31.60345771049584, 121.90861598444788 31.603275045924356, 121.90867926665149 31.603017787211062, 121.9087049072039 31.602913554222745, 121.90872503017981 31.602784712465123, 121.90873456233078 31.60272366103761, 121.90874052291912 31.602575039123412, 121.90872871239229 31.602432101191173, 121.9087026953497 31.602330793448143, 121.90868730532851 31.602270861556363, 121.90856893518435 31.602001372652623, 121.90836959396513 31.601657753546, 121.90905868007566 31.601134341701567, 121.9092885369665 31.60095970082975, 121.91160374028532 31.599199275224365, 121.91911207387913 31.593234775428932, 121.92006223727125 31.59245618244582, 121.92033123050575 31.584342734327628, 121.91957399968572 31.582754044414038, 121.91959768075826 31.58273784282196, 121.91963284105137 31.582713789264915, 121.91963593937645 31.582711626040503, 121.91963900715369 31.582709426612467, 121.91964203990293 31.582707202643437, 121.91964504839248 31.58270494791247, 121.91964802184974 31.582702663243857, 121.91965096475953 31.582700343272162, 121.91965387264031 31.58269799786103, 121.91965675087906 31.58269562794791, 121.91965959946715 31.582693221839122, 121.91966240764003 31.582690791153567, 121.91966518616596 31.582688329670052, 121.9196679341519 31.582685843679172, 121.91967064261537 31.582683326821893, 121.91967332143646 31.582680785464056, 121.91967595983714 31.582678213234068, 121.91967856320787 31.582675615566863, 121.91968113693525 31.58267299250034, 121.91968366575776 31.582670344827797, 121.91968616403892 31.582667671750087, 121.919688622801 31.582664973204924, 121.91969104653278 31.582662249223816, 121.91969343074928 31.582659505172895, 121.91969577903426 31.582656731182567, 121.919698087803 31.582653936223455, 121.9197003624396 31.582651116735065, 121.91970259576436 31.58264827626578, 121.91970479046782 31.582645411236534, 121.91970694385925 31.582642525226866, 121.91970905863268 31.582639619155348, 121.91993000575883 31.582595506217782, 121.92023263620236 31.582535016131818, 121.9208276051889 31.582415869774735, 121.92103118705488 31.582375031672388, 121.9210312570983 31.582375017681727, 121.92123911537232 31.582333279908397, 121.92219730958703 31.582140405379274, 121.92260255507712 31.582554423708736, 121.92503214021583 31.586084011239492, 121.9254486789138 31.58632868690714, 121.92651365361438 31.586240567798963, 121.97046740121723 31.553496041291883, 121.97884294069101 31.545437719330025, 121.97884299035633 31.545437674109237, 121.98249484429817 31.541940830301854, 121.98947408694355 31.53281176691466, 121.9963165309373 31.518104044094823, 121.9964380147889 31.51784330476348, 121.99657929235805 31.516777743537613, 121.99658981346802 31.516698431737154, 121.99655395367223 31.51620323797856, 121.99654602934484 31.516093801922608, 121.99652924077795 31.515861848673456, 121.99609581047193 31.509869775243175, 121.99567451098218 31.503653344644718, 121.99567448080532 31.50365288478088, 121.99567390090357 31.503647338680747, 121.99567321614612 31.503640330990798, 121.99561250343766 31.503058675455947, 121.99556074701626 31.50285719062832, 121.99552674127958 31.502724708338807, 121.9954862565279 31.5026719442938, 121.99871597931732 31.5010401606103, 121.9985956234705 31.499730041137017, 121.99818773425747 31.495293769342645, 121.99789499023247 31.49210143583397, 121.99733473971993 31.489657323060555, 121.99600431197774 31.483491788926, 121.99550942629763 31.48211523030362, 121.99428086261439 31.48010269177536, 121.9940807674494 31.479919801802023, 121.98943761433125 31.481415342303556, 121.98468367579748 31.48460769093334, 121.98105244601534 31.486962378888247, 121.97919642596693 31.489729515405546, 121.97728197029679 31.49254769224849, 121.97682241369091 31.493226494331193, 121.9754307302276 31.498823412546393, 121.97447992927188 31.502676218392907, 121.97364431938993 31.50595758619762, 121.97333483966881 31.507698431774255, 121.96522601629127 31.509944394936518, 121.96395972332972 31.510298332752843, 121.96395932577317 31.510298444115072, 121.96395929045855 31.510298450057046, 121.96357156357121 31.509470137796637, 121.96216849784754 31.50647303672688, 121.96206367653191 31.50624915960787, 121.96163143960905 31.505325982024434, 121.96093231366123 31.503832865140083, 121.96093220793256 31.50383263668661, 121.96081229408199 31.503576543545904, 121.95960858566546 31.50100613002513, 121.95828513685882 31.498180317374555, 121.95819159552815 31.497980588610346, 121.95816876760341 31.497942246314746, 121.9540684374413 31.49105377481597, 121.95400456450128 31.49094645932522, 121.95272439694715 31.488795497123483, 121.95160062487017 31.486907017061924, 121.95138037480174 31.486536856303793, 121.95128299620596 31.48637318463784, 121.95060360597644 31.485231237538468, 121.95001766038311 31.484246220856505, 121.94982685148531 31.483925430980715, 121.9493178716228 31.48313052712375, 121.94930696073908 31.483113492185726, 121.94930045333071 31.483103800854803, 121.94929850246444 31.48310089756794, 121.94927440780633 31.48307993860799, 121.94917743448528 31.483009052672188, 121.94917738382742 31.483009013913062, 121.94917727889113 31.483008940950043, 121.94911669441237 31.48296465030837, 121.94845529635447 31.48247969557141, 121.94782800110502 31.482019545008843, 121.9477939581333 31.48199456815323, 121.94685689705776 31.481302868811852, 121.94591997170993 31.480610771553206, 121.94569624507729 31.480444290329558, 121.9448847252083 31.479840143511073, 121.94446152057435 31.479524912788563, 121.94365869072546 31.47893834855348, 121.9429796777461 31.47844189270251, 121.94248824704582 31.47808236071765, 121.94166802436904 31.477476868267225, 121.9412173506713 31.477143950793586, 121.94084793710799 31.476870929996874, 121.94075120030301 31.476830320104405, 121.93963111952807 31.47599974295785, 121.93742373229537 31.474359546311877, 121.93367364251938 31.471561931474504, 121.93291839643526 31.47099670275645, 121.93204365230218 31.4703412515183, 121.9317518820431 31.47012908137376, 121.93174235545888 31.470122150534305, 121.93174220042893 31.470122051360452, 121.93167883446554 31.47008196040376, 121.93165021569322 31.470050075000078, 121.93164741405366 31.470010026191456, 121.9316487012299 31.47000889529426, 121.93169042725427 31.46997272503788, 121.93184032532415 31.469888521520478, 121.93184044514499 31.469888450817795, 121.93184953183062 31.469883348235868, 121.93193490060725 31.469839691070664, 121.93209204556057 31.469759315944376, 121.93232277398634 31.469630779978324, 121.9323232200043 31.46963053310237, 121.93367956627038 31.4688741209206, 121.93519489020038 31.468055708618984, 121.93537456735886 31.467958553635416, 121.93629243141744 31.467431160117183, 121.93633170038616 31.467401066871528, 121.93633249769235 31.467400454745928, 121.93637988992239 31.467364124932654, 121.93642561515868 31.467324355558343, 121.93642884486846 31.46732154751638, 121.9364552036268 31.467278079693063, 121.93645524870563 31.467278010040257, 121.93645526944016 31.467277974779396, 121.93646355446545 31.46726430947744, 121.9364636599433 31.467264134056496, 121.93648442763984 31.467206894092612, 121.93648542350157 31.46720134849409, 121.93649809710638 31.467130927608586, 121.93649007065595 31.4670309830975, 121.93645488770598 31.46694028337241, 121.93643095071204 31.466909635760288, 121.93639594433243 31.466864806911577, 121.93620962567707 31.466714514996188, 121.93580718989067 31.466491542724718, 121.93455444663357 31.465804653334125, 121.93398535357528 31.465492094008386, 121.93379337596862 31.46538658356024, 121.93303247640122 31.464968001134114, 121.93257613862723 31.464713954867022, 121.93121295030917 31.463953716749465, 121.93058943738377 31.463607377717512, 121.9301253041647 31.46334928640707, 121.92946556636467 31.462966830988524, 121.92924900699461 31.462846884160104, 121.92887884427147 31.462641733799437, 121.92884070654105 31.462620590554696, 121.92835810737849 31.462345202245046, 121.92835767150562 31.462344952667546, 121.92834112891332 31.462335244548097, 121.92761432045755 31.461908870480407, 121.92702185635422 31.461575062874648, 121.9268429268581 31.461474172702548, 121.92663808478665 31.461358379325482, 121.92601881382649 31.461008023838996, 121.92553004134844 31.460732506878195, 121.92552967603156 31.460732301207564, 121.92552951046814 31.460732206494725, 121.92552910016161 31.460731975565896, 121.92543960499069 31.460681498687997, 121.92535709446143 31.460635192116374, 121.92484927350637 31.46035002056938, 121.92439044568106 31.460089428426258, 121.92400804713529 31.459874402020038, 121.92337512559774 31.45961400057442, 121.9228435824614 31.459394981141653, 121.92265875430195 31.4593188514506, 121.92177532018864 31.458954461319344, 121.92067871362165 31.45850129082738, 121.9189274345581 31.457776136089095, 121.91831999606498 31.45752387942824, 121.91787617775849 31.45733933401671, 121.91768270491008 31.457258823576996, 121.91733638290326 31.45711462075223, 121.91679285254382 31.45688807149742, 121.9162595349592 31.45666549348137, 121.91572604957467 31.456442583346004, 121.91542954636378 31.456318573390842, 121.91525816572097 31.456246858906628, 121.91501502759942 31.456145071893967, 121.91323938749443 31.45539715230781, 121.91285658836233 31.455235636923035, 121.9125292983006 31.455097452246452, 121.91126266130621 31.454577263603397, 121.91126221235572 31.45457707752115, 121.91103711345097 31.45459085525145, 121.9110367050401 31.454590879296862, 121.91069485514635 31.45461174254542, 121.91026668174557 31.45463776861494, 121.91000794941519 31.454653442193656, 121.90990604222308 31.454658116723138, 121.9087368790126 31.45471130859854, 121.90721544346661 31.45478097935367, 121.9063874488894 31.454818414522588, 121.90596570773486 31.454839193603263, 121.90502443438133 31.454885300511307, 121.90482230401419 31.454895153051115, 121.90384272494853 31.454942694448533, 121.90364869768754 31.45495207659257, 121.90364856263024 31.454952078724435, 121.9032721336948 31.454970169927737, 121.9012993188298 31.455064348947207, 121.90096425469507 31.455080451341683, 121.90035056291116 31.455109891253827, 121.90007067388868 31.45512330027564, 121.89954785647879 31.455148309624644, 121.89910002733919 31.4551719727305, 121.8984173189991 31.455208010997005, 121.89786104396639 31.455247426638078, 121.89784552983258 31.45524852387851, 121.89784542525555 31.455248531831874, 121.89760712128832 31.454714859668265, 121.8974432730527 31.45434792017825, 121.89732424516156 31.454081352051734, 121.89732402119354 31.454080852144283, 121.89685341508455 31.45302691776799, 121.89663010220933 31.452526811408937, 121.89659108091973 31.452439422194576, 121.89631467172839 31.451820382303037, 121.89622484319882 31.451619219621524, 121.89621386994327 31.45159463957284, 121.89613801213105 31.451424755514086, 121.89606815447844 31.45127538706196, 121.89582824956688 31.450762426721944, 121.89580918886999 31.450721670012864, 121.89577582793002 31.450650338986392, 121.89564854370167 31.45037818298633, 121.89633277191466 31.449613818871065, 121.89638934929931 31.449550620400352, 121.89660010107107 31.449315190578563, 121.89704403570029 31.44881927452212, 121.8971845533939 31.44866230772442, 121.89732506752685 31.448505336354344, 121.89724229480558 31.448300918744263, 121.89707312256226 31.447883130859672, 121.89704132750742 31.447865031669, 121.89702277944595 31.447854472070354, 121.89697457496558 31.447827033529002, 121.89684549151474 31.44775436050871, 121.89673323216628 31.447691160786203, 121.89673293880898 31.447690995179972, 121.89673259536868 31.447690803450094, 121.8967323914455 31.44769068449313, 121.89671734439912 31.447682216288346, 121.89667282406869 31.44765556721108, 121.89667218725127 31.44765519008137, 121.89667116761628 31.4476545755036, 121.8966708000166 31.447654359032395, 121.89667031792708 31.44765406935389, 121.89646199234387 31.447529377681377, 121.89630007393441 31.447433636709235, 121.8962396373242 31.44739789878494, 121.89596505596795 31.447232998152337, 121.89567367782357 31.447065811054916, 121.89567164944802 31.447064663192887, 121.89565188442886 31.447053486617325, 121.89545416514815 31.44694167557058, 121.89545713195614 31.44693708331071, 121.89546022725237 31.44693229278713, 121.89544668992227 31.446921627724695, 121.89544647612196 31.44692145821532, 121.89543068242186 31.446911186890322, 121.89542474966514 31.446907274792057, 121.89541419717253 31.446900311661995, 121.89539991655471 31.446891573650788, 121.89538947373718 31.44688518211224, 121.89530618755262 31.446828090540926, 121.8952759433478 31.446804021006656, 121.89525735764006 31.44678485296156, 121.89524444722092 31.4467622187888, 121.89524442751897 31.446762183334645, 121.89523800499201 31.44675091949368, 121.89523080074548 31.44672935624794, 121.89522128386606 31.446700877124716, 121.89520421274754 31.446640564046408, 121.89519971301425 31.446624653505534, 121.89519964392865 31.446624411997348, 121.89518177543897 31.44658030118277, 121.89518176108295 31.44658025053188, 121.89518160604504 31.44657987247399, 121.89517689794458 31.446559776086772, 121.89516597937846 31.44651312779238, 121.89516485349205 31.446510115342605, 121.89516042258683 31.446498288223637, 121.89515283272786 31.446486963278964, 121.89514985620775 31.44648266599464, 121.89514662636016 31.44647801403073, 121.89511499787898 31.4464515630045, 121.89510093038918 31.4464422832299, 121.89508202854837 31.446429813677284, 121.894936943291 31.44634769345077, 121.89478316138816 31.446259191965904, 121.89477839770105 31.446256843107868, 121.89476952313356 31.446252467843546, 121.8947522810492 31.446243971420063, 121.89459062340937 31.446182787063243, 121.8945240650803 31.44615872142444, 121.89448159708135 31.446143368051093, 121.89443223778372 31.446128459593353, 121.89428037142534 31.446086966228343, 121.89419293784857 31.446066177251762, 121.89419287795448 31.446066166255747, 121.89413989898016 31.446053568960444, 121.89406014544132 31.44603586936996, 121.89386033992173 31.445991532409266, 121.89385926717148 31.445991313046754, 121.89384800416212 31.445988986375372, 121.89384734301441 31.44598838405319, 121.89384402029945 31.445985376631864, 121.8938404882438 31.445982185435813, 121.89381904891758 31.445979051931406, 121.89381296871608 31.445980712375142, 121.89380814476202 31.445982029593363, 121.8937883451833 31.44597454442995, 121.89378754404174 31.445974239171157, 121.89378621169166 31.44597364528372, 121.89377455855598 31.445968459444614, 121.89372200310261 31.445956383897677, 121.89365267656527 31.44594046136468, 121.89359121796794 31.445929590444678, 121.89353188515575 31.445919100004758, 121.89349167692022 31.445911023568822, 121.89349167152405 31.445910992879178, 121.8934903245536 31.445901139535117, 121.89348086260257 31.445832084552396, 121.89347170062788 31.445765176436925, 121.89335750332789 31.445725809510854, 121.89331681068566 31.4453851252772, 121.89302840426052 31.44297062750926, 121.89269852958714 31.440208512057474, 121.89261671208158 31.439523298778003, 121.89257992416441 31.43920992620644, 121.88981606569617 31.41558554938445, 121.88928254845833 31.411000173711315, 121.88415007457857 31.3666622199843, 121.88414881149171 31.366651355092017, 121.88420277779491 31.36660853368805, 121.8844952492415 31.366376482719108, 121.9122623116791 31.356006534145457, 121.91505949042187 31.35495022483098, 121.91548353576367 31.35478963360177, 121.92047657449186 31.35288870422864, 121.92325119382404 31.351835397963132, 121.95252443712543 31.340373581437923, 122.02707857175945 31.327439071100045, 122.08127105775223 31.324654612258815, 122.10343781734957 31.32431981173409, 122.11606327143888 31.324312816215524, 122.12387759804061 31.318393765609134, 122.12342114542565 31.311399379929522, 122.10733291224004 31.28053982736353, 122.10043554861593 31.267406543413124, 122.0989989755927 31.267964210548993, 122.09844404733865 31.268180054709326, 122.05726445400478 31.28444027356494, 122.03186823041347 31.291129337946245, 122.01725908593967 31.293953604388953, 121.99167924339142 31.297419322729603, 121.97348992093433 31.299125083766135, 121.93697839107662 31.30072628176862, 121.90724293795567 31.301478278477504, 121.9072407106897 31.30146938399039, 121.90546914292604 31.301497206922487, 121.89905665459302 31.301589022057684, 121.87462197167478 31.302016424286045, 121.86525512556723 31.302299900975424, 121.86083409436092 31.299611443158568, 121.86195791511241 31.285938679150753, 121.86214210436381 31.283708491867294, 121.86213392325428 31.280280041475372, 121.86213392337842 31.280279848976253, 121.86213391784855 31.280271711907247, 121.86213390855052 31.280263850116327, 121.86210097946983 31.264760511519324, 121.86210097413627 31.264760451287366, 121.86209130720127 31.264662654313998, 121.86197167479136 31.263452287535202, 121.85622700773365 31.24825813017814, 121.85622698348732 31.248258060293207, 121.84841961519851 31.241328022489252, 121.84826888726192 31.24129751295798, 121.84473999655404 31.24058691113115, 121.84537489603983 31.23926128862637, 121.84547540476704 31.23896986964945, 121.84558564180573 31.238650293698058, 121.8461496582235 31.237015011388948, 121.84625794049074 31.23681471567958, 121.84650714621762 31.23635381130685, 121.84644650188399 31.235729341884156, 121.84641771931842 31.235432933803754, 121.84668566094436 31.233969913806405, 121.84650676149057 31.233467347084748, 121.84650873303625 31.233321938477847, 121.84653604237457 31.231324207949434, 121.84654488538492 31.2294979521567, 121.84650653466261 31.229060611824885, 121.846372849846 31.228491650667223, 121.84652513569256 31.227917515846556, 121.84708521431652 31.22722209832821, 121.84728689552315 31.226227467874462, 121.84709975176838 31.225983494177285, 121.84667645485085 31.225819494026577, 121.84537957185297 31.22548182398351, 121.84440694084344 31.225481322520654, 121.84257605931006 31.22582212868464, 121.841031067571 31.22619615165971, 121.83986742479304 31.226448674042388, 121.8391616511657 31.226672805035285, 121.83879929458331 31.226985013705452, 121.83828421975916 31.227186250396866, 121.8374065779738 31.22716645078266, 121.83641463097541 31.227663380110247, 121.83551822995547 31.22823444749068, 121.83492698043702 31.228703952741483, 121.83490794971553 31.228951990701383, 121.83490809317084 31.22927577160678, 121.83469833988524 31.229584814137176, 121.83404980011478 31.229960203374077, 121.83244866370882 31.230730140964983, 121.83206238395393 31.230952253268057, 121.83186218727188 31.23108490074857, 121.83174769998134 31.23127292877317, 121.83174780774624 31.231601501730612, 121.83161920163018 31.231846941384052, 121.83127575584115 31.231853893807028, 121.8309181203317 31.23197535885537, 121.83036023239754 31.23231509550174, 121.82965932327583 31.2328717609304, 121.82794301152754 31.234161927506275, 121.82689899699488 31.234810037532235, 121.82605529492224 31.2352683082767, 121.82515451695359 31.236141403922257, 121.82508303386501 31.236528338731357, 121.82512591200006 31.236713268304516, 121.82522597625751 31.236825756221553, 121.82521175873158 31.236940259111254, 121.82510029143675 31.23714237234899, 121.82508483752245 31.237170386159928, 121.82508466729354 31.237170699556962, 121.8212127516663 31.23701052624324, 121.80654587132891 31.235806108061517, 121.79875440352068 31.23158511619027, 121.78808766831585 31.223755881053822, 121.78381549485349 31.22059548359596, 121.78511759892669 31.218368625458897, 121.78621479733043 31.217560874855383, 121.79904669592872 31.202733103362338, 121.79922628364503 31.202511623194606, 121.79923714408775 31.202498225148005, 121.79948004936507 31.202198613807287, 121.79995828209078 31.20160852257357, 121.80010393094454 31.20142877424914, 121.80055940617888 31.200866566997362, 121.80210163643336 31.20130629434412, 121.8051254396012 31.202161070354343, 121.82758991742689 31.17748415380174, 121.83426305435938 31.17295612634605, 121.846944928314 31.166069493664825, 121.87779191134776 31.143190206044455, 121.87780638459894 31.1431796531604, 121.88756645719502 31.136091966226306, 121.88750710260614 31.134297927335492, 121.8704728637691 31.11899309073168, 121.87089197616203 31.118508280643326, 121.87131738193251 31.118016309791837, 121.87148894357105 31.117817938839366, 121.87243661890433 31.11672249284487, 121.87251948096335 31.11661418978203, 121.87311738139222 31.1158324168845, 121.87312826149582 31.11584246616613, 121.87718342838554 31.11959740395048, 121.89106902547975 31.132572196525356, 121.93039051981515 31.099715063110096, 121.92897249458976 31.098732310173883, 121.91591699570925 31.089575903342507, 121.91449235288714 31.0885655339549, 121.91010073144918 31.085439262960953, 121.90130807182578 31.07913967271638, 121.90130684767156 31.079138834157824, 121.90213631297794 31.078061559205054, 121.90213667530485 31.078061690817517, 121.90260938252914 31.078232875190995, 121.90511307347359 31.07433205952751, 121.90892788715723 31.068388296064125, 121.9100077338496 31.066705698868756, 121.91209865594023 31.063447398983016, 121.92019103965403 31.0508316427698, 121.92019108995427 31.050831568414065, 121.92242122895419 31.047352644108827, 121.92535366042358 31.042776230383076, 121.92743570746913 31.039525398493794, 121.93517720238458 31.02742491758049, 121.9356947261824 31.026615168864343, 121.93847898579948 31.022256912772185, 121.94051948268012 31.019060867140503, 121.94265971323426 31.015706774318865, 121.94366899600702 31.014124421008297, 121.94372823643424 31.01403152644606, 121.94378731119467 31.013828226309496, 121.94398302200383 31.013154600190802, 121.94392647247739 31.012272590125246, 121.94721373351804 31.007756599467193, 121.95003370659217 31.003879291848417, 121.95050327515969 31.003233453501302, 121.95067281991398 31.003000234189553, 121.98483802604034 30.923843561999977, 121.98327082548774 30.888347266141384, 121.97523412601102 30.881797853706985, 121.97292068824841 30.880986236701226, 121.95846961363875 30.875994810844823, 121.92716400774395 30.864334457162922, 121.92303337895083 30.862602228844132, 121.89815404853036 30.851846888969988, 121.89706594774705 30.851700588537756, 121.89232287911831 30.85160582441375, 121.89024460020015 30.853002933523847, 121.88664221215213 30.852399495581906, 121.8845218130487 30.852047450027516, 121.85899442088034 30.853819519388402, 121.85810155786663 30.852831220614487, 121.85720151019588 30.851835880777127, 121.84607308793002 30.848774949629263, 121.83589707507797 30.848903614096315, 121.82746417597262 30.849661521651658, 121.81165505205175 30.851841465255294, 121.79441593753415 30.85272264732107, 121.77559043057697 30.85190742308503, 121.77558314324304 30.85446557558925, 121.77522054514584 30.85488724376806, 121.75190436096572 30.854844840018664, 121.75117726698814 30.854451689795287, 121.74998962598731 30.853810748367533, 121.72965023216547 30.8536285469458, 121.72910093473024 30.85362814699411, 121.72846304272359 30.8535938717847, 121.7145250942295 30.85288009857018, 121.71449079727999 30.85287836856993, 121.71448895482612 30.852877624759753, 121.71115247124243 30.85152779634804, 121.70933432609439 30.85153378187271, 121.69717802459833 30.851527996200556, 121.67763727173454 30.8501709321968, 121.67329697468423 30.849819099407068, 121.67005081985468 30.849371948745265, 121.66718645445107 30.847808433276345, 121.66667460271047 30.847528464709143, 121.66617104249237 30.847252886157882, 121.66588478449233 30.846596167523614, 121.66536838204505 30.84628419967031, 121.64967549962654 30.843940245904786, 121.64955610651589 30.844727025994544, 121.63467199195694 30.84262351909862, 121.62556286314503 30.8405056020587, 121.62613444297966 30.83713163557841, 121.6261485698663 30.836852596574868, 121.62578994668341 30.836567614801858, 121.60429888915515 30.830634953184006, 121.58230689904046 30.825828247896297, 121.58090074006562 30.825528784897458, 121.58046567193936 30.82558597085665, 121.54202730772971 30.816077503050273, 121.54145665487007 30.816297058059245, 121.54115458602853 30.816824064443125, 121.53905162969174 30.819177660440957, 121.5358634377015 30.822746081093587, 121.51810824969947 30.816861359470504, 121.52096004309877 30.809083583146247, 121.52094067056859 30.808393270335273, 121.50236574371623 30.800882274937, 121.50096184525053 30.799893095359003, 121.4979952607536 30.79780989538992, 121.48588775131391 30.79154594869552, 121.46949993962619 30.785621778526632, 121.4385883280186 30.77402657172172, 121.43843318698231 30.773545226324828, 121.42399140701147 30.765689348008642, 121.41305079114493 30.75835809553415, 121.39801403352845 30.745053935919948, 121.3972931428782 30.744574353508366, 121.39606276301306 30.744344428974603, 121.39576393657832 30.74439512907336, 121.36950845668672 30.724462205508893, 121.37249693052182 30.721952795393037, 121.37251872588428 30.721806423292257, 121.37247072448167 30.721646227455235, 121.37228522326065 30.7214935546751, 121.36638021106644 30.716189203201594, 121.35800410530871 30.708732576221365, 121.35737190753791 30.708350560260147, 121.35653314259505 30.708109017398034, 121.35574242811663 30.708077956213998, 121.35506564412402 30.708217534860882, 121.35322119620494 30.708906663842313, 121.35288724002227 30.709045241337375, 121.35019818601724 30.710125570597985, 121.34833651648984 30.708742098085242, 121.3463370670785 30.7073857081106, 121.33827187642447 30.70188561851722, 121.33061145669761 30.701018577513672, 121.32492548148349 30.700984496212318, 121.31873258178673 30.70230180106923, 121.31699599550555 30.703058302080894, 121.3049849150348 30.701558049960187, 121.28406268045798 30.697560020653803, 121.28249317013983 30.697071271409598, 121.27883424579484 30.69509119811374, 121.27791381572553 30.702890562624155, 121.27663194334171 30.707637946180697, 121.2741509835116 30.710181054035665, 121.27283080650369 30.712623592297884, 121.27273596163313 30.712837427976343, 121.27182962482613 30.715355940059418, 121.27182256534981 30.7154136861951, 121.2718623859861 30.715464941128932, 121.27202024591305 30.715525099804825, 121.27288288396646 30.715878041706294, 121.27328513840081 30.71666492591047, 121.27426004811876 30.71875241688509, 121.27582738573221 30.7227743155925, 121.27830966563143 30.72935934465783, 121.27793967839884 30.73238133839084, 121.2765176477421 30.737238042804496, 121.27625256564438 30.737894597322562, 121.27513861910346 30.74029583148436, 121.27501370041298 30.740451648577757, 121.27441530543204 30.740910498192704, 121.27384424828855 30.740805543450815, 121.27299619283492 30.74056858163283, 121.27297006577362 30.740516760039338, 121.27316939452457 30.740035587263428, 121.27268973608781 30.739903919172008, 121.27261693190822 30.739917714097746, 121.27199447711088 30.740344927182765, 121.27144645425575 30.740721318670904, 121.2682239124538 30.7435426303921, 121.2671139107988 30.744687611141686, 121.26619325422762 30.745727957655696, 121.26608544160396 30.74588571788456, 121.26527813259816 30.7470672027722, 121.26451233286613 30.748065830471873, 121.26398006878848 30.74860315891729, 121.26365517550019 30.74893124045024, 121.26315852794217 30.749394306807275, 121.26222989500226 30.74995834814741, 121.25935280835976 30.751468948804426, 121.25073179708761 30.755975826986482, 121.24829434489 30.75707000459581, 121.24531025170566 30.758437658783095, 121.2421786633803 30.76002182927364, 121.23911652387757 30.76157355730091, 121.23867337605317 30.76182172918522, 121.2385317662452 30.761902990786858, 121.23840335413682 30.762111471130204, 121.23808259111546 30.763421509012524, 121.23750501210736 30.765779487017138, 121.237442013092 30.76633241824759, 121.23732611611744 30.767415891808145, 121.23722734498087 30.769185759634425, 121.23721187423298 30.769380004834673, 121.23719171508098 30.769485205402965, 121.23717154014706 30.769590406196095, 121.23714054548944 30.769689744909307, 121.23581867779765 30.773471449708403, 121.23579744876969 30.77352910362111, 121.23577621966376 30.773586747610914, 121.23570459855014 30.77375751668571, 121.23567941559315 30.773814053299244, 121.23562515837793 30.77392584880669, 121.2354594345313 30.774230243359224, 121.23561939616314 30.774292181356383, 121.23553283532164 30.774640739763655, 121.23465215356754 30.77818607633852, 121.23425449191099 30.778867512280126, 121.23203217418575 30.782059004405927, 121.23164137855494 30.78259431441532, 121.23141959302284 30.7828964913463, 121.23115074623821 30.78317598739203, 121.23098421975487 30.783161562840917, 121.23049485290954 30.782893621236436, 121.23044377470686 30.78256128793041, 121.22982556594167 30.782199931821136, 121.2293168571494 30.78196622797142, 121.22906464637781 30.78228576516883, 121.22875759013426 30.782675770851903, 121.2266489230286 30.786610479346, 121.22679294006998 30.789458210685453, 121.22530452055433 30.792159353815414, 121.22524932597179 30.79219915942791, 121.22296436091239 30.792303060562304, 121.21245747174724 30.792372189239803, 121.20882574462098 30.791218715275274, 121.20629960880838 30.789761585981065, 121.20560570064177 30.78704436653105, 121.20562066372258 30.7855027019981, 121.20564057295405 30.785342483743428, 121.20574057648196 30.784578760865227, 121.205899285127 30.78418164465566, 121.206239443595 30.783509580132083, 121.20643269261363 30.78328149664212, 121.20653955486019 30.783110961773392, 121.20661338740457 30.78291250469728, 121.20724928148022 30.780494826673625, 121.20728042956326 30.78036266559323, 121.20728993522683 30.780249568440425, 121.20726733871408 30.780183911584746, 121.20719066060948 30.780137751519685, 121.20330941172325 30.77981322191691, 121.20325907094316 30.77985787072777, 121.19994232367081 30.78279503254571, 121.1978632739245 30.78576679554717, 121.19771767145288 30.78610056326479, 121.19750720960728 30.78603043661355, 121.19662036460352 30.786686675219386, 121.19325702344378 30.785690514744406, 121.19282176533275 30.78543592049938, 121.1925650575265 30.785153124077105, 121.1925569247374 30.784136666117295, 121.19239469316554 30.783335863449405, 121.19214149569157 30.782906595063306, 121.19225549702267 30.782810110730253, 121.19168450980823 30.78230162048287, 121.19137342049667 30.78213093376443, 121.1898503836172 30.78129417222957, 121.18974809652254 30.781258902247778, 121.1874205657198 30.78062547036425, 121.18644610567078 30.780521126290786, 121.18645914337229 30.780415805522296, 121.18425078034684 30.779932397138726, 121.18083605970742 30.779225627449467, 121.1756915734206 30.782015961837413, 121.1751519092339 30.781877020187338, 121.17243295546457 30.781271530036076, 121.16936617618106 30.780730132139254, 121.1673644303288 30.78099903488756, 121.16734819111093 30.781187496227027, 121.16725442643647 30.782275488105928, 121.16682526975181 30.782571804480607, 121.16411577151798 30.78342120986251, 121.16371005761381 30.78338057360017, 121.16308859211576 30.783113534613545, 121.16251435050098 30.7830245112756, 121.16186849106548 30.78312503048592, 121.16096319124377 30.783483905963504, 121.15979758924655 30.784364052860738, 121.15977576023602 30.784380553383667, 121.15883643401875 30.78472527570724, 121.1530768672109 30.78512968659596, 121.15032428663189 30.785265348791402, 121.15032413434957 30.785263173270735, 121.15028308960056 30.785264943171153, 121.1502604528407 30.785230224212654, 121.15018749086938 30.78511833682038, 121.14980907934921 30.784394707852115, 121.14963014334776 30.783931371969548, 121.14761395122424 30.78282022734281, 121.14726399664424 30.78282575966223, 121.13885974464452 30.78301698094301, 121.13885974928951 30.783023688098492, 121.13846503087122 30.78302754421743, 121.13763462378292 30.783198962087535, 121.13610543132148 30.783928253216214, 121.13523799890741 30.784190665932336, 121.13445300135794 30.78442859485019, 121.13367400889588 30.784507521955767, 121.13362526577676 30.78451121930031, 121.13364809576765 30.78478302895837, 121.13300249499324 30.79131365172913, 121.13276461130118 30.79432922966345, 121.1327510919211 30.799566639057733, 121.1336087663568 30.808181693401792, 121.13402473957764 30.810775010966044, 121.13535259980196 30.816589017172927, 121.13645775494389 30.82045969025412, 121.13673144268824 30.821352228591206, 121.13900103508459 30.82506886733936, 121.13904455262586 30.82513473482273, 121.13909165680113 30.825198717317182, 121.13914224118822 30.82526068206529, 121.14337213299262 30.8303169887183, 121.143450671059 30.830390871852934, 121.1434833056589 30.83041986561364, 121.1436001289775 30.83051190251376, 121.14407431065814 30.830511447731435, 121.14417083800517 30.830633197540447, 121.14443858497386 30.83137227377568, 121.14454450757749 30.832269081262414, 121.14405568424272 30.83614281574905, 121.14386992052135 30.83637082697628, 121.13851136563763 30.84158705967191, 121.1324027162443 30.841925599081726, 121.13201333948612 30.841946281114122, 121.12690406085824 30.842170670585073, 121.12641018648152 30.8421735829192, 121.12648610728252 30.848002211025523, 121.12658237388469 30.848498624023765, 121.12670951811538 30.848895850158637, 121.12892393106034 30.851745463968495, 121.12698616526394 30.85541527343475, 121.12085492391229 30.858157065174126, 121.11777251091775 30.857724191712315, 121.11773425443428 30.857685301013515, 121.11751813438359 30.857598909174154, 121.11717658341253 30.857486965664812, 121.11184943986987 30.855843261850666, 121.11175607430518 30.855814561968838, 121.11138345227133 30.85576464379795, 121.10817331558951 30.856292719829785, 121.1047952576597 30.861808615823264, 121.1048075278671 30.861900843386938, 121.10434965702193 30.862516393688193, 121.1037574612047 30.863128905074415, 121.10315705763415 30.862909029117226, 121.10212512948836 30.862479377769787, 121.09336998753204 30.858238875277344, 121.09036190575193 30.85666360454387, 121.08994313244906 30.856392898388233, 121.08951061132997 30.8561501557288, 121.08912859671457 30.85597394606226, 121.08852679870576 30.855709485487008, 121.08827440508347 30.855599853811345, 121.08731398455853 30.855202924634405, 121.08714713601317 30.855146699636702, 121.0869745016144 30.855102873696687, 121.08689639407328 30.85508913442895, 121.08334773998675 30.85526207762697, 121.08265154278058 30.855259074387554, 121.07357549187175 30.855072782174037, 121.07337454202856 30.85505420963061, 121.07336756132706 30.85505098675828, 121.07303863708995 30.85489839144777, 121.07274284758581 30.854753128044752, 121.07237477644148 30.854570915014836, 121.07191526723025 30.8543301342288, 121.07128894019418 30.853962594289197, 121.06792543918903 30.85194451824, 121.06727900218404 30.851367192760613, 121.06685208165997 30.84925979294497, 121.06684435984475 30.849212338709176, 121.06718924600007 30.84635459056908, 121.06752295484523 30.845182388693786, 121.06777455089782 30.844784186651413, 121.06697301423495 30.84416153038198, 121.06657581347302 30.843913441347166, 121.06616875321834 30.843677132906553, 121.06332335247183 30.842081239557476, 121.06315056724182 30.842010756521375, 121.06297136677351 30.841955206758897, 121.06247234641852 30.84180955974897, 121.0567323523589 30.8385468995671, 121.05405918359745 30.836991202724, 121.05395804681645 30.836703305716117, 121.05438073451774 30.834734409599722, 121.05522282385034 30.833290095270453, 121.05119151833216 30.83245673959422, 121.04700412577824 30.83276949548829, 121.04437012859478 30.826588013331925, 121.0446454918118 30.825958666338934, 121.04481116466705 30.825602886054803, 121.04509624346258 30.82503935101527, 121.04524356905739 30.824882331029457, 121.04537501317677 30.82479959437047, 121.04554807060603 30.82479297392115, 121.04882343695003 30.82581215837559, 121.04933139150906 30.82597064301638, 121.04991129206654 30.826174582249227, 121.04991393195971 30.826173285311437, 121.05003189777264 30.82611515320191, 121.05133188559734 30.82253498596587, 121.05150886318931 30.821858122417247, 121.04760308237441 30.8207959190792, 121.04598444813367 30.820390824189307, 121.04460929088623 30.820054735331613, 121.04399582549262 30.820789108998987, 121.04282809268906 30.823596590673084, 121.04276521306528 30.823872165929686, 121.04279912000901 30.823985285632745, 121.04314688011213 30.824322406881883, 121.04318545405438 30.82444458162424, 121.04251926392946 30.825977392919377, 121.03889776512511 30.831175796864564, 121.03618437570313 30.834781040128817, 121.02887229033632 30.83725379101012, 121.02113519839634 30.841687754519093, 121.01873319991365 30.841385271478988, 121.01808629975875 30.840981484368204, 121.0150208822421 30.837759772759092, 121.01166348871295 30.834001205289844, 121.00497888427115 30.832392829318977, 121.00081401079825 30.827233218180297, 121.00073176503976 30.82718322449244, 120.99652308519195 30.829445451854383, 120.99558526099696 30.839520789595415, 120.99795140248123 30.84295012060145, 120.99954237775485 30.844580758251535, 120.99985251953282 30.84460415047284, 121.0013792927052 30.843981937742765, 121.00172807498575 30.84383986098324, 121.00312095952944 30.84688313319576, 121.00328297039631 30.84750194044919, 121.00364522595007 30.84889872136553, 121.00447490853163 30.850500497044173, 121.00751591098273 30.85091444457982, 121.01022717629662 30.851758883000592, 121.01201763851635 30.853321296594522, 121.01216872750888 30.853562342646317, 121.01435635715991 30.856343823853, 121.01652615541855 30.85861701497448, 121.01831036556563 30.858166203099266, 121.02229411380173 30.866072741230973, 121.02270073953129 30.86841122220544, 121.02319041475016 30.87311135213884, 121.02293035375035 30.876384418137288, 121.02684711608757 30.878060224078645, 121.02694759424146 30.87807328734456, 121.02790580268943 30.879032674082573, 121.02851182734253 30.880681766310854, 121.02851114951504 30.880714099557913, 121.02723574389789 30.883965876617594, 121.02456750165612 30.888420543687364, 121.02218059435431 30.887950337554248, 121.02140612417317 30.887764192435732, 121.02023848649463 30.88761770713212, 121.02014746562627 30.887621485573767, 121.01764462857687 30.88788154381702, 121.01372143003817 30.889246560508713, 121.01391649075245 30.889497494616105, 121.0148206766665 30.89049146691596, 121.01504331521924 30.89070605888805, 121.01527502553085 30.890958965972075, 121.01564577277553 30.89136700824369, 121.0158482188587 30.89159150604736, 121.01670631121551 30.89259027230231, 121.01625724440254 30.892893462609205, 121.01629895713306 30.892940078751288, 121.01614691286159 30.893040573250364, 121.01504179925888 30.893650035061437, 121.01414875133405 30.894045247261307, 121.0121757713852 30.894476805267697, 121.01206083761883 30.894495540796775, 121.0077183541568 30.895209498598277, 121.00749165290877 30.895183945981387, 121.00729226172938 30.895164787437412, 120.99963721364965 30.895907553218475, 120.99964000827033 30.895943386749288, 120.99962021267203 30.895944837512303, 120.99698890251332 30.901714827334043, 120.99702280933988 30.90191619996729, 120.99930829072224 30.90796366681169, 120.99948112415528 30.90825057633337, 120.99987486716952 30.90861357244084, 121.00052125129785 30.90912861498796, 121.0055787981175 30.91178586042673, 121.00957902201164 30.910963364489763, 121.01013699926679 30.91145338808241, 121.01137420340086 30.912799467152386, 121.01158522048098 30.91440383807177, 121.01147671763776 30.91503285526669, 121.01141518978538 30.915072307305696, 121.01105100020712 30.915137611090742, 121.00598587294117 30.915488887765697, 121.00597000689243 30.91549030457765, 121.00597326197227 30.91552196151996, 121.00606376095129 30.921517752226013, 121.00618104889917 30.928059429429496, 121.0064803251146 30.938519269549197, 121.00655273480062 30.941020269716894, 121.00681680998453 30.94240715723521, 121.00716953561934 30.94297951539574, 121.00771280951274 30.943428174724023, 121.00572773892027 30.94527610201353, 121.0050273726754 30.94592845781222, 121.00322855900647 30.947997975238465, 121.00314994999107 30.948142065285154, 121.00259999819771 30.94915022328281, 121.00236497329072 30.9496779518889, 121.00228182849423 30.949864668013454, 121.0025204776076 30.950021362418077, 121.00332723315455 30.949858798375416, 121.00371749392016 30.949845576931395, 121.00378206366575 30.94989830574015, 121.0038262748885 30.95007784219597, 121.00387523519565 30.95062282983411, 121.00408792924189 30.954452067495765, 121.00382822624206 30.955610677807247, 121.00384439286638 30.956465883094623, 121.0021756975555 30.95954053862968, 120.99944873259942 30.960980350650082, 120.99892220318289 30.964336184256553, 120.99913595767458 30.964340729732644, 121.00020662340944 30.96436360597766, 121.00060670266146 30.9643475887123, 121.00126937008403 30.96435071378384, 121.00127120493234 30.964354273404542, 121.00120517934843 30.964744490387524, 121.00002691089936 30.968822578884257, 120.99833800783041 30.974321001689525, 120.99877905417536 30.976380018658705, 120.99993175908038 30.977953063244975, 121.00163567135812 30.977920507495387, 121.00417538589835 30.97825149125009, 121.00627518682889 30.97898458107221, 121.00773433688514 30.979784625808545, 121.00776267650471 30.979840458670797, 121.00920650815836 30.98329335226526, 121.00922913148214 30.983371882274927, 121.0091417016286 30.984398039752833, 121.00878581501955 30.98547687401163, 121.00465887042071 30.992652575314903, 121.00162094813949 31.000962061190897, 120.99900289393668 31.005076467201388, 120.99897013887475 31.013853529589916, 120.99588430110954 31.018700936822988, 120.99303063182103 31.020180330912723, 120.98957548136693 31.021969014818563, 120.98755344552791 31.022410499608608, 120.97395217704519 31.022338867132028, 120.97020350678514 31.022608344308185, 120.97000959249948 31.022670931086353, 120.96957193980737 31.02301742613696, 120.96944003674345 31.023176387026545, 120.96656775897927 31.02756439641772, 120.96593512070447 31.030386885039057, 120.96455921329418 31.035140248822785, 120.96449130508337 31.03517430500659, 120.96133145507295 31.036246771954982, 120.96083727276591 31.036386656695502, 120.95834735414402 31.03641901627222, 120.95517845100483 31.03642320111359, 120.95468672144837 31.035437176605445, 120.95458591241565 31.034994525412472, 120.95455322843105 31.034561267787684, 120.95501773508576 31.03128877124939, 120.95714413548212 31.03066879156424, 120.95749328921234 31.03047822779491, 120.95639833634864 31.02399302217424, 120.9424169565443 31.023325076653823, 120.94242932882207 31.023040383923355, 120.94246742468299 31.021646969039182, 120.94597494892557 31.017709116880603, 120.94694698633053 31.016460977829126, 120.9465454128489 31.015723632069097, 120.94630309685895 31.01549319544159, 120.94608504868073 31.01534421036942, 120.94545872881719 31.01523350256952, 120.94404952206723 31.015284968973578, 120.94253156786483 31.015620880259203, 120.93974183048962 31.016407852558427, 120.93948541654798 31.01648590636504, 120.93929096955321 31.016593418395367, 120.939187350144 31.016694234630396, 120.93911578165614 31.016822969244547, 120.93896446298774 31.01718248126911, 120.93881168614635 31.01737695451362, 120.93861283940024 31.017500106749157, 120.93836362812135 31.01757938932718, 120.9380004043098 31.017610041205774, 120.93423621518373 31.01785213637555, 120.92500863026908 31.01823902528115, 120.92474958254834 31.018238638647166, 120.92419505952537 31.018233756797606, 120.92344007905838 31.01817831734703, 120.92326260330114 31.018155272868114, 120.9227186591675 31.018059603108814, 120.92236076285187 31.01794413394246, 120.91942092118833 31.016290398834787, 120.91781236422486 31.018865887265225, 120.91772034699994 31.020394806862836, 120.91766410440405 31.022679446905858, 120.91659677608133 31.022721639565244, 120.91659763684022 31.022741024069703, 120.9084127134759 31.022970885009986, 120.90802001763487 31.022977262563046, 120.90797834704078 31.022977947558083, 120.90800642097695 31.02420675399583, 120.90797508865509 31.02987537868893, 120.90816853824333 31.03303899024475, 120.90819089204672 31.033490962171832, 120.90846670502991 31.041799125525866, 120.90711694740462 31.045068986851394, 120.90690463739051 31.045167768934515, 120.90673245029956 31.045255944152984, 120.9066979091504 31.045275226339786, 120.9066619315764 31.045299247042568, 120.9065799569932 31.045358536094373, 120.90652841291715 31.04541250862362, 120.90643616057525 31.045547381891236, 120.90582641364684 31.046545135626637, 120.90551545762028 31.04711131731439, 120.90511252807482 31.047847132239593, 120.90444786056024 31.049179867679275, 120.9041250834824 31.049919153199333, 120.90395112387675 31.050373346354817, 120.90179084752492 31.056609284685724, 120.90163920838772 31.057063650811664, 120.90147600172818 31.057706073927232, 120.90142516362614 31.057982820055155, 120.90133541140635 31.058850641750265, 120.90128363730523 31.05995578493424, 120.9012579306497 31.061447950367054, 120.90129538333265 31.062091801780344, 120.90130545719487 31.062210548507398, 120.90152227420693 31.064328742738166, 120.90167098571455 31.065400798905024, 120.90176546030843 31.065940425736663, 120.90191354233237 31.066494784348556, 120.90223201083978 31.067599470123263, 120.9025502097016 31.068673578895137, 120.90573142998778 31.078780265993338, 120.90836953153192 31.083737501137513, 120.90889446994339 31.083719476513288, 120.90931260886057 31.083706030111045, 120.90973095227609 31.08371577348266, 120.909922453131 31.08373420965393, 120.91011864843252 31.083775673348907, 120.910319476883 31.08383634814694, 120.91074371939229 31.08399228608684, 120.9110163948137 31.084121926807168, 120.91114170012078 31.084194483230117, 120.9112403185353 31.08426711431446, 120.9113123585284 31.084351307218345, 120.91133997851334 31.084439481259288, 120.91134564788759 31.084554542351658, 120.91133011139323 31.084769371404846, 120.91121841270534 31.08514556011224, 120.90898110146007 31.09124262063705, 120.90893871957027 31.09131301432776, 120.90888179474392 31.09136698198305, 120.90842924071924 31.091617020352007, 120.90824809221961 31.091704711731804, 120.90665807589366 31.092263972698916, 120.90654816324273 31.09229364885452, 120.90596415538998 31.09237240467087, 120.90578700035945 31.092394460319312, 120.90552522531131 31.092409675270925, 120.9054564170453 31.092413669979972, 120.90441069580359 31.092373435434773, 120.90252694187916 31.094346111946372, 120.89697394033873 31.100080921128402, 120.8960354654871 31.09990288264231, 120.89574667542077 31.099850155581642, 120.8954966432464 31.099829855649542, 120.89529490713063 31.099833472468866, 120.89509812346127 31.099853579872356, 120.88444458309307 31.101158461709964, 120.88441623345649 31.101170057233187, 120.88441665751692 31.101211310714312, 120.8844321403955 31.101451005109126, 120.88443726478623 31.101525876725848, 120.8848338341019 31.103612749228322, 120.8848751510926 31.103814266411263, 120.88308611036554 31.105915095501125, 120.88306431706913 31.105923154316077, 120.88106254751587 31.10641406722186, 120.88092282930025 31.106432734764077, 120.87940139274482 31.106389247085282, 120.87757341932092 31.105021674272262, 120.87596835072779 31.103605754238377, 120.87595438348546 31.103519854300206, 120.8758867036428 31.103304135753504, 120.87585105344327 31.10323382537688, 120.87583332785931 31.103211788049542, 120.87580697932597 31.10319748501548, 120.8757720114317 31.103198427428794, 120.87498474635665 31.103315438039022, 120.87489216439916 31.103296233082247, 120.87312313886704 31.103689368998847, 120.8707402654569 31.104879163310947, 120.87026477345285 31.105105077253334, 120.86945166401479 31.105230763633326, 120.86929672175287 31.105245388783192, 120.86876923587256 31.105357719969206, 120.86466091363988 31.10714945379018, 120.86407237526113 31.107878130722618, 120.86359223652263 31.108482253827162, 120.86313461618481 31.109066219348644, 120.8630449897808 31.109193090423865, 120.86303199981782 31.109259698221003, 120.86298661588052 31.110719763150506, 120.86297640437046 31.11108671210029, 120.86298153471347 31.111148998976645, 120.86298647885565 31.11119179639373, 120.8629970863112 31.111212823757363, 120.8637270596498 31.11270085500249, 120.86373126294701 31.112699294580352, 120.86379535592913 31.112831966249445, 120.86466613768894 31.11463419347086, 120.86493368093788 31.11469752625204, 120.86552277585412 31.11485793808068, 120.86581644574615 31.114978282716276, 120.86709055850511 31.115901340448755, 120.86736478556716 31.11619572382821, 120.86788741013547 31.117588839041225, 120.86853614548211 31.118928627301848, 120.86936518309713 31.11980130264737, 120.87076054075246 31.12040970620464, 120.871926932751 31.1207070414843, 120.8739347321231 31.12162696296472, 120.8754035079677 31.12339797947804, 120.87760833863382 31.12820241693304, 120.87757579236396 31.128636449238886, 120.87753876949776 31.12913008587415, 120.87780182716321 31.130636457071844, 120.87850094359175 31.132329855814987, 120.87910826585963 31.13311593540427, 120.87942609975696 31.13345124164964, 120.87955423636326 31.13358642833584, 120.88306403186408 31.137290966555128, 120.88483548625337 31.138760179759636, 120.88508731053142 31.139024011683276, 120.8863090060983 31.139834048944934, 120.89096497780906 31.140286283399366, 120.89831845503447 31.141033411445576, 120.90298160629 31.141361964969995, 120.90383750721799 31.141424643398537, 120.90530151065049 31.14153360798112, 120.90559405381406 31.14155564550113, 120.90562495183147 31.141557977263624, 120.9116136459699 31.14013682677356, 120.91208101934926 31.140212502879844, 120.91414596469443 31.140549491543148, 120.91724094439299 31.141062401087844, 120.91826856047622 31.141250431676784, 120.9216837219174 31.141881848106948, 120.92289214707061 31.142107481955726, 120.92310516672836 31.142147366893877, 120.92372773333202 31.142390391043094, 120.93187290342973 31.14559067825348, 120.93428889914826 31.146593340073306, 120.9365364196011 31.14752684429592, 120.93701554208864 31.14747868702579, 120.93702369147297 31.147529451271232, 120.93704348021294 31.147526770606678, 120.94295893503904 31.146724479721748, 120.9444818601173 31.14651675602742, 120.94448031096329 31.146509264787678, 120.9469918421366 31.14616588432263, 120.95397138855164 31.14519420920004, 120.9586053917467 31.144530303447862, 120.9591266450527 31.14443841613424, 120.9688176808911 31.142686129087448, 120.96962079952098 31.142517900408613, 120.97242087404767 31.141925426763972, 120.97271004242654 31.141863356123963, 120.97675609465855 31.140986667561922, 120.97891311685652 31.140505203779526, 120.98162864080018 31.139894398025888, 120.98890304880022 31.138252550529717, 120.98971697418894 31.13806825025054, 120.9897711171986 31.138062815802435, 120.98984268642126 31.1380717344103, 120.98989698088036 31.138078924685544, 120.99260509357126 31.138530123618487, 120.9930593906724 31.138605789697863, 120.99405939377156 31.138773806664595, 120.99577314332151 31.139065802948625, 121.00231354784201 31.139298230013935, 121.01181060999721 31.139316620669156, 121.02454001580828 31.140018380815615, 121.02463201243452 31.14009880567058, 121.02745533433902 31.142857014306827, 121.02895388301904 31.144325386017417, 121.03212558829706 31.146952577036433, 121.03812176384754 31.147881617644565, 121.03945719761033 31.14798178283524, 121.03956414656521 31.147962439778567, 121.042146664785 31.14645339159928, 121.04218018389346 31.146356683843177, 121.04227672365109 31.145971089677765, 121.04232609986839 31.144873621218625, 121.04259442530233 31.143310037078894, 121.04493808730446 31.142915800783296, 121.04499899458196 31.142915582132083, 121.04722700606953 31.14351736532721, 121.04833727137729 31.144845116713483, 121.04850768642403 31.145102302789333, 121.05151263635766 31.150745798529034, 121.05153369636754 31.15095987519233, 121.05145917285738 31.151675810461228, 121.05014887979522 31.15239613102134, 121.049014039601 31.152407640554316, 121.04793167857754 31.152834093659123, 121.04788622696164 31.152877602381047, 121.04786309109927 31.15294895481581, 121.04771660364136 31.15518752061872, 121.04771655799468 31.155250654728032, 121.05109970448842 31.15673914220411, 121.05111372394612 31.160238398001837, 121.055852235283 31.158650909056675, 121.05581567548582 31.158383364841647, 121.05583812256991 31.158300501393864, 121.05633171718497 31.156511376771192, 121.05757727300903 31.15648157770509, 121.05863548272312 31.15656747207718, 121.06200009248458 31.15690276611395, 121.0620228203247 31.156926120753965, 121.06202276463097 31.1569599458816, 121.0618898872237 31.157201008690897, 121.06166191193773 31.15809301708596, 121.06381801881277 31.15905261948556, 121.06393216864113 31.159083651418015, 121.06654365227254 31.15933071532264, 121.06694334825902 31.159361638518362, 121.0684094659413 31.15941247692076, 121.06860758273605 31.159405348244487, 121.06871429061643 31.159356919835286, 121.07144427703678 31.15552751094415, 121.07499915452257 31.15607203419169, 121.07651516596464 31.15962509301843, 121.0783990644331 31.162021787488076, 121.0795958965868 31.1635115255957, 121.08132849372835 31.164349937483795, 121.08297262566815 31.165137121822628, 121.08305199101771 31.165195342722424, 121.08363585877707 31.167529417174713, 121.08347456902865 31.168326847075935, 121.0836176427405 31.1683487448636, 121.08408950511469 31.168391972895325, 121.08351519568639 31.16923311749101, 121.08322645027985 31.172153791045854, 121.08294518853631 31.173589118992886, 121.08283056661321 31.174162265408725, 121.08218196204878 31.176943061670165, 121.08155048255301 31.17683068034137, 121.08113773453898 31.17673803023146, 121.0797455718074 31.176451143936283, 121.07827340561191 31.176241250741153, 121.07822843821059 31.176430931698935, 121.0779570787909 31.17758622601791, 121.07856044074069 31.179160816324057, 121.07887683554807 31.179410661387443, 121.08100663227121 31.180013792858773, 121.08121327989471 31.180079963219995, 121.08111260798486 31.180316785588154, 121.07997225090027 31.182678022969, 121.0797646134712 31.18307119228367, 121.07900002540983 31.184084668436288, 121.07690933940903 31.188252477610913, 121.07519588772541 31.19130542996544, 121.07531821733227 31.191357514502517, 121.07518719064034 31.19176365414496, 121.07717052096656 31.195081686127093, 121.07863731105878 31.19754509466274, 121.0758740163048 31.200983153819823, 121.07541379199276 31.202709642451257, 121.07414552450476 31.207640749038347, 121.0708386988214 31.223282961727055, 121.06960087953277 31.230164609087357, 121.07066848634891 31.2370633676471, 121.06814368718373 31.240963803299515, 121.06751138302782 31.242722346697136, 121.06720644721628 31.244351684405974, 121.06721401715245 31.24441282148252, 121.06722140071946 31.244451403016804, 121.067244352504 31.24448147581897, 121.06727483108449 31.244511804017055, 121.06732064443834 31.244544886960252, 121.06736626638808 31.24457120357739, 121.06741951571027 31.244593253376355, 121.06746528053208 31.244597021418482, 121.06807232327503 31.244618111705435, 121.06903596351252 31.244661948018226, 121.06946626251253 31.244726894471544, 121.06975354094583 31.24487048708439, 121.06990796252202 31.245675972093213, 121.07026583897452 31.24967714335701, 121.07035120272009 31.252462057918432, 121.07028486670715 31.252516087097053, 121.06900476057515 31.252816534003614, 121.06872824717038 31.25285080574096, 121.06819192179925 31.252781377526144, 121.06773548602786 31.25243499736606, 121.06771722656354 31.25620215972129, 121.06774675188136 31.257508631068113, 121.06846369914285 31.2729942875446, 121.06852462076382 31.273706815842196, 121.06856748172046 31.273982415683374, 121.06861938969695 31.274252659202354, 121.06862299290006 31.274271414340536, 121.06862625496737 31.274279476645386, 121.06867109103558 31.274390195874094, 121.07028370699133 31.274166965732114, 121.07108626476209 31.274164150336414, 121.07505677449528 31.274286981697916, 121.07607630537875 31.274791165739945, 121.07835726740984 31.275544059969715, 121.08053483333218 31.27588860746197, 121.08320467729955 31.276139982819444, 121.0860581489489 31.27626093086414, 121.08760726874348 31.27712534838305, 121.08881196610889 31.27808072429138, 121.08953837860581 31.279266735717705, 121.09081725403765 31.28183366281825, 121.09092987103647 31.282059566708508, 121.0902675010938 31.282371343354058, 121.08882554122476 31.28304865780449, 121.08865725601382 31.2831117651856, 121.08803809587155 31.283283518940575, 121.08748781579081 31.283433346424463, 121.08743993669367 31.28345799196441, 121.08791058574742 31.285298454354766, 121.08800711460846 31.285552079776423, 121.09123297109201 31.293944023148164, 121.09189637314881 31.295659363601036, 121.09305223145381 31.29817788872046, 121.09314802960562 31.298310588671796, 121.09368995105328 31.29860010460667, 121.09536205740098 31.298482487221495, 121.09539246601362 31.29847593236278, 121.09624967416033 31.298206363884294, 121.09969739524868 31.296063620203633, 121.10034771084544 31.294995227673393, 121.1006826067112 31.2949321119933, 121.10058468047998 31.294526157654328, 121.10452199432652 31.285026713230305, 121.1042852116183 31.284043811254122, 121.10448674612779 31.28305625700376, 121.1050840158027 31.282629952722083, 121.10511901658387 31.282611725644916, 121.10723874852144 31.281506464973873, 121.10966508923032 31.28023876631172, 121.11108867664787 31.279949906418953, 121.11189475363798 31.279887482123375, 121.11220465019375 31.279863427009158, 121.11223683761662 31.28026439244434, 121.11207805416383 31.281256554081533, 121.11168445971758 31.281232412618003, 121.1158983470206 31.2858077803254, 121.12072544285137 31.29089796926163, 121.12074063837483 31.29117301381479, 121.12076368417688 31.29149989304616, 121.1207713203041 31.291513387676087, 121.12129222161023 31.291639717624722, 121.12134616851097 31.29164399843502, 121.12262236993318 31.291737240805926, 121.12758827385352 31.291614798276317, 121.1307873213826 31.2903732159042, 121.1308783452659 31.288800024436707, 121.1334864905136 31.287289502523834, 121.13371538108802 31.28715017749532, 121.13347758775706 31.286859883496163, 121.13463797386717 31.286828751971893, 121.13596026035617 31.285860513076308, 121.13597475551855 31.285839997492733, 121.13601223423541 31.285859210302167, 121.1376341242446 31.285819605921677, 121.13769554564195 31.28589268986995, 121.13823963385646 31.286922522353528, 121.14457880948656 31.284620037507175, 121.14462743773117 31.284310485330508, 121.14405930522945 31.283057692742545, 121.14483108047531 31.282516318126195, 121.15028098462189 31.28069671564376, 121.15030145690909 31.28054103925307, 121.1573626110015 31.281265497030308, 121.16030840126778 31.282551161589552, 121.16045924515558 31.282581146116407, 121.16043345958136 31.282682993181275, 121.16184505469523 31.284172005840407, 121.16757076747881 31.287976795158343, 121.16770259359022 31.289360028595144, 121.16771890576808 31.290015244817035, 121.16762177082595 31.29026417300622, 121.16665237281273 31.29221463998734, 121.16590244125868 31.29325727301948, 121.16533210220472 31.293775371625777, 121.16480712286355 31.293931305650922, 121.16451588851395 31.293927691025846, 121.16450553001243 31.29384888461062, 121.16458886719705 31.2932536281103, 121.16458755151258 31.29313758691107, 121.16398458020208 31.29311527738385, 121.16260140487243 31.293104053666912, 121.15916330257768 31.296163553751907, 121.15768706566864 31.29769430024429, 121.15762191082707 31.298012015939776, 121.15743961365236 31.29967164042976, 121.15799450274542 31.299679624399335, 121.15752844772057 31.305667377410927, 121.15497901376054 31.309056481537407, 121.15006006172725 31.31560163059056, 121.14896364117155 31.3147362362617, 121.14542518465002 31.311890052685172, 121.14531127364535 31.31148830946415, 121.1455868282777 31.310921271250432, 121.14584351368205 31.310364455527466, 121.14598180235353 31.30977319050368, 121.14549870873832 31.308655717373526, 121.13988826128835 31.307941876498855, 121.13663942717756 31.308332105597326, 121.13650115443257 31.308371056096693, 121.1359480480801 31.309288371056727, 121.13560007063002 31.312120914888556, 121.13557144446885 31.312784538259063, 121.13562232118569 31.313167485827787, 121.13567660748365 31.313477288675042, 121.13611706493208 31.314099600476702, 121.13612590165778 31.31436823690333, 121.13474411193626 31.32184358508108, 121.13467409013225 31.322073365727466, 121.13457940440244 31.322384056339466, 121.13440983899 31.322682862728758, 121.1343301681933 31.3227651455516, 121.13420938870678 31.322795799543506, 121.13624071949701 31.32806172426952, 121.13967455943234 31.33153807107528, 121.13988968691866 31.331814099152915, 121.13998412909582 31.33208322138092, 121.13999690107647 31.33569234056119, 121.13998572017015 31.33597191106656, 121.13980064726545 31.336195353502696, 121.13967090689843 31.33633584870348, 121.13852840945944 31.337341092045847, 121.13680569380067 31.342693359143095, 121.13697096677969 31.344552477632888, 121.13712177839972 31.347614917519216, 121.13687738717705 31.34996602833233, 121.13684954601374 31.35001867793219, 121.13678989195039 31.350057218416364, 121.13657967436558 31.35007664973938, 121.13446804436754 31.349752405959684, 121.134074631534 31.349634264884642, 121.13367094604165 31.349510084011143, 121.13352243856295 31.34942485708341, 121.13305126577337 31.349241037008248, 121.13269464803251 31.349145889106524, 121.1322291045388 31.349074200498393, 121.13154877892147 31.348998072781622, 121.12871030434357 31.349007389504912, 121.12485461309043 31.349521836299846, 121.12426044514724 31.349617445681858, 121.1241141472515 31.349648965917783, 121.1240527072575 31.34979756620531, 121.12356063816522 31.35296053384443, 121.12358789340598 31.353235105294345, 121.12365791944754 31.353429926308987, 121.12466667859431 31.353507381022016, 121.12621498900552 31.353785665615447, 121.12629039019217 31.353816065805276, 121.12626865671207 31.35395013942093, 121.12622448885722 31.35405082827999, 121.1241335956426 31.357363877594672, 121.12404950687197 31.35748187579411, 121.12350548939773 31.358100324761303, 121.12154692966564 31.35749727829834, 121.120689665069 31.35721631370417, 121.12050961439883 31.357146282345155, 121.1197353027983 31.35688738132788, 121.11939078601692 31.356777776653985, 121.11906072516203 31.35668996018478, 121.11875532007592 31.356634960147055, 121.11862601824383 31.356637343286874, 121.11518477690696 31.357089448255383, 121.1146004853512 31.357883479662906, 121.11417380024591 31.359048386255107, 121.1136285252929 31.361214415005982, 121.1135447454731 31.361571022092935, 121.11357943701319 31.363547387735895, 121.11421501401428 31.3655558776497, 121.11389017642281 31.368421340777473, 121.11361287081347 31.369088669053458, 121.11311682237276 31.37073831924185, 121.11310842031152 31.37101520034754, 121.1130759213363 31.372849559034805, 121.11539310644406 31.370916619789053, 121.1154823543141 31.370869069649665, 121.11724818854877 31.37088485695548, 121.11952708578174 31.371460679717107, 121.12690163185343 31.374952079603357, 121.1265725724245 31.37552495475083, 121.12630364976435 31.375933229168368, 121.12601829273764 31.376218490707828, 121.12531451405869 31.37690922249142, 121.12512826787894 31.37695643205537, 121.12508226984217 31.37696558802343, 121.12500575578214 31.376968085293225, 121.12494450260775 31.376966018851263, 121.12476068772895 31.376930526459958, 121.12450797708604 31.376879496969828, 121.12440075398304 31.376852801332916, 121.12415566646226 31.376799525055038, 121.12397206187279 31.376768590852347, 121.12376500197398 31.376740010291602, 121.12361953560321 31.376729260132915, 121.12152049627859 31.377279056867422, 121.12060196777949 31.379108773920414, 121.1204223553409 31.379522546402978, 121.12022664056649 31.380375521149034, 121.12036778679621 31.380475460489908, 121.1291662313947 31.384007815682015, 121.12947305512336 31.384122640206424, 121.12962337373784 31.384171013168114, 121.12987242205455 31.384239309945308, 121.12993625787685 31.384099981595604, 121.13025921117536 31.383395095845362, 121.13050779865331 31.382945025463226, 121.13067252166967 31.382701060137627, 121.13084093258668 31.382507158006597, 121.13093855368867 31.38241414647263, 121.13138825222362 31.3825567709997, 121.14443901995107 31.386990184108676, 121.1545888948987 31.39124940161513, 121.15537499550888 31.392855579349913, 121.15537414080276 31.3929113020073, 121.15337834810072 31.395596647268274, 121.15283015718882 31.396289392493127, 121.15228220592651 31.39683813839015, 121.15199279185055 31.397121351041303, 121.15194715661157 31.397143054699832, 121.15135368234147 31.397396116346446, 121.15191510690983 31.399633609680713, 121.15538620720508 31.406398530642523, 121.15646074105757 31.408014267363086, 121.16006361565098 31.412182895719315, 121.16356937601871 31.4134909945394, 121.16396414503114 31.413889769653395, 121.1650532321622 31.4160540557916, 121.16499634432552 31.416204291034934, 121.16486566270314 31.416447707392823, 121.16477639098542 31.41657686048997, 121.16403735173326 31.417071573889068, 121.1583942362311 31.420268200419073, 121.15561051682762 31.421490318906322, 121.15504465189537 31.42195368284861, 121.15502963044779 31.421969149095705, 121.15499907772666 31.422042918171165, 121.1541616362629 31.425805341476842, 121.15449287838447 31.427261750124728, 121.15983589952198 31.431256305129843, 121.16142295400434 31.431754816938835, 121.16404021148954 31.43168137721323, 121.16580719421486 31.431280550446377, 121.1658827038753 31.431278222571986, 121.16600427424594 31.43131105940136, 121.16736181054405 31.43184023998952, 121.1674983216918 31.43189390465317, 121.17088774415205 31.43326647163247, 121.17089526444619 31.437336911825945, 121.16842002527781 31.438334339746223, 121.16781098835514 31.438232645072027, 121.16662548417524 31.438126318701862, 121.16600817203651 31.438097050399012, 121.16536972267353 31.438105706571044, 121.1642189684848 31.438218775990645, 121.16416023272713 31.43822840919185, 121.16306065600028 31.438410905244716, 121.16178614859885 31.438635982493963, 121.16062521181294 31.4388741005237, 121.15979897464824 31.439087995938806, 121.15904657317957 31.439326165102866, 121.15821937396339 31.439599381339583, 121.15736912920069 31.440012421427806, 121.15661732738508 31.44038543501575, 121.15597182874217 31.44073868566705, 121.15561499707215 31.440967716287943, 121.15508333673012 31.44133521322824, 121.15457460508024 31.44171696777451, 121.15433919082611 31.4419083231043, 121.15410376123745 31.4421177611766, 121.15345807104919 31.44277690866096, 121.15330630715268 31.442940820349712, 121.15314678606808 31.44311587147203, 121.15300262074142 31.443293499415283, 121.15299495762424 31.44331816506055, 121.15278370190617 31.44484993903015, 121.1532017481943 31.447358372420403, 121.15410381276216 31.449158685729135, 121.15413425449931 31.449177339989895, 121.16776994774408 31.45539069511902, 121.17226087380809 31.456429659372052, 121.17232153597165 31.456433814999137, 121.17466960940305 31.454933604360473, 121.17902876157315 31.455239361215888, 121.17957211124933 31.455285359466437, 121.1801675751759 31.45538732326686, 121.18098566760544 31.455647827757186, 121.18161447876669 31.45588969512659, 121.18533871509956 31.457435457988883, 121.18836868046654 31.45871746049948, 121.19187982001552 31.46067889029588, 121.19199793223804 31.46077121428606, 121.19207167319848 31.460858335750636, 121.19212368738073 31.461073890865652, 121.19212526423219 31.461130315071387, 121.19207774841976 31.461323938949008, 121.19184482147489 31.46178342838379, 121.19146750423121 31.462563315098848, 121.19132734736911 31.463258383906368, 121.19135093060468 31.463348297615205, 121.1922179767077 31.46636744072838, 121.19502035044452 31.469418754362817, 121.19639569656954 31.47075312711689, 121.1996561508601 31.47364983991285, 121.19991302475262 31.473851768578847, 121.20046184608599 31.474129363251116, 121.20149032582962 31.474486431210174, 121.20172605214766 31.474442265246847, 121.20204418528012 31.474382569980055, 121.20313187534511 31.474350632197964, 121.20322332307407 31.474352064543663, 121.20339052827165 31.47437044282735, 121.20387005903629 31.474467926815905, 121.2041669281548 31.474533213632444, 121.20439537333644 31.474592908228118, 121.20882023955622 31.47600228785569, 121.20893453551615 31.476053038356092, 121.20904131825387 31.47610144224337, 121.20913295125894 31.47616998525479, 121.20921662068622 31.476242949990567, 121.2092929214971 31.476340636345434, 121.2093385882823 31.47644254090681, 121.2093845098067 31.476600796893237, 121.20939959285714 31.476722695930334, 121.20939951530559 31.47676102338887, 121.2093889505918 31.47683622985405, 121.2091567190111 31.477523452398398, 121.20905661037261 31.477976996551355, 121.20904294780095 31.478224414174903, 121.20907117421899 31.47839452194807, 121.2090957697921 31.478483760828944, 121.20911890822475 31.47856515476538, 121.20924840731973 31.478717019427997, 121.20940652656687 31.478856519811806, 121.21213018608502 31.480969157043592, 121.21310685420973 31.48171369425563, 121.2139939873509 31.48235622719872, 121.21445874281576 31.482673715540017, 121.21533810962933 31.483190102437014, 121.2159191211631 31.4834349788213, 121.22004110838637 31.485162523269558, 121.2202879408141 31.485258144087428, 121.22056934227417 31.485337472392573, 121.22094093841459 31.485344630155744, 121.22110658582201 31.485326884154215, 121.22123058199733 31.485156030515505, 121.22138448949602 31.484608935954345, 121.2213553629428 31.484335286604924, 121.22121662031975 31.4840007046096, 121.22090548427043 31.4836649761679, 121.22018211591694 31.483126873264474, 121.21964940455129 31.48254151082849, 121.21977932016377 31.482316032702816, 121.21983291728442 31.48226870943492, 121.21992470558625 31.482221398174815, 121.22005438299615 31.48218986480627, 121.22029138613705 31.482160588254605, 121.22490271609713 31.48165987718752, 121.23176832374624 31.482556142028926, 121.2364096093823 31.48341937322412, 121.23650149533451 31.483445877755504, 121.23657037543025 31.483501816742827, 121.23666234708341 31.483627513131285, 121.23672354265389 31.483773684976413, 121.23674637851866 31.483838922393304, 121.23680010430076 31.48399640777369, 121.2368383255355 31.48418780255272, 121.23686906182469 31.4843566979935, 121.23688406533289 31.484622621234497, 121.2369145123214 31.485386669372367, 121.23692929121745 31.48680455298828, 121.23691379012146 31.48712701182701, 121.23687534659383 31.487271516191218, 121.2367986361533 31.48743203296159, 121.23676816097559 31.48748857264714, 121.23671434044572 31.487506928755735, 121.23650004128393 31.487564572224628, 121.2362548848007 31.487613387826755, 121.23588703771541 31.487658434358924, 121.23564195737168 31.487686960095502, 121.23542738734761 31.487724315030704, 121.23531247965381 31.487779114245743, 121.23522042525968 31.48782925926801, 121.23512102033798 31.48788395996743, 121.23504428851825 31.4879610611195, 121.23502264551192 31.48798599039269, 121.23497542154023 31.488040376749474, 121.23491418933395 31.488151199835276, 121.23489096407928 31.488225730204512, 121.23488317763717 31.488286644656284, 121.23489081104934 31.488385784251697, 121.23494461621405 31.488520718482317, 121.23505152687538 31.488673365267747, 121.23906054620632 31.493656030766584, 121.23916529146756 31.493780758501597, 121.2432799596889 31.497812291917548, 121.24698660676601 31.4993689792921, 121.24732915251184 31.49948114307025, 121.24749847069845 31.499515839200324, 121.24771037119889 31.499532408146155, 121.24786463277613 31.499527059678556, 121.24802671951366 31.49949961198777, 121.24818458055276 31.499418097046547, 121.24823892620914 31.49936613278769, 121.24833856879515 31.499158538731248, 121.25025981351838 31.493344409063113, 121.2502675368344 31.49323620118242, 121.25026025529675 31.49294993331686, 121.2502295170029 31.4928350010905, 121.25015337862612 31.49257810651242, 121.24988843044883 31.49176464954528, 121.24981723085527 31.491546088869047, 121.25094492588073 31.48737472534779, 121.2537016676607 31.482889016129466, 121.25374957473818 31.482838592606914, 121.25385135145847 31.482784196984266, 121.26725796318694 31.483649161254448, 121.26732659668208 31.483654665224197, 121.26741063678683 31.483662660719556, 121.26747166036928 31.483670321969033, 121.26753247529314 31.48368925343177, 121.26757840545915 31.483712474864582, 121.2676318900031 31.483753854090363, 121.26779377013447 31.483892269377126, 121.26809602747623 31.48455089053059, 121.26827302240895 31.485166641777745, 121.2683017919248 31.486137126191, 121.26840103348643 31.486499070713514, 121.26860154057042 31.486759015067012, 121.2739271274276 31.490784092944335, 121.27698949073287 31.49074756433732, 121.27701247697028 31.490730075920577, 121.2770201159299 31.490725755956575, 121.27834554154494 31.489992020606458, 121.27836071866837 31.489987893929662, 121.2786568734935 31.490042931122083, 121.28122242328777 31.490917932015567, 121.28263764105036 31.491631711339995, 121.28447736430167 31.493603834469912, 121.2866286565256 31.495535848164963, 121.29037004288216 31.4955787346639, 121.29622183217604 31.494689504682277, 121.29983677054548 31.49554483939018, 121.29995087139517 31.495580232168628, 121.30131192412841 31.496074383972772, 121.30145618072042 31.49612877892354, 121.30475697542109 31.49742725991206, 121.30477212792327 31.49744127458202, 121.30711225995358 31.501703613152237, 121.30735561351139 31.502965014732037, 121.30755084991314 31.50303582832208, 121.30898941657905 31.504938963947154, 121.30875082032806 31.50531443078986, 121.30819759042487 31.505352646481676, 121.30816707722919 31.50535171183613, 121.30751288242374 31.50502280622393, 121.30665190738696 31.505888625262433, 121.30646258194817 31.506091104932562, 121.30761696529706 31.507694856541324, 121.30864370947957 31.508839751195765, 121.31218291758914 31.51146065107039, 121.31711730930031 31.51226300612949, 121.31826714198792 31.51116263677766, 121.3182823686709 31.51114044576724, 121.31830543933184 31.511068845305477, 121.31832832931534 31.510954411392465, 121.31838237422541 31.510428187365967, 121.31837462152099 31.510403215477112, 121.31826081662679 31.50979427063839, 121.31842170038752 31.509151023846126, 121.3198743050726 31.50699635512772, 121.32081409340607 31.507243293789873, 121.32783606520083 31.506120133447414, 121.33093392477704 31.506396562672556, 121.3369222793775 31.51110979083727, 121.35146919091387 31.520376080145276, 121.35285103424744 31.521707582179577, 121.35740581865946 31.52504713957102, 121.36883104466727 31.533413597975702, 121.3695141419406 31.533902367917733, 121.37403918874035 31.537144462176833, 121.3753729950462 31.538091039844048, 121.38407813461805 31.54430840597686, 121.38897715118308 31.547751051668616, 121.39347284239133 31.550987330709745, 121.39347922329218 31.55105613246707, 121.39348038291628 31.55106865970926, 121.39340428541591 31.55115732030431, 121.39090435747465 31.55291591443857, 121.38872309097384 31.554412522043542, 121.38645632957072 31.55585613517935, 121.38508175734367 31.556699698925303, 121.38371453463498 31.55752486005827, 121.35244242300507 31.575992536990768, 121.34706042697064 31.579176688431264, 121.34190350105783 31.58220959445372, 121.33802334162759 31.584415997020763, 121.33260695067277 31.587219640277702, 121.32537892074716 31.594078009927557, 121.32390413628634 31.595791379884997, 121.32264355101708 31.59723382306034, 121.31963494621097 31.600534088420062, 121.30809798531772 31.612828508006306, 121.30174660733952 31.619525881014788, 121.29987390467693 31.621518652906104, 121.2969283475583 31.624711799240938, 121.293739275773 31.628178423752477, 121.29096896913327 31.631184993196015, 121.28991869706005 31.63230898595197, 121.27564136558638 31.64749962002747, 121.26856603260717 31.65494430799003, 121.26622339558426 31.65670409639426, 121.26474257247405 31.657855111447027, 121.26185703918937 31.660139191370483, 121.24929348701144 31.67062047123779, 121.24265167628988 31.67516799407639, 121.23622096939945 31.679562049387528, 121.22880543506804 31.684597143254997, 121.21873188905211 31.691363648104122, 121.21051678068464 31.696798799173003, 121.20614588951406 31.69966287615779, 121.19588494478256 31.70632036900035, 121.19376791381596 31.706814500948603, 121.18428105279125 31.71317744516643, 121.18097081077642 31.71599581374859, 121.17637970725262 31.718992907093828, 121.16362925292623 31.727174082810645, 121.1511662126599 31.73521374633272, 121.14218732232813 31.741058443929774, 121.1359380480225 31.74528693422516, 121.13467609576826 31.746220350992026, 121.13404891709332 31.746766389042254, 121.1332376244796 31.74751521243428, 121.12321035400122 31.75662992003238, 121.12106364736283 31.758535533419742, 121.11763995020675 31.76156020602345, 121.11719830101346 31.761950386974632, 121.11347871335101 31.765109922864024, 121.11329107721528 31.765262532507787, 121.1080819462565 31.769495432026712, 121.10824104205595 31.76950569457824, 121.10847842638589 31.769590771311744, 121.11104899751578 31.770551247545882, 121.11106967630347 31.770558967639413, 121.11320836335666 31.771474995060977, 121.11573827239499 31.77271511552846, 121.11813177823042 31.774154575080207, 121.11889649873554 31.774614518342982, 121.13926685713398 31.787122723734164, 121.1437978602404 31.789976947378904, 121.15446308740418 31.7975767241306, 121.16110744706468 31.80346546580236, 121.17128605093322 31.81318774182229, 121.1787400411381 31.82037967077939, 121.1821370278281 31.823652923130773, 121.18498014087619 31.8254185093613, 121.18857478570483 31.827560035248773, 121.19063408522624 31.828807157731685, 121.19899206561485 31.833831359101296, 121.20559730442064 31.83775070425787, 121.20911780829869 31.839875252164962, 121.21483787181307 31.843154173650817, 121.21648273239383 31.844082376973397, 121.22964868277467 31.85143157597793, 121.23367551700088 31.852946818900723, 121.25155341958296 31.85915078067756, 121.25851686898159 31.86162292293542, 121.28656647727475 31.872095891733196, 121.29166008143002 31.873972719753027, 121.30182406650894 31.876719644380888, 121.3123391962664 31.876819376869765, 121.31357020052403 31.876432519468253, 121.31411891441697 31.876257916177824, 121.32328605910924 31.873266697670747, 121.33663767163586 31.868743968638643, 121.34190930800308 31.866917647130148, 121.36036594320953 31.860434280712685, 121.37641659844904 31.854877158168662, 121.37896750240216 31.85400362684642, 121.38134842997094 31.853152318237125, 121.38165452997978 31.852995864373828, 121.38225923700703 31.85237885770164, 121.3953719881774 31.835654104192876, 121.39747384370112 31.83286899799035, 121.39766233500725 31.83261428345712, 121.39942194339059 31.830236727388613, 121.39998858360782 31.82958107390086, 121.40407615485425 31.824854375003003, 121.41049384090088 31.81754427979157, 121.41507800633494 31.8141402060536, 121.41760347763044 31.81279815498535, 121.41766309196663 31.812729280876, 121.42003677089502 31.809273566848216, 121.42046370034633 31.80855140145979, 121.4228624161986 31.80375738300102, 121.4225673349421 31.803612142801754, 121.4219698915622 31.80334840453315, 121.42137279516858 31.803107586572935, 121.42015873096072 31.80264527083606, 121.41826795632545 31.801919850752128, 121.41723824617755 31.801430723999765, 121.41727237666608 31.801346850783073, 121.41971974849655 31.79699871337911, 121.41994953671797 31.796623082254882, 121.42039238333226 31.79589967829341, 121.42073524249251 31.795340840646997, 121.42132019226898 31.79440102040586, 121.4216488074061 31.79387301687857, 121.42279684730929 31.792123479859946, 121.42568559581298 31.78835262727117, 121.42640878541323 31.787413460319957, 121.42788471597987 31.7855296350611, 121.42874089167661 31.78455949914098, 121.42985690527331 31.78330642142066, 121.43158492226516 31.78166884906262, 121.43395685433386 31.77947556181108, 121.43562692452419 31.777937294210002, 121.43712373107545 31.77656691375779, 121.43825607871234 31.77615730705814, 121.43957293416985 31.77567100744279, 121.44032597781585 31.775394809218323, 121.442212208961 31.77470587724024, 121.45129835132181 31.77149457478488, 121.45317663079295 31.770790508075645, 121.4545022365544 31.770233146520695, 121.45496483865374 31.76995928774693, 121.45568471676202 31.769266438440493, 121.45652007874908 31.768398772717692, 121.4567795334128 31.76815552358452, 121.45704666420207 31.767946029626795, 121.45754296927419 31.767743207243647, 121.46020779719196 31.76682919668114, 121.46386684731061 31.765634481235615, 121.46522701371785 31.765221389657253, 121.46647279591211 31.76484402380865, 121.46848305666303 31.764306927960767, 121.46955294326116 31.76412958155636, 121.47037100953823 31.76403951713666, 121.47113537133276 31.764116459425072, 121.47138763020654 31.76419992717541, 121.47180802942302 31.76418725338461, 121.47265651984735 31.764136912597333, 121.47479703662451 31.763772462018036, 121.48813983352439 31.761313445128085, 121.4889796725615 31.761067088042967, 121.4912238470631 31.76040164858188, 121.4949846374444 31.759677268966062, 121.4994277496109 31.75887283716961, 121.50597295398252 31.75778816624217, 121.50670683705184 31.75802132276541, 121.51014242344505 31.75637123259156, 121.51202422588189 31.755264306494013, 121.51426339444552 31.753862461922253, 121.51526824637793 31.753137663958874, 121.51671045071971 31.752116725164157, 121.52062708119858 31.749390235689905, 121.52207755117468 31.7485356300097, 121.53549353558815 31.744789626953335, 121.54680538688183 31.741958063981816, 121.54676603620308 31.74155765782434, 121.54675619893204 31.7414575560697, 121.54646092706078 31.739755128125385, 121.54647618701937 31.73968340345283, 121.54650641891465 31.73963685488358, 121.55268546290023 31.735511485043922, 121.55648034796126 31.73299476126692, 121.55658688791465 31.73293816037659, 121.55667773219457 31.73293985966547, 121.55672349542547 31.732970007399707, 121.55706755448628 31.733710454979786, 121.55715691247143 31.733980978544636, 121.55727596624091 31.734461621845064, 121.55734543167667 31.73471200283792, 121.55740509503484 31.734772375906907, 121.55779761142307 31.734873976737337, 121.56619405553766 31.728216801569037, 121.57001567036336 31.725157485211103, 121.57232196561536 31.723667002509433, 121.58444889160845 31.718262129163097, 121.58537726745699 31.717881850361767, 121.58582614379284 31.717697848885003, 121.59140840063192 31.715942208414177, 121.59543494802489 31.714674629928606, 121.59743958488055 31.71406589588751, 121.59962777060655 31.71340185535217, 121.59953820980773 31.713064846365278, 121.59900816685355 31.711070768401765, 121.59939142921901 31.71091281082901, 121.61058879744074 31.70671425298397, 121.61079553979927 31.706711374180465, 121.61090274181085 31.70677644114827, 121.61097173265601 31.707012959244267, 121.6109952093122 31.70789887749744, 121.61086607196758 31.709808709891085, 121.61053752574233 31.711748412946168, 121.61024695597833 31.713032032279198, 121.61010928416059 31.713837256953024, 121.61008624310126 31.714074029117654, 121.61016282158069 31.714218039333073, 121.61029313131503 31.71426268321862, 121.61069891302401 31.714310988060365, 121.61118133964509 31.714341169522463, 121.61162545681795 31.714322017583715, 121.61177852218806 31.714258550919304, 121.61700465838622 31.711825437788782, 121.62194290282628 31.70954559728763, 121.6232111236751 31.708955400403113, 121.62384490524613 31.708674440307274, 121.63132316251661 31.705391510229237, 121.64181174771919 31.701920089823354, 121.64227578211592 31.701803606275867, 121.64249656252659 31.70184320753101, 121.64830281947779 31.70343065801097, 121.64882764387652 31.703575075728136, 121.64955808733725 31.703822428670904, 121.64970012014693 31.703876153930985, 121.66157025997661 31.700208336877935, 121.6616537736085 31.700182750596305, 121.6744323197605 31.696233438822045, 121.68284429920011 31.693577941771945, 121.68709184271836 31.692213372569636, 121.69999007344624 31.68797544339394, 121.71298619300758 31.683643877951315, 121.72567869043895 31.67930902716161, 121.7383170471538 31.675037005661803, 121.75094392549225 31.671042292884472, 121.75357073146071 31.670340761628275, 121.76418591209108 31.667546021398994, 121.79125902875529 31.660282906806025, 121.80183420669516 31.657379404293827, 121.81661850159327 31.65319276802993, 121.82032157373212 31.652138901645703, 121.82041106512402 31.652121120192735, 121.83143065265023 31.649896205601898, 121.84605576419226 31.64674601275975, 121.86081422785311 31.643625217688786, 121.8635179217093 31.64308814948244, 121.87544588588081 31.64080297525826, 121.88546923335595 31.638863849449596)), ((121.89592376782606 31.24844944626327, 121.89701171994696 31.24839825200849, 121.89781580940745 31.248532207510305, 121.89802742382335 31.248614237886375, 121.89971674750468 31.248645521390465, 121.91955289189951 31.24265233259881, 121.93183293886725 31.23504446548656, 121.93331084075693 31.232936701558703, 121.93426275745418 31.227216926284214, 121.93409097292239 31.220949577248366, 121.93374804806191 31.219587251914948, 121.93362566696953 31.218766530586212, 121.93318816108604 31.21766902909684, 121.93297986322337 31.216820134406447, 121.93282886802487 31.216042320647873, 121.93239861352565 31.215023029916086, 121.93230574510464 31.214848113102388, 121.92857397091142 31.209822456649828, 121.92511133470535 31.205105645545746, 121.91875283828044 31.205331128451494, 121.9118809236155 31.20861558997597, 121.91182527729053 31.208643662526825, 121.90411371256945 31.213832289919047, 121.88563534213762 31.235876855134592, 121.88376527827094 31.244295871219034, 121.88378269321085 31.247780779295827, 121.88425568771036 31.24826348525099, 121.88558453724913 31.249300603321128, 121.88584780516294 31.249441340250293, 121.8862497820104 31.249780724956857, 121.88647156442991 31.249953827616178, 121.88864221178622 31.25090871980498, 121.89262965845997 31.25033330842065, 121.89327425907994 31.249852626158454, 121.89592376782606 31.24844944626327)), ((121.98708484142514 31.23109704731122, 122.00708182385749 31.22639540125595, 122.01886490524552 31.22665057597706, 122.0338860767069 31.22693929346464, 122.03807416502134 31.22527850879884, 122.04626893164053 31.22019165487496, 122.04874764142278 31.216956847065294, 122.05064863903593 31.2083829530223, 122.05044365122806 31.20693442330982, 122.0504886497556 31.206808315475612, 122.05039131313863 31.20514160065977, 122.04953424438531 31.199034597444093, 122.04337472114216 31.186081586652858, 122.03836404172652 31.173790924156005, 122.03760297097067 31.17272078239116, 122.03592490425203 31.17116511511332, 122.03551326275091 31.170938052369966, 122.03550990702588 31.170936202453667, 122.03453285352639 31.170396590901923, 122.03360502035028 31.16995474737241, 122.03257019245841 31.169974740106923, 122.03229639343095 31.170891428846062, 122.03217743794832 31.171289748014686, 122.0322235104672 31.171868077340182, 122.03194251855335 31.172051061586163, 122.03042046649354 31.172406638583865, 122.02983756386043 31.172396509716872, 122.0294307354515 31.172028922485442, 122.02836106935246 31.171223890594415, 122.02762867830977 31.17081004575031, 122.02718460893617 31.170558949411387, 122.02640045504177 31.169900983043174, 122.02565187270129 31.169886147733152, 122.02497462730142 31.169908197189017, 122.02436862263464 31.170288584931054, 122.02429251462391 31.17074395118302, 122.02422588949801 31.171142636757125, 122.0240831874681 31.172032389824842, 122.02365540307127 31.173130466454495, 122.02287133624611 31.17379245659447, 122.02151720438702 31.17433485740595, 122.02060379551878 31.174488218374258, 122.0200114047075 31.172056919786527, 122.01966754497369 31.170645055795625, 122.01936670798457 31.169409482070822, 122.01706977729344 31.163085143329305, 122.01622741026354 31.162427260617058, 122.01110506742029 31.159664342313047, 122.01073173474218 31.159370142958384, 122.00955623397502 31.158523996002714, 122.00759623631082 31.157912289884035, 122.00595628622472 31.157879794951025, 122.00456570004344 31.157746258363762, 122.00121242857358 31.157973166701126, 122.00047095723882 31.158332068761105, 121.99467597514682 31.15877182032225, 121.98456317430444 31.16214027250772, 121.97536767874618 31.16556674912164, 121.97447779576811 31.16572182079536, 121.97372413694671 31.16576439102691, 121.97264720944901 31.16609634917041, 121.97174944666634 31.166855696768398, 121.97103110027561 31.16768499092612, 121.96981008920461 31.168127985837266, 121.9691635248281 31.16863597681651, 121.96765479453674 31.16951285303441, 121.96692427141238 31.170258061406727, 121.96690222518484 31.170280551209167, 121.96478034899123 31.17244662383015, 121.96432825633794 31.173576620644763, 121.96159244040656 31.17739655189672, 121.95641892056429 31.181292984867085, 121.95182443598526 31.18899045226998, 121.9507641526063 31.19134667218094, 121.95057619936887 31.191391746290616, 121.95026521799993 31.19173022116263, 121.94994258438267 31.19242602689696, 121.94958391324649 31.19294380874451, 121.94909369168428 31.193558916758757, 121.9486273453839 31.194054502465985, 121.9482447725515 31.194501073982238, 121.94804163108138 31.194837633228722, 121.94770740252996 31.195747706023063, 121.94754008416552 31.19597651759455, 121.94734877612477 31.196134249958124, 121.9471814523406 31.19633922583062, 121.94690673266625 31.196843475163327, 121.94664408247505 31.19743085701758, 121.94636952068892 31.19805410629311, 121.94613077792803 31.198581538979383, 121.945963604851 31.19889357866633, 121.94599976563661 31.199154979123506, 121.94578524727103 31.199943958371907, 121.9455341715441 31.200078602835386, 121.94528320751076 31.200308465972597, 121.94521181287183 31.2006666804252, 121.94555942569424 31.201340301083246, 121.94605069880024 31.20208317272133, 121.94647010629639 31.202707947343654, 121.94703299094395 31.20319949150741, 121.94747617016378 31.203609405560353, 121.94791385424598 31.20392584460834, 121.94911045335382 31.204790474201964, 121.94896937041744 31.207515581890718, 121.94744102606275 31.21077814457672, 121.94534025533807 31.215572025429783, 121.94476930749754 31.219009052628227, 121.94577730351148 31.223293802704873, 121.95088152066222 31.23352165023573, 121.95155321029009 31.234178141072732, 121.95194333884054 31.23455938102432, 121.95338037636671 31.23539207720954, 121.95486545242184 31.236176078249233, 121.9564464350077 31.236386985314407, 121.95814614629198 31.236902740078317, 121.95941702895257 31.237288575397923, 121.96037530090244 31.237605799969057, 121.96248344920298 31.237571312592895, 121.96449562259946 31.23715890297818, 121.96641172700816 31.23674961850681, 121.96899794654634 31.236333486725083, 121.97076949464494 31.23554996086243, 121.9725473866421 31.234964463210567, 121.98708484142514 31.23109704731122)))');
+
+
+CREATE TABLE `head_handled_mission` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `campaign_id` varchar(100) DEFAULT NULL COMMENT '活动id',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `create_by` varchar(10) DEFAULT NULL COMMENT '创建人',
+ `update_by` varchar(10) DEFAULT NULL,
+ `update_time` datetime DEFAULT NULL,
+ `update_head` varchar(100) DEFAULT NULL COMMENT '总行更新人',
+ `update_branch` varchar(100) DEFAULT NULL COMMENT '支行更新人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=490 DEFAULT CHARSET=utf8 COMMENT='总行已办任务'
+
+ALTER TABLE sys_campaign ADD `sys_campaign` varchar(10) NULL COMMENT '走访类型';
+
+
+
+--szq
+
+CREATE TABLE `grid_shape_count_gongsi_965` (
+ `dt` varchar(10) DEFAULT NULL COMMENT '统计日期',
+ `shape_type` varchar(200) DEFAULT NULL COMMENT '区域类型',
+ `shape_id` varchar(200) DEFAULT NULL COMMENT '区域id',
+ `shape_name` varchar(200) DEFAULT NULL COMMENT '区域名称',
+ `grid_id` varchar(200) DEFAULT NULL COMMENT '网格id',
+ `grid_name` varchar(200) DEFAULT NULL COMMENT '网格名称',
+ `dept_id` varchar(100) DEFAULT NULL COMMENT '归属支行',
+ `dept_name` varchar(255) DEFAULT NULL COMMENT '归属支行名称',
+ `outlets_id` varchar(100) DEFAULT NULL COMMENT '归属网点',
+ `outlets_name` varchar(255) DEFAULT NULL COMMENT '归属网点名称',
+ `user_name` varchar(255) DEFAULT NULL COMMENT '归属客户经理',
+ `cust_num` int(10) DEFAULT NULL COMMENT '入格客户数',
+ `hq_cur_balance` varchar(20) DEFAULT NULL COMMENT '活期存款余额',
+ `bz_cur_balance` varchar(20) DEFAULT NULL COMMENT '保证金存款余额',
+ `loan_balance_cny` varchar(20) DEFAULT NULL COMMENT '贷款余额',
+ `finance_prod_711_balance` varchar(20) DEFAULT NULL COMMENT '贴现余额',
+ `finance_prod_716_balance` varchar(20) DEFAULT NULL COMMENT '承兑汇票余额',
+ `loan_year_dailyaverage` varchar(50) DEFAULT NULL COMMENT '贷款年日均',
+ `htqy_rat` varchar(10) DEFAULT NULL COMMENT '合同签约率',
+ `qfcd_rat` varchar(10) DEFAULT NULL COMMENT '签发承兑汇票率',
+ `tx_rat` varchar(10) DEFAULT NULL COMMENT '贴现业务率',
+ `bh_rat` varchar(10) DEFAULT NULL COMMENT '保函业务率',
+ `yxdfgz_rat` varchar(10) DEFAULT NULL COMMENT '有效代发工资率',
+ `dkdf_rat` varchar(10) DEFAULT NULL COMMENT '代扣电费率',
+ `dksf_rat` varchar(10) DEFAULT NULL COMMENT '代扣水费率',
+ `dkshf_rat` varchar(10) DEFAULT NULL COMMENT '代扣税费率',
+ `pjb_rat` varchar(10) DEFAULT NULL COMMENT '票据宝签约率',
+ `czb_rat` varchar(10) DEFAULT NULL COMMENT '财资宝签约率',
+ `sfb_rat` varchar(10) DEFAULT NULL COMMENT '收付宝签约率',
+ `mrb_rat` varchar(10) DEFAULT NULL COMMENT '贸融宝签约率',
+ `szst_rat` varchar(10) DEFAULT NULL COMMENT '数字生态产品签约率',
+ `kh_rat` varchar(10) DEFAULT NULL COMMENT '开户率',
+ `gjjsyw_rat` varchar(10) DEFAULT NULL COMMENT '国际结算业务率',
+ `yqjsh_rat` varchar(10) DEFAULT NULL COMMENT '远期结算汇业务率',
+ `htqy_num` int(10) DEFAULT NULL COMMENT '合同签约数',
+ `qfcd_num` int(10) DEFAULT NULL COMMENT '签发承兑汇票数',
+ `tx_num` int(10) DEFAULT NULL COMMENT '贴现业务数',
+ `bh_num` int(10) DEFAULT NULL COMMENT '保函业务数',
+ `yxdfgz_num` int(10) DEFAULT NULL COMMENT '有效代发工资数',
+ `ustr_count_per_m` varchar(10) DEFAULT NULL COMMENT '月均代发工资笔数',
+ `ustr_bal_m` varchar(20) DEFAULT NULL COMMENT '月均代发工资金额(元)',
+ `dkdf_num` int(10) DEFAULT NULL COMMENT '代扣电费数',
+ `dksf_num` int(10) DEFAULT NULL COMMENT '代扣水费数',
+ `dkshf_num` int(10) DEFAULT NULL COMMENT '代扣税费数',
+ `pjb_num` int(10) DEFAULT NULL COMMENT '票据宝签约数',
+ `czb_num` int(10) DEFAULT NULL COMMENT '财资宝签约数',
+ `sfb_num` int(10) DEFAULT NULL COMMENT '收付宝签约数',
+ `mrb_num` int(10) DEFAULT NULL COMMENT '贸融宝签约数',
+ `szst_num` int(10) DEFAULT NULL COMMENT '数字生态产品签约数',
+ `kh_num` int(10) DEFAULT NULL COMMENT '开户数',
+ `gjjsyw_num` int(10) DEFAULT NULL COMMENT '国际结算业务数',
+ `yqjsh_num` int(10) DEFAULT NULL COMMENT '远期结算汇业务数',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '部室归属 0零售 1公司 2运管'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自定义地图网格汇总统计_公司'
+
+
+
+CREATE TABLE `grid_shape_count_lingshou_965` (
+ `dt` varchar(10) DEFAULT NULL COMMENT '统计日期',
+ `shape_type` varchar(200) DEFAULT NULL COMMENT '区域类型',
+ `shape_id` varchar(200) DEFAULT NULL COMMENT '区域id',
+ `shape_name` varchar(200) DEFAULT NULL COMMENT '区域名称',
+ `grid_id` varchar(200) DEFAULT NULL COMMENT '网格id',
+ `grid_name` varchar(200) DEFAULT NULL COMMENT '网格名称',
+ `dept_id` varchar(100) DEFAULT NULL COMMENT '归属支行',
+ `dept_name` varchar(255) DEFAULT NULL COMMENT '归属支行名称',
+ `outlets_id` varchar(100) DEFAULT NULL COMMENT '归属网点',
+ `outlets_name` varchar(255) DEFAULT NULL COMMENT '归属网点名称',
+ `user_name` varchar(255) DEFAULT NULL COMMENT '归属客户经理',
+ `cust_num` int(10) DEFAULT NULL COMMENT '入格客户数',
+ `cur_bal_d` varchar(20) DEFAULT NULL COMMENT '活期存款余额',
+ `cur_bal_t` varchar(20) DEFAULT NULL COMMENT '定期存款余额',
+ `bal_loan` varchar(20) DEFAULT NULL COMMENT '贷款余额',
+ `cur_bal_5_bad` varchar(20) DEFAULT NULL COMMENT '五级不良贷款余额',
+ `cur_d_ave` varchar(50) DEFAULT NULL COMMENT '活期存款年日均',
+ `cur_t_ave` varchar(50) DEFAULT NULL COMMENT '定期存款年日均',
+ `loan_ave` varchar(50) DEFAULT NULL COMMENT '贷款年日均',
+ `ph_rat` varchar(10) DEFAULT NULL COMMENT '建档率',
+ `sx_rat` varchar(10) DEFAULT NULL COMMENT '授信率',
+ `yxht_rat` varchar(10) DEFAULT NULL COMMENT '合同签约率',
+ `xyk_rat` varchar(10) DEFAULT NULL COMMENT '信用卡覆盖率',
+ `fshl_rat` varchar(10) DEFAULT NULL COMMENT '丰收互联覆盖率',
+ `sd_rat` varchar(10) DEFAULT NULL COMMENT '收单覆盖率',
+ `etc_rat` varchar(10) DEFAULT NULL COMMENT 'ETC覆盖率',
+ `dian_rat` varchar(10) DEFAULT NULL COMMENT '代扣电费覆盖率',
+ `black_rat` varchar(10) DEFAULT NULL COMMENT '贷款黑名单占比',
+ `bad_rat` varchar(10) DEFAULT NULL COMMENT '五级不良贷款占比(人)',
+ `bad_bal_rat` varchar(10) DEFAULT NULL COMMENT '五级不良贷款占比(金额)',
+ `ph_num` int(10) DEFAULT NULL COMMENT '建档客户数',
+ `sx_num` int(10) DEFAULT NULL COMMENT '授信客户数',
+ `yxht_num` int(10) DEFAULT NULL COMMENT '合同签约客户数',
+ `xyk_num` int(10) DEFAULT NULL COMMENT '持有信用卡客户数',
+ `fshl_num` int(10) DEFAULT NULL COMMENT '开通丰收互联客户数',
+ `sd_num` int(10) DEFAULT NULL COMMENT '收单客户数',
+ `etc_num` int(10) DEFAULT NULL COMMENT 'ETC客户数',
+ `dian_num` int(10) DEFAULT NULL COMMENT '代扣电费客户数',
+ `black_num` int(10) DEFAULT NULL COMMENT '贷款黑名单客户数',
+ `bad_num` int(10) DEFAULT NULL COMMENT '五级不良贷款客户数',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '部室归属 0零售 1公司 2运管'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自定义地图网格汇总统计_零售'
+
+
+
+CREATE TABLE `grid_shape_cust_gongsi_965` (
+ `cust_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
+ `social_credit_code` varchar(30) DEFAULT NULL COMMENT '客户证件号',
+ `cust_isn` varchar(20) DEFAULT NULL COMMENT '客户内码',
+ `hq_cur_balance` varchar(100) DEFAULT NULL COMMENT '活期存款余额',
+ `bz_cur_balance` varchar(100) DEFAULT NULL COMMENT '保证金存款余额',
+ `is_credit` varchar(10) DEFAULT NULL COMMENT '是否授信',
+ `loan_balance_cny` varchar(100) DEFAULT NULL COMMENT '贷款余额',
+ `loan_year_dailyaverage` varchar(100) DEFAULT NULL COMMENT '贷款年日均',
+ `is_htqy` varchar(10) DEFAULT NULL COMMENT '是否合同签约',
+ `finance_prod_716_open_flag` varchar(10) DEFAULT NULL COMMENT '是否有签发承兑汇票',
+ `finance_prod_716_balance` varchar(100) DEFAULT NULL COMMENT '承兑汇票余额',
+ `finance_prod_711_open_flag` varchar(10) DEFAULT NULL COMMENT '是否有贴现业务',
+ `finance_prod_711_balance` varchar(100) DEFAULT NULL COMMENT '贴现金额',
+ `intl_bussiness_jcbh_open_flag` varchar(10) DEFAULT NULL COMMENT '是否有保函业务',
+ `is_ustr` varchar(10) DEFAULT NULL COMMENT '是否为有效代发工资客户',
+ `ustr_count_per_m` varchar(10) DEFAULT NULL COMMENT '月均代发工资笔数',
+ `ustr_bal_m` varchar(100) DEFAULT NULL COMMENT '月均代发工资金额(元)',
+ `eleccharge_sign_flag` varchar(10) DEFAULT NULL COMMENT '是否代扣电费',
+ `watercharge_sign_flag` varchar(10) DEFAULT NULL COMMENT '是否代扣水费',
+ `taxdeduction_sign_flag` varchar(10) DEFAULT NULL COMMENT '是否代扣税费',
+ `pjb` varchar(10) DEFAULT NULL COMMENT '是否票据宝签约',
+ `czb` varchar(10) DEFAULT NULL COMMENT '是否财资宝签约',
+ `sfb` varchar(10) DEFAULT NULL COMMENT '是否收付宝签约',
+ `mrb` varchar(10) DEFAULT NULL COMMENT '是否贸融宝签约',
+ `szst` varchar(10) DEFAULT NULL COMMENT '是否数字生态产品签约',
+ `is_open_sts` varchar(10) DEFAULT NULL COMMENT '是否开户',
+ `intl_bussiness_open_flag` varchar(10) DEFAULT NULL COMMENT '是否国际结算业务',
+ `intl_bussiness_325_open_flag` varchar(10) DEFAULT NULL COMMENT '是否有远期结算汇业务',
+ `shape_id` varchar(200) DEFAULT NULL COMMENT '归属区域编码',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '部室归属 0零售 1公司 2运管',
+ `cust_type` varchar(1) DEFAULT NULL COMMENT '客户类型'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自定义地图客户明细统计_公司'
+
+
+CREATE TABLE `grid_shape_cust_lingshou_965` (
+ `cust_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
+ `cust_idc` varchar(30) DEFAULT NULL COMMENT '客户证件号',
+ `cust_isn` varchar(20) DEFAULT NULL COMMENT '客户内码',
+ `cur_bal_d` varchar(100) DEFAULT NULL COMMENT '活期存款余额',
+ `cur_bal_t` varchar(100) DEFAULT NULL COMMENT '定期存款余额',
+ `bal_loan` varchar(100) DEFAULT NULL COMMENT '贷款余额',
+ `cur_bal_5_bad` varchar(100) DEFAULT NULL COMMENT '五级不良贷款余额',
+ `cur_d_ave` varchar(100) DEFAULT NULL COMMENT '活期存款年日均',
+ `cur_t_ave` varchar(100) DEFAULT NULL COMMENT '定期存款年日均',
+ `loan_ave` varchar(100) DEFAULT NULL COMMENT '贷款年日均',
+ `is_ph` varchar(10) DEFAULT NULL COMMENT '是否建档',
+ `is_sx` varchar(10) DEFAULT NULL COMMENT '是否授信',
+ `is_yxht` varchar(10) DEFAULT NULL COMMENT '是否合同签约',
+ `is_xyk` varchar(10) DEFAULT NULL COMMENT '是否持有信用卡',
+ `fshl` varchar(10) DEFAULT NULL COMMENT '是否开通丰收互联',
+ `is_sd` varchar(10) DEFAULT NULL COMMENT '是否办理收单',
+ `etc` varchar(10) DEFAULT NULL COMMENT '是否办理etc',
+ `dian` varchar(10) DEFAULT NULL COMMENT '是否代扣电费',
+ `is_black` varchar(10) DEFAULT NULL COMMENT '是否贷款黑名单',
+ `is_bad` varchar(10) DEFAULT NULL COMMENT '是否五级不良贷款客户',
+ `shape_id` varchar(200) DEFAULT NULL COMMENT '归属区域编码',
+ `ops_dept` varchar(1) DEFAULT NULL COMMENT '部室归属 0零售 1公司 2运管',
+ `cust_type` varchar(1) DEFAULT NULL COMMENT '客户类型'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自定义地图客户明细统计_零售'
+
+-- zhanglinbin
+ALTER TABLE corporate_shareholder ADD `per_cust_type` varchar(10) NULL COMMENT '关联人客户类型';
+
diff --git a/doc/2.2.3需求slq b/doc/2.2.3需求slq
new file mode 100644
index 0000000..7385b68
--- /dev/null
+++ b/doc/2.2.3需求slq
@@ -0,0 +1,295 @@
+-- zy
+
+INSERT INTO sys_dict_type
+( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES('自定义名单网格热力图-公司指标', 'gridshapecountindex_gs', '0', 'admin', '2025-06-20 16:15:28', 'admin', '2025-06-20 16:16:18', NULL);
+INSERT INTO sys_dict_type
+( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES('自定义名单网格热力图-零售指标', 'gridshapecountindex_ls', '0', 'admin', '2025-06-20 16:16:08', '', NULL, NULL);
+
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '入格客户数', 'cust_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '活期存款余额', 'hq_cur_balance', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '保证金存款余额', 'bz_cur_balance', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款余额', 'loan_balance_cny', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贴现余额', 'finance_prod_711_balance', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '承兑汇票余额', 'finance_prod_716_balance', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款年日均', 'loan_year_dailyaverage', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', 'htqy_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '签发承兑汇票率', 'qfcd_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贴现业务率', 'tx_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '保函业务率', 'bh_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '有效代发工资率', 'yxdfgz_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费率', 'dkdf_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣水费率', 'dksf_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣税费率', 'dkshf_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '票据宝签约率', 'pjb_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '财资宝签约率', 'czb_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收付宝签约率', 'sfb_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贸融宝签约率', 'mrb_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '数字生态产品签约率', 'szst_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '开户率', 'kh_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '国际结算业务率', 'gjjsyw_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '远期结算汇业务率', 'yqjsh_rat', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约数', 'htqy_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '签发承兑汇票数', 'qfcd_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贴现业务数', 'tx_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '保函业务数', 'bh_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '有效代发工资数', 'yxdfgz_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '月均代发工资笔数', 'ustr_count_per_m', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '月均代发工资金额(元)', 'ustr_bal_m', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费数', 'dkdf_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣水费数', 'dksf_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣税费数', 'dkshf_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '票据宝签约数', 'pjb_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '财资宝签约数', 'czb_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收付宝签约数', 'sfb_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贸融宝签约数', 'mrb_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '数字生态产品签约数', 'szst_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '开户数', 'kh_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '国际结算业务数', 'gjjsyw_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '远期结算汇业务数', 'yqjsh_num', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近365天已走访人数', 'zf_365cnt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近180天已走访人数', 'zf_180cnt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近90天已走访人数', 'zf_90cnt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近30天已走访人数', 'zf_30cnt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', '', NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近365天走访率', 'zf_365rt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近180天走访率', 'zf_180rt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近90天走访率', 'zf_90rt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近30天走访率', 'zf_30rt', 'gridshapecountindex_gs', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '入格客户数', 'cust_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '活期存款余额', 'cur_bal_d', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '定期存款余额', 'cur_bal_t', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款余额', 'bal_loan', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款余额', 'cur_bal_5_bad', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '活期存款年日均', 'cur_d_ave', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '定期存款年日均', 'cur_t_ave', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款年日均', 'loan_ave', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '建档率', 'ph_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '授信率', 'sx_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约率', 'yxht_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '信用卡覆盖率', 'xyk_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '丰收互联覆盖率', 'fshl_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收单覆盖率', 'sd_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, 'ETC覆盖率', 'etc_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费覆盖率', 'dian_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款黑名单占比', 'black_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(人)', 'bad_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款占比(金额)', 'bad_bal_rat', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '建档客户数', 'ph_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '授信客户数', 'sx_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '合同签约客户数', 'yxht_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '持有信用卡客户数', 'xyk_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '开通丰收互联客户数', 'fshl_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '收单客户数', 'sd_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, 'ETC客户数', 'etc_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '代扣电费客户数', 'dian_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '贷款黑名单客户数', 'black_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '五级不良贷款客户数', 'bad_num', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近365天已走访人数', 'zf_365cnt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近180天已走访人数', 'zf_180cnt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近90天已走访人数', 'zf_90cnt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近30天已走访人数', 'zf_30cnt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近365天走访率', 'zf_365rt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近180天走访率', 'zf_180rt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近90天走访率', 'zf_90rt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+INSERT INTO sys_dict_data ( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES( 0, '近30天走访率', 'zf_30rt', 'gridshapecountindex_ls', '', '', 'N', '0', 'admin', '2025-03-12 10:50:15', NULL, NULL, '');
+
+
+ALTER TABLE sys_campaign_group_customer ADD cust_name varchar(100) NULL COMMENT '客戶姓名';
+ALTER TABLE sys_campaign_group_customer ADD cust_isn varchar(100) NULL COMMENT '客戶内碼';
+ALTER TABLE sys_campaign_group_customer ADD lp_name varchar(100) NULL COMMENT '法人姓名';
+
+ALTER TABLE sys_campaign ADD `related_model_id` varchar(100) NULL COMMENT '关联反馈模板uuid 默认模板-1';
+
+
+CREATE TABLE `lowcode_visst_feedback_model` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `uuid` varchar(100) DEFAULT NULL COMMENT '主键',
+ `dept_id` bigint(21) DEFAULT NULL COMMENT '机构号',
+ `model_name` varchar(200) DEFAULT NULL COMMENT '模板名字',
+ `model_detal` json DEFAULT NULL COMMENT '模板内容',
+ `belong_outlet_id` varchar(500) DEFAULT NULL COMMENT '归属网点',
+ `belong_outlet_name` varchar(500) DEFAULT NULL COMMENT '归属网点',
+ `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人',
+ `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间',
+ `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人',
+ `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间',
+ `model_type` varchar(2) DEFAULT NULL COMMENT '模板类型 0零售1公司2运管',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='走访反馈自定义模板编辑表';
+
+INSERT INTO sys_dict_type
+( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES( '外部系统链接', 'external_url', '0', 'admin', '2025-07-03 18:07:27', '', NULL, NULL);
+
+INSERT INTO sys_dict_data
+( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark)
+VALUES(0, 'product_manual', '数智支行操作手册V1.0.docx', 'product_manual_szzh', NULL, 'default', 'N', '0', 'admin', '2025-06-26 19:28:33', '', NULL, NULL);
+INSERT INTO sys_dict_data
+( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark)
+VALUES(0, '965-系统A', 'http://xxxxx/', 'external_url', NULL, 'default', 'N', '0', 'admin', '2025-07-03 18:08:44', '', NULL, NULL);
+INSERT INTO sys_dict_data
+( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark)
+VALUES(1, '965-系统B', 'http://xxxx', 'external_url', NULL, 'default', 'N', '0', 'admin', '2025-07-03 18:09:09', '', NULL, NULL);
+INSERT INTO sys_dict_data
+( dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark)
+VALUES( 0, '932-系统C', 'HTTPS://1213', 'external_url', NULL, 'default', 'N', '0', 'admin', '2025-07-03 18:35:28', '', NULL, NULL);
+INSERT INTO sys_dict_type
+(dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark)
+VALUES( '数智支行操作手册名称', 'product_manual_szzh', '0', 'admin', '2025-06-26 19:27:31', '', NULL, NULL);
+
+
+
+
+-- ibs.grid_region_transfer definition
+
+CREATE TABLE `grid_region_transfer` (
+ `id` bigint(21) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `status` varchar(10) DEFAULT NULL COMMENT '状态 0支行审批 1总行审批 2审批通过 -1审批拒绝',
+ `cust_id` varchar(100) DEFAULT NULL COMMENT '客户号',
+ `cust_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
+ `cust_type` varchar(100) DEFAULT NULL,
+ `ops_dept` varchar(10) DEFAULT NULL COMMENT '部室',
+ `prev_grid_id` bigint(21) DEFAULT NULL COMMENT '原网格',
+ `prev_grid_name` varchar(255) DEFAULT NULL COMMENT '原网格名称',
+ `prev_user` varchar(100) DEFAULT NULL COMMENT '原客户经理',
+ `prev_branch_id` bigint(21) DEFAULT NULL COMMENT '原支行',
+ `prev_branch_name` varchar(100) DEFAULT NULL COMMENT '原支行名称',
+ `next_grid_id` bigint(21) DEFAULT NULL COMMENT '移交网格',
+ `next_grid_name` varchar(255) DEFAULT NULL COMMENT '移交网格名称',
+ `next_branch_ids` varchar(255) DEFAULT NULL COMMENT '移交支行',
+ `next_branch_name` varchar(255) DEFAULT NULL COMMENT '移交支行名称',
+ `next_users` varchar(255) DEFAULT NULL COMMENT '移交客户经理',
+ `approve_branch_user` varchar(255) DEFAULT NULL COMMENT '审批支行管理员',
+ `approve_branch_result` varchar(1) DEFAULT NULL COMMENT '审批支行结果',
+ `approve_head_user` varchar(255) DEFAULT NULL COMMENT '审批总行部室管理员',
+ `approve_head_result` varchar(1) DEFAULT NULL COMMENT '审批总行结果',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `create_by` varchar(100) DEFAULT NULL COMMENT '创建者',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='行政网格移交表';
+
+ALTER TABLE ibs.grid_region_cust_user_965 ADD region_name varchar(100) NULL;
+ALTER TABLE ibs.grid_region_cust_user_965 ADD top_grid_duty_type varchar(100) NULL;
+ALTER TABLE ibs.grid_region_cust_user_965 ADD sec_grid_duty_type varchar(100) NULL;
+
+
+-- ibs.task_visit_cust_address definition
+
+CREATE TABLE `task_visit_cust_address` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `cust_id` varchar(50) NOT NULL,
+ `province` varchar(50) DEFAULT NULL,
+ `city` varchar(50) DEFAULT NULL,
+ `county` varchar(50) DEFAULT NULL,
+ `detail_address` text,
+ `lng` decimal(15,8) DEFAULT NULL,
+ `lat` decimal(15,8) DEFAULT NULL,
+ `user_name` varchar(50) DEFAULT NULL,
+ `update_time` datetime DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='走访地址采集';
+-- ibs.task_visit_image definition
+
+CREATE TABLE `task_visit_image` (
+ `file_id` varchar(100) NOT NULL COMMENT 'uuid',
+ `record_id` varchar(100) NOT NULL COMMENT '任务走访id',
+ `sign_type` varchar(1) NOT NULL COMMENT '打卡类型 0签到 1签退',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`file_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='走访打卡图片';
+
+-- ibs.task_visit_record definition
+
+CREATE TABLE `task_visit_record` (
+ `id` varchar(100) NOT NULL COMMENT 'id',
+ `campaign_id` varchar(100) NOT NULL COMMENT '任务id',
+ `campaign_name` varchar(100) NOT NULL COMMENT '任务名称',
+ `cust_id` varchar(100) NOT NULL COMMENT '客户号',
+ `cust_name` varchar(100) NOT NULL COMMENT '客户名称',
+ `user_id` bigint(20) DEFAULT NULL,
+ `nick_name` varchar(100) NOT NULL COMMENT '客户经理名称',
+ `user_name` varchar(100) NOT NULL COMMENT '客户经理柜员号',
+ `sign_id` varchar(100) DEFAULT NULL,
+ `latest_sign` varchar(100) DEFAULT NULL,
+ `duration` double DEFAULT '0',
+ `feedback_id` varchar(100) DEFAULT NULL,
+ `feedback_type` varchar(100) DEFAULT NULL COMMENT '反馈模板类型 0对私 1对公 2自定义',
+ `feedback_template_id` varchar(100) DEFAULT NULL,
+ `cust_type` varchar(100) DEFAULT NULL,
+ `visit_type` varchar(100) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='任务走访记录';
+
+-- ibs.task_visit_sign definition
+
+CREATE TABLE `task_visit_sign` (
+ `id` varchar(100) NOT NULL COMMENT 'id',
+ `record_id` varchar(100) DEFAULT NULL COMMENT '走访记录id',
+ `sign_in_time` datetime DEFAULT NULL COMMENT '签到时间',
+ `sign_in_address` text COMMENT '签到地址',
+ `sign_in_lng` decimal(15,8) DEFAULT NULL COMMENT '签到经度',
+ `sign_in_lat` decimal(15,8) DEFAULT NULL COMMENT '签到纬度',
+ `sign_out_time` datetime DEFAULT NULL COMMENT '签退时间',
+ `sign_out_address` text COMMENT '签退地址',
+ `sign_out_lng` decimal(15,8) DEFAULT NULL COMMENT '签退经度',
+ `sign_out_lat` decimal(15,8) DEFAULT NULL COMMENT '签退纬度',
+ `sign_out_remark` text,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='走访任务打卡记录';
+
+-- ibs.visit_feedback_private definition
+
+CREATE TABLE `visit_feedback_private` (
+ `id` varchar(100) NOT NULL COMMENT 'uuid',
+ `client_suggestion` text COMMENT '客户反馈意见',
+ `client_label` text COMMENT '客户标签',
+ `intend_product` text COMMENT '意向产品',
+ `other_intend` text COMMENT '其他意向',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='走访反馈对私';
+-- ibs.visit_feedback_public definition
+
+CREATE TABLE `visit_feedback_public` (
+ `id` varchar(100) NOT NULL COMMENT 'uuid',
+ `client_suggestion` text COMMENT '客户意见',
+ `client_label` text COMMENT '客户标签',
+ `status_flag` varchar(1) DEFAULT NULL COMMENT '是否经营',
+ `address_consist` varchar(1) DEFAULT NULL COMMENT '地址是否一致',
+ `address` text COMMENT '地址',
+ `scope_consist` varchar(1) DEFAULT NULL COMMENT '经营范围是否一致',
+ `scope` text COMMENT '经营范围',
+ `relate_person` text COMMENT '关联人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='走访反馈对公';
+
+-- ibs.oss_file_data definition
+
+CREATE TABLE `oss_file_data` (
+ `file_id` varchar(255) NOT NULL COMMENT 'uuid',
+ `file_name` varchar(255) NOT NULL COMMENT '文件名',
+ `original_file_name` varchar(100) DEFAULT NULL,
+ `content_type` varchar(255) DEFAULT NULL COMMENT '文件类型',
+ `file_size` double DEFAULT NULL,
+ `file_enum` varchar(100) DEFAULT NULL,
+ `user_name` varchar(100) DEFAULT NULL,
+ `file_url` varchar(255) NOT NULL COMMENT '文件url',
+ `create_time` datetime DEFAULT NULL,
+ PRIMARY KEY (`file_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `qywx_org` (
+ `org_id` varchar(100) DEFAULT NULL COMMENT '机构id',
+ `app_id` varchar(100) DEFAULT NULL,
+ `agent_id` varchar(100) DEFAULT NULL,
+ `secret` varchar(100) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='企业微信机构参数表'
+
+
+
+
+
+
+
+
+
diff --git a/doc/v2.2.2_mysql.txt b/doc/v2.2.2_mysql.txt
new file mode 100644
index 0000000..ba48c3d
--- /dev/null
+++ b/doc/v2.2.2_mysql.txt
@@ -0,0 +1,143 @@
+INSERT INTO sys_dict_type ( dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES('地图拓客货币币种码值', 'cust_map_cur_metric', '0', 'admin', '2025-05-23 10:06:15', '', NULL, NULL);
+
+INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) values
+(0, '人民币元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '加元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '哥伦比亚比索', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '德国马克', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '挪威马克', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '新加坡元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '日元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '欧元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '法国法郎', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '港元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '澳大利亚元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '瑞典克朗', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '瑞士法郎', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '美元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '英镑', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '阿富汗尼', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '韩元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '新台币', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL),
+(0, '新西兰元', '101', 'cust_map_cur_metric', NULL, 'default', 'N', '0', 'admin', '2025-05-23 10:14:00', '', NULL, NULL);
+
+-- dept_address definition
+
+CREATE TABLE `dept_address` (
+ `dept_id` bigint(21) NOT NULL COMMENT '部门id',
+ `address` longtext,
+ `city` varchar(100) DEFAULT NULL,
+ `lng` decimal(15,8) DEFAULT NULL,
+ `lat` decimal(15,8) DEFAULT NULL,
+ PRIMARY KEY (`dept_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='机构地址表';
+
+CREATE TABLE cust_map_favorite(
+ id bigint(21) NOT NULL COMMENT '主键' ,
+ user_name VARCHAR(100) COMMENT '用户名' ,
+ cust_name VARCHAR(100) COMMENT '企业名称' ,
+ lp_name VARCHAR(100) COMMENT '法人姓名' ,
+ phone_number VARCHAR(100) COMMENT '联系方式' ,
+ regist_capi_show VARCHAR(100) COMMENT '注册资本展示字段' ,
+ province VARCHAR(100) COMMENT '省' ,
+ city VARCHAR(100) COMMENT '市' ,
+ address_detail longtext COMMENT '详细地址' ,
+ longitude DECIMAL(15,15) COMMENT '经度' ,
+ latitude DECIMAL(15,15) COMMENT '纬度' ,
+ start_date DATE COMMENT '成立年限' ,
+ PRIMARY KEY (id)
+) COMMENT = '地图拓客收藏表';
+
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965000,'临海市大洋街道河阳路299号','台州市',121.19534176,28.88832500),
+ (965010,'临海市大洋街道河阳路299号','台州市',121.19534176,28.88832500),
+ (965013,'临海市凯歌路2号','台州市',121.15229963,28.86509170),
+ (965020,'临海市古城街道巾山中路2号','台州市',121.14417311,28.85059030),
+ (965022,'临海市古城街道洪池路108号、110号、112号','台州市',121.13400420,28.85616354),
+ (965030,'临海市大洋街道柏叶中路291号','台州市',121.18192853,28.87585265),
+ (965035,'临海市大田街道东方大道659号','台州市',121.20797193,28.91396531),
+ (965036,'临海市大洋街道绿化村','台州市',121.16425365,28.88920773),
+ (965040,'临海市江南街道江南大道4号','台州市',121.14258149,28.82589609),
+ (965041,'临海市江南街道小溪村1-98号','台州市',121.13226023,28.78969755);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965042,'临海市古城街道两水村','台州市',121.16166680,28.84179629),
+ (965050,'临海市大田街道奋进东街258号','台州市',121.21702020,28.91170836),
+ (965052,'临海市大田街道奋进西街119号','台州市',121.20810766,28.91187499),
+ (965060,'临海市汛桥镇汛汇路2号','台州市',121.18481972,28.79844536),
+ (965070,'临海市东塍镇川津路427号8-12','台州市',121.26984057,28.93071358),
+ (965071,'临海市东塍镇屈家村2-157A','台州市',121.26016734,28.94013888),
+ (965072,'临海市东塍镇康一村371号','台州市',121.40748541,28.93156402),
+ (965080,'临海市邵家渡街道邵临东路54号','台州市',121.22261494,28.86553519),
+ (965081,'临海市邵家渡街道中台村265号','台州市',121.20895872,28.82085263),
+ (965090,'临海市小芝镇溪滨北路1号','台州市',121.46179992,28.85924349);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965100,'临海市杜桥镇滨海路599号','台州市',121.50550545,28.75783738),
+ (965102,'临海市杜桥镇西岸村4-82号','台州市',121.53366274,28.73910159),
+ (965104,'临海市杜桥镇汾东村15-14、15-15号','台州市',121.48521237,28.74923323),
+ (965108,'临海市杜桥镇杜下浦村','台州市',121.54213682,28.72408230),
+ (965109,'临海市杜桥镇下街路耀达商城16幢','台州市',121.51490541,28.76573292),
+ (965110,'浙江省临海市上盘镇西大路10号','台州市',121.58828484,28.75916566),
+ (965111,'浙江省临海市上盘镇银山街267号','台州市',121.60305280,28.75354870),
+ (965112,'浙江省临海市台州湾经济技术开发区乐安路77、79、81、83号','台州市',121.64550133,28.72767696),
+ (965120,'临海市桃渚镇东洋大道北7号','台州市',121.59241345,28.82726747),
+ (965121,'临海市桃渚镇连盘南路124号','台州市',121.58664399,28.78455584);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965122,'临海市桃渚镇顺南路119号','台州市',121.60391437,28.83248647),
+ (965123,'临海市桃渚镇项庄村','台州市',121.62403138,28.82529239),
+ (965124,'临海市桃渚镇城外村桃江路61号','台州市',121.54135916,28.83171938),
+ (965130,'临海市尤溪镇义城路205号','台州市',121.11074788,28.74381794),
+ (965140,'临海市涌泉镇灵泉街171号','台州市',121.32395548,28.76260117),
+ (965141,'临海市涌泉镇后泾村','台州市',121.35571399,28.72437942),
+ (965142,'临海市涌泉镇管岙村1-92号','台州市',121.25998355,28.78789657),
+ (965150,'临海市沿江镇水洋大道49号','台州市',121.24849270,28.74755964),
+ (965151,'临海市沿江镇西岑村4-291A','台州市',121.30993131,28.73750480),
+ (965152,'临海市沿江镇下岙村83号','台州市',121.30750795,28.70469465);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965153,'临海市沿江镇长甸三村49号','台州市',121.28051118,28.74876826),
+ (965160,'河头镇人民路82号','台州市',121.10915626,28.99917355),
+ (965161,'河头镇兰桥村26-1号','台州市',121.14503737,29.01422584),
+ (965170,'临海市括苍镇塍园路28号','台州市',120.99303455,28.86399880),
+ (965171,'临海市括苍镇小海门村3-197A','台州市',120.98924397,28.87119176),
+ (965180,'临海市永丰镇留贤村1-188号','台州市',121.07890061,28.89838696),
+ (965182,'临海市永丰镇赤缪一村赤缪街115号','台州市',121.07668503,28.89874271),
+ (965183,'临海市永丰镇更楼村3-68号','台州市',121.04637306,28.88508833),
+ (965190,'浙江省临海市白水洋镇黄沙大道81号','台州市',120.91519961,28.90253586),
+ (965191,'浙江省临海市白水洋镇永安路170号','台州市',120.90808171,28.90108097);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965192,'浙江省临海市白水洋镇中和路117号','台州市',120.96164309,28.95953814),
+ (965193,'浙江省临海市白水洋镇店前村1-2E','台州市',120.94016855,28.95268686),
+ (965194,'浙江省临海市白水洋镇黄坦村','台州市',120.91435125,28.90211277),
+ (965850,'临海市汇溪镇两头门村甬临路3号','台州市',121.22307505,28.95837869),
+ (965870,'临海市古城街道鹿城路170号','台州市',121.13738389,28.84895560),
+ (965871,'临海市古城街道赤城路50-20号','台州市',121.12452133,28.85063894),
+ (965872,'临海市古城街道巾山西路59号','台州市',121.12246636,28.84882874),
+ (965880,'临海市大洋街道大洋西路309号','台州市',121.15621300,28.86242371),
+ (965881,'临海市大洋街道东方大道120号','台州市',121.20797193,28.91396531),
+ (965890,'临海市杜桥镇府前街372号','台州市',121.50395605,28.76635382);
+INSERT INTO dept_address (dept_id,address,city,lng,lat) VALUES
+ (965891,'临海市杜桥镇解放街269号','台州市',121.50254679,28.76962042),
+ (965892,'临海市杜桥镇三房村2-145号','台州市',121.56718993,28.75758802),
+ (965893,'临海市杜桥镇溪口村2-105号','台州市',121.42106787,28.78712796);
+
+ALTER TABLE visit_trajectory_965 ADD head_id BIGINT NULL;
+ALTER TABLE visit_trajectory_965 ADD branch_id BIGINT NULL;
+ALTER TABLE visit_trajectory_965 ADD outlet_id BIGINT NULL;
+ALTER TABLE visit_trajectory_965 ADD user_name VARCHAR(50) NULL;
+
+
+
+--szq
+
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_365cnt varchar(100) NULL COMMENT '近365天已走访人数';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_180cnt varchar(100) NULL COMMENT '近180天已走访人数';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_90cnt varchar(100) NULL COMMENT '近90天已走访人数';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_30cnt varchar(100) NULL COMMENT '近30天已走访人数';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_365rt varchar(100) NULL COMMENT '近365天走访率';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_180rt varchar(100) NULL COMMENT '近180天走访率';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_90rt varchar(100) NULL COMMENT '近90天走访率';
+ALTER TABLE ibs.grid_shape_count_lingshou_965 ADD zf_30rt varchar(100) NULL COMMENT '近30天走访率';
+
+ALTER TABLE ibs.grid_shape_cust_lingshou_965 ADD is_365zf varchar(100) NULL COMMENT '近365天有无走访';
+ALTER TABLE ibs.grid_shape_cust_lingshou_965 ADD is_180zf varchar(100) NULL COMMENT '近180天有无走访';
+ALTER TABLE ibs.grid_shape_cust_lingshou_965 ADD is_90zf varchar(100) NULL COMMENT '近90天有无走访';
+ALTER TABLE ibs.grid_shape_cust_lingshou_965 ADD is_30zf varchar(100) NULL COMMENT '近30天有无走访';
\ No newline at end of file
diff --git a/doc/若依环境使用手册.docx b/doc/若依环境使用手册.docx
new file mode 100644
index 0000000..9e4daef
Binary files /dev/null and b/doc/若依环境使用手册.docx differ
diff --git a/ibs/pom.xml b/ibs/pom.xml
new file mode 100644
index 0000000..98181a2
--- /dev/null
+++ b/ibs/pom.xml
@@ -0,0 +1,78 @@
+
+
+ 4.0.0
+
+ com.ruoyi
+ ruoyi
+ 3.8.8
+
+
+ ibs
+
+
+
+
+
+ org.mockito
+ mockito-core
+ 3.3.3
+ test
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+
+
+ com.ruoyi
+ ruoyi-common
+
+
+ org.locationtech.jts
+ jts-core
+ 1.18.2
+
+
+ org.projectlombok
+ lombok
+
+
+ org.springframework
+ spring-webmvc
+ 5.3.31
+
+
+
+
+
+
+
+ io.swagger
+ swagger-annotations
+ 1.6.2
+
+
+ com.ruoyi
+ ruoyi-system
+
+
+ com.alibaba
+ easyexcel-core
+ 3.3.3
+
+
+ com.opencsv
+ opencsv
+ 5.2
+
+
+
+
+
\ No newline at end of file
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmController.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmController.java
new file mode 100644
index 0000000..fe3cf9f
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmController.java
@@ -0,0 +1,113 @@
+package com.ruoyi.ibs.cmpm.controller;
+
+import com.github.pagehelper.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataPageInfo;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ibs.cmpm.domain.dto.CustLevelDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.CustManagerDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmListDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.UserDeptDTO;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailCustLevelManagerDetailVO;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailResultVO;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmVO;
+import com.ruoyi.ibs.cmpm.service.GridCmpmCustService;
+import com.ruoyi.ibs.cmpm.service.GridCmpmService;
+import com.ruoyi.ibs.cmpm.service.GridCmpmTransferService;
+import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/20
+ **/
+@Api(tags = "绩效网格")
+@RestController
+@RequestMapping("/grid/cmpm")
+public class GridCmpmController extends BaseController {
+
+ @Resource
+ private GridCmpmService gridCmpmService;
+
+ @Resource
+ private GridCmpmCustService gridCmpmCustService;
+
+ @Resource
+ private GridCmpmTransferService gridCmpmTransferService;
+
+ @GetMapping("/list")
+ @Log(title = "绩效网格-查询绩效网格列表")
+ @ApiOperation("查询绩效网格列表")
+ public TableDataPageInfo selectManageList(GridCmpmListDTO gridCmpmListDTO) {
+ Page page = startPage();
+ List gridCmpmVOS = gridCmpmService.selectManageList(gridCmpmListDTO);
+ return getDataTable(gridCmpmVOS, page);
+ }
+
+ @GetMapping("/common/list")
+ @Log(title = "绩效网格-查询绩效网格公共池列表")
+ @ApiOperation("查询绩效网格公共池列表")
+ public TableDataPageInfo selectCommonList(GridCmpmListDTO gridCmpmListDTO) {
+ UserDeptDTO userDeptDTO = gridCmpmTransferService.getUserDeptDTO(SecurityUtils.getUsername());
+ if (Objects.nonNull(userDeptDTO.getBranchId())){
+ gridCmpmListDTO.setBranchId(userDeptDTO.getBranchId());
+ }
+ Page page = startPage();
+ List gridCmpmVOS = gridCmpmService.selectCommonList(gridCmpmListDTO);
+ return getDataTable(gridCmpmVOS, page);
+ }
+
+ @GetMapping("/cust/level")
+ @Log(title = "绩效网格-查询客户分层等级")
+ @ApiOperation("查询客户分层等级")
+ public AjaxResult custLevel(CustLevelDTO custLevelDTO) {
+ return success(gridCmpmService.getCustLevelByCust(custLevelDTO));
+ }
+
+ @GetMapping("/cust/list/tag")
+ @Log(title = "绩效网格-查询客户分层等级下拉框")
+ @ApiOperation("查询客户分层等级下拉框")
+ @ApiImplicitParam(name = "gridType", value = "零售retail 对公corporate 对公账户corporate_account", required = true, dataType = "String")
+ public AjaxResult custLevelListTag(@RequestParam String gridType) {
+ return success(gridCmpmService.getAllCustLevel(gridType));
+ }
+
+ @GetMapping("/custManagerList")
+ @Log(title = "绩效网格-查询管户报表")
+ @ApiOperation("查询管户报表")
+ public TableDataPageInfo selectCustManagerList(CustManagerDTO custManagerDTO) {
+ Page page = startPage();
+ List gridCmpmVOS = gridCmpmService.selectCustManagerList(custManagerDTO);
+ return getDataTable(gridCmpmVOS, page);
+ }
+
+ @GetMapping("/custManager/result")
+ @Log(title = "绩效网格-管户报表统计")
+ @ApiOperation("管户报表统计")
+ public DwbRetailResultVO selectCustManagerResult() {
+ return gridCmpmService.selectCustManagerResult();
+ }
+
+ @GetMapping("/custLevel/count")
+ @Log(title = "绩效网格-查询客户分层等级")
+ @ApiOperation("查询客户分层等级")
+ public AjaxResult custLevelCount(CustManagerDTO custManagerDTO) {
+ return success(gridCmpmService.custLevelCount(custManagerDTO));
+ }
+
+ @PostMapping("/custBaseInfo/list")
+ @Log(title = "绩效网格-我的客户绩效网格查询")
+ @ApiOperation("我的客户绩效网格查询")
+ public AjaxResult selectCustBaseInfoList(@RequestBody CustBaseInfo custBaseInfo) {
+ return AjaxResult.success( gridCmpmCustService.selectCustInfoList (custBaseInfo)) ;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmTransferController.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmTransferController.java
new file mode 100644
index 0000000..3850822
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/GridCmpmTransferController.java
@@ -0,0 +1,97 @@
+package com.ruoyi.ibs.cmpm.controller;
+
+import com.github.pagehelper.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataPageInfo;
+import com.ruoyi.ibs.cmpm.domain.dto.*;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmClaimVO;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmTransferVO;
+import com.ruoyi.ibs.cmpm.service.GridCmpmTransferService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/20
+ **/
+@Api(tags = "绩效网格移交")
+@RestController
+@RequestMapping("/grid/cmpm/transfer")
+public class GridCmpmTransferController extends BaseController {
+
+ @Resource
+ private GridCmpmTransferService gridCmpmTransferService;
+
+
+ @PostMapping("/create")
+ @Log(title = "绩效网格-创建关系移交审批")
+ @ApiOperation("创建关系移交审批")
+ public AjaxResult create(@RequestBody GridCmpmTransferDTO gridCmpmTransferDTO) {
+ return success(gridCmpmTransferService.createGridCmpmTransfer(gridCmpmTransferDTO));
+ }
+
+ @PostMapping("/create/claim")
+ @Log(title = "绩效网格-创建客户经理认领审批")
+ @ApiOperation("创建客户经理认领审批")
+ public AjaxResult createClaim(@RequestBody GridCmpmClaimDTO gridCmpmClaimDTO) {
+ return success(gridCmpmTransferService.createClaim(gridCmpmClaimDTO));
+ }
+
+ @PostMapping("/create/common/claim")
+ @Log(title = "绩效网格-创建公共池认领审批")
+ @ApiOperation("创建公共池认领审批")
+ public AjaxResult createCommonClaim(@RequestBody GridCmpmClaimDTO gridCmpmClaimDTO) {
+ return success(gridCmpmTransferService.createCommonClaim(gridCmpmClaimDTO));
+ }
+
+ @PostMapping("/approve")
+ @Log(title = "绩效网格-审批关系移交审批")
+ @ApiOperation("审批关系移交审批")
+ public AjaxResult approve(@RequestBody GridCmpmApproveDTO gridCmpmApproveDTO) {
+ return success(gridCmpmTransferService.approveTransfer(gridCmpmApproveDTO));
+ }
+
+ @GetMapping("/list/approve")
+ @ApiOperation("绩效网格-查询关系移交审批列表")
+ @Log(title = "查询关系移交审批列表")
+ public TableDataPageInfo list(GridCmpmTransferListDTO gridCmpmRetailListDTO) {
+ Page page = startPage();
+ List gridCmpmTransferList = gridCmpmTransferService.getGridCmpmTransferList(gridCmpmRetailListDTO);
+ return getDataTable(gridCmpmTransferList, page);
+ }
+
+ @GetMapping("/list/history")
+ @ApiOperation("绩效网格-查询关系移交审批历史列表")
+ @Log(title = "查询关系移交审批历史列表")
+ public TableDataPageInfo historyList(GridCmpmTransferListDTO gridCmpmRetailListDTO) {
+ Page page = startPage();
+ List gridCmpmTransferList = gridCmpmTransferService.getGridCmpmTransferHistoryList(gridCmpmRetailListDTO);
+ return getDataTable(gridCmpmTransferList, page);
+ }
+
+ @PostMapping("/adjust")
+ @ApiOperation("绩效网格-总行支行管理员调整关系")
+ @Log(title = "总行支行管理员调整关系")
+ public AjaxResult adjust(@RequestBody GridCmpmAdjustDTO gridCmpmAdjustDTO) {
+ return success(gridCmpmTransferService.adjustGridCmpm(gridCmpmAdjustDTO));
+ }
+
+ @GetMapping("/claim/list")
+ @ApiOperation("绩效网格-查询认领客户列表")
+ @Log(title = "查询认领客户列表")
+ public TableDataPageInfo claimList(String custKey, String gridType) {
+ Page page = startPage();
+ List gridCmpmClaimList = gridCmpmTransferService.queryClaimList(custKey, gridType);
+ return getDataTable(gridCmpmClaimList, page);
+ }
+
+
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/VisitCustReachController.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/VisitCustReachController.java
new file mode 100644
index 0000000..8041cb1
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/controller/VisitCustReachController.java
@@ -0,0 +1,59 @@
+package com.ruoyi.ibs.cmpm.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustReachDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustReachListDTO;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachListVO;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachVO;
+import com.ruoyi.ibs.cmpm.service.VisitCustReachService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Api(tags = "客户接触记录接口")
+@RestController
+@RequestMapping("/cust/reach")
+public class VisitCustReachController extends BaseController {
+
+ @Resource
+ private VisitCustReachService visitCustReachService;
+
+ @ApiOperation("查询客户接触记录列表")
+ @Log(title = "客户接触记录-查询客户接触记录列表")
+ @GetMapping("/list")
+ public R> queryVisitCustReachList(@Valid VisitCustReachListDTO visitCustReachListDTO){
+ return R.ok(visitCustReachService.queryVisitCustReachList(visitCustReachListDTO));
+ }
+
+ @ApiOperation("查询客户搜索框")
+ @Log(title = "客户接触记录-查询客户搜索框")
+ @GetMapping("/query")
+ public R> queryVisitCustReach(@RequestParam String custName){
+ return R.ok(visitCustReachService.queryVisitCust(custName));
+ }
+
+ @ApiOperation("保存客户接触记录")
+ @Log(title = "客户接触记录-保存客户接触记录")
+ @PostMapping("/save")
+ public R saveVisitCustReach(@RequestBody VisitCustReachDTO visitCustReachDTO){
+ return R.ok(visitCustReachService.saveVisitCustReachDTO(visitCustReachDTO));
+ }
+
+ @ApiOperation("查询客户历史接触记录")
+ @Log(title = "客户接触记录-查询客户历史接触记录")
+ @GetMapping("/query/history")
+ public R> queryVisitCustReachListByCustId(@RequestParam String custId){
+ return R.ok(visitCustReachService.queryVisitCustReachListByCustId(custId));
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustLevelDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustLevelDTO.java
new file mode 100644
index 0000000..fd70617
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustLevelDTO.java
@@ -0,0 +1,25 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/31
+ **/
+@Data
+public class CustLevelDTO {
+
+ /** 移交客户号 */
+ @ApiModelProperty(value = "客户号",notes = "")
+ private String custId ;
+
+ /** 移交客户账号 */
+ @ApiModelProperty(value = "客户账号",notes = "")
+ private String accountNo ;
+
+ @ApiModelProperty(value = "客戶類型 0個人 1商戶 2企業",notes = "")
+ private String custType;
+
+ private String gridType;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustManagerDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustManagerDTO.java
new file mode 100644
index 0000000..be557e0
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/CustManagerDTO.java
@@ -0,0 +1,21 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CustManagerDTO {
+
+ @ApiModelProperty(value = "客户星级",notes = "")
+ private String custLevel;
+
+ @ApiModelProperty(value = "柜员号",notes = "")
+ private String managerId;
+
+ @ApiModelProperty(value = "网点号",notes = "")
+ private String outletId;
+
+ @ApiModelProperty(value = "网点名",notes = "")
+ private String branchId;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmAdjustDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmAdjustDTO.java
new file mode 100644
index 0000000..d662a45
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmAdjustDTO.java
@@ -0,0 +1,24 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/17
+ **/
+@Data
+public class GridCmpmAdjustDTO {
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType;
+
+ private String deptCode;
+
+ /** 客户号 */
+ @ApiModelProperty(value = "客户信息",notes = "")
+ private List custList ;
+
+ private String userName;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmApproveDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmApproveDTO.java
new file mode 100644
index 0000000..e36710d
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmApproveDTO.java
@@ -0,0 +1,16 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/27
+ **/
+@Data
+public class GridCmpmApproveDTO {
+ private List idList;
+
+ private Boolean approveResult;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmBranchDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmBranchDTO.java
new file mode 100644
index 0000000..c8caecd
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmBranchDTO.java
@@ -0,0 +1,17 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/28
+ **/
+@Data
+public class GridCmpmBranchDTO {
+ private Long branchId;
+
+ private List custIdList;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmClaimDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmClaimDTO.java
new file mode 100644
index 0000000..de0ba44
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmClaimDTO.java
@@ -0,0 +1,24 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/27
+ **/
+@Data
+public class GridCmpmClaimDTO {
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户信息",notes = "")
+ private List custList ;
+ /** 新客户经理柜员号 */
+ @ApiModelProperty(value = "新客户经理柜员号",notes = "")
+ private String userName ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmListDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmListDTO.java
new file mode 100644
index 0000000..e55193f
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmListDTO.java
@@ -0,0 +1,44 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/15
+ **/
+@Data
+public class GridCmpmListDTO {
+
+ @ApiModelProperty(value = "网格类型 零售retail 对公corporate 对公账户对公corporate_account",notes = "")
+ private String gridType;
+
+ /** 客户号 */
+ @ApiModelProperty(name = "客户号",notes = "")
+ private String custId ;
+
+ /** 客户姓名 */
+ @ApiModelProperty(name = "客户姓名",notes = "")
+ private String custName ;
+ /** 客户姓名 */
+ @ApiModelProperty(name = "客户类型",notes = "")
+ private List custTypes ;
+ /** 客户层级 */
+ @ApiModelProperty(name = "客户层级",notes = "")
+ private List custLevels ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String userName ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "用户柜员号",notes = "")
+ private String curUserName ;
+ /** 网点机构号 */
+ @ApiModelProperty(name = "网点机构号",notes = "")
+ private Long outletId ;
+ /** 支行机构号 */
+ @ApiModelProperty(name = "支行机构号",notes = "")
+ private Long branchId ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferDTO.java
new file mode 100644
index 0000000..732769c
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferDTO.java
@@ -0,0 +1,30 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/20
+ **/
+@Data
+public class GridCmpmTransferDTO {
+
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户信息",notes = "")
+ private List custList ;
+ /** 原客户经理柜员号 */
+ @ApiModelProperty(value = "原客户经理柜员号",notes = "")
+ private String prevUserName ;
+ /** 新客户经理柜员号 */
+ @ApiModelProperty(value = "新客户经理柜员号",notes = "")
+ private String nextUserName ;
+ @ApiModelProperty(value = "是否全部移交",notes = "")
+ private Boolean isFullTransfer ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferListDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferListDTO.java
new file mode 100644
index 0000000..cb58f60
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmTransferListDTO.java
@@ -0,0 +1,29 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/20
+ **/
+@Data
+public class GridCmpmTransferListDTO {
+
+ /** 移交客户信息 */
+ @ApiModelProperty(value = "移交客户信息",notes = "")
+ private String keyword;
+
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+
+ private String userRole;
+
+ private Long deptId;
+
+ private String userName;
+
+ private String headId;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmUpdateDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmUpdateDTO.java
new file mode 100644
index 0000000..af65478
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/GridCmpmUpdateDTO.java
@@ -0,0 +1,47 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/13
+ **/
+@Data
+public class GridCmpmUpdateDTO {
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+ /** 归属总行 */
+ @ApiModelProperty(value = "归属总行",notes = "")
+ private String deptCode ;
+ /** 客户号 */
+ @ApiModelProperty(name = "客户号",notes = "")
+ private String custId ;
+ /** 客户内码 */
+ @ApiModelProperty(name = "账户号",notes = "")
+ private String accountNo ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String prevUserName ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String userName ;
+ /** 客户经理姓名 */
+ @ApiModelProperty(name = "客户经理姓名",notes = "")
+ private String nickName ;
+ /** 网点机构号 */
+ @ApiModelProperty(name = "网点机构号",notes = "")
+ private Long outletId ;
+ /** 网点名称 */
+ @ApiModelProperty(name = "网点名称",notes = "")
+ private String outletName ;
+ /** 支行机构号 */
+ @ApiModelProperty(name = "支行机构号",notes = "")
+ private Long branchId ;
+ /** 支行名称 */
+ @ApiModelProperty(name = "支行名称",notes = "")
+ private String branchName ;
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/TransferCustDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/TransferCustDTO.java
new file mode 100644
index 0000000..163b2d8
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/TransferCustDTO.java
@@ -0,0 +1,27 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/22
+ **/
+@Data
+public class TransferCustDTO {
+ /** 移交客户类型 */
+ @ApiModelProperty(value = "移交客户类型",notes = "")
+ private String custType ;
+ /** 移交客户名称 */
+ @ApiModelProperty(value = "移交客户名称",notes = "")
+ private String custName ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户号",notes = "")
+ private String custId ;
+ /** 移交客户账号 */
+ @ApiModelProperty(value = "移交客户账号",notes = "")
+ private String accountNo ;
+
+ @ApiModelProperty(value = "原客户经理",notes = "")
+ private String prevUserName ;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/UserDeptDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/UserDeptDTO.java
new file mode 100644
index 0000000..0ad37c5
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/UserDeptDTO.java
@@ -0,0 +1,21 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/21
+ **/
+@Data
+public class UserDeptDTO {
+
+ private Long deptId;
+
+ private String deptType;
+
+ private Long outletId;
+
+ private Long branchId;
+
+ private Long headId;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustQueryDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustQueryDTO.java
new file mode 100644
index 0000000..faddbbe
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustQueryDTO.java
@@ -0,0 +1,18 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+public class VisitCustQueryDTO {
+
+ private String custName;
+
+ private String userName;
+
+ private Long branchId;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachDTO.java
new file mode 100644
index 0000000..d6af27a
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachDTO.java
@@ -0,0 +1,64 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+public class VisitCustReachDTO {
+
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(value = "客户号",notes = "")
+ @NotNull
+ private String custId ;
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码",notes = "")
+ @NotNull
+ private String custIdn ;
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称",notes = "")
+ @NotNull
+ private String custName ;
+ /** 手机号 */
+ @ApiModelProperty(value = "手机号",notes = "")
+ private String mobile ;
+ /** 电访计划时间 */
+ @ApiModelProperty(value = "电访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telPlanDate ;
+ /** 电访计划内容 */
+ @ApiModelProperty(value = "电访计划内容",notes = "")
+ private String telPlanRemark ;
+ /** 电访总结时间 */
+ @ApiModelProperty(value = "电访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telSummaryDate ;
+ /** 电访总结内容 */
+ @ApiModelProperty(value = "电访总结内容",notes = "")
+ private String telSummaryRemark ;
+ /** 面访计划时间 */
+ @ApiModelProperty(value = "面访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitPlanDate ;
+ /** 面访计划内容 */
+ @ApiModelProperty(value = "面访计划内容",notes = "")
+ private String visitPlanRemark ;
+ /** 面访总结时间 */
+ @ApiModelProperty(value = "面访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitSummaryDate ;
+ /** 面访总结内容 */
+ @ApiModelProperty(value = "面访总结内容",notes = "")
+ private String visitSummaryRemark ;
+ /** 提交标识 */
+ @ApiModelProperty(value = "提交标识 保存False 提交True",notes = "")
+ private Boolean submitFlag ;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachListDTO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachListDTO.java
new file mode 100644
index 0000000..a2a0fa6
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/dto/VisitCustReachListDTO.java
@@ -0,0 +1,39 @@
+package com.ruoyi.ibs.cmpm.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+@Valid
+public class VisitCustReachListDTO {
+
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称",notes = "")
+ private String custName ;
+ /** 客户名称 */
+ @ApiModelProperty(value = "权限柜员号",notes = "", hidden = true)
+ private String aliasUserName;
+ /** 客户名称 */
+ @ApiModelProperty(value = "柜员号",notes = "")
+ private String userName;
+ /** 客户名称 */
+ @ApiModelProperty(value = "柜员号",notes = "")
+ private String editUserName;
+
+ @ApiModelProperty(hidden = true)
+ private Long deptId;
+
+ @NotNull
+ private Integer pageNum;
+
+ @NotNull
+ private Integer pageSize;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/DwbRetailCustLevelManagerDetail.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/DwbRetailCustLevelManagerDetail.java
new file mode 100644
index 0000000..80baf33
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/DwbRetailCustLevelManagerDetail.java
@@ -0,0 +1,99 @@
+package com.ruoyi.ibs.cmpm.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 零售星级客户管户明细表
+ *
+ * @author ruoyi
+ * @date 2024-11-20
+ */
+@Data
+@TableName("dwb_retail_cust_level_manager_detail")
+@ApiModel(description = "零售星级客户管户明细表")
+public class DwbRetailCustLevelManagerDetail {
+
+ /** id */
+ @TableId
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ /** 网点号 */
+ @ApiModelProperty(value = "网点号")
+ private String outletId;
+
+ /** 网点名 */
+ @ApiModelProperty(value = "网点名")
+ private String outletName;
+
+ /** 支行号 */
+ @ApiModelProperty(value = "支行号")
+ private String branchId;
+
+ /** 支行名 */
+ @ApiModelProperty(value = "支行名")
+ private String branchName;
+
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称")
+ private String custName;
+
+ /** 客户证件号 */
+ @ApiModelProperty(value = "客户证件号")
+ private String custIdc;
+
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码")
+ private String custIsn;
+
+ /** 年龄 */
+ @ApiModelProperty(value = "年龄")
+ private String custAge;
+
+ /** 性别 */
+ @ApiModelProperty(value = "性别")
+ private String custSex;
+
+ /** 联系电话 */
+ @ApiModelProperty(value = "联系电话")
+ private String custPhone;
+
+ /** 联系地址 */
+ @ApiModelProperty(value = "联系地址")
+ private String custAddress;
+
+ /** 总资产余额 */
+ @ApiModelProperty(value = "总资产余额")
+ private BigDecimal custAumBal;
+
+ /** 总资产余额较上月变动 */
+ @ApiModelProperty(value = "总资产余额较上月变动")
+ private BigDecimal aumBalCompLm;
+
+ /** 总资产月日均 */
+ @ApiModelProperty(value = "总资产月日均")
+ private BigDecimal custAumMonthAvg;
+
+ /** 客户星级 */
+ @ApiModelProperty(value = "客户星级")
+ private String custLevel;
+
+ /** 星级较上月变动 */
+ @ApiModelProperty(value = "星级较上月变动")
+ private String custLevelCompLm;
+
+ /** 责任人 */
+ @ApiModelProperty(value = "责任人")
+ private String managerName;
+
+ /** 责任人柜员号 */
+ @ApiModelProperty(value = "责任人柜员号")
+ private String managerId;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpm.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpm.java
new file mode 100644
index 0000000..4ca2ec4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpm.java
@@ -0,0 +1,73 @@
+package com.ruoyi.ibs.cmpm.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/15
+ *
+ * ALTER TABLE ibs.grid_cmpm_retail_965 ADD cust_type varchar(100) NULL COMMENT '0个人 1商户 2企业';
+ * ALTER TABLE ibs.grid_cmpm_retail_965 ADD grid_type varchar(100) NULL COMMENT '零售retail 对公corporate 对公账户corporateAccount';
+ * ALTER TABLE ibs.grid_cmpm_retail_965 ADD account_no varchar(100) NULL COMMENT '账户号';
+ **/
+@Data
+public class GridCmpm {
+ /** id */
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(name = "id",notes = "")
+ private Long id ;
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+ /** 客户类型 retail merchant business */
+ @ApiModelProperty(name = "客户类型",notes = "")
+ private String custType ;
+ /** 客户号 */
+ @ApiModelProperty(name = "客户号",notes = "")
+ private String custId ;
+ /** 身份证号 */
+ @ApiModelProperty(name = "身份证号",notes = "")
+ private String custIdc ;
+ /** 统信码 */
+ @ApiModelProperty(name = "统信码",notes = "")
+ private String usci;
+ /** 客户内码 */
+ @ApiModelProperty(name = "客户内码",notes = "")
+ private String custIdn ;
+ /** 客户内码 */
+ @ApiModelProperty(name = "账户号",notes = "")
+ private String accountNo ;
+ /** 客户姓名 */
+ @ApiModelProperty(name = "客户姓名",notes = "")
+ private String custName ;
+ /** 客户层级 */
+ @ApiModelProperty(name = "客户层级",notes = "")
+ private String custLevel ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String userName ;
+ /** 客户经理姓名 */
+ @ApiModelProperty(name = "客户经理姓名",notes = "")
+ private String nickName ;
+ /** 网点机构号 */
+ @ApiModelProperty(name = "网点机构号",notes = "")
+ private Long outletId ;
+ /** 网点名称 */
+ @ApiModelProperty(name = "网点名称",notes = "")
+ private String outletName ;
+ /** 支行机构号 */
+ @ApiModelProperty(name = "支行机构号",notes = "")
+ private Long branchId ;
+ /** 支行名称 */
+ @ApiModelProperty(name = "支行名称",notes = "")
+ private String branchName ;
+
+ private String source;
+ /** 锁定标识 */
+ @ApiModelProperty(name = "锁定标识",notes = "")
+ private Boolean lockFlag ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmRetail.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmRetail.java
new file mode 100644
index 0000000..812f4f0
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmRetail.java
@@ -0,0 +1,60 @@
+package com.ruoyi.ibs.cmpm.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/15
+ **/
+@Data
+public class GridCmpmRetail {
+ /** id */
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(name = "id",notes = "")
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(name = "客户号",notes = "")
+ private String custId ;
+ /** 身份证号 */
+ @ApiModelProperty(name = "身份证号",notes = "")
+ private String custIdc ;
+ /** 统信码 */
+ @ApiModelProperty(name = "统信码",notes = "")
+ private String usci;
+ /** 客户内码 */
+ @ApiModelProperty(name = "客户内码",notes = "")
+ private String custIdn ;
+ /** 客户姓名 */
+ @ApiModelProperty(name = "客户姓名",notes = "")
+ private String custName ;
+ /** 客户层级 */
+ @ApiModelProperty(name = "客户层级",notes = "")
+ private String custLevel ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String userName ;
+ /** 客户经理姓名 */
+ @ApiModelProperty(name = "客户经理姓名",notes = "")
+ private String nickName ;
+ /** 网点机构号 */
+ @ApiModelProperty(name = "网点机构号",notes = "")
+ private Long outletId ;
+ /** 网点名称 */
+ @ApiModelProperty(name = "网点名称",notes = "")
+ private String outletName ;
+ /** 支行机构号 */
+ @ApiModelProperty(name = "支行机构号",notes = "")
+ private Long branchId ;
+ /** 支行名称 */
+ @ApiModelProperty(name = "支行名称",notes = "")
+ private String branchName ;
+
+ private String source;
+ /** 锁定标识 */
+ @ApiModelProperty(name = "锁定标识",notes = "")
+ private Boolean lockFlag ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmTransfer.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmTransfer.java
new file mode 100644
index 0000000..be013a8
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/GridCmpmTransfer.java
@@ -0,0 +1,105 @@
+package com.ruoyi.ibs.cmpm.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/20
+ *
+ * ALTER TABLE ibs.grid_cmpm_transfer ADD cust_type varchar(100) NULL COMMENT '客户类型 0个人1商户2企业';
+ **/
+@Data
+public class GridCmpmTransfer {
+
+ /** id */
+ @ApiModelProperty(value = "id",notes = "")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id ;
+ @ApiModelProperty(value = "0移交 1认领",notes = "")
+ private String transferLabel;
+ /** 移交类型 网点内 支行内 跨支行 */
+ @ApiModelProperty(value = "移交类型 0网点内 1支行内 2跨支行",notes = "")
+ private Integer transferType ;
+ /** 移交状态 审批中 通过 拒绝 */
+ @ApiModelProperty(value = "移交状态 0网点审批中 1支行审批中 2总行审批中 3通过 -1拒绝",notes = "")
+ private String transferStatus ;
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售retail 对公corporate 对公账户corporate_account",notes = "")
+ private String gridType ;
+ /** 归属总行 */
+ @ApiModelProperty(value = "归属总行",notes = "")
+ private String headId ;
+ /** 移交客户名称 */
+ @ApiModelProperty(value = "移交客户名称",notes = "")
+ private String custName ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户号",notes = "")
+ private String custId ;
+ /** 移交客户类型 */
+ @ApiModelProperty(value = "移交客户类型",notes = "")
+ private String custType ;
+ /** 移交客户账号 */
+ @ApiModelProperty(value = "移交客户账号",notes = "")
+ private String accountNo ;
+ /** 原客户经理柜员号 */
+ @ApiModelProperty(value = "原客户经理柜员号",notes = "")
+ private String prevUserName ;
+ /** 原归属网点 */
+ @ApiModelProperty(value = "原归属网点",notes = "")
+ private Long prevOutletId ;
+ /** 原归属支行 */
+ @ApiModelProperty(value = "原归属支行",notes = "")
+ private Long prevBranchId ;
+ /** 新客户经理柜员号 */
+ @ApiModelProperty(value = "新客户经理柜员号",notes = "")
+ private String nextUserName ;
+ /** 新归属网点 */
+ @ApiModelProperty(value = "新归属网点",notes = "")
+ private Long nextOutletId ;
+ /** 新归属支行 */
+ @ApiModelProperty(value = "新归属支行",notes = "")
+ private Long nextBranchId ;
+ /** 网点审批人 */
+ @ApiModelProperty(value = "网点审批人",notes = "")
+ private String outletApprover ;
+ /** 网点审批结果 */
+ @ApiModelProperty(value = "网点审批结果",notes = "")
+ private Boolean outletApproveResult ;
+ /** 网点审批时间 */
+ @ApiModelProperty(value = "网点审批时间",notes = "")
+ private Date outletApproveTime ;
+ /** 支行审批人 */
+ @ApiModelProperty(value = "支行审批人",notes = "")
+ private String branchApprover ;
+ /** 支行审批结果 */
+ @ApiModelProperty(value = "支行审批结果",notes = "")
+ private Boolean branchApproveResult ;
+ /** 支行审批时间 */
+ @ApiModelProperty(value = "支行审批时间",notes = "")
+ private Date branchApproveTime ;
+ /** 总行审批人 */
+ @ApiModelProperty(value = "总行审批人",notes = "")
+ private String headApprover ;
+ /** 总行审批结果 */
+ @ApiModelProperty(value = "总行审批结果",notes = "")
+ private Boolean headApproveResult ;
+ /** 总行审批时间 */
+ @ApiModelProperty(value = "总行审批时间",notes = "")
+ private Date headApproveTime ;
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间",notes = "")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime ;
+ /** 更新时间 */
+ @ApiModelProperty(value = "更新时间",notes = "")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Date updateTime ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/VisitCustReach.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/VisitCustReach.java
new file mode 100644
index 0000000..7e89de4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/entity/VisitCustReach.java
@@ -0,0 +1,87 @@
+package com.ruoyi.ibs.cmpm.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/10
+ **/
+@Data
+public class VisitCustReach {
+ /** 主键 */
+ @ApiModelProperty(value = "主键",notes = "")
+ @TableId(type = IdType.AUTO)
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(value = "客户号",notes = "")
+ private String custId ;
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码",notes = "")
+ private String custIdn ;
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称",notes = "")
+ private String custName ;
+ /** 手机号 */
+ @ApiModelProperty(value = "手机号",notes = "")
+ private String mobile ;
+ /** 电访计划时间 */
+ @ApiModelProperty(value = "电访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telPlanDate ;
+ /** 电访计划内容 */
+ @ApiModelProperty(value = "电访计划内容",notes = "")
+ private String telPlanRemark ;
+ /** 电访总结时间 */
+ @ApiModelProperty(value = "电访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telSummaryDate ;
+ /** 电访总结内容 */
+ @ApiModelProperty(value = "电访总结内容",notes = "")
+ private String telSummaryRemark ;
+ /** 面访计划时间 */
+ @ApiModelProperty(value = "面访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitPlanDate ;
+ /** 面访计划内容 */
+ @ApiModelProperty(value = "面访计划内容",notes = "")
+ private String visitPlanRemark ;
+ /** 面访总结时间 */
+ @ApiModelProperty(value = "面访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitSummaryDate ;
+ /** 面访总结内容 */
+ @ApiModelProperty(value = "面访总结内容",notes = "")
+ private String visitSummaryRemark ;
+ /** 机构号 */
+ @ApiModelProperty(value = "机构号",notes = "")
+ private Long deptId ;
+ /** 创建者 */
+ @ApiModelProperty(value = "创建者",notes = "")
+ @TableField(fill = FieldFill.INSERT)
+ private String createBy ;
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT)
+ private Date createTime ;
+ /** 更新者 */
+ @ApiModelProperty(value = "更新者",notes = "")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private String updateBy ;
+ /** 更新时间 */
+ @ApiModelProperty(value = "更新时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Date updateTime ;
+ /** 提交标识 */
+ @ApiModelProperty(value = "提交标识",notes = "")
+ private Boolean submitFlag;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailCustLevelManagerDetailVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailCustLevelManagerDetailVO.java
new file mode 100644
index 0000000..03529a0
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailCustLevelManagerDetailVO.java
@@ -0,0 +1,97 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 零售星级客户管户明细表
+ *
+ * @author ruoyi
+ * @date 2024-11-20
+ */
+@Data
+@ApiModel(description = "零售星级客户管户明细表")
+public class DwbRetailCustLevelManagerDetailVO {
+
+ /** id */
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ /** 网点号 */
+ @ApiModelProperty(value = "网点号")
+ private String outletId;
+
+ /** 网点名 */
+ @ApiModelProperty(value = "网点名")
+ private String outletName;
+
+ /** 支行号 */
+ @ApiModelProperty(value = "支行号")
+ private String branchId;
+
+ /** 支行名 */
+ @ApiModelProperty(value = "支行名")
+ private String branchName;
+
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称")
+ private String custName;
+
+ /** 客户证件号 */
+ @ApiModelProperty(value = "客户证件号")
+ private String custIdc;
+
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码")
+ private String custIsn;
+
+ /** 年龄 */
+ @ApiModelProperty(value = "年龄")
+ private String custAge;
+
+ /** 性别 */
+ @ApiModelProperty(value = "性别")
+ private String custSex;
+
+ /** 联系电话 */
+ @ApiModelProperty(value = "联系电话")
+ private String custPhone;
+
+ /** 联系地址 */
+ @ApiModelProperty(value = "联系地址")
+ private String custAddress;
+
+ /** 总资产余额 */
+ @ApiModelProperty(value = "总资产余额")
+ private BigDecimal custAumBal;
+
+ /** 总资产余额较上月变动 */
+ @ApiModelProperty(value = "总资产余额较上月变动")
+ private BigDecimal aumBalCompLm;
+
+ /** 总资产月日均 */
+ @ApiModelProperty(value = "总资产月日均")
+ private BigDecimal custAumMonthAvg;
+
+ /** 客户星级 */
+ @ApiModelProperty(value = "客户星级")
+ private String custLevel;
+
+ /** 星级较上月变动 */
+ @ApiModelProperty(value = "星级较上月变动")
+ private String custLevelCompLm;
+
+ /** 责任人 */
+ @ApiModelProperty(value = "责任人")
+ private String managerName;
+
+ /** 责任人柜员号 */
+ @ApiModelProperty(value = "责任人柜员号")
+ private String managerId;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailResultVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailResultVO.java
new file mode 100644
index 0000000..f39a04d
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/DwbRetailResultVO.java
@@ -0,0 +1,44 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Data
+public class DwbRetailResultVO {
+
+ /** 总资产余额 */
+ @ApiModelProperty(value = "总资产余额")
+ private BigDecimal custAumBal;
+
+ /** 总资产余额-上月 */
+ @ApiModelProperty(value = "总资产余额-上月")
+ private BigDecimal custAumBalLm;
+
+ /** 总资产余额较上月变动 */
+ @ApiModelProperty(value = "总资产余额较上月变动")
+ private BigDecimal aumBalCompLm;
+
+ /** 总资产月日均 */
+ @ApiModelProperty(value = "总资产月日均")
+ private BigDecimal custAumMonthAvg;
+
+ /** 总资产月日均-上月 */
+ @ApiModelProperty(value = "总资产月日均-上月")
+ private BigDecimal custAumMonthAvgLm;
+
+ /** 总资产月日均较上月变动 */
+ @ApiModelProperty(value = "总资产月日均较上月变动")
+ private BigDecimal custAumMonthAvgCompLm;
+
+ /** 各星级客户数量统计 */
+ @ApiModelProperty(value = "各星级客户数量统计")
+ private Map custLevelCount;
+
+ /** 各星级客户数较上月变动 */
+ @ApiModelProperty(value = "各星级客户数较上月变动")
+ private Map custLevelCompLm;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmClaimVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmClaimVO.java
new file mode 100644
index 0000000..1741d45
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmClaimVO.java
@@ -0,0 +1,36 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/17
+ **/
+@Data
+public class GridCmpmClaimVO {
+
+ @ApiModelProperty(value = "客户类型",notes = "")
+ private String custType;
+ /** 移交客户名称 */
+ @ApiModelProperty(value = "移交客户名称",notes = "")
+ private String custName ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户号",notes = "")
+ private String custId ;
+ /** 移交客户账号 */
+ @ApiModelProperty(value = "移交客户账号",notes = "")
+ private String accountNo ;
+
+ @ApiModelProperty(value = "柜员号",notes = "")
+ private String userName;
+
+ @ApiModelProperty(value = "柜员名",notes = "")
+ private String nickName;
+
+ @ApiModelProperty(value = "认领状态说明",notes = "")
+ private String claimStatus;
+
+ @ApiModelProperty(value = "可否进行认领",notes = "")
+ private Boolean claimFlag;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmTransferVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmTransferVO.java
new file mode 100644
index 0000000..9aee7c9
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmTransferVO.java
@@ -0,0 +1,95 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/22
+ **/
+@Data
+public class GridCmpmTransferVO {
+ /** id */
+ @ApiModelProperty(value = "id",notes = "")
+ private Long id ;
+ @ApiModelProperty(value = "0移交 1认领",notes = "")
+ private String transferLabel;
+ /** 移交类型 网点内 支行内 跨支行 */
+ @ApiModelProperty(value = "移交类型 0网点内 1支行内 2跨支行",notes = "")
+ private Integer transferType ;
+ /** 移交状态 审批中 通过 拒绝 */
+ @ApiModelProperty(value = "移交状态 0网点审批中 1支行审批中 2总行审批中 3通过 -1拒绝",notes = "")
+ private String transferStatus ;
+ /** 移交网格 零售 对公 对公账户 */
+ @ApiModelProperty(value = "移交网格 零售 对公 对公账户",notes = "")
+ private String gridType ;
+ /** 归属总行 */
+ @ApiModelProperty(value = "归属总行",notes = "")
+ private String headId ;
+ /** 移交客户类型 */
+ @ApiModelProperty(value = "移交客户类型",notes = "")
+ private String custType ;
+ /** 移交客户名称 */
+ @ApiModelProperty(value = "移交客户名称",notes = "")
+ private String custName ;
+ /** 移交客户号 */
+ @ApiModelProperty(value = "移交客户号",notes = "")
+ private String custId ;
+ /** 移交客户账号 */
+ @ApiModelProperty(value = "移交客户账号",notes = "")
+ private String accountNo ;
+ /** 原客户经理柜员号 */
+ @ApiModelProperty(value = "原客户经理柜员号",notes = "")
+ private String prevUser ;
+ /** 原归属网点 */
+ @ApiModelProperty(value = "原归属网点",notes = "")
+ private Long prevOutletId ;
+ /** 原归属支行 */
+ @ApiModelProperty(value = "原归属支行",notes = "")
+ private Long prevBranchId ;
+ /** 新客户经理柜员号 */
+ @ApiModelProperty(value = "新客户经理柜员号",notes = "")
+ private String nextUser ;
+ /** 新归属网点 */
+ @ApiModelProperty(value = "新归属网点",notes = "")
+ private Long nextOutletId ;
+ /** 新归属支行 */
+ @ApiModelProperty(value = "新归属支行",notes = "")
+ private Long nextBranchId ;
+ /** 网点审批人 */
+ @ApiModelProperty(value = "网点审批人",notes = "")
+ private String outletApprover ;
+ /** 网点审批结果 */
+ @ApiModelProperty(value = "网点审批结果",notes = "")
+ private String outletApproveResult ;
+ /** 网点审批时间 */
+ @ApiModelProperty(value = "网点审批时间",notes = "")
+ private Date outletApproveTime ;
+ /** 支行审批人 */
+ @ApiModelProperty(value = "支行审批人",notes = "")
+ private String branchApprover ;
+ /** 支行审批结果 */
+ @ApiModelProperty(value = "支行审批结果",notes = "")
+ private String branchApproveResult ;
+ /** 支行审批时间 */
+ @ApiModelProperty(value = "支行审批时间",notes = "")
+ private Date branchApproveTime ;
+ /** 总行审批人 */
+ @ApiModelProperty(value = "总行审批人",notes = "")
+ private String headApprover ;
+ /** 总行审批结果 */
+ @ApiModelProperty(value = "总行审批结果",notes = "")
+ private String headApproveResult ;
+ /** 总行审批时间 */
+ @ApiModelProperty(value = "总行审批时间",notes = "")
+ private Date headApproveTime ;
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间",notes = "")
+ private Date createTime ;
+ /** 更新时间 */
+ @ApiModelProperty(value = "更新时间",notes = "")
+ private Date updateTime ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmVO.java
new file mode 100644
index 0000000..751efed
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/GridCmpmVO.java
@@ -0,0 +1,65 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/15
+ **/
+@Data
+public class GridCmpmVO {
+ /** id */
+ @ApiModelProperty(name = "id",notes = "")
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(name = "客户号",notes = "")
+ private String custId ;
+ /** 身份证号 */
+ @ApiModelProperty(name = "身份证号",notes = "")
+ private String custIdc ;
+ /** 客户内码 */
+ @ApiModelProperty(name = "客户内码",notes = "")
+ private String custIdn ;
+
+ @ApiModelProperty(name = "客户类型",notes = "")
+ private String custType ;
+
+ @ApiModelProperty(name = "统信码",notes = "")
+ private String usci;
+
+ private String accountNo;
+ /** 客户姓名 */
+ @ApiModelProperty(name = "客户姓名",notes = "")
+ private String custName ;
+ /** 客户层级 */
+ @ApiModelProperty(name = "客户层级",notes = "")
+ private String custLevel ;
+ /** 客户经理柜员号 */
+ @ApiModelProperty(name = "客户经理柜员号",notes = "")
+ private String userName ;
+ /** 客户经理姓名 */
+ @ApiModelProperty(name = "客户经理姓名",notes = "")
+ private String nickName ;
+ /** 网点机构号 */
+ @ApiModelProperty(name = "网点机构号",notes = "")
+ private Long outletId ;
+ /** 网点名称 */
+ @ApiModelProperty(name = "网点名称",notes = "")
+ private String outletName ;
+ /** 支行机构号 */
+ @ApiModelProperty(name = "支行机构号",notes = "")
+ private Long branchId ;
+ /** 支行名称 */
+ @ApiModelProperty(name = "支行名称",notes = "")
+ private String branchName ;
+
+ @ApiModelProperty(name = "客户来源",notes = "")
+ private String source;
+ /** 锁定标识 */
+ @ApiModelProperty(name = "锁定标识",notes = "")
+ private Boolean lockFlag ;
+
+ @ApiModelProperty(name = "是否可以移交",notes = "")
+ private Boolean transferFlag;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachListVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachListVO.java
new file mode 100644
index 0000000..d107b14
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachListVO.java
@@ -0,0 +1,67 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+public class VisitCustReachListVO {
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(value = "客户号",notes = "")
+ private String custId ;
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码",notes = "")
+ private String custIdn ;
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称",notes = "")
+ private String custName ;
+ /** 手机号 */
+ @ApiModelProperty(value = "手机号",notes = "")
+ private String mobile ;
+ /** 电访计划时间 */
+ @ApiModelProperty(value = "电访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telPlanDate ;
+ /** 电访计划内容 */
+ @ApiModelProperty(value = "电访计划内容",notes = "")
+ private String telPlanRemark ;
+ /** 电访总结时间 */
+ @ApiModelProperty(value = "电访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telSummaryDate ;
+ /** 电访总结内容 */
+ @ApiModelProperty(value = "电访总结内容",notes = "")
+ private String telSummaryRemark ;
+ /** 面访计划时间 */
+ @ApiModelProperty(value = "面访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitPlanDate ;
+ /** 面访计划内容 */
+ @ApiModelProperty(value = "面访计划内容",notes = "")
+ private String visitPlanRemark ;
+ /** 面访总结时间 */
+ @ApiModelProperty(value = "面访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitSummaryDate ;
+ /** 面访总结内容 */
+ @ApiModelProperty(value = "面访总结内容",notes = "")
+ private String visitSummaryRemark ;
+
+ @ApiModelProperty(value = "柜员名称",notes = "")
+ private String nickName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "更新时间",notes = "")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "可编辑标识",notes = "")
+ private Boolean editFlag;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachVO.java
new file mode 100644
index 0000000..fce4d42
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustReachVO.java
@@ -0,0 +1,57 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+public class VisitCustReachVO {
+ private Long id ;
+ /** 客户号 */
+ @ApiModelProperty(value = "客户号",notes = "")
+ private String custId ;
+ /** 客户内码 */
+ @ApiModelProperty(value = "客户内码",notes = "")
+ private String custIdn ;
+ /** 客户名称 */
+ @ApiModelProperty(value = "客户名称",notes = "")
+ private String custName ;
+ /** 手机号 */
+ @ApiModelProperty(value = "手机号",notes = "")
+ private String mobile ;
+ /** 电访计划时间 */
+ @ApiModelProperty(value = "电访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telPlanDate ;
+ /** 电访计划内容 */
+ @ApiModelProperty(value = "电访计划内容",notes = "")
+ private String telPlanRemark ;
+ /** 电访总结时间 */
+ @ApiModelProperty(value = "电访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date telSummaryDate ;
+ /** 电访总结内容 */
+ @ApiModelProperty(value = "电访总结内容",notes = "")
+ private String telSummaryRemark ;
+ /** 面访计划时间 */
+ @ApiModelProperty(value = "面访计划时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitPlanDate ;
+ /** 面访计划内容 */
+ @ApiModelProperty(value = "面访计划内容",notes = "")
+ private String visitPlanRemark ;
+ /** 面访总结时间 */
+ @ApiModelProperty(value = "面访总结时间",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date visitSummaryDate ;
+ /** 面访总结内容 */
+ @ApiModelProperty(value = "面访总结内容",notes = "")
+ private String visitSummaryRemark ;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustVO.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustVO.java
new file mode 100644
index 0000000..02c1517
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/domain/vo/VisitCustVO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.ibs.cmpm.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Data
+public class VisitCustVO {
+
+ private String custId;
+
+ private String custIdn;
+
+ private String custName;
+
+ private String mobile;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmMapper.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmMapper.java
new file mode 100644
index 0000000..63fb269
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmMapper.java
@@ -0,0 +1,70 @@
+package com.ruoyi.ibs.cmpm.mapper;
+
+import com.ruoyi.ibs.cmpm.domain.dto.CustLevelDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.CustManagerDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmListDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmUpdateDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpm;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailCustLevelManagerDetailVO;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailResultVO;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmClaimVO;
+import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/26
+ **/
+@Mapper
+public interface GridCmpmMapper {
+
+ List selectManageList(GridCmpmListDTO gridCmpmListDTO);
+
+ List selectCommonList(GridCmpmListDTO gridCmpmListDTO);
+
+ GridCmpm getGridCmpmByCustKey(@Param("custId") String custId, @Param("accountNo") String accountNo, @Param("userName") String userName,
+ @Param("gridType") String gridType, @Param("deptCode") String deptCode);
+
+ List getGridCmpmByUserName(@Param("userName") String userName, @Param("deptCode") String deptCode, @Param("gridType") String gridType);
+
+ List queryGridCmpmByCustKey( @Param("deptCode") String deptCode, @Param("gridType") String gridType,
+ @Param("custIds") List custIds, @Param("accountNos") List accountNos );
+
+ Long updateGridCmpm(GridCmpmUpdateDTO gridCmpmUpdateDTO);
+
+ List getAllCustLevel(@Param("gridType") String gridType);
+
+ String getCustLevel(CustLevelDTO custLevelDTO);
+
+ List queryClaimList(@Param("deptCode") String deptCode, @Param("gridType") String gridType, @Param("custKey") String custKey);
+
+ List getCustManagerList(CustManagerDTO custManagerDTO);
+
+ int getCustLevelCount(CustManagerDTO custManagerDTO);
+
+ List selectCustInfoFromGridCmpm(CustBaseInfo custBaseInfo);
+
+ List queryCustInfoFromGridCmpm(CustBaseInfo custBaseInfo);
+
+
+ DwbRetailResultVO getCustManagerResult(CustManagerDTO custManagerDTO);
+
+ List getCustLevelList();
+
+ int getCustCountByLevel(@Param("dto") CustManagerDTO custManagerDTO, @Param("time") String time);
+
+ List selectDeptListByRole(@Param("role") String role);
+
+ List selectManagerList();
+
+
+// List selectCustInfoRetailFromGridCmpm(CustBaseInfo custBaseInfo);
+//
+// List selectCustInfoMerchantFromGridCmpm(CustBaseInfo custBaseInfo);
+//
+// List selectCustInfoBusinessFromGridCmpm(CustBaseInfo custBaseInfo);
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmRetailMapper.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmRetailMapper.java
new file mode 100644
index 0000000..7c3c611
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmRetailMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.ibs.cmpm.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpmRetail;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/26
+ **/
+@Mapper
+public interface GridCmpmRetailMapper extends BaseMapper {
+ GridCmpmRetail getGridCmpmRetailByCustId(@Param("custId") String custId, @Param("deptCode") String deptCode);
+
+ List getGridCmpmRetailByUserName(@Param("userName") String userName, @Param("deptCode") String deptCode);
+
+ Long updateGridCmpmRetail(@Param("custId") String custId, @Param("deptCode") String deptCode,
+ @Param("userName") String userName, @Param("nickName") String nickName,
+ @Param("outletId") Long outletId, @Param("outletName") String outletName,
+ @Param("branchId") Long branchId, @Param("branchName") String branchName);
+
+ List getAllCustLevel();
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmTransferMapper.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmTransferMapper.java
new file mode 100644
index 0000000..cbe8fd7
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/GridCmpmTransferMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.ibs.cmpm.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmTransferListDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpmTransfer;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmTransferVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/26
+ **/
+@Mapper
+public interface GridCmpmTransferMapper extends BaseMapper {
+
+ List getGridCmpmTransferList(GridCmpmTransferListDTO gridCmpmTransferListDTO);
+
+ List getGridCmpmTransferHistoryList(GridCmpmTransferListDTO gridCmpmTransferListDTO);
+
+ Long checkExistTransferCust(@Param("custKey") String custKey, @Param ("userName") String userName);
+
+ Long batchInsert(@Param("gridCmpmTransferList") List gridCmpmTransferList);
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/VisitCustReachMapper.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/VisitCustReachMapper.java
new file mode 100644
index 0000000..2d4907a
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/mapper/VisitCustReachMapper.java
@@ -0,0 +1,26 @@
+package com.ruoyi.ibs.cmpm.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.pagehelper.Page;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustQueryDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustReachListDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.VisitCustReach;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachListVO;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Mapper
+public interface VisitCustReachMapper extends BaseMapper {
+
+ List queryVisitCust(VisitCustQueryDTO visitCustQueryDTO);
+
+ Page queryVisitCustReachList(VisitCustReachListDTO visitCustReachListDTO);
+
+ List queryVisitCustReachListByCustId(String custId);
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmCustService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmCustService.java
new file mode 100644
index 0000000..54370b1
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmCustService.java
@@ -0,0 +1,179 @@
+package com.ruoyi.ibs.cmpm.service;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
+import com.ruoyi.ibs.customerselect.domain.ContinuousParam;
+import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
+import com.ruoyi.ibs.customerselect.domain.DiscreteParam;
+import com.ruoyi.ibs.customerselect.domain.vo.GridRelateVO;
+import com.ruoyi.ibs.customerselect.mapper.GridSelectMapper;
+import com.ruoyi.ibs.customerselect.mapper.GridSummarCountMapper;
+import com.ruoyi.ibs.customerselect.service.MyCustomerGridSelectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/21
+ **/
+@Service
+public class GridCmpmCustService {
+
+ @Resource
+ private GridCmpmMapper gridCmpmMapper;
+
+ @Resource
+ private GridCmpmService gridCmpmService;
+
+ @Resource
+ private GridSelectMapper gridSelectMapper;
+
+ @Resource
+ private MyCustomerGridSelectService myCustomerGridSelectService;
+
+ @Autowired
+ private GridSummarCountMapper gridSummarCountMapper;
+
+ /**
+ * 海宁查询绩效管户
+ * 查询归属于该用户的客户,不考虑机构层级
+ * @param custBaseInfoParam
+ * @return
+ */
+ public List selectCustInfoList(CustBaseInfo custBaseInfoParam) {
+ custBaseInfoParam.setCmpmUserName(SecurityUtils.getUsername());
+ custBaseInfoParam.setDeptCode(SecurityUtils.getHeadId());
+
+ //分页参数
+ custBaseInfoParam.setStart((custBaseInfoParam.getNum() - 1) * custBaseInfoParam.getSize());
+ custBaseInfoParam.setEnd(custBaseInfoParam.getNum() * custBaseInfoParam.getSize());
+
+ StringBuilder metricStrBuilder = new StringBuilder();
+ if (custBaseInfoParam.getContinuousParams() != null && custBaseInfoParam.getContinuousParams().size() > 0){
+ for (ContinuousParam info : custBaseInfoParam.getContinuousParams()){
+ if (metricStrBuilder.length() > 0) {
+ metricStrBuilder.append(",");
+ }
+ metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
+ }
+ }
+ if (custBaseInfoParam.getDiscreteParams() != null && custBaseInfoParam.getDiscreteParams().size() > 0){
+ for (DiscreteParam info:custBaseInfoParam.getDiscreteParams()){
+ if (metricStrBuilder.length() > 0) {
+ metricStrBuilder.append(",");
+ }
+ metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
+ }
+ }
+ List collect = gridCmpmMapper.selectCustInfoFromGridCmpm(custBaseInfoParam);
+
+ List custIds = collect.stream().map(CustBaseInfo::getCustId).collect(Collectors.toList());
+ if (!custIds.isEmpty()){
+ List drawGridRelate = gridSelectMapper.getDrawGridRelate(custIds);
+ List regionGridRelate = gridSelectMapper.getRegionGridRelate(custIds);
+ List virtualGridRelate = myCustomerGridSelectService.getVirtualGridRelate(custIds);
+ for (CustBaseInfo custBaseInfo : collect) {
+ drawGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setDrawBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setDrawOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setDrawUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setDrawGridName(gridRelateVO.getGridNames());
+ });
+ regionGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setRegionBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setRegionOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setRegionUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setRegionTopGridName(gridRelateVO.getTopGridName());
+ custBaseInfo.setRegionSecGridName(gridRelateVO.getSecGridName());
+
+ custBaseInfo.setBelongBranchName(gridRelateVO.getBranchNames());
+ custBaseInfo.setBelongOutletName(gridRelateVO.getOutletNames());
+ custBaseInfo.setBelongUserNameList(gridRelateVO.getUserNames());
+ });
+ virtualGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setVirtualBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setVirtualOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setVirtualUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setVirtualGridName(gridRelateVO.getGridNames());
+ });
+ }
+ }
+ return collect;
+ }
+
+ /**
+ * 通用查询绩效管户关系,考虑机构层级
+ * @param custBaseInfoParam
+ * @return
+ */
+ public List queryCustInfoList(CustBaseInfo custBaseInfoParam) {
+ custBaseInfoParam.setDeptCode(SecurityUtils.getHeadId());
+ String userRole = SecurityUtils.userRole();
+ if("branch".equalsIgnoreCase(userRole)){
+ custBaseInfoParam.setCmpmBranchId(SecurityUtils.getDeptId());
+ }else if("outlet".equalsIgnoreCase(userRole)){
+ custBaseInfoParam.setCmpmOutletId(SecurityUtils.getDeptId());
+ }else if ("manager".equalsIgnoreCase(userRole)){
+ custBaseInfoParam.setCmpmUserName(SecurityUtils.getUsername());
+ }
+ //分页参数
+ custBaseInfoParam.setStart((custBaseInfoParam.getNum() - 1) * custBaseInfoParam.getSize());
+ custBaseInfoParam.setEnd(custBaseInfoParam.getNum() * custBaseInfoParam.getSize());
+
+ StringBuilder metricStrBuilder = new StringBuilder();
+ if (custBaseInfoParam.getContinuousParams() != null && custBaseInfoParam.getContinuousParams().size() > 0){
+ for (ContinuousParam info : custBaseInfoParam.getContinuousParams()){
+ if (metricStrBuilder.length() > 0) {
+ metricStrBuilder.append(",");
+ }
+ metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
+ }
+ }
+ if (custBaseInfoParam.getDiscreteParams() != null && custBaseInfoParam.getDiscreteParams().size() > 0){
+ for (DiscreteParam info:custBaseInfoParam.getDiscreteParams()){
+ if (metricStrBuilder.length() > 0) {
+ metricStrBuilder.append(",");
+ }
+ metricStrBuilder.append(gridSummarCountMapper.selectDictLabelByDictValue(info.getKey()));
+ }
+ }
+ List collect = gridCmpmMapper.queryCustInfoFromGridCmpm(custBaseInfoParam);
+
+ List custIds = collect.stream().map(CustBaseInfo::getCustId).collect(Collectors.toList());
+ if (!custIds.isEmpty()){
+ List drawGridRelate = gridSelectMapper.getDrawGridRelate(custIds);
+ List regionGridRelate = gridSelectMapper.getRegionGridRelate(custIds);
+ List virtualGridRelate = myCustomerGridSelectService.getVirtualGridRelate(custIds);
+ for (CustBaseInfo custBaseInfo : collect) {
+ drawGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setDrawBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setDrawOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setDrawUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setDrawGridName(gridRelateVO.getGridNames());
+ });
+ regionGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setRegionBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setRegionOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setRegionUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setRegionTopGridName(gridRelateVO.getTopGridName());
+ custBaseInfo.setRegionSecGridName(gridRelateVO.getSecGridName());
+
+ custBaseInfo.setBelongBranchName(gridRelateVO.getBranchNames());
+ custBaseInfo.setBelongOutletName(gridRelateVO.getOutletNames());
+ custBaseInfo.setBelongUserNameList(gridRelateVO.getUserNames());
+ });
+ virtualGridRelate.stream().filter(gridRelateVO -> gridRelateVO.getCustId().equals(custBaseInfo.getCustId())).findFirst().ifPresent(gridRelateVO -> {
+ custBaseInfo.setVirtualBranchNames(gridRelateVO.getBranchNames());
+ custBaseInfo.setVirtualOutletNames(gridRelateVO.getOutletNames());
+ custBaseInfo.setVirtualUserNames(gridRelateVO.getUserNames());
+ custBaseInfo.setVirtualGridName(gridRelateVO.getGridNames());
+ });
+ }
+ }
+ return collect;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java
new file mode 100644
index 0000000..5a58531
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmService.java
@@ -0,0 +1,282 @@
+package com.ruoyi.ibs.cmpm.service;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.ibs.cmpm.domain.dto.CustLevelDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.CustManagerDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmListDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpm;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailCustLevelManagerDetailVO;
+import com.ruoyi.ibs.cmpm.domain.vo.DwbRetailResultVO;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmVO;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/15
+ **/
+@Service
+public class GridCmpmService {
+
+
+ @Resource
+ private GridCmpmMapper gridCmpmMapper;
+
+ @Resource
+ private GridCmpmTransferService gridCmpmTransferService;
+
+ @Resource
+ private RedisCache redisCache;
+
+ private final String CUST_LEVEL_COUNT_KEY = "GRID_CMPM_CUST_LEVEL_COUNT_";
+
+ public List selectManageList(GridCmpmListDTO gridCmpmRetailListDTO){
+ String userRole = SecurityUtils.userRole();
+ if("branch".equalsIgnoreCase(userRole)){
+ gridCmpmRetailListDTO.setBranchId(SecurityUtils.getDeptId());
+ }else if("outlet".equalsIgnoreCase(userRole)){
+ gridCmpmRetailListDTO.setOutletId(SecurityUtils.getDeptId());
+ }else if ("manager".equalsIgnoreCase(userRole)){
+ gridCmpmRetailListDTO.setCurUserName(SecurityUtils.getUsername());
+ }
+ List gridCmpms = gridCmpmMapper.selectManageList(gridCmpmRetailListDTO);
+ return gridCmpms.stream().map(gridCmpm -> {
+ GridCmpmVO gridCmpmVO = new GridCmpmVO();
+ BeanUtils.copyProperties(gridCmpm,gridCmpmVO);
+ if (SecurityUtils.userRole().equals("branch") || SecurityUtils.userRole().equals("head") || SecurityUtils.isHead()){
+ gridCmpmVO.setTransferFlag( !gridCmpmTransferService.checkExistTransferCust(gridCmpm.getCustId(), gridCmpm.getUserName()) );
+ }else{
+ // 无法移交条件: 1.客户存在移交审批中的记录 2.客户经理为当前用户
+ gridCmpmVO.setTransferFlag( (!gridCmpmTransferService.checkExistTransferCust(gridCmpm.getCustId(), gridCmpm.getUserName())) && gridCmpm.getUserName().equals(SecurityUtils.getUsername()) );
+ }
+ return gridCmpmVO;
+ }).collect(Collectors.toList());
+ }
+
+ public List selectCommonList(GridCmpmListDTO gridCmpmListDTO){
+ List gridCmpms = gridCmpmMapper.selectCommonList(gridCmpmListDTO);
+ return gridCmpms.stream().map(gridCmpm -> {
+ GridCmpmVO gridCmpmRetailVO = new GridCmpmVO();
+ BeanUtils.copyProperties(gridCmpm,gridCmpmRetailVO);
+ gridCmpmRetailVO.setTransferFlag(!gridCmpmTransferService.checkExistTransferCust(gridCmpm.getCustId(), null));
+ return gridCmpmRetailVO;
+ }).collect(Collectors.toList());
+ }
+
+ public String getCustLevelByCust(CustLevelDTO custLevelDTO){
+ if (custLevelDTO.getCustType().equals("0") || custLevelDTO.getCustType().equals("1")){
+ custLevelDTO.setGridType("retail");
+ return gridCmpmMapper.getCustLevel(custLevelDTO);
+ }else if (Objects.nonNull(custLevelDTO.getAccountNo())){
+ custLevelDTO.setGridType("corporate_account");
+ }else {
+ custLevelDTO.setGridType("corporate");
+ }
+ // todo 公司部未上
+ return null;
+ }
+
+ public List getAllCustLevel(String gridType){
+ String label = gridType +"_"+ SecurityUtils.getHeadId();
+ ArrayList custLevelList = redisCache.getCacheObject("sys_dict:grid_cmpm_cust_level");
+ return custLevelList.stream().filter(sysDictData -> sysDictData.getDictLabel().equals(label)).map(sysDictData -> sysDictData.getDictValue()).sorted().collect(Collectors.toList());
+ }
+
+ public List selectCustManagerList(CustManagerDTO custManagerDTO) {
+ String userRole = SecurityUtils.userRole();
+ if (userRole.equals("manager")){
+ //客户经理查自己
+ custManagerDTO.setManagerId(SecurityUtils.getUsername());
+ }else if (userRole.equals("outlet")){
+ //网点管理员查网点
+ custManagerDTO.setOutletId(String.valueOf(SecurityUtils.getDeptId()));
+ }else if (userRole.equals("branch")){
+ //支行管理员查支行
+ custManagerDTO.setBranchId(String.valueOf(SecurityUtils.getDeptId()));
+ }
+ //其他角色查全部
+ return gridCmpmMapper.getCustManagerList(custManagerDTO);
+ }
+
+ public int custLevelCount(CustManagerDTO custManagerDTO) {
+ String userRole = SecurityUtils.userRole();
+ if (userRole.equals("manager")){
+ //客户经理查自己
+ custManagerDTO.setManagerId(SecurityUtils.getUsername());
+ }else if (userRole.equals("outlet")){
+ //网点管理员查网点
+ custManagerDTO.setOutletId(String.valueOf(SecurityUtils.getDeptId()));
+ }else if (userRole.equals("branch")){
+ //支行管理员查支行
+ custManagerDTO.setBranchId(String.valueOf(SecurityUtils.getDeptId()));
+ }
+ return gridCmpmMapper.getCustLevelCount(custManagerDTO);
+ }
+
+ /**
+ * 获取AUM统计数据(只查redis)
+ */
+ public DwbRetailResultVO selectCustManagerResult(){
+ String userRole = SecurityUtils.userRole();
+ String deptId = String.valueOf(SecurityUtils.getDeptId());
+ String key ;
+ if (userRole.equals("manager")){
+ key = CUST_LEVEL_COUNT_KEY + userRole + "_" + SecurityUtils.getUsername();
+ }else if (userRole.equals("outlet") || userRole.equals("branch")){
+ key = CUST_LEVEL_COUNT_KEY + userRole + "_" + deptId;
+ }else {
+ key = CUST_LEVEL_COUNT_KEY + userRole;
+ }
+ try {
+ if (redisCache.hasKey(key)){
+ String json = redisCache.getCacheObject(key);
+ if (json != null && !json.isEmpty()) {
+ ObjectMapper objectMapper = new ObjectMapper();
+ return objectMapper.readValue(json, DwbRetailResultVO.class);
+ }
+ }
+ } catch (Exception e) {
+ throw new ServiceException("反序列化Redis缓存数据异常:" + key + e.getMessage());
+ }
+ return new DwbRetailResultVO();
+ }
+
+ /**
+ * 每月定时设置统计数据
+ */
+ public void setCustManagerResultMonthly() {
+ String[] roles = {"manager", "outlet", "branch", "head", "public", "private", "ops"};
+ for (String role : roles) {
+ setCustManagerResultByRole(role);
+ }
+ }
+
+ /**
+ * 根据角色获取AUM统计数据
+ */
+ private void setCustManagerResultByRole(String userRole) {
+ CustManagerDTO custManagerDTO = new CustManagerDTO();
+
+ if (userRole.equals("manager")){
+ List managerList = gridCmpmMapper.selectManagerList();
+ if (managerList != null){
+ for (String manager : managerList) {
+ String key = CUST_LEVEL_COUNT_KEY + userRole + "_" + manager;
+ custManagerDTO.setManagerId(manager);
+ processAndCacheResult(key, custManagerDTO);
+ }
+ }
+ }else {
+ //非客户经理角色——根据角色获取deptIds
+ List deptIds = gridCmpmMapper.selectDeptListByRole(userRole);
+ if (deptIds.contains("head")){
+ String key = CUST_LEVEL_COUNT_KEY + userRole;
+ processAndCacheResult(key, custManagerDTO);
+ }else {
+ for (String deptId : deptIds) {
+ //redisKey用于存入redis供后续查询
+ String key = CUST_LEVEL_COUNT_KEY + userRole + "_" + deptId;
+ switch (userRole) {
+ case "outlet":
+ custManagerDTO.setOutletId(deptId);
+ break;
+ case "branch":
+ custManagerDTO.setBranchId(deptId);
+ break;
+ }
+ processAndCacheResult(key, custManagerDTO);
+ }
+ }
+ }
+ }
+
+ /**
+ * 处理并缓存客户经理或机构的统计结果
+ *
+ * @param key Redis缓存key
+ * @param custManagerDTO 查询条件DTO
+ * @return 处理后的VO对象
+ */
+ private void processAndCacheResult(String key, CustManagerDTO custManagerDTO) {
+ // 查出总资产余额、总资产余额较上月变动、总资产月日均
+ DwbRetailResultVO vo = gridCmpmMapper.getCustManagerResult(custManagerDTO);
+ if (vo.getCustAumMonthAvg() != null && vo.getCustAumMonthAvgLm() != null) {
+ vo.setCustAumMonthAvgCompLm(vo.getCustAumMonthAvg().subtract(vo.getCustAumMonthAvgLm()));
+ } else {
+ vo.setCustAumMonthAvgCompLm(BigDecimal.ZERO);
+ }
+ if (vo.getCustAumBal() != null && vo.getAumBalCompLm() != null) {
+ vo.setCustAumBalLm(vo.getCustAumBal().subtract(vo.getAumBalCompLm()));
+ } else {
+ vo.setCustAumBalLm(BigDecimal.ZERO);
+ }
+ // 获取当前各星级客户数
+ Map currentLevelCountMap = getCustLevelCountMap(custManagerDTO, "now");
+ // 获取上月各星级客户数
+ Map historyLevelCountMap = getCustLevelCountMap(custManagerDTO, "last");
+ Map custLevelCompLm = calculateLevelChanges(historyLevelCountMap, currentLevelCountMap);
+ vo.setCustLevelCompLm(custLevelCompLm);
+ vo.setCustLevelCount(currentLevelCountMap);
+
+ ObjectMapper objectMapper = new ObjectMapper();
+ try{
+ String json = objectMapper.writeValueAsString(vo);
+ redisCache.setCacheObject(key, json, 31, TimeUnit.DAYS);
+ }catch (Exception e){
+ throw new ServiceException("JSON转换异常" + e.getMessage());
+ }
+ }
+
+
+ private Map getCustLevelCountMap(CustManagerDTO custManagerDTO, String time){
+ List custLevelList = gridCmpmMapper.getCustLevelList();
+ //查出各星级客户数
+ Map custLevelCountMap = new HashMap<>();
+ for (String custLevel : custLevelList) {
+ custManagerDTO.setCustLevel(custLevel);
+ int count = gridCmpmMapper.getCustCountByLevel(custManagerDTO, time);
+ custLevelCountMap.put(custLevel, count);
+ }
+ return custLevelCountMap;
+ }
+
+ // 计算客户等级变化情况
+ private Map calculateLevelChanges(Map historyMap, Map currentMap) {
+ Map changesMap = new HashMap<>();
+
+ if (historyMap == null) {
+ // 如果没有历史数据,所有当前数据都是新增的
+ for (Map.Entry entry : currentMap.entrySet()) {
+ changesMap.put(entry.getKey(), entry.getValue());
+ }
+ return changesMap;
+ }
+ // 计算每个等级的变化量(当前 - 历史 = 变化量)
+ // 正数表示增加,负数表示减少
+ for (String custLevel : currentMap.keySet()) {
+ Integer currentCount = currentMap.getOrDefault(custLevel, 0);
+ Integer historyCount = historyMap.getOrDefault(custLevel, 0);
+ changesMap.put(custLevel, currentCount - historyCount);
+ }
+
+ // 处理历史数据中有但当前数据中没有的等级(这些等级的客户数变为0)
+ for (String custLevel : historyMap.keySet()) {
+ if (!currentMap.containsKey(custLevel)) {
+ changesMap.put(custLevel, -historyMap.get(custLevel));
+ }
+ }
+ return changesMap;
+ }
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmTransferService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmTransferService.java
new file mode 100644
index 0000000..b622dac
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmTransferService.java
@@ -0,0 +1,361 @@
+package com.ruoyi.ibs.cmpm.service;
+
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.ibs.cmpm.domain.dto.*;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpm;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpmTransfer;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmClaimVO;
+import com.ruoyi.ibs.cmpm.domain.vo.GridCmpmTransferVO;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmTransferMapper;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/17
+ **/
+@Service
+@Slf4j
+@EnableAsync
+public class GridCmpmTransferService {
+
+ @Resource
+ private GridCmpmTransferMapper gridCmpmTransferMapper;
+
+ @Resource
+ private ISysDeptService sysDeptService;
+
+ @Resource
+ private ISysUserService sysUserService;
+
+ @Resource
+ private GridCmpmUpdateService gridCmpmUpdateService;
+
+
+ @Resource
+ private GridCmpmMapper gridCmpmMapper;
+
+ @Transactional(rollbackFor = Exception.class)
+ public String createGridCmpmTransfer(GridCmpmTransferDTO gridCmpmTransferDTO){
+ if (gridCmpmTransferDTO.getPrevUserName().equals(gridCmpmTransferDTO.getNextUserName())){
+ throw new ServiceException("流程前后不可选择相同的客户经理");
+ }
+ GridCmpmTransfer gridCmpmTransfer = new GridCmpmTransfer();
+ gridCmpmTransfer.setTransferLabel("0");
+ gridCmpmTransfer.setGridType(gridCmpmTransferDTO.getGridType());
+ gridCmpmTransfer.setPrevUserName(gridCmpmTransferDTO.getPrevUserName());
+ gridCmpmTransfer.setNextUserName(gridCmpmTransferDTO.getNextUserName());
+
+ UserDeptDTO prevUserDeptDTO = getUserDeptDTO(gridCmpmTransferDTO.getPrevUserName());
+ gridCmpmTransfer.setPrevBranchId(prevUserDeptDTO.getBranchId());
+ gridCmpmTransfer.setPrevOutletId(prevUserDeptDTO.getOutletId());
+ UserDeptDTO nextUserDeptDTO = getUserDeptDTO(gridCmpmTransferDTO.getNextUserName());
+ gridCmpmTransfer.setNextBranchId(nextUserDeptDTO.getBranchId());
+ gridCmpmTransfer.setNextOutletId(nextUserDeptDTO.getOutletId());
+ gridCmpmTransfer.setHeadId(prevUserDeptDTO.getDeptId().toString().substring(0,3));
+
+ GridCmpmTransfer statusAndType = setTransferStatusAndType(prevUserDeptDTO,nextUserDeptDTO);
+ gridCmpmTransfer.setTransferType(statusAndType.getTransferType());
+ gridCmpmTransfer.setTransferStatus(statusAndType.getTransferStatus());
+
+ if (gridCmpmTransferDTO.getIsFullTransfer()){
+ gridCmpmUpdateService.createFullTransferApprove(gridCmpmTransfer);
+ }else{
+ int i = 1;
+ for (TransferCustDTO transferCustDTO : gridCmpmTransferDTO.getCustList()) {
+ GridCmpmTransfer transfer = new GridCmpmTransfer();
+ BeanUtils.copyProperties(gridCmpmTransfer, transfer);
+ BeanUtils.copyProperties(transferCustDTO, transfer);
+ gridCmpmTransferMapper.insert(transfer);
+ log.info("开始插入第{}个审批,总共有{}个", i, gridCmpmTransferDTO.getCustList().size());
+ i++;
+ }
+ }
+ return "审批流程创建成功";
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public String createClaim(GridCmpmClaimDTO gridCmpmClaimDTO){
+ int i = 1;
+ UserDeptDTO nextUserDeptDTO = getUserDeptDTO(gridCmpmClaimDTO.getUserName());
+ for (TransferCustDTO transferCustDTO : gridCmpmClaimDTO.getCustList()) {
+ GridCmpm gridCmpm = gridCmpmMapper.getGridCmpmByCustKey(transferCustDTO.getCustId(),
+ transferCustDTO.getAccountNo(), transferCustDTO.getPrevUserName(),
+ gridCmpmClaimDTO.getGridType(), SecurityUtils.getHeadId());
+
+ if (gridCmpmClaimDTO.getUserName().equals(gridCmpm.getUserName())){
+ throw new ServiceException("流程前后不可选择相同的客户经理");
+ }
+ GridCmpmTransfer gridCmpmTransfer = new GridCmpmTransfer();
+ BeanUtils.copyProperties(transferCustDTO, gridCmpmTransfer);
+
+ gridCmpmTransfer.setTransferLabel("1");
+ gridCmpmTransfer.setGridType(gridCmpmClaimDTO.getGridType());
+ gridCmpmTransfer.setCustType(gridCmpm.getCustType());
+ gridCmpmTransfer.setPrevUserName(gridCmpm.getUserName());
+ gridCmpmTransfer.setNextUserName(gridCmpmClaimDTO.getUserName());
+
+ UserDeptDTO prevUserDeptDTO = getUserDeptDTO(gridCmpm.getUserName());
+ gridCmpmTransfer.setPrevBranchId(prevUserDeptDTO.getBranchId());
+ gridCmpmTransfer.setPrevOutletId(prevUserDeptDTO.getOutletId());
+ gridCmpmTransfer.setNextBranchId(nextUserDeptDTO.getBranchId());
+ gridCmpmTransfer.setNextOutletId(nextUserDeptDTO.getOutletId());
+ gridCmpmTransfer.setHeadId(prevUserDeptDTO.getDeptId().toString().substring(0,3));
+
+ GridCmpmTransfer statusAndType = setTransferStatusAndType(prevUserDeptDTO,nextUserDeptDTO);
+ gridCmpmTransfer.setTransferType(statusAndType.getTransferType());
+ gridCmpmTransfer.setTransferStatus(statusAndType.getTransferStatus());
+
+ gridCmpmTransferMapper.insert(gridCmpmTransfer);
+ log.info("开始插入第{}个审批,总共有{}个", i, gridCmpmClaimDTO.getCustList().size());
+ i++;
+ }
+
+ return "审批流程创建成功";
+ }
+
+ private GridCmpmTransfer setTransferStatusAndType (UserDeptDTO prevUserDeptDTO, UserDeptDTO nextUserDeptDTO){
+ GridCmpmTransfer gridCmpmTransfer = new GridCmpmTransfer();
+ if (prevUserDeptDTO.getDeptType().equals("outlet")){
+ gridCmpmTransfer.setTransferStatus("0");
+ // 网点相同 网点内移交
+ if(Objects.nonNull(nextUserDeptDTO.getOutletId()) && prevUserDeptDTO.getOutletId().equals(nextUserDeptDTO.getOutletId())){
+ gridCmpmTransfer.setTransferType(0);
+ // 支行号相同 支行内移交
+ }else if (Objects.nonNull(nextUserDeptDTO.getBranchId()) && prevUserDeptDTO.getBranchId().equals(nextUserDeptDTO.getBranchId())){
+ gridCmpmTransfer.setTransferType(1);
+ // 跨支行移交
+ }else {
+ gridCmpmTransfer.setTransferType(2);
+ }
+ }else if (prevUserDeptDTO.getDeptType().equals("branch")){
+ gridCmpmTransfer.setTransferStatus("1");
+
+ if (Objects.nonNull(nextUserDeptDTO.getBranchId()) && prevUserDeptDTO.getBranchId().equals(nextUserDeptDTO.getBranchId())){
+ gridCmpmTransfer.setTransferType(1);
+ }else{
+ gridCmpmTransfer.setTransferType(2);
+ }
+ }else if (prevUserDeptDTO.getDeptType().equals("head")){
+ gridCmpmTransfer.setTransferType(2);
+ gridCmpmTransfer.setTransferStatus("2");
+ }
+ return gridCmpmTransfer;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public String createCommonClaim(GridCmpmClaimDTO gridCmpmClaimDTO ){
+ GridCmpmTransfer gridCmpmTransfer = new GridCmpmTransfer();
+ gridCmpmTransfer.setTransferLabel("1");
+ gridCmpmTransfer.setGridType(gridCmpmClaimDTO.getGridType());
+ gridCmpmTransfer.setNextUserName(gridCmpmClaimDTO.getUserName());
+ UserDeptDTO userDeptDTO = getUserDeptDTO(gridCmpmClaimDTO.getUserName());
+ gridCmpmTransfer.setNextBranchId(userDeptDTO.getBranchId());
+ gridCmpmTransfer.setNextOutletId(userDeptDTO.getOutletId());
+ gridCmpmTransfer.setHeadId(userDeptDTO.getDeptId().toString().substring(0,3));
+
+ int i = 1;
+ for (TransferCustDTO transferCustDTO : gridCmpmClaimDTO.getCustList()) {
+ GridCmpmTransfer transfer = new GridCmpmTransfer();
+ BeanUtils.copyProperties(gridCmpmTransfer, transfer);
+ BeanUtils.copyProperties(transferCustDTO, transfer);
+
+ transfer.setPrevBranchId(userDeptDTO.getBranchId());
+ transfer.setPrevOutletId(userDeptDTO.getOutletId());
+ if (userDeptDTO.getDeptType().equals("outlet")){
+ transfer.setTransferType(1);
+ transfer.setTransferStatus("0");
+ }else if (userDeptDTO.getDeptType().equals("branch")){
+ transfer.setTransferType(1);
+ transfer.setTransferStatus("1");
+ } else if (userDeptDTO.getDeptType().equals("head")){
+ transfer.setTransferType(2);
+ transfer.setTransferStatus("2");
+ }
+ gridCmpmTransferMapper.insert(transfer);
+ log.info("开始插入第{}个认领审批,总共有{}个:", i, gridCmpmClaimDTO.getCustList().size(), transfer);
+ i++;
+ }
+ return "公共池认领审批流程创建成功";
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public String adjustGridCmpm(GridCmpmAdjustDTO gridCmpmAdjustDTO){
+ if (!SecurityUtils.userRole().equals("branch") && !SecurityUtils.userRole().equals("head") &&!SecurityUtils.isHead()){
+ throw new ServiceException("没有权限");
+ }
+ SysUser sysUser = sysUserService.selectUserByUserName(gridCmpmAdjustDTO.getUserName());
+ UserDeptDTO userDeptDTO = getUserDeptDTO(gridCmpmAdjustDTO.getUserName());
+ gridCmpmAdjustDTO.setDeptCode(SecurityUtils.getHeadId());
+ for (TransferCustDTO transferCustDTO : gridCmpmAdjustDTO.getCustList()) {
+ GridCmpm gridCmpm = gridCmpmMapper.getGridCmpmByCustKey(transferCustDTO.getCustId(),
+ transferCustDTO.getAccountNo(), transferCustDTO.getPrevUserName(),
+ gridCmpmAdjustDTO.getGridType(), gridCmpmAdjustDTO.getDeptCode());
+ if (Objects.isNull(gridCmpm)){
+ throw new ServiceException("客户不存在");
+ }
+ GridCmpmUpdateDTO gridCmpmUpdateDTO = new GridCmpmUpdateDTO();
+ BeanUtils.copyProperties(gridCmpm, gridCmpmUpdateDTO);
+ gridCmpmUpdateDTO.setDeptCode(gridCmpmAdjustDTO.getDeptCode());
+ gridCmpmUpdateDTO.setPrevUserName(gridCmpm.getUserName());
+ gridCmpmUpdateDTO.setUserName(sysUser.getUserName());
+ gridCmpmUpdateDTO.setNickName(sysUser.getNickName());
+ if (Objects.nonNull(userDeptDTO.getBranchId())){
+ SysDept branch = sysDeptService.selectDeptById(userDeptDTO.getBranchId());
+ gridCmpmUpdateDTO.setBranchId(userDeptDTO.getBranchId());
+ gridCmpmUpdateDTO.setBranchName(branch.getDeptName());
+ }else {
+ gridCmpmUpdateDTO.setBranchId(null);
+ gridCmpmUpdateDTO.setBranchName(null);
+ }
+ if (Objects.nonNull(userDeptDTO.getOutletId())){
+ SysDept outlet = sysDeptService.selectDeptById(userDeptDTO.getOutletId());
+ gridCmpmUpdateDTO.setOutletId(userDeptDTO.getOutletId());
+ gridCmpmUpdateDTO.setOutletName(outlet.getDeptName());
+ }else{
+ gridCmpmUpdateDTO.setOutletId(null);
+ gridCmpmUpdateDTO.setOutletName(null);
+ }
+ gridCmpmMapper.updateGridCmpm(gridCmpmUpdateDTO);
+ log.info("调整绩效网格客户管护:" + gridCmpm);
+ }
+ return "调整成功";
+ }
+
+ public List getGridCmpmTransferList(GridCmpmTransferListDTO gridCmpmTransferListDTO){
+ if ("manager".equals(SecurityUtils.userRole())){
+ throw new ServiceException("没有权限查控");
+ }
+ gridCmpmTransferListDTO.setUserRole(SecurityUtils.userRole());
+ gridCmpmTransferListDTO.setDeptId(SecurityUtils.getDeptId());
+ gridCmpmTransferListDTO.setUserName(SecurityUtils.getUsername());
+ gridCmpmTransferListDTO.setHeadId(SecurityUtils.getHeadId());
+ List gridCmpmTransferList = gridCmpmTransferMapper.getGridCmpmTransferList(gridCmpmTransferListDTO);
+ return gridCmpmTransferList;
+ }
+
+ public List getGridCmpmTransferHistoryList(GridCmpmTransferListDTO gridCmpmTransferListDTO){
+ gridCmpmTransferListDTO.setUserRole(SecurityUtils.userRole());
+ gridCmpmTransferListDTO.setDeptId(SecurityUtils.getDeptId());
+ gridCmpmTransferListDTO.setUserName(SecurityUtils.getUsername());
+ gridCmpmTransferListDTO.setHeadId(SecurityUtils.getHeadId());
+ List gridCmpmTransferHistoryList = gridCmpmTransferMapper.getGridCmpmTransferHistoryList(gridCmpmTransferListDTO);
+ return gridCmpmTransferHistoryList;
+ }
+
+ public Boolean checkExistTransferCust(String custKey, String userName){
+ return gridCmpmTransferMapper.checkExistTransferCust(custKey, userName) > 0;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public String approveTransfer(GridCmpmApproveDTO gridCmpmApproveDTO){
+ for (Long id : gridCmpmApproveDTO.getIdList()) {
+ GridCmpmTransfer gridCmpmTransfer = gridCmpmTransferMapper.selectById(id);
+ if (gridCmpmTransfer.getTransferStatus().equals("0")){
+ gridCmpmTransfer.setOutletApprover(SecurityUtils.getUsername());
+ gridCmpmTransfer.setOutletApproveResult(gridCmpmApproveDTO.getApproveResult());
+ gridCmpmTransfer.setOutletApproveTime(DateUtils.getNowDate());
+ }else if (gridCmpmTransfer.getTransferStatus().equals("1")){
+ gridCmpmTransfer.setBranchApprover(SecurityUtils.getUsername());
+ gridCmpmTransfer.setBranchApproveResult(gridCmpmApproveDTO.getApproveResult());
+ gridCmpmTransfer.setBranchApproveTime(DateUtils.getNowDate());
+ }else if (gridCmpmTransfer.getTransferStatus().equals("2")){
+ gridCmpmTransfer.setHeadApprover(SecurityUtils.getUsername());
+ gridCmpmTransfer.setHeadApproveResult(gridCmpmApproveDTO.getApproveResult());
+ gridCmpmTransfer.setHeadApproveTime(DateUtils.getNowDate());
+ }
+ if (gridCmpmApproveDTO.getApproveResult()){
+ gridCmpmTransfer.setTransferStatus(getNextTransferStatus(gridCmpmTransfer.getTransferType(), gridCmpmTransfer.getTransferStatus()));
+ }else{
+ gridCmpmTransfer.setTransferStatus("-1");
+ }
+ if (gridCmpmTransferMapper.updateById(gridCmpmTransfer) > 0 && gridCmpmTransfer.getTransferStatus().equals("3")){
+ gridCmpmUpdateService.updateGridCmpm(gridCmpmTransfer);
+ }
+ }
+ return "审批成功";
+ }
+
+ private String getNextTransferStatus(Integer transferType, String transferStatus){
+ if (transferType == 0){
+ if (transferStatus.equals("0")){
+ return "3";
+ }
+ }else if (transferType == 1){
+ if (transferStatus.equals("0")){
+ return "1";
+ }else if (transferStatus.equals("1")){
+ return "3";
+ }
+ }else if (transferType == 2){
+ if (transferStatus.equals("0")){
+ return "1";
+ }else if (transferStatus.equals("1")){
+ return "2";
+ }else if (transferStatus.equals("2")){
+ return "3";
+ }
+ }
+ return "-1";
+ }
+
+ public UserDeptDTO getUserDeptDTO(String userName){
+ UserDeptDTO userDeptDTO = new UserDeptDTO();
+ SysUser sysUser = sysUserService.selectUserByUserName(userName);
+ userDeptDTO.setDeptId(sysUser.getDeptId());
+ SysDept sysDept = sysDeptService.selectDeptById(sysUser.getDeptId());
+ userDeptDTO.setDeptType(sysDept.getDeptType());
+ if (sysDept.getDeptType().equals("head")){
+ userDeptDTO.setHeadId(sysDept.getDeptId());
+ }else if (sysDept.getDeptType().equals("branch")){
+ userDeptDTO.setBranchId(sysDept.getDeptId());
+ userDeptDTO.setHeadId(sysDept.getParentId());
+ }else if (sysDept.getDeptType().equals("outlet")){
+ userDeptDTO.setOutletId(sysDept.getDeptId());
+ userDeptDTO.setBranchId(sysDept.getParentId());
+ SysDept branchDept = sysDeptService.selectDeptById(sysDept.getParentId());
+ userDeptDTO.setHeadId(branchDept.getParentId());
+ }
+ return userDeptDTO;
+ }
+
+ public List queryClaimList(String custKey, String gridType){
+ List gridCmpmClaimVOS = gridCmpmMapper.queryClaimList(SecurityUtils.getHeadId(), gridType, custKey);
+ return gridCmpmClaimVOS.stream().map(gridCmpmClaimVO -> {
+ gridCmpmClaimVO.setClaimFlag(Boolean.TRUE);
+ if (gridType.equals("corproate_account")){
+ if (gridCmpmTransferMapper.checkExistTransferCust(gridCmpmClaimVO.getAccountNo(), gridCmpmClaimVO.getUserName()) > 0){
+ gridCmpmClaimVO.setClaimFlag(Boolean.FALSE);
+ gridCmpmClaimVO.setClaimStatus("该客户存在正在审批的移交或者认领流程");
+ }
+ }else {
+ if (gridCmpmTransferMapper.checkExistTransferCust(gridCmpmClaimVO.getCustId(), gridCmpmClaimVO.getUserName()) > 0){
+ gridCmpmClaimVO.setClaimFlag(Boolean.FALSE);
+ gridCmpmClaimVO.setClaimStatus("该客户存在正在审批的移交或者认领流程");
+ }
+ }
+ if (Objects.nonNull(gridCmpmClaimVO.getUserName()) && gridCmpmClaimVO.getUserName().equals(SecurityUtils.getUsername())){
+ gridCmpmClaimVO.setClaimFlag(Boolean.FALSE);
+ gridCmpmClaimVO.setClaimStatus("该客户无须认领");
+ }
+ return gridCmpmClaimVO;
+ }).collect(Collectors.toList());
+ }
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmUpdateService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmUpdateService.java
new file mode 100644
index 0000000..36460dc
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/GridCmpmUpdateService.java
@@ -0,0 +1,113 @@
+package com.ruoyi.ibs.cmpm.service;
+
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.ibs.cmpm.domain.dto.GridCmpmUpdateDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpm;
+import com.ruoyi.ibs.cmpm.domain.entity.GridCmpmTransfer;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmMapper;
+import com.ruoyi.ibs.cmpm.mapper.GridCmpmTransferMapper;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/10/24
+ **/
+@Service
+@Slf4j
+@EnableAsync
+public class GridCmpmUpdateService {
+
+ @Resource
+ private GridCmpmMapper gridCmpmMapper;
+ @Resource
+ private GridCmpmTransferMapper gridCmpmTransferMapper;
+ @Resource
+ private ISysDeptService sysDeptService;
+ @Resource
+ private ISysUserService sysUserService;
+
+ @Async
+ @Transactional(rollbackFor = Exception.class)
+ public void updateGridCmpm(GridCmpmTransfer gridCmpmTransfer) {
+ GridCmpm gridCmpm = gridCmpmMapper.getGridCmpmByCustKey(gridCmpmTransfer.getCustId(), gridCmpmTransfer.getAccountNo(), gridCmpmTransfer.getPrevUserName(),
+ gridCmpmTransfer.getGridType(), gridCmpmTransfer.getHeadId());
+ if (Objects.isNull(gridCmpm)){
+ throw new ServiceException("绩效网格管户不存在");
+ }
+
+ SysUser sysUser = sysUserService.selectUserByUserName(gridCmpmTransfer.getNextUserName());
+ if (Objects.isNull(sysUser)){
+ throw new ServiceException("移交用户不存在");
+ }
+ gridCmpm.setUserName(sysUser.getUserName());
+ gridCmpm.setNickName(sysUser.getNickName());
+ if(Objects.nonNull(gridCmpmTransfer.getNextBranchId())){
+ SysDept sysDept = sysDeptService.selectDeptById(gridCmpmTransfer.getNextBranchId());
+ gridCmpm.setBranchId(gridCmpmTransfer.getNextBranchId());
+ gridCmpm.setBranchName(sysDept.getDeptName());
+ }else{
+ gridCmpm.setBranchId(null);
+ gridCmpm.setBranchName(null);
+ }
+ if(Objects.nonNull(gridCmpmTransfer.getNextOutletId())){
+ SysDept sysDept = sysDeptService.selectDeptById(gridCmpmTransfer.getNextOutletId());
+ gridCmpm.setOutletId(gridCmpmTransfer.getNextOutletId());
+ gridCmpm.setOutletName(sysDept.getDeptName());
+ }else{
+ gridCmpm.setOutletId(null);
+ gridCmpm.setOutletName(null);
+ }
+ GridCmpmUpdateDTO gridCmpmUpdateDTO = new GridCmpmUpdateDTO();
+ BeanUtils.copyProperties(gridCmpm, gridCmpmUpdateDTO);
+ gridCmpmUpdateDTO.setPrevUserName(gridCmpmTransfer.getPrevUserName());
+ gridCmpmUpdateDTO.setDeptCode(gridCmpmTransfer.getHeadId());
+ gridCmpmMapper.updateGridCmpm(gridCmpmUpdateDTO);
+ log.info("更新绩效网格客户管护:" + gridCmpm);
+ }
+
+ @Async
+ @Transactional(rollbackFor = Exception.class)
+ public void createFullTransferApprove(GridCmpmTransfer gridCmpmTransfer){
+ List gridCmpms = gridCmpmMapper.getGridCmpmByUserName(gridCmpmTransfer.getPrevUserName(), gridCmpmTransfer.getHeadId(), gridCmpmTransfer.getGridType());
+ if (!gridCmpms.isEmpty()){
+ List gridCmpmTransferList = new ArrayList<>();
+ for (GridCmpm gridCmpm : gridCmpms) {
+ GridCmpmTransfer transfer = new GridCmpmTransfer();
+ BeanUtils.copyProperties(gridCmpmTransfer, transfer);
+ transfer.setCustId(gridCmpm.getCustId());
+ transfer.setCustName(gridCmpm.getCustName());
+ transfer.setCustType(gridCmpm.getCustType());
+ transfer.setAccountNo(gridCmpm.getAccountNo());
+ gridCmpmTransferList.add(transfer);
+ if (gridCmpmTransferList.size() == 1000){
+ gridCmpmTransferMapper.batchInsert(gridCmpmTransferList);
+ gridCmpmTransferList.clear();
+ log.info("开始异步插入第{}个审批,总共有{}个", gridCmpmTransferList.size(), gridCmpms.size());
+ }
+ }
+ if (!gridCmpmTransferList.isEmpty()){
+ gridCmpmTransferMapper.batchInsert(gridCmpmTransferList);
+ }
+ log.info("开始异步插入第{}个审批,总共有{}个", gridCmpmTransferList.size(), gridCmpms.size());
+ }else{
+ log.info("该用户没有客户需要移交: " + gridCmpmTransfer.getPrevUserName());
+ }
+ log.info("全量移交审批流程已插入:" + gridCmpmTransfer.getPrevUserName());
+ }
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/VisitCustReachService.java b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/VisitCustReachService.java
new file mode 100644
index 0000000..8a4f4c6
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/cmpm/service/VisitCustReachService.java
@@ -0,0 +1,91 @@
+package com.ruoyi.ibs.cmpm.service;
+
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageInfo;
+import com.github.pagehelper.page.PageMethod;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustQueryDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustReachDTO;
+import com.ruoyi.ibs.cmpm.domain.dto.VisitCustReachListDTO;
+import com.ruoyi.ibs.cmpm.domain.entity.VisitCustReach;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachListVO;
+import com.ruoyi.ibs.cmpm.domain.vo.VisitCustReachVO;
+import com.ruoyi.ibs.cmpm.mapper.VisitCustReachMapper;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/12/11
+ **/
+@Service
+public class VisitCustReachService {
+
+ @Resource
+ private VisitCustReachMapper visitCustReachMapper;
+
+ @Resource
+ private ISysDeptService sysDeptService;
+
+ @Resource
+ private ISysUserService sysUserService;
+
+
+ public String saveVisitCustReachDTO(VisitCustReachDTO visitCustReachDTO){
+ VisitCustReach visitCustReach;
+ if (Objects.isNull(visitCustReachDTO.getId())){
+ visitCustReach = new VisitCustReach();
+ BeanUtils.copyProperties(visitCustReachDTO,visitCustReach);
+ visitCustReach.setDeptId(SecurityUtils.getDeptId());
+ visitCustReachMapper.insert(visitCustReach);
+ }else {
+ visitCustReach = visitCustReachMapper.selectById(visitCustReachDTO.getId());
+ BeanUtils.copyProperties(visitCustReachDTO,visitCustReach);
+ visitCustReachMapper.updateById(visitCustReach);
+ }
+ return "客户触达信息已保存";
+ }
+
+ public List queryVisitCust(String custName){
+ VisitCustQueryDTO visitCustQueryDTO = new VisitCustQueryDTO();
+ visitCustQueryDTO.setCustName(custName);
+ visitCustQueryDTO.setUserName(SecurityUtils.getUsername());
+ visitCustQueryDTO.setBranchId(getBranchIdByUserName(SecurityUtils.getUsername()));
+ return visitCustReachMapper.queryVisitCust(visitCustQueryDTO);
+ }
+
+ public PageInfo queryVisitCustReachList(VisitCustReachListDTO visitCustReachListDTO){
+ visitCustReachListDTO.setDeptId(SecurityUtils.getDeptId());
+ visitCustReachListDTO.setEditUserName(SecurityUtils.getUsername());
+ if ("manager".equals(SecurityUtils.userRole())){
+ visitCustReachListDTO.setAliasUserName(SecurityUtils.getUsername());
+ }
+ PageMethod.startPage(visitCustReachListDTO.getPageNum(), visitCustReachListDTO.getPageSize());
+ Page visitCustReachListVOPage = visitCustReachMapper.queryVisitCustReachList(visitCustReachListDTO);
+ return visitCustReachListVOPage.toPageInfo();
+ }
+
+ public List queryVisitCustReachListByCustId(String custId){
+ return visitCustReachMapper.queryVisitCustReachListByCustId(custId);
+ }
+
+ private Long getBranchIdByUserName(String userName){
+ SysUser sysUser = sysUserService.selectUserByUserName(userName);
+ SysDept sysDept = sysDeptService.selectDeptById(sysUser.getDeptId());
+ if (sysDept.getDeptType().equals("branch")){
+ return sysDept.getDeptId();
+ }
+ if (sysDept.getDeptType().equals("outlet")){
+ return sysDept.getParentId();
+ }
+ return null;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapController.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapController.java
new file mode 100644
index 0000000..1354033
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapController.java
@@ -0,0 +1,135 @@
+package com.ruoyi.ibs.custmap.controller;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleExcelDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonExcelDTO;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapExcelVO;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
+import com.ruoyi.ibs.custmap.service.CustMapExportService;
+import com.ruoyi.ibs.custmap.service.CustMapSelectService;
+import com.ruoyi.ibs.custmap.service.DeptAddressService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Objects;
+
+@Api(tags = "地图拓客接口")
+@Slf4j
+@RestController
+@RequestMapping("/cust/map")
+public class CustMapController extends BaseController {
+ @Resource
+ private CustMapSelectService custMapSelectService;
+
+ @Resource
+ private CustMapExportService custMapExportService;
+
+ @Resource
+ private DeptAddressService deptAddressService;
+
+ @ApiOperation("坐标和半径查询用户列表")
+ @Log(title = "地图拓客-坐标和半径查询用户列表")
+ @PostMapping("/search/circle")
+ public AjaxResult searchCustByCircle(@RequestBody @Valid CustMapCircleDTO custMapCircleDTO) {
+ List custMapVOS = custMapSelectService.selectCustListByCircle(custMapCircleDTO);
+ return success(custMapVOS);
+ }
+
+ @ApiOperation("坐标和半径导出用户")
+ @Log(title = "地图拓客-坐标和半径导出用户")
+ @PostMapping("/export/circle")
+ public AjaxResult exportCustByCircle(@RequestBody @Valid CustMapCircleExcelDTO custMapCircleExcelDTO) {
+ if (custMapExportService.checkCustMapExportRequest()){
+ return AjaxResult.error("请勿重复点击导出");
+ }
+ custMapCircleExcelDTO.setLatRange(custMapCircleExcelDTO.getDist() / 111.0);
+ custMapCircleExcelDTO.setLngRange(custMapCircleExcelDTO.getDist() / (111.0 * Math.cos(Math.toRadians(custMapCircleExcelDTO.getTargetLat()))));
+ custMapCircleExcelDTO.setUserName(getUsername());
+ custMapCircleExcelDTO.setDept(SecurityUtils.getHeadId());
+ custMapExportService.exportCustMapList(custMapCircleExcelDTO);
+ return success("开始生成客户导出文件");
+ }
+ @ApiOperation("坐标和半径搜索用户数量")
+ @Log(title ="地图拓客-坐标和半径搜索用户数量")
+ @PostMapping("/search/circle/count")
+ public AjaxResult countCustMapListByCircle(@RequestBody @Valid CustMapCircleDTO custMapCircleDTO) {
+ return success(custMapSelectService.countCustMapListByCircle(custMapCircleDTO));
+ }
+
+ @ApiOperation("多边形坐标查询用户列表")
+ @Log(title = "地图拓客-多边形坐标查询用户列表")
+ @PostMapping("/search/polygon")
+ public AjaxResult searchCustByPolygon(@RequestBody @Valid CustMapPolygonDTO custMapPolygonDTO) {
+ List custMapVOS = custMapSelectService.selectCustListByPolygon(custMapPolygonDTO);
+ return success(custMapVOS);
+ }
+
+ @ApiOperation("多边形坐标搜索用户数量")
+ @Log(title = "地图拓客-多边形坐标搜索用户数量")
+ @PostMapping("/search/polygon/count")
+ public AjaxResult countCustMapListByPolygon(@RequestBody @Valid CustMapPolygonDTO custMapPolygonDTO) {
+ return success(custMapSelectService.countCustMapListByPolygon(custMapPolygonDTO));
+ }
+
+ @ApiOperation("多边形坐标导出用户")
+ @Log(title = "地图拓客-多边形坐标导出用户")
+ @PostMapping("/export/polygon")
+ public AjaxResult exportCustMapListByPolygon(@RequestBody @Valid CustMapPolygonExcelDTO custMapPolygonExcelDTO) {
+ if (custMapExportService.checkCustMapExportRequest()){
+ return AjaxResult.error("请勿重复点击导出");
+ }
+ custMapPolygonExcelDTO.setUserName(getUsername());
+ custMapPolygonExcelDTO.setDept(SecurityUtils.getHeadId());
+ custMapExportService.exportCustMapList(custMapPolygonExcelDTO);
+ return success("开始生成客户导出文件");
+ }
+
+ @ApiOperation("获取用户默认地址")
+ @Log(title = "地图拓客-获取用户默认地址")
+ @GetMapping("/loc")
+ public AjaxResult getDefaultLoc() {
+ return success(deptAddressService.selectDeptAddressById());
+ }
+
+ @ApiOperation("获取新华社数据")
+ @Log(title = "地图拓客-获取新华社数据")
+ @GetMapping("/info")
+ public AjaxResult getRadarInfo(@RequestParam Integer id) {
+ return success(custMapSelectService.selectCustInfoRadarById(id));
+ }
+
+ @ApiOperation("选择导出用户")
+ @Log(title = "地图拓客-选择导出用户")
+ @PostMapping("/export/select")
+ public void exportTopGridTemplate(HttpServletResponse response, @RequestBody List ids) {
+ if(Objects.isNull(ids) || ids.isEmpty()){
+ throw new ServiceException("请选择导出客户");
+ }
+ List custMapExcelVOS = custMapExportService.exportCustMapList(ids);
+ ExcelUtil util = new ExcelUtil<>(CustMapExcelVO.class);
+ util.exportExcel(response, custMapExcelVOS, "地图拓客导出");
+ }
+
+ @Anonymous
+ @ApiOperation("获取用户默认地址")
+ @GetMapping("/loc/init")
+ public AjaxResult initDefaultLoc() {
+ deptAddressService.initDeptAddress();
+ return success();
+ }
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapMerticController.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapMerticController.java
new file mode 100644
index 0000000..fc0d1da
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapMerticController.java
@@ -0,0 +1,68 @@
+package com.ruoyi.ibs.custmap.controller;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.ibs.custmap.domain.vo.CompanyTypeVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/23
+ **/
+@Api(tags = "地图拓客码值")
+@RestController
+@RequestMapping("/cust/map/metric")
+public class CustMapMerticController extends BaseController {
+
+ @Resource
+ private RedisCache redisCache;
+
+ @ApiOperation("币种码值表")
+ @GetMapping("/cur")
+ public R> getCurDict(){
+ List sysDictTypeArrayList = new ArrayList(redisCache.getCacheObject("sys_dict:cust_map_cur_metric"));
+ return R.ok(sysDictTypeArrayList);
+ }
+
+ @ApiOperation("资质证书")
+ @GetMapping("/zzzs")
+ public R> getZzzsDict(){
+ List sysDictTypeArrayList = new ArrayList(redisCache.getCacheObject("sys_dict:cust_map_zzzs_metric"));
+ return R.ok(sysDictTypeArrayList);
+ }
+
+ @ApiOperation("机构类型码值表")
+ @GetMapping("/company/type")
+ public R> getCompanyTypeDict(){
+ List sysDictTypeArrayList = new ArrayList(redisCache.getCacheObject("sys_dict:cust_map_company_type_metric"));
+ List collect = sysDictTypeArrayList.stream().map(CompanyTypeVO::new).collect(Collectors.toList());
+ List collect1 = collect.stream().filter(companyTypeVO -> companyTypeVO.getSort() == 1).collect(Collectors.toList());
+ for (CompanyTypeVO companyTypeVO : collect1) {
+ companyTypeVO.setChildren(companyTypeDfs(companyTypeVO.getValue(), companyTypeVO.getSort() + 1, collect));
+ }
+ return R.ok(collect1);
+ }
+
+ private List companyTypeDfs(String value, Long sort, List collect){
+ List collect1 = collect.stream().filter(companyTypeVO -> companyTypeVO.getValue().startsWith(value) && companyTypeVO.getSort() == sort)
+ .collect(Collectors.toList());
+ if (collect1.size() == 0){
+ return null;
+ }
+ for (CompanyTypeVO companyTypeVO : collect1) {
+ companyTypeVO.setChildren(companyTypeDfs(companyTypeVO.getValue(), companyTypeVO.getSort() + 1, collect));
+ }
+ return collect1;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapSearchController.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapSearchController.java
new file mode 100644
index 0000000..36053ed
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/controller/CustMapSearchController.java
@@ -0,0 +1,44 @@
+package com.ruoyi.ibs.custmap.controller;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapSearchDTO;
+import com.ruoyi.ibs.custmap.service.CustMapSearchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/6/23
+ **/
+@Api(tags = "地图拓客-我的模板接口")
+@RestController
+@RequestMapping("/cust/map/search/template")
+public class CustMapSearchController {
+
+ @Resource
+ private CustMapSearchService custMapSearchService;
+
+ @ApiOperation("保存查询模板")
+ @PostMapping("/save")
+ public AjaxResult saveCustMapSearchTemplate(@RequestBody @Valid CustMapSearchDTO custMapSearchDTO)
+ {
+ return AjaxResult.success(custMapSearchService.saveCustMapSearchTemplate(custMapSearchDTO));
+ }
+
+ @ApiOperation("获取查询模板")
+ @GetMapping("/get")
+ public AjaxResult getCustMapSearchTemplate()
+ {
+ return AjaxResult.success(custMapSearchService.getCustMapSearchTemplate());
+ }
+
+ @ApiOperation("删除查询模板")
+ @PostMapping("/delete")
+ public AjaxResult deleteCustMapSearchTemplate(@RequestParam String templateId) {
+ return AjaxResult.success(custMapSearchService.deleteCustMapSearchTemplate(templateId));
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleDTO.java
new file mode 100644
index 0000000..f331034
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleDTO.java
@@ -0,0 +1,45 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapCircleDTO extends CustMapDTO{
+
+ @NotNull(message = "纬度不能为空")
+ @ApiModelProperty(value = "纬度")
+ private Double targetLat;
+
+ @NotNull(message = "经度不能为空")
+ @ApiModelProperty(value = "经度")
+ private Double targetLng;
+
+ private Double latRange;
+
+ private Double lngRange;
+
+ @NotNull(message = "距离不能为空")
+ @ApiModelProperty(value = "距离半径")
+ private Double dist;
+
+ @ApiModelProperty(value = "页面大小")
+ private Integer size;
+
+ @ApiModelProperty(value = "页数")
+ private Integer num;
+
+ private Integer pageIndex;
+
+ @ApiModelProperty(value = "升降序")
+ private Boolean isAsc;
+
+ private List codeList;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleExcelDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleExcelDTO.java
new file mode 100644
index 0000000..8c53466
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapCircleExcelDTO.java
@@ -0,0 +1,31 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapCircleExcelDTO extends CustMapExcelDTO{
+
+ @NotNull(message = "纬度不能为空")
+ @ApiModelProperty(value = "纬度")
+ private Double targetLat;
+
+ @NotNull(message = "经度不能为空")
+ @ApiModelProperty(value = "经度")
+ private Double targetLng;
+
+ private Double latRange;
+
+ private Double lngRange;
+
+ @NotNull(message = "距离不能为空")
+ @ApiModelProperty(value = "距离半径")
+ private Double dist;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapDTO.java
new file mode 100644
index 0000000..4c36bb7
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapDTO.java
@@ -0,0 +1,282 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapDTO {
+
+ private String dept;
+
+ /**
+ * 企业规模 | en_qly
+ */
+ @ApiModelProperty(value = "企业规模 | en_qly")
+ private List custScaleList;
+
+ @ApiModelProperty(value = "机构类型")
+ private List companyTypeList;
+
+ @ApiModelProperty(value = "包含机构类型")
+ private Boolean companyTypeInclude;
+ /**
+ * 法人电话
+ */
+ @ApiModelProperty(value = "是否电话")
+ private Boolean isPhoneNumber;
+
+ @ApiModelProperty(value = "是否邮箱")
+ private Boolean isEmail;
+
+ /**
+ * 省
+ */
+ @ApiModelProperty(value = "省")
+ private String province;
+
+ /**
+ * 市
+ */
+ @ApiModelProperty(value = "市")
+ private String city;
+
+ /**
+ * 县
+ */
+ @ApiModelProperty(value = "县")
+ private String county;
+
+ /**
+ * 街道/镇
+ */
+ @ApiModelProperty(value = "街道/镇")
+ private String street;
+
+ /**
+ * 社区/村
+ */
+ @ApiModelProperty(value = "社区/村")
+ private String community;
+
+ /**
+ * 所在行业
+ */
+ @ApiModelProperty(value = "所在行业")
+ private List belongBusinessList;
+
+ /**
+ * 成立年限
+ */
+ @ApiModelProperty(value = "成立年限")
+ private List startDateIntervalList;
+
+ /**
+ * 经营状态
+ */
+ @ApiModelProperty(value = "经营状态")
+ private List statusList;
+
+ @ApiModelProperty(value = "是否包含特定经营状态")
+ private Boolean statusInclude;
+
+ /**
+ * 注册资本币种
+ */
+ @ApiModelProperty(value = "注册资本币种")
+ private String registCapiCur;
+
+ @ApiModelProperty(value = "注册资本范围")
+ private List registCapiIntervalList;
+
+ /**
+ * 实缴资本币种
+ */
+ @ApiModelProperty(value = "实缴资本币种")
+ private String recCapCur;
+
+ @ApiModelProperty(value = "实缴资本范围")
+ private List recCapIntervalList;
+
+ /**
+ * 经营信息-养老保险参保人数
+ */
+ @ApiModelProperty(value = "经营信息-养老保险参保人数")
+ private List businessInfoPenInsurIntervalList;
+
+ /**
+ * 经营信息-医疗保险参保人数
+ */
+ @ApiModelProperty(value = "经营信息-医疗保险参保人数")
+ private List businessInfoMediInsurIntervalList;
+
+ /**
+ * 经营信息-有无进出口信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无进出口信息(1为有,0为无)")
+ private Boolean businessInfoImExportFlag;
+
+ @ApiModelProperty(value = "进出口信用等级列表")
+ private List businessInfoImExportCreditGradeList;
+
+ /**
+ * 经营信息-有无政府扶持和奖励(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无政府扶持和奖励(1为有,0为无)")
+ private Boolean businessInfoGovSupportFlag;
+
+ /**
+ * 经营信息-有无融资信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无融资信息(1为有,0为无)")
+ private Boolean businessInfoFinaInfoFlag;
+
+ /**
+ * 经营信息-融资轮次
+ */
+ @ApiModelProperty(value = "经营信息-融资轮次")
+ private List businessInfoFinaRoundList;
+
+ /**
+ * 知识产权-有无商标信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无商标信息(1为有,0为无)")
+ private Boolean intelPropRightTrademarkInfoFlag;
+
+ /**
+ * 知识产权-有无专利信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无专利信息(1为有,0为无)")
+ private Boolean intelPropRightPatentInfoFlag;
+
+ /**
+ * 知识产权-有无软件著作权(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无软件著作权(1为有,0为无)")
+ private Boolean intelPropRightSoftCopyrightFlag;
+
+ /**
+ * 科技等级-类型
+ */
+ @ApiModelProperty(value = "科技等级-类型")
+ private List technologyLvlTypeList;
+
+ /**
+ * 科技等级-状态
+ */
+ @ApiModelProperty(value = "科技等级-状态")
+ private List technologyLvlStateList;
+
+ /**
+ * 科技等级-级别
+ */
+ @ApiModelProperty(value = "科技等级-级别")
+ private List technologyLvlLevelList;
+
+ /**
+ * 资本市场-有无上市信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "资本市场-有无上市信息(1为有,0为无)")
+ private Boolean capMarketListInfoFlag;
+
+ /**
+ * 风险特征-有无失信信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无失信信息(1为有,0为无)")
+ private Boolean riskCharDisInfoFlag;
+
+ /**
+ * 风险特征-有无破产清算(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无破产清算(1为有,0为无)")
+ private Boolean riskCharBankruptcyLiquiFlag;
+
+ /**
+ * 风险特征-有无变更记录(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无变更记录(1为有,0为无)")
+ private Boolean riskCharChangeRecordFlag;
+
+ /**
+ * 风险特征-有无失信被执行人(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无失信被执行人(1为有,0为无)")
+ private Boolean riskCharDisPersonFlag;
+
+ /**
+ * 风险特征-有无严重失信违法(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无严重失信违法(1为有,0为无)")
+ private Boolean riskCharSncFlag;
+
+ /**
+ * 风险特征-有无限制高消费(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无限制高消费(1为有,0为无)")
+ private Boolean riskCharRhcFlag;
+
+ /**
+ * 经营风险-有无行政处罚(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无行政处罚(1为有,0为无)")
+ private Boolean operatRiskAdminPenaltyFlag;
+
+ /**
+ * 经营风险-有无环保处罚(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无环保处罚(1为有,0为无)")
+ private Boolean operatRiskEnvirPenaltyFlag;
+
+ /**
+ * 经营风险-有无欠税信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无欠税信息(1为有,0为无)")
+ private Boolean operatRiskOweTaxInfoFlag;
+
+ /**
+ * 经营风险-有无终末案件(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无终末案件(1为有,0为无)")
+ private Boolean operatRiskFinalCaseFlag;
+
+ /**
+ * 经营风险-有无未结案件(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无未结案件(1为有,0为无)")
+ private Boolean operatRiskUnfinishCaseFlag;
+
+ /**
+ * 新增企业标识(1为新增企业,0为存量企业)
+ */
+ @ApiModelProperty(value = "新增企业标识(1为新增企业,0为存量企业)")
+ private Boolean newCompanyFlag;
+
+ @ApiModelProperty(value = "是否是分支机构")
+ private Boolean isBranchFlag;
+
+ @ApiModelProperty(value = "是否有分支机构")
+ private Boolean isHasBranchFlag;
+
+ @ApiModelProperty(value = "纳税信用等级")
+ private List nsxydjList;
+
+ @ApiModelProperty(value = "税收违法")
+ private Boolean isSswf;
+
+ @ApiModelProperty(value = "经营异常")
+ private Boolean isJyyc;
+
+ @ApiModelProperty(value = "资质证书")
+ private List zzzsCodeList;
+
+ @ApiModelProperty(value = "法人变更")
+ private Boolean isFrbg;
+
+ @ApiModelProperty(value = "股权冻结")
+ private Boolean isGqdj;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapExcelDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapExcelDTO.java
new file mode 100644
index 0000000..b2da55a
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapExcelDTO.java
@@ -0,0 +1,25 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapExcelDTO extends CustMapDTO{
+
+ private String dept;
+
+ private String userName;
+
+ @NotNull(message = "导出数据量不能为空")
+ @ApiModelProperty(value = "导出数据量")
+ private Integer total;
+
+ @ApiModelProperty(value = "升降序")
+ private Boolean isAsc;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonDTO.java
new file mode 100644
index 0000000..021a6a5
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonDTO.java
@@ -0,0 +1,37 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapPolygonDTO extends CustMapDTO{
+
+ @NotEmpty(message = "wkt不能为空")
+ @ApiModelProperty(value = "wkt")
+ private String wkt;
+
+ private Double minLat;
+
+ private Double minLng;
+
+ private Double maxLat;
+
+ private Double maxLng;
+
+ @ApiModelProperty(value = "页面大小")
+ private Integer size;
+
+ @ApiModelProperty(value = "页数")
+ private Integer num;
+
+ private Integer pageIndex;
+
+ @ApiModelProperty(value = "升降序")
+ private Boolean isAsc;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonExcelDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonExcelDTO.java
new file mode 100644
index 0000000..1e834e4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapPolygonExcelDTO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapPolygonExcelDTO extends CustMapExcelDTO{
+
+ @NotEmpty(message = "wkt不能为空")
+ @ApiModelProperty(value = "wkt")
+ private String wkt;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapSearchDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapSearchDTO.java
new file mode 100644
index 0000000..efd9325
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/CustMapSearchDTO.java
@@ -0,0 +1,30 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.Valid;
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+@Valid
+public class CustMapSearchDTO {
+
+ @ApiModelProperty(value = "模板id")
+ private String templateId;
+
+ @ApiModelProperty(value = "模板名称")
+ private String templateName;
+
+ private String nickName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ private String searchTemplate;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/PolygonDTO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/PolygonDTO.java
new file mode 100644
index 0000000..6691472
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/PolygonDTO.java
@@ -0,0 +1,20 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/22
+ **/
+@Data
+public class PolygonDTO {
+
+ private Double minLat;
+
+ private Double minLng;
+
+ private Double maxLat;
+
+ private Double maxLng;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/RangeInterval.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/RangeInterval.java
new file mode 100644
index 0000000..0154c59
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/dto/RangeInterval.java
@@ -0,0 +1,14 @@
+package com.ruoyi.ibs.custmap.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/20
+ **/
+
+@Data
+public class RangeInterval{
+ private Long min;
+ private Long max;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/CustInfoRadar.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/CustInfoRadar.java
new file mode 100644
index 0000000..c00d466
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/CustInfoRadar.java
@@ -0,0 +1,323 @@
+package com.ruoyi.ibs.custmap.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 客户雷达信息表(CustInfoRadar965)实体类
+ *
+ * @author makejava
+ * @since 2025-05-22 16:44:05
+ */
+@Data
+@TableName("cust_info_radar")
+public class CustInfoRadar {
+ /**
+ * id
+ */
+ @TableId
+ @ApiModelProperty(value = "ID")
+ private Integer id;
+ /**
+ * 企业规模 | en_qly
+ */
+ @ApiModelProperty(value = "企业规模 | en_qly")
+ private String custScale;
+ /**
+ * 企业名称 | cust_nam
+ */
+ @ApiModelProperty(value = "企业名称 | cust_nam")
+ private String custName;
+ /**
+ * 法人姓名
+ */
+ @ApiModelProperty(value = "法人姓名")
+ private String lpName;
+ /**
+ * 法人电话
+ */
+ @ApiModelProperty(value = "法人电话")
+ private String custPhone;
+ /**
+ * 客户号 | cust_id
+ */
+ @ApiModelProperty(value = "客户号 | cust_id")
+ private String custId;
+ /**
+ * 客户内码 | cst_id
+ */
+ @ApiModelProperty(value = "客户内码 | cst_id")
+ private String custIsn;
+ /**
+ * 统一社会信用识别码 | uniscid
+ */
+ @ApiModelProperty(value = "统一社会信用识别码 | uniscid")
+ private String socialCreditCode;
+ /**
+ * 省
+ */
+ @ApiModelProperty(value = "省")
+ private String province;
+ /**
+ * 市
+ */
+ @ApiModelProperty(value = "市")
+ private String city;
+ /**
+ * 县
+ */
+ @ApiModelProperty(value = "县")
+ private String county;
+ /**
+ * 街道/镇
+ */
+ @ApiModelProperty(value = "街道/镇")
+ private String street;
+ /**
+ * 社区/村
+ */
+ @ApiModelProperty(value = "社区/村")
+ private String community;
+ /**
+ * 详细地址
+ */
+ @ApiModelProperty(value = "详细地址")
+ private String addressDetail;
+ /**
+ * 经度
+ */
+ @ApiModelProperty(value = "经度")
+ private Double longitude;
+ /**
+ * 纬度
+ */
+ @ApiModelProperty(value = "纬度")
+ private Double latitude;
+ /**
+ * 所在行业
+ */
+ @ApiModelProperty(value = "所在行业")
+ private String belongBusiness;
+ /**
+ * 成立年限
+ */
+ @ApiModelProperty(value = "成立年限")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private String startDate;
+ /**
+ * 经营状态
+ */
+ @ApiModelProperty(value = "经营状态")
+ private String status;
+ /**
+ * 注册资本币种
+ */
+ @ApiModelProperty(value = "注册资本币种")
+ private String registCapiCur;
+ /**
+ * 注册资本数值
+ */
+ @ApiModelProperty(value = "注册资本数值")
+ private Double registCapiValue;
+ /**
+ * 注册资本单位
+ */
+ @ApiModelProperty(value = "注册资本单位")
+ private String registCapiUnit;
+ /**
+ * 实缴资本币种
+ */
+ @ApiModelProperty(value = "实缴资本币种")
+ private String recCapCur;
+ /**
+ * 实缴资本数值
+ */
+ @ApiModelProperty(value = "实缴资本数值")
+ private Double recCapValue;
+ /**
+ * 实缴资本单位
+ */
+ @ApiModelProperty(value = "实缴资本单位")
+ private String recCapUnit;
+ /**
+ * 联系方式
+ */
+ @ApiModelProperty(value = "联系方式")
+ private String phoneNumber;
+ /**
+ * 经营信息-养老保险参保人数
+ */
+ @ApiModelProperty(value = "经营信息-养老保险参保人数")
+ private String businessInfoPenInsurNum;
+ /**
+ * 经营信息-医疗保险参保人数
+ */
+ @ApiModelProperty(value = "经营信息-医疗保险参保人数")
+ private String businessInfoMediInsurNum;
+ /**
+ * 经营信息-有无进出口信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无进出口信息(1为有,0为无)")
+ private Boolean businessInfoImExportFlag;
+
+ @ApiModelProperty(value = "经营信息-进出口信用等级")
+ private String businessInfoImExportCreditGrade;
+
+ /**
+ * 经营信息-有无政府扶持和奖励(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无政府扶持和奖励(1为有,0为无)")
+ private Boolean businessInfoGovSupportFlag;
+ /**
+ * 经营信息-有无融资信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营信息-有无融资信息(1为有,0为无)")
+ private Boolean businessInfoFinaInfoFlag;
+ /**
+ * 经营信息-融资轮次
+ */
+ @ApiModelProperty(value = "经营信息-融资轮次")
+ private String businessInfoFinaRound;
+ /**
+ * 知识产权-有无商标信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无商标信息(1为有,0为无)")
+ private Boolean intelPropRightTrademarkInfoFlag;
+ /**
+ * 知识产权-有无专利信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无专利信息(1为有,0为无)")
+ private Boolean intelPropRightPatentInfoFlag;
+ /**
+ * 知识产权-有无软件著作权(1为有,0为无)
+ */
+ @ApiModelProperty(value = "知识产权-有无软件著作权(1为有,0为无)")
+ private Boolean intelPropRightSoftCopyrightFlag;
+ /**
+ * 科技等级-类型
+ */
+ @ApiModelProperty(value = "科技等级-类型")
+ private String technologyLvlType;
+ /**
+ * 科技等级-状态
+ */
+ @ApiModelProperty(value = "科技等级-状态")
+ private String technologyLvlState;
+ /**
+ * 科技等级-级别
+ */
+ @ApiModelProperty(value = "科技等级-级别")
+ private String technologyLvlLevel;
+ /**
+ * 资本市场-有无上市信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "资本市场-有无上市信息(1为有,0为无)")
+ private Boolean capMarketListInfoFlag;
+ /**
+ * 风险特征-有无失信信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无失信信息(1为有,0为无)")
+ private Boolean riskCharDisInfoFlag;
+ /**
+ * 风险特征-有无破产清算(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无破产清算(1为有,0为无)")
+ private Boolean riskCharBankruptcyLiquiFlag;
+ /**
+ * 风险特征-有无变更记录(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无变更记录(1为有,0为无)")
+ private Boolean riskCharChangeRecordFlag;
+ /**
+ * 风险特征-有无失信被执行人(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无失信被执行人(1为有,0为无)")
+ private Boolean riskCharDisPersonFlag;
+ /**
+ * 风险特征-有无严重失信违法(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无严重失信违法(1为有,0为无)")
+ private Boolean riskCharSncFlag;
+ /**
+ * 风险特征-有无限制高消费(1为有,0为无)
+ */
+ @ApiModelProperty(value = "风险特征-有无限制高消费(1为有,0为无)")
+ private Boolean riskCharRhcFlag;
+ /**
+ * 经营风险-有无行政处罚(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无行政处罚(1为有,0为无)")
+ private Boolean operatRiskAdminPenaltyFlag;
+ /**
+ * 经营风险-有无环保处罚(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无环保处罚(1为有,0为无)")
+ private Boolean operatRiskEnvirPenaltyFlag;
+ /**
+ * 经营风险-有无欠税信息(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无欠税信息(1为有,0为无)")
+ private Boolean operatRiskOweTaxInfoFlag;
+ /**
+ * 经营风险-有无终末案件(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无终末案件(1为有,0为无)")
+ private Boolean operatRiskFinalCaseFlag;
+ /**
+ * 经营风险-有无未结案件(1为有,0为无)
+ */
+ @ApiModelProperty(value = "经营风险-有无未结案件(1为有,0为无)")
+ private Boolean operatRiskUnfinishCaseFlag;
+ /**
+ * 新增企业标识(1为新增企业,0为存量企业)
+ */
+ @ApiModelProperty(value = "新增企业标识(1为新增企业,0为存量企业)")
+ private Boolean newCompanyFlag;
+
+ @ApiModelProperty(value = "是否是分支机构")
+ private Boolean isBranchFlag;
+
+ @ApiModelProperty(value = "是否有分支机构")
+ private Boolean isHasBranchFlag;
+
+ @ApiModelProperty(value = "电子邮箱")
+ private String email;
+
+ @ApiModelProperty(value = "注册资本展示")
+ private String registCapiShow;
+
+ @ApiModelProperty(value = "实缴资本展示")
+ private String recCapShow;
+
+ @ApiModelProperty(value = "经营范围")
+ private String scope;
+
+ @ApiModelProperty(value = "客户类型")
+ private String custType;
+
+ @ApiModelProperty(value = "机构类型")
+ private String companyType;
+
+ @ApiModelProperty(value = "纳税信用等级")
+ private String nsxydj;
+
+ @ApiModelProperty(value = "税收违法")
+ private Boolean isSswf;
+
+ @ApiModelProperty(value = "经营异常")
+ private Boolean isJyyc;
+
+ @ApiModelProperty(value = "资质证书")
+// @TableField(typeHandler = StringListTypeHandler.class)
+ private String zzzsCode;
+
+ @ApiModelProperty(value = "法人变更")
+ private Boolean isFrbg;
+
+ @ApiModelProperty(value = "股权冻结")
+ private Boolean isGqdj;
+
+}
\ No newline at end of file
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/DeptAddress.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/DeptAddress.java
new file mode 100644
index 0000000..bb3b8ca
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/entity/DeptAddress.java
@@ -0,0 +1,33 @@
+package com.ruoyi.ibs.custmap.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/23
+ **/
+@ApiModel(value = "机构地址表",description = "")
+@TableName("dept_address")
+@Data
+public class DeptAddress {
+
+ /** 部门id */
+ @ApiModelProperty(value = "部门id",notes = "")
+ @TableId
+ private Long deptId ;
+ /** */
+ @ApiModelProperty(value = "地址",notes = "")
+ private String address ;
+ @ApiModelProperty(value = "城市",notes = "")
+ private String city ;
+ /** */
+ @ApiModelProperty(value = "经度",notes = "")
+ private Double lng ;
+ /** */
+ @ApiModelProperty(value = "纬度",notes = "")
+ private Double lat ;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CompanyTypeVO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CompanyTypeVO.java
new file mode 100644
index 0000000..3471fc8
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CompanyTypeVO.java
@@ -0,0 +1,28 @@
+package com.ruoyi.ibs.custmap.domain.vo;
+
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/28
+ **/
+@Data
+public class CompanyTypeVO {
+
+ private Long sort;
+
+ private String label;
+
+ private String value;
+
+ private List children;
+
+ public CompanyTypeVO(SysDictData sysDictData) {
+ this.sort = sysDictData.getDictSort();
+ this.label = sysDictData.getDictLabel();
+ this.value = sysDictData.getDictValue();
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapExcelVO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapExcelVO.java
new file mode 100644
index 0000000..33b0272
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapExcelVO.java
@@ -0,0 +1,359 @@
+package com.ruoyi.ibs.custmap.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapExcelVO {
+
+ /**
+ * id
+ */
+// @Excel(name = "id")
+ @ExcelProperty("id")
+ private Integer id;
+
+ /**
+ * 企业规模 | en_qly
+ */
+ @ExcelProperty("企业规模")
+ private String custScale;
+
+ /**
+ * 企业名称 | cust_nam
+ */
+ @ExcelProperty("企业名称")
+ private String custName;
+
+ /**
+ * 公司类型
+ */
+ @ExcelProperty("机构类型")
+ private String companyType;
+
+ /**
+ * 法人姓名
+ */
+ @ExcelProperty("法人姓名")
+ private String lpName;
+
+ /**
+ * 法人电话
+ */
+ @ExcelProperty("法人电话")
+ private String custPhone;
+
+ /**
+ * 客户号 | cust_id
+ */
+ @ExcelProperty("客户号")
+ private String custId;
+
+ /**
+ * 客户内码 | cst_id
+ */
+ @ExcelProperty("客户内码")
+ private String custIsn;
+
+ /**
+ * 统一社会信用识别码 | uniscid
+ */
+ @ExcelProperty("统一社会信用识别码")
+ private String socialCreditCode;
+
+ /**
+ * 省
+ */
+ @ExcelProperty("省")
+ private String province;
+
+ /**
+ * 市
+ */
+ @ExcelProperty("市")
+ private String city;
+
+ /**
+ * 县
+ */
+ @ExcelProperty("县")
+ private String county;
+
+ /**
+ * 街道/镇
+ */
+ @ExcelProperty("街道/镇")
+ private String street;
+
+ /**
+ * 社区/村
+ */
+ @ExcelProperty("社区/村")
+ private String community;
+
+ /**
+ * 详细地址
+ */
+ @ExcelProperty("详细地址")
+ private String addressDetail;
+
+ /**
+ * 经度
+ */
+ @ExcelProperty("经度")
+ private BigDecimal longitude;
+
+ /**
+ * 纬度
+ */
+ @ExcelProperty("纬度")
+ private BigDecimal latitude;
+
+ /**
+ * 所在行业
+ */
+ @ExcelProperty("所在行业")
+ private String belongBusiness;
+
+ /**
+ * 成立年限
+ */
+ @ExcelProperty("成立年限")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private String startDate;
+
+ /**
+ * 经营状态
+ */
+ @ExcelProperty("经营状态")
+ private String status;
+
+ /**
+ * 注册资本币种
+ */
+ @ExcelProperty("注册资本币种")
+ private String registCapiCur;
+
+ /**
+ * 注册资本数值
+ */
+ @ExcelProperty("注册资本数值")
+ private Double registCapiValue;
+
+ /**
+ * 注册资本单位
+ */
+ @ExcelProperty("注册资本展示")
+ private String registCapiShow;
+
+ /**
+ * 实缴资本币种
+ */
+ @ExcelProperty("实缴资本币种")
+ private String recCapCur;
+
+ /**
+ * 实缴资本数值
+ */
+ @ExcelProperty("实缴资本数值")
+ private Double recCapValue;
+
+ /**
+ * 实缴资本单位
+ */
+ @ExcelProperty("实缴资本展示")
+ private String recCapShow;
+
+ /**
+ * 联系方式
+ */
+ @ExcelProperty("联系方式")
+ private String phoneNumber;
+
+ /**
+ * 经营信息-养老保险参保人数
+ */
+ @ExcelProperty("经营信息-养老保险参保人数")
+ private String businessInfoPenInsurNum;
+
+ /**
+ * 经营信息-医疗保险参保人数
+ */
+ @ExcelProperty("经营信息-医疗保险参保人数")
+ private String businessInfoMediInsurNum;
+
+ /**
+ * 经营信息-有无进出口信息(1为有,0为无)
+ */
+ @ExcelProperty("经营信息-有无进出口信息")
+ private Boolean businessInfoImExportFlag;
+
+ @ExcelProperty("经营信息-进出口信息信用等级")
+ private String businessInfoImExportCreditGrade;
+
+
+ /**
+ * 经营信息-有无政府扶持和奖励(1为有,0为无)
+ */
+ @ExcelProperty("经营信息-有无政府扶持和奖励")
+ private Boolean businessInfoGovSupportFlag;
+
+ /**
+ * 经营信息-有无融资信息(1为有,0为无)
+ */
+ @ExcelProperty("经营信息-有无融资信息")
+ private Boolean businessInfoFinaInfoFlag;
+
+ /**
+ * 经营信息-融资轮次
+ */
+ @ExcelProperty("经营信息-融资轮次")
+ private String businessInfoFinaRound;
+
+ /**
+ * 知识产权-有无商标信息(1为有,0为无)
+ */
+ @ExcelProperty("知识产权-有无商标信息")
+ private Boolean intelPropRightTrademarkInfoFlag;
+
+ /**
+ * 知识产权-有无专利信息(1为有,0为无)
+ */
+ @ExcelProperty("知识产权-有无专利信息")
+ private Boolean intelPropRightPatentInfoFlag;
+
+ /**
+ * 知识产权-有无软件著作权(1为有,0为无)
+ */
+ @ExcelProperty("知识产权-有无软件著作权")
+ private Boolean intelPropRightSoftCopyrightFlag;
+
+ /**
+ * 科技等级-类型
+ */
+ @ExcelProperty("科技等级-类型")
+ private String technologyLvlType;
+
+ /**
+ * 科技等级-状态
+ */
+ @ExcelProperty("科技等级-状态")
+ private String technologyLvlState;
+
+ /**
+ * 科技等级-级别
+ */
+ @ExcelProperty("科技等级-级别")
+ private String technologyLvlLevel;
+
+ /**
+ * 资本市场-有无上市信息(1为有,0为无)
+ */
+ @ExcelProperty("资本市场-有无上市信息")
+ private Boolean capMarketListInfoFlag;
+
+ /**
+ * 风险特征-有无失信信息(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无失信信息")
+ private Boolean riskCharDisInfoFlag;
+
+ /**
+ * 风险特征-有无破产清算(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无破产清算")
+ private Boolean riskCharBankruptcyLiquiFlag;
+
+ /**
+ * 风险特征-有无变更记录(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无变更记录")
+ private Boolean riskCharChangeRecordFlag;
+
+ /**
+ * 风险特征-有无失信被执行人(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无失信被执行人")
+ private Boolean riskCharDisPersonFlag;
+
+ /**
+ * 风险特征-有无严重失信违法(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无严重失信违法")
+ private Boolean riskCharSncFlag;
+
+ /**
+ * 风险特征-有无限制高消费(1为有,0为无)
+ */
+ @ExcelProperty("风险特征-有无限制高消费")
+ private Boolean riskCharRhcFlag;
+
+ /**
+ * 经营风险-有无行政处罚(1为有,0为无)
+ */
+ @ExcelProperty("经营风险-有无行政处罚")
+ private Boolean operatRiskAdminPenaltyFlag;
+
+ /**
+ * 经营风险-有无环保处罚(1为有,0为无)
+ */
+ @ExcelProperty("经营风险-有无环保处罚")
+ private Boolean operatRiskEnvirPenaltyFlag;
+
+ /**
+ * 经营风险-有无欠税信息(1为有,0为无)
+ */
+ @ExcelProperty("经营风险-有无欠税信息")
+ private Boolean operatRiskOweTaxInfoFlag;
+
+ /**
+ * 经营风险-有无终末案件(1为有,0为无)
+ */
+ @ExcelProperty("经营风险-有无终末案件")
+ private Boolean operatRiskFinalCaseFlag;
+
+ /**
+ * 经营风险-有无未结案件(1为有,0为无)
+ */
+ @ExcelProperty("经营风险-有无未结案件")
+ private Boolean operatRiskUnfinishCaseFlag;
+
+ /**
+ * 新增企业标识(1为新增企业,0为存量企业)
+ */
+ @ExcelProperty("新增企业标识")
+ private Boolean newCompanyFlag;
+
+ /**
+ * 是否是分支机构
+ */
+ @ExcelProperty("是否是分支机构")
+ private Boolean isBranch;
+
+ /**
+ * 是否有分支机构
+ */
+ @ExcelProperty("是否有分支机构")
+ private Boolean isHasBranch;
+
+ /**
+ * 电子邮箱
+ */
+ @ExcelProperty("电子邮箱")
+ private String email;
+
+ @ExcelProperty("经营范围")
+ private String scope;
+
+ @ExcelProperty("客户类型")
+ private String custType;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapVO.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapVO.java
new file mode 100644
index 0000000..71df81a
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/domain/vo/CustMapVO.java
@@ -0,0 +1,60 @@
+package com.ruoyi.ibs.custmap.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Data
+public class CustMapVO {
+
+ @ApiModelProperty(value = "ID")
+ private Integer id;
+
+ @ApiModelProperty(value = "客户名称")
+ private String custName;
+
+ @ApiModelProperty(value = "法人")
+ private String lpName;
+
+ @ApiModelProperty(value = "开始日期")
+ private String startDate;
+
+ @ApiModelProperty(value = "注册资本显示")
+ private String registCapiShow;
+
+ @ApiModelProperty(value = "省份")
+ private String province;
+
+ @ApiModelProperty(value = "城市")
+ private String city;
+
+ @ApiModelProperty(value = "距离")
+ private double distance;
+
+ @ApiModelProperty(value = "电话号码")
+ private String phoneNumber;
+
+ @ApiModelProperty(value = "详细地址")
+ private String addressDetail;
+
+ @ApiModelProperty(value = "经度")
+ private BigDecimal longitude;
+
+ @ApiModelProperty(value = "纬度")
+ private BigDecimal latitude;
+
+ @ApiModelProperty(value = "社会信用代码")
+ private String socialCreditCode;
+
+ @ApiModelProperty(value = "新公司标志")
+ private Boolean newCompanyFlag;
+
+ @ApiModelProperty(value = "客户类型")
+ private String custType;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java
new file mode 100644
index 0000000..a75d335
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/CustMapMapper.java
@@ -0,0 +1,42 @@
+package com.ruoyi.ibs.custmap.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleExcelDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonExcelDTO;
+import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapExcelVO;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Mapper
+public interface CustMapMapper extends BaseMapper {
+
+ List selectCustMapListByCircle(CustMapCircleDTO custMapCircleDTO );
+
+ List exportCustMapListByCircle(CustMapCircleExcelDTO custMapCircleExcelDTO );
+
+ Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO);
+
+
+
+ List selectCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO );
+
+ Long countCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO);
+
+ List exportCustMapListByPolygon(CustMapPolygonExcelDTO custMapPolygonExcelDTO );
+
+ List selectLngAndLat(@Param("offset") int offset, @Param("limit") int limit);
+
+ void saveCodeToCustMap(@Param("updateDataList") List> updateDataLis);
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/DeptAddressMapper.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/DeptAddressMapper.java
new file mode 100644
index 0000000..14f0846
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/mapper/DeptAddressMapper.java
@@ -0,0 +1,13 @@
+package com.ruoyi.ibs.custmap.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.custmap.domain.entity.DeptAddress;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/26
+ **/
+@Mapper
+public interface DeptAddressMapper extends BaseMapper {
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapExportService.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapExportService.java
new file mode 100644
index 0000000..98c8542
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapExportService.java
@@ -0,0 +1,102 @@
+package com.ruoyi.ibs.custmap.service;
+
+import com.alibaba.excel.EasyExcel;
+import com.github.pagehelper.PageHelper;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleExcelDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapExcelDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonExcelDTO;
+import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapExcelVO;
+import com.ruoyi.ibs.custmap.mapper.CustMapMapper;
+import com.ruoyi.ibs.dashboard.service.FileOptService;
+import com.ruoyi.ibs.dashboard.service.NotificationDownloadService;
+import com.ruoyi.ibs.task.domain.entity.ImportExportTask;
+import com.ruoyi.ibs.task.mapper.ImportExportTaskMapper;
+import com.ruoyi.ibs.task.service.ImportExportTaskService;
+import com.ruoyi.system.enums.OssFileEnum;
+import com.ruoyi.system.service.OssFileService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+@Service
+@Slf4j
+@EnableAsync
+public class CustMapExportService {
+
+ private final String CUST_MAP_EXPORT_REQUEST = "CUST_MAP_EXPORT_REQUEST_";
+ @Resource
+ private CustMapMapper custMapMapper;
+ @Resource
+ private RedisCache redisCache;
+ @Resource
+ private NotificationDownloadService notificationDownloadService;
+ @Resource
+ private FileOptService fileOptService;
+ @Resource
+ private ImportExportTaskService importExportTaskService;
+ @Resource
+ private ImportExportTaskMapper importExportTaskMapper;
+
+
+ public Boolean checkCustMapExportRequest() {
+ return redisCache.hasKey(CUST_MAP_EXPORT_REQUEST + SecurityUtils.getUsername());
+ }
+
+ @Async
+ public void exportCustMapList(CustMapExcelDTO custMapExcelDTO) {
+ // 使用redis控制每个用户不可同时多次执行导出
+ if (redisCache.hasKey(CUST_MAP_EXPORT_REQUEST + custMapExcelDTO.getUserName())) {
+ throw new ServiceException("请勿重复导出");
+ }
+ redisCache.setCacheObject(CUST_MAP_EXPORT_REQUEST + custMapExcelDTO.getUserName(), custMapExcelDTO, 15, TimeUnit.MINUTES);
+ String fileNotification = notificationDownloadService.createFileNotification(custMapExcelDTO.getUserName());
+ int pageNum = 1;
+ int pageSize = Math.min(10000, custMapExcelDTO.getTotal());
+ int pageCount = (int) Math.ceil(custMapExcelDTO.getTotal() / pageSize);
+ List custMapExcelVOS = new ArrayList<>();
+ do {
+ PageHelper.startPage(pageNum, pageSize);
+ List custMapVOS = new ArrayList<>();
+ if(custMapExcelDTO instanceof CustMapCircleExcelDTO){
+ custMapVOS = custMapMapper.exportCustMapListByCircle((CustMapCircleExcelDTO) custMapExcelDTO);
+ }else{
+ custMapVOS = custMapMapper.exportCustMapListByPolygon((CustMapPolygonExcelDTO) custMapExcelDTO);
+ }
+ custMapExcelVOS.addAll(custMapVOS);
+ pageNum++;
+ } while (pageNum <= pageCount);
+// String filePath = fileOptService.saveFile("地图拓客", custMapExcelVOS, CustMapExcelVO.class);
+ String filePath = importExportTaskService.exportExcelAndUpload(custMapExcelVOS, CustMapExcelVO.class, "地图拓客", OssFileEnum.CUST_MAP_EXPORT, custMapExcelDTO.getUserName());
+ notificationDownloadService.sendFileNotification(fileNotification, custMapExcelDTO.getUserName(), filePath);
+ redisCache.deleteObject(CUST_MAP_EXPORT_REQUEST + custMapExcelDTO.getUserName());
+ }
+
+ public List exportCustMapList(List ids) {
+ List custInfoRadars = custMapMapper.selectBatchIds(ids);
+ return custInfoRadars.stream().map(custInfoRadar -> {
+ CustMapExcelVO custMapExcelVO = new CustMapExcelVO();
+ BeanUtils.copyProperties(custInfoRadar, custMapExcelVO);
+ return custMapExcelVO;
+ }).collect(Collectors.toList());
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSearchService.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSearchService.java
new file mode 100644
index 0000000..8b21b89
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSearchService.java
@@ -0,0 +1,69 @@
+package com.ruoyi.ibs.custmap.service;
+
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapSearchDTO;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/6/23
+ **/
+@Service
+public class CustMapSearchService {
+
+ private static final String CUST_MAP_SEARCH_KEY = "CUST_MAP_SEARCH_";
+ @Resource
+ private RedisCache redisCache;
+
+ public String saveCustMapSearchTemplate(CustMapSearchDTO custMapSearchDTO) {
+ String filePattern = CUST_MAP_SEARCH_KEY + SecurityUtils.getUsername() + "*";
+ Collection fileKeys = redisCache.keys(filePattern);
+ if (StringUtils.isEmpty(custMapSearchDTO.getTemplateId()) && fileKeys.size() > 4 && !fileKeys.contains(CUST_MAP_SEARCH_KEY)) {
+ throw new ServiceException("最多只能保存5个模板");
+ }
+ if (Objects.isNull(custMapSearchDTO.getTemplateId())) {
+ custMapSearchDTO.setTemplateId(IdUtils.fastSimpleUUID());
+ }
+ String key = CUST_MAP_SEARCH_KEY + SecurityUtils.getUsername() + '_' + custMapSearchDTO.getTemplateId();
+ custMapSearchDTO.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
+ custMapSearchDTO.setCreateTime(new Date());
+ redisCache.setCacheObject(key, custMapSearchDTO);
+ return "我的模板" + custMapSearchDTO.getTemplateName() + " 保存成功";
+ }
+
+ public List getCustMapSearchTemplate() {
+ List collect = new ArrayList<>();
+ // 根据通知的键和当前用户的用户名生成一个模式字符串,用于匹配通知的键
+ String filePattern = CUST_MAP_SEARCH_KEY + SecurityUtils.getUsername() + "*";
+ // 从Redis缓存中获取匹配该模式的所有键
+ Collection fileKeys = redisCache.keys(filePattern);
+ // 检查获取到的键集合是否为空,如果不为空,则进行进一步处理
+ if (fileKeys != null && fileKeys.size() > 0) {
+ // 使用流操作处理键集合,将每个键对应的值(通知对象)映射出来,并按读取状态排序
+ for (String key : fileKeys) {
+ // 从Redis缓存中获取键对应的值(通知对象)
+ CustMapSearchDTO custMapSearchDTO = redisCache.getCacheObject(key);
+ // 返回通知对象
+ collect.add(custMapSearchDTO);
+ }
+ }
+ return collect;
+ }
+
+ public String deleteCustMapSearchTemplate(String templateId) {
+ String key = CUST_MAP_SEARCH_KEY + SecurityUtils.getUsername() + '_' + templateId;
+ if (!redisCache.hasKey(key)) {
+ throw new ServiceException("模板不存在");
+ }
+ redisCache.deleteObject(key);
+ return "删除成功";
+ }
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSelectService.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSelectService.java
new file mode 100644
index 0000000..656b655
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/CustMapSelectService.java
@@ -0,0 +1,27 @@
+package com.ruoyi.ibs.custmap.service;
+
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonDTO;
+import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+
+public interface CustMapSelectService {
+
+ List selectCustListByCircle(CustMapCircleDTO custMapCircleDTO);
+
+ Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO);
+
+ List selectCustListByPolygon(CustMapPolygonDTO custMapPolygonDTO);
+
+ Long countCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO);
+
+ CustInfoRadar selectCustInfoRadarById(Integer custId);
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/service/DeptAddressService.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/DeptAddressService.java
new file mode 100644
index 0000000..e0acc2f
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/DeptAddressService.java
@@ -0,0 +1,62 @@
+package com.ruoyi.ibs.custmap.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ibs.custmap.domain.entity.DeptAddress;
+import com.ruoyi.ibs.custmap.mapper.DeptAddressMapper;
+import com.ruoyi.ibs.grid.domain.dto.BaiduResponseDTO;
+import com.ruoyi.ibs.grid.domain.vo.AddressResultVO;
+import com.ruoyi.ibs.grid.service.AddressAnalyseService;
+import com.ruoyi.ibs.grid.service.BaiduApiService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/26
+ **/
+@Service
+@Slf4j
+public class DeptAddressService {
+
+ @Resource
+ private DeptAddressMapper deptAddressMapper;
+
+ @Resource
+ private BaiduApiService baiduApiService;
+
+ @Resource
+ private AddressAnalyseService addressAnalyseService;
+
+ public DeptAddress selectDeptAddressById() {
+ return deptAddressMapper.selectById(SecurityUtils.getDeptId());
+ }
+
+ public void initDeptAddress() {
+ List deptAddresses = deptAddressMapper.selectList(new LambdaQueryWrapper<>());
+ for (DeptAddress deptAddress : deptAddresses) {
+ if (Objects.nonNull(deptAddress.getLat()) || Objects.isNull(deptAddress.getAddress())){
+ continue;
+ }
+ BaiduResponseDTO geocoding = baiduApiService.geocoding(deptAddress.getAddress());
+ log.info(geocoding.toString());
+ if (Objects.isNull(geocoding.getResult())){
+ continue;
+ }
+ deptAddress.setLng(geocoding.getResult().getLocation().getLng());
+ deptAddress.setLat(geocoding.getResult().getLocation().getLat());
+
+ AddressResultVO addressResultVO = addressAnalyseService.pointInGeometry(deptAddress.getLng(), deptAddress.getLat());
+ if (addressResultVO.getStatus() == 0) {
+ deptAddress.setCity(addressResultVO.getCity());
+ }
+ deptAddressMapper.updateById(deptAddress);
+ }
+ }
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/custmap/service/impl/CustMapSelectServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/impl/CustMapSelectServiceImpl.java
new file mode 100644
index 0000000..ece2bb2
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/custmap/service/impl/CustMapSelectServiceImpl.java
@@ -0,0 +1,139 @@
+package com.ruoyi.ibs.custmap.service.impl;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapCircleDTO;
+import com.ruoyi.ibs.custmap.domain.dto.CustMapPolygonDTO;
+import com.ruoyi.ibs.custmap.domain.dto.PolygonDTO;
+import com.ruoyi.ibs.custmap.domain.entity.CustInfoRadar;
+import com.ruoyi.ibs.custmap.domain.vo.CustMapVO;
+import com.ruoyi.ibs.custmap.mapper.CustMapMapper;
+import com.ruoyi.ibs.custmap.service.CustMapSelectService;
+import com.ruoyi.ibs.grid.service.AddressAnalyseService;
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.io.ParseException;
+import org.locationtech.jts.io.WKTReader;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/15
+ **/
+
+@Service
+public class CustMapSelectServiceImpl implements CustMapSelectService {
+
+ @Resource
+ private CustMapMapper custMapMapper;
+
+ @Resource
+ private AddressAnalyseService addressAnalyseService;
+
+
+ /**
+ * @param
+ * @return
+ */
+ @Override
+ public List selectCustListByCircle(CustMapCircleDTO custMapCircleDTO) {
+ custMapCircleDTO.setDept(SecurityUtils.getHeadId());
+ custMapCircleDTO.setPageIndex((custMapCircleDTO.getNum() - 1) * custMapCircleDTO.getSize());
+ custMapCircleDTO.setLatRange(custMapCircleDTO.getDist() / 111.0);
+ custMapCircleDTO.setLngRange(custMapCircleDTO.getDist() / (111.0 * Math.cos(Math.toRadians(custMapCircleDTO.getTargetLat()))));
+ return custMapMapper.selectCustMapListByCircle(custMapCircleDTO);
+ }
+
+ /**
+ * @param custMapCircleDTO
+ * @return
+ */
+ @Override
+ public Long countCustMapListByCircle(CustMapCircleDTO custMapCircleDTO) {
+ custMapCircleDTO.setDept(SecurityUtils.getHeadId());
+ custMapCircleDTO.setLatRange(custMapCircleDTO.getDist() / 111.0);
+ custMapCircleDTO.setLngRange(custMapCircleDTO.getDist() / (111.0 * Math.cos(Math.toRadians(custMapCircleDTO.getTargetLat()))));
+ return custMapMapper.countCustMapListByCircle(custMapCircleDTO);
+ }
+
+ /**
+ * @param custMapPolygonDTO
+ * @return
+ */
+ @Override
+ public List selectCustListByPolygon(CustMapPolygonDTO custMapPolygonDTO) {
+ if(!addressAnalyseService.checkWktValid(custMapPolygonDTO.getWkt())){
+ return new ArrayList<>();
+ }
+ custMapPolygonDTO.setDept(SecurityUtils.getHeadId());
+ custMapPolygonDTO.setPageIndex((custMapPolygonDTO.getNum() - 1) * custMapPolygonDTO.getSize());
+ PolygonDTO polygonDTO = getPolygonDTO(custMapPolygonDTO.getWkt());
+ BeanUtils.copyProperties(polygonDTO,custMapPolygonDTO);
+ return custMapMapper.selectCustMapListByPolygon(custMapPolygonDTO);
+ }
+
+ /**
+ * @param custMapPolygonDTO
+ * @return
+ */
+ @Override
+ public Long countCustMapListByPolygon(CustMapPolygonDTO custMapPolygonDTO) {
+ if(!addressAnalyseService.checkWktValid(custMapPolygonDTO.getWkt())){
+ return 0L;
+ }
+ custMapPolygonDTO.setDept(SecurityUtils.getHeadId());
+ PolygonDTO polygonDTO = getPolygonDTO(custMapPolygonDTO.getWkt());
+ BeanUtils.copyProperties(polygonDTO,custMapPolygonDTO);
+ return custMapMapper.countCustMapListByPolygon(custMapPolygonDTO);
+ }
+
+ /**
+ * @param custId
+ * @return
+ */
+ @Override
+ public CustInfoRadar selectCustInfoRadarById(Integer id) {
+ return custMapMapper.selectById(id);
+ }
+
+ private PolygonDTO getPolygonDTO(String wkt){
+ PolygonDTO polygonDTO = new PolygonDTO();
+ WKTReader wktReader = new WKTReader();
+ try {
+ Geometry geometry = wktReader.read(wkt);
+ Coordinate[] coordinates = geometry.getCoordinates();
+ for (Coordinate coordinate : coordinates) {
+ if(Objects.isNull(polygonDTO.getMinLat())){
+ polygonDTO.setMinLat(coordinate.getY());
+ }else{
+ polygonDTO.setMinLat(Math.min(coordinate.getY(), polygonDTO.getMinLat()) );
+ }
+ if (Objects.isNull(polygonDTO.getMinLng())){
+ polygonDTO.setMinLng(coordinate.getX());
+ }else {
+ polygonDTO.setMinLng(Math.min(coordinate.getX(), polygonDTO.getMinLng()));
+ }
+ if (Objects.isNull(polygonDTO.getMaxLat())){
+ polygonDTO.setMaxLat(coordinate.getY());
+ }else {
+ polygonDTO.setMaxLat(Math.max(coordinate.getY(), polygonDTO.getMaxLat()));
+ }
+ if (Objects.isNull(polygonDTO.getMaxLng())){
+ polygonDTO.setMaxLng(coordinate.getX());
+ }else {
+ polygonDTO.setMaxLng(Math.max(coordinate.getX(), polygonDTO.getMaxLng()));
+ }
+ }
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ return polygonDTO;
+ }
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/CustCsvTagController.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/CustCsvTagController.java
new file mode 100644
index 0000000..f778714
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/CustCsvTagController.java
@@ -0,0 +1,45 @@
+package com.ruoyi.ibs.customerselect.controller;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ibs.customerselect.service.CustCsvTagService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/28
+ **/
+@Api(tags = "CSV客户标签")
+@RestController
+@RequestMapping("/csv/tag")
+public class CustCsvTagController extends BaseController {
+
+ @Resource
+ private CustCsvTagService custCsvTagService;
+
+ @PostMapping("/upload")
+ @Log(title = "CSV客户标签-上传CSV文件并更新")
+ @ApiOperation("上传CSV文件并更新")
+ public AjaxResult uploadCsv(MultipartFile file) {
+ String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
+ if (!suffix.equals("csv")) {
+ return AjaxResult.error("文件格式错误,请上传CSV文件");
+ }
+ custCsvTagService.processCsvInBatches(file, SecurityUtils.getUsername(), SecurityUtils.getHeadId());
+ return AjaxResult.success("文件完成上传,开始更新标签");
+ }
+
+ @GetMapping("/search")
+ @Log(title = "CSV客户标签-查询客户标签")
+ @ApiOperation("查询客户标签")
+ public AjaxResult searchCsv(@RequestParam String custIdc) {
+ return AjaxResult.success(custCsvTagService.getCsvTagJson(custIdc));
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/ListSelectController.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/ListSelectController.java
new file mode 100644
index 0000000..bf30a33
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/ListSelectController.java
@@ -0,0 +1,86 @@
+package com.ruoyi.ibs.customerselect.controller;
+
+
+import com.github.pagehelper.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.page.TableDataPageInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.ibs.customerselect.domain.ListSelectByUser;
+import com.ruoyi.ibs.customerselect.domain.ListSelectForUser;
+import com.ruoyi.ibs.customerselect.service.IListSelectService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 清单查询 控制类
+ *
+ * @author ruoyi
+ */
+@Api(tags = "清单查询管理")
+@RestController
+@RequestMapping("/system/listselectlist")
+public class ListSelectController extends BaseController {
+
+ @Autowired
+ IListSelectService listSelectService;
+
+ /**
+ * 获取清单查询列表信息
+ */
+// @PreAuthorize("@ss.hasPermi('system:getListInfo')")
+ @GetMapping("/list")
+ @Log(title = "清单查询管理-获取清单列表")
+ @ApiOperation("获取清单列表")
+ public TableDataPageInfo list(ListSelectByUser listSelectByUser)
+ {
+ Page page = startPage();
+ List list = listSelectService.getListInfoByUser(listSelectByUser);
+ return getDataTable(list ,page);
+ }
+
+
+ /**
+ * 获取清单客户列表信息
+ */
+// @PreAuthorize("@ss.hasPermi('system:getCustListInfo')")
+ @GetMapping("/custlist")
+ @Log(title = "清单查询管理-获取客户清单列表")
+ @ApiOperation("获取客户清单列表")
+ public TableDataPageInfo custList(ListSelectForUser listSelectForUser)
+ {
+ Page page = startPage();
+ List custList = listSelectService.getCustListInfoByUser(listSelectForUser );
+ return getDataTable(custList ,page);
+ }
+
+
+ /**
+ * 批量导出分群客户
+ */
+// @PreAuthorize("@ss.hasPermi('system:custlist:export')")
+ @Log(title = "清单查询管理-批量导出分群客户", businessType = BusinessType.IMPORT)
+ @ApiOperation("批量导出清单列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "groupId", value = "客群id", dataType = "String", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "campaignId", value = "客群id", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, String custPattern,String groupId, String campaignId,Long deptId,@RequestParam(value = "custIds" , required = true) List custIds) throws Exception{
+ if(groupId.isEmpty() || custIds.isEmpty()){
+ throw new ServiceException("请选择需要导出的数据!");
+ }
+ listSelectService.selectListExportByGroupId(response,custPattern,groupId,campaignId,deptId,custIds);
+ }
+
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerController.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerController.java
new file mode 100644
index 0000000..fc39743
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerController.java
@@ -0,0 +1,223 @@
+package com.ruoyi.ibs.customerselect.controller;
+
+import com.github.pagehelper.Page;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataPageInfo;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.ibs.customerselect.domain.*;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.ibs.customerselect.service.IMyCustomerService;
+import com.ruoyi.ibs.grid.domain.excel.NewPersonAnchor;
+import com.ruoyi.ibs.list.service.ISysCampaignGroupCustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.rmi.ServerException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 我的客户 控制类
+ *
+ * @author ruoyi
+ */
+@Api("客户基本信息管理")
+@RestController
+@RequestMapping("/system/custBaseInfo")
+public class MyCustomerController extends BaseController {
+
+ @Autowired
+ private IMyCustomerService myCustomerService;
+
+ @Autowired
+ ISysCampaignGroupCustomerService iSysCampaignGroupCustomerService;
+
+ private static Logger logger= LoggerFactory.getLogger(MyCustomerController.class);
+ /**
+ * 获取我的客户信息列表
+ */
+// @PreAuthorize("@ss.hasPermi('system:custBaseInfo:list')")
+ @Log(title = "我的客户-获取客户信息列表")
+ @PostMapping("/list")
+ @ApiOperation("获取客户信息列表")
+ public AjaxResult list(@RequestBody CustBaseInfo sysCustomerBasedata)
+// public TableDataPageInfo list(CustBaseInfo sysCustomerBasedata)
+ {
+// Page page = startPage();
+ List custBaseInfoList = myCustomerService.selectSysCustomerBasedataList(sysCustomerBasedata);
+ logger.info(custBaseInfoList.toString());
+// return getDataTable(custBaseInfoList ,page);
+ return AjaxResult.success(custBaseInfoList);
+ }
+
+ @Log(title = "我的客户-获取商户云相关信息")
+ @GetMapping("/merchantMessage")
+ @ApiOperation("获取商户云相关信息")
+ public AjaxResult merchantMessage( String custId)
+// public TableDataPageInfo list(CustBaseInfo sysCustomerBasedata)
+ {
+// Page page = startPage();
+ MerchantMcspInfo merchantMcspInfo = myCustomerService.selectmerchantMessage(custId);
+// logger.info(merchantMcspInfo.toString());
+// return getDataTable(custBaseInfoList ,page);
+ return AjaxResult.success(merchantMcspInfo);
+ }
+
+ @GetMapping("/searchList")
+ @ApiOperation("获取高级筛选项")
+ public AjaxResult searchList(CustBaseInfo sysCustomerBasedata) {
+ CustListSearchVo custBaseInfoList = myCustomerService.selectCustomListSearchVo(sysCustomerBasedata);
+ logger.info(custBaseInfoList.toString());
+// return getDataTable(custBaseInfoList ,page);
+ return AjaxResult.success(custBaseInfoList);
+ }
+ @Log(title = "我的客户-我的客户导出(企业)")
+ @PostMapping("/exportBusiness")
+ @ApiOperation("我的客户导出(企业)")
+ public void exportBusiness(HttpServletResponse response, @RequestBody List list)
+ {
+ for (BusinessExportVo b:list
+ ) {
+ b.setCustPattern("2");
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(BusinessExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ @Log(title = "我的客户-我的客户导出1000条(企业)")
+ @PostMapping("/exportBusiness1000")
+ @ApiOperation("我的客户导出1000条(企业)")
+ public void exportBusiness1000(HttpServletResponse response, @RequestBody CustBaseInfo sysCustomerBasedata)
+ {
+ sysCustomerBasedata.setSize(1000);
+ sysCustomerBasedata.setNum(1);
+ List custBaseInfoList = myCustomerService.selectSysCustomerBasedataList(sysCustomerBasedata);
+ List list = new ArrayList<>();
+ for (CustBaseInfo b:custBaseInfoList
+ ) {
+ BusinessExportVo businessExportVo = new BusinessExportVo();
+ BeanUtils.copyProperties(b,businessExportVo);
+ businessExportVo.setCustPattern("2");
+ list.add(businessExportVo);
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(BusinessExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Log(title = "我的客户-我的客户导出(商户)")
+ @PostMapping("/exportMerchant")
+ @ApiOperation("我的客户导出(商户)")
+ public void exportMerchant(HttpServletResponse response, @RequestBody List list)
+ {
+ for (MerchantExportVo m:list
+ ) {
+ m.setCustPattern("1");
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(MerchantExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Log(title = "我的客户-我的客户导出1000条(商户)")
+ @PostMapping("/exportMerchant1000")
+ @ApiOperation("我的客户导出1000条(商户)")
+ public void exportMerchant1000(HttpServletResponse response, @RequestBody CustBaseInfo sysCustomerBasedata)
+ {
+ sysCustomerBasedata.setSize(1000);
+ sysCustomerBasedata.setNum(1);
+ List custBaseInfoList = myCustomerService.selectSysCustomerBasedataList(sysCustomerBasedata);
+ List list = new ArrayList<>();
+ for (CustBaseInfo b:custBaseInfoList
+ ) {
+ MerchantExportVo merchantExportVo = new MerchantExportVo();
+ BeanUtils.copyProperties(b,merchantExportVo);
+ merchantExportVo.setCustPattern("1");
+ list.add(merchantExportVo);
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(MerchantExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Log(title = "我的客户-我的客户导出(个人)")
+ @PostMapping("/exportRetail")
+ @ApiOperation("我的客户导出(个人)")
+ public void exportRetail(HttpServletResponse response, @RequestBody List list)
+ {
+ for (RetailExportVo r:list
+ ) {
+ r.setCustPattern("0");
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(RetailExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Log(title = "我的客户-我的客户导出1000条(个人)")
+ @PostMapping("/exportRetail1000")
+ @ApiOperation("我的客户导出1000条(个人)")
+ public void exportRetail1000(HttpServletResponse response, @RequestBody CustBaseInfo sysCustomerBasedata)
+ {
+ sysCustomerBasedata.setSize(1000);
+ sysCustomerBasedata.setNum(1);
+ List custBaseInfoList = myCustomerService.selectSysCustomerBasedataList(sysCustomerBasedata);
+ List list = new ArrayList<>();
+ for (CustBaseInfo b:custBaseInfoList
+ ) {
+ RetailExportVo retailExportVo = new RetailExportVo();
+ BeanUtils.copyProperties(b,retailExportVo);
+ retailExportVo.setCustPattern("0");
+ list.add(retailExportVo);
+ }
+ try {
+ ExcelUtil util = new ExcelUtil<>(RetailExportVo.class);
+ util.exportExcel(response, list, "sheet1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ @Log(title = "我的客户-补充经纬度")
+ @PostMapping("/selectAddress")
+ @ApiOperation("补充经纬度")
+ public AjaxResult selectAddress(@RequestBody List list)
+ {
+ return AjaxResult.success(myCustomerService.selectAddress(list));
+ }
+
+
+ @Log(title = "我的客户-添加至已有活动")
+ @PostMapping("/appointCustCamp")
+ @ApiOperation("添加至已有活动")
+ public AjaxResult appointCustCamp(String custId,String custName,String custIdc,String custPhone,String custIsn,String socialCreditCode,String lpName,String campaignId,String custType) throws ServerException {
+ if(!StringUtils.isNotEmpty(custId)){
+ return AjaxResult.warn("客户ID不能为空");
+ }
+ return AjaxResult.success(iSysCampaignGroupCustomerService.appointCustCamp( custId, custName, custIdc, custPhone, custIsn,socialCreditCode,lpName, campaignId, custType));
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerGridSelectController.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerGridSelectController.java
new file mode 100644
index 0000000..0e9ef88
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/controller/MyCustomerGridSelectController.java
@@ -0,0 +1,49 @@
+package com.ruoyi.ibs.customerselect.controller;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.ibs.customerselect.service.MyCustomerGridSelectService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+@Api(tags = "我的客户-网格筛选")
+@RestController
+@RequestMapping("/my/customer/grid/select")
+public class MyCustomerGridSelectController extends BaseController {
+ @Resource
+ private MyCustomerGridSelectService myCustomerGridSelectService;
+
+ @ApiOperation("我的客户-行政网格下拉框")
+ @Log(title = "我的客户行政网格下拉框")
+ @GetMapping("/region")
+ public AjaxResult getRegionGridList(@RequestParam String gridLevel, @RequestParam String opsDept) {
+ return AjaxResult.success(myCustomerGridSelectService.getRegionGridList(gridLevel, opsDept));
+ }
+
+ @ApiOperation("我的客户-虚拟网格下拉框")
+ @Log(title = "我的客户虚拟网格下拉框")
+ @GetMapping("/virtual")
+ public AjaxResult getVirtualGridList(@RequestParam String opsDept) {
+ return AjaxResult.success(myCustomerGridSelectService.getVirtualGridList(opsDept));
+ }
+
+ @ApiOperation("我的客户-特色网格下拉框")
+ @Log(title = "我的客户虚拟网格下拉框")
+ @GetMapping("/draw")
+ public AjaxResult getDrawGridList(@RequestParam String opsDept) {
+ return AjaxResult.success(myCustomerGridSelectService.getDrawGridList(opsDept));
+ }
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/BusinessExportVo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/BusinessExportVo.java
new file mode 100644
index 0000000..1228ea4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/BusinessExportVo.java
@@ -0,0 +1,300 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class BusinessExportVo {
+ /** 客户标签 */
+ @Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
+ private String custPattern;
+
+ /** 企业名称 */
+ @Excel(name = "企业名称")
+ private String custName;
+ @Excel(name = "归属总行网格名称")
+ private String regionTopGridName;
+
+ @Excel(name = "归属支行网格名称")
+ private String regionSecGridName;
+ /** 归属支行 */
+ @Excel(name = "行政网格归属支行")
+ private String belongBranchName;
+
+ /** 归属网点 */
+ @Excel(name = "行政网格归属网点")
+ private String belongOutletName;
+
+ @Excel(name = "归属自定义地图网格名称")
+ private String drawGridName;
+
+ @Excel(name = "自定义地图网格归属支行")
+ private String drawBranchNames;
+
+ @Excel(name = "自定义地图网格归属网点")
+ private String drawOutletNames;
+
+ @Excel(name = "自定义地图网格归属客户经理")
+ private String drawUserNames;
+ /**
+ * 归属 网格客户经理名,多个按照逗号 隔开
+ */
+ @Excel(name = "行政网格归属客户经理")
+ private String belongUserNameList;
+ @Excel(name = "归属自定义名单网格名称")
+ private String virtualGridName;
+ @Excel(name = "自定义名单网格归属支行")
+ private String virtualBranchNames;
+
+ @Excel(name = "自定义名单网格归属网点")
+ private String virtualOutletNames;
+
+ @Excel(name = "自定义名单网格归属客户经理")
+ private String virtualUserNames;
+
+
+
+
+ /** 法人姓名 */
+ @Excel(name = "法人姓名")
+ private String lpName;
+
+ /** 法人电话 */
+ @Excel(name = "法人电话")
+ private String custPhone;
+
+
+ /** 客户类型 */
+ @Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在,2=暂无")
+// @Excel(name = "客户类型")
+ private String custType ;
+
+ /** 产品标签 */
+// @Excel(name = "产品标签")
+ @Excel(name = "产品标签",readConverterExp = "000=暂无,100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
+ private String custTag;
+
+ /** 企业规模 */
+ @Excel(name = "企业规模",readConverterExp = "0=小型,1=中型,2=大型,3=微型,4=其他")
+// @Excel(name = "企业规模")
+ private String custScale;
+
+
+ //企业业务指标
+ /**
+ * 活期存款余额
+ */
+ @Excel(name = "活期存款余额(元)")
+ private String hqCurBalance;
+ /**
+ * 保证金存款余额
+ */
+ @Excel(name = "保证金存款余额(元)")
+ private String bzCurBalance;
+ /**
+ * 是否授信
+ */
+ @Excel(name = "是否授信")
+ private String isCredit;
+ /**
+ * 贷款余额
+ */
+ @Excel(name = "贷款余额(元)")
+ private String loanBalanceCny;
+ /**
+ * 贷款年日均
+ */
+ @Excel(name = "贷款年日均(元)")
+ private String loanYearDailyaverage;
+ /**
+ * 是否普惠签约
+ */
+ @Excel(name = "是否合同签约")
+ private String isHtqy;
+ /**
+ * 是否有签发承兑汇票
+ */
+ @Excel(name = "是否有签发承兑汇票")
+ private String financeProd716OpenFlag;
+ /**
+ * 承兑汇票余额
+ */
+ @Excel(name = "承兑汇票余额(元)")
+ private String financeProd716Balance;
+ /**
+ * 是否有贴现业务
+ */
+ @Excel(name = "是否有贴现业务")
+ private String financeProd711OpenFlag;
+ /**
+ * 贴现金额
+ */
+ @Excel(name = "贴现金额(元)")
+ private String financeProd711Balance;
+ /**
+ * 是否有保函业务
+ */
+ @Excel(name = "是否有保函业务")
+ private String intlBussinessJcbhOpenFlag;
+ /**
+ * 是否为有效代发工资客户
+ */
+ @Excel(name = "是否为有效代发工资客户")
+ private String isUstr;
+ /**
+ * 月均代发工资笔数
+ */
+ @Excel(name = "月均代发工资笔数")
+ private String ustrCountPerM;
+ /**
+ * 月均代发工资金额(元)
+ */
+ @Excel(name = "月均代发工资金额(元)")
+ private String ustrBalM;
+ /**
+ * 是否代扣电费
+ */
+ @Excel(name = "是否代扣电费")
+ private String elecchargeSignFlag;
+ /**
+ * 是否代扣水费
+ */
+ @Excel(name = "是否代扣水费")
+ private String waterchargeSignFlag;
+ /**
+ * 是否代扣税费
+ */
+ @Excel(name = "是否代扣税费")
+ private String taxdeductionSignFlag;
+ /**
+ * 是否票据宝签约
+ */
+ @Excel(name = "是否票据宝签约")
+ private String pjb;
+ /**
+ * 是否财资宝签约
+ */
+ @Excel(name = "是否财资宝签约")
+ private String czb;
+ /**
+ * 是否收付宝签约
+ */
+ @Excel(name = "是否收付宝签约")
+ private String sfb;
+ /**
+ * 是否贸融宝签约
+ */
+ @Excel(name = "是否贸融宝签约")
+ private String mrb;
+ /**
+ * 是否数字生态产品签约
+ */
+ @Excel(name = "是否数字生态产品签约")
+ private String szst;
+ /**
+ * 是否开户
+ */
+ @Excel(name = "是否开户")
+ private String isOpenSts;
+ /**
+ * 是否国际结算业务
+ */
+ @Excel(name = "是否国际结算业务")
+ private String intlBussinessOpenFlag;
+ /**
+ * 是否有远期结算汇业务
+ */
+ @Excel(name = "是否有远期结算汇业务")
+ private String intlBussiness325OpenFlag;
+
+ @Excel(name = "近365天有无走访")
+ private String is365zf;
+ @Excel(name = "近180天有无走访")
+ private String is180zf;
+ @Excel(name = "近90天有无走访")
+ private String is90zf;
+ @Excel(name = "近30天有无走访")
+ private String is30zf;
+
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getBelongBranchName() {
+ return belongBranchName;
+ }
+
+ public void setBelongBranchName(String belongBranchName) {
+ this.belongBranchName = belongBranchName;
+ }
+
+ public String getBelongOutletName() {
+ return belongOutletName;
+ }
+
+ public void setBelongOutletName(String belongOutletName) {
+ this.belongOutletName = belongOutletName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getBelongUserNameList() {
+ return belongUserNameList;
+ }
+
+ public void setBelongUserNameList(String belongUserNameList) {
+ this.belongUserNameList = belongUserNameList;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustTag() {
+ return custTag;
+ }
+
+ public void setCustTag(String custTag) {
+ this.custTag = custTag;
+ }
+
+ public String getCustScale() {
+ return custScale;
+ }
+
+ public void setCustScale(String custScale) {
+ this.custScale = custScale;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ContinuousParam.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ContinuousParam.java
new file mode 100644
index 0000000..bde3f6a
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ContinuousParam.java
@@ -0,0 +1,27 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.List;
+
+
+public class ContinuousParam extends BaseEntity {
+ private String key;
+ private List value;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public List getValue() {
+ return value;
+ }
+
+ public void setValue(List value) {
+ this.value = value;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustBaseInfo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustBaseInfo.java
new file mode 100644
index 0000000..24bf686
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustBaseInfo.java
@@ -0,0 +1,715 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 客户基本信息对象 sys_customer_basedata
+ *
+ * @author ruoyi
+ * @date 2024-09-10
+ */
+ @Data
+ public class CustBaseInfo extends BaseEntity
+ {
+
+ /** id */
+ private Long id;
+
+ /** 客户标签 */
+ @NotNull(message = "客户标签不能为空")
+ @Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
+ private String custPattern = "0";
+
+ /** 客户类型 */
+ @NotNull(message = "客户类型不能为空")
+ @Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在")
+ private String custType = "2";
+
+ /** 产品标签 */
+ @NotNull(message = "产品标签不能为空")
+ @Excel(name = "产品标签",readConverterExp = "100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
+ private String custTag = "111";
+
+ /** 企业规模 */
+ @NotNull(message = "企业规模不能为空")
+ @Excel(name = "企业规模",readConverterExp = "0=无,1=小型,2=中型,3=大型")
+ private String custScale;
+
+ //规模小型
+ private String custScale1;
+ //规模中型
+ private String custScale2;
+ //规模大型
+ private String custScale3;
+ //规模微型
+ private String custScale0;
+
+ private String opsDept;
+
+ private String custLevel;
+
+ private Long branchId;
+
+ private Long outletId;
+
+ private String cmpmUserName;
+
+ private Long cmpmBranchId;
+
+ private Long cmpmOutletId;
+
+ private String deptCode;
+
+ private boolean isHead;
+
+ private List custScaleList;
+
+ /** 企业名称 */
+ @Excel(name = "企业名称")
+ private String custName;
+
+ @Excel(name = "归属总行网格名称")
+ private String regionTopGridName;
+
+ @Excel(name = "归属支行网格名称")
+ private String regionSecGridName;
+ /** 归属支行 */
+ @Excel(name = "行政网格归属支行")
+ private String belongBranchName;
+
+ /** 归属网点 */
+ @Excel(name = "行政网格归属网点")
+ private String belongOutletName;
+
+ /**
+ * 归属 网格客户经理名,多个按照逗号 隔开
+ */
+ @Excel(name = "行政网格归属客户经理")
+ private String belongUserNameList;
+
+ /** 管护客户经理 */
+ private String manageUserName;
+
+ /** 网格客户经理 */
+ private String belongUserName;
+
+ /** 法人姓名 */
+ private String lpName;
+
+ /** 法人电话 */
+ private String custPhone;
+
+ /** 注册资本 */
+ private String custCapital;
+
+ /** 是否贷款 */
+ private String loanTag;
+
+ /** 客户状态 */
+ private String status;
+
+ /** 归属机构 */
+ private Long userDeptId;
+
+ private Long deptId;
+ private Long outletsId;
+ private Long userId;
+ private String userName;
+ private String custId;
+
+ private String roleName;
+
+
+
+
+ int num;
+ int size;
+
+ int start;
+ int end;
+ String latitude;
+ String longitude;
+
+ private List regionTopGridIds;
+
+ private List regionSecGridIds;
+
+ private List virtualGridIds;
+
+ private List drawGridIds;
+
+ private Boolean isSelectGrid;
+
+
+ private String regionBranchNames;
+
+ private String regionOutletNames;
+
+ private String regionUserNames;
+ @Excel(name = "归属自定义地图网格名称")
+ private String drawGridName;
+
+ @Excel(name = "自定义地图网格归属支行")
+ private String drawBranchNames;
+
+ @Excel(name = "自定义地图网格归属网点")
+ private String drawOutletNames;
+
+ @Excel(name = "自定义地图网格归属客户经理")
+ private String drawUserNames;
+ @Excel(name = "归属自定义名单网格名称")
+ private String virtualGridName;
+ @Excel(name = "自定义名单网格归属支行")
+ private String virtualBranchNames;
+
+ @Excel(name = "自定义名单网格归属网点")
+ private String virtualOutletNames;
+
+ @Excel(name = "自定义名单网格归属客户经理")
+ private String virtualUserNames;
+
+ private String asset;
+
+ private String credit;
+
+ //个人商户业务指标
+ /**
+ * 活期存款余额
+ */
+ @Excel(name = "活期存款余额(元)")
+ private String curBalD;
+ /**
+ * 定期存款余额
+ */
+ @Excel(name = "定期存款余额(元)")
+ private String curBalT;
+ /**
+ * 贷款余额
+ */
+ @Excel(name = "贷款余额(元)")
+ private String balLoan;
+ /**
+ * 五级不良贷款余额
+ */
+ @Excel(name = "五级不良贷款余额(元)")
+ private String curBal5Bad;
+ /**
+ * 活期存款年日均
+ */
+ @Excel(name = "活期存款年日均(元)")
+ private String curDAve;
+ /**
+ * 定期存款年日均
+ */
+ @Excel(name = "定期存款年日均(元)")
+ private String curTAve;
+ /**
+ * 贷款年日均
+ */
+ @Excel(name = "贷款年日均(元)")
+ private String loanAve;
+ /**
+ * 是否建档
+ */
+ @Excel(name = "是否建档")
+ private String isPh;
+ /**
+ * 是否授信
+ */
+ @Excel(name = "是否授信")
+ private String isSx;
+ /**
+ * 是否合同签约
+ */
+ @Excel(name = "是否合同签约")
+ private String isYxht;
+ /**
+ * 是否持有信用卡
+ */
+ @Excel(name = "是否持有信用卡")
+ private String isXyk;
+ /**
+ * 是否开通丰收互联
+ */
+ @Excel(name = "是否开通丰收互联")
+ private String fshl;
+ /**
+ * 是否办理收单
+ */
+ @Excel(name = "是否办理收单")
+ private String isSd;
+ /**
+ * 是否办理etc
+ */
+ @Excel(name = "是否办理etc")
+ private String etc;
+ /**
+ * 是否代扣电费
+ */
+ @Excel(name = "是否代扣电费")
+ private String dian;
+ /**
+ * 是否贷款黑名单
+ */
+ @Excel(name = "是否贷款黑名单")
+ private String isBlack;
+ /**
+ * 是否五级不良贷款客户
+ */
+ @Excel(name = "是否五级不良贷款客户")
+ private String isBad;
+
+
+
+ //企业业务指标
+ /**
+ * 活期存款余额
+ */
+ @Excel(name = "活期存款余额(元)")
+ private String hqCurBalance;
+ /**
+ * 保证金存款余额
+ */
+ @Excel(name = "保证金存款余额(元)")
+ private String bzCurBalance;
+ /**
+ * 是否授信
+ */
+ @Excel(name = "是否授信")
+ private String isCredit;
+ /**
+ * 贷款余额
+ */
+ @Excel(name = "贷款余额(元)")
+ private String loanBalanceCny;
+ /**
+ * 贷款年日均
+ */
+ @Excel(name = "贷款年日均(元)")
+ private String loanYearDailyaverage;
+ /**
+ * 是否普惠签约
+ */
+ @Excel(name = "是否合同签约")
+ private String isHtqy;
+ /**
+ * 是否有签发承兑汇票
+ */
+ @Excel(name = "是否有签发承兑汇票")
+ private String financeProd716OpenFlag;
+ /**
+ * 承兑汇票余额
+ */
+ @Excel(name = "承兑汇票余额(元)")
+ private String financeProd716Balance;
+ /**
+ * 是否有贴现业务
+ */
+ @Excel(name = "是否有贴现业务")
+ private String financeProd711OpenFlag;
+ /**
+ * 贴现金额
+ */
+ @Excel(name = "贴现金额(元)")
+ private String financeProd711Balance;
+ /**
+ * 是否有保函业务
+ */
+ @Excel(name = "是否有保函业务")
+ private String intlBussinessJcbhOpenFlag;
+ /**
+ * 是否为有效代发工资客户
+ */
+ @Excel(name = "是否为有效代发工资客户")
+ private String isUstr;
+ /**
+ * 月均代发工资笔数
+ */
+ @Excel(name = "月均代发工资笔数")
+ private String ustrCountPerM;
+ /**
+ * 月均代发工资金额(元)
+ */
+ @Excel(name = "月均代发工资金额(元)")
+ private String ustrBalM;
+ /**
+ * 是否代扣电费
+ */
+ @Excel(name = "是否代扣电费")
+ private String elecchargeSignFlag;
+ /**
+ * 是否代扣水费
+ */
+ @Excel(name = "是否代扣水费")
+ private String waterchargeSignFlag;
+ /**
+ * 是否代扣税费
+ */
+ @Excel(name = "是否代扣税费")
+ private String taxdeductionSignFlag;
+ /**
+ * 是否票据宝签约
+ */
+ @Excel(name = "是否票据宝签约")
+ private String pjb;
+ /**
+ * 是否财资宝签约
+ */
+ @Excel(name = "是否财资宝签约")
+ private String czb;
+ /**
+ * 是否收付宝签约
+ */
+ @Excel(name = "是否收付宝签约")
+ private String sfb;
+ /**
+ * 是否贸融宝签约
+ */
+ @Excel(name = "是否贸融宝签约")
+ private String mrb;
+ /**
+ * 是否数字生态产品签约
+ */
+ @Excel(name = "是否数字生态产品签约")
+ private String szst;
+ /**
+ * 是否开户
+ */
+ @Excel(name = "是否开户")
+ private String isOpenSts;
+ /**
+ * 是否国际结算业务
+ */
+ @Excel(name = "是否国际结算业务")
+ private String intlBussinessOpenFlag;
+ /**
+ * 是否有远期结算汇业务
+ */
+ @Excel(name = "是否有远期结算汇业务")
+ private String intlBussiness325OpenFlag;
+ @Excel(name = "近365天有无走访")
+ private String is365zf;
+ @Excel(name = "近180天有无走访")
+ private String is180zf;
+ @Excel(name = "近90天有无走访")
+ private String is90zf;
+ @Excel(name = "近30天有无走访")
+ private String is30zf;
+
+
+ public String getBelongUserNameList() {
+ return belongUserNameList;
+ }
+
+ public void setBelongUserNameList(String belongUserNameList) {
+ this.belongUserNameList = belongUserNameList;
+ }
+
+ public String getOpsDept() {
+ return opsDept;
+ }
+
+ public void setOpsDept(String opsDept) {
+ this.opsDept = opsDept;
+ }
+
+ public String getCustScale1() {
+ return custScale1;
+ }
+
+ public void setCustScale1(String custScale1) {
+ this.custScale1 = custScale1;
+ }
+
+ public String getCustScale2() {
+ return custScale2;
+ }
+
+ public void setCustScale2(String custScale2) {
+ this.custScale2 = custScale2;
+ }
+
+ public String getCustScale3() {
+ return custScale3;
+ }
+
+ public void setCustScale3(String custScale3) {
+ this.custScale3 = custScale3;
+ }
+
+ public String getCustScale0() {
+ return custScale0;
+ }
+
+ public void setCustScale0(String custScale0) {
+ this.custScale0 = custScale0;
+ }
+ public String getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(String latitude) {
+ this.latitude = latitude;
+ }
+
+ public String getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(String longitude) {
+ this.longitude = longitude;
+ }
+
+ public int getStart() {
+ return start;
+ }
+
+ public void setStart(int start) {
+ this.start = start;
+ }
+
+ public int getEnd() {
+ return end;
+ }
+
+ public void setEnd(int end) {
+ this.end = end;
+ }
+
+ public int getNum() {
+ return num;
+ }
+
+ public void setNum(int num) {
+ this.num = num;
+ }
+
+ public int getSize() {
+ return size;
+ }
+
+ public void setSize(int size) {
+ this.size = size;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @NotBlank(message = "客户标签不能为空")
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustTag() {
+ return custTag;
+ }
+
+ public void setCustTag(String custTag) {
+ this.custTag = custTag;
+ }
+
+ public String getCustScale() {
+ return custScale;
+ }
+
+ public void setCustScale(String custScale) {
+ this.custScale = custScale;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getBelongBranchName() {
+ return belongBranchName;
+ }
+
+ public void setBelongBranchName(String belongBranchName) {
+ this.belongBranchName = belongBranchName;
+ }
+
+ public String getBelongOutletName() {
+ return belongOutletName;
+ }
+
+ public void setBelongOutletName(String belongOutletName) {
+ this.belongOutletName = belongOutletName;
+ }
+
+ public String getManageUserName() {
+ return manageUserName;
+ }
+
+ public void setManageUserName(String manageUserName) {
+ this.manageUserName = manageUserName;
+ }
+
+ public String getBelongUserName() {
+ return belongUserName;
+ }
+
+ public void setBelongUserName(String belongUserName) {
+ this.belongUserName = belongUserName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getCustCapital() {
+ return custCapital;
+ }
+
+ public void setCustCapital(String custCapital) {
+ this.custCapital = custCapital;
+ }
+
+ public String getLoanTag() {
+ return loanTag;
+ }
+
+ public void setLoanTag(String loanTag) {
+ this.loanTag = loanTag;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public Long getUserDeptId() {
+ return userDeptId;
+ }
+
+ public void setUserDeptId(Long userDeptId) {
+ this.userDeptId = userDeptId;
+ }
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Long getOutletsId() {
+ return outletsId;
+ }
+
+ public void setOutletsId(Long outletsId) {
+ this.outletsId = outletsId;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ private List continuousParams; //连续型指标
+
+ private List discreteParams; //离散型指标
+
+ private String perMetric;
+
+ public List getContinuousParams() {
+ return continuousParams;
+ }
+
+ public void setContinuousParams(List continuousParams) {
+ this.continuousParams = continuousParams;
+ }
+
+ public List getDiscreteParams() {
+ return discreteParams;
+ }
+
+ public void setDiscreteParams(List discreteParams) {
+ this.discreteParams = discreteParams;
+ }
+
+ public String getPerMetric() {
+ return perMetric;
+ }
+
+ public void setPerMetric(String perMetric) {
+ this.perMetric = perMetric;
+ }
+
+ @Override
+ public String toString() {
+ return "CustBaseInfo{" +
+ "id=" + id +
+ ", custPattern='" + custPattern + '\'' +
+ ", custType='" + custType + '\'' +
+ ", custTag='" + custTag + '\'' +
+ ", custScale='" + custScale + '\'' +
+ ", custName='" + custName + '\'' +
+ ", belongBranchName='" + belongBranchName + '\'' +
+ ", belongOutletName='" + belongOutletName + '\'' +
+ ", manageUserName='" + manageUserName + '\'' +
+ ", belongUserName=" + belongUserName +
+ ", lpName='" + lpName + '\'' +
+ ", custPhone='" + custPhone + '\'' +
+ ", custCapital='" + custCapital + '\'' +
+ ", loanTag='" + loanTag + '\'' +
+ ", status='" + status + '\'' +
+ ", userDeptId=" + userDeptId +
+ '}';
+ }
+ }
+
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustCsvTag.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustCsvTag.java
new file mode 100644
index 0000000..620a795
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustCsvTag.java
@@ -0,0 +1,34 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/27
+ **/
+@Data
+public class CustCsvTag {
+ /** 主键 */
+ @ApiModelProperty(value = "主键",notes = "")
+ @TableId(type = IdType.AUTO)
+ private Long id ;
+ /** 机构号 */
+ @ApiModelProperty(value = "机构号",notes = "")
+ private String headId ;
+ /** 客户号 */
+ @ApiModelProperty(value = "证件号",notes = "")
+ private String custIdc ;
+ /** 文件id */
+ @ApiModelProperty(value = "文件id",notes = "")
+ private String fileId ;
+ /** 更新日期 */
+ @ApiModelProperty(value = "更新日期",notes = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date updateTime ;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoDeleteFromAnchor.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoDeleteFromAnchor.java
new file mode 100644
index 0000000..64d468c
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoDeleteFromAnchor.java
@@ -0,0 +1,48 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+public class CustInfoDeleteFromAnchor {
+
+ /** 客户类型 */
+ private String custType;
+
+ /** 客户号 */
+ private String custId;
+
+ /** 客户证件类型 */
+ private String custIdType;
+
+ /** 证件号 */
+ private String legalId;
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustIdType() {
+ return custIdType;
+ }
+
+ public void setCustIdType(String custIdType) {
+ this.custIdType = custIdType;
+ }
+
+ public String getLegalId() {
+ return legalId;
+ }
+
+ public void setLegalId(String legalId) {
+ this.legalId = legalId;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoUpdateFromAnchor.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoUpdateFromAnchor.java
new file mode 100644
index 0000000..91361b7
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustInfoUpdateFromAnchor.java
@@ -0,0 +1,167 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import java.util.Date;
+
+/**
+ * 客户基本信息对象 custInfoUpdateFromAnchor
+ *
+ * @author ruoyi
+ * @date 2024-10-29
+ */
+
+public class CustInfoUpdateFromAnchor {
+
+ /** 客户类型 */
+ private String custType;
+
+ /** 客户id */
+ private String custId;
+
+ /** 证件类型 */
+ private String custIdType;
+
+ /** 锚点名称 */
+ private String anchorName;
+
+ /** 所在行业 */
+ private String belongBusiness;
+
+ /** 创建人 */
+ private String updateBy;
+
+ /** 创建机构 */
+ private String updateOrg;
+
+ /** 证件号 */
+ private String legalId;
+
+ /** 客户内码 */
+ private String custIsn;
+
+ /** 地址 */
+ private String address;
+
+ /** 详细地址 */
+ private String addressDetail;
+
+ /** 归属行政区划编码 */
+ private String regionCode;
+
+ /** 创建时间 */
+ private Date updateTime;
+
+ private String addressName;
+
+
+ public String getAddressName() {
+ return addressName;
+ }
+
+ public void setAddressName(String addressName) {
+ this.addressName = addressName;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustIdType() {
+ return custIdType;
+ }
+
+ public void setCustIdType(String custIdType) {
+ this.custIdType = custIdType;
+ }
+
+ public String getAnchorName() {
+ return anchorName;
+ }
+
+ public void setAnchorName(String anchorName) {
+ this.anchorName = anchorName;
+ }
+
+ public String getBelongBusiness() {
+ return belongBusiness;
+ }
+
+ public void setBelongBusiness(String belongBusiness) {
+ this.belongBusiness = belongBusiness;
+ }
+
+ public String getUpdateBy() {
+ return updateBy;
+ }
+
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
+
+ public String getUpdateOrg() {
+ return updateOrg;
+ }
+
+ public void setUpdateOrg(String updateOrg) {
+ this.updateOrg = updateOrg;
+ }
+
+ public String getLegalId() {
+ return legalId;
+ }
+
+ public void setLegalId(String legalId) {
+ this.legalId = legalId;
+ }
+
+ public String getCustIsn() {
+ return custIsn;
+ }
+
+ public void setCustIsn(String custIsn) {
+ this.custIsn = custIsn;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getAddressDetail() {
+ return addressDetail;
+ }
+
+ public void setAddressDetail(String addressDetail) {
+ this.addressDetail = addressDetail;
+ }
+
+ public String getRegionCode() {
+ return regionCode;
+ }
+
+ public void setRegionCode(String regionCode) {
+ this.regionCode = regionCode;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustListSearchVo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustListSearchVo.java
new file mode 100644
index 0000000..804d750
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/CustListSearchVo.java
@@ -0,0 +1,16 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class CustListSearchVo extends BaseEntity {
+
+ private List> continuousParams; //连续型
+
+ private List> discreteParams; //离散型
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/DiscreteParam.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/DiscreteParam.java
new file mode 100644
index 0000000..c8476c8
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/DiscreteParam.java
@@ -0,0 +1,25 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+
+public class DiscreteParam extends BaseEntity {
+ private String key;
+
+ private String value;
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GridSummarCount.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GridSummarCount.java
new file mode 100644
index 0000000..534234b
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GridSummarCount.java
@@ -0,0 +1,696 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 网格汇总统计_公司对象 grid_cmpm_count_gongsi_965
+ *
+ * @author ruoyi
+ * @date 2025-03-22
+ */
+public class GridSummarCount extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 统计日期 */
+ @Excel(name = "统计日期")
+ private String dt;
+
+ /** 一级网格名称 */
+ @Excel(name = "一级网格名称")
+ private String gridName;
+
+ /** 二级网格名称 */
+ @Excel(name = "二级网格名称")
+ private String gridName2;
+
+ /** 镇/街道 */
+ @Excel(name = "镇/街道")
+ private String town;
+
+ /** 归属支行 */
+ @Excel(name = "归属支行")
+ private String deptId;
+
+ /** 归属网点 */
+ @Excel(name = "归属网点")
+ private String outletsId;
+
+ /** 归属客户经理 */
+ @Excel(name = "归属客户经理")
+ private String userName;
+
+ /** 入格客户数 */
+ @Excel(name = "入格客户数")
+ private Integer custNum;
+
+ /** 活期存款余额 */
+ @Excel(name = "活期存款余额")
+ private String hqCurBalance;
+
+ /** 保证金存款余额 */
+ @Excel(name = "保证金存款余额")
+ private String bzCurBalance;
+
+ /** 贷款余额 */
+ @Excel(name = "贷款余额")
+ private String loanBalanceCny;
+
+ /** 贴现余额 */
+ @Excel(name = "贴现余额")
+ private String financeProd711Balance;
+
+ /** 承兑汇票余额 */
+ @Excel(name = "承兑汇票余额")
+ private String financeProd716Balance;
+
+ /** 贷款年日均 */
+ @Excel(name = "贷款年日均")
+ private String loanYearDailyaverage;
+
+ /** 普惠签约率 */
+ @Excel(name = "普惠签约率")
+ private String phRat;
+
+ /** 签发承兑汇票率 */
+ @Excel(name = "签发承兑汇票率")
+ private String qfcdRat;
+
+ /** 贴现业务率 */
+ @Excel(name = "贴现业务率")
+ private String txRat;
+
+ /** 保函业务率 */
+ @Excel(name = "保函业务率")
+ private String bhRat;
+
+ /** 有效代发工资率 */
+ @Excel(name = "有效代发工资率")
+ private String yxdfgzRat;
+
+ /** 代扣电费率 */
+ @Excel(name = "代扣电费率")
+ private String dkdfRat;
+
+ /** 代扣水费率 */
+ @Excel(name = "代扣水费率")
+ private String dksfRat;
+
+ /** 代扣税费率 */
+ @Excel(name = "代扣税费率")
+ private String dkshfRat;
+
+ /** 票据宝签约率 */
+ @Excel(name = "票据宝签约率")
+ private String pjbRat;
+
+ /** 财资宝签约率 */
+ @Excel(name = "财资宝签约率")
+ private String czbRat;
+
+ /** 收付宝签约率 */
+ @Excel(name = "收付宝签约率")
+ private String sfbRat;
+
+ /** 贸融宝签约率 */
+ @Excel(name = "贸融宝签约率")
+ private String mrbRat;
+
+ /** 数字生态产品签约率 */
+ @Excel(name = "数字生态产品签约率")
+ private String szstRat;
+
+ /** 开户率 */
+ @Excel(name = "开户率")
+ private String khRat;
+
+ /** 国际结算业务率 */
+ @Excel(name = "国际结算业务率")
+ private String gjjsywRat;
+
+ /** 远期结算汇业务率 */
+ @Excel(name = "远期结算汇业务率")
+ private String yqjshRat;
+
+ /** 普惠签约数 */
+ @Excel(name = "普惠签约数")
+ private Integer phNum;
+
+ /** 签发承兑汇票数 */
+ @Excel(name = "签发承兑汇票数")
+ private Integer qfcdNum;
+
+ /** 贴现业务数 */
+ @Excel(name = "贴现业务数")
+ private Integer txNum;
+
+ /** 保函业务数 */
+ @Excel(name = "保函业务数")
+ private Integer bhNum;
+
+ /** 有效代发工资数 */
+ @Excel(name = "有效代发工资数")
+ private Integer yxdfgzNum;
+
+ /** 代扣电费数 */
+ @Excel(name = "代扣电费数")
+ private Integer dkdfNum;
+
+ /** 代扣水费数 */
+ @Excel(name = "代扣水费数")
+ private Integer dksfNum;
+
+ /** 代扣税费数 */
+ @Excel(name = "代扣税费数")
+ private Integer dkshfNum;
+
+ /** 票据宝签约数 */
+ @Excel(name = "票据宝签约数")
+ private Integer pjbNum;
+
+ /** 财资宝签约数 */
+ @Excel(name = "财资宝签约数")
+ private Integer czbNum;
+
+ /** 收付宝签约数 */
+ @Excel(name = "收付宝签约数")
+ private Integer sfbNum;
+
+ /** 贸融宝签约数 */
+ @Excel(name = "贸融宝签约数")
+ private Integer mrbNum;
+
+ /** 数字生态产品签约数 */
+ @Excel(name = "数字生态产品签约数")
+ private Integer szstNum;
+
+ /** 开户数 */
+ @Excel(name = "开户数")
+ private Integer khNum;
+
+ /** 国际结算业务数 */
+ @Excel(name = "国际结算业务数")
+ private Integer gjjsywNum;
+
+ /** 远期结算汇业务数 */
+ @Excel(name = "远期结算汇业务数")
+ private Integer yqjshNum;
+
+ /** 归属行政区划编码 */
+ @Excel(name = "归属行政区划编码")
+ private String regionCode;
+
+ /** 部室归属 0零售 1公司 2运管 */
+ @Excel(name = "部室归属 0零售 1公司 2运管")
+ private String opsDept;
+
+ public void setDt(String dt)
+ {
+ this.dt = dt;
+ }
+
+ public String getDt()
+ {
+ return dt;
+ }
+ public void setGridName(String gridName)
+ {
+ this.gridName = gridName;
+ }
+
+ public String getGridName()
+ {
+ return gridName;
+ }
+ public void setGridName2(String gridName2)
+ {
+ this.gridName2 = gridName2;
+ }
+
+ public String getGridName2()
+ {
+ return gridName2;
+ }
+ public void setTown(String town)
+ {
+ this.town = town;
+ }
+
+ public String getTown()
+ {
+ return town;
+ }
+ public void setDeptId(String deptId)
+ {
+ this.deptId = deptId;
+ }
+
+ public String getDeptId()
+ {
+ return deptId;
+ }
+ public void setOutletsId(String outletsId)
+ {
+ this.outletsId = outletsId;
+ }
+
+ public String getOutletsId()
+ {
+ return outletsId;
+ }
+ public void setUserName(String userName)
+ {
+ this.userName = userName;
+ }
+
+ public String getUserName()
+ {
+ return userName;
+ }
+ public void setCustNum(Integer custNum)
+ {
+ this.custNum = custNum;
+ }
+
+ public Integer getCustNum()
+ {
+ return custNum;
+ }
+ public void setHqCurBalance(String hqCurBalance)
+ {
+ this.hqCurBalance = hqCurBalance;
+ }
+
+ public String getHqCurBalance()
+ {
+ return hqCurBalance;
+ }
+ public void setBzCurBalance(String bzCurBalance)
+ {
+ this.bzCurBalance = bzCurBalance;
+ }
+
+ public String getBzCurBalance()
+ {
+ return bzCurBalance;
+ }
+ public void setLoanBalanceCny(String loanBalanceCny)
+ {
+ this.loanBalanceCny = loanBalanceCny;
+ }
+
+ public String getLoanBalanceCny()
+ {
+ return loanBalanceCny;
+ }
+ public void setFinanceProd711Balance(String financeProd711Balance)
+ {
+ this.financeProd711Balance = financeProd711Balance;
+ }
+
+ public String getFinanceProd711Balance()
+ {
+ return financeProd711Balance;
+ }
+ public void setFinanceProd716Balance(String financeProd716Balance)
+ {
+ this.financeProd716Balance = financeProd716Balance;
+ }
+
+ public String getFinanceProd716Balance()
+ {
+ return financeProd716Balance;
+ }
+ public void setLoanYearDailyaverage(String loanYearDailyaverage)
+ {
+ this.loanYearDailyaverage = loanYearDailyaverage;
+ }
+
+ public String getLoanYearDailyaverage()
+ {
+ return loanYearDailyaverage;
+ }
+ public void setPhRat(String phRat)
+ {
+ this.phRat = phRat;
+ }
+
+ public String getPhRat()
+ {
+ return phRat;
+ }
+ public void setQfcdRat(String qfcdRat)
+ {
+ this.qfcdRat = qfcdRat;
+ }
+
+ public String getQfcdRat()
+ {
+ return qfcdRat;
+ }
+ public void setTxRat(String txRat)
+ {
+ this.txRat = txRat;
+ }
+
+ public String getTxRat()
+ {
+ return txRat;
+ }
+ public void setBhRat(String bhRat)
+ {
+ this.bhRat = bhRat;
+ }
+
+ public String getBhRat()
+ {
+ return bhRat;
+ }
+ public void setYxdfgzRat(String yxdfgzRat)
+ {
+ this.yxdfgzRat = yxdfgzRat;
+ }
+
+ public String getYxdfgzRat()
+ {
+ return yxdfgzRat;
+ }
+ public void setDkdfRat(String dkdfRat)
+ {
+ this.dkdfRat = dkdfRat;
+ }
+
+ public String getDkdfRat()
+ {
+ return dkdfRat;
+ }
+ public void setDksfRat(String dksfRat)
+ {
+ this.dksfRat = dksfRat;
+ }
+
+ public String getDksfRat()
+ {
+ return dksfRat;
+ }
+ public void setDkshfRat(String dkshfRat)
+ {
+ this.dkshfRat = dkshfRat;
+ }
+
+ public String getDkshfRat()
+ {
+ return dkshfRat;
+ }
+ public void setPjbRat(String pjbRat)
+ {
+ this.pjbRat = pjbRat;
+ }
+
+ public String getPjbRat()
+ {
+ return pjbRat;
+ }
+ public void setCzbRat(String czbRat)
+ {
+ this.czbRat = czbRat;
+ }
+
+ public String getCzbRat()
+ {
+ return czbRat;
+ }
+ public void setSfbRat(String sfbRat)
+ {
+ this.sfbRat = sfbRat;
+ }
+
+ public String getSfbRat()
+ {
+ return sfbRat;
+ }
+ public void setMrbRat(String mrbRat)
+ {
+ this.mrbRat = mrbRat;
+ }
+
+ public String getMrbRat()
+ {
+ return mrbRat;
+ }
+ public void setSzstRat(String szstRat)
+ {
+ this.szstRat = szstRat;
+ }
+
+ public String getSzstRat()
+ {
+ return szstRat;
+ }
+ public void setKhRat(String khRat)
+ {
+ this.khRat = khRat;
+ }
+
+ public String getKhRat()
+ {
+ return khRat;
+ }
+ public void setGjjsywRat(String gjjsywRat)
+ {
+ this.gjjsywRat = gjjsywRat;
+ }
+
+ public String getGjjsywRat()
+ {
+ return gjjsywRat;
+ }
+ public void setYqjshRat(String yqjshRat)
+ {
+ this.yqjshRat = yqjshRat;
+ }
+
+ public String getYqjshRat()
+ {
+ return yqjshRat;
+ }
+ public void setPhNum(Integer phNum)
+ {
+ this.phNum = phNum;
+ }
+
+ public Integer getPhNum()
+ {
+ return phNum;
+ }
+ public void setQfcdNum(Integer qfcdNum)
+ {
+ this.qfcdNum = qfcdNum;
+ }
+
+ public Integer getQfcdNum()
+ {
+ return qfcdNum;
+ }
+ public void setTxNum(Integer txNum)
+ {
+ this.txNum = txNum;
+ }
+
+ public Integer getTxNum()
+ {
+ return txNum;
+ }
+ public void setBhNum(Integer bhNum)
+ {
+ this.bhNum = bhNum;
+ }
+
+ public Integer getBhNum()
+ {
+ return bhNum;
+ }
+ public void setYxdfgzNum(Integer yxdfgzNum)
+ {
+ this.yxdfgzNum = yxdfgzNum;
+ }
+
+ public Integer getYxdfgzNum()
+ {
+ return yxdfgzNum;
+ }
+ public void setDkdfNum(Integer dkdfNum)
+ {
+ this.dkdfNum = dkdfNum;
+ }
+
+ public Integer getDkdfNum()
+ {
+ return dkdfNum;
+ }
+ public void setDksfNum(Integer dksfNum)
+ {
+ this.dksfNum = dksfNum;
+ }
+
+ public Integer getDksfNum()
+ {
+ return dksfNum;
+ }
+ public void setDkshfNum(Integer dkshfNum)
+ {
+ this.dkshfNum = dkshfNum;
+ }
+
+ public Integer getDkshfNum()
+ {
+ return dkshfNum;
+ }
+ public void setPjbNum(Integer pjbNum)
+ {
+ this.pjbNum = pjbNum;
+ }
+
+ public Integer getPjbNum()
+ {
+ return pjbNum;
+ }
+ public void setCzbNum(Integer czbNum)
+ {
+ this.czbNum = czbNum;
+ }
+
+ public Integer getCzbNum()
+ {
+ return czbNum;
+ }
+ public void setSfbNum(Integer sfbNum)
+ {
+ this.sfbNum = sfbNum;
+ }
+
+ public Integer getSfbNum()
+ {
+ return sfbNum;
+ }
+ public void setMrbNum(Integer mrbNum)
+ {
+ this.mrbNum = mrbNum;
+ }
+
+ public Integer getMrbNum()
+ {
+ return mrbNum;
+ }
+ public void setSzstNum(Integer szstNum)
+ {
+ this.szstNum = szstNum;
+ }
+
+ public Integer getSzstNum()
+ {
+ return szstNum;
+ }
+ public void setKhNum(Integer khNum)
+ {
+ this.khNum = khNum;
+ }
+
+ public Integer getKhNum()
+ {
+ return khNum;
+ }
+ public void setGjjsywNum(Integer gjjsywNum)
+ {
+ this.gjjsywNum = gjjsywNum;
+ }
+
+ public Integer getGjjsywNum()
+ {
+ return gjjsywNum;
+ }
+ public void setYqjshNum(Integer yqjshNum)
+ {
+ this.yqjshNum = yqjshNum;
+ }
+
+ public Integer getYqjshNum()
+ {
+ return yqjshNum;
+ }
+ public void setRegionCode(String regionCode)
+ {
+ this.regionCode = regionCode;
+ }
+
+ public String getRegionCode()
+ {
+ return regionCode;
+ }
+ public void setOpsDept(String opsDept)
+ {
+ this.opsDept = opsDept;
+ }
+
+ public String getOpsDept()
+ {
+ return opsDept;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("dt", getDt())
+ .append("gridName", getGridName())
+ .append("gridName2", getGridName2())
+ .append("town", getTown())
+ .append("deptId", getDeptId())
+ .append("outletsId", getOutletsId())
+ .append("userName", getUserName())
+ .append("custNum", getCustNum())
+ .append("hqCurBalance", getHqCurBalance())
+ .append("bzCurBalance", getBzCurBalance())
+ .append("loanBalanceCny", getLoanBalanceCny())
+ .append("financeProd711Balance", getFinanceProd711Balance())
+ .append("financeProd716Balance", getFinanceProd716Balance())
+ .append("loanYearDailyaverage", getLoanYearDailyaverage())
+ .append("phRat", getPhRat())
+ .append("qfcdRat", getQfcdRat())
+ .append("txRat", getTxRat())
+ .append("bhRat", getBhRat())
+ .append("yxdfgzRat", getYxdfgzRat())
+ .append("dkdfRat", getDkdfRat())
+ .append("dksfRat", getDksfRat())
+ .append("dkshfRat", getDkshfRat())
+ .append("pjbRat", getPjbRat())
+ .append("czbRat", getCzbRat())
+ .append("sfbRat", getSfbRat())
+ .append("mrbRat", getMrbRat())
+ .append("szstRat", getSzstRat())
+ .append("khRat", getKhRat())
+ .append("gjjsywRat", getGjjsywRat())
+ .append("yqjshRat", getYqjshRat())
+ .append("phNum", getPhNum())
+ .append("qfcdNum", getQfcdNum())
+ .append("txNum", getTxNum())
+ .append("bhNum", getBhNum())
+ .append("yxdfgzNum", getYxdfgzNum())
+ .append("dkdfNum", getDkdfNum())
+ .append("dksfNum", getDksfNum())
+ .append("dkshfNum", getDkshfNum())
+ .append("pjbNum", getPjbNum())
+ .append("czbNum", getCzbNum())
+ .append("sfbNum", getSfbNum())
+ .append("mrbNum", getMrbNum())
+ .append("szstNum", getSzstNum())
+ .append("khNum", getKhNum())
+ .append("gjjsywNum", getGjjsywNum())
+ .append("yqjshNum", getYqjshNum())
+ .append("regionCode", getRegionCode())
+ .append("opsDept", getOpsDept())
+ .toString();
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GroupListVo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GroupListVo.java
new file mode 100644
index 0000000..42bac23
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/GroupListVo.java
@@ -0,0 +1,58 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+public class GroupListVo {
+
+ /** 清单ID */
+ private String groupId;
+
+ /** 清单名称 */
+ private String groupName;
+
+ /** 清单类型 */
+ private String groupType;
+
+ /** 创建机构 */
+ private String createRole;
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public String getGroupType() {
+ return groupType;
+ }
+
+ public void setGroupType(String groupType) {
+ this.groupType = groupType;
+ }
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ @Override
+ public String toString() {
+ return "GroupListVo{" +
+ "groupId='" + groupId + '\'' +
+ ", groupName='" + groupName + '\'' +
+ ", groupType='" + groupType + '\'' +
+ ", createRole='" + createRole + '\'' +
+ '}';
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectByUser.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectByUser.java
new file mode 100644
index 0000000..70a4388
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectByUser.java
@@ -0,0 +1,350 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * 清单列表查询信息 ListSelectByUser
+ *
+ * @author ruoyi
+ * @date 2024-09-25
+ */
+public class ListSelectByUser {
+
+ /** 客户标签 */
+ @NotNull(message = "客户标签不能为空")
+ private String custPattern;
+
+ /** 用户机构 */
+ private Long userDept;
+
+ /** 用户id */
+ private Long userId;
+
+ /** 清单来源 */
+ private String createRole;
+
+ /** 清单类型 */
+ private String groupType;
+
+ /** 客户类型 */
+ private String custType;
+
+ /** 清单ID */
+ private String groupId;
+
+ /** 清单名称 */
+ private String groupName;
+
+ /** 客户数 */
+ private Long customerNum;
+
+ /** 关联活动id */
+ private String campaignId;
+
+ /** 关联活动名称 */
+ private String campaignName;
+
+ /** 开始时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date startTime;
+
+ /** 结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endTime;
+
+ /** 活动状态 */
+ private String actionStatus;
+
+ /** 紧急程度 */
+ private String campaignDegree;
+
+ /** 分配机构id */
+ private Long deptId;
+
+ /** 分配机构 */
+ private String belongDept;
+
+ private String belongOutlet;
+
+ /** 分配结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date claimEndTime;
+
+ /** 认领类型 */
+ private String claimType;
+
+ /** 机构领取状态 */
+ private String orgClaimStatus;
+
+ /** 机构分配状态 */
+ private String orgDistributeStatus;
+
+ /** 客户经理认领率 */
+ private String receiveSitustion = "0%";
+
+ /** 是否二次推送 */
+ private String secondPushStatus;
+
+ /** 执行人 0-机构;1-个人;2-混合分配 */
+ private String executer;
+
+ /** 更新时间 */
+ private Date updateTime;
+
+ /** 创建时间 */
+ private Date createTime;
+
+ /** 当前时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date nowTime;
+
+ @Excel(name = "考核目标")
+ private String checkTarget;
+
+ @Excel(name = "下发支行")
+ private String sendDept;
+
+ public String getSendDept() {
+ return sendDept;
+ }
+
+ public void setSendDept(String sendDept) {
+ this.sendDept = sendDept;
+ }
+
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Long getUserDept() {
+ return userDept;
+ }
+
+ public void setUserDept(Long userDept) {
+ this.userDept = userDept;
+ }
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getGroupType() {
+ return groupType;
+ }
+
+ public void setGroupType(String groupType) {
+ this.groupType = groupType;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public Long getCustomerNum() {
+ return customerNum;
+ }
+
+ public void setCustomerNum(Long customerNum) {
+ this.customerNum = customerNum;
+ }
+
+ public String getCampaignId() {
+ return campaignId;
+ }
+
+ public void setCampaignId(String campaignId) {
+ this.campaignId = campaignId;
+ }
+
+ public String getCampaignName() {
+ return campaignName;
+ }
+
+ public void setCampaignName(String campaignName) {
+ this.campaignName = campaignName;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getActionStatus() {
+ return actionStatus;
+ }
+
+ public void setActionStatus(String actionStatus) {
+ this.actionStatus = actionStatus;
+ }
+
+ public String getCampaignDegree() {
+ return campaignDegree;
+ }
+
+ public void setCampaignDegree(String campaignDegree) {
+ this.campaignDegree = campaignDegree;
+ }
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public String getBelongDept() {
+ return belongDept;
+ }
+
+ public void setBelongDept(String belongDept) {
+ this.belongDept = belongDept;
+ }
+
+ public Date getClaimEndTime() {
+ return claimEndTime;
+ }
+
+ public void setClaimEndTime(Date claimEndTime) {
+ this.claimEndTime = claimEndTime;
+ }
+
+ public String getClaimType() {
+ return claimType;
+ }
+
+ public void setClaimType(String claimType) {
+ this.claimType = claimType;
+ }
+
+ public String getOrgClaimStatus() {
+ return orgClaimStatus;
+ }
+
+ public void setOrgClaimStatus(String orgClaimStatus) {
+ this.orgClaimStatus = orgClaimStatus;
+ }
+
+ public String getOrgDistributeStatus() {
+ return orgDistributeStatus;
+ }
+
+ public void setOrgDistributeStatus(String orgDistributeStatus) {
+ this.orgDistributeStatus = orgDistributeStatus;
+ }
+
+ public String getReceiveSitustion() {
+ return receiveSitustion;
+ }
+
+ public void setReceiveSitustion(String receiveSitustion) {
+ this.receiveSitustion = receiveSitustion;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getSecondPushStatus() {
+ return secondPushStatus;
+ }
+
+ public void setSecondPushStatus(String secondPushStatus) {
+ this.secondPushStatus = secondPushStatus;
+ }
+
+ public String getExecuter() {
+ return executer;
+ }
+
+ public void setExecuter(String executer) {
+ this.executer = executer;
+ }
+
+ public Date getNowTime() {
+ return nowTime;
+ }
+
+ public void setNowTime(Date nowTime) {
+ this.nowTime = nowTime;
+ }
+
+ public String getCheckTarget() {
+ return checkTarget;
+ }
+
+ public void setCheckTarget(String checkTarget) {
+ this.checkTarget = checkTarget;
+ }
+
+ public String getBelongOutlet() {
+ return belongOutlet;
+ }
+
+ public void setBelongOutlet(String belongOutlet) {
+ this.belongOutlet = belongOutlet;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUser.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUser.java
new file mode 100644
index 0000000..6d97f32
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUser.java
@@ -0,0 +1,368 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+public class ListSelectForUser {
+
+ /** 客户标签 */
+ @Excel(name = "客户类型:0-个人;1-商户;2-企业")
+ @NotNull(message = "客户标签不能为空")
+ private String custPattern;
+
+ /** 用户机构 */
+ private Long userDept;
+
+ /** 用户id */
+ private Long userId;
+
+ /** 清单来源 */
+ @Excel(name = "清单来源 0-总行;1-支行")
+ private String createRole;
+
+ /** 清单ID */
+ @Excel(name = "清单ID")
+ private String groupId;
+
+ /** 清单名称 */
+ @Excel(name = "清单名称")
+ private String groupName;
+
+ /** 关联活动id */
+ @Excel(name = "关联活动id")
+ private String campaignId;
+
+ /** 关联活动名称 */
+ @Excel(name = "关联活动名称")
+ private String campaignName;
+
+ /** 客户号 */
+ @Excel(name = "客户号")
+ private String custId;
+
+ /** 客户名 */
+ @Excel(name = "客户名")
+ private String custName;
+
+ /** 经营者名称 */
+ @Excel(name = "经营者名称(用于商户或企业客户)")
+ private String lpName;
+
+ /** 客户手机号 */
+ @Excel(name = "客户手机号")
+ private String custPhone;
+
+ /** 客户证件号 */
+ @Excel(name = "客户证件号(用于个人客户)")
+ private String custIdc;
+
+ /** 社会统一编码 */
+ @Excel(name = "社会统一编码(用于商户或企业客户)")
+ private String socialCreditCode;
+
+ /** 客户内码 */
+ @Excel(name = "客户内码")
+ private String custIsn;
+
+ /** 开始时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date startTime;
+
+ /** 结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endTime;
+
+ /** 紧急程度 */
+ @Excel(name = "紧急程度")
+ private String campaignDegree;
+
+ /** 分配机构id */
+ @Excel(name = "分配机构id")
+ private Long deptId;
+
+ /** 分配机构名称 */
+ @Excel(name = "分配机构名称")
+ private String belongDept;
+
+ /** 认领类型 */
+ @Excel(name = "认领类型 0-强制认领;1-可选认领")
+ private String claimType;
+
+ /** 机构领取状态 */
+ @Excel(name = "机构领取状态 0-待认领;1-已认领")
+ private String orgClaimStatus;
+
+ /** 机构分配状态 */
+ @Excel(name = "机构分配状态 0-待分配;1-已分配")
+ private String orgDistributeStatus;
+
+ /** 客户经理分配状态 */
+ @Excel(name = "客户经理分配状态 0-待分配;1-已分配")
+ private String custClaimStatus;
+
+ /** 所属一级网格(导出) */
+ @Excel(name = "所属一级网格")
+ private String topGridName;
+
+ /** 所属二级网格(导出) */
+ @Excel(name = "所属二级网格")
+ private String secGridName;
+
+ /** 所属客户经理(导出) */
+ @Excel(name = "所属客户经理")
+ private String userName;
+
+ /** 所属网点(导出) */
+ @Excel(name = "所属网点")
+ private String outlets;
+ @Excel(name = "考核目标")
+ private String checkTarget;
+ //是否是网点查询,0-否,1-是
+ private String isOutlet;
+
+ public String getIsOutlet() {
+ return isOutlet;
+ }
+
+ public void setIsOutlet(String isOutlet) {
+ this.isOutlet = isOutlet;
+ }
+
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public Long getUserDept() {
+ return userDept;
+ }
+
+ public void setUserDept(Long userDept) {
+ this.userDept = userDept;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public String getCampaignId() {
+ return campaignId;
+ }
+
+ public void setCampaignId(String campaignId) {
+ this.campaignId = campaignId;
+ }
+
+ public String getCampaignName() {
+ return campaignName;
+ }
+
+ public void setCampaignName(String campaignName) {
+ this.campaignName = campaignName;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getCustIdc() {
+ return custIdc;
+ }
+
+ public void setCustIdc(String custIdc) {
+ this.custIdc = custIdc;
+ }
+
+ public String getSocialCreditCode() {
+ return socialCreditCode;
+ }
+
+ public void setSocialCreditCode(String socialCreditCode) {
+ this.socialCreditCode = socialCreditCode;
+ }
+
+ public String getCustIsn() {
+ return custIsn;
+ }
+
+ public void setCustIsn(String custIsn) {
+ this.custIsn = custIsn;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getCampaignDegree() {
+ return campaignDegree;
+ }
+
+ public void setCampaignDegree(String campaignDegree) {
+ this.campaignDegree = campaignDegree;
+ }
+
+ public Long getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
+
+ public String getBelongDept() {
+ return belongDept;
+ }
+
+ public void setBelongDept(String belongDept) {
+ this.belongDept = belongDept;
+ }
+
+ public String getClaimType() {
+ return claimType;
+ }
+
+ public void setClaimType(String claimType) {
+ this.claimType = claimType;
+ }
+
+ public String getOrgClaimStatus() {
+ return orgClaimStatus;
+ }
+
+ public void setOrgClaimStatus(String orgClaimStatus) {
+ this.orgClaimStatus = orgClaimStatus;
+ }
+
+ public String getOrgDistributeStatus() {
+ return orgDistributeStatus;
+ }
+
+ public void setOrgDistributeStatus(String orgDistributeStatus) {
+ this.orgDistributeStatus = orgDistributeStatus;
+ }
+
+ public String getCustClaimStatus() {
+ return custClaimStatus;
+ }
+
+ public void setCustClaimStatus(String custClaimStatus) {
+ this.custClaimStatus = custClaimStatus;
+ }
+
+ public String getTopGridName() {
+ return topGridName;
+ }
+
+ public void setTopGridName(String topGridName) {
+ this.topGridName = topGridName;
+ }
+
+ public String getSecGridName() {
+ return secGridName;
+ }
+
+ public void setSecGridName(String secGridName) {
+ this.secGridName = secGridName;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getOutlets() {
+ return outlets;
+ }
+
+ public void setOutlets(String outlets) {
+ this.outlets = outlets;
+ }
+
+ public String getCheckTarget() {
+ return checkTarget;
+ }
+
+ public void setCheckTarget(String checkTarget) {
+ this.checkTarget = checkTarget;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportBusiness.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportBusiness.java
new file mode 100644
index 0000000..ffdf5e4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportBusiness.java
@@ -0,0 +1,257 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+
+public class ListSelectForUserExportBusiness {
+
+
+
+ /** 清单来源 */
+ @Excel(name = "清单来源",readConverterExp = "0=总行,1=支行")
+ private String createRole;
+
+ /** 清单名称 */
+ @Excel(name = "清单名称")
+ private String groupName;
+
+
+ /** 关联活动名称 */
+ @Excel(name = "任务名称")
+ private String campaignName;
+
+ /** 客户号 */
+ @Excel(name = "客户号")
+ private String custId;
+
+ /** 客户名 */
+ @Excel(name = "企业名称")
+ private String custName;
+
+ /** 经营者名称 */
+ @Excel(name = "法人代表姓名")
+ private String lpName;
+
+ /** 客户手机号 */
+ @Excel(name = "法人代表手机号")
+ private String custPhone;
+
+
+ /** 社会统一编码 */
+ @Excel(name = "证件号")
+ private String socialCreditCode;
+
+ /** 客户内码 */
+ @Excel(name = "客户内码")
+ private String custIsn;
+
+ /** 开始时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date startTime;
+
+ /** 结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endTime;
+
+ /** 紧急程度 */
+ @Excel(name = "紧急程度")
+ private String campaignDegree;
+
+
+ /** 分配机构名称 */
+ @Excel(name = "推送支行")
+ private String belongDept;
+
+ /** 认领类型 */
+ @Excel(name = "认领类型",readConverterExp = "0=强制认领,1=可选认领")
+ private String claimType;
+
+ /** 机构领取状态 */
+ @Excel(name = "机构认领状态",readConverterExp = "0=待认领,1=已认领,/=/")
+ private String orgClaimStatus;
+
+ /** 机构分配状态 */
+ @Excel(name = "机构分配状态",readConverterExp = "0=待分配,1=已分配,/=/")
+ private String orgDistributeStatus;
+
+ /** 客户经理分配状态 */
+ @Excel(name = "客户经理分配状态",readConverterExp = "0=待分配,1=已分配")
+ private String custClaimStatus;
+
+
+ /** 所属客户经理(导出) */
+ @Excel(name = "推送客户经理")
+ private String userName;
+
+ /** 所属网点(导出) */
+ @Excel(name = "推送网点")
+ private String outlets;
+ @Excel(name = "考核目标")
+ private String checkTarget;
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public String getCampaignName() {
+ return campaignName;
+ }
+
+ public void setCampaignName(String campaignName) {
+ this.campaignName = campaignName;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+
+ public String getSocialCreditCode() {
+ return socialCreditCode;
+ }
+
+ public void setSocialCreditCode(String socialCreditCode) {
+ this.socialCreditCode = socialCreditCode;
+ }
+
+ public String getCustIsn() {
+ return custIsn;
+ }
+
+ public void setCustIsn(String custIsn) {
+ this.custIsn = custIsn;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getCampaignDegree() {
+ return campaignDegree;
+ }
+
+ public void setCampaignDegree(String campaignDegree) {
+ this.campaignDegree = campaignDegree;
+ }
+
+ public String getBelongDept() {
+ return belongDept;
+ }
+
+ public void setBelongDept(String belongDept) {
+ this.belongDept = belongDept;
+ }
+
+ public String getClaimType() {
+ return claimType;
+ }
+
+ public void setClaimType(String claimType) {
+ this.claimType = claimType;
+ }
+
+ public String getOrgClaimStatus() {
+ return orgClaimStatus;
+ }
+
+ public void setOrgClaimStatus(String orgClaimStatus) {
+ this.orgClaimStatus = orgClaimStatus;
+ }
+
+ public String getOrgDistributeStatus() {
+ return orgDistributeStatus;
+ }
+
+ public void setOrgDistributeStatus(String orgDistributeStatus) {
+ this.orgDistributeStatus = orgDistributeStatus;
+ }
+
+ public String getCustClaimStatus() {
+ return custClaimStatus;
+ }
+
+ public void setCustClaimStatus(String custClaimStatus) {
+ this.custClaimStatus = custClaimStatus;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getOutlets() {
+ return outlets;
+ }
+
+ public void setOutlets(String outlets) {
+ this.outlets = outlets;
+ }
+
+ public String getCheckTarget() {
+ return checkTarget;
+ }
+
+ public void setCheckTarget(String checkTarget) {
+ this.checkTarget = checkTarget;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportMerchant.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportMerchant.java
new file mode 100644
index 0000000..7f096c6
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportMerchant.java
@@ -0,0 +1,257 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+
+public class ListSelectForUserExportMerchant {
+
+
+
+ /** 清单来源 */
+ @Excel(name = "清单来源",readConverterExp = "0=总行,1=支行")
+ private String createRole;
+
+ /** 清单名称 */
+ @Excel(name = "清单名称")
+ private String groupName;
+
+
+ /** 关联活动名称 */
+ @Excel(name = "任务名称")
+ private String campaignName;
+
+ /** 客户号 */
+ @Excel(name = "客户号")
+ private String custId;
+
+ /** 客户名 */
+ @Excel(name = "商户名称")
+ private String custName;
+
+ /** 经营者名称 */
+ @Excel(name = "经营者姓名")
+ private String lpName;
+
+ /** 客户手机号 */
+ @Excel(name = "经营者手机号")
+ private String custPhone;
+
+
+ /** 社会统一编码 */
+ @Excel(name = "证件号")
+ private String socialCreditCode;
+
+ /** 客户内码 */
+ @Excel(name = "客户内码")
+ private String custIsn;
+
+ /** 开始时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date startTime;
+
+ /** 结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endTime;
+
+ /** 紧急程度 */
+ @Excel(name = "紧急程度")
+ private String campaignDegree;
+
+
+ /** 分配机构名称 */
+ @Excel(name = "推送支行")
+ private String belongDept;
+
+ /** 认领类型 */
+ @Excel(name = "认领类型",readConverterExp = "0=强制认领,1=可选认领")
+ private String claimType;
+
+ /** 机构领取状态 */
+ @Excel(name = "机构认领状态",readConverterExp = "0=待认领,1=已认领,/=/")
+ private String orgClaimStatus;
+
+ /** 机构分配状态 */
+ @Excel(name = "机构分配状态",readConverterExp = "0=待分配,1=已分配,/=/")
+ private String orgDistributeStatus;
+
+ /** 客户经理分配状态 */
+ @Excel(name = "客户经理分配状态",readConverterExp = "0=待分配,1=已分配")
+ private String custClaimStatus;
+
+
+ /** 所属客户经理(导出) */
+ @Excel(name = "推送客户经理")
+ private String userName;
+
+ /** 所属网点(导出) */
+ @Excel(name = "推送网点")
+ private String outlets;
+ @Excel(name = "考核目标")
+ private String checkTarget;
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public String getCampaignName() {
+ return campaignName;
+ }
+
+ public void setCampaignName(String campaignName) {
+ this.campaignName = campaignName;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+
+ public String getSocialCreditCode() {
+ return socialCreditCode;
+ }
+
+ public void setSocialCreditCode(String socialCreditCode) {
+ this.socialCreditCode = socialCreditCode;
+ }
+
+ public String getCustIsn() {
+ return custIsn;
+ }
+
+ public void setCustIsn(String custIsn) {
+ this.custIsn = custIsn;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getCampaignDegree() {
+ return campaignDegree;
+ }
+
+ public void setCampaignDegree(String campaignDegree) {
+ this.campaignDegree = campaignDegree;
+ }
+
+ public String getBelongDept() {
+ return belongDept;
+ }
+
+ public void setBelongDept(String belongDept) {
+ this.belongDept = belongDept;
+ }
+
+ public String getClaimType() {
+ return claimType;
+ }
+
+ public void setClaimType(String claimType) {
+ this.claimType = claimType;
+ }
+
+ public String getOrgClaimStatus() {
+ return orgClaimStatus;
+ }
+
+ public void setOrgClaimStatus(String orgClaimStatus) {
+ this.orgClaimStatus = orgClaimStatus;
+ }
+
+ public String getOrgDistributeStatus() {
+ return orgDistributeStatus;
+ }
+
+ public void setOrgDistributeStatus(String orgDistributeStatus) {
+ this.orgDistributeStatus = orgDistributeStatus;
+ }
+
+ public String getCustClaimStatus() {
+ return custClaimStatus;
+ }
+
+ public void setCustClaimStatus(String custClaimStatus) {
+ this.custClaimStatus = custClaimStatus;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getOutlets() {
+ return outlets;
+ }
+
+ public void setOutlets(String outlets) {
+ this.outlets = outlets;
+ }
+
+ public String getCheckTarget() {
+ return checkTarget;
+ }
+
+ public void setCheckTarget(String checkTarget) {
+ this.checkTarget = checkTarget;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportRetail.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportRetail.java
new file mode 100644
index 0000000..339474f
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/ListSelectForUserExportRetail.java
@@ -0,0 +1,245 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+
+public class ListSelectForUserExportRetail {
+
+
+
+ /** 清单来源 */
+ @Excel(name = "清单来源",readConverterExp = "0=总行,1=支行")
+ private String createRole;
+
+ /** 清单名称 */
+ @Excel(name = "清单名称")
+ private String groupName;
+
+
+ /** 关联活动名称 */
+ @Excel(name = "任务名称")
+ private String campaignName;
+
+ /** 客户号 */
+ @Excel(name = "客户号")
+ private String custId;
+
+ /** 客户名 */
+ @Excel(name = "客户名")
+ private String custName;
+
+ /** 客户手机号 */
+ @Excel(name = "客户手机号")
+ private String custPhone;
+
+ /** 客户证件号 */
+ @Excel(name = "证件号")
+ private String custIdc;
+
+
+ /** 客户内码 */
+ @Excel(name = "客户内码")
+ private String custIsn;
+
+ /** 开始时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date startTime;
+
+ /** 结束时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date endTime;
+
+ /** 紧急程度 */
+ @Excel(name = "紧急程度")
+ private String campaignDegree;
+
+
+ /** 分配机构名称 */
+ @Excel(name = "推送支行")
+ private String belongDept;
+
+ /** 认领类型 */
+ @Excel(name = "认领类型",readConverterExp = "0=强制认领,1=可选认领")
+ private String claimType;
+
+ /** 机构领取状态 */
+ @Excel(name = "机构认领状态",readConverterExp = "0=待认领,1=已认领,/=/")
+ private String orgClaimStatus;
+
+ /** 机构分配状态 */
+ @Excel(name = "机构分配状态",readConverterExp = "0=待分配,1=已分配,/=/")
+ private String orgDistributeStatus;
+
+ /** 客户经理分配状态 */
+ @Excel(name = "客户经理分配状态",readConverterExp = "0=待分配,1=已分配")
+ private String custClaimStatus;
+
+
+ /** 所属客户经理(导出) */
+ @Excel(name = "推送客户经理")
+ private String userName;
+
+ /** 所属网点(导出) */
+ @Excel(name = "推送网点")
+ private String outlets;
+ @Excel(name = "考核目标")
+ private String checkTarget;
+
+ public String getCreateRole() {
+ return createRole;
+ }
+
+ public void setCreateRole(String createRole) {
+ this.createRole = createRole;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName;
+ }
+
+ public String getCampaignName() {
+ return campaignName;
+ }
+
+ public void setCampaignName(String campaignName) {
+ this.campaignName = campaignName;
+ }
+
+ public String getCustId() {
+ return custId;
+ }
+
+ public void setCustId(String custId) {
+ this.custId = custId;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getCustIdc() {
+ return custIdc;
+ }
+
+ public void setCustIdc(String custIdc) {
+ this.custIdc = custIdc;
+ }
+
+
+ public String getCustIsn() {
+ return custIsn;
+ }
+
+ public void setCustIsn(String custIsn) {
+ this.custIsn = custIsn;
+ }
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getCampaignDegree() {
+ return campaignDegree;
+ }
+
+ public void setCampaignDegree(String campaignDegree) {
+ this.campaignDegree = campaignDegree;
+ }
+
+ public String getBelongDept() {
+ return belongDept;
+ }
+
+ public void setBelongDept(String belongDept) {
+ this.belongDept = belongDept;
+ }
+
+ public String getClaimType() {
+ return claimType;
+ }
+
+ public void setClaimType(String claimType) {
+ this.claimType = claimType;
+ }
+
+ public String getOrgClaimStatus() {
+ return orgClaimStatus;
+ }
+
+ public void setOrgClaimStatus(String orgClaimStatus) {
+ this.orgClaimStatus = orgClaimStatus;
+ }
+
+ public String getOrgDistributeStatus() {
+ return orgDistributeStatus;
+ }
+
+ public void setOrgDistributeStatus(String orgDistributeStatus) {
+ this.orgDistributeStatus = orgDistributeStatus;
+ }
+
+ public String getCustClaimStatus() {
+ return custClaimStatus;
+ }
+
+ public void setCustClaimStatus(String custClaimStatus) {
+ this.custClaimStatus = custClaimStatus;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getOutlets() {
+ return outlets;
+ }
+
+ public void setOutlets(String outlets) {
+ this.outlets = outlets;
+ }
+
+ public String getCheckTarget() {
+ return checkTarget;
+ }
+
+ public void setCheckTarget(String checkTarget) {
+ this.checkTarget = checkTarget;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantExportVo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantExportVo.java
new file mode 100644
index 0000000..0cd77cb
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantExportVo.java
@@ -0,0 +1,245 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class MerchantExportVo {
+ /** 客户标签 */
+ @Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
+ private String custPattern;
+
+ /** 企业名称 */
+ @Excel(name = "商户名称")
+ private String custName;
+ @Excel(name = "归属总行网格名称")
+ private String regionTopGridName;
+
+ @Excel(name = "归属支行网格名称")
+ private String regionSecGridName;
+ /** 归属支行 */
+ @Excel(name = "行政网格归属支行")
+ private String belongBranchName;
+
+ /** 归属网点 */
+ @Excel(name = "行政网格归属网点")
+ private String belongOutletName;
+
+ /**
+ * 归属 网格客户经理名,多个按照逗号 隔开
+ */
+ @Excel(name = "行政网格归属客户经理")
+ private String belongUserNameList;
+
+ @Excel(name = "归属自定义地图网格名称")
+ private String drawGridName;
+
+ @Excel(name = "自定义地图网格归属支行")
+ private String drawBranchNames;
+
+ @Excel(name = "自定义地图网格归属网点")
+ private String drawOutletNames;
+
+ @Excel(name = "自定义地图网格归属客户经理")
+ private String drawUserNames;
+
+ @Excel(name = "归属自定义名单网格名称")
+ private String virtualGridName;
+ @Excel(name = "自定义名单网格归属支行")
+ private String virtualBranchNames;
+
+ @Excel(name = "自定义名单网格归属网点")
+ private String virtualOutletNames;
+
+ @Excel(name = "自定义名单网格归属客户经理")
+ private String virtualUserNames;
+
+
+
+ /** 经营者姓名 */
+ @Excel(name = "经营者姓名")
+ private String lpName;
+
+ /** 经营者电话 */
+ @Excel(name = "经营者电话")
+ private String custPhone;
+
+
+
+ /** 客户类型 */
+ @Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在,2=暂无")
+// @Excel(name = "客户类型")
+ private String custType ;
+
+ /** 产品标签 */
+ @Excel(name = "产品标签",readConverterExp = "000=暂无,100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
+// @Excel(name = "产品标签")
+ private String custTag;
+
+ //个人商户业务指标
+ /**
+ * 活期存款余额
+ */
+ @Excel(name = "活期存款余额(元)")
+ private String curBalD;
+ /**
+ * 定期存款余额
+ */
+ @Excel(name = "定期存款余额(元)")
+ private String curBalT;
+ /**
+ * 贷款余额
+ */
+ @Excel(name = "贷款余额(元)")
+ private String balLoan;
+ /**
+ * 五级不良贷款余额
+ */
+ @Excel(name = "五级不良贷款余额(元)")
+ private String curBal5Bad;
+ /**
+ * 活期存款年日均
+ */
+ @Excel(name = "活期存款年日均(元)")
+ private String curDAve;
+ /**
+ * 定期存款年日均
+ */
+ @Excel(name = "定期存款年日均(元)")
+ private String curTAve;
+ /**
+ * 贷款年日均
+ */
+ @Excel(name = "贷款年日均(元)")
+ private String loanAve;
+ /**
+ * 是否建档
+ */
+ @Excel(name = "是否建档")
+ private String isPh;
+ /**
+ * 是否授信
+ */
+ @Excel(name = "是否授信")
+ private String isSx;
+ /**
+ * 是否合同签约
+ */
+ @Excel(name = "是否合同签约")
+ private String isYxht;
+ /**
+ * 是否持有信用卡
+ */
+ @Excel(name = "是否持有信用卡")
+ private String isXyk;
+ /**
+ * 是否开通丰收互联
+ */
+ @Excel(name = "是否开通丰收互联")
+ private String fshl;
+ /**
+ * 是否办理收单
+ */
+ @Excel(name = "是否办理收单")
+ private String isSd;
+ /**
+ * 是否办理etc
+ */
+ @Excel(name = "是否办理etc")
+ private String etc;
+ /**
+ * 是否代扣电费
+ */
+ @Excel(name = "是否代扣电费")
+ private String dian;
+ /**
+ * 是否贷款黑名单
+ */
+ @Excel(name = "是否贷款黑名单")
+ private String isBlack;
+ /**
+ * 是否五级不良贷款客户
+ */
+ @Excel(name = "是否五级不良贷款客户")
+ private String isBad;
+ @Excel(name = "近365天有无走访")
+ private String is365zf;
+ @Excel(name = "近180天有无走访")
+ private String is180zf;
+ @Excel(name = "近90天有无走访")
+ private String is90zf;
+ @Excel(name = "近30天有无走访")
+ private String is30zf;
+
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getBelongBranchName() {
+ return belongBranchName;
+ }
+
+ public void setBelongBranchName(String belongBranchName) {
+ this.belongBranchName = belongBranchName;
+ }
+
+ public String getBelongOutletName() {
+ return belongOutletName;
+ }
+
+ public void setBelongOutletName(String belongOutletName) {
+ this.belongOutletName = belongOutletName;
+ }
+
+ public String getLpName() {
+ return lpName;
+ }
+
+ public void setLpName(String lpName) {
+ this.lpName = lpName;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getBelongUserNameList() {
+ return belongUserNameList;
+ }
+
+ public void setBelongUserNameList(String belongUserNameList) {
+ this.belongUserNameList = belongUserNameList;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustTag() {
+ return custTag;
+ }
+
+ public void setCustTag(String custTag) {
+ this.custTag = custTag;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantMcspInfo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantMcspInfo.java
new file mode 100644
index 0000000..99afdfd
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/MerchantMcspInfo.java
@@ -0,0 +1,96 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+
+import lombok.Data;
+
+@Data
+public class MerchantMcspInfo {
+
+ private Long id;
+
+ private String custId;
+ /**
+ * 特约商户号
+ */
+ private String custSmchno;
+ /**
+ * 收单产品
+ */
+ private String productType;
+ /**
+ * 联系人
+ */
+ private String contactName;
+ /**
+ * 联系电话
+ */
+ private String contactPhone;
+ /**
+ * 商户类别码
+ */
+ private String mchmcc;
+ /**
+ * 结算方式
+ */
+ private String jsType;
+ /**
+ * 账户类别
+ */
+ private String accountType;
+ /**
+ * 收单结算账户账号
+ */
+ private String accountId;
+ /**
+ * 收单结算账户名称
+ */
+ private String accountName;
+ /**
+ * 商户收单结算周期
+ */
+ private String jsCycle;
+ /**
+ * 计费模式
+ */
+ private String billMode;
+ /**
+ * 免费额度
+ */
+ private String freeQuota;
+ /**
+ * 剩余免费额度
+ */
+ private String rareFree;
+ /**
+ * 年收单笔数
+ */
+ private String yearBillCount;
+ /**
+ * 年收单金额
+ */
+ private String yearBillAmount;
+ /**
+ * 上月收单金额
+ */
+ private String lastMonthBillAmount;
+ /**
+ * 上月收单笔数
+ */
+ private String lastMonthBillCount;
+ /**
+ * 上月收单账户日均存款
+ */
+ private String lastMonthAccountAvgAmount;
+ /**
+ * 收单账户手续费收取情况
+ */
+ private String accountRareMsg;
+ /**
+ * 商户年日均存款
+ */
+ private String accountYearAvgAmount;
+ /**
+ * 商户星级评定
+ */
+ private String accountStar;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/RetailExportVo.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/RetailExportVo.java
new file mode 100644
index 0000000..c4a24e5
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/RetailExportVo.java
@@ -0,0 +1,230 @@
+package com.ruoyi.ibs.customerselect.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class RetailExportVo {
+ /** 客户标签 */
+ @Excel(name = "客户分类",readConverterExp = "0=个人,1=商户,2=企业")
+ private String custPattern;
+
+ /** 企业名称 */
+ @Excel(name = "客户名称")
+ private String custName;
+ @Excel(name = "归属总行网格名称")
+ private String regionTopGridName;
+
+ @Excel(name = "归属支行网格名称")
+ private String regionSecGridName;
+ /** 归属支行 */
+ @Excel(name = "行政网格归属支行")
+ private String belongBranchName;
+
+ /** 归属网点 */
+ @Excel(name = "行政网格归属网点")
+ private String belongOutletName;
+
+ @Excel(name = "归属自定义地图网格名称")
+ private String drawGridName;
+
+ @Excel(name = "自定义地图网格归属支行")
+ private String drawBranchNames;
+
+ @Excel(name = "自定义地图网格归属网点")
+ private String drawOutletNames;
+
+ @Excel(name = "自定义地图网格归属客户经理")
+ private String drawUserNames;
+
+ /**
+ * 归属 网格客户经理名,多个按照逗号 隔开
+ */
+ @Excel(name = "行政网格归属客户经理")
+ private String belongUserNameList;
+ @Excel(name = "归属自定义名单网格名称")
+ private String virtualGridName;
+ @Excel(name = "自定义名单网格归属支行")
+ private String virtualBranchNames;
+
+ @Excel(name = "自定义名单网格归属网点")
+ private String virtualOutletNames;
+
+ @Excel(name = "自定义名单网格归属客户经理")
+ private String virtualUserNames;
+
+
+
+ /** 经营者电话 */
+ @Excel(name = "客户电话")
+ private String custPhone;
+
+ /** 客户类型 */
+ @Excel(name = "客户类型",readConverterExp = "0=存量,1=潜在,2=暂无")
+// @Excel(name = "客户类型")
+ private String custType ;
+
+ /** 产品标签 */
+ @Excel(name = "产品标签",readConverterExp = "000=暂无,100=存款,010=贷款,001=中收,110=存款、贷款,101=存款、中收,011=贷款、中收,111=存款、贷款、中收")
+// @Excel(name = "产品标签")
+ private String custTag;
+
+ //个人商户业务指标
+ /**
+ * 活期存款余额
+ */
+ @Excel(name = "活期存款余额(元)")
+ private String curBalD;
+ /**
+ * 定期存款余额
+ */
+ @Excel(name = "定期存款余额(元)")
+ private String curBalT;
+ /**
+ * 贷款余额
+ */
+ @Excel(name = "贷款余额(元)")
+ private String balLoan;
+ /**
+ * 五级不良贷款余额
+ */
+ @Excel(name = "五级不良贷款余额(元)")
+ private String curBal5Bad;
+ /**
+ * 活期存款年日均
+ */
+ @Excel(name = "活期存款年日均(元)")
+ private String curDAve;
+ /**
+ * 定期存款年日均
+ */
+ @Excel(name = "定期存款年日均(元)")
+ private String curTAve;
+ /**
+ * 贷款年日均
+ */
+ @Excel(name = "贷款年日均(元)")
+ private String loanAve;
+ /**
+ * 是否建档
+ */
+ @Excel(name = "是否建档")
+ private String isPh;
+ /**
+ * 是否授信
+ */
+ @Excel(name = "是否授信")
+ private String isSx;
+ /**
+ * 是否合同签约
+ */
+ @Excel(name = "是否合同签约")
+ private String isYxht;
+ /**
+ * 是否持有信用卡
+ */
+ @Excel(name = "是否持有信用卡")
+ private String isXyk;
+ /**
+ * 是否开通丰收互联
+ */
+ @Excel(name = "是否开通丰收互联")
+ private String fshl;
+ /**
+ * 是否办理收单
+ */
+ @Excel(name = "是否办理收单")
+ private String isSd;
+ /**
+ * 是否办理etc
+ */
+ @Excel(name = "是否办理etc")
+ private String etc;
+ /**
+ * 是否代扣电费
+ */
+ @Excel(name = "是否代扣电费")
+ private String dian;
+ /**
+ * 是否贷款黑名单
+ */
+ @Excel(name = "是否贷款黑名单")
+ private String isBlack;
+ /**
+ * 是否五级不良贷款客户
+ */
+ @Excel(name = "是否五级不良贷款客户")
+ private String isBad;
+
+ @Excel(name = "近365天有无走访")
+ private String is365zf;
+ @Excel(name = "近180天有无走访")
+ private String is180zf;
+ @Excel(name = "近90天有无走访")
+ private String is90zf;
+ @Excel(name = "近30天有无走访")
+ private String is30zf;
+ public String getCustPattern() {
+ return custPattern;
+ }
+
+ public String getCustName() {
+ return custName;
+ }
+
+ public void setCustPattern(String custPattern) {
+ this.custPattern = custPattern;
+ }
+
+ public void setCustName(String custName) {
+ this.custName = custName;
+ }
+
+ public String getBelongBranchName() {
+ return belongBranchName;
+ }
+
+ public void setBelongBranchName(String belongBranchName) {
+ this.belongBranchName = belongBranchName;
+ }
+
+ public String getBelongOutletName() {
+ return belongOutletName;
+ }
+
+ public void setBelongOutletName(String belongOutletName) {
+ this.belongOutletName = belongOutletName;
+ }
+
+ public String getBelongUserNameList() {
+ return belongUserNameList;
+ }
+
+ public void setBelongUserNameList(String belongUserNameList) {
+ this.belongUserNameList = belongUserNameList;
+ }
+
+ public String getCustPhone() {
+ return custPhone;
+ }
+
+ public void setCustPhone(String custPhone) {
+ this.custPhone = custPhone;
+ }
+
+ public String getCustType() {
+ return custType;
+ }
+
+ public void setCustType(String custType) {
+ this.custType = custType;
+ }
+
+ public String getCustTag() {
+ return custTag;
+ }
+
+ public void setCustTag(String custTag) {
+ this.custTag = custTag;
+ }
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridRelateVO.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridRelateVO.java
new file mode 100644
index 0000000..74f8311
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridRelateVO.java
@@ -0,0 +1,28 @@
+package com.ruoyi.ibs.customerselect.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/9
+ **/
+@Data
+public class GridRelateVO {
+
+ private String custId;
+
+ private String gridNames;
+
+ private String branchNames;
+
+ private String outletNames;
+
+ private String userNames;
+
+ private String topGridName;
+
+ private String secGridName;
+
+ private String deptIds;
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridSelectVO.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridSelectVO.java
new file mode 100644
index 0000000..a3a5d45
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/GridSelectVO.java
@@ -0,0 +1,15 @@
+package com.ruoyi.ibs.customerselect.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+@Data
+public class GridSelectVO {
+
+ private Long gridId;
+
+ private String gridName;
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/VirtualGridRelateVO.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/VirtualGridRelateVO.java
new file mode 100644
index 0000000..6fa3828
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/domain/vo/VirtualGridRelateVO.java
@@ -0,0 +1,20 @@
+package com.ruoyi.ibs.customerselect.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/9
+ **/
+@Data
+public class VirtualGridRelateVO {
+ private String gridNames;
+
+ private String branchNames;
+
+ private String outletsNames;
+
+ private String userNames;
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustCsvTagMapper.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustCsvTagMapper.java
new file mode 100644
index 0000000..575a482
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustCsvTagMapper.java
@@ -0,0 +1,14 @@
+package com.ruoyi.ibs.customerselect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.customerselect.domain.CustCsvTag;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+public interface CustCsvTagMapper extends BaseMapper {
+
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustInfoBusinessMapper.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustInfoBusinessMapper.java
new file mode 100644
index 0000000..d66cdd4
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/CustInfoBusinessMapper.java
@@ -0,0 +1,245 @@
+package com.ruoyi.ibs.customerselect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.core.domain.entity.CustInfoBusiness;
+import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
+import com.ruoyi.ibs.customerselect.domain.CustInfoDeleteFromAnchor;
+import com.ruoyi.ibs.customerselect.domain.CustInfoUpdateFromAnchor;
+import com.ruoyi.ibs.customerselect.domain.ListSelectForUser;
+import com.ruoyi.ibs.grid.domain.dto.CustManageInfo;
+import com.ruoyi.ibs.list.domain.SysGroupCustomer;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 客户基本信息Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-09-11
+ */
+public interface CustInfoBusinessMapper extends BaseMapper
+{
+ /**
+ * 查询企业客户基本信息列表
+ *
+ * @param sysCustomerBasedata 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectCustInfoBusinessList(CustBaseInfo sysCustomerBasedata);
+
+ public List selectCustInfoBusinessListHead(CustBaseInfo sysCustomerBasedata);
+
+ public List selectCustInfoBusinessListOps(CustBaseInfo sysCustomerBasedata);
+
+ /**
+ * 使用行政区划查询客户数量
+ *
+ * @param gridId 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public Long selectBusinessNumByAdmin(@Param("gridId")Long gridId, @Param("userDept")Long userDept);
+
+
+ /**
+ * 使用机构id查询客户数量
+ *
+ * @param headDeptId 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public Long getBusinessNumByDeptId(Long headDeptId);
+
+ /**
+ * 使用经理id查询客户数量
+ *
+ * @param UserId 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public Long getBusinessNumByUserId(String UserId);
+
+
+ /**
+ * 使用行政区划查询未分配客户信息列表
+ *
+ * @param custManageInfo 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectCustInfoBusinessByAdminList(CustManageInfo custManageInfo);
+
+ /**
+ * 使用行政区划查询未分配客户信息列表
+ *
+ * @param custManageInfo 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectunDisCustByAdminList(CustManageInfo custManageInfo);
+
+ /**
+ * 使用虚拟网格查询未分配客户信息列表
+ *
+ * @param custManageInfo 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectCustInfoBusinessByVirtualList(CustManageInfo custManageInfo);
+
+ /**
+ * 使用虚拟网格查询未分配客户信息列表
+ *
+ * @param custManageInfo 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectunDisCustByVirtualList(CustManageInfo custManageInfo);
+
+ /**
+ * 查询企业客户基本信息
+ *
+ * @param id 企业客户基本信息主键
+ * @return 企业客户基本信息
+ */
+ public CustInfoBusiness selectCustInfoBusinessById(Long id);
+
+ /**
+ * 查询企业客户基本信息列表
+ *
+ * @param custInfoBusiness 企业客户基本信息
+ * @return 企业客户基本信息集合
+ */
+ public List selectCustInfoBusinessListBykeyword(@Param("keyword") String keyword);
+
+ /**
+ * 查询企业客户基本信息列表
+ *
+ * @param custInfoBusiness 企业客户基本信息
+ * @return 企业客户基本信息集合
+ */
+ public List selectCustInfoBusinessListBykeywordBranchAndManager(@Param("keyword") String keyword,@Param("deptId")Long deptId,@Param("outletsId")Long outletsId,@Param("userId")Long userId,@Param("opsDept") String opsDept);
+
+ /**
+ * 新增企业客户基本信息
+ *
+ * @param custInfoBusiness 企业客户基本信息
+ * @return 结果
+ */
+ public int insertCustInfoBusiness(CustInfoBusiness custInfoBusiness);
+
+ /**
+ * 修改企业客户基本信息
+ *
+ * @param custInfoBusiness 企业客户基本信息
+ * @return 结果
+ */
+ public int updateCustInfoBusiness(CustInfoBusiness custInfoBusiness);
+
+ public int updateCustInfoBusinessLabel(CustInfoBusiness custInfoBusiness);
+
+ /**
+ * 删除企业客户基本信息
+ *
+ * @param id 企业客户基本信息主键
+ * @return 结果
+ */
+ public int deleteCustInfoBusinessById(Long id);
+
+ /**
+ * 批量删除企业客户基本信息
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCustInfoBusinessByIds(Long[] ids);
+
+ /**
+ * 查询企业客户基本信息
+ *
+ * @param custId 企业客户基本信息主键
+ * @return 企业客户基本信息
+ */
+ public CustInfoBusiness selectCustInfoBusinessByCustId(String custId);
+
+ /**
+ * 根据统信码查询企业客户基本信息
+ * @param socialCreditCode
+ * @return
+ */
+ public CustInfoBusiness selectCustInfoBusinessBySocialCreditCode(String socialCreditCode);
+
+ public List selectCustInfoBusinessLists(CustInfoBusiness custInfoBusiness);
+
+ /**
+ * 使用证件号查询客户数量
+ *
+ * @param LegalId 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public Long getBusinessNumByLegalId(String LegalId);
+
+ /**
+ * 锚点更新客户信息
+ *
+ * @param custInfoUpdateFromAnchor 管户信息
+ * @return 结果
+ */
+ public int updateBusinessByAnchor(CustInfoUpdateFromAnchor custInfoUpdateFromAnchor);
+
+ /**
+ * 锚点新增客户信息
+ *
+ * @param custInfoUpdateFromAnchor 客户信息
+ * @return 结果
+ */
+ public int insertBusinessByAnchor(CustInfoUpdateFromAnchor custInfoUpdateFromAnchor);
+
+ /**
+ * 锚点删除客户信息
+ *
+ * @param custInfoDeleteFromAnchor 客户信息
+ * @return 结果
+ */
+ public int deleteBusinessByAnchor(CustInfoDeleteFromAnchor custInfoDeleteFromAnchor);
+
+ /**
+ * 获取客群客户经营者名称
+ *
+ * @param listSelectForUser 清单名称或者活动名称关键词
+ * @return 客户经理
+ */
+ public String getLpNameByCustId(ListSelectForUser listSelectForUser);
+
+ /**
+ * 使用客户号查询客户证件号
+ *
+ * @param custId 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public String getBusiIdcByCustId(String custId);
+
+ /**
+ * 使用查询行政网格客户信息列表
+ *
+ * @param custManageInfo 企业客户基本信息
+ * @return 客户基本信息集合
+ */
+ public List selectBusinessInfoByManage(CustManageInfo custManageInfo);
+
+ /**
+ * 查询企业客户基本信息
+ *
+ * @param id 企业客户基本信息主键
+ * @return 企业客户基本信息
+ */
+ public CustInfoBusiness selectCustInfoBusinessByCustNameAndCustIdc(@Param("custName") String custName,@Param("custIdc") String custIdc);
+
+ /**
+ * 查询企业客户基本信息
+ *
+ * @param custId
+ * @return 企业客户基本信息
+ */
+ public CustInfoBusiness selectCustInfoBusinessCustId(@Param("custId") String custId);
+
+ Long countByCode(@Param("code") String code, @Param("deptCode") String deptCode);
+
+ public int insertCustomersToBusinessByScCode(List sysGroupCustomers);
+
+ List selectRecord(String socialCreditCode);
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSelectMapper.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSelectMapper.java
new file mode 100644
index 0000000..922a238
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSelectMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.ibs.customerselect.mapper;
+
+import com.ruoyi.ibs.customerselect.domain.vo.GridRelateVO;
+import com.ruoyi.ibs.customerselect.domain.vo.GridSelectVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+public interface GridSelectMapper {
+
+ List getRegionGridList(@Param("deptId") Long deptId, @Param("userName") String userName, @Param("gridLevel") String gridLevel, @Param("opsDept") String opsDept);
+
+ List getVirtualGridList(@Param("deptId") Long deptId, @Param("userName") String userName, @Param("opsDept") String opsDept);
+
+ List getDrawGridList(@Param("deptId") Long deptId, @Param("userName") String userName, @Param("opsDept") String opsDept);
+
+ List getDrawGridRelate(@Param("custIds") List custIds);
+
+ List getRegionGridRelate(@Param("custIds") List custIds);
+
+ List getVirtualGridRelate(@Param("custIds") List custIds, @Param("userName") String userName);
+
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSummarCountMapper.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSummarCountMapper.java
new file mode 100644
index 0000000..4ff57c6
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/GridSummarCountMapper.java
@@ -0,0 +1,73 @@
+package com.ruoyi.ibs.customerselect.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.ibs.customerselect.domain.CustBaseInfo;
+import com.ruoyi.ibs.customerselect.domain.GridSummarCount;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 网格汇总统计_公司Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-03-22
+ */
+@Mapper
+public interface GridSummarCountMapper
+{
+ /**
+ * 查询网格汇总统计_公司
+ *
+ * @param dt 网格汇总统计_公司主键
+ * @return 网格汇总统计_公司
+ */
+ public GridSummarCount selectGridSummarCountByDt(String dt);
+
+ /**
+ * 查询网格汇总统计_公司列表
+ *
+ * @param GridSummarCount 网格汇总统计_公司
+ * @return 网格汇总统计_公司集合
+ */
+ public List selectGridSummarCountList(GridSummarCount GridSummarCount);
+
+ /**
+ * 新增网格汇总统计_公司
+ *
+ * @param GridSummarCount 网格汇总统计_公司
+ * @return 结果
+ */
+ public int insertGridSummarCount(GridSummarCount GridSummarCount);
+
+ /**
+ * 修改网格汇总统计_公司
+ *
+ * @param GridSummarCount 网格汇总统计_公司
+ * @return 结果
+ */
+ public int updateGridSummarCount(GridSummarCount GridSummarCount);
+
+ /**
+ * 删除网格汇总统计_公司
+ *
+ * @param dt 网格汇总统计_公司主键
+ * @return 结果
+ */
+ public int deleteGridSummarCountByDt(String dt);
+
+ /**
+ * 批量删除网格汇总统计_公司
+ *
+ * @param dts 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteGridSummarCountByDts(String[] dts);
+
+ List> selectContinuousParams(CustBaseInfo sysCustomerBasedata);
+
+ List> selectDiscreteParams(CustBaseInfo sysCustomerBasedata);
+
+ public String selectDictLabelByDictValue(@Param("dictValue") String dictValue);
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/MerchantMcspInfoMapper.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/MerchantMcspInfoMapper.java
new file mode 100644
index 0000000..8fb4428
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/mapper/MerchantMcspInfoMapper.java
@@ -0,0 +1,8 @@
+package com.ruoyi.ibs.customerselect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ibs.customerselect.domain.MerchantMcspInfo;
+
+public interface MerchantMcspInfoMapper extends BaseMapper {
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/CustCsvTagService.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/CustCsvTagService.java
new file mode 100644
index 0000000..3f51df3
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/CustCsvTagService.java
@@ -0,0 +1,126 @@
+package com.ruoyi.ibs.customerselect.service;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.opencsv.CSVReader;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ibs.customerselect.domain.CustCsvTag;
+import com.ruoyi.ibs.customerselect.mapper.CustCsvTagMapper;
+import com.ruoyi.system.enums.OssFileEnum;
+import com.ruoyi.system.service.OssFileService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStreamReader;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/11/27
+ **/
+@Service
+@Slf4j
+@EnableAsync
+public class CustCsvTagService {
+
+ @Resource
+ private OssFileService ossFileService;
+
+ @Resource
+ private CustCsvTagMapper custCsvTagMapper;
+
+ private final static ObjectMapper objectMapper = new ObjectMapper();
+
+ @Async
+ public void processCsvInBatches(MultipartFile file, String userName, String headId) {
+ log.info("开始执行CSV标签更新");
+ try{
+ InputStreamReader inputStreamReader = new InputStreamReader(file.getInputStream(), "UTF-8");
+ CSVReader reader = new CSVReader(new BufferedReader(inputStreamReader));
+ String[] headers = reader.readNext(); // 读取标题行
+ String[] row;
+
+ while ((row = reader.readNext()) != null) {
+ JSONObject jsonObject = new JSONObject();
+ String custIdc = null;
+ for (int i = 0; i < headers.length; i++) {
+ jsonObject.put(headers[i], row[i]);
+ if (headers[i].equals("身份证")){
+ custIdc = row[i];
+ }
+ }
+ if (custIdc == null){
+ log.error("------------------------>CSV标签JSON上传出错:身份证为空");
+ continue;
+ }
+ updateCSVtoOSS(jsonObject, custIdc, userName, headId);
+ }
+ } catch (Exception e){
+ log.error("------------------------>执行CSV标签出错:",e);
+ throw new ServiceException("执行CSV标签出错:" + e.getMessage());
+ }
+
+ }
+
+ private void updateCSVtoOSS(JSONObject jsonObject, String custIdc, String userName, String headId) {
+ String fileId = writeJsonToOss(jsonObject, custIdc, userName);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CustCsvTag::getCustIdc, custIdc);
+ queryWrapper.eq(CustCsvTag::getHeadId, headId);
+ CustCsvTag custCsvTag = custCsvTagMapper.selectOne(queryWrapper);
+ if (Objects.nonNull(custCsvTag)){
+ ossFileService.deleteFileFromOss(custCsvTag.getFileId());
+ log.info("删除旧文件:" + custCsvTag.getFileId());
+ custCsvTagMapper.deleteById(custCsvTag);
+ }
+ custCsvTag = new CustCsvTag();
+ custCsvTag.setCustIdc(custIdc);
+ custCsvTag.setHeadId(headId);
+ custCsvTag.setFileId(fileId);
+ custCsvTag.setUpdateTime(new Date());
+ custCsvTagMapper.insert(custCsvTag);
+ log.info("CSV标签JSON保存成功:" + custIdc);
+ }
+
+ private String writeJsonToOss(JSONObject jsonObject, String fileNamePrefix, String userName) {
+ File tempFile = null;
+ try {
+ tempFile = File.createTempFile(fileNamePrefix, ".json");
+ String originalFileName = fileNamePrefix + ".json";
+ objectMapper.writeValue(tempFile, jsonObject);
+ return ossFileService.uploadFileToOss(OssFileEnum.CUST_CSV_TAG, tempFile, originalFileName, userName);
+ }catch (Exception e){
+ log.error("------------------------>CSV标签JSON上传出错:",e);
+ throw new ServiceException("CSV标签JSON上传出错:" + e.getMessage());
+ }finally {
+ tempFile.delete();
+ }
+ }
+
+ public JSONObject getCsvTagJson(String custIdc) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CustCsvTag::getCustIdc, custIdc);
+ queryWrapper.eq(CustCsvTag::getHeadId, SecurityUtils.getHeadId());
+ CustCsvTag custCsvTag = custCsvTagMapper.selectOne(queryWrapper);
+ if (Objects.isNull(custCsvTag)){
+ return null;
+ }
+ MultipartFile fileFromOss = ossFileService.getFileFromOss(custCsvTag.getFileId());
+ try {
+ return objectMapper.readValue(fileFromOss.getBytes(), JSONObject.class);
+ } catch (Exception e) {
+ log.error("------------------------>CSV标签JSON读取出错:",e);
+ throw new ServiceException("CSV标签JSON读取出错:" + e.getMessage());
+ }
+ }
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/GridFilterService.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/GridFilterService.java
new file mode 100644
index 0000000..5fe3ff1
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/GridFilterService.java
@@ -0,0 +1,8 @@
+package com.ruoyi.ibs.customerselect.service;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+public interface GridFilterService {
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IListSelectService.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IListSelectService.java
new file mode 100644
index 0000000..871918f
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IListSelectService.java
@@ -0,0 +1,35 @@
+package com.ruoyi.ibs.customerselect.service;
+
+import com.ruoyi.ibs.customerselect.domain.ListSelectByUser;
+import com.ruoyi.ibs.customerselect.domain.ListSelectForUser;
+import com.ruoyi.ibs.customerselect.domain.ListSelectForUserExportRetail;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+public interface IListSelectService {
+
+
+ /**
+ * 查询清单列表信息
+ *
+ * @return 清单信息
+ */
+ public List getListInfoByUser(ListSelectByUser listSelectByUser);
+
+
+ /**
+ * 查询清单客户列表信息
+ *
+ * @return 清单信息
+ */
+ public List getCustListInfoByUser(ListSelectForUser listSelectForUser);
+
+ /**
+ * 查询导出客群清单
+ *
+ * @return 清单信息
+ */
+ public void selectListExportByGroupId(HttpServletResponse response, String custPattern, String groupId, String campaignId, Long deptId, List custIds);
+
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IMyCustomerService.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IMyCustomerService.java
new file mode 100644
index 0000000..8c6fb09
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/IMyCustomerService.java
@@ -0,0 +1,44 @@
+package com.ruoyi.ibs.customerselect.service;
+
+import com.ruoyi.ibs.customerselect.domain.*;
+
+import java.util.List;
+
+public interface IMyCustomerService {
+
+ /**
+ * 查询客户基本信息
+ *
+ * @return 客户基本信息
+ */
+ public List selectSysCustomerBasedataList(CustBaseInfo sysCustomerBasedata);
+
+ Long countCustRetailByRegion(String code);
+
+ Long countCustBusinessByRegion(String code);
+
+ Long countCustMerchantByRegion(String code);
+
+ List countAllByCode(String code, String deptCode);
+
+
+ /**
+ * 我的客户数据新增修改
+ *
+ * @return 客户基本信息
+ */
+ public int custInfoUpdate(CustInfoUpdateFromAnchor custInfoUpdateFromAnchor);
+
+ /**
+ * 我的客户数据删除
+ *
+ * @return 客户基本信息
+ */
+ public int custInfoDelete(CustInfoDeleteFromAnchor custInfoDeleteFromAnchor);
+
+ public List selectAddress(List list);
+
+ public CustListSearchVo selectCustomListSearchVo(CustBaseInfo sysCustomerBasedata);
+
+ MerchantMcspInfo selectmerchantMessage(String custId);
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/GridFilterServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/GridFilterServiceImpl.java
new file mode 100644
index 0000000..d3d8ba3
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/GridFilterServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.ibs.customerselect.service.Impl;
+
+import com.ruoyi.ibs.customerselect.service.GridFilterService;
+
+/**
+ * @Author 吴凯程
+ * @Date 2025/5/8
+ **/
+
+public class GridFilterServiceImpl implements GridFilterService {
+}
diff --git a/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/ListSelectServiceImpl.java b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/ListSelectServiceImpl.java
new file mode 100644
index 0000000..b448cd6
--- /dev/null
+++ b/ibs/src/main/java/com/ruoyi/ibs/customerselect/service/Impl/ListSelectServiceImpl.java
@@ -0,0 +1,251 @@
+package com.ruoyi.ibs.customerselect.service.Impl;
+
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.ibs.customerselect.domain.*;
+import com.ruoyi.ibs.customerselect.mapper.CustInfoBusinessMapper;
+import com.ruoyi.ibs.customerselect.service.IListSelectService;
+import com.ruoyi.ibs.list.mapper.*;
+import com.ruoyi.system.mapper.SysDeptMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static com.ruoyi.common.utils.SecurityUtils.*;
+import static com.ruoyi.ibs.list.domain.Constans.*;
+
+/**
+ * 清单查询 服务实现
+ *
+ * @author ruoyi
+ */
+@Service
+public class ListSelectServiceImpl implements IListSelectService {
+
+ private static Logger logger= LoggerFactory.getLogger(ListSelectServiceImpl.class);
+
+ @Autowired
+ CustInfoMerchantMapper custInfoMerchantMapper;
+
+ @Autowired
+ CustInfoBusinessMapper custInfoBusinessMapper;
+
+ @Autowired
+ SysCampaignMapper sysCampaignMapper;
+
+ @Autowired
+ SysCampaignGroupCustomerMapper sysCampaignGroupCustomerMapper;
+
+ @Autowired
+ SysListMapper sysListMapper;
+
+ @Autowired
+ SysGroupCustomerMapper sysGroupCustomerMapper;
+
+ @Autowired
+ SysGroupMapper sysGroupMapper;
+
+ @Autowired
+ SysDeptMapper sysDeptMapper;
+
+ @Autowired
+ SysUserMapper sysUserMapper;
+
+ /**
+ * 查询清单列表信息
+ *
+ * @param listSelectByUser 客户信息
+ * @return 客户信息集合
+ */
+ @Override
+ public List getListInfoByUser(ListSelectByUser listSelectByUser){
+ List listSelectByUserList = new ArrayList<>();
+ logger.info("操作员为"+userRole());
+ String roleName = userRole();
+ if(ROLE_HEAD.equals(roleName)||ROLE_HeadPublic.equals(roleName)||ROLE_HeadPrivate.equals(roleName)||ROLE_HeadOps.equals(roleName)
+ ||ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName)){//根据机构号查询清单
+ listSelectByUser.setUserDept(getDeptId());
+ if(listSelectByUser.getGroupType() != null){
+ if((ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName)) && listSelectByUser.getGroupType().equals("0")){//支行视角里我的清单与总行码值相反
+ listSelectByUser.setGroupType("1");
+ }else if((ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName)) && listSelectByUser.getGroupType().equals("1")){
+ listSelectByUser.setGroupType("0");
+ }else if((ROLE_HEAD.equals(roleName)||ROLE_HeadPublic.equals(roleName)||ROLE_HeadPrivate.equals(roleName)||ROLE_HeadOps.equals(roleName)) && listSelectByUser.getGroupType().equals("2")){
+ listSelectByUser.setGroupType("1");
+ }
+ if (ROLE_Outlet.equals(roleName)){
+ listSelectByUser.setUserDept(null);
+ listSelectByUser.setBelongOutlet(getDeptId().toString());
+ }
+ }
+ }else if(userRole().equals("manager")){//根据客户经理查询清单
+ listSelectByUser.setUserId(getUserId());
+ listSelectByUser.setGroupType(listSelectByUser.getCreateRole());
+ }else{
+ logger.info("操作员为其他人员");
+ throw new ServiceException("该操作员无法查看清单列表!");
+ }
+ Date now = new Date();
+ listSelectByUser.setNowTime(now);
+ if (ROLE_Outlet.equals(roleName)){
+ listSelectByUserList = sysListMapper.selectMarketingListByOutlet(listSelectByUser);
+ }else {
+ listSelectByUserList = sysListMapper.selectMarketingListByBank(listSelectByUser);
+ }
+
+ for(int i = 0; i < listSelectByUserList.size(); i++) {
+ listSelectByUserList.get(i).setCustPattern(listSelectByUser.getCustPattern());
+ if((ROLE_HEAD.equals(roleName)||ROLE_HeadPublic.equals(roleName)||ROLE_HeadPrivate.equals(roleName)||ROLE_HeadOps.equals(roleName))&&"1".equals(listSelectByUserList.get(i).getCreateRole())){//总行视角里支行创建的为其他营销清单
+ listSelectByUserList.get(i).setGroupType("2");
+ }else if(userRole().equals("manager")){//客户经理视角只有推荐营销清单
+ listSelectByUserList.get(i).setGroupType("1");
+ }else if((ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName))&&"1".equals(listSelectByUserList.get(i).getCreateRole())){//支行视角里我的清单与总行码值相反
+ listSelectByUserList.get(i).setGroupType("0");
+ }else if((ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName))&&"0".equals(listSelectByUserList.get(i).getCreateRole())){
+ listSelectByUserList.get(i).setGroupType("1");
+ }else{
+ listSelectByUserList.get(i).setGroupType(listSelectByUserList.get(i).getCreateRole());
+ }
+ Date startTime = listSelectByUserList.get(i).getStartTime();
+ Date endTime = listSelectByUserList.get(i).getEndTime();
+ if (startTime != null && endTime != null) {//根据时间关系判断当前活动状态
+ if (now.getTime() < startTime.getTime()) {
+ listSelectByUserList.get(i).setActionStatus("待开始");
+ } else if (now.getTime() > startTime.getTime() && now.getTime() < endTime.getTime()) {
+ listSelectByUserList.get(i).setActionStatus("进行中");
+ } else if (now.getTime() > endTime.getTime()) {
+ listSelectByUserList.get(i).setActionStatus("已结束");
+ }
+ }
+ if("0".equals(listSelectByUserList.get(i).getClaimType())&& listSelectByUserList.get(i).getDeptId() != null){//如果该活动分配给机构并为强制认领时,认领状态默认为已认领
+ listSelectByUserList.get(i).setOrgClaimStatus("1");
+ }
+ if(ROLE_HEAD.equals(roleName)||ROLE_HeadPublic.equals(roleName)||ROLE_HeadPrivate.equals(roleName)||ROLE_HeadOps.equals(roleName)
+ ||ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName)) {//总行支行视角需要查询客户经理及认领率
+ if(ROLE_Outlet.equals(roleName)){
+ List receiveUser = sysCampaignGroupCustomerMapper.getReceiveUserNumOutlet(listSelectByUserList.get(i).getGroupId(),listSelectByUserList.get(i).getCampaignId(),getDeptId());
+ List allUser = sysCampaignGroupCustomerMapper.getAllUserNumOutlet(listSelectByUserList.get(i).getGroupId(),listSelectByUserList.get(i).getCampaignId(),getDeptId());
+ Long Receivesitustion = Long.parseLong(String.valueOf(receiveUser.size() * 100 / allUser.size()));
+ listSelectByUserList.get(i).setReceiveSitustion(Receivesitustion.toString() + '%');
+ if("0".equals(listSelectByUserList.get(i).getClaimType()) &&listSelectByUserList.get(i).getDeptId() == null){//如果该活动为强制认领并且活动为分配客户经理时,认领率为100%
+ listSelectByUserList.get(i).setReceiveSitustion("100%");
+ }
+ }else{
+ List receiveUser = sysCampaignGroupCustomerMapper.getReceiveUserNum(listSelectByUserList.get(i).getGroupId(),listSelectByUserList.get(i).getCampaignId(),listSelectByUserList.get(i).getDeptId(),getDeptId());
+ List allUser = sysCampaignGroupCustomerMapper.getAllUserNum(listSelectByUserList.get(i).getGroupId(),listSelectByUserList.get(i).getCampaignId(),listSelectByUserList.get(i).getDeptId(),getDeptId());
+ Long Receivesitustion = Long.parseLong(String.valueOf(receiveUser.size() * 100 / allUser.size()));
+ listSelectByUserList.get(i).setReceiveSitustion(Receivesitustion.toString() + '%');
+ if("0".equals(listSelectByUserList.get(i).getClaimType()) &&listSelectByUserList.get(i).getDeptId() == null){//如果该活动为强制认领并且活动为分配客户经理时,认领率为100%
+ listSelectByUserList.get(i).setReceiveSitustion("100%");
+ }
+ }
+ }
+ }
+
+ return listSelectByUserList;
+ }
+
+
+
+ /**
+ * 查询客户清单列表信息
+ *
+ * @param listSelectForUser 客户信息
+ * @return 客户信息集合
+ */
+ @Override
+ public List getCustListInfoByUser(ListSelectForUser listSelectForUser){
+ List ListSelectForUserList = new ArrayList<>();
+ logger.info("操作员id为" + getUserId());
+ logger.info("操作员机构id为" + getDeptId());
+ int deptstatus = 0;
+ logger.info("操作员为"+userRole());
+ String roleName = userRole();
+ if(ROLE_HEAD.equals(roleName)||ROLE_HeadPublic.equals(roleName)||ROLE_HeadPrivate.equals(roleName)||ROLE_HeadOps.equals(roleName)
+ ||ROLE_BRANCH.equals(roleName)||ROLE_Outlet.equals(roleName)){//根据机构号查询清单
+ listSelectForUser.setUserDept(getDeptId());
+ }else if(userRole().equals("manager")){//根据客户经理查询清单
+ logger.info("操作员为客户经理,经理id为" + getUserId());
+ listSelectForUser.setUserId(getUserId());
+ }else{
+ logger.info("操作员为其他人员");
+ throw new ServiceException("该操作员无法查看清单列表!");
+ }
+ if (ROLE_Outlet.equals(roleName)){
+ listSelectForUser.setIsOutlet("1");
+ }else{
+ listSelectForUser.setIsOutlet("0");
+ }
+ if (retail.equals(listSelectForUser.getCustPattern())){
+ ListSelectForUserList = sysListMapper.selectCustListByBankRetail(listSelectForUser);
+ }
+ else if (merchant.equals(listSelectForUser.getCustPattern())){
+ ListSelectForUserList = sysListMapper.selectCustListByBankMerchant(listSelectForUser);
+ } else if (business.equals(listSelectForUser.getCustPattern())){
+ ListSelectForUserList = sysListMapper.selectCustListByBankBusiness(listSelectForUser);
+ }
+
+ for(int i = 0; i < ListSelectForUserList.size(); i++) {
+ ListSelectForUserList.get(i).setCustPattern(listSelectForUser.getCustPattern());
+ if("1".equals(ListSelectForUserList.get(i).getOrgDistributeStatus())){//清单中只要有一个客户是已分配的,其余的都改成是已分配
+ deptstatus = 1;
+ }
+ }
+ if(deptstatus == 1) {//将其余客户改为改成已分配
+ for (int i = 0; i < ListSelectForUserList.size(); i++) {
+ ListSelectForUserList.get(i).setOrgDistributeStatus("1");
+ }
+ }
+ return ListSelectForUserList;
+ }
+
+
+ /**
+ * 批量导出客群列表
+ *
+ * @param groupId groupId
+ * @return 客户信息集合
+ */
+ @Override
+ public void selectListExportByGroupId (HttpServletResponse response, String custPattern, String groupId, String campaignId, Long deptId, List custIds) {
+ logger.info("开始导出查询");
+ ListSelectForUser listSelectForUser = new ListSelectForUser();
+ listSelectForUser.setCampaignId(campaignId);
+ listSelectForUser.setCustPattern(custPattern);
+ listSelectForUser.setGroupId(groupId);
+ listSelectForUser.setDeptId(deptId);
+ List listSelectForUserList = getCustListInfoByUser(listSelectForUser);
+ listSelectForUserList = listSelectForUserList.stream().filter(l->custIds.contains(l.getCustId())).collect(Collectors.toList());
+ if (custPattern.equals(retail)){
+ List list = listSelectForUserList.stream().map(s->{
+ ListSelectForUserExportRetail listSelectForUserExport = new ListSelectForUserExportRetail();
+ BeanUtils.copyProperties(s,listSelectForUserExport);
+ return listSelectForUserExport;}).collect(Collectors.toList());
+ ExcelUtil util = new ExcelUtil(ListSelectForUserExportRetail.class);
+ util.exportExcel(response, list, "批量导出分群客户");
+ }else if (custPattern.equals(merchant)){
+ List list = listSelectForUserList.stream().map(s->{
+ ListSelectForUserExportMerchant listSelectForUserExport = new ListSelectForUserExportMerchant();
+ BeanUtils.copyProperties(s,listSelectForUserExport);
+ return listSelectForUserExport;}).collect(Collectors.toList());
+ ExcelUtil util = new ExcelUtil(ListSelectForUserExportMerchant.class);
+ util.exportExcel(response, list, "批量导出分群客户");
+ }else if (custPattern.equals(business)){
+ List list = listSelectForUserList.stream().map(s->{
+ ListSelectForUserExportBusiness listSelectForUserExport = new ListSelectForUserExportBusiness();
+ BeanUtils.copyProperties(s,listSelectForUserExport);
+ return listSelectForUserExport;}).collect(Collectors.toList());
+ ExcelUtil util = new ExcelUtil