diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 01d1c3664dfd89d76d2a0c722791069cda8b0f03..0000000000000000000000000000000000000000 --- a/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 Stone - -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 deleted file mode 100644 index 9dc2a475c59c2ffb5a511aff782078fff3db9130..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# Stone 石头 V2.1.0 - 基于 若依 改造的互联网 SaaS 敏捷开发框架 ,一款免费开源的JAVA WBE开发平台,是开源项目中最灵活,扩展性最高的租户平台开发框架。 - -#### 如果对您有帮助,您可以点右上角 "Star" 支持一下 ,谢谢! - -### 介紹 -Stone 是一个基于 SpringBoot 2.1.5 的 互联网 SaaS 敏捷开发框架,包含租户管理、数据源管理、子系统管理和权限管理等通用功能,可根据实际需要,为不同租户分配不同的子系统和数据源,代码清晰,易读易懂、界面简洁美观,没有任何重度依赖; 核心技术采用Spring Boot、MyBatis、Druid、Shiro、JWT、Thymeleaf、Lombok、Fastjson。 - -### 体验地址:http://113.108.163.210:8849/login - -账号密码:admin / admin123 、 test / 123456 - -### 框架说明 - -1、导入项目之前请先安装 lombok 插件,方法自行百度; - -2、自创数据库级别动态数据源:默认一个平台库(主库),用于保存用户、角色、权限 和 系统等基础数据,其中系统管理包含系统的应用信息和数据源信息,框架可以根据系统标识自动加载对应的数据源信息; - -举个简单的栗子: 有个项目包含系统管理(部门、用户、角色、权限 和 系统)、CMS和CRM三个小系统,虽然功能不复杂,但由于使用率超高,导致数据量很大。这时候就可以使用动态数据源分别配置三个库,平台库、CMS库和CRM库。
- -数据库级别动态数据源比常规多数据源更具灵活性,并且可以做到统一管理;对事务处理也没有任何入侵性。 - -觉得本项目不错,麻烦点个 Star哦。 - -### V-1.0.0 已实现功能 - -1、用户管理:用户是系统操作者,该功能主要完成系统用户配置; - -2、部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限; - -3、岗位管理:配置系统用户所属担任职务; - -4、菜单管理:配置系统菜单,操作权限,按钮权限标识等; - -5、角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分; - -6、字典管理:对系统中经常使用的一些较为固定的数据进行维护; - -7、参数管理:对系统动态配置常用参数; - -8、通知公告:系统通知公告信息发布维护; - -9、操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询; - -10、登录日志:系统登录日志记录查询包含登录异常; - -11、在线用户:当前系统中活跃用户状态监控; - -12、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志; - -13、系统接口:根据业务代码自动生成相关的API接口文档; - -14、服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息; - -15、连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈; - -### V-2.0.0 租户模式,支持一套系统给多个客户使用(已完成): - -1、子系统管理(配置构成平台的系统/模块); - -2、租户管理(管理配置租户信息); - -2、数据路由组件,可根据租户以及子系统,将数据的增删查路由到不同的数据库; - - -### V-2.1.0 加入代码生成器 并 集成JWT,支持小程序或者App鉴权(已完成,专业版功能,需要可以联系我): - -1、后台无改动,登录 及 权限仍是交由Shiro控制; - -2、加入 JWT,并做了轻封装,支撑小程序、App 及 前后端分离 鉴权; - 演示环境体验地址:http://113.108.163.210:8849/doc.html - 未登录(没有获取到Token),系统提示:没有找到名为Authorization的header; - 已登录(获取到Token),可正常访问系统中所有的RestController。 - -### V-3.0.0 前后端分离版 - -1、 前后端分离、技术架构改造; - -2、 集成ES作为数据查询中心; - -### 相关资料及数据库脚本请加QQ群:531346979, 点击加入 Stone快速开发平台 - - -### 更新不易,请喝咖啡 - -![WAI](https://gitee.com/justime/stone/raw/master/wxzs.jpg) - - -### 推荐另外一个项目:https://gitee.com/justime/Movie-ElasticSearch-RHLC - -对ES客户端进行了轻封装,极大的降低了使用ES搜索引擎的门槛 - -### 技术视频分享 (链接: https://pan.baidu.com/s/12rMXHU8CVlb1UqBdcb-Dng 提取码: ri6v ) - -1、Java 基础视频 -2、设计模式讲解 -3、系统架构视频 -4、SpringCloud 视频 -5、MongoDB \ No newline at end of file diff --git a/ak-common/src/main/java/com/ak/common/utils/http/HttpUtils.java b/ak-common/src/main/java/com/ak/common/utils/http/HttpUtils.java deleted file mode 100644 index c00c6a2022dfc9f5d7708db8333ce5ca8c5ea340..0000000000000000000000000000000000000000 --- a/ak-common/src/main/java/com/ak/common/utils/http/HttpUtils.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.ak.common.utils.http; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.net.ssl.*; -import java.io.*; -import java.net.ConnectException; -import java.net.SocketTimeoutException; -import java.net.URL; -import java.net.URLConnection; -import java.security.cert.X509Certificate; - -/** - * 通用http发送方法 - * - * @author Vean - */ -public class HttpUtils { - private static final Logger log = LoggerFactory.getLogger(HttpUtils.class); - - /** - * 向指定 URL 发送GET方法的请求 - * - * @param url 发送请求的 URL - * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 - * @return 所代表远程资源的响应结果 - */ - public static String sendGet(String url, String param) { - StringBuilder result = new StringBuilder(); - BufferedReader in = null; - try { - String urlNameString = url + "?" + param; - log.info("sendGet - {}", urlNameString); - URL realUrl = new URL(urlNameString); - URLConnection connection = realUrl.openConnection(); - connection.setRequestProperty("accept", "*/*"); - connection.setRequestProperty("connection", "Keep-Alive"); - connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - connection.connect(); - in = new BufferedReader(new InputStreamReader(connection.getInputStream())); - String line; - while ((line = in.readLine()) != null) { - result.append(line); - } - log.info("recv - {}", result); - } catch (ConnectException e) { - log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e); - } catch (SocketTimeoutException e) { - log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e); - } catch (IOException e) { - log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e); - } catch (Exception e) { - log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e); - } finally { - try { - if (in != null) { - in.close(); - } - } catch (Exception ex) { - log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); - } - } - return result.toString(); - } - - /** - * 向指定 URL 发送POST方法的请求 - * - * @param url 发送请求的 URL - * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 - * @return 所代表远程资源的响应结果 - */ - public static String sendPost(String url, String param) { - PrintWriter out = null; - BufferedReader in = null; - StringBuilder result = new StringBuilder(); - try { - String urlNameString = url + "?" + param; - log.info("sendPost - {}", urlNameString); - URL realUrl = new URL(urlNameString); - URLConnection conn = realUrl.openConnection(); - conn.setRequestProperty("accept", "*/*"); - conn.setRequestProperty("connection", "Keep-Alive"); - conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - conn.setRequestProperty("Accept-Charset", "utf-8"); - conn.setRequestProperty("contentType", "utf-8"); - conn.setDoOutput(true); - conn.setDoInput(true); - out = new PrintWriter(conn.getOutputStream()); - out.print(param); - out.flush(); - in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); - String line; - while ((line = in.readLine()) != null) { - result.append(line); - } - log.info("recv - {}", result); - } catch (ConnectException e) { - log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); - } catch (SocketTimeoutException e) { - log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); - } catch (IOException e) { - log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); - } catch (Exception e) { - log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); - } finally { - try { - if (out != null) { - out.close(); - } - if (in != null) { - in.close(); - } - } catch (IOException ex) { - log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); - } - } - return result.toString(); - } - - public static String sendSSLPost(String url, String param) { - StringBuilder result = new StringBuilder(); - String urlNameString = url + "?" + param; - try { - log.info("sendSSLPost - {}", urlNameString); - SSLContext sc = SSLContext.getInstance("SSL"); - sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom()); - URL console = new URL(urlNameString); - HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); - conn.setRequestProperty("accept", "*/*"); - conn.setRequestProperty("connection", "Keep-Alive"); - conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - conn.setRequestProperty("Accept-Charset", "utf-8"); - conn.setRequestProperty("contentType", "utf-8"); - conn.setDoOutput(true); - conn.setDoInput(true); - - conn.setSSLSocketFactory(sc.getSocketFactory()); - conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); - conn.connect(); - InputStream is = conn.getInputStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(is)); - String ret = ""; - while ((ret = br.readLine()) != null) { - if (ret != null && !"".equals(ret.trim())) { - result.append(new String(ret.getBytes("ISO-8859-1"), "utf-8")); - } - } - log.info("recv - {}", result); - conn.disconnect(); - br.close(); - } catch (ConnectException e) { - log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e); - } catch (SocketTimeoutException e) { - log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e); - } catch (IOException e) { - log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e); - } catch (Exception e) { - log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e); - } - return result.toString(); - } - - private static class TrustAnyTrustManager implements X509TrustManager { - @Override - public void checkClientTrusted(X509Certificate[] chain, String authType) { - } - - @Override - public void checkServerTrusted(X509Certificate[] chain, String authType) { - } - - @Override - public X509Certificate[] getAcceptedIssuers() { - return new X509Certificate[]{}; - } - } - - private static class TrustAnyHostnameVerifier implements HostnameVerifier { - @Override - public boolean verify(String hostname, SSLSession session) { - return true; - } - } -} \ No newline at end of file diff --git a/ak-framework/src/main/java/com/ak/framework/util/CageDataSource.java b/ak-framework/src/main/java/com/ak/framework/util/CageDataSource.java deleted file mode 100644 index 47a5eb36698fe8eae53c817dd2c48dff34c2ba58..0000000000000000000000000000000000000000 --- a/ak-framework/src/main/java/com/ak/framework/util/CageDataSource.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.ak.framework.util; - -import com.ak.common.config.Global; -import com.ak.common.exception.BusinessException; -import com.ak.framework.datasource.DataSourceBeanBuilder; -import com.ak.framework.datasource.DataSourceHolder; -import com.ak.platform.domain.system.SysDatasource; -import com.ak.platform.service.system.ISysDatasourceService; - -/** - * @author Vean - * - * 从数据库读取数据源并设置数据源 - */ -public class CageDataSource { - - public static void action(ISysDatasourceService dataSourceService) throws BusinessException { - - if (null != ShiroUtils.getSysUser() && !Global.DEFAULT_TENANT_CODE.equals(ShiroUtils.getSysUser().getTenantCode())) { - SysDatasource _dataSource_ = dataSourceService.queryByTenant(ShiroUtils.getSysUser().getTenantCode()); - if (_dataSource_ != null) { - DataSourceBeanBuilder builder = new DataSourceBeanBuilder(_dataSource_); - DataSourceHolder.setDataSource(builder); - } else { - throw new RuntimeException("获取数据源信息异常,请检查租户 [" + ShiroUtils.getSysUser().getTenantCode() + "] 的数据源配置"); - } - } - } -} diff --git a/ak-system/src/main/java/com/ak/StoneApplication.java b/ak-system/src/main/java/com/ak/StoneApplication.java deleted file mode 100644 index 9cd64a6db74c8e8afe97d8210ebebdcf662773e9..0000000000000000000000000000000000000000 --- a/ak-system/src/main/java/com/ak/StoneApplication.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ak; - -import com.ak.common.config.Global; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.web.servlet.ServletComponentScan; - -/** - * 启动程序 - * - * @author Vean - */ -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) -@ServletComponentScan(basePackages = {"com.ak"}) -public class StoneApplication { - public static void main(String[] args) { - // System.setProperty("spring.devtools.restart.enabled", "false"); - SpringApplication.run(StoneApplication.class, args); - StringBuilder sb = new StringBuilder(); - sb.append("\r\n=========================================\r\n"); - sb.append("\r\n 欢迎使用 " + Global.getConfig("ak.name") + " - Powered By Vean\r\n"); - sb.append("\r\n=========================================\r\n"); - System.out.println(sb.toString()); - } -} \ No newline at end of file diff --git a/ak-system/src/main/resources/banner.txt b/ak-system/src/main/resources/banner.txt deleted file mode 100644 index 99e4cdf3884839414e44a59bdee8e3ed3bcfec77..0000000000000000000000000000000000000000 --- a/ak-system/src/main/resources/banner.txt +++ /dev/null @@ -1,24 +0,0 @@ -Application Version: ${ak.version} -Spring Boot Version: ${spring-boot.version} -//////////////////////////////////////////////////////////////////// -// _ooOoo_ // -// o8888888o // -// 88" . "88 // -// (| ^_^ |) // -// O\ = /O // -// ____/`---'\____ // -// .' \\| |// `. // -// / \\||| : |||// \ // -// / _||||| -:- |||||- \ // -// | | \\\ - /// | | // -// | \_| ''\---/'' | | // -// \ .-\__ `-` ___/-. / // -// ___`. .' /--.--\ `. . ___ // -// ."" '< `.___\_<|>_/___.' >'"". // -// | | : `- \`.;`\ _ /`;.`/ - ` : | | // -// \ \ `-. \_ __\ /__ _/ .-` / / // -// ========`-.____`-.___\_____/___.-`____.-'======== // -// `=---=' // -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // -// 佛祖保佑 永不宕机 永无BUG // -//////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/ak-system/src/main/resources/static/css/login.min.css b/ak-system/src/main/resources/static/css/login.min.css deleted file mode 100644 index 30c6633c74abea8407fa72cc743a07215103e80d..0000000000000000000000000000000000000000 --- a/ak-system/src/main/resources/static/css/login.min.css +++ /dev/null @@ -1 +0,0 @@ -html{height:100%}body.signin{height:auto;background:url(../img/login-background.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;color:rgba(255,255,255,.95)}.signinpanel{width:750px;margin:10% auto 0}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:420px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left} \ No newline at end of file diff --git a/ak-system/src/main/resources/static/favicon.ico b/ak-system/src/main/resources/static/favicon.ico deleted file mode 100644 index 15622361e7d3cde2c0da2e1b675f9c8cbc296fb3..0000000000000000000000000000000000000000 Binary files a/ak-system/src/main/resources/static/favicon.ico and /dev/null differ diff --git a/ak-system/src/main/resources/static/img/profile.jpg b/ak-system/src/main/resources/static/img/profile.jpg deleted file mode 100644 index fd56176c073eedf3461a91dde9ab97d2479c42d8..0000000000000000000000000000000000000000 Binary files a/ak-system/src/main/resources/static/img/profile.jpg and /dev/null differ diff --git a/ak-system/src/main/resources/static/slogin.png b/ak-system/src/main/resources/static/slogin.png deleted file mode 100644 index a30221216e12349c1b4be0ad34fa63c41ad02179..0000000000000000000000000000000000000000 Binary files a/ak-system/src/main/resources/static/slogin.png and /dev/null differ diff --git a/ak-common/pom.xml b/opl-common/pom.xml similarity index 68% rename from ak-common/pom.xml rename to opl-common/pom.xml index 8186fc626a1a31de4120209fb767cb4e213864c7..cdd35b8a10249a1eb49d473d4d4bd2bd099528ea 100644 --- a/ak-common/pom.xml +++ b/opl-common/pom.xml @@ -3,12 +3,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - stone - com.ak - 2.0 + com.opl.framework + opl-project + 1.0.0 4.0.0 - ak-common + opl-common 通用工具 @@ -17,7 +17,22 @@ org.springframework.boot spring-boot-starter-web - + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-jetty + + + + com.google.guava + guava + @@ -78,6 +93,22 @@ org.projectlombok lombok - + + + + org.apache.httpcomponents + httpclient + + + + com.alibaba + fastjson + + + + net.sf.supercsv + super-csv + 2.4.0 + \ No newline at end of file diff --git a/ak-common/src/main/java/com/ak/common/annotation/DataScope.java b/opl-common/src/main/java/com/opl/framework/common/annotation/DataScope.java similarity index 89% rename from ak-common/src/main/java/com/ak/common/annotation/DataScope.java rename to opl-common/src/main/java/com/opl/framework/common/annotation/DataScope.java index 8c62f93c879ee7bc2defb14013aa5fa21f92fae1..465a5995671be555d58ef64e5c71d080890f1bb7 100644 --- a/ak-common/src/main/java/com/ak/common/annotation/DataScope.java +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/DataScope.java @@ -1,4 +1,4 @@ -package com.ak.common.annotation; +package com.opl.framework.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -9,7 +9,7 @@ import java.lang.annotation.Target; /** * 数据权限过滤注解 * - * @author Vean + * @author kingrom */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) diff --git a/ak-common/src/main/java/com/ak/common/annotation/Excel.java b/opl-common/src/main/java/com/opl/framework/common/annotation/Excel.java similarity index 97% rename from ak-common/src/main/java/com/ak/common/annotation/Excel.java rename to opl-common/src/main/java/com/opl/framework/common/annotation/Excel.java index ad5a8ab8c1337dffe98042485828149a3c3f41b8..ca9b1b40dea2dde13296631ec7acb5c9a230f45f 100644 --- a/ak-common/src/main/java/com/ak/common/annotation/Excel.java +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/Excel.java @@ -1,4 +1,4 @@ -package com.ak.common.annotation; +package com.opl.framework.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -8,7 +8,7 @@ import java.lang.annotation.Target; /** * 自定义导出Excel数据注解 * - * @author Vean + * @author kingrom */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) diff --git a/ak-common/src/main/java/com/ak/common/annotation/Excels.java b/opl-common/src/main/java/com/opl/framework/common/annotation/Excels.java similarity index 82% rename from ak-common/src/main/java/com/ak/common/annotation/Excels.java rename to opl-common/src/main/java/com/opl/framework/common/annotation/Excels.java index a79b44b83710e5044d9baebfb36a4d637f4f2720..44275b26ceb569e4f0f11680b27556fb6831436f 100644 --- a/ak-common/src/main/java/com/ak/common/annotation/Excels.java +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/Excels.java @@ -1,4 +1,4 @@ -package com.ak.common.annotation; +package com.opl.framework.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -8,7 +8,7 @@ import java.lang.annotation.Target; /** * Excel注解集 * - * @author Vean + * @author kingrom */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) diff --git a/ak-common/src/main/java/com/ak/common/annotation/Log.java b/opl-common/src/main/java/com/opl/framework/common/annotation/Log.java similarity index 81% rename from ak-common/src/main/java/com/ak/common/annotation/Log.java rename to opl-common/src/main/java/com/opl/framework/common/annotation/Log.java index ec8927a2dd6a6611c23c434bd93d8a22c5ba41d1..3a6c33257695129d2acd584f132a2b9c58b3a588 100644 --- a/ak-common/src/main/java/com/ak/common/annotation/Log.java +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/Log.java @@ -1,7 +1,4 @@ -package com.ak.common.annotation; - -import com.ak.common.enums.BusinessType; -import com.ak.common.enums.OperatorType; +package com.opl.framework.common.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; @@ -9,10 +6,13 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.enums.OperatorType; + /** * 自定义操作日志记录注解 * - * @author Vean + * @author kingrom */ @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) diff --git a/opl-common/src/main/java/com/opl/framework/common/annotation/ModuleScope.java b/opl-common/src/main/java/com/opl/framework/common/annotation/ModuleScope.java new file mode 100644 index 0000000000000000000000000000000000000000..5d3be32efd9dadb54c03308c327a505b5d72323e --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/ModuleScope.java @@ -0,0 +1,23 @@ +package com.opl.framework.common.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 模块属于哪个应用 + * + * @author kingrom + */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ModuleScope { + /** + * 应用名 + */ + public String value() default ""; + +} diff --git a/ak-common/src/main/java/com/ak/common/annotation/RepeatSubmit.java b/opl-common/src/main/java/com/opl/framework/common/annotation/RepeatSubmit.java similarity index 36% rename from ak-common/src/main/java/com/ak/common/annotation/RepeatSubmit.java rename to opl-common/src/main/java/com/opl/framework/common/annotation/RepeatSubmit.java index 8c163a931c7a0b8417c24f42a83e6a894f34930e..3cc219d80531465084ab4979dcc1894bf04e37df 100644 --- a/ak-common/src/main/java/com/ak/common/annotation/RepeatSubmit.java +++ b/opl-common/src/main/java/com/opl/framework/common/annotation/RepeatSubmit.java @@ -1,11 +1,16 @@ -package com.ak.common.annotation; +package com.opl.framework.common.annotation; -import java.lang.annotation.*; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * 自定义注解防止表单重复提交 * - * @author Vean + * @author kingrom */ @Inherited @Target(ElementType.METHOD) diff --git a/ak-common/src/main/java/com/ak/common/config/Global.java b/opl-common/src/main/java/com/opl/framework/common/config/Global.java similarity index 56% rename from ak-common/src/main/java/com/ak/common/config/Global.java rename to opl-common/src/main/java/com/opl/framework/common/config/Global.java index 6cc55d21eb85beaefab84434cc1c53067f7b4ce6..9503bf8dc14cdafede359bb4880d7ee10ccddb39 100644 --- a/ak-common/src/main/java/com/ak/common/config/Global.java +++ b/opl-common/src/main/java/com/opl/framework/common/config/Global.java @@ -1,19 +1,21 @@ -package com.ak.common.config; - -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.YamlUtil; -import lombok.extern.log4j.Log4j2; +package com.opl.framework.common.config; import java.io.FileNotFoundException; -import java.util.HashMap; import java.util.Map; +import com.google.common.collect.Maps; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.YamlUtil; + +import lombok.extern.slf4j.Slf4j; + /** - * 全局配置类 + * 全局配置类 * - * @author Vean + * @author kingrom */ -@Log4j2 + +@Slf4j public class Global { private static String NAME = "application.yml"; @@ -21,20 +23,20 @@ public class Global { public static final String DEFAULT_TENANT_CODE = "000000"; /** - * 当前对象实例 + * 当前对象实例 */ private static Global global; /** - * 保存全局属性值 + * 保存全局属性值 */ - private static Map map = new HashMap(); + private static Map map = Maps.newHashMap(); private Global() { } /** - * 静态工厂方法 + * 静态工厂方法 */ public static synchronized Global getInstance() { if (global == null) { @@ -44,7 +46,7 @@ public class Global { } /** - * 获取配置 + * 获取配置 */ public static String getConfig(String key) { String value = map.get(key); @@ -62,63 +64,77 @@ public class Global { } /** - * 获取项目名称 + * 获取项目名称 */ public static String getName() { - return StringUtils.nvl(getConfig("ak.name"), "ak"); + return StringUtils.nvl(getConfig("opl.name"), "opl-server"); } /** - * 获取项目版本 + * 获取项目版本 */ public static String getVersion() { - return StringUtils.nvl(getConfig("ak.version"), "2.0.0"); + return StringUtils.nvl(getConfig("opl.version"), "1.0.0"); } /** - * 获取版权年份 + * 获取版权年份 */ public static String getCopyrightYear() { - return StringUtils.nvl(getConfig("ak.copyrightYear"), "2019"); + return StringUtils.nvl(getConfig("opl.copyrightYear"), "2019"); } - + /** - * 实例演示开关 + * 实例演示开关 */ public static String isDemoEnabled() { - return StringUtils.nvl(getConfig("ak.demoEnabled"), "true"); + return StringUtils.nvl(getConfig("opl.demoEnabled"), "true"); } /** - * 获取ip地址开关 + * 获取ip地址开关 */ public static Boolean isAddressEnabled() { - return Boolean.valueOf(getConfig("ak.addressEnabled")); + return Boolean.valueOf(getConfig("opl.addressEnabled")); + } + + /** + * 获取订单接口 + */ + public static String getSearchOrder() { + return getConfig("opl.searchOrder"); + } + + /** + * 获取还款接口 + */ + public static String getSearchRepayment() { + return getConfig("opl.searchRepayment"); } /** - * 获取文件上传路径 + * 获取文件上传路径 */ public static String getProfile() { - return getConfig("ak.profile"); + return getConfig("opl.profile"); } /** - * 获取头像上传路径 + * 获取头像上传路径 */ public static String getAvatarPath() { return getProfile() + "/avatar"; } /** - * 获取下载路径 + * 获取下载路径 */ public static String getDownloadPath() { return getProfile() + "/download/"; } /** - * 获取上传路径 + * 获取上传路径 */ public static String getUploadPath() { return getProfile() + "/upload"; diff --git a/ak-common/src/main/java/com/ak/common/config/ServerConfig.java b/opl-common/src/main/java/com/opl/framework/common/config/ServerConfig.java similarity index 87% rename from ak-common/src/main/java/com/ak/common/config/ServerConfig.java rename to opl-common/src/main/java/com/opl/framework/common/config/ServerConfig.java index 571c57f463f513c6d84c4d2e86acaecb0ae05aed..da2bbfeb07facc46b3e41e91e8b78800ebe41763 100644 --- a/ak-common/src/main/java/com/ak/common/config/ServerConfig.java +++ b/opl-common/src/main/java/com/opl/framework/common/config/ServerConfig.java @@ -1,14 +1,15 @@ -package com.ak.common.config; +package com.opl.framework.common.config; + +import javax.servlet.http.HttpServletRequest; -import com.ak.common.utils.ServletUtils; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; +import com.opl.framework.common.utils.ServletUtils; /** * 服务相关配置 * - * @author Vean + * @author kingrom */ @Component public class ServerConfig { diff --git a/ak-common/src/main/java/com/ak/common/config/thread/ThreadPoolConfig.java b/opl-common/src/main/java/com/opl/framework/common/config/thread/ThreadPoolConfig.java similarity index 94% rename from ak-common/src/main/java/com/ak/common/config/thread/ThreadPoolConfig.java rename to opl-common/src/main/java/com/opl/framework/common/config/thread/ThreadPoolConfig.java index f2797b57d869fb0484e74f9c8a925f90754a711c..0be67abe1f9de468f683f362302709fb0d2886cc 100644 --- a/ak-common/src/main/java/com/ak/common/config/thread/ThreadPoolConfig.java +++ b/opl-common/src/main/java/com/opl/framework/common/config/thread/ThreadPoolConfig.java @@ -1,19 +1,20 @@ -package com.ak.common.config.thread; +package com.opl.framework.common.config.thread; + +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.ThreadPoolExecutor; -import com.ak.common.utils.Threads; import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; -import java.util.concurrent.ThreadPoolExecutor; +import com.opl.framework.common.utils.Threads; /** * 线程池配置 * - * @author Vean + * @author kingrom **/ @Configuration public class ThreadPoolConfig { diff --git a/ak-common/src/main/java/com/ak/common/constant/Constants.java b/opl-common/src/main/java/com/opl/framework/common/constant/Constants.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/constant/Constants.java rename to opl-common/src/main/java/com/opl/framework/common/constant/Constants.java index e9cbf9d6ad02951f030e8594ba09e2f65f198f55..a888fbb13eca3b8853a6025437967dff3017921d 100644 --- a/ak-common/src/main/java/com/ak/common/constant/Constants.java +++ b/opl-common/src/main/java/com/opl/framework/common/constant/Constants.java @@ -1,9 +1,9 @@ -package com.ak.common.constant; +package com.opl.framework.common.constant; /** * 通用常量信息 * - * @author Vean + * @author kingrom */ public class Constants { /** diff --git a/ak-common/src/main/java/com/ak/common/constant/PermissionConstants.java b/opl-common/src/main/java/com/opl/framework/common/constant/PermissionConstants.java similarity index 91% rename from ak-common/src/main/java/com/ak/common/constant/PermissionConstants.java rename to opl-common/src/main/java/com/opl/framework/common/constant/PermissionConstants.java index 01746b3d8f06c4934dcf631f2960398d2b5265f1..456feba6b357d2b3f297cf87a2772ffb2ac4f433 100644 --- a/ak-common/src/main/java/com/ak/common/constant/PermissionConstants.java +++ b/opl-common/src/main/java/com/opl/framework/common/constant/PermissionConstants.java @@ -1,9 +1,9 @@ -package com.ak.common.constant; +package com.opl.framework.common.constant; /** * 权限通用常量 * - * @author Vean + * @author kingrom */ public class PermissionConstants { /** diff --git a/ak-common/src/main/java/com/ak/common/constant/ScheduleConstants.java b/opl-common/src/main/java/com/opl/framework/common/constant/ScheduleConstants.java similarity index 94% rename from ak-common/src/main/java/com/ak/common/constant/ScheduleConstants.java rename to opl-common/src/main/java/com/opl/framework/common/constant/ScheduleConstants.java index a8065cbfa587045b9ca0792ded7baa38e30b9258..464aeae8e7d2afb3a2816681a8e3da180fd9c5e8 100644 --- a/ak-common/src/main/java/com/ak/common/constant/ScheduleConstants.java +++ b/opl-common/src/main/java/com/opl/framework/common/constant/ScheduleConstants.java @@ -1,9 +1,9 @@ -package com.ak.common.constant; +package com.opl.framework.common.constant; /** * 任务调度通用常量 * - * @author Vean + * @author kingrom */ public interface ScheduleConstants { public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME"; diff --git a/ak-common/src/main/java/com/ak/common/constant/ShiroConstants.java b/opl-common/src/main/java/com/opl/framework/common/constant/ShiroConstants.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/constant/ShiroConstants.java rename to opl-common/src/main/java/com/opl/framework/common/constant/ShiroConstants.java index 82aaa1a96b5a8a7cdcebdd85445704b26ba2110a..5b5d2fba3c888c5e645a91fbe09e3dc03324e4e8 100644 --- a/ak-common/src/main/java/com/ak/common/constant/ShiroConstants.java +++ b/opl-common/src/main/java/com/opl/framework/common/constant/ShiroConstants.java @@ -1,9 +1,9 @@ -package com.ak.common.constant; +package com.opl.framework.common.constant; /** * Shiro通用常量 * - * @author Vean + * @author kingrom */ public interface ShiroConstants { /** diff --git a/ak-common/src/main/java/com/ak/common/constant/UserConstants.java b/opl-common/src/main/java/com/opl/framework/common/constant/UserConstants.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/constant/UserConstants.java rename to opl-common/src/main/java/com/opl/framework/common/constant/UserConstants.java index ea74b08c852656e6f0d78b84df53f48a8bb73ba1..03face02fff50fa9329628287c820a1513346cbc 100644 --- a/ak-common/src/main/java/com/ak/common/constant/UserConstants.java +++ b/opl-common/src/main/java/com/opl/framework/common/constant/UserConstants.java @@ -1,9 +1,9 @@ -package com.ak.common.constant; +package com.opl.framework.common.constant; /** * 用户常量信息 * - * @author Vean + * @author kingrom */ public class UserConstants { /** diff --git a/ak-common/src/main/java/com/ak/common/core/controller/BaseController.java b/opl-common/src/main/java/com/opl/framework/common/core/controller/BaseController.java similarity index 67% rename from ak-common/src/main/java/com/ak/common/core/controller/BaseController.java rename to opl-common/src/main/java/com/opl/framework/common/core/controller/BaseController.java index e59c044ea57b86e17e5ada8564af9855f59f6b89..67ea1360fc0ed3887e3c61a2301e056d3d48b328 100644 --- a/ak-common/src/main/java/com/ak/common/core/controller/BaseController.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/controller/BaseController.java @@ -1,32 +1,35 @@ -package com.ak.common.core.controller; - -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.domain.AjaxResult.Type; -import com.ak.common.core.page.PageDomain; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.core.page.TableSupport; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.ServletUtils; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.sql.SqlUtil; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.WebDataBinder; -import org.springframework.web.bind.annotation.InitBinder; +package com.opl.framework.common.core.controller; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import java.beans.PropertyEditorSupport; import java.util.Date; import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; + +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Maps; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.domain.AjaxResult.Type; +import com.opl.framework.common.core.page.PageDomain; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.core.page.TableSupport; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.sql.SqlUtil; /** * web层通用数据处理 * - * @author Vean + * @author kingrom */ public class BaseController { @@ -56,6 +59,25 @@ public class BaseController { PageHelper.startPage(pageNum, pageSize, orderBy); } } + + /** + * 设置请求分页数据 + * @Param + */ + protected Map startPageParam() { + Map map = Maps.newHashMapWithExpectedSize(3); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { + Map sortMap= pageDomain.getOrderByMap(); + PageHelper.startPage(pageNum, pageSize); + map.putAll(sortMap); + } + map.put("pageNum", pageNum); + map.put("pageSize", pageSize); + return map; + } /** * 获取request @@ -87,6 +109,17 @@ public class BaseController { rspData.setCode(0); rspData.setRows(list); rspData.setTotal(new PageInfo(list).getTotal()); + + return rspData; + } + /** + * 响应请求分页数据 + */ + protected TableDataInfo getDataTable(Page list,Integer total) { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(0); + rspData.setRows(list); + rspData.setTotal(total); return rspData; } diff --git a/ak-common/src/main/java/com/ak/common/core/domain/AjaxResult.java b/opl-common/src/main/java/com/opl/framework/common/core/domain/AjaxResult.java similarity index 96% rename from ak-common/src/main/java/com/ak/common/core/domain/AjaxResult.java rename to opl-common/src/main/java/com/opl/framework/common/core/domain/AjaxResult.java index b6a9a7d59d6fb745dfd958d5ce7a5b01a0dbcd68..bd9154668e5ac02671c3459ef0c59538f5e73b29 100644 --- a/ak-common/src/main/java/com/ak/common/core/domain/AjaxResult.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/domain/AjaxResult.java @@ -1,13 +1,13 @@ -package com.ak.common.core.domain; - -import com.ak.common.utils.StringUtils; +package com.opl.framework.common.core.domain; import java.util.HashMap; +import com.opl.framework.common.utils.StringUtils; + /** * 操作消息提醒 * - * @author Vean + * @author kingrom */ public class AjaxResult extends HashMap { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/core/domain/BaseEntity.java b/opl-common/src/main/java/com/opl/framework/common/core/domain/BaseEntity.java similarity index 93% rename from ak-common/src/main/java/com/ak/common/core/domain/BaseEntity.java rename to opl-common/src/main/java/com/opl/framework/common/core/domain/BaseEntity.java index 747fc18be295f93dfe690ea204890529e9b970b8..72983759fe0b36a9ccd0ee31d2a2f05f99d69b55 100644 --- a/ak-common/src/main/java/com/ak/common/core/domain/BaseEntity.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/domain/BaseEntity.java @@ -1,18 +1,19 @@ -package com.ak.common.core.domain; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.Getter; -import lombok.Setter; +package com.opl.framework.common.core.domain; import java.io.Serializable; import java.util.Date; -import java.util.HashMap; import java.util.Map; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.google.common.collect.Maps; + +import lombok.Getter; +import lombok.Setter; + /** * Entity基类 * - * @author Vean + * @author kingrom */ public class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; @@ -111,7 +112,7 @@ public class BaseEntity implements Serializable { public Map getParams() { if (params == null) { - params = new HashMap<>(); + params = Maps.newHashMap(); } return params; } diff --git a/ak-common/src/main/java/com/ak/common/core/domain/TreeEntity.java b/opl-common/src/main/java/com/opl/framework/common/core/domain/TreeEntity.java similarity index 93% rename from ak-common/src/main/java/com/ak/common/core/domain/TreeEntity.java rename to opl-common/src/main/java/com/opl/framework/common/core/domain/TreeEntity.java index 0b4718858e40e628ebb9034fde3a5439889953c1..928e1b25b45f8b4a3b17cd849edb40ef19537183 100644 --- a/ak-common/src/main/java/com/ak/common/core/domain/TreeEntity.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/domain/TreeEntity.java @@ -1,4 +1,4 @@ -package com.ak.common.core.domain; +package com.opl.framework.common.core.domain; import lombok.Getter; import lombok.Setter; @@ -6,7 +6,7 @@ import lombok.Setter; /** * Tree基类 * - * @author Vean + * @author kingrom */ public class TreeEntity extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/core/domain/Ztree.java b/opl-common/src/main/java/com/opl/framework/common/core/domain/Ztree.java similarity index 92% rename from ak-common/src/main/java/com/ak/common/core/domain/Ztree.java rename to opl-common/src/main/java/com/opl/framework/common/core/domain/Ztree.java index 92256f03d63763207527fb6b84b17e6aca5604bb..12a39df67b3c3fc47a562c8ec533af75f8c5ddef 100644 --- a/ak-common/src/main/java/com/ak/common/core/domain/Ztree.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/domain/Ztree.java @@ -1,13 +1,14 @@ -package com.ak.common.core.domain; +package com.opl.framework.common.core.domain; import java.io.Serializable; -import java.util.HashMap; import java.util.Map; +import com.google.common.collect.Maps; + /** * Ztree树结构实体类 * - * @author Vean + * @author kingrom */ public class Ztree implements Serializable { private static final long serialVersionUID = 1L; @@ -110,7 +111,7 @@ public class Ztree implements Serializable { public Map getParams() { if (params == null) { - params = new HashMap(); + params = Maps.newHashMap(); } return params; } diff --git a/ak-common/src/main/java/com/ak/common/core/mapper/BaseMapper.java b/opl-common/src/main/java/com/opl/framework/common/core/mapper/BaseMapper.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/core/mapper/BaseMapper.java rename to opl-common/src/main/java/com/opl/framework/common/core/mapper/BaseMapper.java index 271e9b2a2c6eaf4a838ef370816bde4f870a51e9..76629ae9e5a11817861c88e4ed513ab6f060dffe 100644 --- a/ak-common/src/main/java/com/ak/common/core/mapper/BaseMapper.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/mapper/BaseMapper.java @@ -1,9 +1,9 @@ -package com.ak.common.core.mapper; - -import org.apache.ibatis.annotations.Param; +package com.opl.framework.common.core.mapper; import java.util.List; +import org.apache.ibatis.annotations.Param; + /** * DAO支持类实现 * diff --git a/ak-common/src/main/java/com/ak/common/core/page/PageDomain.java b/opl-common/src/main/java/com/opl/framework/common/core/page/PageDomain.java similarity index 70% rename from ak-common/src/main/java/com/ak/common/core/page/PageDomain.java rename to opl-common/src/main/java/com/opl/framework/common/core/page/PageDomain.java index 57c7cf16514a183a4db8b0a3ba64c22b1f776cdc..f5eada655e9555554984085211e09a81b2a8d63d 100644 --- a/ak-common/src/main/java/com/ak/common/core/page/PageDomain.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/page/PageDomain.java @@ -1,11 +1,14 @@ -package com.ak.common.core.page; +package com.opl.framework.common.core.page; -import com.ak.common.utils.StringUtils; +import java.util.Map; + +import com.google.common.collect.Maps; +import com.opl.framework.common.utils.StringUtils; /** * 分页数据 * - * @author Vean + * @author kingrom */ public class PageDomain { /** @@ -31,6 +34,16 @@ public class PageDomain { } return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; } + + public Map getOrderByMap() { + Map map = Maps.newHashMapWithExpectedSize(2); + if (StringUtils.isEmpty(orderByColumn)) { + return null; + } + map.put("sortField", orderByColumn); + map.put("sortby", isAsc); + return map; + } public Integer getPageNum() { return pageNum; diff --git a/ak-common/src/main/java/com/ak/common/core/page/TableDataInfo.java b/opl-common/src/main/java/com/opl/framework/common/core/page/TableDataInfo.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/core/page/TableDataInfo.java rename to opl-common/src/main/java/com/opl/framework/common/core/page/TableDataInfo.java index 5c4fb97f71d137a74728bac876484b37bd0997cf..a721bebff3432283445ecc518a75938d58ea577a 100644 --- a/ak-common/src/main/java/com/ak/common/core/page/TableDataInfo.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/page/TableDataInfo.java @@ -1,4 +1,4 @@ -package com.ak.common.core.page; +package com.opl.framework.common.core.page; import java.io.Serializable; import java.util.List; @@ -6,7 +6,7 @@ import java.util.List; /** * 表格分页数据对象 * - * @author Vean + * @author kingrom */ public class TableDataInfo implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/core/page/TableSupport.java b/opl-common/src/main/java/com/opl/framework/common/core/page/TableSupport.java similarity index 79% rename from ak-common/src/main/java/com/ak/common/core/page/TableSupport.java rename to opl-common/src/main/java/com/opl/framework/common/core/page/TableSupport.java index b5be64ac99545857f61f40457c5be5e771c3bdde..1cbfa72b0ec50d0c04dcea4f95373b6754f17c03 100644 --- a/ak-common/src/main/java/com/ak/common/core/page/TableSupport.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/page/TableSupport.java @@ -1,12 +1,12 @@ -package com.ak.common.core.page; +package com.opl.framework.common.core.page; -import com.ak.common.constant.Constants; -import com.ak.common.utils.ServletUtils; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.utils.ServletUtils; /** * 表格数据处理 * - * @author Vean + * @author kingrom */ public class TableSupport { /** diff --git a/ak-common/src/main/java/com/ak/common/core/service/BaseService.java b/opl-common/src/main/java/com/opl/framework/common/core/service/BaseService.java similarity index 84% rename from ak-common/src/main/java/com/ak/common/core/service/BaseService.java rename to opl-common/src/main/java/com/opl/framework/common/core/service/BaseService.java index 322e7a20524b6a80de225e7b284415df2580daa4..d025cc2587a1625316d99e41ed2e22a54d09c1cb 100644 --- a/ak-common/src/main/java/com/ak/common/core/service/BaseService.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/service/BaseService.java @@ -1,16 +1,17 @@ -package com.ak.common.core.service; +package com.opl.framework.common.core.service; + +import java.util.List; -import com.ak.common.core.domain.BaseEntity; -import com.ak.common.core.mapper.BaseMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.framework.common.core.mapper.BaseMapper; /** * Service基类 * - * @author Vean + * @author kingrom * @version 2014-05-16 */ public abstract class BaseService, T extends BaseEntity> { diff --git a/ak-common/src/main/java/com/ak/common/core/text/CharsetKit.java b/opl-common/src/main/java/com/opl/framework/common/core/text/CharsetKit.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/core/text/CharsetKit.java rename to opl-common/src/main/java/com/opl/framework/common/core/text/CharsetKit.java index 6d00a34614703333562c8f0198287b486e737369..8cca8f3ab7ed80adb4784fdd5d9364c686fa7fe2 100644 --- a/ak-common/src/main/java/com/ak/common/core/text/CharsetKit.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/text/CharsetKit.java @@ -1,14 +1,14 @@ -package com.ak.common.core.text; - -import com.ak.common.utils.StringUtils; +package com.opl.framework.common.core.text; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import com.opl.framework.common.utils.StringUtils; + /** * 字符集工具类 * - * @author Vean + * @author kingrom */ public class CharsetKit { /** diff --git a/ak-common/src/main/java/com/ak/common/core/text/Convert.java b/opl-common/src/main/java/com/opl/framework/common/core/text/Convert.java similarity index 99% rename from ak-common/src/main/java/com/ak/common/core/text/Convert.java rename to opl-common/src/main/java/com/opl/framework/common/core/text/Convert.java index b9151ab4cce551593efa1466b4b3f0a98c3208c0..0f26c14651abf346a2b162f0ab9dab851f972059 100644 --- a/ak-common/src/main/java/com/ak/common/core/text/Convert.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/text/Convert.java @@ -1,6 +1,4 @@ -package com.ak.common.core.text; - -import com.ak.common.utils.StringUtils; +package com.opl.framework.common.core.text; import java.math.BigDecimal; import java.math.BigInteger; @@ -9,10 +7,12 @@ import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.Set; +import com.opl.framework.common.utils.StringUtils; + /** * 类型转换器 * - * @author Vean + * @author kingrom */ public class Convert { /** diff --git a/ak-common/src/main/java/com/ak/common/core/text/StrFormatter.java b/opl-common/src/main/java/com/opl/framework/common/core/text/StrFormatter.java similarity index 96% rename from ak-common/src/main/java/com/ak/common/core/text/StrFormatter.java rename to opl-common/src/main/java/com/opl/framework/common/core/text/StrFormatter.java index 43b9124df24867c8a93a051fe922ad389be22f14..c31e36eeaaa9a6ce0cd2458a6c57e696e483cb21 100644 --- a/ak-common/src/main/java/com/ak/common/core/text/StrFormatter.java +++ b/opl-common/src/main/java/com/opl/framework/common/core/text/StrFormatter.java @@ -1,11 +1,11 @@ -package com.ak.common.core.text; +package com.opl.framework.common.core.text; -import com.ak.common.utils.StringUtils; +import com.opl.framework.common.utils.StringUtils; /** * 字符串格式化 * - * @author Vean + * @author kingrom */ public class StrFormatter { public static final String EMPTY_JSON = "{}"; diff --git a/ak-common/src/main/java/com/ak/common/enums/BusinessStatus.java b/opl-common/src/main/java/com/opl/framework/common/enums/BusinessStatus.java similarity index 70% rename from ak-common/src/main/java/com/ak/common/enums/BusinessStatus.java rename to opl-common/src/main/java/com/opl/framework/common/enums/BusinessStatus.java index 2702d47f3ec3ab5d526b87d7d835a54db93e74b0..b2e08b6bbb36bb93beb8dbe1d91ebb93a2b3f6e6 100644 --- a/ak-common/src/main/java/com/ak/common/enums/BusinessStatus.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/BusinessStatus.java @@ -1,9 +1,9 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 操作状态 * - * @author Vean + * @author kingrom */ public enum BusinessStatus { /** diff --git a/ak-common/src/main/java/com/ak/common/enums/BusinessType.java b/opl-common/src/main/java/com/opl/framework/common/enums/BusinessType.java similarity index 89% rename from ak-common/src/main/java/com/ak/common/enums/BusinessType.java rename to opl-common/src/main/java/com/opl/framework/common/enums/BusinessType.java index 59372c4c56df5bc9c4a21aee486d89b8aa9dd54a..66c2092affa1ac6f6f2a99005b44f89a02fc8f58 100644 --- a/ak-common/src/main/java/com/ak/common/enums/BusinessType.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/BusinessType.java @@ -1,9 +1,9 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 业务操作类型 * - * @author Vean + * @author kingrom */ public enum BusinessType { /** diff --git a/ak-common/src/main/java/com/ak/common/enums/OnlineStatus.java b/opl-common/src/main/java/com/opl/framework/common/enums/OnlineStatus.java similarity index 83% rename from ak-common/src/main/java/com/ak/common/enums/OnlineStatus.java rename to opl-common/src/main/java/com/opl/framework/common/enums/OnlineStatus.java index d0e3192c4c43c06d3e9b9493e84879807a000fcf..2601efeff0aaecf179824fe3e5ed1d42be3753bb 100644 --- a/ak-common/src/main/java/com/ak/common/enums/OnlineStatus.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/OnlineStatus.java @@ -1,9 +1,9 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 用户会话 * - * @author Vean + * @author kingrom */ public enum OnlineStatus { /** diff --git a/ak-common/src/main/java/com/ak/common/enums/OperatorType.java b/opl-common/src/main/java/com/opl/framework/common/enums/OperatorType.java similarity index 77% rename from ak-common/src/main/java/com/ak/common/enums/OperatorType.java rename to opl-common/src/main/java/com/opl/framework/common/enums/OperatorType.java index 5c2696b348c54faf6004030179d3754fdd6de5f6..ea96f82723009a880067dc362fa31aa298ce5c17 100644 --- a/ak-common/src/main/java/com/ak/common/enums/OperatorType.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/OperatorType.java @@ -1,9 +1,9 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 操作人类别 * - * @author Vean + * @author kingrom */ public enum OperatorType { /** diff --git a/ak-common/src/main/java/com/ak/common/enums/RandomType.java b/opl-common/src/main/java/com/opl/framework/common/enums/RandomType.java similarity index 92% rename from ak-common/src/main/java/com/ak/common/enums/RandomType.java rename to opl-common/src/main/java/com/opl/framework/common/enums/RandomType.java index 240c501bb35666e1bdeaae9178cab73af4fdd4cb..c473cf7ad49450fea7284e8a4a804605318ffc35 100644 --- a/ak-common/src/main/java/com/ak/common/enums/RandomType.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/RandomType.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 生成的随机数类型 * - * @author Vean + * @author kingrom */ public enum RandomType { /** diff --git a/ak-common/src/main/java/com/ak/common/enums/TenantApplication.java b/opl-common/src/main/java/com/opl/framework/common/enums/TenantApplication.java similarity index 85% rename from ak-common/src/main/java/com/ak/common/enums/TenantApplication.java rename to opl-common/src/main/java/com/opl/framework/common/enums/TenantApplication.java index 9887795b713a181706e654a6555920a8cb2b994e..58cb51dc80b973d66422443c9da9624dfe1903ae 100644 --- a/ak-common/src/main/java/com/ak/common/enums/TenantApplication.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/TenantApplication.java @@ -1,11 +1,11 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 子系统枚举类 * 开发子系统之前,先在此文件中定义好子系统编码, * 子系统管理中的系统编码从这里读取过去的 * - * @author Vean + * @author kingrom * @date 2019-08-01 */ public enum TenantApplication { @@ -19,7 +19,9 @@ public enum TenantApplication { /** * ===== 以下是租户可使用的子系统 ===== **/ - + TENANT_OPERAT_APPCODE("TanantOperat", "运营平台子系统"), + TENANT_CONFIG_APPCODE("TenantConfig", "运营配置子系统"), + TENANT_BASEDATE_APPCODE("TenantBasedate", "基础数据子系统"), TENANT_MESSAGE_APPCODE("TenantMessage", "消息中心子系统"), TENANT_LOG_APPCODE("TenantLog", "日志查询子系统"), diff --git a/ak-common/src/main/java/com/ak/common/enums/UserStatus.java b/opl-common/src/main/java/com/opl/framework/common/enums/UserStatus.java similarity index 87% rename from ak-common/src/main/java/com/ak/common/enums/UserStatus.java rename to opl-common/src/main/java/com/opl/framework/common/enums/UserStatus.java index bb3365352e4793bf64820c6cce3212dce48984a4..5b2de0c828e39f2ac1c69cdf285d7b36cea41d70 100644 --- a/ak-common/src/main/java/com/ak/common/enums/UserStatus.java +++ b/opl-common/src/main/java/com/opl/framework/common/enums/UserStatus.java @@ -1,9 +1,9 @@ -package com.ak.common.enums; +package com.opl.framework.common.enums; /** * 用户状态 * - * @author Vean + * @author kingrom */ public enum UserStatus { OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); diff --git a/ak-common/src/main/java/com/ak/common/exception/BusinessException.java b/opl-common/src/main/java/com/opl/framework/common/exception/BusinessException.java similarity index 88% rename from ak-common/src/main/java/com/ak/common/exception/BusinessException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/BusinessException.java index 693087faf2c95745f792ae706d1dd712aa07a27a..a72ac7cf6c34b9c56ff5f14d3447942093afa166 100644 --- a/ak-common/src/main/java/com/ak/common/exception/BusinessException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/BusinessException.java @@ -1,9 +1,9 @@ -package com.ak.common.exception; +package com.opl.framework.common.exception; /** * 业务异常 * - * @author Vean + * @author kingrom */ public class BusinessException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/exception/base/BaseException.java b/opl-common/src/main/java/com/opl/framework/common/exception/base/BaseException.java similarity index 90% rename from ak-common/src/main/java/com/ak/common/exception/base/BaseException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/base/BaseException.java index b7735bbcc8405ff5462a4b13e556499bf188e2ff..e57731286c5be4ade7e84cb308f481c1322114f8 100644 --- a/ak-common/src/main/java/com/ak/common/exception/base/BaseException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/base/BaseException.java @@ -1,12 +1,12 @@ -package com.ak.common.exception.base; +package com.opl.framework.common.exception.base; -import com.ak.common.utils.MessageUtils; -import com.ak.common.utils.StringUtils; +import com.opl.framework.common.utils.MessageUtils; +import com.opl.framework.common.utils.StringUtils; /** * 基础异常 * - * @author Vean + * @author kingrom */ public class BaseException extends RuntimeException { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/exception/file/FileException.java b/opl-common/src/main/java/com/opl/framework/common/exception/file/FileException.java similarity index 65% rename from ak-common/src/main/java/com/ak/common/exception/file/FileException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/file/FileException.java index 0afc6bb4e52862f028589d5e9e0fcfc4951bec3f..9ea8c02cb3dac1db1d37addaed9f4fd188d210e6 100644 --- a/ak-common/src/main/java/com/ak/common/exception/file/FileException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/file/FileException.java @@ -1,11 +1,11 @@ -package com.ak.common.exception.file; +package com.opl.framework.common.exception.file; -import com.ak.common.exception.base.BaseException; +import com.opl.framework.common.exception.base.BaseException; /** * 文件信息异常类 * - * @author Vean + * @author kingrom */ public class FileException extends BaseException { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/exception/file/InvalidExtensionException.java b/opl-common/src/main/java/com/opl/framework/common/exception/file/InvalidExtensionException.java similarity index 96% rename from ak-common/src/main/java/com/ak/common/exception/file/InvalidExtensionException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/file/InvalidExtensionException.java index 698f470d02d659d9b62e0fdabcb9e40c2ae91813..7c80de195b9e3149dcb66b11cac7864eae2b9468 100644 --- a/ak-common/src/main/java/com/ak/common/exception/file/InvalidExtensionException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/file/InvalidExtensionException.java @@ -1,13 +1,13 @@ -package com.ak.common.exception.file; - -import org.apache.commons.fileupload.FileUploadException; +package com.opl.framework.common.exception.file; import java.util.Arrays; +import org.apache.commons.fileupload.FileUploadException; + /** * 文件上传 误异常类 * - * @author Vean + * @author kingrom */ public class InvalidExtensionException extends FileUploadException { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/exception/job/TaskException.java b/opl-common/src/main/java/com/opl/framework/common/exception/job/TaskException.java similarity index 89% rename from ak-common/src/main/java/com/ak/common/exception/job/TaskException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/job/TaskException.java index e879042e4b914bdea9529c99307f4b6548063dad..d262ebc294fd26024d2cbecc5c4dd7a28cb0ef40 100644 --- a/ak-common/src/main/java/com/ak/common/exception/job/TaskException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/job/TaskException.java @@ -1,9 +1,9 @@ -package com.ak.common.exception.job; +package com.opl.framework.common.exception.job; /** * 计划策略异常 * - * @author Vean + * @author kingrom */ public class TaskException extends Exception { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/exception/user/UserException.java b/opl-common/src/main/java/com/opl/framework/common/exception/user/UserException.java similarity index 65% rename from ak-common/src/main/java/com/ak/common/exception/user/UserException.java rename to opl-common/src/main/java/com/opl/framework/common/exception/user/UserException.java index f67c4404c429b4bfd4e48f17550e792ab6bb97fd..6e38ef8a1f9da9a51f7fee406d815947677df049 100644 --- a/ak-common/src/main/java/com/ak/common/exception/user/UserException.java +++ b/opl-common/src/main/java/com/opl/framework/common/exception/user/UserException.java @@ -1,11 +1,11 @@ -package com.ak.common.exception.user; +package com.opl.framework.common.exception.user; -import com.ak.common.exception.base.BaseException; +import com.opl.framework.common.exception.base.BaseException; /** * 用户信息异常类 * - * @author Vean + * @author kingrom */ public class UserException extends BaseException { private static final long serialVersionUID = 1L; diff --git a/ak-common/src/main/java/com/ak/common/json/JSON.java b/opl-common/src/main/java/com/opl/framework/common/json/JSON.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/json/JSON.java rename to opl-common/src/main/java/com/opl/framework/common/json/JSON.java index 7d7b6db6ed97fa58318570af38f08ee25fe39f15..27846b386be98e7a1a9744589a6601f3fda08d48 100644 --- a/ak-common/src/main/java/com/ak/common/json/JSON.java +++ b/opl-common/src/main/java/com/opl/framework/common/json/JSON.java @@ -1,4 +1,9 @@ -package com.ak.common.json; +package com.opl.framework.common.json; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonParseException; @@ -6,15 +11,10 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - /** * JSON解析处理 * - * @author Vean + * @author kingrom */ public class JSON { public static final String DEFAULT_FAIL = "\"Parse failed\""; diff --git a/ak-common/src/main/java/com/ak/common/json/JSONObject.java b/opl-common/src/main/java/com/opl/framework/common/json/JSONObject.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/json/JSONObject.java rename to opl-common/src/main/java/com/opl/framework/common/json/JSONObject.java index 62806262d7b19ce7a84d4abbb65124c73f5412e1..ff639b2e81c35cf315b9ac7f82f40afbcaf23f81 100644 --- a/ak-common/src/main/java/com/ak/common/json/JSONObject.java +++ b/opl-common/src/main/java/com/opl/framework/common/json/JSONObject.java @@ -1,16 +1,22 @@ -package com.ak.common.json; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.ak.common.utils.StringUtils; - -import java.util.*; +package com.opl.framework.common.json; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.collect.Lists; +import com.opl.framework.common.utils.StringUtils; + /** * 通用消息对象,基于Map实现的可嵌套数据结构。 支持JSON数据结构。 * - * @author Vean + * @author kingrom */ public class JSONObject extends LinkedHashMap { private static final long serialVersionUID = 1L; @@ -556,7 +562,7 @@ public class JSONObject extends LinkedHashMap { * 最后数组回调。 * * @param 回调返回数据类型。 - * @author Vean + * @author kingrom */ private interface EndArrayCallback { /** @@ -590,7 +596,7 @@ public class JSONObject extends LinkedHashMap { private static int[] parseIndexes(final String s) { int[] indexes = null; - List list = new ArrayList(); + List list = Lists.newArrayList(); final StringTokenizer st = new StringTokenizer(s, "[]"); while (st.hasMoreTokens()) { diff --git a/ak-common/src/main/java/com/ak/common/utils/AddressUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/AddressUtils.java similarity index 78% rename from ak-common/src/main/java/com/ak/common/utils/AddressUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/AddressUtils.java index ca9386a88ea703fa28d128715d412d4b0f9d926b..c6a47d38cdc8512111ee6bf06580277b2bec77fb 100644 --- a/ak-common/src/main/java/com/ak/common/utils/AddressUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/AddressUtils.java @@ -1,18 +1,18 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import com.ak.common.config.Global; -import com.ak.common.json.JSON; -import com.ak.common.json.JSONObject; -import com.ak.common.utils.http.HttpUtils; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.json.JSON; +import com.opl.framework.common.json.JSONObject; +import com.opl.framework.common.utils.http.HttpUtils; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; /** * 获取地址类 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public class AddressUtils { public static final String IP_URL = "http://ip.taobao.com/service/getIpInfo.php"; diff --git a/ak-common/src/main/java/com/ak/common/utils/Arith.java b/opl-common/src/main/java/com/opl/framework/common/utils/Arith.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/utils/Arith.java rename to opl-common/src/main/java/com/opl/framework/common/utils/Arith.java index b18d704f6edf25c044b88e05568bdba91a7aabc0..02a401c8b92325f9477648bf64264df4476e4d2e 100644 --- a/ak-common/src/main/java/com/ak/common/utils/Arith.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/Arith.java @@ -1,4 +1,4 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; import java.math.BigDecimal; import java.math.RoundingMode; @@ -6,7 +6,7 @@ import java.math.RoundingMode; /** * 精确的浮点数运算 * - * @author Vean + * @author kingrom */ public class Arith { diff --git a/ak-common/src/main/java/com/ak/common/utils/CodeGenerateUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/CodeGenerateUtils.java similarity index 81% rename from ak-common/src/main/java/com/ak/common/utils/CodeGenerateUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/CodeGenerateUtils.java index 2d5bb56ff30ae273c40f6d7b719d0851cbc03b09..1a35766c365bb55b61b774ceed20c66dcbfa6d57 100644 --- a/ak-common/src/main/java/com/ak/common/utils/CodeGenerateUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/CodeGenerateUtils.java @@ -1,11 +1,11 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import com.ak.common.enums.RandomType; +import com.opl.framework.common.enums.RandomType; /** * 编码规则生成器 * - * @author Vean + * @author kingrom */ public class CodeGenerateUtils { diff --git a/ak-common/src/main/java/com/ak/common/utils/DateUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/DateUtils.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/utils/DateUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/DateUtils.java index 2da25a5d2d093fa43dee6d66e1a1796693cb5372..37fe7cde95b2edcac4f47ffacf6023ddf15a9ebe 100644 --- a/ak-common/src/main/java/com/ak/common/utils/DateUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/DateUtils.java @@ -1,16 +1,16 @@ -package com.ak.common.utils; - -import org.apache.commons.lang3.time.DateFormatUtils; +package com.opl.framework.common.utils; import java.lang.management.ManagementFactory; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import org.apache.commons.lang3.time.DateFormatUtils; + /** * 时间工具类 * - * @author Vean + * @author kingrom */ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { public static String YYYY = "yyyy"; diff --git a/ak-common/src/main/java/com/ak/common/utils/ExceptionUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/ExceptionUtil.java similarity index 93% rename from ak-common/src/main/java/com/ak/common/utils/ExceptionUtil.java rename to opl-common/src/main/java/com/opl/framework/common/utils/ExceptionUtil.java index de36f1527b12be164a9bb23ae2a4c5f799bf664d..f4fb0cceb9570bbae93f6f7a4e107aa3309e12c2 100644 --- a/ak-common/src/main/java/com/ak/common/utils/ExceptionUtil.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/ExceptionUtil.java @@ -1,14 +1,14 @@ -package com.ak.common.utils; - -import org.apache.commons.lang3.exception.ExceptionUtils; +package com.opl.framework.common.utils; import java.io.PrintWriter; import java.io.StringWriter; +import org.apache.commons.lang3.exception.ExceptionUtils; + /** * 错误信息处理类。 * - * @author Vean + * @author kingrom */ public class ExceptionUtil { /** diff --git a/ak-common/src/main/java/com/ak/common/utils/IpUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/IpUtils.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/utils/IpUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/IpUtils.java index 8eb576b99eb5083f35a6b66e934c8f252654625e..78a75115ed44bb4d52a9700e5363c409877627a1 100644 --- a/ak-common/src/main/java/com/ak/common/utils/IpUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/IpUtils.java @@ -1,13 +1,14 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; +import javax.servlet.http.HttpServletRequest; + /** * 获取IP方法 * - * @author Vean + * @author kingrom */ public class IpUtils { public static String getIpAddr(HttpServletRequest request) { diff --git a/opl-common/src/main/java/com/opl/framework/common/utils/JsonUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/JsonUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..cc4a9100f3762e714890a32777ac78aa720486e4 --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/utils/JsonUtils.java @@ -0,0 +1,150 @@ +package com.opl.framework.common.utils; + +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.JSONLibDataFormatSerializer; +import com.alibaba.fastjson.serializer.SerializeConfig; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.serializer.ValueFilter; + +public class JsonUtils { + private static final SerializeConfig config; + + static { + config = new SerializeConfig(); + config.put(java.util.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式 + config.put(java.sql.Date.class, new JSONLibDataFormatSerializer()); // 使用和json-lib兼容的日期输出格式 + } + + private static final SerializerFeature[] features = { SerializerFeature.WriteMapNullValue, // 输出空置字段 + SerializerFeature.WriteNullListAsEmpty, // list字段如果为null,输出为[],而不是null + SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null,输出为0,而不是null + SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null,输出为false,而不是null + SerializerFeature.WriteNullStringAsEmpty // 字符类型字段如果为null,输出为"",而不是null + }; + + /** + * 转换成字符串 + * + * @param object + * @return + */ + public static String toJSONString(Object object) { + return JSON.toJSONString(object, config); + } + + /** + * 转换成字符串 ,带有过滤器 + * + * @param object + * @return + */ + public static String toJSONWithFeatures(Object object) { + return JSON.toJSONString(object, config, features); + } + + /** + * 转成bean对象 + * + * @param text + * @return + */ + public static Object toBean(String text) { + return JSON.parse(text); + } + + /** + * 转成具体的泛型bean对象 + * + * @param text + * @param clazz + * @param + * @return + */ + public static T toBean(String text, Class clazz) { + return JSON.parseObject(text, clazz); + } + + /** + * 转换为具体的泛型数组Array + * + * @param text + * @param clazz + * @param + * @return + */ + public static Object[] toArray(String text, Class clazz) { + return JSON.parseArray(text, clazz).toArray(); + } + + /** + * 转换为具体的泛型List + * + * @param text + * @param clazz + * @param + * @return + */ + public static List toList(String text, Class clazz) { + return JSON.parseArray(text, clazz); + } + + /** + * 将string转化为序列化的json字符串 + * + * @param text + * @return + */ + public static Object textToJson(String text) { + Object objectJson = JSON.parse(text); + return objectJson; + } + + /** + * json字符串转化为map + * + * @param s + * @return + */ + public static Map stringToMap(String s) { + return JSONObject.parseObject(s); + } + + /** + * 将map转化为string + * + * @param m + * @return + */ + public static String mapToString(Map m) { + String s = JSONObject.toJSONString(m); + return s; + } + + /** + * 将bean转化为Map + * + * @param m + * @return + */ + public static Map beanToMap(Object object) { + return (Map) JSON.toJSON(object); + } + + private static ValueFilter filter = new ValueFilter() { + @Override + public Object process(Object obj, String s, Object v) { + if (v == null || "".equals(v)) { + return null; + } + return v; + } + }; + + public static String toString(Object obj) { + return JSON.toJSONString(obj, filter); + } +} diff --git a/ak-common/src/main/java/com/ak/common/utils/MapDataUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/MapDataUtil.java similarity index 88% rename from ak-common/src/main/java/com/ak/common/utils/MapDataUtil.java rename to opl-common/src/main/java/com/opl/framework/common/utils/MapDataUtil.java index 9f67d28e481a41826c4de57cdd567df42f35f581..787b684adf28c35e0425da6a6dacda686434ba4f 100644 --- a/ak-common/src/main/java/com/ak/common/utils/MapDataUtil.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/MapDataUtil.java @@ -1,20 +1,22 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; +import javax.servlet.http.HttpServletRequest; + +import com.google.common.collect.Maps; + /** * Map通用处理方法 * - * @author Vean + * @author kingrom */ public class MapDataUtil { public static Map convertDataMap(HttpServletRequest request) { Map properties = request.getParameterMap(); - Map returnMap = new HashMap(); + Map returnMap = Maps.newHashMap(); Iterator entries = properties.entrySet().iterator(); Entry entry; String name = ""; diff --git a/ak-common/src/main/java/com/ak/common/utils/MessageUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/MessageUtils.java similarity index 83% rename from ak-common/src/main/java/com/ak/common/utils/MessageUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/MessageUtils.java index b2e16ab9dc9a9108585f6db16542f8a1c2bfeb65..31be8e021959d137619c2f88b326e84033bb44ef 100644 --- a/ak-common/src/main/java/com/ak/common/utils/MessageUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/MessageUtils.java @@ -1,13 +1,14 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import com.ak.common.utils.spring.SpringUtils; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; +import com.opl.framework.common.utils.spring.SpringUtils; + /** * 获取i18n资源文件 * - * @author Vean + * @author kingrom */ public class MessageUtils { /** diff --git a/ak-common/src/main/java/com/ak/common/utils/ServletUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/ServletUtils.java similarity index 96% rename from ak-common/src/main/java/com/ak/common/utils/ServletUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/ServletUtils.java index dba31ab07ee43b0c50e13e2b84ed7f3c702fd953..6b7bd45ae5cd1e04518782fc642ecf4621501b5e 100644 --- a/ak-common/src/main/java/com/ak/common/utils/ServletUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/ServletUtils.java @@ -1,19 +1,21 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; -import com.ak.common.core.text.Convert; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; +import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import java.io.IOException; + +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import com.opl.framework.common.core.text.Convert; /** * 客户端工具类 * - * @author Vean + * @author kingrom */ public class ServletUtils { /** diff --git a/ak-common/src/main/java/com/ak/common/utils/StringUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/StringUtils.java similarity index 98% rename from ak-common/src/main/java/com/ak/common/utils/StringUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/StringUtils.java index fa578f59a8c70672ec5152eb1058059a33b88620..c7767ac0bd8d72e23948bd167b61c1805764cace 100644 --- a/ak-common/src/main/java/com/ak/common/utils/StringUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/StringUtils.java @@ -1,17 +1,18 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; import java.util.Collection; import java.util.Map; import java.util.concurrent.ThreadLocalRandom; -import com.ak.common.core.text.StrFormatter; -import com.ak.common.enums.RandomType; import org.springframework.util.Assert; +import com.opl.framework.common.core.text.StrFormatter; +import com.opl.framework.common.enums.RandomType; + /** * 字符串工具类 * - * @author Vean + * @author kingrom */ public class StringUtils extends org.apache.commons.lang3.StringUtils { /** diff --git a/ak-common/src/main/java/com/ak/common/utils/Threads.java b/opl-common/src/main/java/com/opl/framework/common/utils/Threads.java similarity index 88% rename from ak-common/src/main/java/com/ak/common/utils/Threads.java rename to opl-common/src/main/java/com/opl/framework/common/utils/Threads.java index 428c85e0c0c0cb85fbf6e1ce54bc6461ffa7dae6..70c44af5e61531d4f428057af5c27b9a07bf06fb 100644 --- a/ak-common/src/main/java/com/ak/common/utils/Threads.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/Threads.java @@ -1,14 +1,18 @@ -package com.ak.common.utils; +package com.opl.framework.common.utils; + +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.concurrent.*; - /** * 线程相关工具类. * - * @author Vean + * @author kingrom */ public class Threads { private static final Logger logger = LoggerFactory.getLogger(Threads.class); diff --git a/opl-common/src/main/java/com/opl/framework/common/utils/UUIDUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/UUIDUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..0839ee688a7d7b200ddb31984947dab72564b386 --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/utils/UUIDUtils.java @@ -0,0 +1,14 @@ +package com.opl.framework.common.utils; + +import java.util.UUID; + +public class UUIDUtils { + + /** + * 产生全球唯一的字符串 + * @return + */ + public static String getUUid() { + return UUID.randomUUID().toString().replace("-", "").toUpperCase(); + } +} diff --git a/ak-common/src/main/java/com/ak/common/utils/YamlUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/YamlUtil.java similarity index 97% rename from ak-common/src/main/java/com/ak/common/utils/YamlUtil.java rename to opl-common/src/main/java/com/opl/framework/common/utils/YamlUtil.java index dab5a4d9bbc5863aa9fd646c80c7f7fc1acd8e64..7a9305d32e4d85dbdc78d27a69885a62c89a5066 100644 --- a/ak-common/src/main/java/com/ak/common/utils/YamlUtil.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/YamlUtil.java @@ -1,7 +1,4 @@ -package com.ak.common.utils; - -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; +package com.opl.framework.common.utils; import java.io.FileNotFoundException; import java.io.FileWriter; @@ -10,10 +7,13 @@ import java.io.InputStream; import java.util.LinkedHashMap; import java.util.Map; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; + /** * 配置处理工具类 * - * @author Vean + * @author kingrom */ public class YamlUtil { public static Map loadYaml(String fileName) throws FileNotFoundException { diff --git a/ak-common/src/main/java/com/ak/common/utils/bean/BeanUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/bean/BeanUtils.java similarity index 92% rename from ak-common/src/main/java/com/ak/common/utils/bean/BeanUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/bean/BeanUtils.java index a27f884e9ae81c03a63ebacbbd86079d66b9d0a0..26f3959a4275b54d5ee3dc31a4727174ddff5da5 100644 --- a/ak-common/src/main/java/com/ak/common/utils/bean/BeanUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/bean/BeanUtils.java @@ -1,15 +1,16 @@ -package com.ak.common.utils.bean; +package com.opl.framework.common.utils.bean; import java.lang.reflect.Method; -import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.google.common.collect.Lists; + /** * Bean 工具类 * - * @author Vean + * @author kingrom */ public class BeanUtils extends org.springframework.beans.BeanUtils { /** @@ -49,7 +50,7 @@ public class BeanUtils extends org.springframework.beans.BeanUtils { */ public static List getSetterMethods(Object obj) { // setter方法列表 - List setterMethods = new ArrayList(); + List setterMethods = Lists.newArrayList(); // 获取所有方法 Method[] methods = obj.getClass().getMethods(); @@ -75,7 +76,7 @@ public class BeanUtils extends org.springframework.beans.BeanUtils { public static List getGetterMethods(Object obj) { // getter方法列表 - List getterMethods = new ArrayList(); + List getterMethods = Lists.newArrayList(); // 获取所有方法 Method[] methods = obj.getClass().getMethods(); // 查找getter方法 diff --git a/ak-common/src/main/java/com/ak/common/utils/file/FileUploadUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/file/FileUploadUtils.java similarity index 93% rename from ak-common/src/main/java/com/ak/common/utils/file/FileUploadUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/file/FileUploadUtils.java index 1c9bf00ac8a435c7315b2578571e60e69593184a..c1150adf5fd483e639c3590f01bbdea0f333dc60 100644 --- a/ak-common/src/main/java/com/ak/common/utils/file/FileUploadUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/file/FileUploadUtils.java @@ -1,22 +1,23 @@ -package com.ak.common.utils.file; - -import com.ak.common.config.Global; -import com.ak.common.constant.Constants; -import com.ak.common.exception.file.FileException; -import com.ak.common.exception.file.InvalidExtensionException; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.security.Md5Utils; -import org.apache.commons.io.FilenameUtils; -import org.springframework.web.multipart.MultipartFile; +package com.opl.framework.common.utils.file; import java.io.File; import java.io.IOException; +import org.apache.commons.io.FilenameUtils; +import org.springframework.web.multipart.MultipartFile; + +import com.opl.framework.common.config.Global; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.exception.file.FileException; +import com.opl.framework.common.exception.file.InvalidExtensionException; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.security.Md5Utils; + /** * 文件上传工具类 * - * @author Vean + * @author kingrom */ public class FileUploadUtils { /** diff --git a/ak-common/src/main/java/com/ak/common/utils/file/FileUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/file/FileUtils.java similarity index 92% rename from ak-common/src/main/java/com/ak/common/utils/file/FileUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/file/FileUtils.java index 3719434904ce88976555d277377000e5beb90e4a..687bb994fe02032e3561b88657d559c40250998d 100644 --- a/ak-common/src/main/java/com/ak/common/utils/file/FileUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/file/FileUtils.java @@ -1,13 +1,19 @@ -package com.ak.common.utils.file; +package com.opl.framework.common.utils.file; -import javax.servlet.http.HttpServletRequest; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import javax.servlet.http.HttpServletRequest; + /** * 文件处理工具类 * - * @author Vean + * @author kingrom */ public class FileUtils { public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; diff --git a/ak-common/src/main/java/com/ak/common/utils/file/MimeTypeUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/file/MimeTypeUtils.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/utils/file/MimeTypeUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/file/MimeTypeUtils.java index 262cabd724f69aa0f5f2832f74ed5dea29e50221..27eba4235d700f7ec0406c2f76c27304a141f54f 100644 --- a/ak-common/src/main/java/com/ak/common/utils/file/MimeTypeUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/file/MimeTypeUtils.java @@ -1,9 +1,9 @@ -package com.ak.common.utils.file; +package com.opl.framework.common.utils.file; /** * 媒体类型工具类 * - * @author Vean + * @author kingrom */ public class MimeTypeUtils { public static final String IMAGE_PNG = "image/png"; diff --git a/opl-common/src/main/java/com/opl/framework/common/utils/http/HttpUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/http/HttpUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..d931dd28995454f4e3364a77c85c20529d6be681 --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/utils/http/HttpUtils.java @@ -0,0 +1,232 @@ +package com.opl.framework.common.utils.http; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.ConnectException; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.net.URLConnection; +import java.security.cert.X509Certificate; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSession; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 通用http发送方法 + * + * @author kingrom + */ +public class HttpUtils { + private static final Logger log = LoggerFactory.getLogger(HttpUtils.class); + + /** + * 向指定 URL 发送GET方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param) { + StringBuilder result = new StringBuilder(); + BufferedReader in = null; + try { + String urlNameString = url + "?" + param; + log.info("sendGet - {}", urlNameString); + URL realUrl = new URL(urlNameString); + URLConnection connection = realUrl.openConnection(); + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + connection.connect(); + in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result.append(line); + } + log.info("recv - {}", result); + } catch (ConnectException e) { + log.error("调用HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e); + } catch (SocketTimeoutException e) { + log.error("调用HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e); + } catch (IOException e) { + log.error("调用HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e); + } catch (Exception e) { + log.error("调用HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e); + } finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception ex) { + log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); + } + } + return result.toString(); + } + + public static String doPostJson(String url, Object json) { + // 创建Httpclient对象 + CloseableHttpClient httpClient = HttpClients.createDefault(); + CloseableHttpResponse response = null; + String resultString = ""; + try { + // 创建Http Post请求 + HttpPost httpPost = new HttpPost(url); + // 创建请求内容 + StringEntity stringEntity = new StringEntity(json.toString(), "UTF-8"); + stringEntity.setContentEncoding("UTF-8"); + stringEntity.setContentType("application/json"); + httpPost.setEntity(stringEntity); + // 执行http请求 + response = httpClient.execute(httpPost); + resultString = EntityUtils.toString(response.getEntity(), "utf-8"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (response != null) { + response.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return resultString; + } + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url 发送请求的 URL + * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + StringBuilder result = new StringBuilder(); + try { + String urlNameString = url + "?" + param; + log.info("sendPost - {}", urlNameString); + URL realUrl = new URL(urlNameString); + URLConnection conn = realUrl.openConnection(); + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("contentType", "utf-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + out = new PrintWriter(conn.getOutputStream()); + out.print(param); + out.flush(); + in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); + String line; + while ((line = in.readLine()) != null) { + result.append(line); + } + log.info("recv - {}", result); + } catch (ConnectException e) { + log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e); + } catch (SocketTimeoutException e) { + log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e); + } catch (IOException e) { + log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e); + } catch (Exception e) { + log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e); + } finally { + try { + if (out != null) { + out.close(); + } + if (in != null) { + in.close(); + } + } catch (IOException ex) { + log.error("调用in.close Exception, url=" + url + ",param=" + param, ex); + } + } + return result.toString(); + } + + public static String sendSSLPost(String url, String param) { + StringBuilder result = new StringBuilder(); + String urlNameString = url + "?" + param; + try { + log.info("sendSSLPost - {}", urlNameString); + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); + URL console = new URL(urlNameString); + HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + conn.setRequestProperty("Accept-Charset", "utf-8"); + conn.setRequestProperty("contentType", "utf-8"); + conn.setDoOutput(true); + conn.setDoInput(true); + + conn.setSSLSocketFactory(sc.getSocketFactory()); + conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); + conn.connect(); + InputStream is = conn.getInputStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + String ret = ""; + while ((ret = br.readLine()) != null) { + if (ret != null && !"".equals(ret.trim())) { + result.append(new String(ret.getBytes("ISO-8859-1"), "utf-8")); + } + } + log.info("recv - {}", result); + conn.disconnect(); + br.close(); + } catch (ConnectException e) { + log.error("调用HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e); + } catch (SocketTimeoutException e) { + log.error("调用HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e); + } catch (IOException e) { + log.error("调用HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e); + } catch (Exception e) { + log.error("调用HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e); + } + return result.toString(); + } + + private static class TrustAnyTrustManager implements X509TrustManager { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) { + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) { + } + + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[] {}; + } + } + + private static class TrustAnyHostnameVerifier implements HostnameVerifier { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + } +} \ No newline at end of file diff --git a/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvFilePrinter.java b/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvFilePrinter.java new file mode 100644 index 0000000000000000000000000000000000000000..4217b349fbe2aebd2c723f28ed9f771c9c1ef7a1 --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvFilePrinter.java @@ -0,0 +1,300 @@ +package com.opl.framework.common.utils.poi; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.supercsv.io.CsvListWriter; +import org.supercsv.io.ICsvListWriter; +import org.supercsv.prefs.CsvPreference; + +import com.google.common.collect.Lists; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excels; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.UUIDUtils; + +import lombok.Data; + +public class CsvFilePrinter { + + private ICsvListWriter listWriter = null; + /** + * 实体对象 + */ + public Class clazz; + + private String sheetName; + /** + * 注解列表 + */ + private List fields; + + private File tempFile; + + /** + * 得到所有定义字段 + */ + private void createExcelField() { + this.fields = Lists.newArrayList(); + List tempFields = Lists.newArrayList(); + tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); + tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); + for (Field field : tempFields) { + // 单注解 + if (field.isAnnotationPresent(Excel.class)) { + putToField(field, field.getAnnotation(Excel.class)); + } + + // 多注解 + if (field.isAnnotationPresent(Excels.class)) { + Excels attrs = field.getAnnotation(Excels.class); + Excel[] excels = attrs.value(); + for (Excel excel : excels) { + putToField(field, excel); + } + } + } + } + + /** + * 放到字段集合中 + */ + private void putToField(Field field, Excel attr) { + if (attr != null) { + this.fields.add(new Object[]{field, attr}); + } + } + + /** + * + * @param fileName 文件路径 + * @param append 是否支持追加 + * @throws IOException + */ + public CsvFilePrinter(Class cls,String fileName, boolean append) throws IOException { + this.clazz = cls; + OutputStreamWriter fwriter =null; + String filename = encodingFilename(fileName); + this.sheetName = filename; + File filePath = getAbsoluteFile(filename); + this.tempFile = filePath; + if (!tempFile.exists() || tempFile.length()==0) { + fwriter = new OutputStreamWriter(new FileOutputStream(tempFile), "GB2312"); + listWriter = new CsvListWriter(fwriter,CsvPreference.EXCEL_PREFERENCE); + init(); + } else { + fwriter = new OutputStreamWriter(new FileOutputStream(tempFile), "GB2312"); + listWriter = new CsvListWriter(fwriter,CsvPreference.EXCEL_PREFERENCE); + if (!append) { + init(); + } + } + + } + + /** + * 编码文件名 + */ + public String encodingFilename(String filename) { + filename = UUIDUtils.getUUid() + "_" + filename + ".csv"; + return filename; + } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ + public File getAbsoluteFile(String filename) { + String downloadPath = Global.getDownloadPath() + filename; + File desc = new File(downloadPath); + if (!desc.getParentFile().exists()) { + desc.getParentFile().mkdirs(); + } + return desc; + } + + public void init() throws IOException { + createExcelField(); + String[] fieldStr = new String[fields.size()]; +// String[] fieldStr =(String[]) fields.toArray(new String[0]); + for(int i =0 ;i list) throws IOException { + for(T t :list) { + String[] lineStr =new String[fields.size()]; + for(int i =0 ;i -1) { + String[] targets = target.split("[.]"); + for (String name : targets) { + o = getValue(o, name); + } + } else { + o = getValue(o, target); + } + } + return o; + } + + /** + * 以类的属性的get方法方法形式获取值 + * + * @param o + * @param name + * @return value + * @throws Exception + */ + private Object getValue(Object o, String name) throws Exception { + if (StringUtils.isNotEmpty(name)) { + Class clazz = o.getClass(); + String methodName = "get" + name.substring(0, 1).toUpperCase() + name.substring(1); + Method method = clazz.getMethod(methodName); + o = method.invoke(o); + } + return o; + } + + + public AjaxResult stop() throws IOException { + listWriter.close(); + return AjaxResult.success(sheetName); + } + + public static void main(String[] args) throws Exception { + + CsvFilePrinter print = new CsvFilePrinter(Demo.class,"", true); + + List list= new ArrayList(); + Demo demo = new Demo(); + demo.setAmount(new BigDecimal(100)); + demo.setBorrowNid("11111111"); + demo.setChannelId(1); + demo.setDayRate(new BigDecimal(111)); + demo.setDays(2); + demo.setFinanceChannelId(3); + demo.setIdCardNo("22222222222"); + list.add(demo); + for (int i = 0; i < 10; i++) { + print.write(list); + } + for (int i = 0; i < 10; i++) { + print.write(list); + } + print.stop(); + } + +} + +@Data +class Demo{ + @Excel(name = "资产渠道") + private Integer channelId; + //资金渠道ID + @Excel(name = "资金渠道") + private Integer financeChannelId; + //渠道订单号 + @Excel(name = "渠道订单号") + private String borrowNid; + //姓名 + @Excel(name = "姓名") + private String realName; + //身份证 + @Excel(name = "身份证") + private String idCardNo; + //手机号 + @Excel(name = "手机号") + private String phone;// + //借款银行卡号 + @Excel(name = "借款银行卡号") + private String loanBankCard; + //银行卡绑定手机号 + @Excel(name = "银行卡绑定手机号") + private String loanBankPhone; + //借款银行行号 + @Excel(name = "借款银行行号") + private String loanBankCode; + //银行名称 + @Excel(name = "借款银行名称") + private String loanBankName; + + @Excel(name = "还款银行卡号") + private String repayBankCard; + + @Excel(name = "银行卡绑定手机号") + private String repayBankPhone; + + @Excel(name = "还款银行行号") + private String repayBankCode; + + @Excel(name = "还款银行名称") + private String repayBankName; + //计息规则 + @Excel(name = "计息规则") + private String interestMethod; + //借款期数 + @Excel(name = "借款期数") + private Integer period; + //借款天数 + @Excel(name = "借款天数") + private Integer days; + //月化利率 + @Excel(name = "月化利率") + private BigDecimal monthRate; + //日利率 + @Excel(name = "日利率") + private BigDecimal dayRate; + //借款金额 + @Excel(name = "借款金额") + private BigDecimal amount; + //贷款用途 + @Excel(name = "贷款用途") + private String purpose; +} \ No newline at end of file diff --git a/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..e8683f2d4c89dbbd00a3ceb2aca53a3655928094 --- /dev/null +++ b/opl-common/src/main/java/com/opl/framework/common/utils/poi/CsvUtil.java @@ -0,0 +1,796 @@ +package com.opl.framework.common.utils.poi; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.DataValidation; +import org.apache.poi.ss.usermodel.DataValidationConstraint; +import org.apache.poi.ss.usermodel.DataValidationHelper; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFDataValidation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.ColumnType; +import com.opl.framework.common.annotation.Excel.Type; +import com.opl.framework.common.annotation.Excels; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.reflect.ReflectUtils; + +/** + * Excel相关处理 + * + * @author kingrom + */ +public class CsvUtil { + private static final Logger log = LoggerFactory.getLogger(CsvUtil.class); + + /** + * 工作表名称 + */ + private String sheetName; + + /** + * 导出类型(EXPORT:导出数据;IMPORT:导入模板) + */ + private Type type; + + /** + * 工作薄对象 + */ + private Workbook wb; + + /** + * 工作表对象 + */ + private Sheet sheet; + + /** + * 样式列表 + */ + private Map styles; + + /** + * 导入导出数据列表 + */ + private List list; + + /** + * 注解列表 + */ + private List fields; + + /** + * 实体对象 + */ + public Class clazz; + + public CsvUtil(Class clazz) { + this.clazz = clazz; + } + +// public void init(List list, String sheetName, Type type) { +// if (list == null) { +// list = Lists.newArrayList(); +// } +// this.list = list; +// this.sheetName = sheetName; +// this.type = type; +// createExcelField(); +// createWorkbook(); +// } + + public void init(List list, String sheetName,Type type) { + if (list == null) { + list = Lists.newArrayList(); + } + this.list = list; + this.sheetName = sheetName; + this.type = type; + createExcelField(); + createWorkbook(); + } + + /** + * 对excel表单默认第一个索引名转换成list + * + * @param input 输入流 + * @return 转换后集合 + */ + public List importExcel(InputStream is) throws Exception { + return importExcel(StringUtils.EMPTY, is); + } + + /** + * 对excel表单指定表格索引名转换成list + * + * @param sheetName 表格索引名 + * @param input 输入流 + * @return 转换后集合 + */ + public List importExcel(String sheetName, InputStream is) throws Exception { + this.type = Type.IMPORT; + this.wb = WorkbookFactory.create(is); + List list = Lists.newArrayList(); + Sheet sheet = null; + if (StringUtils.isNotEmpty(sheetName)) { + // 如果指定sheet名,则取指定sheet中的内容. + sheet = wb.getSheet(sheetName); + } else { + // 如果传入的sheet名不存在则默认指向第1个sheet. + sheet = wb.getSheetAt(0); + } + + if (sheet == null) { + throw new IOException("文件sheet不存在"); + } + + int rows = sheet.getPhysicalNumberOfRows(); + + if (rows > 0) { + // 定义一个map用于存放excel列的序号和field. + Map cellMap = Maps.newHashMap(); + // 获取表头 + Row heard = sheet.getRow(0); + for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) { + Cell cell = heard.getCell(i); + if (StringUtils.isNotNull(cell != null)) { + String value = this.getCellValue(heard, i).toString(); + cellMap.put(value, i); + } else { + cellMap.put(null, i); + } + } + // 有数据时才处理 得到类的所有field. + Field[] allFields = clazz.getDeclaredFields(); + // 定义一个map用于存放列的序号和field. + Map fieldsMap = Maps.newHashMap(); + for (int col = 0; col < allFields.length; col++) { + Field field = allFields[col]; + Excel attr = field.getAnnotation(Excel.class); + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) { + // 设置类的私有字段属性可访问. + field.setAccessible(true); + Integer column = cellMap.get(attr.name()); + fieldsMap.put(column, field); + } + } + for (int i = 1; i < rows; i++) { + // 从第2行开始取数据,默认第一行是表头. + Row row = sheet.getRow(i); + T entity = null; + for (Map.Entry entry : fieldsMap.entrySet()) { + Object val = this.getCellValue(row, entry.getKey()); + + // 如果不存在实例则新建. + entity = (entity == null ? clazz.newInstance() : entity); + // 从map中得到对应列的field. + Field field = fieldsMap.get(entry.getKey()); + // 取得类型,并根据对象类型设置值. + Class fieldType = field.getType(); + if (String.class == fieldType) { + String s = Convert.toStr(val); + if (StringUtils.endsWith(s, ".0")) { + val = StringUtils.substringBefore(s, ".0"); + } else { + val = Convert.toStr(val); + } + } else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) { + val = Convert.toInt(val); + } else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) { + val = Convert.toLong(val); + } else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) { + val = Convert.toDouble(val); + } else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) { + val = Convert.toFloat(val); + } else if (BigDecimal.class == fieldType) { + val = Convert.toBigDecimal(val); + } else if (Date.class == fieldType) { + if (val instanceof String) { + val = DateUtils.parseDate(val); + } else if (val instanceof Double) { + val = DateUtil.getJavaDate((Double) val); + } + } + if (StringUtils.isNotNull(fieldType)) { + Excel attr = field.getAnnotation(Excel.class); + String propertyName = field.getName(); + if (StringUtils.isNotEmpty(attr.targetAttr())) { + propertyName = field.getName() + "." + attr.targetAttr(); + } else if (StringUtils.isNotEmpty(attr.readConverterExp())) { + val = reverseByExp(String.valueOf(val), attr.readConverterExp()); + } + ReflectUtils.invokeSetter(entity, propertyName, val); + } + } + list.add(entity); + } + } + return list; + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public File exportExcel(List list, String sheetName) { + this.init(list,sheetName, Type.EXPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ +// public AjaxResult importTemplateExcel(String sheetName) { +// this.init(null, sheetName, Type.IMPORT); +// return exportExcel(); +// } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public File exportExcel() { + OutputStream out = null; + try { + // 取出一共有多少个sheet. + createSheet(0, 0); + + // 产生一行 + Row row = sheet.createRow(0); + int column = 0; + // 写入各个字段的列头名称 + for (Object[] os : fields) { + Excel excel = (Excel) os[1]; + this.createCell(excel, row, column++); + } + if (Type.EXPORT.equals(type)) { + fillExcelData(0, row); + } + String filename = encodingFilename(sheetName); + File file = getAbsoluteFile(filename); + out = new FileOutputStream(file); + wb.write(out); + return file; + } catch (Exception e) { + log.error("导出Excel异常{}", e.getMessage()); + throw new BusinessException("导出Excel失败,请联系网站管理员!"); + } finally { + if (wb != null) { + try { + wb.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + if (out != null) { + try { + out.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + } + } + + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ +// public AjaxResult exportExcel() { +// OutputStream out = null; +// try { +// // 取出一共有多少个sheet. +// createSheet(0, 0); +// +// // 产生一行 +// Row row = sheet.createRow(0); +// int column = 0; +// // 写入各个字段的列头名称 +// for (Object[] os : fields) { +// Excel excel = (Excel) os[1]; +// this.createCell(excel, row, column++); +// } +// if (Type.EXPORT.equals(type)) { +// fillExcelData(0, row); +// } +// String filename = encodingFilename(sheetName); +// out = new FileOutputStream(getAbsoluteFile(filename)); +// wb.write(out); +// return AjaxResult.success(filename); +// } catch (Exception e) { +// log.error("导出Excel异常{}", e.getMessage()); +// throw new BusinessException("导出Excel失败,请联系网站管理员!"); +// } finally { +// if (wb != null) { +// try { +// wb.close(); +// } catch (IOException e1) { +// e1.printStackTrace(); +// } +// } +// if (out != null) { +// try { +// out.close(); +// } catch (IOException e1) { +// e1.printStackTrace(); +// } +// } +// } +// } + + /** + * 填充excel数据 + * + * @param index 序号 + * @param row 单元格行 + * @param cell 类型单元格 + */ + public void fillExcelData(int index, Row row) { +// int startNo = current; +// int endNo = total; +// for (int i = startNo; i < endNo; i++) { +// row = sheet.createRow(i + 1 - startNo); +// // 得到导出对象. +// T vo = (T) list.get(i); +// int column = 0; +// for (Object[] os : fields) { +// Field field = (Field) os[0]; +// Excel excel = (Excel) os[1]; +// // 设置实体类私有属性可访问 +// field.setAccessible(true); +// this.addCell(excel, row, vo, field, column++); +// } +// } + } + + /** + * 创建表格样式 + * + * @param wb 工作薄对象 + * @return 样式列表 + */ + private Map createStyles(Workbook wb) { + // 写入各条记录,每条记录对应excel表中的一行 + Map styles = Maps.newHashMap(); + CellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + style.setFont(dataFont); + styles.put("data", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + Font headerFont = wb.createFont(); + headerFont.setFontName("Arial"); + headerFont.setFontHeightInPoints((short) 10); + headerFont.setBold(true); + headerFont.setColor(IndexedColors.WHITE.getIndex()); + style.setFont(headerFont); + styles.put("header", style); + + return styles; + } + + /** + * 创建单元格 + */ + public Cell createCell(Excel attr, Row row, int column) { + // 创建列 + Cell cell = row.createCell(column); + // 写入列信息 + cell.setCellValue(attr.name()); + setDataValidation(attr, row, column); + cell.setCellStyle(styles.get("header")); + return cell; + } + + /** + * 设置单元格信息 + * + * @param value 单元格值 + * @param attr 注解相关 + * @param cell 单元格信息 + */ + public void setCellVo(Object value, Excel attr, Cell cell) { + if (ColumnType.STRING == attr.cellType()) { + cell.setCellType(CellType.NUMERIC); + cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix()); + } else if (ColumnType.NUMERIC == attr.cellType()) { + cell.setCellType(CellType.NUMERIC); + cell.setCellValue(Integer.parseInt(value + "")); + } + } + + /** + * 创建表格样式 + */ + public void setDataValidation(Excel attr, Row row, int column) { + if (attr.name().indexOf("注:") >= 0) { + sheet.setColumnWidth(column, 6000); + } else { + // 设置列宽 + sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); + row.setHeight((short) (attr.height() * 20)); + } + // 如果设置了提示信息则鼠标放上去提示. + if (StringUtils.isNotEmpty(attr.prompt())) { + // 这里默认设了2-101列提示. + setXSSFPrompt(sheet, "", attr.prompt(), 1, 100, column, column); + } + // 如果设置了combo属性则本列只能选择不能输入 + if (attr.combo().length > 0) { + // 这里默认设了2-101列只能选择不能输入. + setXSSFValidation(sheet, attr.combo(), 1, 100, column, column); + } + } + + /** + * 添加单元格 + */ + public Cell addCell(Excel attr, Row row, T vo, Field field, int column) { + Cell cell = null; + try { + // 设置行高 + row.setHeight((short) (attr.height() * 20)); + // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. + if (attr.isExport()) { + // 创建cell + cell = row.createCell(column); + cell.setCellStyle(styles.get("data")); + + // 用于读取对象中的属性 + Object value = getTargetValue(vo, field, attr); + String dateFormat = attr.dateFormat(); + String readConverterExp = attr.readConverterExp(); + if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) { + cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) value)); + } else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) { + cell.setCellValue(convertByExp(String.valueOf(value), readConverterExp)); + } else { + // 设置列类型 + setCellVo(value, attr, cell); + } + } + } catch (Exception e) { + log.error("导出Excel失败{}", e); + } + return cell; + } + + /** + * 设置 POI XSSFSheet 单元格提示 + * + * @param sheet 表单 + * @param promptTitle 提示标题 + * @param promptContent 提示内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + */ + public void setXSSFPrompt(Sheet sheet, String promptTitle, String promptContent, int firstRow, int endRow, + int firstCol, int endCol) { + DataValidationHelper helper = sheet.getDataValidationHelper(); + DataValidationConstraint constraint = helper.createCustomConstraint("DD1"); + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + DataValidation dataValidation = helper.createValidation(constraint, regions); + dataValidation.createPromptBox(promptTitle, promptContent); + dataValidation.setShowPromptBox(true); + sheet.addValidationData(dataValidation); + } + + /** + * 设置某些列的值只能输入预制的数据,显示下拉框. + * + * @param sheet 要设置的sheet. + * @param textlist 下拉框显示的内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + * @return 设置好的sheet. + */ + public void setXSSFValidation(Sheet sheet, String[] textlist, int firstRow, int endRow, int firstCol, int endCol) { + DataValidationHelper helper = sheet.getDataValidationHelper(); + // 加载下拉列表内容 + DataValidationConstraint constraint = helper.createExplicitListConstraint(textlist); + // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列 + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + // 数据有效性对象 + DataValidation dataValidation = helper.createValidation(constraint, regions); + // 处理Excel兼容性问题 + if (dataValidation instanceof XSSFDataValidation) { + dataValidation.setSuppressDropDownArrow(true); + dataValidation.setShowErrorBox(true); + } else { + dataValidation.setSuppressDropDownArrow(false); + } + + sheet.addValidationData(dataValidation); + } + + /** + * 解析导出值 0=男,1=女,2=未知 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @return 解析后值 + * @throws Exception + */ + public static String convertByExp(String propertyValue, String converterExp) throws Exception { + try { + String[] convertSource = converterExp.split(","); + for (String item : convertSource) { + String[] itemArray = item.split("="); + if (itemArray[0].equals(propertyValue)) { + return itemArray[1]; + } + } + } catch (Exception e) { + throw e; + } + return propertyValue; + } + + /** + * 反向解析值 男=0,女=1,未知=2 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @return 解析后值 + * @throws Exception + */ + public static String reverseByExp(String propertyValue, String converterExp) throws Exception { + try { + String[] convertSource = converterExp.split(","); + for (String item : convertSource) { + String[] itemArray = item.split("="); + if (itemArray[1].equals(propertyValue)) { + return itemArray[0]; + } + } + } catch (Exception e) { + throw e; + } + return propertyValue; + } + + /** + * 编码文件名 + */ + public String encodingFilename(String filename) { + filename = UUID.randomUUID().toString() + "_" + filename + ".csv"; + return filename; + } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ +// public String getAbsoluteFile(String filename) { +// String downloadPath = Global.getDownloadPath() + filename; +// File desc = new File(downloadPath); +// if (!desc.getParentFile().exists()) { +// desc.getParentFile().mkdirs(); +// } +// return downloadPath; +// } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ + public File getAbsoluteFile(String filename) { + String downloadPath = Global.getDownloadPath() + filename; + File desc = new File(downloadPath); + if (!desc.getParentFile().exists()) { + desc.getParentFile().mkdirs(); + } + return desc; + } + + /** + * 获取bean中的属性值 + * + * @param vo 实体对象 + * @param field 字段 + * @param excel 注解 + * @return 最终的属性值 + * @throws Exception + */ + private Object getTargetValue(T vo, Field field, Excel excel) throws Exception { + Object o = field.get(vo); + if (StringUtils.isNotEmpty(excel.targetAttr())) { + String target = excel.targetAttr(); + if (target.indexOf(".") > -1) { + String[] targets = target.split("[.]"); + for (String name : targets) { + o = getValue(o, name); + } + } else { + o = getValue(o, target); + } + } + return o; + } + + /** + * 以类的属性的get方法方法形式获取值 + * + * @param o + * @param name + * @return value + * @throws Exception + */ + private Object getValue(Object o, String name) throws Exception { + if (StringUtils.isNotEmpty(name)) { + Class clazz = o.getClass(); + String methodName = "get" + name.substring(0, 1).toUpperCase() + name.substring(1); + Method method = clazz.getMethod(methodName); + o = method.invoke(o); + } + return o; + } + + /** + * 得到所有定义字段 + */ + private void createExcelField() { + this.fields = Lists.newArrayList(); + List tempFields = Lists.newArrayList(); + tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); + tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); + for (Field field : tempFields) { + // 单注解 + if (field.isAnnotationPresent(Excel.class)) { + putToField(field, field.getAnnotation(Excel.class)); + } + + // 多注解 + if (field.isAnnotationPresent(Excels.class)) { + Excels attrs = field.getAnnotation(Excels.class); + Excel[] excels = attrs.value(); + for (Excel excel : excels) { + putToField(field, excel); + } + } + } + } + + /** + * 放到字段集合中 + */ + private void putToField(Field field, Excel attr) { + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) { + this.fields.add(new Object[]{field, attr}); + } + } + + /** + * 创建一个工作簿 + */ + public void createWorkbook() { + this.wb = new SXSSFWorkbook(500); + } + + /** + * 创建工作表 + * + * @param sheetName,指定Sheet名称 + * @param sheetNo sheet数量 + * @param index 序号 + */ + public void createSheet(double sheetNo, int index) { + this.sheet = wb.createSheet(); + this.styles = createStyles(wb); + // 设置工作表的名称. + if (sheetNo == 0) { + wb.setSheetName(index, sheetName); + } else { + wb.setSheetName(index, sheetName + index); + } + } + + /** + * 获取单元格值 + * + * @param row 获取的行 + * @param column 获取单元格列号 + * @return 单元格值 + */ + public Object getCellValue(Row row, int column) { + if (row == null) { + return row; + } + Object val = ""; + try { + Cell cell = row.getCell(column); + if (cell != null) { + if (cell.getCellTypeEnum() == CellType.NUMERIC || cell.getCellTypeEnum() == CellType.FORMULA) { + val = cell.getNumericCellValue(); + if (HSSFDateUtil.isCellDateFormatted(cell)) { + val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 + } else { + if ((Double) val % 1 > 0) { + val = new DecimalFormat("0.00").format(val); + } else { + val = new DecimalFormat("0").format(val); + } + } + } else if (cell.getCellTypeEnum() == CellType.STRING) { + val = cell.getStringCellValue(); + } else if (cell.getCellTypeEnum() == CellType.BOOLEAN) { + val = cell.getBooleanCellValue(); + } else if (cell.getCellTypeEnum() == CellType.ERROR) { + val = cell.getErrorCellValue(); + } + + } + } catch (Exception e) { + return val; + } + return val; + } +} \ No newline at end of file diff --git a/ak-common/src/main/java/com/ak/common/utils/poi/ExcelUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/poi/ExcelUtil.java similarity index 91% rename from ak-common/src/main/java/com/ak/common/utils/poi/ExcelUtil.java rename to opl-common/src/main/java/com/opl/framework/common/utils/poi/ExcelUtil.java index dfedc9d8f1fd55a4f840ebbd6396a32fafaf38e8..e7c72c3f5e22b03cca7a61e65670e4bbe61e5ec4 100644 --- a/ak-common/src/main/java/com/ak/common/utils/poi/ExcelUtil.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/poi/ExcelUtil.java @@ -1,35 +1,62 @@ -package com.ak.common.utils.poi; - -import com.ak.common.annotation.Excel; -import com.ak.common.annotation.Excel.ColumnType; -import com.ak.common.annotation.Excel.Type; -import com.ak.common.annotation.Excels; -import com.ak.common.config.Global; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.reflect.ReflectUtils; +package com.opl.framework.common.utils.poi; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; + import org.apache.poi.hssf.usermodel.HSSFDateUtil; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.BorderStyle; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.DataValidation; +import org.apache.poi.ss.usermodel.DataValidationConstraint; +import org.apache.poi.ss.usermodel.DataValidationHelper; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddressList; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFDataValidation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.*; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.math.BigDecimal; -import java.text.DecimalFormat; -import java.util.*; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.ColumnType; +import com.opl.framework.common.annotation.Excel.Type; +import com.opl.framework.common.annotation.Excels; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.UUIDUtils; +import com.opl.framework.common.utils.reflect.ReflectUtils; /** * Excel相关处理 * - * @author Vean + * @author kingrom */ public class ExcelUtil { private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); @@ -85,7 +112,7 @@ public class ExcelUtil { public void init(List list, String sheetName, Type type) { if (list == null) { - list = new ArrayList(); + list = Lists.newArrayList(); } this.list = list; this.sheetName = sheetName; @@ -114,7 +141,7 @@ public class ExcelUtil { public List importExcel(String sheetName, InputStream is) throws Exception { this.type = Type.IMPORT; this.wb = WorkbookFactory.create(is); - List list = new ArrayList(); + List list = Lists.newArrayList(); Sheet sheet = null; if (StringUtils.isNotEmpty(sheetName)) { // 如果指定sheet名,则取指定sheet中的内容. @@ -132,7 +159,7 @@ public class ExcelUtil { if (rows > 0) { // 定义一个map用于存放excel列的序号和field. - Map cellMap = new HashMap(); + Map cellMap = Maps.newHashMap(); // 获取表头 Row heard = sheet.getRow(0); for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) { @@ -147,7 +174,7 @@ public class ExcelUtil { // 有数据时才处理 得到类的所有field. Field[] allFields = clazz.getDeclaredFields(); // 定义一个map用于存放列的序号和field. - Map fieldsMap = new HashMap(); + Map fieldsMap = Maps.newHashMap(); for (int col = 0; col < allFields.length; col++) { Field field = allFields[col]; Excel attr = field.getAnnotation(Excel.class); @@ -318,7 +345,7 @@ public class ExcelUtil { */ private Map createStyles(Workbook wb) { // 写入各条记录,每条记录对应excel表中的一行 - Map styles = new HashMap(); + Map styles = Maps.newHashMap(); CellStyle style = wb.createCellStyle(); style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); @@ -541,7 +568,7 @@ public class ExcelUtil { * 编码文件名 */ public String encodingFilename(String filename) { - filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx"; + filename = UUIDUtils.getUUid() + "_" + filename + ".xlsx"; return filename; } @@ -606,8 +633,8 @@ public class ExcelUtil { * 得到所有定义字段 */ private void createExcelField() { - this.fields = new ArrayList(); - List tempFields = new ArrayList<>(); + this.fields = Lists.newArrayList(); + List tempFields = Lists.newArrayList(); tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); for (Field field : tempFields) { diff --git a/ak-common/src/main/java/com/ak/common/utils/reflect/ReflectUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/reflect/ReflectUtils.java similarity index 97% rename from ak-common/src/main/java/com/ak/common/utils/reflect/ReflectUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/reflect/ReflectUtils.java index cb1350b3e67899e2aa74f90a6e74c7e28b92e619..bb2c8255df0ea08a997ab9521aac71d60c5a71c2 100644 --- a/ak-common/src/main/java/com/ak/common/utils/reflect/ReflectUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/reflect/ReflectUtils.java @@ -1,20 +1,26 @@ -package com.ak.common.utils.reflect; +package com.opl.framework.common.utils.reflect; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.Date; -import com.ak.common.core.text.Convert; -import com.ak.common.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.apache.poi.ss.usermodel.DateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.lang.reflect.*; -import java.util.Date; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.utils.DateUtils; /** * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数. * - * @author Vean + * @author kingrom */ @SuppressWarnings("rawtypes") public class ReflectUtils { diff --git a/ak-common/src/main/java/com/ak/common/utils/security/Md5Utils.java b/opl-common/src/main/java/com/opl/framework/common/utils/security/Md5Utils.java similarity index 95% rename from ak-common/src/main/java/com/ak/common/utils/security/Md5Utils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/security/Md5Utils.java index 30642926c16e4c6884e46da36f6e34a87d92e7a9..2f544da6f875cceb793f3175208ab86bf3d39934 100644 --- a/ak-common/src/main/java/com/ak/common/utils/security/Md5Utils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/security/Md5Utils.java @@ -1,14 +1,14 @@ -package com.ak.common.utils.security; +package com.opl.framework.common.utils.security; + +import java.security.MessageDigest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.security.MessageDigest; - /** * Md5加密方法 * - * @author Vean + * @author kingrom */ public class Md5Utils { private static final Logger log = LoggerFactory.getLogger(Md5Utils.class); diff --git a/ak-common/src/main/java/com/ak/common/utils/security/PermissionUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/security/PermissionUtils.java similarity index 94% rename from ak-common/src/main/java/com/ak/common/utils/security/PermissionUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/security/PermissionUtils.java index 54a1f9bc280c3a916807aeb02dbbf9c85de2780b..bcd7a94e77d9a2a90796b9232acc73d4460e68e3 100644 --- a/ak-common/src/main/java/com/ak/common/utils/security/PermissionUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/security/PermissionUtils.java @@ -1,21 +1,22 @@ -package com.ak.common.utils.security; +package com.opl.framework.common.utils.security; + +import java.beans.BeanInfo; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; -import com.ak.common.constant.PermissionConstants; -import com.ak.common.utils.MessageUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.beans.BeanInfo; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; +import com.opl.framework.common.constant.PermissionConstants; +import com.opl.framework.common.utils.MessageUtils; /** * permission 工具类 * - * @author Vean + * @author kingrom */ public class PermissionUtils { private static final Logger log = LoggerFactory.getLogger(PermissionUtils.class); diff --git a/ak-common/src/main/java/com/ak/common/utils/spring/SpringUtils.java b/opl-common/src/main/java/com/opl/framework/common/utils/spring/SpringUtils.java similarity index 97% rename from ak-common/src/main/java/com/ak/common/utils/spring/SpringUtils.java rename to opl-common/src/main/java/com/opl/framework/common/utils/spring/SpringUtils.java index 7299f07580ae8c5c6a4cdcfa6d73e37f9ca60c82..31a6878f015fedd6f4547a832b58e4bf605fdfb5 100644 --- a/ak-common/src/main/java/com/ak/common/utils/spring/SpringUtils.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/spring/SpringUtils.java @@ -1,4 +1,4 @@ -package com.ak.common.utils.spring; +package com.opl.framework.common.utils.spring; import org.springframework.aop.framework.AopContext; import org.springframework.beans.BeansException; @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component; /** * spring工具类 方便在非spring管理环境中获取bean * - * @author Vean + * @author kingrom */ @Component public final class SpringUtils implements BeanFactoryPostProcessor { diff --git a/ak-common/src/main/java/com/ak/common/utils/sql/SqlUtil.java b/opl-common/src/main/java/com/opl/framework/common/utils/sql/SqlUtil.java similarity index 85% rename from ak-common/src/main/java/com/ak/common/utils/sql/SqlUtil.java rename to opl-common/src/main/java/com/opl/framework/common/utils/sql/SqlUtil.java index dff5ce8607d26ec18d5d429448fe54df96fb58d0..9a3369d4b2e3a9f6f8646e729cdb911ae216b5e9 100644 --- a/ak-common/src/main/java/com/ak/common/utils/sql/SqlUtil.java +++ b/opl-common/src/main/java/com/opl/framework/common/utils/sql/SqlUtil.java @@ -1,11 +1,11 @@ -package com.ak.common.utils.sql; +package com.opl.framework.common.utils.sql; -import com.ak.common.utils.StringUtils; +import com.opl.framework.common.utils.StringUtils; /** * sql操作工具类 * - * @author Vean + * @author kingrom */ public class SqlUtil { /** diff --git a/ak-common/src/main/java/com/ak/common/xss/XssFilter.java b/opl-common/src/main/java/com/opl/framework/common/xss/XssFilter.java similarity index 83% rename from ak-common/src/main/java/com/ak/common/xss/XssFilter.java rename to opl-common/src/main/java/com/opl/framework/common/xss/XssFilter.java index 516514bf734d4b3a748aa21802a0faac08f4b18a..701c5a402ed0b52aec2e47731047189c1751aa61 100644 --- a/ak-common/src/main/java/com/ak/common/xss/XssFilter.java +++ b/opl-common/src/main/java/com/opl/framework/common/xss/XssFilter.java @@ -1,26 +1,32 @@ -package com.ak.common.xss; +package com.opl.framework.common.xss; -import com.ak.common.utils.StringUtils; - -import javax.servlet.*; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.google.common.collect.Lists; +import com.opl.framework.common.utils.StringUtils; + /** * 防止XSS攻击的过滤器 * - * @author Vean + * @author kingrom */ public class XssFilter implements Filter { /** * 排除链接 */ - public List excludes = new ArrayList<>(); + public List excludes = Lists.newArrayList(); /** * xss过滤开关 diff --git a/ak-common/src/main/java/com/ak/common/xss/XssHttpServletRequestWrapper.java b/opl-common/src/main/java/com/opl/framework/common/xss/XssHttpServletRequestWrapper.java similarity index 94% rename from ak-common/src/main/java/com/ak/common/xss/XssHttpServletRequestWrapper.java rename to opl-common/src/main/java/com/opl/framework/common/xss/XssHttpServletRequestWrapper.java index cbd1120d401c5ce6744f3f8d56d6cb708095de55..e05d43e6574cac9f41f9e194f111b47414b8f9dd 100644 --- a/ak-common/src/main/java/com/ak/common/xss/XssHttpServletRequestWrapper.java +++ b/opl-common/src/main/java/com/opl/framework/common/xss/XssHttpServletRequestWrapper.java @@ -1,15 +1,15 @@ -package com.ak.common.xss; - -import org.jsoup.Jsoup; -import org.jsoup.safety.Whitelist; +package com.opl.framework.common.xss; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; +import org.jsoup.Jsoup; +import org.jsoup.safety.Whitelist; + /** * XSS过滤处理 * - * @author Vean + * @author kingrom */ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper { /** diff --git a/ak-framework/pom.xml b/opl-framework/pom.xml similarity index 89% rename from ak-framework/pom.xml rename to opl-framework/pom.xml index 99f51bc3af2823c13f5ef9194c375226a36defe1..78df03503d389da19a12334eddbeae9d65a11870 100644 --- a/ak-framework/pom.xml +++ b/opl-framework/pom.xml @@ -3,21 +3,21 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - stone - com.ak - 2.0 + com.opl.framework + opl-project + 1.0.0 4.0.0 - ak-framework + opl-framework 框架核心 - com.ak - ak-system-api + com.opl.framework + opl-system-api @@ -56,12 +56,6 @@ shiro-ehcache - - com.github.theborakompanioni diff --git a/ak-framework/src/main/java/com/ak/framework/aspectj/DataScopeAspect.java b/opl-framework/src/main/java/com/opl/framework/core/aspectj/DataScopeAspect.java similarity index 90% rename from ak-framework/src/main/java/com/ak/framework/aspectj/DataScopeAspect.java rename to opl-framework/src/main/java/com/opl/framework/core/aspectj/DataScopeAspect.java index d588038b654d1023e426a6c301a9ca4ad05d415f..c48c4f630881d5a23bda973a08936d62c1cb8255 100644 --- a/ak-framework/src/main/java/com/ak/framework/aspectj/DataScopeAspect.java +++ b/opl-framework/src/main/java/com/opl/framework/core/aspectj/DataScopeAspect.java @@ -1,11 +1,7 @@ -package com.ak.framework.aspectj; - -import com.ak.common.annotation.DataScope; -import com.ak.common.core.domain.BaseEntity; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysUser; +package com.opl.framework.core.aspectj; + +import java.lang.reflect.Method; + import org.aspectj.lang.JoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.Aspect; @@ -14,12 +10,17 @@ import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; +import com.opl.framework.common.annotation.DataScope; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; /** * 数据过滤处理 * - * @author Vean + * @author kingrom */ @Aspect @Component @@ -55,7 +56,7 @@ public class DataScopeAspect { public static final String DATA_SCOPE = "dataScope"; // 配置织入点 - @Pointcut("@annotation(com.ak.common.annotation.DataScope)") + @Pointcut("@annotation(com.opl.framework.common.annotation.DataScope)") public void dataScopePointCut() { } diff --git a/ak-framework/src/main/java/com/ak/framework/aspectj/LogAspect.java b/opl-framework/src/main/java/com/opl/framework/core/aspectj/LogAspect.java similarity index 87% rename from ak-framework/src/main/java/com/ak/framework/aspectj/LogAspect.java rename to opl-framework/src/main/java/com/opl/framework/core/aspectj/LogAspect.java index 5643cd55cb5f605feb7f672ebc939f82d10f1c07..7157549df556163ffc058c068ffda22217f0b915 100644 --- a/ak-framework/src/main/java/com/ak/framework/aspectj/LogAspect.java +++ b/opl-framework/src/main/java/com/opl/framework/core/aspectj/LogAspect.java @@ -1,10 +1,8 @@ -package com.ak.framework.aspectj; +package com.opl.framework.core.aspectj; import java.lang.reflect.Method; import java.util.Map; -import com.ak.common.utils.AddressUtils; -import com.ak.platform.service.log.ISysOperLogService; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.AfterReturning; @@ -14,25 +12,28 @@ import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.ak.common.annotation.Log; -import com.ak.common.enums.BusinessStatus; -import com.ak.common.json.JSON; -import com.ak.common.utils.ServletUtils; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.log.SysOperLog; -import com.ak.platform.domain.basedata.SysUser; -import lombok.extern.log4j.Log4j2; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.enums.BusinessStatus; +import com.opl.framework.common.json.JSON; +import com.opl.framework.common.utils.AddressUtils; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.log.SysOperLog; +import com.opl.operating.platform.service.log.ISysOperLogService; + +import lombok.extern.slf4j.Slf4j; /** * 操作日志记录处理 * - * @author Vean + * @author kingrom */ @Aspect @Component -@Log4j2 +@Slf4j public class LogAspect { @Autowired @@ -41,7 +42,7 @@ public class LogAspect { /** * 配置织入点 */ - @Pointcut("@annotation(com.ak.common.annotation.Log)") + @Pointcut("@annotation(com.opl.framework.common.annotation.Log)") public void logPointCut() { } diff --git a/ak-framework/src/main/java/com/ak/framework/config/ApplicationConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/ApplicationConfig.java similarity index 82% rename from ak-framework/src/main/java/com/ak/framework/config/ApplicationConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/ApplicationConfig.java index 4c3725e39630e82383cba2d8f49b5c64ed9fd588..9c3803a8b84ce606709226f6e4c4ac23ca804b4e 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/ApplicationConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/ApplicationConfig.java @@ -1,4 +1,4 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; @@ -7,12 +7,12 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; /** * 程序注解配置 * - * @author Vean + * @author kingrom */ @Configuration // 表示通过aop框架暴露该代理对象,AopContext能够访问 @EnableAspectJAutoProxy(exposeProxy = true) // 指定要扫描的Mapper类的包的路径 -@MapperScan("com.ak.**.mapper") +@MapperScan("com.opl.**.mapper") public class ApplicationConfig { } diff --git a/ak-framework/src/main/java/com/ak/framework/config/CaptchaConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/CaptchaConfig.java similarity index 76% rename from ak-framework/src/main/java/com/ak/framework/config/CaptchaConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/CaptchaConfig.java index 4c6ea417c6bf5037b3b2022534d5b1d150ade694..eb4c446dcdfb345e3bffe4bb2c9a5e99308a8a4a 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/CaptchaConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/CaptchaConfig.java @@ -1,18 +1,32 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; -import com.google.code.kaptcha.impl.DefaultKaptcha; -import com.google.code.kaptcha.util.Config; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; +import static com.google.code.kaptcha.Constants.KAPTCHA_BORDER; +import static com.google.code.kaptcha.Constants.KAPTCHA_BORDER_COLOR; +import static com.google.code.kaptcha.Constants.KAPTCHA_IMAGE_HEIGHT; +import static com.google.code.kaptcha.Constants.KAPTCHA_IMAGE_WIDTH; +import static com.google.code.kaptcha.Constants.KAPTCHA_NOISE_COLOR; +import static com.google.code.kaptcha.Constants.KAPTCHA_NOISE_IMPL; +import static com.google.code.kaptcha.Constants.KAPTCHA_OBSCURIFICATOR_IMPL; +import static com.google.code.kaptcha.Constants.KAPTCHA_SESSION_CONFIG_KEY; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_CHAR_LENGTH; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_CHAR_SPACE; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_FONT_COLOR; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_FONT_NAMES; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_FONT_SIZE; +import static com.google.code.kaptcha.Constants.KAPTCHA_TEXTPRODUCER_IMPL; import java.util.Properties; -import static com.google.code.kaptcha.Constants.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.google.code.kaptcha.impl.DefaultKaptcha; +import com.google.code.kaptcha.util.Config; /** * 验证码配置 * - * @author Vean + * @author kingrom */ @Configuration public class CaptchaConfig { @@ -62,7 +76,7 @@ public class CaptchaConfig { // KAPTCHA_SESSION_KEY properties.setProperty(KAPTCHA_SESSION_CONFIG_KEY, "kaptchaCodeMath"); // 验证码文本生成器 - properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.ak.framework.config.KaptchaTextCreator"); + properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "com.opl.framework.core.config.KaptchaTextCreator"); // 验证码文本字符间距 默认为2 properties.setProperty(KAPTCHA_TEXTPRODUCER_CHAR_SPACE, "3"); // 验证码文本字符长度 默认为5 diff --git a/ak-framework/src/main/java/com/ak/framework/config/FilterConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/FilterConfig.java similarity index 82% rename from ak-framework/src/main/java/com/ak/framework/config/FilterConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/FilterConfig.java index 21feee34f8eb8c596ac435a14858fc22e1867e32..344939126937a7a3ada7d72cdd199303824fbd9b 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/FilterConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/FilterConfig.java @@ -1,20 +1,22 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; + +import java.util.Map; + +import javax.servlet.DispatcherType; -import com.ak.common.utils.StringUtils; -import com.ak.common.xss.XssFilter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import javax.servlet.DispatcherType; -import java.util.HashMap; -import java.util.Map; +import com.google.common.collect.Maps; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.xss.XssFilter; /** * Filter配置 * - * @author Vean + * @author kingrom */ @Configuration public class FilterConfig { @@ -36,7 +38,7 @@ public class FilterConfig { registration.addUrlPatterns(StringUtils.split(urlPatterns, ",")); registration.setName("xssFilter"); registration.setOrder(Integer.MAX_VALUE); - Map initParameters = new HashMap(); + Map initParameters = Maps.newHashMap(); initParameters.put("excludes", excludes); initParameters.put("enabled", enabled); registration.setInitParameters(initParameters); diff --git a/ak-framework/src/main/java/com/ak/framework/config/I18nConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/I18nConfig.java similarity index 95% rename from ak-framework/src/main/java/com/ak/framework/config/I18nConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/I18nConfig.java index b438e5fa0b27c9d70465d402203021699525a60d..5fc8372b7c2d73f5afa351ecfb61531ef9d13c98 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/I18nConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/I18nConfig.java @@ -1,4 +1,6 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; + +import java.util.Locale; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -8,12 +10,10 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.i18n.SessionLocaleResolver; -import java.util.Locale; - /** * 资源文件配置加载 * - * @author Vean + * @author kingrom */ @Configuration public class I18nConfig implements WebMvcConfigurer { diff --git a/ak-framework/src/main/java/com/ak/framework/config/KaptchaTextCreator.java b/opl-framework/src/main/java/com/opl/framework/core/config/KaptchaTextCreator.java similarity index 97% rename from ak-framework/src/main/java/com/ak/framework/config/KaptchaTextCreator.java rename to opl-framework/src/main/java/com/opl/framework/core/config/KaptchaTextCreator.java index 510a0ac44a6a9b7028beb85a920aac1cd08fc2de..88c513305e7d3a59924e4ce4d4d8712dbbd4bccb 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/KaptchaTextCreator.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/KaptchaTextCreator.java @@ -1,14 +1,14 @@ -package com.ak.framework.config; - -import com.google.code.kaptcha.text.impl.DefaultTextCreator; +package com.opl.framework.core.config; import java.security.SecureRandom; import java.util.Random; +import com.google.code.kaptcha.text.impl.DefaultTextCreator; + /** * 验证码文本生成器 * - * @author Vean + * @author kingrom */ public class KaptchaTextCreator extends DefaultTextCreator { private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(","); diff --git a/ak-framework/src/main/java/com/ak/framework/config/MyBatisConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/MyBatisConfig.java similarity index 91% rename from ak-framework/src/main/java/com/ak/framework/config/MyBatisConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/MyBatisConfig.java index 0816e58b2aedcc03cdc21e64d1f8d18465261366..2dc18a5a1ed4701fe7fdd6093ab3d4ac14bd7fbe 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/MyBatisConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/MyBatisConfig.java @@ -1,13 +1,14 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; import java.io.IOException; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; + import javax.sql.DataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -20,6 +21,9 @@ import org.springframework.core.type.classreading.MetadataReader; import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.util.ClassUtils; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; + /** * Mybatis支持*匹配扫描包 * @@ -37,7 +41,7 @@ public class MyBatisConfig { MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver); typeAliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(typeAliasesPackage) + "/" + DEFAULT_RESOURCE_PATTERN; try { - List result = new ArrayList(); + List result = Lists.newArrayList(); Resource[] resources = resolver.getResources(typeAliasesPackage); if (resources != null && resources.length > 0) { MetadataReader metadataReader = null; @@ -53,7 +57,7 @@ public class MyBatisConfig { } } if (result.size() > 0) { - HashSet h = new HashSet(result); + HashSet h = Sets.newHashSet(result); result.clear(); result.addAll(h); typeAliasesPackage = String.join(",", (String[]) result.toArray(new String[0])); @@ -74,6 +78,7 @@ public class MyBatisConfig { final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); + sessionFactory.setVfs(SpringBootVFS.class); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations)); return sessionFactory.getObject(); diff --git a/ak-framework/src/main/java/com/ak/framework/config/RedisConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/RedisConfig.java similarity index 98% rename from ak-framework/src/main/java/com/ak/framework/config/RedisConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/RedisConfig.java index 0bb15c99be65e1827234c35e4d39172d45fe8da7..81c6e0b0bf801c79eff1d1bf5bf43fe66fa4a668 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/RedisConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/RedisConfig.java @@ -1,9 +1,11 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; + +import java.lang.reflect.Method; +import java.util.HashSet; +import java.util.Set; + +import javax.annotation.Resource; -import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; -import com.fasterxml.jackson.annotation.PropertyAccessor; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; @@ -17,10 +19,10 @@ import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; -import javax.annotation.Resource; -import java.lang.reflect.Method; -import java.util.HashSet; -import java.util.Set; +import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; /** diff --git a/ak-framework/src/main/java/com/ak/framework/config/ResourcesConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/ResourcesConfig.java similarity index 86% rename from ak-framework/src/main/java/com/ak/framework/config/ResourcesConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/ResourcesConfig.java index b8db60789dd83f3dca10e101baee580a5a6599fe..9f28cae84f847b1961ef4e61b5bcfb94f786eabe 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/ResourcesConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/ResourcesConfig.java @@ -1,8 +1,5 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; -import com.ak.common.config.Global; -import com.ak.common.constant.Constants; -import com.ak.framework.interceptor.RepeatSubmitInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -11,10 +8,14 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.core.interceptor.RepeatSubmitInterceptor; + /** * 通用配置 * - * @author Vean + * @author kingrom */ @Configuration public class ResourcesConfig implements WebMvcConfigurer { @@ -50,6 +51,6 @@ public class ResourcesConfig implements WebMvcConfigurer { */ @Override public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); + registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**").excludePathPatterns("/favicon.ico"); } } \ No newline at end of file diff --git a/ak-framework/src/main/java/com/ak/framework/config/ShiroConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/ShiroConfig.java similarity index 93% rename from ak-framework/src/main/java/com/ak/framework/config/ShiroConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/ShiroConfig.java index d869d403f9f4a920aad03a067cc2b893b1601e27..b6a0a764e88e0fcadd4a2f8649a4863d7f0dcf44 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/ShiroConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/ShiroConfig.java @@ -1,18 +1,13 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.LinkedHashMap; +import java.util.Map; + +import javax.servlet.Filter; -import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.framework.shiro.realm.UserRealm; -import com.ak.framework.shiro.session.OnlineSessionDAO; -import com.ak.framework.shiro.session.OnlineSessionFactory; -import com.ak.framework.shiro.web.filter.LogoutFilter; -import com.ak.framework.shiro.web.filter.captcha.CaptchaValidateFilter; -import com.ak.framework.shiro.web.filter.kickout.KickoutSessionFilter; -import com.ak.framework.shiro.web.filter.online.OnlineSessionFilter; -import com.ak.framework.shiro.web.filter.sync.SyncOnlineSessionFilter; -import com.ak.framework.shiro.web.session.OnlineWebSessionManager; -import com.ak.framework.shiro.web.session.SpringSessionValidationScheduler; import org.apache.commons.io.IOUtils; import org.apache.shiro.cache.ehcache.EhCacheManager; import org.apache.shiro.codec.Base64; @@ -29,17 +24,25 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import javax.servlet.Filter; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.LinkedHashMap; -import java.util.Map; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.core.shiro.realm.UserRealm; +import com.opl.framework.core.shiro.session.OnlineSessionDAO; +import com.opl.framework.core.shiro.session.OnlineSessionFactory; +import com.opl.framework.core.shiro.web.filter.LogoutFilter; +import com.opl.framework.core.shiro.web.filter.captcha.CaptchaValidateFilter; +import com.opl.framework.core.shiro.web.filter.kickout.KickoutSessionFilter; +import com.opl.framework.core.shiro.web.filter.online.OnlineSessionFilter; +import com.opl.framework.core.shiro.web.filter.sync.SyncOnlineSessionFilter; +import com.opl.framework.core.shiro.web.session.OnlineWebSessionManager; +import com.opl.framework.core.shiro.web.session.SpringSessionValidationScheduler; + +import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; /** * 权限配置加载 * - * @author Vean + * @author kingrom */ @Configuration public class ShiroConfig { diff --git a/ak-framework/src/main/java/com/ak/framework/config/SwaggerConfig.java b/opl-framework/src/main/java/com/opl/framework/core/config/SwaggerConfig.java similarity index 90% rename from ak-framework/src/main/java/com/ak/framework/config/SwaggerConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/config/SwaggerConfig.java index 9d8a807fc50968067d04b3bd76e70abe0cbf99b6..6a89d27da4460be1fec23aed0dc52f4e7b0935f9 100644 --- a/ak-framework/src/main/java/com/ak/framework/config/SwaggerConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/config/SwaggerConfig.java @@ -1,12 +1,14 @@ -package com.ak.framework.config; +package com.opl.framework.core.config; -import com.ak.common.config.Global; -import com.google.common.base.Predicates; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; + +import com.google.common.base.Predicates; +import com.opl.framework.common.config.Global; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -19,11 +21,11 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Swagger2的接口配置 * - * @author Vean + * @author kingrom */ @Configuration @EnableSwagger2 -@ComponentScan(basePackages = {"com.ak.*.api"}) +@ComponentScan(basePackages = {"com.opl.operating.*.api"}) public class SwaggerConfig { /** @@ -50,7 +52,7 @@ public class SwaggerConfig { // 用ApiInfoBuilder进行定制 return new ApiInfoBuilder() // 设置标题 - .title("AK RESETful API") + .title("OPL RESETful API") // 描述 // .description("项目对外的接口") // 作者信息 diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBean.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBean.java similarity index 92% rename from ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBean.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBean.java index 83f9f382c7dfb8a608ab6bdf73779076fda1ee25..709e8e9243eacfecbcf5faea31d2d85bc5762809 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBean.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBean.java @@ -1,13 +1,13 @@ -package com.ak.framework.datasource; +package com.opl.framework.core.datasource; import lombok.Getter; /** * 数据源实体类 * - * @author Vean + * @author kingrom */ -final class DataSourceBean { +public final class DataSourceBean { @Getter private final String beanName; @Getter diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBeanBuilder.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBeanBuilder.java similarity index 91% rename from ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBeanBuilder.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBeanBuilder.java index 26619949a42343128af67d06ca1bc4c25ea45159..b7f6f44603e6c24c669b06730445d3ccb213d966 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceBeanBuilder.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceBeanBuilder.java @@ -1,17 +1,17 @@ -package com.ak.framework.datasource; +package com.opl.framework.core.datasource; -import com.ak.common.exception.BusinessException; -import com.ak.platform.domain.system.SysDatasource; +import com.opl.framework.common.exception.BusinessException; +import com.opl.operating.platform.domain.system.SysDatasource; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; /** * 数据源实体构建类 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public class DataSourceBeanBuilder { private static final String URL_FORMATTER = "%s%s:%s%s%s"; /** diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceHolder.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceHolder.java similarity index 73% rename from ak-framework/src/main/java/com/ak/framework/datasource/DataSourceHolder.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceHolder.java index 3d3da18db4a660a2a560b1842ad5bb7a989d91f6..aaa81b960dd1d8cae8706499f7ae57a38e4e5cfc 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/DataSourceHolder.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/DataSourceHolder.java @@ -1,14 +1,19 @@ -package com.ak.framework.datasource; +package com.opl.framework.core.datasource; -import lombok.extern.log4j.Log4j2; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +import lombok.extern.slf4j.Slf4j; /** - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public final class DataSourceHolder { private static final ThreadLocal THREAD_LOCAL = new ThreadLocal(); + + public static List dataSourceID = new CopyOnWriteArrayList<>(); static DataSourceBeanBuilder getDataSource() { return THREAD_LOCAL.get(); diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/DruidConfig.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/DruidConfig.java similarity index 61% rename from ak-framework/src/main/java/com/ak/framework/datasource/DruidConfig.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/DruidConfig.java index 17344e5551c779cfe363bac135c5f2f722174415..1a086faf5dbc9d3ef8d9b6138316caab1aa22bb0 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/DruidConfig.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/DruidConfig.java @@ -1,33 +1,23 @@ -package com.ak.framework.datasource; +package com.opl.framework.core.datasource; -import java.io.IOException; -import java.util.HashMap; import java.util.Map; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; import javax.sql.DataSource; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import com.ak.framework.datasource.properties.DruidProperties; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties; -import com.alibaba.druid.util.Utils; +import com.google.common.collect.Maps; +import com.opl.framework.core.datasource.properties.DruidProperties; /** * druid 配置多数据源 * - * @author Vean + * @author kingrom */ @Configuration public class DruidConfig { @@ -42,7 +32,7 @@ public class DruidConfig { @Bean(name = "dynamicDataSource") @Primary public DynamicDataSource dynamicDataSource(DataSource defaultDataSource) { - Map targetDataSources = new HashMap<>(); + Map targetDataSources = Maps.newHashMap(); targetDataSources.put("targetDataSources", defaultDataSource); return new DynamicDataSource(defaultDataSource, targetDataSources); } diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/DynamicDataSource.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/DynamicDataSource.java similarity index 93% rename from ak-framework/src/main/java/com/ak/framework/datasource/DynamicDataSource.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/DynamicDataSource.java index 43b97fdaf57d6d083e3942863dade0fddd030739..446ebfe2df174b00255c069ef1493697b2d34cfc 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/DynamicDataSource.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/DynamicDataSource.java @@ -1,7 +1,6 @@ -package com.ak.framework.datasource; +package com.opl.framework.core.datasource; import java.lang.reflect.Field; -import java.util.HashMap; import java.util.Map; import javax.sql.DataSource; @@ -14,17 +13,18 @@ import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; -import com.ak.common.exception.BusinessException; import com.alibaba.druid.pool.DruidDataSource; +import com.google.common.collect.Maps; +import com.opl.framework.common.exception.BusinessException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; /** * 动态数据源 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j final class DynamicDataSource extends AbstractRoutingDataSource implements ApplicationContextAware { private static final String DATA_SOURCES_NAME = "targetDataSources"; @@ -83,7 +83,7 @@ final class DynamicDataSource extends AbstractRoutingDataSource implements Appli private Map getPropertyKeyValues(Class clazz, Object object) throws IllegalAccessException { Field[] fields = clazz.getDeclaredFields(); - Map result = new HashMap<>(); + Map result = Maps.newHashMap(); for (Field field : fields) { field.setAccessible(true); result.put(field.getName(), field.get(object)); diff --git a/ak-framework/src/main/java/com/ak/framework/datasource/properties/DruidProperties.java b/opl-framework/src/main/java/com/opl/framework/core/datasource/properties/DruidProperties.java similarity index 97% rename from ak-framework/src/main/java/com/ak/framework/datasource/properties/DruidProperties.java rename to opl-framework/src/main/java/com/opl/framework/core/datasource/properties/DruidProperties.java index 7924f6438a741f23c811c3e833a02513c5eb73b3..c91c7da59ed883bc5e06f981f729a495d7d5df23 100644 --- a/ak-framework/src/main/java/com/ak/framework/datasource/properties/DruidProperties.java +++ b/opl-framework/src/main/java/com/opl/framework/core/datasource/properties/DruidProperties.java @@ -1,13 +1,14 @@ -package com.ak.framework.datasource.properties; +package com.opl.framework.core.datasource.properties; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; + import com.alibaba.druid.pool.DruidDataSource; /** * druid 配置属性 * - * @author Vean + * @author kingrom */ @Configuration public class DruidProperties { diff --git a/ak-framework/src/main/java/com/ak/framework/interceptor/RepeatSubmitInterceptor.java b/opl-framework/src/main/java/com/opl/framework/core/interceptor/RepeatSubmitInterceptor.java similarity index 85% rename from ak-framework/src/main/java/com/ak/framework/interceptor/RepeatSubmitInterceptor.java rename to opl-framework/src/main/java/com/opl/framework/core/interceptor/RepeatSubmitInterceptor.java index 8f6f547b4adde9d42cea5fe4b5f56dc3b7a07ff3..d418b87d8ff78d4cec37dede6f06668dc79e56bb 100644 --- a/ak-framework/src/main/java/com/ak/framework/interceptor/RepeatSubmitInterceptor.java +++ b/opl-framework/src/main/java/com/opl/framework/core/interceptor/RepeatSubmitInterceptor.java @@ -1,21 +1,23 @@ -package com.ak.framework.interceptor; +package com.opl.framework.core.interceptor; + +import java.lang.reflect.Method; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; -import com.ak.common.annotation.RepeatSubmit; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.json.JSON; -import com.ak.common.utils.ServletUtils; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.lang.reflect.Method; +import com.opl.framework.common.annotation.RepeatSubmit; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.json.JSON; +import com.opl.framework.common.utils.ServletUtils; /** * 防止重复提交拦截器 * - * @author Vean + * @author kingrom */ @Component public abstract class RepeatSubmitInterceptor extends HandlerInterceptorAdapter { diff --git a/ak-framework/src/main/java/com/ak/framework/interceptor/impl/SameUrlDataInterceptor.java b/opl-framework/src/main/java/com/opl/framework/core/interceptor/impl/SameUrlDataInterceptor.java similarity index 88% rename from ak-framework/src/main/java/com/ak/framework/interceptor/impl/SameUrlDataInterceptor.java rename to opl-framework/src/main/java/com/opl/framework/core/interceptor/impl/SameUrlDataInterceptor.java index 299fbf547f488decb6f55222f70d1535e97a7a1d..58e5bd04bc7de22133eb788c460715c3c130c6c6 100644 --- a/ak-framework/src/main/java/com/ak/framework/interceptor/impl/SameUrlDataInterceptor.java +++ b/opl-framework/src/main/java/com/opl/framework/core/interceptor/impl/SameUrlDataInterceptor.java @@ -1,19 +1,21 @@ -package com.ak.framework.interceptor.impl; +package com.opl.framework.core.interceptor.impl; -import com.ak.common.json.JSON; -import com.ak.framework.interceptor.RepeatSubmitInterceptor; -import org.springframework.stereotype.Component; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import java.util.HashMap; -import java.util.Map; + +import org.springframework.stereotype.Component; + +import com.google.common.collect.Maps; +import com.opl.framework.common.json.JSON; +import com.opl.framework.core.interceptor.RepeatSubmitInterceptor; /** * 判断请求url和数据是否和上一次相同, * 如果和上次相同,则是重复提交表单。 有效时间为10秒内。 * - * @author Vean + * @author kingrom */ @Component public class SameUrlDataInterceptor extends RepeatSubmitInterceptor { @@ -39,7 +41,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor { public boolean isRepeatSubmit(HttpServletRequest request) throws Exception { // 本次参数及系统时间 String nowParams = JSON.marshal(request.getParameterMap()); - Map nowDataMap = new HashMap(); + Map nowDataMap = Maps.newHashMap(); nowDataMap.put(REPEAT_PARAMS, nowParams); nowDataMap.put(REPEAT_TIME, System.currentTimeMillis()); @@ -57,7 +59,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor { } } } - Map sessionMap = new HashMap(); + Map sessionMap = Maps.newHashMap(); sessionMap.put(url, nowDataMap); session.setAttribute(SESSION_REPEAT_KEY, sessionMap); return false; diff --git a/ak-framework/src/main/java/com/ak/framework/manager/AsyncManager.java b/opl-framework/src/main/java/com/opl/framework/core/manager/AsyncManager.java similarity index 87% rename from ak-framework/src/main/java/com/ak/framework/manager/AsyncManager.java rename to opl-framework/src/main/java/com/opl/framework/core/manager/AsyncManager.java index 8c315a23b316e0e5653f2194c8995cf5bbd0abc2..6dda116f91600c7571cd311a6fa4557c99566988 100644 --- a/ak-framework/src/main/java/com/ak/framework/manager/AsyncManager.java +++ b/opl-framework/src/main/java/com/opl/framework/core/manager/AsyncManager.java @@ -1,12 +1,12 @@ -package com.ak.framework.manager; - -import com.ak.common.utils.Threads; -import com.ak.common.utils.spring.SpringUtils; +package com.opl.framework.core.manager; import java.util.TimerTask; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import com.opl.framework.common.utils.Threads; +import com.opl.framework.common.utils.spring.SpringUtils; + /** * 异步任务管理器 * diff --git a/ak-framework/src/main/java/com/ak/framework/manager/ShutdownManager.java b/opl-framework/src/main/java/com/opl/framework/core/manager/ShutdownManager.java similarity index 92% rename from ak-framework/src/main/java/com/ak/framework/manager/ShutdownManager.java rename to opl-framework/src/main/java/com/opl/framework/core/manager/ShutdownManager.java index f425ddbb56566d9c01bed34c3cda60c2a66b36e7..293c522b46bc0141241c2dcfc2b1a737f8524b8b 100644 --- a/ak-framework/src/main/java/com/ak/framework/manager/ShutdownManager.java +++ b/opl-framework/src/main/java/com/opl/framework/core/manager/ShutdownManager.java @@ -1,12 +1,13 @@ -package com.ak.framework.manager; +package com.opl.framework.core.manager; + +import javax.annotation.PreDestroy; -import com.ak.framework.shiro.web.session.SpringSessionValidationScheduler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import javax.annotation.PreDestroy; +import com.opl.framework.core.shiro.web.session.SpringSessionValidationScheduler; /** * 确保应用退出时能关闭后台线程 diff --git a/ak-framework/src/main/java/com/ak/framework/manager/factory/AsyncFactory.java b/opl-framework/src/main/java/com/opl/framework/core/manager/factory/AsyncFactory.java similarity index 83% rename from ak-framework/src/main/java/com/ak/framework/manager/factory/AsyncFactory.java rename to opl-framework/src/main/java/com/opl/framework/core/manager/factory/AsyncFactory.java index 7ecc5813cade10e41dd2e86df2ac546d0ec02264..1cda4f940901b7e01f966ded509045c4409c7aeb 100644 --- a/ak-framework/src/main/java/com/ak/framework/manager/factory/AsyncFactory.java +++ b/opl-framework/src/main/java/com/opl/framework/core/manager/factory/AsyncFactory.java @@ -1,20 +1,22 @@ -package com.ak.framework.manager.factory; +package com.opl.framework.core.manager.factory; + +import java.util.TimerTask; -import com.ak.common.constant.Constants; -import com.ak.common.utils.AddressUtils; -import com.ak.common.utils.ServletUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.framework.util.LogUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.log.SysLogininfor; -import com.ak.platform.domain.monitor.SysUserOnline; -import com.ak.platform.service.monitor.ISysUserOnlineService; -import eu.bitwalker.useragentutils.UserAgent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.TimerTask; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.utils.AddressUtils; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.framework.core.util.LogUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.log.SysLogininfor; +import com.opl.operating.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.service.monitor.ISysUserOnlineService; + +import eu.bitwalker.useragentutils.UserAgent; /** * 异步工厂(产生任务用) diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/realm/UserRealm.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/realm/UserRealm.java similarity index 82% rename from ak-framework/src/main/java/com/ak/framework/shiro/realm/UserRealm.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/realm/UserRealm.java index 8faefc6a16e7bb55450f61548c75bf329c2197c6..a26d68beea6d4494b759ed00c8e0c2f6d09b8d80 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/realm/UserRealm.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/realm/UserRealm.java @@ -1,6 +1,5 @@ -package com.ak.framework.shiro.realm; +package com.opl.framework.core.shiro.realm; -import java.util.HashSet; import java.util.Set; import org.apache.shiro.SecurityUtils; @@ -15,21 +14,22 @@ import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; import org.springframework.beans.factory.annotation.Autowired; -import com.ak.common.exception.user.UserException; -import com.ak.framework.shiro.service.SysLoginService; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.basedata.ISysMenuService; -import com.ak.platform.service.basedata.ISysRoleService; +import com.google.common.collect.Sets; +import com.opl.framework.common.exception.user.UserException; +import com.opl.framework.core.shiro.service.SysLoginService; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.basedata.ISysMenuService; +import com.opl.operating.platform.service.basedata.ISysRoleService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; /** * 自定义Realm 处理登录 权限 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public class UserRealm extends AuthorizingRealm { @Autowired @@ -48,9 +48,9 @@ public class UserRealm extends AuthorizingRealm { protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection arg0) { SysUser user = ShiroUtils.getSysUser(); // 角色列表 - Set roles = new HashSet(); + Set roles = Sets.newHashSet(); // 功能列表 - Set menus = new HashSet(); + Set menus = Sets.newHashSet(); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); // 管理员拥有所有权限 if (user.isAdmin()) { diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysLoginService.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysLoginService.java similarity index 83% rename from ak-framework/src/main/java/com/ak/framework/shiro/service/SysLoginService.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysLoginService.java index 48218ed1b06da45be511efce89c7462b3db887e0..52fc2f9fd9863e15ee4b06ab9fe60787b5f4864b 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysLoginService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysLoginService.java @@ -1,26 +1,27 @@ -package com.ak.framework.shiro.service; +package com.opl.framework.core.shiro.service; -import com.ak.platform.service.log.ISysLogininforService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; -import com.ak.common.constant.Constants; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.constant.UserConstants; -import com.ak.common.enums.UserStatus; -import com.ak.common.exception.user.UserException; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.MessageUtils; -import com.ak.common.utils.ServletUtils; -import com.ak.framework.manager.factory.AsyncFactory; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.basedata.ISysUserService; + +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.enums.UserStatus; +import com.opl.framework.common.exception.user.UserException; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.MessageUtils; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.core.manager.factory.AsyncFactory; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.basedata.ISysUserService; +import com.opl.operating.platform.service.log.ISysLogininforService; /** * 登录校验方法 * - * @author Vean + * @author kingrom */ @Component public class SysLoginService { diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysPasswordService.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysPasswordService.java similarity index 83% rename from ak-framework/src/main/java/com/ak/framework/shiro/service/SysPasswordService.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysPasswordService.java index f2553f8c0b3cd26f61806bfe15dcba7b8f34d10e..4265730a4e000c3be0678da09a6a52d0895211ef 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysPasswordService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysPasswordService.java @@ -1,26 +1,28 @@ -package com.ak.framework.shiro.service; +package com.opl.framework.core.shiro.service; import java.util.concurrent.atomic.AtomicInteger; + import javax.annotation.PostConstruct; -import com.ak.platform.service.log.ISysLogininforService; import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; import org.apache.shiro.crypto.hash.Md5Hash; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import com.ak.common.constant.Constants; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.exception.user.UserException; -import com.ak.common.utils.MessageUtils; -import com.ak.framework.manager.factory.AsyncFactory; -import com.ak.platform.domain.basedata.SysUser; + +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.exception.user.UserException; +import com.opl.framework.common.utils.MessageUtils; +import com.opl.framework.core.manager.factory.AsyncFactory; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.log.ISysLogininforService; /** * 登录密码方法 * - * @author Vean + * @author kingrom */ @Component public class SysPasswordService { diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysShiroService.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysShiroService.java similarity index 84% rename from ak-framework/src/main/java/com/ak/framework/shiro/service/SysShiroService.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysShiroService.java index f94aaf3a9aa0064ead6673881df28500763293ad..5a2f5cf124efab1f5b914a0136fd24f435279817 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/service/SysShiroService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/service/SysShiroService.java @@ -1,19 +1,20 @@ -package com.ak.framework.shiro.service; +package com.opl.framework.core.shiro.service; + +import java.io.Serializable; -import com.ak.common.utils.StringUtils; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.platform.domain.monitor.SysUserOnline; -import com.ak.platform.service.monitor.ISysUserOnlineService; import org.apache.shiro.session.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.io.Serializable; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.operating.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.service.monitor.ISysUserOnlineService; /** * 会话db操作处理 * - * @author Vean + * @author kingrom */ @Component public class SysShiroService { diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSession.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSession.java similarity index 95% rename from ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSession.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSession.java index 7d13c41d8743c86a6f1060dd1ab998e19187c503..be9e4f7bd3bd41e11c5a31c6ab877135e7b86668 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSession.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSession.java @@ -1,14 +1,16 @@ -package com.ak.framework.shiro.session; +package com.opl.framework.core.shiro.session; + +import org.apache.shiro.session.mgt.SimpleSession; + +import com.opl.framework.common.enums.OnlineStatus; -import com.ak.common.enums.OnlineStatus; import lombok.Getter; import lombok.Setter; -import org.apache.shiro.session.mgt.SimpleSession; /** * 在线用户会话属性 * - * @author Vean + * @author kingrom */ public class OnlineSession extends SimpleSession { private static final long serialVersionUID = 1L; diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionDAO.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionDAO.java similarity index 89% rename from ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionDAO.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionDAO.java index a8c5f8adc888d152a20ab7ea0e549e0886d20269..8b0d48e5532577a64d135a264c772a64e9e762d6 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionDAO.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionDAO.java @@ -1,24 +1,25 @@ -package com.ak.framework.shiro.session; +package com.opl.framework.core.shiro.session; + +import java.io.Serializable; +import java.util.Date; -import com.ak.common.enums.OnlineStatus; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.bean.BeanUtils; -import com.ak.framework.manager.AsyncManager; -import com.ak.framework.manager.factory.AsyncFactory; -import com.ak.framework.shiro.service.SysShiroService; import org.apache.shiro.session.Session; import org.apache.shiro.session.UnknownSessionException; import org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import java.io.Serializable; -import java.util.Date; +import com.opl.framework.common.enums.OnlineStatus; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.bean.BeanUtils; +import com.opl.framework.core.manager.AsyncManager; +import com.opl.framework.core.manager.factory.AsyncFactory; +import com.opl.framework.core.shiro.service.SysShiroService; /** * 针对自定义的ShiroSession的db操作 * - * @author Vean + * @author kingrom */ public class OnlineSessionDAO extends EnterpriseCacheSessionDAO { /** diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionFactory.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionFactory.java similarity index 89% rename from ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionFactory.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionFactory.java index 88e33a19569daf4d2819ae545655342e8b7a783f..0a610c6a476e46efdf3dc00a0c04b4ddcae744e2 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/session/OnlineSessionFactory.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/session/OnlineSessionFactory.java @@ -1,20 +1,22 @@ -package com.ak.framework.shiro.session; +package com.opl.framework.core.shiro.session; + +import javax.servlet.http.HttpServletRequest; -import com.ak.common.utils.IpUtils; -import com.ak.common.utils.ServletUtils; -import eu.bitwalker.useragentutils.UserAgent; import org.apache.shiro.session.Session; import org.apache.shiro.session.mgt.SessionContext; import org.apache.shiro.session.mgt.SessionFactory; import org.apache.shiro.web.session.mgt.WebSessionContext; import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; +import com.opl.framework.common.utils.IpUtils; +import com.opl.framework.common.utils.ServletUtils; + +import eu.bitwalker.useragentutils.UserAgent; /** * 自定义sessionFactory会话 * - * @author Vean + * @author kingrom */ @Component public class OnlineSessionFactory implements SessionFactory { diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/LogoutFilter.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/LogoutFilter.java similarity index 80% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/filter/LogoutFilter.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/LogoutFilter.java index f73eb4d72094ced8a937fe212f3b0938ef9f4987..be7413080bb219471234f2010411ee2f5387d44f 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/LogoutFilter.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/LogoutFilter.java @@ -1,31 +1,34 @@ -package com.ak.framework.shiro.web.filter; +package com.opl.framework.core.shiro.web.filter; + +import java.io.Serializable; +import java.util.Deque; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; -import com.ak.common.constant.Constants; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.utils.MessageUtils; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.framework.manager.factory.AsyncFactory; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.log.ISysLogininforService; -import lombok.extern.log4j.Log4j2; import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; import org.apache.shiro.session.SessionException; import org.apache.shiro.subject.Subject; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import java.io.Serializable; -import java.util.Deque; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.utils.MessageUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.core.manager.factory.AsyncFactory; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.log.ISysLogininforService; + +import lombok.extern.slf4j.Slf4j; /** * 退出过滤器 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public class LogoutFilter extends org.apache.shiro.web.filter.authc.LogoutFilter { /** diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/captcha/CaptchaValidateFilter.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/captcha/CaptchaValidateFilter.java similarity index 90% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/filter/captcha/CaptchaValidateFilter.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/captcha/CaptchaValidateFilter.java index e2be63c0ce1be6ec662f5a673923cd6cdaf83fe1..dcec9f1302c57e5bfc69d85a840f49824ee18835 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/captcha/CaptchaValidateFilter.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/captcha/CaptchaValidateFilter.java @@ -1,19 +1,20 @@ -package com.ak.framework.shiro.web.filter.captcha; - -import com.google.code.kaptcha.Constants; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import org.apache.shiro.web.filter.AccessControlFilter; +package com.opl.framework.core.shiro.web.filter.captcha; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; +import org.apache.shiro.web.filter.AccessControlFilter; + +import com.google.code.kaptcha.Constants; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; + /** * 验证码过滤器 * - * @author Vean + * @author kingrom */ public class CaptchaValidateFilter extends AccessControlFilter { /** diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/kickout/KickoutSessionFilter.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/kickout/KickoutSessionFilter.java similarity index 94% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/filter/kickout/KickoutSessionFilter.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/kickout/KickoutSessionFilter.java index 00e1aa1c1590ece0df7a5829fcbba8ca5371e7a4..682e1e5923d4ca3f7fb071e487ff985723075f9d 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/kickout/KickoutSessionFilter.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/kickout/KickoutSessionFilter.java @@ -1,11 +1,15 @@ -package com.ak.framework.shiro.web.filter.kickout; +package com.opl.framework.core.shiro.web.filter.kickout; + +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayDeque; +import java.util.Deque; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.utils.ServletUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; import org.apache.shiro.session.Session; @@ -15,19 +19,17 @@ import org.apache.shiro.subject.Subject; import org.apache.shiro.web.filter.AccessControlFilter; import org.apache.shiro.web.util.WebUtils; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.Serializable; -import java.util.ArrayDeque; -import java.util.Deque; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; /** * 登录帐号控制过滤器 * - * @author Vean + * @author kingrom */ public class KickoutSessionFilter extends AccessControlFilter { private final static ObjectMapper OBJECT_MAPPER = new ObjectMapper(); diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/online/OnlineSessionFilter.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/online/OnlineSessionFilter.java similarity index 88% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/filter/online/OnlineSessionFilter.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/online/OnlineSessionFilter.java index d92e56ba3226ff6fea2ebb944329435cd3ab4060..1524487192a035de43cbb8edcf6ecf0a05ec1e50 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/online/OnlineSessionFilter.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/online/OnlineSessionFilter.java @@ -1,11 +1,10 @@ -package com.ak.framework.shiro.web.filter.online; +package com.opl.framework.core.shiro.web.filter.online; + +import java.io.IOException; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; -import com.ak.common.constant.ShiroConstants; -import com.ak.common.enums.OnlineStatus; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.framework.shiro.session.OnlineSessionDAO; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; import org.apache.shiro.session.Session; import org.apache.shiro.subject.Subject; import org.apache.shiro.web.filter.AccessControlFilter; @@ -13,14 +12,17 @@ import org.apache.shiro.web.util.WebUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import java.io.IOException; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.enums.OnlineStatus; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.framework.core.shiro.session.OnlineSessionDAO; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; /** * 自定义访问控制 * - * @author Vean + * @author kingrom */ public class OnlineSessionFilter extends AccessControlFilter { /** diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/sync/SyncOnlineSessionFilter.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/sync/SyncOnlineSessionFilter.java similarity index 80% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/filter/sync/SyncOnlineSessionFilter.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/sync/SyncOnlineSessionFilter.java index f34ae34ae937a2939422426167185a2584ef2212..b2043a3c47250874b609eb07eeaa118146f46cde 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/filter/sync/SyncOnlineSessionFilter.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/filter/sync/SyncOnlineSessionFilter.java @@ -1,18 +1,19 @@ -package com.ak.framework.shiro.web.filter.sync; +package com.opl.framework.core.shiro.web.filter.sync; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; -import com.ak.common.constant.ShiroConstants; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.framework.shiro.session.OnlineSessionDAO; import org.apache.shiro.web.filter.PathMatchingFilter; import org.springframework.beans.factory.annotation.Autowired; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.framework.core.shiro.session.OnlineSessionDAO; /** * 同步Session数据到Db * - * @author Vean + * @author kingrom */ public class SyncOnlineSessionFilter extends PathMatchingFilter { @Autowired diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/session/OnlineWebSessionManager.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/OnlineWebSessionManager.java similarity index 87% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/session/OnlineWebSessionManager.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/OnlineWebSessionManager.java index 7928bcac5c53fad8d6d986abf4bf076f8234d440..331f8fa05fcdda22a9606bb0a80950d8f14b6531 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/session/OnlineWebSessionManager.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/OnlineWebSessionManager.java @@ -1,13 +1,9 @@ -package com.ak.framework.shiro.web.session; - -import com.ak.common.constant.ShiroConstants; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.bean.BeanUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.platform.domain.monitor.SysUserOnline; -import com.ak.platform.service.monitor.ISysUserOnlineService; -import lombok.extern.log4j.Log4j2; +package com.opl.framework.core.shiro.web.session; + +import java.util.Collection; +import java.util.Date; +import java.util.List; + import org.apache.commons.lang3.time.DateUtils; import org.apache.shiro.session.ExpiredSessionException; import org.apache.shiro.session.InvalidSessionException; @@ -16,17 +12,23 @@ import org.apache.shiro.session.mgt.DefaultSessionKey; import org.apache.shiro.session.mgt.SessionKey; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.List; +import com.google.common.collect.Lists; +import com.opl.framework.common.constant.ShiroConstants; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.bean.BeanUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.operating.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.service.monitor.ISysUserOnlineService; + +import lombok.extern.slf4j.Slf4j; /** * 主要是在此如果会话的属性修改了 就标识下其修改了 然后方便 OnlineSessionDao同步 * - * @author Vean + * @author kingrom */ -@Log4j2 +@Slf4j public class OnlineWebSessionManager extends DefaultWebSessionManager { @Override @@ -93,7 +95,7 @@ public class OnlineWebSessionManager extends DefaultWebSessionManager { ISysUserOnlineService userOnlineService = SpringUtils.getBean(ISysUserOnlineService.class); List userOnlineList = userOnlineService.selectOnlineByExpired(expiredDate); // 批量过期删除 - List needOfflineIdList = new ArrayList(); + List needOfflineIdList = Lists.newArrayList(); for (SysUserOnline userOnline : userOnlineList) { try { SessionKey key = new DefaultSessionKey(userOnline.getSessionId()); diff --git a/ak-framework/src/main/java/com/ak/framework/shiro/web/session/SpringSessionValidationScheduler.java b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/SpringSessionValidationScheduler.java similarity index 95% rename from ak-framework/src/main/java/com/ak/framework/shiro/web/session/SpringSessionValidationScheduler.java rename to opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/SpringSessionValidationScheduler.java index 44e142726bb982d109ef16c205b2df0a559d4daf..1e7ac5d099b49d559b044358b0096ea843c4ef9f 100644 --- a/ak-framework/src/main/java/com/ak/framework/shiro/web/session/SpringSessionValidationScheduler.java +++ b/opl-framework/src/main/java/com/opl/framework/core/shiro/web/session/SpringSessionValidationScheduler.java @@ -1,7 +1,8 @@ -package com.ak.framework.shiro.web.session; +package com.opl.framework.core.shiro.web.session; + +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; -import com.ak.common.utils.Threads; -import lombok.extern.log4j.Log4j2; import org.apache.shiro.session.mgt.DefaultSessionManager; import org.apache.shiro.session.mgt.SessionValidationScheduler; import org.apache.shiro.session.mgt.ValidatingSessionManager; @@ -10,16 +11,17 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; +import com.opl.framework.common.utils.Threads; + +import lombok.extern.slf4j.Slf4j; /** * 自定义任务调度器完成 * - * @author Vean + * @author kingrom */ @Component -@Log4j2 +@Slf4j public class SpringSessionValidationScheduler implements SessionValidationScheduler { public static final long DEFAULT_SESSION_VALIDATION_INTERVAL = DefaultSessionManager.DEFAULT_SESSION_VALIDATION_INTERVAL; diff --git a/opl-framework/src/main/java/com/opl/framework/core/util/CageDataSource.java b/opl-framework/src/main/java/com/opl/framework/core/util/CageDataSource.java new file mode 100644 index 0000000000000000000000000000000000000000..621dc1f178e2a05c2cfa5a424fbec748880a80bb --- /dev/null +++ b/opl-framework/src/main/java/com/opl/framework/core/util/CageDataSource.java @@ -0,0 +1,34 @@ +package com.opl.framework.core.util; + +import java.util.Map; + +import org.springframework.core.annotation.AnnotationUtils; + +import com.opl.framework.common.annotation.ModuleScope; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.core.datasource.DataSourceBeanBuilder; +import com.opl.framework.core.datasource.DataSourceHolder; +import com.opl.operating.platform.domain.system.SysDatasource; +import com.opl.operating.platform.service.system.ISysDatasourceService; + +/** + * @author kingrom + * + * 从数据库读取数据源并设置数据源 + */ +public class CageDataSource { + + public static void action(Class cls,ISysDatasourceService dataSourceService) throws BusinessException { + ModuleScope scope =AnnotationUtils.findAnnotation(cls,ModuleScope.class); + String appCode = scope!=null?scope.value():null; + if (null != ShiroUtils.getSysUser() && !Global.DEFAULT_TENANT_CODE.equals(ShiroUtils.getSysUser().getTenantCode())) { + Map dataSources = dataSourceService.selectDatasourceMap(ShiroUtils.getSysUser().getTenantCode(),appCode); + if (dataSources.size()>0 && appCode !=null) { + SysDatasource source = dataSources.get(appCode); + DataSourceBeanBuilder builder = new DataSourceBeanBuilder(source); + DataSourceHolder.setDataSource(builder); + } + } + } +} diff --git a/ak-framework/src/main/java/com/ak/framework/util/LogUtils.java b/opl-framework/src/main/java/com/opl/framework/core/util/LogUtils.java similarity index 96% rename from ak-framework/src/main/java/com/ak/framework/util/LogUtils.java rename to opl-framework/src/main/java/com/opl/framework/core/util/LogUtils.java index 3c0dce22b677e5ba7899a19eee7044ee6d0fdb19..6b9cb90100f101bb1eb552f044d49661e3a7dd17 100644 --- a/ak-framework/src/main/java/com/ak/framework/util/LogUtils.java +++ b/opl-framework/src/main/java/com/opl/framework/core/util/LogUtils.java @@ -1,20 +1,22 @@ -package com.ak.framework.util; +package com.opl.framework.core.util; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; -import com.ak.common.json.JSON; -import com.ak.common.utils.IpUtils; import org.apache.shiro.SecurityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.http.HttpServletRequest; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Map; +import com.opl.framework.common.json.JSON; +import com.opl.framework.common.utils.IpUtils; /** * 处理并记录日志文件 * - * @author Vean + * @author kingrom */ public class LogUtils { public static final Logger ERROR_LOG = LoggerFactory.getLogger("sys-error"); diff --git a/ak-framework/src/main/java/com/ak/framework/util/RedisUtils.java b/opl-framework/src/main/java/com/opl/framework/core/util/RedisUtils.java similarity index 99% rename from ak-framework/src/main/java/com/ak/framework/util/RedisUtils.java rename to opl-framework/src/main/java/com/opl/framework/core/util/RedisUtils.java index e1742aec3e7ef8432a40199fc19e4f8eca92b5fe..a1d63c1e59d1429b27bfebffec759b1263dd8443 100644 --- a/ak-framework/src/main/java/com/ak/framework/util/RedisUtils.java +++ b/opl-framework/src/main/java/com/opl/framework/core/util/RedisUtils.java @@ -1,17 +1,16 @@ -package com.ak.framework.util; +package com.opl.framework.core.util; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + /** * @author chenlin */ diff --git a/ak-framework/src/main/java/com/ak/framework/util/ShiroUtils.java b/opl-framework/src/main/java/com/opl/framework/core/util/ShiroUtils.java similarity index 86% rename from ak-framework/src/main/java/com/ak/framework/util/ShiroUtils.java rename to opl-framework/src/main/java/com/opl/framework/core/util/ShiroUtils.java index 9ef0bfbfa02f86f33f980dd43ad9f92c278c8f02..fb8babc4cc55c349fbf32300a509ed5c7ee7492f 100644 --- a/ak-framework/src/main/java/com/ak/framework/util/ShiroUtils.java +++ b/opl-framework/src/main/java/com/opl/framework/core/util/ShiroUtils.java @@ -1,9 +1,5 @@ -package com.ak.framework.util; +package com.opl.framework.core.util; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.bean.BeanUtils; -import com.ak.framework.shiro.realm.UserRealm; -import com.ak.platform.domain.basedata.SysUser; import org.apache.shiro.SecurityUtils; import org.apache.shiro.crypto.SecureRandomNumberGenerator; import org.apache.shiro.mgt.RealmSecurityManager; @@ -12,10 +8,15 @@ import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.subject.SimplePrincipalCollection; import org.apache.shiro.subject.Subject; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.bean.BeanUtils; +import com.opl.framework.core.shiro.realm.UserRealm; +import com.opl.operating.platform.domain.basedata.SysUser; + /** * shiro 工具类 * - * @author Vean + * @author kingrom */ public class ShiroUtils { public static Subject getSubject() { @@ -70,6 +71,10 @@ public class ShiroUtils { public static String getSessionId() { return String.valueOf(getSubject().getSession().getId()); } + + public static String getTenantCode() { + return getSysUser().getTenantCode(); + } /** * 生成随机盐 diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/Server.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/Server.java similarity index 93% rename from ak-framework/src/main/java/com/ak/framework/web/domain/Server.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/Server.java index 3a3f6d6dd3a82a7eb14f1ded3b5fbc361a737588..1339caa49e9da415e15b892346dba4592cb247e1 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/Server.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/Server.java @@ -1,8 +1,18 @@ -package com.ak.framework.web.domain; +package com.opl.framework.core.web.domain; + +import java.net.UnknownHostException; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; + +import com.opl.framework.common.utils.Arith; +import com.opl.framework.common.utils.IpUtils; +import com.opl.framework.core.web.domain.server.Cpu; +import com.opl.framework.core.web.domain.server.Jvm; +import com.opl.framework.core.web.domain.server.Mem; +import com.opl.framework.core.web.domain.server.Sys; +import com.opl.framework.core.web.domain.server.SysFile; -import com.ak.common.utils.Arith; -import com.ak.common.utils.IpUtils; -import com.ak.framework.web.domain.server.*; import oshi.SystemInfo; import oshi.hardware.CentralProcessor; import oshi.hardware.CentralProcessor.TickType; @@ -13,15 +23,10 @@ import oshi.software.os.OSFileStore; import oshi.software.os.OperatingSystem; import oshi.util.Util; -import java.net.UnknownHostException; -import java.util.LinkedList; -import java.util.List; -import java.util.Properties; - /** * 服务器相关信息 * - * @author Vean + * @author kingrom */ public class Server { diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Cpu.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Cpu.java similarity index 92% rename from ak-framework/src/main/java/com/ak/framework/web/domain/server/Cpu.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Cpu.java index b924e06908f8b06796be7dffe763e5c0866f2d25..6dddbcecc8fff553fa8dd161309a5da8579ba90b 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Cpu.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Cpu.java @@ -1,11 +1,11 @@ -package com.ak.framework.web.domain.server; +package com.opl.framework.core.web.domain.server; -import com.ak.common.utils.Arith; +import com.opl.framework.common.utils.Arith; /** * CPU相关信息 * - * @author Vean + * @author kingrom */ public class Cpu { /** diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Jvm.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Jvm.java similarity index 92% rename from ak-framework/src/main/java/com/ak/framework/web/domain/server/Jvm.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Jvm.java index 13559b662c0495ccafce80098505b6e3d65c1112..3eec1e9eed33f1b69220b843f23d09c6056a9403 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Jvm.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Jvm.java @@ -1,14 +1,14 @@ -package com.ak.framework.web.domain.server; - -import com.ak.common.utils.Arith; -import com.ak.common.utils.DateUtils; +package com.opl.framework.core.web.domain.server; import java.lang.management.ManagementFactory; +import com.opl.framework.common.utils.Arith; +import com.opl.framework.common.utils.DateUtils; + /** * JVM相关信息 * - * @author Vean + * @author kingrom */ public class Jvm { /** diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Mem.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Mem.java similarity index 88% rename from ak-framework/src/main/java/com/ak/framework/web/domain/server/Mem.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Mem.java index 224c54a2631e58239335fc268e2508b96889ea2e..b39ba69582f6a74c8202b4fab925494bc95b5d8b 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Mem.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Mem.java @@ -1,11 +1,11 @@ -package com.ak.framework.web.domain.server; +package com.opl.framework.core.web.domain.server; -import com.ak.common.utils.Arith; +import com.opl.framework.common.utils.Arith; /** * 內存相关信息 * - * @author Vean + * @author kingrom */ public class Mem { /** diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Sys.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Sys.java similarity index 94% rename from ak-framework/src/main/java/com/ak/framework/web/domain/server/Sys.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Sys.java index dbc3896e322c0d9cebf1ceccd4af5dbbe8340c6a..1ce70b163da6823da4b512579d12fabc98e6f882 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/server/Sys.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/Sys.java @@ -1,9 +1,9 @@ -package com.ak.framework.web.domain.server; +package com.opl.framework.core.web.domain.server; /** * 系统相关信息 * - * @author Vean + * @author kingrom */ public class Sys { /** diff --git a/ak-framework/src/main/java/com/ak/framework/web/domain/server/SysFile.java b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/SysFile.java similarity index 95% rename from ak-framework/src/main/java/com/ak/framework/web/domain/server/SysFile.java rename to opl-framework/src/main/java/com/opl/framework/core/web/domain/server/SysFile.java index a692e56a7bca6f92a03ea403ae4789680132e044..534d0919e0b7bd78fa873eb8d082ca118da37b8a 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/domain/server/SysFile.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/domain/server/SysFile.java @@ -1,9 +1,9 @@ -package com.ak.framework.web.domain.server; +package com.opl.framework.core.web.domain.server; /** * 系统文件相关信息 * - * @author Vean + * @author kingrom */ public class SysFile { /** diff --git a/ak-framework/src/main/java/com/ak/framework/web/exception/GlobalExceptionHandler.java b/opl-framework/src/main/java/com/opl/framework/core/web/exception/GlobalExceptionHandler.java similarity index 89% rename from ak-framework/src/main/java/com/ak/framework/web/exception/GlobalExceptionHandler.java rename to opl-framework/src/main/java/com/opl/framework/core/web/exception/GlobalExceptionHandler.java index 7bc0a5c39d1c020e44d51dcc9417b97751052c39..59ab73ce79f0408efc0e8925692d0d1c9d578cb9 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/exception/GlobalExceptionHandler.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/exception/GlobalExceptionHandler.java @@ -1,10 +1,7 @@ -package com.ak.framework.web.exception; +package com.opl.framework.core.web.exception; + +import javax.servlet.http.HttpServletRequest; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.ServletUtils; -import com.ak.common.utils.security.PermissionUtils; -import lombok.extern.log4j.Log4j2; import org.apache.shiro.authz.AuthorizationException; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; @@ -12,15 +9,20 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; -import javax.servlet.http.HttpServletRequest; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.common.utils.security.PermissionUtils; + +import lombok.extern.slf4j.Slf4j; /** * 全局异常处理器 * - * @author Vean + * @author kingrom */ @RestControllerAdvice -@Log4j2 +@Slf4j public class GlobalExceptionHandler { /** * 权限校验失败 如果请求为ajax返回json,普通请求跳转页面 diff --git a/ak-framework/src/main/java/com/ak/framework/web/service/ConfigService.java b/opl-framework/src/main/java/com/opl/framework/core/web/service/ConfigService.java similarity index 80% rename from ak-framework/src/main/java/com/ak/framework/web/service/ConfigService.java rename to opl-framework/src/main/java/com/opl/framework/core/web/service/ConfigService.java index 9809196b99a6da029cbcb1139c8a27164f3415aa..9182ca4ef4933cf2bf127ed49239ff38cb1d5845 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/service/ConfigService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/service/ConfigService.java @@ -1,13 +1,14 @@ -package com.ak.framework.web.service; +package com.opl.framework.core.web.service; -import com.ak.platform.service.system.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.opl.operating.platform.service.system.ISysConfigService; + /** * RuoYi首创 html调用 thymeleaf 实现参数管理 * - * @author Vean + * @author kingrom */ @Service("config") public class ConfigService { diff --git a/ak-framework/src/main/java/com/ak/framework/web/service/DictService.java b/opl-framework/src/main/java/com/opl/framework/core/web/service/DictService.java similarity index 64% rename from ak-framework/src/main/java/com/ak/framework/web/service/DictService.java rename to opl-framework/src/main/java/com/opl/framework/core/web/service/DictService.java index e11004482a7069187c104cbe64a397b44b50c0f4..b11e114d845892c2f7100792689d99905efc457c 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/service/DictService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/service/DictService.java @@ -1,16 +1,17 @@ -package com.ak.framework.web.service; +package com.opl.framework.core.web.service; + +import java.util.List; -import com.ak.platform.domain.system.SysDictData; -import com.ak.platform.service.system.ISysDictDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.service.system.ISysDictDataService; /** * RuoYi首创 html调用 thymeleaf 实现字典读取 * - * @author Vean + * @author kingrom */ @Service("dict") public class DictService { @@ -26,6 +27,16 @@ public class DictService { public List getType(String dictType) { return dictDataService.selectDictDataByType(dictType); } + + /** + * 根据字典类型 及参数过滤数据 查询字典数据信息 + * + * @param dictType 字典类型 + * @return 参数键值 + */ + public List getType(String dictType,String pmisson) { + return dictDataService.selectDictDataByType(dictType,pmisson); + } /** * 根据字典类型和字典键值查询字典数据信息 diff --git a/ak-framework/src/main/java/com/ak/framework/web/service/PermissionService.java b/opl-framework/src/main/java/com/opl/framework/core/web/service/PermissionService.java similarity index 98% rename from ak-framework/src/main/java/com/ak/framework/web/service/PermissionService.java rename to opl-framework/src/main/java/com/opl/framework/core/web/service/PermissionService.java index eb17b64743f4494ef85ae932cc7eb896e1403c3b..a16db03ded22a0a5bf0d79da2a538f464b2e5e6f 100644 --- a/ak-framework/src/main/java/com/ak/framework/web/service/PermissionService.java +++ b/opl-framework/src/main/java/com/opl/framework/core/web/service/PermissionService.java @@ -1,4 +1,4 @@ -package com.ak.framework.web.service; +package com.opl.framework.core.web.service; import java.beans.BeanInfo; import java.beans.Introspector; @@ -9,12 +9,13 @@ import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; -import com.ak.common.utils.StringUtils; + +import com.opl.framework.common.utils.StringUtils; /** * RuoYi首创 js调用 thymeleaf 实现按钮权限可见性 * - * @author Vean + * @author kingrom */ @Service("permission") public class PermissionService { diff --git a/ak-quartz/pom.xml b/opl-quartz/pom.xml similarity index 72% rename from ak-quartz/pom.xml rename to opl-quartz/pom.xml index 0a005f80722dabba9c2f47bb467ec76e6cb55816..ad114c7f077fda79df130cffff4827671de6ae6a 100644 --- a/ak-quartz/pom.xml +++ b/opl-quartz/pom.xml @@ -3,13 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - stone - com.ak - 2.0 + com.opl.framework + opl-project + 1.0.0 4.0.0 - ak-quartz + opl-quartz 定时任务 @@ -23,8 +23,8 @@ - com.ak - ak-common + com.opl.framework + opl-common diff --git a/ak-quartz/src/main/java/com/ak/quartz/config/ScheduleConfig.java b/opl-quartz/src/main/java/com/opl/framework/quartz/config/ScheduleConfig.java similarity index 91% rename from ak-quartz/src/main/java/com/ak/quartz/config/ScheduleConfig.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/config/ScheduleConfig.java index ed19040e531c219bf6a8af2d093d5e8bd6a8155d..72a4cfbee4ac15832b6bf2ece257b2e33c0739e4 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/config/ScheduleConfig.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/config/ScheduleConfig.java @@ -1,4 +1,4 @@ -package com.ak.quartz.config; +package com.opl.framework.quartz.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -10,7 +10,7 @@ import java.util.Properties; /** * 定时任务配置 * - * @author Vean + * @author kingrom */ @Configuration public class ScheduleConfig { @@ -21,7 +21,7 @@ public class ScheduleConfig { // quartz参数 Properties prop = new Properties(); - prop.put("org.quartz.scheduler.instanceName", "AKScheduler"); + prop.put("org.quartz.scheduler.instanceName", "OPL-Scheduler"); prop.put("org.quartz.scheduler.instanceId", "AUTO"); // 线程池配置 prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); @@ -41,7 +41,7 @@ public class ScheduleConfig { prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); factory.setQuartzProperties(prop); - factory.setSchedulerName("AKScheduler"); + factory.setSchedulerName("OPL-Scheduler"); // 延时启动 factory.setStartupDelay(1); factory.setApplicationContextSchedulerContextKey("applicationContextKey"); diff --git a/ak-quartz/src/main/java/com/ak/quartz/controller/SysJobController.java b/opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobController.java similarity index 88% rename from ak-quartz/src/main/java/com/ak/quartz/controller/SysJobController.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobController.java index 2ea6b5311a26aada30ff2d34ac2318d1c39ecf06..1c586bfdd590dc3fd58aa9da01c5585e9830f76a 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/controller/SysJobController.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobController.java @@ -1,14 +1,14 @@ -package com.ak.quartz.controller; - -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.exception.job.TaskException; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.quartz.domain.SysJob; -import com.ak.quartz.service.ISysJobService; +package com.opl.framework.quartz.controller; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.exception.job.TaskException; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.quartz.domain.SysJob; +import com.opl.framework.quartz.service.ISysJobService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.quartz.SchedulerException; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +22,7 @@ import java.util.List; /** * 调度任务信息操作处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/monitor/job") diff --git a/ak-quartz/src/main/java/com/ak/quartz/controller/SysJobLogController.java b/opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobLogController.java similarity index 81% rename from ak-quartz/src/main/java/com/ak/quartz/controller/SysJobLogController.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobLogController.java index eede15a8aec96d5661c15639503043cffb97c757..f34585927de127b7e232da72e5c4cf5cd0b3eb6b 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/controller/SysJobLogController.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/controller/SysJobLogController.java @@ -1,13 +1,13 @@ -package com.ak.quartz.controller; +package com.opl.framework.quartz.controller; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.quartz.domain.SysJobLog; -import com.ak.quartz.service.ISysJobLogService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.quartz.domain.SysJobLog; +import com.opl.framework.quartz.service.ISysJobLogService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -19,7 +19,7 @@ import java.util.List; /** * 调度日志操作处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/monitor/jobLog") diff --git a/ak-quartz/src/main/java/com/ak/quartz/domain/SysJob.java b/opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJob.java similarity index 91% rename from ak-quartz/src/main/java/com/ak/quartz/domain/SysJob.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJob.java index 29ea8ec321d0c7179b5c96605b04e8934ce62b1b..d7c10019c9c0ba2ee9cea52969bbd3e084f1cab0 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/domain/SysJob.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJob.java @@ -1,11 +1,11 @@ -package com.ak.quartz.domain; - -import com.ak.common.annotation.Excel; -import com.ak.common.annotation.Excel.ColumnType; -import com.ak.common.constant.ScheduleConstants; -import com.ak.common.core.domain.BaseEntity; -import com.ak.common.utils.StringUtils; -import com.ak.quartz.util.CronUtils; +package com.opl.framework.quartz.domain; + +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.ColumnType; +import com.opl.framework.common.constant.ScheduleConstants; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.quartz.util.CronUtils; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -17,7 +17,7 @@ import java.util.Date; /** * 定时任务调度表 sys_job * - * @author Vean + * @author kingrom */ public class SysJob extends BaseEntity implements Serializable { private static final long serialVersionUID = 1L; diff --git a/ak-quartz/src/main/java/com/ak/quartz/domain/SysJobLog.java b/opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJobLog.java similarity index 95% rename from ak-quartz/src/main/java/com/ak/quartz/domain/SysJobLog.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJobLog.java index 053758e49bd6b00f8afe4bec37728d7648c0e537..1ab415e571888862f1ac43b3af2923c7725e0f99 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/domain/SysJobLog.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/domain/SysJobLog.java @@ -1,7 +1,7 @@ -package com.ak.quartz.domain; +package com.opl.framework.quartz.domain; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -10,7 +10,7 @@ import java.util.Date; /** * 定时任务调度日志表 sys_job_log * - * @author Vean + * @author kingrom */ public class SysJobLog extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobLogMapper.java b/opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobLogMapper.java similarity index 91% rename from ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobLogMapper.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobLogMapper.java index 275861c045fb8d9e3b18e6404d212811911e1e9c..cbef8e71c507e4a12456f0a8b5f73e5586f1072a 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobLogMapper.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobLogMapper.java @@ -1,13 +1,13 @@ -package com.ak.quartz.mapper; +package com.opl.framework.quartz.mapper; -import com.ak.quartz.domain.SysJobLog; +import com.opl.framework.quartz.domain.SysJobLog; import java.util.List; /** * 调度任务日志信息 数据层 * - * @author Vean + * @author kingrom */ public interface SysJobLogMapper { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobMapper.java b/opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobMapper.java similarity index 91% rename from ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobMapper.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobMapper.java index 46c625630783be63e75c34b5f3afffdb0df4a4d0..e073b1df884ac217496f3f5e5b2e187140049a47 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/mapper/SysJobMapper.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/mapper/SysJobMapper.java @@ -1,13 +1,13 @@ -package com.ak.quartz.mapper; +package com.opl.framework.quartz.mapper; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.quartz.domain.SysJob; import java.util.List; /** * 调度任务信息 数据层 * - * @author Vean + * @author kingrom */ public interface SysJobMapper { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/service/ISysJobLogService.java b/opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobLogService.java similarity index 90% rename from ak-quartz/src/main/java/com/ak/quartz/service/ISysJobLogService.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobLogService.java index c2a5161c62dbd581f8c0d5d8cc05672ee7f13445..b66930fe1eafa6f6ee55f6ed758bed10154bbcb0 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/service/ISysJobLogService.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobLogService.java @@ -1,13 +1,13 @@ -package com.ak.quartz.service; +package com.opl.framework.quartz.service; -import com.ak.quartz.domain.SysJobLog; +import com.opl.framework.quartz.domain.SysJobLog; import java.util.List; /** * 定时任务调度日志信息信息 服务层 * - * @author Vean + * @author kingrom */ public interface ISysJobLogService { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/service/ISysJobService.java b/opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobService.java similarity index 92% rename from ak-quartz/src/main/java/com/ak/quartz/service/ISysJobService.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobService.java index cf0c6aa578fcacb13a11e4a2631d94c743cb73ff..9d634b880c2cece3ace035ba241754054f616be8 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/service/ISysJobService.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/service/ISysJobService.java @@ -1,7 +1,7 @@ -package com.ak.quartz.service; +package com.opl.framework.quartz.service; -import com.ak.common.exception.job.TaskException; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.common.exception.job.TaskException; +import com.opl.framework.quartz.domain.SysJob; import org.quartz.SchedulerException; import java.util.List; @@ -9,7 +9,7 @@ import java.util.List; /** * 定时任务调度信息信息 服务层 * - * @author Vean + * @author kingrom */ public interface ISysJobService { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobLogServiceImpl.java b/opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobLogServiceImpl.java similarity index 85% rename from ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobLogServiceImpl.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobLogServiceImpl.java index 61b4fccf9336aef47a059883aef9d5eac66759ca..c7b53b54e0645a53265f7f01c17e25107ef57395 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobLogServiceImpl.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobLogServiceImpl.java @@ -1,9 +1,9 @@ -package com.ak.quartz.service.impl; +package com.opl.framework.quartz.service.impl; -import com.ak.common.core.text.Convert; -import com.ak.quartz.domain.SysJobLog; -import com.ak.quartz.mapper.SysJobLogMapper; -import com.ak.quartz.service.ISysJobLogService; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.quartz.domain.SysJobLog; +import com.opl.framework.quartz.mapper.SysJobLogMapper; +import com.opl.framework.quartz.service.ISysJobLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -12,7 +12,7 @@ import java.util.List; /** * 定时任务调度日志信息 服务层 * - * @author Vean + * @author kingrom */ @Service public class SysJobLogServiceImpl implements ISysJobLogService { diff --git a/ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobServiceImpl.java b/opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobServiceImpl.java similarity index 92% rename from ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobServiceImpl.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobServiceImpl.java index 501ce96ccff20d592692b7802904a4402019f18d..ad91dabba1c5b9c19ad7fdeff00bc9706e1e7c8a 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/service/impl/SysJobServiceImpl.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/service/impl/SysJobServiceImpl.java @@ -1,13 +1,13 @@ -package com.ak.quartz.service.impl; - -import com.ak.common.constant.ScheduleConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.job.TaskException; -import com.ak.quartz.domain.SysJob; -import com.ak.quartz.mapper.SysJobMapper; -import com.ak.quartz.service.ISysJobService; -import com.ak.quartz.util.CronUtils; -import com.ak.quartz.util.ScheduleUtils; +package com.opl.framework.quartz.service.impl; + +import com.opl.framework.common.constant.ScheduleConstants; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.job.TaskException; +import com.opl.framework.quartz.domain.SysJob; +import com.opl.framework.quartz.mapper.SysJobMapper; +import com.opl.framework.quartz.service.ISysJobService; +import com.opl.framework.quartz.util.CronUtils; +import com.opl.framework.quartz.util.ScheduleUtils; import org.quartz.JobDataMap; import org.quartz.JobKey; import org.quartz.Scheduler; @@ -22,7 +22,7 @@ import java.util.List; /** * 定时任务调度信息 服务层 * - * @author Vean + * @author kingrom */ @Service public class SysJobServiceImpl implements ISysJobService { diff --git a/ak-quartz/src/main/java/com/ak/quartz/task/MyTask.java b/opl-quartz/src/main/java/com/opl/framework/quartz/task/MyTask.java similarity index 84% rename from ak-quartz/src/main/java/com/ak/quartz/task/MyTask.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/task/MyTask.java index 0c5c7acdedea455f166992981bbfbcb89ccb3689..77db1e62de85e07b6da55a2123bfcd8fb6d3b26d 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/task/MyTask.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/task/MyTask.java @@ -1,12 +1,12 @@ -package com.ak.quartz.task; +package com.opl.framework.quartz.task; -import com.ak.common.utils.StringUtils; +import com.opl.framework.common.utils.StringUtils; import org.springframework.stereotype.Component; /** * 定时任务调度测试 * - * @author Vean + * @author kingrom */ @Component("myTask") public class MyTask { diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/AbstractQuartzJob.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/AbstractQuartzJob.java similarity index 83% rename from ak-quartz/src/main/java/com/ak/quartz/util/AbstractQuartzJob.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/AbstractQuartzJob.java index bd9d8d42270e15499e3b1705fdaae3616627bba7..af8e3f71972462a20f1cc65f6688c75eebd238c7 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/AbstractQuartzJob.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/AbstractQuartzJob.java @@ -1,14 +1,14 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; -import com.ak.common.constant.Constants; -import com.ak.common.constant.ScheduleConstants; -import com.ak.common.utils.ExceptionUtil; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.bean.BeanUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.quartz.domain.SysJob; -import com.ak.quartz.domain.SysJobLog; -import com.ak.quartz.service.ISysJobLogService; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.constant.ScheduleConstants; +import com.opl.framework.common.utils.ExceptionUtil; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.bean.BeanUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.quartz.domain.SysJob; +import com.opl.framework.quartz.domain.SysJobLog; +import com.opl.framework.quartz.service.ISysJobLogService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -20,7 +20,7 @@ import java.util.Date; /** * 抽象quartz调用 * - * @author Vean + * @author kingrom */ public abstract class AbstractQuartzJob implements Job { private static final Logger log = LoggerFactory.getLogger(AbstractQuartzJob.class); diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/CronUtils.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/CronUtils.java similarity index 96% rename from ak-quartz/src/main/java/com/ak/quartz/util/CronUtils.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/CronUtils.java index aeb04912c341e51a6a748e4b54179b76a6f5c41f..8858e0be43887886da9afbb892947da7df0239b5 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/CronUtils.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/CronUtils.java @@ -1,4 +1,4 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; import org.quartz.CronExpression; @@ -8,7 +8,7 @@ import java.util.Date; /** * cron表达式工具类 * - * @author Vean + * @author kingrom */ public class CronUtils { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/JobInvokeUtil.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/JobInvokeUtil.java similarity index 96% rename from ak-quartz/src/main/java/com/ak/quartz/util/JobInvokeUtil.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/JobInvokeUtil.java index 8ecc08bd718d35e150509eaea564b92858f922d6..132052e8028b4a29a2842cc4575803b335fd0101 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/JobInvokeUtil.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/JobInvokeUtil.java @@ -1,8 +1,8 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.quartz.domain.SysJob; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -12,7 +12,7 @@ import java.util.List; /** * 任务执行工具 * - * @author Vean + * @author kingrom */ public class JobInvokeUtil { /** diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/QuartzDisallowConcurrentExecution.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzDisallowConcurrentExecution.java similarity index 79% rename from ak-quartz/src/main/java/com/ak/quartz/util/QuartzDisallowConcurrentExecution.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzDisallowConcurrentExecution.java index 16bd9c88feab3de6463693a8a2856c6fd93f4207..a56a5882d59c4a20151664dbb6be0b183bb89781 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/QuartzDisallowConcurrentExecution.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzDisallowConcurrentExecution.java @@ -1,13 +1,13 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.quartz.domain.SysJob; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; /** * 定时任务处理(禁止并发执行) * - * @author Vean + * @author kingrom */ @DisallowConcurrentExecution public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob { diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/QuartzJobExecution.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzJobExecution.java similarity index 75% rename from ak-quartz/src/main/java/com/ak/quartz/util/QuartzJobExecution.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzJobExecution.java index 11724d7dc48d77f84e0978140ecf8afb6b5a9332..a88593eeab4f276ffc273024b201532e23250a45 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/QuartzJobExecution.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/QuartzJobExecution.java @@ -1,12 +1,12 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.quartz.domain.SysJob; import org.quartz.JobExecutionContext; /** * 定时任务处理(允许并发执行) * - * @author Vean + * @author kingrom */ public class QuartzJobExecution extends AbstractQuartzJob { @Override diff --git a/ak-quartz/src/main/java/com/ak/quartz/util/ScheduleUtils.java b/opl-quartz/src/main/java/com/opl/framework/quartz/util/ScheduleUtils.java similarity index 91% rename from ak-quartz/src/main/java/com/ak/quartz/util/ScheduleUtils.java rename to opl-quartz/src/main/java/com/opl/framework/quartz/util/ScheduleUtils.java index 2be19d0f9b48be6361e493cb301a65a0d022e479..02e20217e27b7be3b2eef8c0617990d9863e0b68 100644 --- a/ak-quartz/src/main/java/com/ak/quartz/util/ScheduleUtils.java +++ b/opl-quartz/src/main/java/com/opl/framework/quartz/util/ScheduleUtils.java @@ -1,15 +1,15 @@ -package com.ak.quartz.util; +package com.opl.framework.quartz.util; -import com.ak.common.constant.ScheduleConstants; -import com.ak.common.exception.job.TaskException; -import com.ak.common.exception.job.TaskException.Code; -import com.ak.quartz.domain.SysJob; +import com.opl.framework.common.constant.ScheduleConstants; +import com.opl.framework.common.exception.job.TaskException; +import com.opl.framework.common.exception.job.TaskException.Code; +import com.opl.framework.quartz.domain.SysJob; import org.quartz.*; /** * 定时任务工具类 * - * @author Vean + * @author kingrom */ public class ScheduleUtils { /** diff --git a/ak-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml b/opl-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml similarity index 98% rename from ak-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml rename to opl-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml index c200113dddc8ed14badafe9fcbcbec98523adcd3..ad691cb213588cc3aa72bd62aca824d6cdee1af5 100644 --- a/ak-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml +++ b/opl-quartz/src/main/resources/mapper/quartz/SysJobLogMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml b/opl-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml similarity index 98% rename from ak-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml rename to opl-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml index 1a65d0dcb0ee5c6e506fe4ac694624ae0abd78c4..1ab36d4cf6f6c1eb57456e079a87869a9afa712a 100644 --- a/ak-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml +++ b/opl-quartz/src/main/resources/mapper/quartz/SysJobMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-quartz/src/main/resources/templates/monitor/job/add.html b/opl-quartz/src/main/resources/templates/monitor/job/add.html similarity index 97% rename from ak-quartz/src/main/resources/templates/monitor/job/add.html rename to opl-quartz/src/main/resources/templates/monitor/job/add.html index f043c0ebd8fd690997d21af8f919232cf6d3a12f..d75c74f0e9bea903d26c0437385ee0c362589121 100644 --- a/ak-quartz/src/main/resources/templates/monitor/job/add.html +++ b/opl-quartz/src/main/resources/templates/monitor/job/add.html @@ -27,7 +27,7 @@ Bean调用示例:myTask.ryParams('abc') - Class类调用示例:com.ak.quartz.task.MyTask.ryParams('abc') + Class类调用示例:com.opl.framework.quartz.task.MyTask.ryParams('abc') 参数说明:支持字符串,布尔类型,长整型,浮点型,整型 diff --git a/ak-quartz/src/main/resources/templates/monitor/job/detail.html b/opl-quartz/src/main/resources/templates/monitor/job/detail.html similarity index 100% rename from ak-quartz/src/main/resources/templates/monitor/job/detail.html rename to opl-quartz/src/main/resources/templates/monitor/job/detail.html diff --git a/ak-quartz/src/main/resources/templates/monitor/job/edit.html b/opl-quartz/src/main/resources/templates/monitor/job/edit.html similarity index 98% rename from ak-quartz/src/main/resources/templates/monitor/job/edit.html rename to opl-quartz/src/main/resources/templates/monitor/job/edit.html index c025aa06a837d6ec33827f3c8fdcefd44036cf0b..6390696ac37f915bfe562255e6710a40ee9eacf7 100644 --- a/ak-quartz/src/main/resources/templates/monitor/job/edit.html +++ b/opl-quartz/src/main/resources/templates/monitor/job/edit.html @@ -30,7 +30,7 @@ required> Bean调用示例:myTask.ryParams('abc') - Class类调用示例:com.ak.quartz.task.MyTask.ryParams('abc') + Class类调用示例:com.opl.framework.quartz.task.MyTask.ryParams('abc') 参数说明:支持字符串,布尔类型,长整型,浮点型,整型 diff --git a/ak-quartz/src/main/resources/templates/monitor/job/job.html b/opl-quartz/src/main/resources/templates/monitor/job/job.html similarity index 100% rename from ak-quartz/src/main/resources/templates/monitor/job/job.html rename to opl-quartz/src/main/resources/templates/monitor/job/job.html diff --git a/ak-quartz/src/main/resources/templates/monitor/job/jobLog.html b/opl-quartz/src/main/resources/templates/monitor/job/jobLog.html similarity index 100% rename from ak-quartz/src/main/resources/templates/monitor/job/jobLog.html rename to opl-quartz/src/main/resources/templates/monitor/job/jobLog.html diff --git a/ak-system-api/pom.xml b/opl-system-api/pom.xml similarity index 75% rename from ak-system-api/pom.xml rename to opl-system-api/pom.xml index 75b8df6cf912494a02c0773aabf5980ea663c0e4..3a6e08f13b77710b707b0f967da97b660e9caf9e 100644 --- a/ak-system-api/pom.xml +++ b/opl-system-api/pom.xml @@ -3,13 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - stone - com.ak - 2.0 + com.opl.framework + opl-project + 1.0.0 4.0.0 - ak-system-api + opl-system-api 系统模块 @@ -17,8 +17,8 @@ - com.ak - ak-common + com.opl.framework + opl-common diff --git a/ak-system-api/src/main/java/com/ak/demo/domain/UserOperateModel.java b/opl-system-api/src/main/java/com/opl/operating/demo/domain/UserOperateModel.java similarity index 84% rename from ak-system-api/src/main/java/com/ak/demo/domain/UserOperateModel.java rename to opl-system-api/src/main/java/com/opl/operating/demo/domain/UserOperateModel.java index 40a00e8196988847b331a0b1855eab59eaddfdf7..b70fa9418969d09949277c4ad95b9237cf165045 100644 --- a/ak-system-api/src/main/java/com/ak/demo/domain/UserOperateModel.java +++ b/opl-system-api/src/main/java/com/opl/operating/demo/domain/UserOperateModel.java @@ -1,17 +1,17 @@ -package com.ak.demo.domain; +package com.opl.operating.demo.domain; import java.util.Date; -import com.ak.common.annotation.Excel; -import com.ak.common.annotation.Excel.Type; -import com.ak.common.core.domain.BaseEntity; -import com.ak.common.utils.DateUtils; -import lombok.Data; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.Type; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.framework.common.utils.DateUtils; + import lombok.Getter; import lombok.Setter; /** - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDept.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDept.java similarity index 92% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDept.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDept.java index 9c86b58c9f81a2e1b9754ded80aabae64a2d67c3..14cd1e2c6b445c8a401725de656c1e923f23569b 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDept.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDept.java @@ -1,10 +1,10 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -12,7 +12,7 @@ import lombok.Setter; /** * 部门表 sys_dept * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDistricts.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDistricts.java similarity index 83% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDistricts.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDistricts.java index 330c297ba8f8e181ca5df949872f71dfc6fafa8b..9125fcde22a86e930ea6cc65933c3a55599dbe10 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysDistricts.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysDistricts.java @@ -1,11 +1,11 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; /** - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysMenu.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysMenu.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysMenu.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysMenu.java index 29959167468a6580f7f65bc613847448f38cef88..cbe9a02e84c7d8df142413d68e9c09160a1f5955 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysMenu.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysMenu.java @@ -1,12 +1,12 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; -import java.util.ArrayList; import java.util.List; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.core.domain.BaseEntity; +import com.google.common.collect.Lists; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -14,7 +14,7 @@ import lombok.Setter; /** * 菜单权限表 sys_menu * - * @author Vean + * @author kingrom */ @Getter @Setter @@ -91,6 +91,6 @@ public class SysMenu extends BaseEntity { /** * 子菜单 */ - private List children = new ArrayList(); + private List children = Lists.newArrayList(); } diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysPost.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysPost.java similarity index 88% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysPost.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysPost.java index d3079d28f5eab8880bd2498e563c301aa57c6637..388d217ed4fcb854c9a552d24d6ca5e46cbdde7c 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysPost.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysPost.java @@ -1,9 +1,9 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; -import com.ak.common.annotation.Excel; -import com.ak.common.annotation.Excel.ColumnType; -import com.ak.common.core.domain.BaseEntity; -import com.ak.platform.domain.system.SysTenant; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.ColumnType; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.operating.platform.domain.system.SysTenant; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -15,7 +15,7 @@ import javax.validation.constraints.Size; /** * 岗位表 sys_post * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRole.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRole.java similarity index 89% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRole.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRole.java index b18ecaf5682246c7a13a3f81c30f2ba4d8cb636d..13061515fb037a77509ed94fec326583c0336350 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRole.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRole.java @@ -1,19 +1,19 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; -import com.ak.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.system.SysTenant; import lombok.Getter; import lombok.Setter; /** * 角色表 sys_role * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleDept.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleDept.java similarity index 75% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleDept.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleDept.java index 07ea361fadf87b0eda74f2605e37331bf8d3c194..c972823f583991f14c1327ca5d522b206104b750 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleDept.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleDept.java @@ -1,11 +1,11 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import lombok.Data; /** * 角色和部门关联 sys_role_dept * - * @author Vean + * @author kingrom */ @Data public class SysRoleDept { diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleMenu.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleMenu.java similarity index 75% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleMenu.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleMenu.java index 690d3f4250e8fe9fa60176900790c921cb39c9b1..f69a833b90b8be353e21bf948d11ec38d5c12921 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysRoleMenu.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysRoleMenu.java @@ -1,11 +1,11 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import lombok.Data; /** * 角色和菜单关联 sys_role_menu * - * @author Vean + * @author kingrom */ @Data public class SysRoleMenu { diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUser.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUser.java similarity index 91% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUser.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUser.java index 6e3c23208e0efd73fb5d73210be2604e4851a475..8ded5bda218132bb03d48d700a70611db1229b14 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUser.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUser.java @@ -1,10 +1,10 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; -import com.ak.common.annotation.Excel; -import com.ak.common.annotation.Excel.Type; -import com.ak.common.annotation.Excels; -import com.ak.common.core.domain.BaseEntity; -import com.ak.platform.domain.system.SysTenant; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.annotation.Excel.Type; +import com.opl.framework.common.annotation.Excels; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.operating.platform.domain.system.SysTenant; import lombok.Getter; import lombok.Setter; @@ -17,7 +17,7 @@ import java.util.List; /** * 用户对象 sys_user * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserPost.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserPost.java similarity index 92% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserPost.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserPost.java index b118b5e03c16f5eda214f1ed139a049f4a060fa1..56882b61cd577ec2d97e979ed4a9e4741621c532 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserPost.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserPost.java @@ -1,4 +1,4 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -6,7 +6,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; /** * 用户和岗位关联 sys_user_post * - * @author Vean + * @author kingrom */ public class SysUserPost { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserRole.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserRole.java similarity index 75% rename from ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserRole.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserRole.java index 693d578ad7a6d06ef1fceb0a1e0e16de77c833a2..796709ccdc7b2794a7fe428f069766a3decf012f 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/basedata/SysUserRole.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/basedata/SysUserRole.java @@ -1,11 +1,11 @@ -package com.ak.platform.domain.basedata; +package com.opl.operating.platform.domain.basedata; import lombok.Data; /** * 用户和角色关联 sys_user_role * - * @author Vean + * @author kingrom */ @Data public class SysUserRole { diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/ChannelFinanceAmount.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/ChannelFinanceAmount.java new file mode 100644 index 0000000000000000000000000000000000000000..72f38b05c2032edb856460392e82e3e99ac52fb6 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/ChannelFinanceAmount.java @@ -0,0 +1,82 @@ +package com.opl.operating.platform.domain.global; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import lombok.Data; + +/** + * 渠道额度 + * @author changshengye + * + */ +@Data +public class ChannelFinanceAmount implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.id + * + * @mbg.generated + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.channel_id + * + * @mbg.generated + */ + private Integer channelId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.finance_id + * + * @mbg.generated + */ + private Integer financeId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.amount + * + * @mbg.generated + */ + private BigDecimal amount; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.result + * + * @mbg.generated + */ + private String result; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.ctime + * + * @mbg.generated + */ + private Date ctime; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_channel_finance_amount.utime + * + * @mbg.generated + */ + private Date utime; + +} \ No newline at end of file diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/MerchantChannel.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/MerchantChannel.java new file mode 100644 index 0000000000000000000000000000000000000000..4204bfb5748a99a4082e75bf8810aadbd3359280 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/global/MerchantChannel.java @@ -0,0 +1,71 @@ +package com.opl.operating.platform.domain.global; + +import java.io.Serializable; + +import lombok.Data; + +/** + * 渠道密钥 + * @author changshengye + * + */ +@Data +public class MerchantChannel implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.id + * + * @mbg.generated + */ + private Integer id; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.merchant_id + * + * @mbg.generated + */ + private Integer merchantId; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.code + * + * @mbg.generated + */ + private String code; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.public_key + * + * @mbg.generated + */ + private String publicKey; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.private_key + * + * @mbg.generated + */ + private String privateKey; + + /** + * + * This field was generated by MyBatis Generator. + * This field corresponds to the database column t_merchant_channel.encrypt + * + * @mbg.generated + */ + private String encrypt; + +} \ No newline at end of file diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/log/SysLogininfor.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysLogininfor.java similarity index 91% rename from ak-system-api/src/main/java/com/ak/platform/domain/log/SysLogininfor.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysLogininfor.java index 3b3dc763417510435d1375811496a85e75abc210..9e342c336f41b169dda7d312510e1e5bebed1bfc 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/log/SysLogininfor.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysLogininfor.java @@ -1,12 +1,12 @@ -package com.ak.platform.domain.log; +package com.opl.operating.platform.domain.log; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.util.Date; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -14,7 +14,7 @@ import lombok.Setter; /** * 系统访问记录表 sys_logininfor * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/log/SysOperLog.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysOperLog.java similarity index 94% rename from ak-system-api/src/main/java/com/ak/platform/domain/log/SysOperLog.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysOperLog.java index 359b23c0e97166d113b080343e048f0ac10bfb9f..f73073402f9dfd57fc097595ac05514ceb601f09 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/log/SysOperLog.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/log/SysOperLog.java @@ -1,12 +1,12 @@ -package com.ak.platform.domain.log; +package com.opl.operating.platform.domain.log; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.util.Date; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -14,7 +14,7 @@ import lombok.Setter; /** * 操作日志记录表 oper_log * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/message/SysNotice.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/message/SysNotice.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/domain/message/SysNotice.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/message/SysNotice.java index 8ab218469f5b1ab994407d5bd93a88f27cafe3c2..dec4723b100cfdaf449795d6901e3770e11edbad 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/message/SysNotice.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/message/SysNotice.java @@ -1,9 +1,9 @@ -package com.ak.platform.domain.message; +package com.opl.operating.platform.domain.message; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -11,7 +11,7 @@ import lombok.Setter; /** * 通知公告表 sys_notice * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/monitor/SysUserOnline.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/monitor/SysUserOnline.java similarity index 86% rename from ak-system-api/src/main/java/com/ak/platform/domain/monitor/SysUserOnline.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/monitor/SysUserOnline.java index 1318facad7ea56b04ae7d2ab2e62183f225a05a8..cad20b2eb0818281dacffc13940e46202f43f880 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/monitor/SysUserOnline.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/monitor/SysUserOnline.java @@ -1,7 +1,7 @@ -package com.ak.platform.domain.monitor; +package com.opl.operating.platform.domain.monitor; -import com.ak.common.core.domain.BaseEntity; -import com.ak.common.enums.OnlineStatus; +import com.opl.framework.common.core.domain.BaseEntity; +import com.opl.framework.common.enums.OnlineStatus; import lombok.Getter; import lombok.Setter; @@ -10,7 +10,7 @@ import java.util.Date; /** * 当前在线会话 sys_user_online * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysApplication.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysApplication.java similarity index 76% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysApplication.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysApplication.java index ae4da03cacd0b84ef762452c21cd8aa303b6ec06..a501c290afcbd68eb5823e04b44bb4136dce2011 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysApplication.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysApplication.java @@ -1,22 +1,27 @@ -package com.ak.platform.domain.system; - -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; -import lombok.Getter; -import lombok.Setter; +package com.opl.operating.platform.domain.system; import javax.validation.constraints.NotBlank; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + /** * 子系统表 sys_application * - * @author Vean + * @author kingrom */ -@Getter -@Setter +@Data +@EqualsAndHashCode(callSuper=false) +@ToString public class SysApplication extends BaseEntity { - /** + private static final long serialVersionUID = 999840065920918278L; + + /** * 子系统编码 编码规则:由6位数字组成 CodeGenerateUtils.applicationCodeGenerate() */ @NotBlank(message = "系统编码不能为空") diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysConfig.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysConfig.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysConfig.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysConfig.java index 83f9a377500fc833b222dc22dec1e301d4af5bc6..1a9abefeb21be96e7c798a33e5cb07ab93d5cbc8 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysConfig.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysConfig.java @@ -1,10 +1,10 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -12,7 +12,7 @@ import lombok.Setter; /** * 参数配置表 sys_config * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasource.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasource.java similarity index 80% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasource.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasource.java index 6a449f265a010a67608b28a709f9959709f2a281..dbc8a1f436a9655167405f6c0a1099bd9cc8f836 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasource.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasource.java @@ -1,17 +1,18 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.core.domain.BaseEntity; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; +import lombok.EqualsAndHashCode; /** * 数据源表 sys_datasource * - * @author Vean + * @author kingrom */ -@Getter -@Setter + +@Data +@EqualsAndHashCode(callSuper=false) public class SysDatasource extends BaseEntity { private static final long serialVersionUID = -4339894349439046011L; @@ -65,6 +66,8 @@ public class SysDatasource extends BaseEntity { * 部门状态:0正常,1停用 */ private String status; + + private String appCode; private SysTenant tenant; diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasourceApplication.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasourceApplication.java similarity index 88% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasourceApplication.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasourceApplication.java index 7f4c4d1f5aca64ab4ba3b17fc5762cc6432d8d21..a67937515cec1035771e324019e5db037e228e6b 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDatasourceApplication.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDatasourceApplication.java @@ -1,4 +1,4 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; import lombok.Data; @@ -7,7 +7,7 @@ import java.util.List; /** * 子系统数据源中间表 sys_application_datasource * - * @author Vean + * @author kingrom */ @Data public class SysDatasourceApplication { diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictData.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictData.java similarity index 90% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictData.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictData.java index 08df148b4a56cec11f6d83e7a261ce48a3430902..994a6d41e6832b6bcaae4d20549268837c28b4e0 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictData.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictData.java @@ -1,17 +1,17 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; import javax.validation.constraints.*; import lombok.Getter; import lombok.Setter; -import com.ak.common.annotation.Excel; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.domain.BaseEntity; /** * 字典数据表 sys_dict_data * - * @author Vean + * @author kingrom */ public class SysDictData extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictType.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictType.java similarity index 85% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictType.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictType.java index c09c1ae79c21b38d22b3cc273094aeb9d43cd66d..5a773b97fe18d788442b8f275c6602637b20e1a7 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysDictType.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysDictType.java @@ -1,10 +1,10 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -12,7 +12,7 @@ import lombok.Setter; /** * 字典类型表 sys_dict_type * - * @author Vean + * @author kingrom */ @Getter @Setter diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenant.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenant.java similarity index 82% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenant.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenant.java index d9047ce30fc7a26b76c922a5f81f5630061c3230..e8d50b76871c0ccc69a87419e8b00bd0af62c8ec 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenant.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenant.java @@ -1,7 +1,7 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; -import com.ak.common.annotation.Excel; -import com.ak.common.core.domain.BaseEntity; +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -11,13 +11,15 @@ import javax.validation.constraints.Pattern; /** * 租户信息表 sys_tenant * - * @author Vean + * @author kingrom */ @Getter @Setter public class SysTenant extends BaseEntity { - /** + private static final long serialVersionUID = 1L; + + /** * 租户编码 编码规则:由8位大写母组成 CodeUtils.tenantCodeGenerate() */ @NotBlank(message = "租户编码不能为空") @@ -46,6 +48,11 @@ public class SysTenant extends BaseEntity { @Pattern(regexp = "^(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(16[6])|(17[0135678])|(18[0-9])|(19[89]))\\d{8})$", message = "手机号格式错误") private String contactNumber; + /** + * 渠道id + * 1,2,3,4,5,6,7,8,9 + */ + private String channelId; /** * 联系地址 */ diff --git a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenantApplication.java b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenantApplication.java similarity index 85% rename from ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenantApplication.java rename to opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenantApplication.java index 024a621acb9f55d2720277f66fe561a5cc620a24..8e5acbbc3719d4dbe32b8abb4aa1da64f2467daf 100644 --- a/ak-system-api/src/main/java/com/ak/platform/domain/system/SysTenantApplication.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/domain/system/SysTenantApplication.java @@ -1,4 +1,4 @@ -package com.ak.platform.domain.system; +package com.opl.operating.platform.domain.system; import lombok.Data; @@ -8,7 +8,7 @@ import java.util.List; /** * 租户子系统中间表 sys_tenant_application * - * @author Vean + * @author kingrom */ @Data public class SysTenantApplication { diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDeptService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDeptService.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDeptService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDeptService.java index 25c7f4e7442e11a9d7d7bc77008208bcf351be1f..0ceea2e56af3ae4bf3e59d3c33a435e518b7300e 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDeptService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDeptService.java @@ -1,16 +1,16 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.common.core.domain.Ztree; -import com.ak.platform.domain.basedata.SysDept; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.system.SysTenant; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.system.SysTenant; import java.util.List; /** * 部门管理 服务层 * - * @author Vean + * @author kingrom */ public interface ISysDeptService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDistrictsService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDistrictsService.java similarity index 86% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDistrictsService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDistrictsService.java index 5e964a61cf1b9bf76124dddfdc7a72eb97051562..4cdc1968906935a7412cffb1575b4604ebdb8673 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysDistrictsService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysDistrictsService.java @@ -1,11 +1,11 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.platform.domain.basedata.SysDistricts; +import com.opl.operating.platform.domain.basedata.SysDistricts; import java.util.List; /** - * @author Vean + * @author kingrom */ public interface ISysDistrictsService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysMenuService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysMenuService.java similarity index 89% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysMenuService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysMenuService.java index 0c83ac4f0d1e344f2a870c02296d78e57b77b414..cd1dab688f6964e8efa32391a96698b335d5eaaa 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysMenuService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysMenuService.java @@ -1,9 +1,9 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.common.core.domain.Ztree; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysUser; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; import java.util.List; import java.util.Map; @@ -12,7 +12,7 @@ import java.util.Set; /** * 菜单 业务层 * - * @author Vean + * @author kingrom */ public interface ISysMenuService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysPostService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysPostService.java similarity index 93% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysPostService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysPostService.java index f51b0d587544fd11d62e4db80f6703691b8130c2..d6f73daa929548c18b24c31bf7fc1ac7b1c41afb 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysPostService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysPostService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.platform.domain.basedata.SysPost; +import com.opl.operating.platform.domain.basedata.SysPost; import java.util.List; /** * 岗位信息 服务层 * - * @author Vean + * @author kingrom */ public interface ISysPostService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysRoleService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysRoleService.java similarity index 92% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysRoleService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysRoleService.java index 688ecc4ffeb2b057190b117bec5c128beb97ec75..ea0bf4fc2ef14ebb5bbb6a26a00a22cac28da6f9 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysRoleService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysRoleService.java @@ -1,8 +1,8 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.basedata.SysUserRole; import java.util.List; import java.util.Set; @@ -10,7 +10,7 @@ import java.util.Set; /** * 角色业务层 * - * @author Vean + * @author kingrom */ public interface ISysRoleService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysUserService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysUserService.java similarity index 94% rename from ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysUserService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysUserService.java index e5dbc427baf405b5b8834a932e87a65bcf0c3cba..adfa9bd76e646c21399dc308941e4e1cc1ddc824 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/basedata/ISysUserService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/basedata/ISysUserService.java @@ -1,15 +1,15 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.platform.domain.basedata.SysDept; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.basedata.SysUser; import java.util.List; /** * 用户 业务层 * - * @author Vean + * @author kingrom */ public interface ISysUserService { /** diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IChannelFinanceAmountService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IChannelFinanceAmountService.java new file mode 100644 index 0000000000000000000000000000000000000000..c7a6032e51d36472070c45db6acbc97ec58c5be4 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IChannelFinanceAmountService.java @@ -0,0 +1,55 @@ +package com.opl.operating.platform.service.global; + +import java.util.List; + +import com.opl.operating.platform.domain.global.ChannelFinanceAmount; + +/** + * 渠道额度 服务层实现 + * + * @author kingrom + * @date 2018-06-25 + */ + +public interface IChannelFinanceAmountService { + + /** + * 查询渠道额度 + * + * @param 渠道额度Id + * @return 额度 + */ + public ChannelFinanceAmount selectChannelFinanceAmountById(Long id); + + /** + * 查询渠道额度 + * + * @param 渠道额度 + * @return 渠道额度集合 + */ + public List selectChannelFinanceAmountList(ChannelFinanceAmount channelFinanceAmount); + + /** + * 新增渠道额度 + * + * @param 渠道额度 + * @return 结果 + */ + public int insertChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount); + + /** + * 修改公告 + * + * @param 渠道额度 + * @return 结果 + */ + public int updateChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount); + + /** + * 删除公告对象 + * + * @param ids 需要删除的渠道额度 + * @return 结果 + */ + public int deleteChannelFinanceAmountByIds(String ids); +} diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IMerchantChannelService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IMerchantChannelService.java new file mode 100644 index 0000000000000000000000000000000000000000..fd95348ebca28202db83a0071cdacfb3570b7421 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/global/IMerchantChannelService.java @@ -0,0 +1,55 @@ +package com.opl.operating.platform.service.global; + +import java.util.List; + +import com.opl.operating.platform.domain.global.MerchantChannel; + +/** + * 渠道密钥 服务层实现 + * + * @author kingrom + * @date 2018-06-25 + */ + +public interface IMerchantChannelService { + + /** + * 查询渠道密钥 + * + * @param 渠道密钥Id + * @return 额度 + */ + public MerchantChannel selectMerchantChannelById(Long id); + + /** + * 查询渠道密钥 + * + * @param 渠道密钥 + * @return 渠道密钥集合 + */ + public List selectMerchantChannelList(MerchantChannel channelFinanceAmount); + + /** + * 新增渠道密钥 + * + * @param 渠道密钥 + * @return 结果 + */ + public int insertMerchantChannel(MerchantChannel channelFinanceAmount); + + /** + * 修改公告 + * + * @param 渠道密钥 + * @return 结果 + */ + public int updateMerchantChannel(MerchantChannel channelFinanceAmount); + + /** + * 删除公告对象 + * + * @param ids 需要删除的渠道密钥 + * @return 结果 + */ + public int deleteMerchantChannelByIds(String ids); +} diff --git a/ak-system-api/src/main/java/com/ak/platform/service/log/ISysLogininforService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysLogininforService.java similarity index 85% rename from ak-system-api/src/main/java/com/ak/platform/service/log/ISysLogininforService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysLogininforService.java index 93ae069c81f3adb70f1072115abe4971c6d510ed..3382442dd3f32c7b0f63963bf3f8fd81653878e5 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/log/ISysLogininforService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysLogininforService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.log; +package com.opl.operating.platform.service.log; import java.util.List; -import com.ak.platform.domain.log.SysLogininfor; +import com.opl.operating.platform.domain.log.SysLogininfor; /** * 系统访问日志情况信息 服务层 * - * @author Vean + * @author kingrom */ public interface ISysLogininforService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/log/ISysOperLogService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysOperLogService.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/service/log/ISysOperLogService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysOperLogService.java index 56e66464d0611130cd9155a79a8b8bca38f37994..a175d63bbf40d1363ad703ac484de6a4046146e8 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/log/ISysOperLogService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/log/ISysOperLogService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.log; +package com.opl.operating.platform.service.log; import java.util.List; -import com.ak.platform.domain.log.SysOperLog; +import com.opl.operating.platform.domain.log.SysOperLog; /** * 操作日志 服务层 * - * @author Vean + * @author kingrom */ public interface ISysOperLogService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/message/ISysNoticeService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/message/ISysNoticeService.java similarity index 87% rename from ak-system-api/src/main/java/com/ak/platform/service/message/ISysNoticeService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/message/ISysNoticeService.java index 7b39a4584e72050dc9625addae24643634f8afd8..908a585d899eed25f9d2964d745acb70916fb2f6 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/message/ISysNoticeService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/message/ISysNoticeService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.message; +package com.opl.operating.platform.service.message; import java.util.List; -import com.ak.platform.domain.message.SysNotice; +import com.opl.operating.platform.domain.message.SysNotice; /** * 公告 服务层 * - * @author Vean + * @author kingrom */ public interface ISysNoticeService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/monitor/ISysUserOnlineService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/monitor/ISysUserOnlineService.java similarity index 90% rename from ak-system-api/src/main/java/com/ak/platform/service/monitor/ISysUserOnlineService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/monitor/ISysUserOnlineService.java index 4fc8f2882f0c3f912ba91f34ec8030418dbb3ed8..ae51073d08078310ebfe31912d6448dece2deb84 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/monitor/ISysUserOnlineService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/monitor/ISysUserOnlineService.java @@ -1,14 +1,14 @@ -package com.ak.platform.service.monitor; +package com.opl.operating.platform.service.monitor; import java.util.Date; import java.util.List; -import com.ak.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.domain.monitor.SysUserOnline; /** * 在线用户 服务层 * - * @author Vean + * @author kingrom */ public interface ISysUserOnlineService { /** diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanOrderService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanOrderService.java new file mode 100644 index 0000000000000000000000000000000000000000..06469f730b338be5be1fef69522a8da54dabfedc --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanOrderService.java @@ -0,0 +1,14 @@ +package com.opl.operating.platform.service.operat; + +import java.util.List; + +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.operating.platform.vo.OrderInfoVo; +import com.opl.operating.platform.vo.SearchRequest; + +public interface ILoanOrderService { + + List searchOrderList(SearchRequest request); + + AjaxResult exportCsvFile(SearchRequest request); +} diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanRePayService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanRePayService.java new file mode 100644 index 0000000000000000000000000000000000000000..236173618e8a53f53959a96e57762b65dc25e590 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/operat/ILoanRePayService.java @@ -0,0 +1,11 @@ +package com.opl.operating.platform.service.operat; + +import java.util.List; + +import com.opl.operating.platform.vo.OrderRepaymentVo; +import com.opl.operating.platform.vo.SearchRequest; + +public interface ILoanRePayService { + + List searchRePayList(SearchRequest request); +} diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysApplicationService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysApplicationService.java similarity index 93% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysApplicationService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysApplicationService.java index f828105f28df14dd605bddcb68c04025cfd14399..f8af7b611064314971ebe7caf90e83e617a0afee 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysApplicationService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysApplicationService.java @@ -1,6 +1,6 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; -import com.ak.platform.domain.system.SysApplication; +import com.opl.operating.platform.domain.system.SysApplication; import java.util.List; diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysConfigService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysConfigService.java similarity index 91% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysConfigService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysConfigService.java index 54a076242680d830b4bfa3cd30d82e9dbb61e739..a326aea62a02fd0c17290b420a452ec072c15760 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysConfigService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysConfigService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; import java.util.List; -import com.ak.platform.domain.system.SysConfig; +import com.opl.operating.platform.domain.system.SysConfig; /** * 参数配置 服务层 * - * @author Vean + * @author kingrom */ public interface ISysConfigService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDatasourceService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDatasourceService.java similarity index 81% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysDatasourceService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDatasourceService.java index 5f96f9bc8a9cabd960884895fd861e082f3fad90..22c43ec041afd6d7ba3b82d2479bbb07296a430f 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDatasourceService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDatasourceService.java @@ -1,14 +1,15 @@ -package com.ak.platform.service.system; - -import com.ak.platform.domain.system.SysDatasource; -import com.ak.platform.domain.system.SysDatasourceApplication; +package com.opl.operating.platform.service.system; import java.util.List; +import java.util.Map; + +import com.opl.operating.platform.domain.system.SysDatasource; +import com.opl.operating.platform.domain.system.SysDatasourceApplication; /** * 数据源业务 * - * @author Vean + * @author kingrom */ public interface ISysDatasourceService { @@ -19,7 +20,13 @@ public interface ISysDatasourceService { * @return */ SysDatasource queryByTenant(String tenantCode); - + /** + * 查询数据源MAP + * + * @param datasource 数据源 + * @return 数据源集合 + */ + Map selectDatasourceMap(String tenantCode,String appCode); /** * 根据数据源编码获取数据源 * diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictDataService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictDataService.java similarity index 80% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictDataService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictDataService.java index 38559310d36283bcf48bbc1108284afe567d98b4..5d91c3309175e87a3a05df7c1389e40d4af56f87 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictDataService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictDataService.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; import java.util.List; -import com.ak.platform.domain.system.SysDictData; +import com.opl.operating.platform.domain.system.SysDictData; /** * 字典 业务层 * - * @author Vean + * @author kingrom */ public interface ISysDictDataService { /** @@ -25,6 +25,15 @@ public interface ISysDictDataService { * @return 字典数据集合信息 */ public List selectDictDataByType(String dictType); + + /** + * 根据字典类型 及参数过滤数据 查询字典数据信息 + * + * @param dictType 字典类型 + * @param pmisson + * @return 字典数据集合信息 + */ + public List selectDictDataByType(String dictType,String pmisson); /** * 根据字典类型和字典键值查询字典数据信息 diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictTypeService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictTypeService.java similarity index 91% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictTypeService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictTypeService.java index ae623b5a1523232b4299e7bc6bcefd6c5f50404f..24fe721451ef9a573a500d9507a01295183a61ec 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysDictTypeService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysDictTypeService.java @@ -1,14 +1,14 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; import java.util.List; -import com.ak.common.core.domain.Ztree; -import com.ak.platform.domain.system.SysDictType; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.operating.platform.domain.system.SysDictType; /** * 字典 业务层 * - * @author Vean + * @author kingrom */ public interface ISysDictTypeService { /** diff --git a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysTenantService.java b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysTenantService.java similarity index 88% rename from ak-system-api/src/main/java/com/ak/platform/service/system/ISysTenantService.java rename to opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysTenantService.java index ffa4ee4e7ead2bea0b16f6e7e8fdb1ebe1efef58..664fe32193c8465b4d091a10cf43265e5de153e0 100644 --- a/ak-system-api/src/main/java/com/ak/platform/service/system/ISysTenantService.java +++ b/opl-system-api/src/main/java/com/opl/operating/platform/service/system/ISysTenantService.java @@ -1,14 +1,14 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.domain.system.SysTenantApplication; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.system.SysTenantApplication; import java.util.List; /** * 租户业务层 * - * @author vean + * @author kingrom */ public interface ISysTenantService { diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderInfoVo.java b/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderInfoVo.java new file mode 100644 index 0000000000000000000000000000000000000000..4d60395280a057f8341194f95aaaabb09406dd4d --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderInfoVo.java @@ -0,0 +1,91 @@ +package com.opl.operating.platform.vo; + +import java.math.BigDecimal; +import java.util.Date; + +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * + */ +@Data +@EqualsAndHashCode(callSuper=false) +public class OrderInfoVo extends BaseEntity { + + private static final long serialVersionUID = 1L; + //渠道Id + @Excel(name = "资产渠道") + private Integer channelId; + //资金渠道ID + @Excel(name = "资金渠道") + private Integer financeChannelId; + //渠道订单号 + @Excel(name = "渠道订单号") + private String borrowNid; + //姓名 + @Excel(name = "姓名") + private String realName; + //身份证 + @Excel(name = "身份证") + private String idCardNo; + //手机号 + @Excel(name = "手机号") + private String phone;// + //借款银行卡号 + @Excel(name = "借款银行卡号") + private String loanBankCard; + //银行卡绑定手机号 + @Excel(name = "银行卡绑定手机号") + private String loanBankPhone; + //借款银行行号 + @Excel(name = "借款银行行号") + private String loanBankCode; + //银行名称 + @Excel(name = "借款银行名称") + private String loanBankName; + + @Excel(name = "还款银行卡号") + private String repayBankCard; + + @Excel(name = "银行卡绑定手机号") + private String repayBankPhone; + + @Excel(name = "还款银行行号") + private String repayBankCode; + + @Excel(name = "还款银行名称") + private String repayBankName; + //计息规则 + @Excel(name = "计息规则") + private String interestMethod; + //借款期数 + @Excel(name = "借款期数") + private Integer period; + //借款天数 + @Excel(name = "借款天数") + private Integer days; + //月化利率 + @Excel(name = "月化利率") + private BigDecimal monthRate; + //日利率 + @Excel(name = "日利率") + private BigDecimal dayRate; + //借款金额 + @Excel(name = "借款金额") + private BigDecimal amount; + //贷款用途 + @Excel(name = "贷款用途") + private String purpose; + //信审状态 + @Excel(name = "信审状态") + private String status; + //创建时间 + @Excel(name = "创建时间") + private Date ctime; + //修改时间 + private Date utime; +} diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderRepaymentVo.java b/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderRepaymentVo.java new file mode 100644 index 0000000000000000000000000000000000000000..40d546e4ee5e24b1b55ace2611ad3ff4eb53c7fd --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/vo/OrderRepaymentVo.java @@ -0,0 +1,67 @@ +package com.opl.operating.platform.vo; + +import java.math.BigDecimal; +import java.util.Date; + +import com.opl.framework.common.annotation.Excel; +import com.opl.framework.common.core.domain.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper=false) +public class OrderRepaymentVo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Excel(name = "订单ID") + private Long orderId; + + //渠道订单号 + @Excel(name = "渠道订单号") + private String borrowNid; + + @Excel(name = "还款期数") + private Integer tenorNo; + + @Excel(name = "罚息/罚费") + private BigDecimal penaltyIntAmount; + + @Excel(name = "优惠金额") + private BigDecimal exemptAmount; + + @Excel(name = "本期应还金额") + private BigDecimal totalAmount; + + @Excel(name = "本期应还本金") + private BigDecimal principalAmount; + + @Excel(name = "本期应还利息") + private BigDecimal interestAmount; + + @Excel(name = "本期本期滞纳金") + private BigDecimal feeAmount; + + @Excel(name = "本期应还费用") + private BigDecimal demurrage; + + @Excel(name = "还款方式") + private String repayWay; + + @Excel(name = "还款状态") + private String status; + + @Excel(name = "还款失败原因(码)") + private String errCode; + + @Excel(name = "还款失败原因描述") + private String errMessage; + + @Excel(name = "创建时间") + private Date ctime; + + @Excel(name = "实际放款时间") + private String aTime; + +} \ No newline at end of file diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchRequest.java b/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchRequest.java new file mode 100644 index 0000000000000000000000000000000000000000..4eb9ddca04f0dfd77a6e5ef537004bcb1f8f1e17 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchRequest.java @@ -0,0 +1,37 @@ +package com.opl.operating.platform.vo; + +import java.io.Serializable; +import java.util.Map; + +import lombok.Data; + +/** + * @author kingrom + */ + +@Data +public class SearchRequest implements Serializable { + + private static final long serialVersionUID = 4740166316629191651L; + //查询条件 username: admin、sex: 1、email: 53453454 + private Map searchField; + //排序字段 column: createTime + private Object sortField; + //顺序 order: desc或asc + private Object sortby; + //page num + private Object pageNo; + //page大小 + private Object pageSize; + + public SearchRequest() {} + + public SearchRequest(Map searchField,Object sortField,Object sortby,Object pageNo,Object pageSize) { + this.searchField = searchField; + this.pageSize = pageSize; + this.pageNo =pageNo; + this.sortField = sortField; + this.sortby = sortby; + } + +} diff --git a/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchResponse.java b/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchResponse.java new file mode 100644 index 0000000000000000000000000000000000000000..74ae3df0724a95b4b421ae96f7d9e3b02fd397a8 --- /dev/null +++ b/opl-system-api/src/main/java/com/opl/operating/platform/vo/SearchResponse.java @@ -0,0 +1,35 @@ +package com.opl.operating.platform.vo; + +import java.io.Serializable; +import java.util.List; + +import lombok.Data; + +/** + * @author kingrom + */ + +@Data +public class SearchResponse implements Serializable { + + private static final long serialVersionUID = 4740166316629191651L; + //当前查询的page页 + private Integer current; + //list + private List records; + //多少page页 + private Integer pages; + //page大小 + private Integer size; + //数据总数 + private Integer total; + + public SearchResponse() {} + + public SearchResponse(List records,Integer pages,Integer total) { + this.records = records; + this.pages = pages; + this.total = total; + } + +} diff --git a/ak-system/pom.xml b/opl-system/pom.xml similarity index 83% rename from ak-system/pom.xml rename to opl-system/pom.xml index 07626460a84d8b49c3fa3c62aaacdf9341ef680f..7cb26f9d32d3bad12755ef587c95e2133cf7cddf 100644 --- a/ak-system/pom.xml +++ b/opl-system/pom.xml @@ -3,13 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - stone - com.ak - 2.0 + com.opl.framework + opl-project + 1.0.0 4.0.0 jar - ak-system + opl-system 系统入口 @@ -41,22 +41,15 @@ - com.ak - ak-framework + com.opl.framework + opl-framework - com.ak - ak-quartz + com.opl.framework + opl-quartz - - - com.oracle - ojdbc6 - 11.2.0.3 - - diff --git a/opl-system/src/main/java/com/opl/operating/OplApplication.java b/opl-system/src/main/java/com/opl/operating/OplApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..a5ef111dc46b1cba6d103add9ef5eb800d8d4563 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/OplApplication.java @@ -0,0 +1,40 @@ +package com.opl.operating; + +import java.net.InetAddress; +import java.net.UnknownHostException; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.core.env.Environment; + +import lombok.extern.slf4j.Slf4j; + +/** + * 启动程序 + * + * @author kingrom + */ + +@Slf4j +@ComponentScan("com.opl") +@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) +//@ServletComponentScan(basePackages = {"com.opl.operating"}) +public class OplApplication { + public static void main(String[] args) throws UnknownHostException { + ConfigurableApplicationContext application = SpringApplication.run(OplApplication.class, args); + Environment env = application.getEnvironment(); + String ip = InetAddress.getLocalHost().getHostAddress(); + String port = env.getProperty("server.port"); + String path = env.getProperty("server.servlet.context-path"); + log.info("\n----------------------------------------------------------\n\t" + + "Application Operating is running! Access URLs:\n\t" + + "Local: \t\thttp://localhost:" + port + path + "/\n\t" + + "External: \thttp://" + ip + ":" + port + path + "/\n\t" + + "swagger-ui: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n\t" + + "Doc: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" + + "----------------------------------------------------------"); + } +} \ No newline at end of file diff --git a/ak-system/src/main/java/com/ak/StoneServletInitializer.java b/opl-system/src/main/java/com/opl/operating/OplServletInitializer.java similarity index 40% rename from ak-system/src/main/java/com/ak/StoneServletInitializer.java rename to opl-system/src/main/java/com/opl/operating/OplServletInitializer.java index a5a44f948b3a304b239ae57f7f9d6d6472a273c6..5ba09c0d02535c249b939bdce29e2d3987c140e4 100644 --- a/ak-system/src/main/java/com/ak/StoneServletInitializer.java +++ b/opl-system/src/main/java/com/opl/operating/OplServletInitializer.java @@ -1,4 +1,4 @@ -package com.ak; +package com.opl.operating; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @@ -6,11 +6,11 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer /** * web容器中进行部署 * - * @author Vean + * @author kingrom */ -public class StoneServletInitializer extends SpringBootServletInitializer { - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(StoneApplication.class); - } +public class OplServletInitializer extends SpringBootServletInitializer { + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(OplApplication.class); + } } diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoDialogController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoDialogController.java similarity index 95% rename from ak-system/src/main/java/com/ak/demo/controller/DemoDialogController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoDialogController.java index 45aa6350888a99773cdcea2b66268c1d2e9f98d8..410895133e999b438db49ff29f4e660f7bdc4115 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoDialogController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoDialogController.java @@ -1,4 +1,4 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping; /** * 模态窗口 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/modal") diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoFormController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoFormController.java similarity index 95% rename from ak-system/src/main/java/com/ak/demo/controller/DemoFormController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoFormController.java index b85fb2f21a20001b74744005fb8b9d917521a12f..39d280fd34d9de0c4fbcb66ab90af640254d5453 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoFormController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoFormController.java @@ -1,25 +1,26 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; -import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.ak.common.core.domain.AjaxResult; + +import com.google.common.collect.Lists; +import com.opl.framework.common.core.domain.AjaxResult; /** * 表单相关 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/form") public class DemoFormController { private String prefix = "demo/form"; - private final static List USERS = new ArrayList(); + private final static List USERS = Lists.newArrayList(); { USERS.add(new UserFormModel(1, "1000001", "测试1", "15888888888")); diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoIconController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoIconController.java similarity index 90% rename from ak-system/src/main/java/com/ak/demo/controller/DemoIconController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoIconController.java index e745fc79ddff49aab24912aac267d870da4bfb86..f4d746d56e059860168ca30f9d691bcff8029233 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoIconController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoIconController.java @@ -1,4 +1,4 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping; /** * 图标相关 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/icon") diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoOperateController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoOperateController.java similarity index 92% rename from ak-system/src/main/java/com/ak/demo/controller/DemoOperateController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoOperateController.java index 25cf62fc3f479206a3a61378583f3da9f79e0446..a083b303e36c62eaaeab637da3cd730f1ae1e4ce 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoOperateController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoOperateController.java @@ -1,6 +1,5 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; -import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -13,21 +12,23 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.PageDomain; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.core.page.TableSupport; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.demo.domain.UserOperateModel; + +import com.google.common.collect.Lists; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.PageDomain; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.core.page.TableSupport; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.demo.domain.UserOperateModel; /** * 操作控制 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/operate") @@ -88,7 +89,7 @@ public class DemoOperateController extends BaseController { @ResponseBody public TableDataInfo list(UserOperateModel userModel) { TableDataInfo rspData = new TableDataInfo(); - List userList = new ArrayList(USERS.values()); + List userList = Lists.newArrayList(USERS.values()); // 查询条件过滤 if (StringUtils.isNotEmpty(userModel.getSearchValue())) { userList.clear(); @@ -157,7 +158,7 @@ public class DemoOperateController extends BaseController { @PostMapping("/export") @ResponseBody public AjaxResult export(UserOperateModel user) { - List list = new ArrayList(USERS.values()); + List list = Lists.newArrayList(USERS.values()); ExcelUtil util = new ExcelUtil(UserOperateModel.class); return util.exportExcel(list, "用户数据"); } diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoReportController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoReportController.java similarity index 93% rename from ak-system/src/main/java/com/ak/demo/controller/DemoReportController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoReportController.java index 5f1996617695b227c06ea54b6e74e1ce09e53cd6..89faa72f8c42d6b3de281d29b59ebc9f2b80fd90 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoReportController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoReportController.java @@ -1,4 +1,4 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestMapping; /** * 报表 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/report") diff --git a/ak-system/src/main/java/com/ak/demo/controller/DemoTableController.java b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoTableController.java similarity index 95% rename from ak-system/src/main/java/com/ak/demo/controller/DemoTableController.java rename to opl-system/src/main/java/com/opl/operating/demo/controller/DemoTableController.java index 9e78ad3756d27bec18827d8d50388a15bcf38ee0..c57355e26b37c82f0204a9792ad4193bbc09230b 100644 --- a/ak-system/src/main/java/com/ak/demo/controller/DemoTableController.java +++ b/opl-system/src/main/java/com/opl/operating/demo/controller/DemoTableController.java @@ -1,4 +1,4 @@ -package com.ak.demo.controller; +package com.opl.operating.demo.controller; import java.util.ArrayList; import java.util.Arrays; @@ -11,25 +11,27 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; + import com.fasterxml.jackson.annotation.JsonFormat; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.page.PageDomain; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.core.page.TableSupport; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.StringUtils; +import com.google.common.collect.Lists; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.page.PageDomain; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.core.page.TableSupport; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.StringUtils; /** * 表格相关 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/demo/table") public class DemoTableController extends BaseController { private String prefix = "demo/table"; - private final static List USERS = new ArrayList(); + private final static List USERS = Lists.newArrayList(); { USERS.add(new UserTableModel(1, "1000001", "测试1", "0", "15888888888", "ry@qq.com", 150.0, "0")); diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysDeptController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDeptController.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysDeptController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDeptController.java index 954abb7fbf340898d04fa6856c166ea88fc7d225..a537692ba0992ce9956c7adf1c6a9782ded9de2a 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysDeptController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDeptController.java @@ -1,16 +1,16 @@ -package com.ak.platform.controller.basedata; +package com.opl.operating.platform.controller.basedata; -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.domain.Ztree; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysDept; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.service.basedata.ISysDeptService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.service.basedata.ISysDeptService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -23,7 +23,7 @@ import java.util.List; /** * 部门信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/dept") diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysDistrictsController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDistrictsController.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysDistrictsController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDistrictsController.java index 55e1c2c2bd17f9493563ffeaf2b10a68a727b7ca..5f4ee8b6d5ba2af1204598e36b46601a7a6e3ca0 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysDistrictsController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysDistrictsController.java @@ -1,14 +1,14 @@ -package com.ak.platform.controller.basedata; +package com.opl.operating.platform.controller.basedata; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysDistricts; -import com.ak.platform.service.basedata.ISysDistrictsService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysDistricts; +import com.opl.operating.platform.service.basedata.ISysDistrictsService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysMenuController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysMenuController.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysMenuController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysMenuController.java index 55900fd4572cdab7174ec81ac0b2108a478da011..e0a27afa2f486cd23b277875a8e519fe9640a577 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysMenuController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysMenuController.java @@ -1,18 +1,18 @@ -package com.ak.platform.controller.basedata; - -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.domain.Ztree; -import com.ak.common.enums.BusinessType; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysApplication; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.system.ISysApplicationService; -import com.ak.platform.service.basedata.ISysMenuService; +package com.opl.operating.platform.controller.basedata; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysApplication; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.system.ISysApplicationService; +import com.opl.operating.platform.service.basedata.ISysMenuService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -25,7 +25,7 @@ import java.util.List; /** * 菜单信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/menu") diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysPostController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysPostController.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysPostController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysPostController.java index db120a5f105c4f6eafe81580252c4f17ad0e14d2..cea912e602f39a7083dcf01ae0bdd56c5ab907d2 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysPostController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysPostController.java @@ -1,15 +1,15 @@ -package com.ak.platform.controller.basedata; +package com.opl.operating.platform.controller.basedata; -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysPost; -import com.ak.platform.service.basedata.ISysPostService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysPost; +import com.opl.operating.platform.service.basedata.ISysPostService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -22,7 +22,7 @@ import java.util.List; /** * 岗位信息操作处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/post") diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysProfileController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysProfileController.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysProfileController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysProfileController.java index b60ea4350b32d05f300170fedbf99eb9984ac296..108392aad6d1cd74043a7a9e35e397057e260772 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysProfileController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysProfileController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.basedata; +package com.opl.operating.platform.controller.basedata; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -9,27 +9,29 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; -import com.ak.common.annotation.Log; -import com.ak.common.config.Global; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.file.FileUploadUtils; -import com.ak.framework.shiro.service.SysPasswordService; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.basedata.ISysUserService; -import lombok.extern.log4j.Log4j2; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.file.FileUploadUtils; +import com.opl.framework.core.shiro.service.SysPasswordService; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.basedata.ISysUserService; + +import lombok.extern.slf4j.Slf4j; /** * 个人信息 业务处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/user/profile") -@Log4j2 +@Slf4j public class SysProfileController extends BaseController { private String prefix = "basedata/user/profile"; diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysRoleController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysRoleController.java similarity index 90% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysRoleController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysRoleController.java index cf1c6afc4d7d6d1927e19facc18646a7deb13131..fa52c60782958f2321a7f706b51e3247fe6f4463 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysRoleController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysRoleController.java @@ -1,18 +1,18 @@ -package com.ak.platform.controller.basedata; +package com.opl.operating.platform.controller.basedata; -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.domain.basedata.SysUserRole; -import com.ak.platform.service.basedata.ISysRoleService; -import com.ak.platform.service.basedata.ISysUserService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.service.basedata.ISysRoleService; +import com.opl.operating.platform.service.basedata.ISysUserService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -25,7 +25,7 @@ import java.util.List; /** * 角色信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/role") diff --git a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysUserController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysUserController.java similarity index 89% rename from ak-system/src/main/java/com/ak/platform/controller/basedata/SysUserController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysUserController.java index c7ea57a512404736a34e4307a67dd682e39324ab..f1de23f028c060ae32d1ec5944ecbdd24ff3247f 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/basedata/SysUserController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/basedata/SysUserController.java @@ -1,19 +1,19 @@ -package com.ak.platform.controller.basedata; - -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.shiro.service.SysPasswordService; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.basedata.ISysPostService; -import com.ak.platform.service.basedata.ISysRoleService; -import com.ak.platform.service.basedata.ISysUserService; +package com.opl.operating.platform.controller.basedata; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.shiro.service.SysPasswordService; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.basedata.ISysPostService; +import com.opl.operating.platform.service.basedata.ISysRoleService; +import com.opl.operating.platform.service.basedata.ISysUserService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -27,7 +27,7 @@ import java.util.List; /** * 用户信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/basedata/user") diff --git a/ak-system/src/main/java/com/ak/platform/controller/common/CommonController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/common/CommonController.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/controller/common/CommonController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/common/CommonController.java index 6d5b09f2eaeb7c867ede6742890f9a3f4df02f4c..9588796f44e5aff38dfd8b0223279c7074e35cd4 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/common/CommonController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/common/CommonController.java @@ -1,13 +1,8 @@ -package com.ak.platform.controller.common; +package com.opl.operating.platform.controller.common; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; -import com.ak.common.config.Global; -import com.ak.common.config.ServerConfig; -import com.ak.common.constant.Constants; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.file.FileUploadUtils; -import com.ak.common.utils.file.FileUtils; -import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -15,16 +10,23 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.config.ServerConfig; +import com.opl.framework.common.constant.Constants; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.file.FileUploadUtils; +import com.opl.framework.common.utils.file.FileUtils; + +import lombok.extern.slf4j.Slf4j; /** * 通用请求处理 * - * @author Vean + * @author kingrom */ @Controller -@Log4j2 +@Slf4j public class CommonController { @Autowired diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/global/ChannelFinanceAmountController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/global/ChannelFinanceAmountController.java new file mode 100644 index 0000000000000000000000000000000000000000..4443fea86fa018333c05f333f60b4040731770c1 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/global/ChannelFinanceAmountController.java @@ -0,0 +1,108 @@ +package com.opl.operating.platform.controller.global; + +import java.util.Date; +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.operating.platform.domain.global.ChannelFinanceAmount; +import com.opl.operating.platform.service.global.IChannelFinanceAmountService; + +/** + * 渠道额度操作处理 + * + * @author kingrom + */ +@Controller +@RequestMapping("/global/channelAmount") +public class ChannelFinanceAmountController extends BaseController { + private String prefix = "global/channelAmount"; + + @Autowired + private IChannelFinanceAmountService channelFinanceAmountService; + + @RequiresPermissions("global:channelAmount:view") + @GetMapping() + public String notice() { + return prefix + "/channelAmount"; + } + + /** + * 查询渠道额度 + */ + @RequiresPermissions("global:channelAmount:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(ChannelFinanceAmount channelFinanceAmount) { + startPage(); + List list = channelFinanceAmountService.selectChannelFinanceAmountList(channelFinanceAmount); + return getDataTable(list); + } + + /** + * 新增渠道额度 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存渠道额度 + */ + @RequiresPermissions("global:channelAmount:add") + @Log(title = "新增渠道额度", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(ChannelFinanceAmount channelFinanceAmount) { + Date date = new Date(); + channelFinanceAmount.setCtime(date); + channelFinanceAmount.setUtime(date); + return toAjax(channelFinanceAmountService.insertChannelFinanceAmount(channelFinanceAmount)); + } + + /** + * 修改渠道额度 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) { + mmap.put("channelAmount", channelFinanceAmountService.selectChannelFinanceAmountById(id)); + return prefix + "/edit"; + } + + /** + * 修改保存渠道额度 + */ + @RequiresPermissions("global:channelAmount:edit") + @Log(title = "编辑渠道额度", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(ChannelFinanceAmount channelFinanceAmount) { + channelFinanceAmount.setUtime(new Date()); + return toAjax(channelFinanceAmountService.updateChannelFinanceAmount(channelFinanceAmount)); + } + + /** + * 删除渠道额度 + */ + @RequiresPermissions("global:channelAmount:remove") + @Log(title = "删除渠道额度", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + return toAjax(channelFinanceAmountService.deleteChannelFinanceAmountByIds(ids)); + } +} diff --git a/ak-system/src/main/java/com/ak/platform/controller/log/SysLogininforController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/log/SysLogininforController.java similarity index 80% rename from ak-system/src/main/java/com/ak/platform/controller/log/SysLogininforController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/log/SysLogininforController.java index 179ba577135929af19bc3b82a1c371f065afdc05..42cf565cbd6cf489e84bd18d40a497d2816de065 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/log/SysLogininforController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/log/SysLogininforController.java @@ -1,13 +1,13 @@ -package com.ak.platform.controller.log; +package com.opl.operating.platform.controller.log; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.platform.domain.log.SysLogininfor; -import com.ak.platform.service.log.ISysLogininforService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.domain.log.SysLogininfor; +import com.opl.operating.platform.service.log.ISysLogininforService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -21,7 +21,7 @@ import java.util.List; /** * 系统访问记录 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/log/logininfor") diff --git a/ak-system/src/main/java/com/ak/platform/controller/log/SysOperlogController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/log/SysOperlogController.java similarity index 80% rename from ak-system/src/main/java/com/ak/platform/controller/log/SysOperlogController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/log/SysOperlogController.java index 34c6ffdb9e35f33a2c1cf9745b1019b16e27ce5a..e176f44278d715814a08ac3d3350c6deb658d9e8 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/log/SysOperlogController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/log/SysOperlogController.java @@ -1,13 +1,13 @@ -package com.ak.platform.controller.log; +package com.opl.operating.platform.controller.log; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.platform.domain.log.SysOperLog; -import com.ak.platform.service.log.ISysOperLogService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.domain.log.SysOperLog; +import com.opl.operating.platform.service.log.ISysOperLogService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -19,7 +19,7 @@ import java.util.List; /** * 操作日志记录 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/log/operlog") diff --git a/ak-system/src/main/java/com/ak/platform/controller/message/SysNoticeController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/message/SysNoticeController.java similarity index 82% rename from ak-system/src/main/java/com/ak/platform/controller/message/SysNoticeController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/message/SysNoticeController.java index f163cd45a77f94a9cf36b7ef8aa83333d60bb86c..9b155d5dae54a3aeba9f78dee2b18528a6697437 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/message/SysNoticeController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/message/SysNoticeController.java @@ -1,13 +1,13 @@ -package com.ak.platform.controller.message; +package com.opl.operating.platform.controller.message; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.message.SysNotice; -import com.ak.platform.service.message.ISysNoticeService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.message.SysNotice; +import com.opl.operating.platform.service.message.ISysNoticeService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -19,7 +19,7 @@ import java.util.List; /** * 公告 信息操作处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/message/notice") diff --git a/ak-system/src/main/java/com/ak/platform/controller/monitor/DruidController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/DruidController.java similarity index 79% rename from ak-system/src/main/java/com/ak/platform/controller/monitor/DruidController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/monitor/DruidController.java index ed7b966dab04132a98f48129d4075e943137d4bb..2179216831be6c3bfc9068bc5290a66a2d80bd9b 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/monitor/DruidController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/DruidController.java @@ -1,15 +1,15 @@ -package com.ak.platform.controller.monitor; +package com.opl.operating.platform.controller.monitor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import com.ak.common.core.controller.BaseController; +import com.opl.framework.common.core.controller.BaseController; /** * druid 监控 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/monitor/data") diff --git a/ak-system/src/main/java/com/ak/platform/controller/monitor/ServerController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/ServerController.java similarity index 79% rename from ak-system/src/main/java/com/ak/platform/controller/monitor/ServerController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/monitor/ServerController.java index b42af5fde824332fbea9fe3b2328ac2f7e442fee..a577b6467d7cccb651756214afb9159434015ba8 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/monitor/ServerController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/ServerController.java @@ -1,17 +1,17 @@ -package com.ak.platform.controller.monitor; +package com.opl.operating.platform.controller.monitor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import com.ak.common.core.controller.BaseController; -import com.ak.framework.web.domain.Server; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.core.web.domain.Server; /** * 服务器监控 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/monitor/server") diff --git a/ak-system/src/main/java/com/ak/platform/controller/monitor/SysUserOnlineController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/SysUserOnlineController.java similarity index 82% rename from ak-system/src/main/java/com/ak/platform/controller/monitor/SysUserOnlineController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/monitor/SysUserOnlineController.java index e0e971a7a51ecde01d5a488fc2f7a4224a15fceb..0c9d8f78243e71701c1bb2b00c2c803e86c2511e 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/monitor/SysUserOnlineController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/monitor/SysUserOnlineController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.monitor; +package com.opl.operating.platform.controller.monitor; import java.util.List; @@ -10,22 +10,22 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.enums.OnlineStatus; -import com.ak.framework.shiro.session.OnlineSession; -import com.ak.framework.shiro.session.OnlineSessionDAO; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.monitor.SysUserOnline; -import com.ak.platform.service.monitor.ISysUserOnlineService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.enums.OnlineStatus; +import com.opl.framework.core.shiro.session.OnlineSession; +import com.opl.framework.core.shiro.session.OnlineSessionDAO; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.service.monitor.ISysUserOnlineService; /** * 在线用户监控 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/monitor/online") diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanDebitController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanDebitController.java new file mode 100644 index 0000000000000000000000000000000000000000..3ce891568cce2fea03d7d5a7f3a65d1eebc98130 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanDebitController.java @@ -0,0 +1,56 @@ +package com.opl.operating.platform.controller.operat; + +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.service.system.ISysDictDataService; + +/** + * 扣款对账 + * + * @author kingrom + */ +@Controller +@RequestMapping("/operat/debit") +public class LoanDebitController extends BaseController { + private String prefix = "operat/debit"; + + @Autowired + private ISysDictDataService dictDataService; + + @RequiresPermissions("operat:debit:view") + @GetMapping() + public String dictData() { + return prefix + "/data"; + } + + @PostMapping("/list") + @RequiresPermissions("operat:debit:list") + @ResponseBody + public TableDataInfo list(SysDictData dictData) { + startPage(); + List list = dictDataService.selectDictDataList(dictData); + return getDataTable(list); + } + + @RequiresPermissions("operat:debit:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(SysDictData dictData) { + List list = dictDataService.selectDictDataList(dictData); + ExcelUtil util = new ExcelUtil(SysDictData.class); + return util.exportExcel(list, "字典数据"); + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanOrderController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanOrderController.java new file mode 100644 index 0000000000000000000000000000000000000000..54e58e48c7594550fa37df0fe3e36bb8774effae --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanOrderController.java @@ -0,0 +1,58 @@ +package com.opl.operating.platform.controller.operat; + +import java.util.List; +import java.util.Map; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.operating.platform.service.operat.ILoanOrderService; +import com.opl.operating.platform.vo.OrderInfoVo; +import com.opl.operating.platform.vo.SearchRequest; + +/** + * 进件查询 + * + * @author kingrom + */ +@Controller +@RequestMapping("/operat/order") +public class LoanOrderController extends BaseController { + private String prefix = "operat/order"; + + @Autowired + private ILoanOrderService loanOrderService; + + @RequiresPermissions("operat:order:view") + @GetMapping() + public String dictData() { + return prefix + "/data"; + } + + @PostMapping("/list") + @RequiresPermissions("operat:order:list") + @ResponseBody + public TableDataInfo list(OrderInfoVo order) { + Map map = startPageParam(); + SearchRequest request = new SearchRequest(order.getParams(),map.get("sortField"),map.get("sortby"),map.get("pageNum"),map.get("pageSize")); + List resplist = loanOrderService.searchOrderList(request); + return getDataTable(resplist); + } + + @RequiresPermissions("operat:order:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(OrderInfoVo order) { + Map map = startPageParam(); + SearchRequest request = new SearchRequest(order.getParams(),map.get("sortField"),map.get("sortby"),map.get("pageNum"),map.get("pageSize")); + return loanOrderService.exportCsvFile(request); + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanRePayController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanRePayController.java new file mode 100644 index 0000000000000000000000000000000000000000..58739ab8bf9fc44536e625450b22f9a0131ea758 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanRePayController.java @@ -0,0 +1,61 @@ +package com.opl.operating.platform.controller.operat; + +import java.util.List; +import java.util.Map; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.service.operat.ILoanRePayService; +import com.opl.operating.platform.vo.OrderRepaymentVo; +import com.opl.operating.platform.vo.SearchRequest; + +/** + * 还款查询 + * + * @author kingrom + */ +@Controller +@RequestMapping("/operat/repay") +public class LoanRePayController extends BaseController { + private String prefix = "operat/repay"; + + @Autowired + private ILoanRePayService loanRePayService; + + @RequiresPermissions("operat:repay:view") + @GetMapping() + public String dictData() { + return prefix + "/data"; + } + + @PostMapping("/list") + @RequiresPermissions("operat:repay:list") + @ResponseBody + public TableDataInfo list(OrderRepaymentVo orderRepaymentVo) { + Map map = startPageParam(); + SearchRequest request = new SearchRequest(orderRepaymentVo.getParams(),map.get("sortField"),map.get("sortby"),map.get("pageNum"),map.get("pageSize")); + List resplist = loanRePayService.searchRePayList(request); + return getDataTable(resplist); + } + + @RequiresPermissions("operat:repay:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(OrderRepaymentVo orderRepaymentVo) { + Map map = startPageParam(); + SearchRequest request = new SearchRequest(orderRepaymentVo.getParams(),map.get("sortField"),map.get("sortby"),map.get("pageNum"),map.get("pageSize")); + List resplist = loanRePayService.searchRePayList(request); + ExcelUtil util = new ExcelUtil(OrderRepaymentVo.class); + return util.exportExcel(resplist, "还款查询"); + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanReconController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanReconController.java new file mode 100644 index 0000000000000000000000000000000000000000..ce6ab0e88deed5994fc89fb0fdda3f48b091e467 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/LoanReconController.java @@ -0,0 +1,56 @@ +package com.opl.operating.platform.controller.operat; + +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.service.system.ISysDictDataService; + +/** + * 放款对账 + * + * @author kingrom + */ +@Controller +@RequestMapping("/operat/loanRecon") +public class LoanReconController extends BaseController { + private String prefix = "operat/loanRecon"; + + @Autowired + private ISysDictDataService dictDataService; + + @RequiresPermissions("operat:recon:view") + @GetMapping() + public String dictData() { + return prefix + "/data"; + } + + @PostMapping("/list") + @RequiresPermissions("operat:recon:list") + @ResponseBody + public TableDataInfo list(SysDictData dictData) { + startPage(); + List list = dictDataService.selectDictDataList(dictData); + return getDataTable(list); + } + + @RequiresPermissions("operat:recon:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(SysDictData dictData) { + List list = dictDataService.selectDictDataList(dictData); + ExcelUtil util = new ExcelUtil(SysDictData.class); + return util.exportExcel(list, "字典数据"); + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/controller/operat/RepayReconController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/RepayReconController.java new file mode 100644 index 0000000000000000000000000000000000000000..bce5252e1facbe8d18a62844cb80439b6b1f4ad6 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/operat/RepayReconController.java @@ -0,0 +1,56 @@ +package com.opl.operating.platform.controller.operat; + +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.service.system.ISysDictDataService; + +/** + * 还款对账 + * + * @author kingrom + */ +@Controller +@RequestMapping("/operat/repayRecon") +public class RepayReconController extends BaseController { + private String prefix = "operat/repayRecon"; + + @Autowired + private ISysDictDataService dictDataService; + + @RequiresPermissions("operat:payRecon:view") + @GetMapping() + public String dictData() { + return prefix + "/data"; + } + + @PostMapping("/list") + @RequiresPermissions("operat:payRecon:list") + @ResponseBody + public TableDataInfo list(SysDictData dictData) { + startPage(); + List list = dictDataService.selectDictDataList(dictData); + return getDataTable(list); + } + + @RequiresPermissions("operat:payRecon:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(SysDictData dictData) { + List list = dictDataService.selectDictDataList(dictData); + ExcelUtil util = new ExcelUtil(SysDictData.class); + return util.exportExcel(list, "字典数据"); + } +} diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysApplicationController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysApplicationController.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysApplicationController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysApplicationController.java index d8cb578e6a7c661b410f8e2f0a25bda05ec924de..68aef6e046f1f4f509ecd49fd1cd1b2d7c8991d4 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysApplicationController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysApplicationController.java @@ -1,14 +1,14 @@ -package com.ak.platform.controller.system; - -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysApplication; -import com.ak.platform.service.system.ISysApplicationService; +package com.opl.operating.platform.controller.system; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysApplication; +import com.opl.operating.platform.service.system.ISysApplicationService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/system/application") diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysCaptchaController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysCaptchaController.java similarity index 95% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysCaptchaController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysCaptchaController.java index b839474e69b065843a07d18b18750ceccbbb290b..c2e7b2800a1d970d73f8f256780e3c98c96bb6f8 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysCaptchaController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysCaptchaController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; import java.awt.image.BufferedImage; import java.io.IOException; @@ -15,12 +15,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.google.code.kaptcha.Constants; import com.google.code.kaptcha.Producer; -import com.ak.common.core.controller.BaseController; +import com.opl.framework.common.core.controller.BaseController; /** * 图片验证码(支持算术形式) * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/captcha") diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysConfigController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysConfigController.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysConfigController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysConfigController.java index d706cf43f4f2bfa4dd06fd3c02618c136ffbe88a..7b6e058b549bd07f846fb2bf509a15f0794b9ce0 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysConfigController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysConfigController.java @@ -1,15 +1,15 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysConfig; -import com.ak.platform.service.system.ISysConfigService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysConfig; +import com.opl.operating.platform.service.system.ISysConfigService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -22,7 +22,7 @@ import java.util.List; /** * 参数配置 信息操作处理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/system/config") diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysDatasourceController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDatasourceController.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysDatasourceController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDatasourceController.java index 7950af7b500c826a6ab9c40ec5a4b333a1de5506..e75b45119d03ec12c36c8997ec76dd9dd34dc987 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysDatasourceController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDatasourceController.java @@ -1,19 +1,19 @@ -package com.ak.platform.controller.system; - -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.CodeGenerateUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysApplication; -import com.ak.platform.domain.system.SysDatasource; -import com.ak.platform.domain.system.SysDatasourceApplication; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.service.system.ISysApplicationService; -import com.ak.platform.service.system.ISysDatasourceService; -import com.ak.platform.service.system.ISysTenantService; +package com.opl.operating.platform.controller.system; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.CodeGenerateUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysApplication; +import com.opl.operating.platform.domain.system.SysDatasource; +import com.opl.operating.platform.domain.system.SysDatasourceApplication; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.service.system.ISysApplicationService; +import com.opl.operating.platform.service.system.ISysDatasourceService; +import com.opl.operating.platform.service.system.ISysTenantService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -25,7 +25,7 @@ import java.util.List; /** * 数据源管理 * - * @author Vean + * @author kingrom * @date 2019-06-23 */ @Controller diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysDictDataController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictDataController.java similarity index 84% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysDictDataController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictDataController.java index 98f119bbe3edc24b091ff36d3edbf909214f24be..dc7dd53ecfdc29abbe4c50a3e8c898aa7a966b4b 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysDictDataController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictDataController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; import java.util.List; @@ -12,20 +12,20 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysDictData; -import com.ak.platform.service.system.ISysDictDataService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.service.system.ISysDictDataService; /** * 数据字典信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/system/dict/data") diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysDictTypeController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictTypeController.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysDictTypeController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictTypeController.java index 0a9cebf4481355ca34aaaad2b4944f3c9c265c98..c3081bb99267e999e572b1db3531e7ed0bd6005c 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysDictTypeController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysDictTypeController.java @@ -1,8 +1,8 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; import java.util.List; -import com.ak.common.core.domain.Ztree; +import com.opl.framework.common.core.domain.Ztree; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -13,21 +13,21 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.ak.common.annotation.Log; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysDictType; -import com.ak.platform.service.system.ISysDictTypeService; +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysDictType; +import com.opl.operating.platform.service.system.ISysDictTypeService; /** * 数据字典信息 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/system/dict") diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysIndexController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysIndexController.java similarity index 72% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysIndexController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysIndexController.java index 5830da8a21f547db75c602e748acb7a60006a533..8f17f0624b7595862f665187eaf32b52048a72f4 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysIndexController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysIndexController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; import java.util.List; @@ -6,17 +6,17 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; -import com.ak.common.config.Global; -import com.ak.common.core.controller.BaseController; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.service.basedata.ISysMenuService; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.service.basedata.ISysMenuService; /** * 首页 业务处理 * - * @author Vean + * @author kingrom */ @Controller public class SysIndexController extends BaseController { diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysLoginController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysLoginController.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysLoginController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysLoginController.java index a18c2b42eca93939555ac21d3e506afc835c9955..d2e974a0099176aa98a6a10bc298b7d71da8245f 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysLoginController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysLoginController.java @@ -1,4 +1,4 @@ -package com.ak.platform.controller.system; +package com.opl.operating.platform.controller.system; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -11,15 +11,15 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.utils.ServletUtils; -import com.ak.common.utils.StringUtils; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.ServletUtils; +import com.opl.framework.common.utils.StringUtils; /** * 登录验证 * - * @author Vean + * @author kingrom */ @Controller public class SysLoginController extends BaseController { diff --git a/ak-system/src/main/java/com/ak/platform/controller/system/SysTenantController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysTenantController.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/controller/system/SysTenantController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/system/SysTenantController.java index 21871e0c30e74dc8c35fcd21d3f100575a3019f6..cbf78e1c92bdd20dec8c45d26c4c61c6f0015533 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/system/SysTenantController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/system/SysTenantController.java @@ -1,18 +1,18 @@ -package com.ak.platform.controller.system; - -import com.ak.common.annotation.Log; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.page.TableDataInfo; -import com.ak.common.enums.BusinessType; -import com.ak.common.utils.CodeGenerateUtils; -import com.ak.common.utils.poi.ExcelUtil; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.system.SysApplication; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.domain.system.SysTenantApplication; -import com.ak.platform.service.system.ISysApplicationService; -import com.ak.platform.service.system.ISysTenantService; +package com.opl.operating.platform.controller.system; + +import com.opl.framework.common.annotation.Log; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.page.TableDataInfo; +import com.opl.framework.common.enums.BusinessType; +import com.opl.framework.common.utils.CodeGenerateUtils; +import com.opl.framework.common.utils.poi.ExcelUtil; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysApplication; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.system.SysTenantApplication; +import com.opl.operating.platform.service.system.ISysApplicationService; +import com.opl.operating.platform.service.system.ISysTenantService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -25,7 +25,7 @@ import java.util.List; /** * 租户管理 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/system/tenant") diff --git a/ak-system/src/main/java/com/ak/platform/controller/tool/BuildController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/BuildController.java similarity index 80% rename from ak-system/src/main/java/com/ak/platform/controller/tool/BuildController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/tool/BuildController.java index 7f4f3c196237c1f5b840999eb7eaa601ce20d052..3716f854cdb31d4e257aa63d57ef69187c52144c 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/tool/BuildController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/BuildController.java @@ -1,15 +1,15 @@ -package com.ak.platform.controller.tool; +package com.opl.operating.platform.controller.tool; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import com.ak.common.core.controller.BaseController; +import com.opl.framework.common.core.controller.BaseController; /** * build 表单构建 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/tool/build") diff --git a/ak-system/src/main/java/com/ak/platform/controller/tool/RedisController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/RedisController.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/controller/tool/RedisController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/tool/RedisController.java index b209c8829c4e8bad31df1c3ef44625f57c0a96ea..e0de117d98ac7be7752794da315393e91516e54a 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/tool/RedisController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/RedisController.java @@ -1,18 +1,22 @@ -package com.ak.platform.controller.tool; +package com.opl.operating.platform.controller.tool; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.core.domain.AjaxResult.Type; -import com.ak.framework.util.RedisUtils; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.core.domain.AjaxResult.Type; +import com.opl.framework.core.util.RedisUtils; -import java.util.Set; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; /** - * @author Vean + * @author kingrom */ @CrossOrigin(origins = "*", maxAge = 3600) @RestController diff --git a/ak-system/src/main/java/com/ak/platform/controller/tool/SwaggerController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/SwaggerController.java similarity index 79% rename from ak-system/src/main/java/com/ak/platform/controller/tool/SwaggerController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/tool/SwaggerController.java index 5b4dab909d22e0c15bd7681b5512627a680b8cab..c413d9a936edd237d1a29f2348d9d9165e0e95f3 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/tool/SwaggerController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/SwaggerController.java @@ -1,15 +1,15 @@ -package com.ak.platform.controller.tool; +package com.opl.operating.platform.controller.tool; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import com.ak.common.core.controller.BaseController; +import com.opl.framework.common.core.controller.BaseController; /** * swagger 接口 * - * @author Vean + * @author kingrom */ @Controller @RequestMapping("/tool/swagger") diff --git a/ak-system/src/main/java/com/ak/platform/controller/tool/TestController.java b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/TestController.java similarity index 92% rename from ak-system/src/main/java/com/ak/platform/controller/tool/TestController.java rename to opl-system/src/main/java/com/opl/operating/platform/controller/tool/TestController.java index 5a1e589d3082e7741f56af5e67ce8e6f2d62aa81..7a234908b86c20d6d2cbc29d74026aa881e23101 100644 --- a/ak-system/src/main/java/com/ak/platform/controller/tool/TestController.java +++ b/opl-system/src/main/java/com/opl/operating/platform/controller/tool/TestController.java @@ -1,6 +1,5 @@ -package com.ak.platform.controller.tool; +package com.opl.operating.platform.controller.tool; -import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -12,9 +11,12 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ak.common.core.controller.BaseController; -import com.ak.common.core.domain.AjaxResult; -import com.ak.common.utils.StringUtils; + +import com.google.common.collect.Lists; +import com.opl.framework.common.core.controller.BaseController; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.StringUtils; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiModel; @@ -24,7 +26,7 @@ import io.swagger.annotations.ApiOperation; /** * swagger 用户测试方法 * - * @author Vean + * @author kingrom */ @Api("用户信息管理") @RestController @@ -40,7 +42,7 @@ public class TestController extends BaseController { @ApiOperation("获取用户列表") @GetMapping("/list") public AjaxResult userList() { - List userList = new ArrayList(USERS.values()); + List userList = Lists.newArrayList(USERS.values()); return AjaxResult.success(userList); } diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDeptMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDeptMapper.java similarity index 95% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDeptMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDeptMapper.java index 2f7ff6d59b2bcb5aa703d679eb2e91fb0e18e21b..75597d7859b2fa1de8333e9005b98610060aa1c0 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDeptMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDeptMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysDept; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -8,7 +8,7 @@ import java.util.List; /** * 部门管理 数据层 * - * @author Vean + * @author kingrom */ public interface SysDeptMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDistrictsMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDistrictsMapper.java similarity index 89% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDistrictsMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDistrictsMapper.java index d859d96d7ddc68d90b4c67d76fda31c8c4338cda..1da39085f27a1277b226e9230d42abea6320193c 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysDistrictsMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysDistrictsMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysDistricts; +import com.opl.operating.platform.domain.basedata.SysDistricts; import java.util.List; diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysMenuMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysMenuMapper.java similarity index 93% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysMenuMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysMenuMapper.java index afc13d57b5acd1ad514f4b00c0977487dda2ca31..b5b746d70c7b88713e705a05c4962880d5b05367 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysMenuMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysMenuMapper.java @@ -1,7 +1,7 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysUser; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,7 +9,7 @@ import java.util.List; /** * 菜单表 数据层 * - * @author Vean + * @author kingrom */ public interface SysMenuMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysPostMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysPostMapper.java similarity index 92% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysPostMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysPostMapper.java index 672e615c0edbfd55d6a668780c1acb2bdcdc6ed2..7e9c3720c30ef6ea626e05b99ed28d181a955a66 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysPostMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysPostMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysPost; +import com.opl.operating.platform.domain.basedata.SysPost; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -8,7 +8,7 @@ import java.util.List; /** * 岗位信息 数据层 * - * @author Vean + * @author kingrom */ public interface SysPostMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleDeptMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleDeptMapper.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleDeptMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleDeptMapper.java index af163f2f3784f32128d74797f1172af0b6567d82..08481874dab633c0ced7fae320c76749e481431e 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleDeptMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleDeptMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; import java.util.List; -import com.ak.platform.domain.basedata.SysRoleDept; +import com.opl.operating.platform.domain.basedata.SysRoleDept; /** * 角色与部门关联表 数据层 * - * @author Vean + * @author kingrom */ public interface SysRoleDeptMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMapper.java similarity index 93% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMapper.java index 5871f771ff653ee8fd27acbd2db71513dcbd57e2..dba63d3e4e2913322d9486f835cd9c5456fdce94 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysRole; import java.util.List; /** * 角色表 数据层 * - * @author Vean + * @author kingrom */ public interface SysRoleMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMenuMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMenuMapper.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMenuMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMenuMapper.java index d12e7463aa8af1a31ad959551cc6ca5b27c10a3b..970f8bacec50f553e843081d5ce50f8294beed5c 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysRoleMenuMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysRoleMenuMapper.java @@ -1,7 +1,7 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysRoleMenu; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysRoleMenu; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -9,7 +9,7 @@ import java.util.List; /** * 角色与菜单关联表 数据层 * - * @author Vean + * @author kingrom */ public interface SysRoleMenuMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserMapper.java similarity index 95% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserMapper.java index 35aea96e805dc1e04bb901e3272a104aeab8e9cc..522d05c445c36847ac9192af81cd6bc462bacf0a 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; import java.util.List; -import com.ak.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysUser; /** * 用户表 数据层 * - * @author Vean + * @author kingrom */ public interface SysUserMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserPostMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserPostMapper.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserPostMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserPostMapper.java index 0a76ac0a6f6228f2552d01d0f7ab86c93e2b7a9e..a1c399c8d8ef9d3cbe4531b73160dd1c8b994e1c 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserPostMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserPostMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; import java.util.List; -import com.ak.platform.domain.basedata.SysUserPost; +import com.opl.operating.platform.domain.basedata.SysUserPost; /** * 用户与岗位 表 数据层 * - * @author Vean + * @author kingrom */ public interface SysUserPostMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserRoleMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserRoleMapper.java similarity index 90% rename from ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserRoleMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserRoleMapper.java index 7de5999daff934a95be7e3eef1d1a799992edbbc..743fedf915b36d613fc85ca7b00a5fcad784bc76 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/basedata/SysUserRoleMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/basedata/SysUserRoleMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.basedata; +package com.opl.operating.platform.mapper.basedata; -import com.ak.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.domain.basedata.SysUserRole; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -8,7 +8,7 @@ import java.util.List; /** * 用户表 数据层 * - * @author Vean + * @author kingrom */ public interface SysUserRoleMapper { /** diff --git a/opl-system/src/main/java/com/opl/operating/platform/mapper/global/ChannelFinanceAmountMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/global/ChannelFinanceAmountMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1ecff6b885e905183f029844d8d9bb705d17b191 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/global/ChannelFinanceAmountMapper.java @@ -0,0 +1,48 @@ +package com.opl.operating.platform.mapper.global; + + +import java.util.List; + +import com.opl.operating.platform.domain.global.ChannelFinanceAmount; + +public interface ChannelFinanceAmountMapper { + /** + * 查询额度信息 + * + * @param noticeId 额度ID + * @return 额度信息 + */ + public ChannelFinanceAmount selectChannelFinanceAmountById(Long id); + + /** + * 查询额度列表 + * + * @param notice 额度信息 + * @return 额度集合 + */ + public List selectChannelFinanceAmountList(ChannelFinanceAmount channelFinanceAmount); + + /** + * 新增额度 + * + * @param notice 额度信息 + * @return 结果 + */ + public int insertChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount); + + /** + * 修改额度 + * + * @param notice 额度信息 + * @return 结果 + */ + public int updateChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount); + + /** + * 批量删除额度 + * + * @param noticeIds 需要删除的数据ID + * @return 结果 + */ + public int deleteChannelFinanceAmountByIds(String[] channelAmountIds); +} \ No newline at end of file diff --git a/ak-system/src/main/java/com/ak/platform/mapper/log/SysLogininforMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysLogininforMapper.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/mapper/log/SysLogininforMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysLogininforMapper.java index df01c81784eed0e91f59049c46b1676d1325152d..d19be3394c9df76a81ba18ab791c09127f82775d 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/log/SysLogininforMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysLogininforMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.log; +package com.opl.operating.platform.mapper.log; import java.util.List; -import com.ak.platform.domain.log.SysLogininfor; +import com.opl.operating.platform.domain.log.SysLogininfor; /** * 系统访问日志情况信息 数据层 * - * @author Vean + * @author kingrom */ public interface SysLogininforMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/log/SysOperLogMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysOperLogMapper.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/mapper/log/SysOperLogMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysOperLogMapper.java index 06fc3d0acf889339c1fe1920f02fc0736d887f32..d26cda05816736243783bdb731d9c95bbde0874d 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/log/SysOperLogMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/log/SysOperLogMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.log; +package com.opl.operating.platform.mapper.log; import java.util.List; -import com.ak.platform.domain.log.SysOperLog; +import com.opl.operating.platform.domain.log.SysOperLog; /** * 操作日志 数据层 * - * @author Vean + * @author kingrom */ public interface SysOperLogMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/message/SysNoticeMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/message/SysNoticeMapper.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/mapper/message/SysNoticeMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/message/SysNoticeMapper.java index 1c5cf6b05be2e9eea779c3fd220b9f18878ed3fd..6aad9772b3ac40e3b83880f877abcbee7e5fdb54 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/message/SysNoticeMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/message/SysNoticeMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.message; +package com.opl.operating.platform.mapper.message; import java.util.List; -import com.ak.platform.domain.message.SysNotice; +import com.opl.operating.platform.domain.message.SysNotice; /** * 公告 数据层 * - * @author Vean + * @author kingrom */ public interface SysNoticeMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/monitor/SysUserOnlineMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/monitor/SysUserOnlineMapper.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/mapper/monitor/SysUserOnlineMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/monitor/SysUserOnlineMapper.java index 5f48cd8d18bdb534bbd4b88074aaa73521b84937..6d6e68eefa9265ac791d21a4a48dddd2a9531f49 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/monitor/SysUserOnlineMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/monitor/SysUserOnlineMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.monitor; +package com.opl.operating.platform.mapper.monitor; import java.util.List; -import com.ak.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.domain.monitor.SysUserOnline; /** * 在线用户 数据层 * - * @author Vean + * @author kingrom */ public interface SysUserOnlineMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysApplicationMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysApplicationMapper.java similarity index 90% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysApplicationMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysApplicationMapper.java index 9c9ab9a9565e250a7e2fe6a1230ee8f662da0302..40ec848b698c5eb1776c5ff8fc4835bd42928b5a 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysApplicationMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysApplicationMapper.java @@ -1,7 +1,7 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; -import com.ak.platform.domain.system.SysApplication; +import com.opl.operating.platform.domain.system.SysApplication; import java.util.List; diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysConfigMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysConfigMapper.java similarity index 90% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysConfigMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysConfigMapper.java index e55f670bb3309e7c553c2569c44d2728da2da92c..37b4423017d9c2a376bb0d31ef31b28f528bcd83 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysConfigMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysConfigMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; import java.util.List; -import com.ak.platform.domain.system.SysConfig; +import com.opl.operating.platform.domain.system.SysConfig; /** * 参数配置 数据层 * - * @author Vean + * @author kingrom */ public interface SysConfigMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceApplicationMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceApplicationMapper.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceApplicationMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceApplicationMapper.java index 86aa7292295928fc1be8f3621873b31a708033f5..7c61ddcee2b908923a67b37cc93f7a014b85d44b 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceApplicationMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceApplicationMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; -import com.ak.platform.domain.system.SysDatasourceApplication; +import com.opl.operating.platform.domain.system.SysDatasourceApplication; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceMapper.java similarity index 69% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceMapper.java index 147d835761220654ea7bf9fd4579d50051d6d9f8..65c8503d6c2c741a10d551ca48de6614b0f16a27 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDatasourceMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDatasourceMapper.java @@ -1,19 +1,22 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; -import com.ak.platform.domain.system.SysDatasource; +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import java.util.List; +import com.opl.operating.platform.domain.system.SysDatasource; /** - * @author Vean + * @author kingrom */ @Mapper public interface SysDatasourceMapper { /** - * 查询租户数据源 + * 查询租户数据源 * * @param tenantCode * @return @@ -21,15 +24,22 @@ public interface SysDatasourceMapper { SysDatasource queryByTenant(@Param("tenantCode") String tenantCode); /** - * 根据数据源编码获取数据源 + * 根据数据源编码获取数据源 * * @param datasourceCode * @return 数据源信息 */ public SysDatasource selectByDatasourceCode(String datasourceCode); - /** - * 查询数据源列表 + * 查询数据源Map + * + * @param datasource 数据源 + * @return 数据源集合 + */ + @MapKey("appCode") + public Map selectDatasourceMap(@Param("tenantCode") String tenantCode,@Param("appCode") String appCode); + /** + * 查询数据源列表 * * @param datasource 数据源 * @return 数据源集合 diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDictDataMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictDataMapper.java similarity index 94% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysDictDataMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictDataMapper.java index 029177ac40a15b372226f531cee355b0376bd6e7..d9fbfd1c0db5119e44340b0381002680467c2553 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDictDataMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictDataMapper.java @@ -1,14 +1,14 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; import java.util.List; import org.apache.ibatis.annotations.Param; -import com.ak.platform.domain.system.SysDictData; +import com.opl.operating.platform.domain.system.SysDictData; /** * 字典表 数据层 * - * @author Vean + * @author kingrom */ public interface SysDictDataMapper { /** diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDictTypeMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictTypeMapper.java similarity index 93% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysDictTypeMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictTypeMapper.java index 36f3d4e08845450f29717d2a579d1020ac34501e..0ca967649916c631dd785dd2619fb27ffa9b3327 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysDictTypeMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysDictTypeMapper.java @@ -1,14 +1,14 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; import java.util.List; import org.apache.ibatis.annotations.Mapper; -import com.ak.platform.domain.system.SysDictType; +import com.opl.operating.platform.domain.system.SysDictType; /** * 字典表 数据层 * - * @author Vean + * @author kingrom */ @Mapper public interface SysDictTypeMapper { diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantApplicationMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantApplicationMapper.java similarity index 87% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantApplicationMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantApplicationMapper.java index 51f8cbcb2a2659ba0579b5ed59f374d816f5976f..3c29e265cf06d220f754292cda40bc1dcaed8dbb 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantApplicationMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantApplicationMapper.java @@ -1,6 +1,6 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; -import com.ak.platform.domain.system.SysTenantApplication; +import com.opl.operating.platform.domain.system.SysTenantApplication; import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantMapper.java b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantMapper.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantMapper.java rename to opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantMapper.java index f2ef949e37a9bc58915bdf7a5067fdecf7890cd0..2352e49991d4ab5968ba200ebbe2b42a180719d2 100644 --- a/ak-system/src/main/java/com/ak/platform/mapper/system/SysTenantMapper.java +++ b/opl-system/src/main/java/com/opl/operating/platform/mapper/system/SysTenantMapper.java @@ -1,13 +1,13 @@ -package com.ak.platform.mapper.system; +package com.opl.operating.platform.mapper.system; -import com.ak.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.system.SysTenant; import java.util.List; /** * 租户表表 数据层 * - * @author Vean + * @author kingrom */ public interface SysTenantMapper { diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysDeptServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDeptServiceImpl.java similarity index 89% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysDeptServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDeptServiceImpl.java index 4bfd1c367175f9655ab794f06390f29a0379c0f9..58596f9267f535203a54a4a3bc4faad47724c13e 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysDeptServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDeptServiceImpl.java @@ -1,27 +1,28 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; + +import java.util.List; -import com.ak.common.annotation.DataScope; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.domain.Ztree; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysDept; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.mapper.basedata.SysDeptMapper; -import com.ak.platform.mapper.basedata.SysRoleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; +import com.google.common.collect.Lists; +import com.opl.framework.common.annotation.DataScope; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.mapper.basedata.SysDeptMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMapper; /** * 部门管理 服务实现 * - * @author Vean + * @author kingrom */ @Service public class SysDeptServiceImpl implements ISysDeptService { @@ -66,7 +67,7 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public List roleDeptTreeData(SysRole role) { role = roleMapper.selectRoleById(role.getRoleId()); - List ztrees = new ArrayList(); + List ztrees = Lists.newArrayList(); SysDept dept = new SysDept(); dept.setTenantCode(role.getTenantCode()); List deptList = selectDeptList(dept); @@ -98,7 +99,7 @@ public class SysDeptServiceImpl implements ISysDeptService { */ public List initZtree(List deptList, List roleDeptList) { - List ztrees = new ArrayList(); + List ztrees = Lists.newArrayList(); boolean isCheck = StringUtils.isNotNull(roleDeptList); for (SysDept dept : deptList) { if (UserConstants.DEPT_NORMAL.equals(dept.getStatus())) { @@ -190,7 +191,7 @@ public class SysDeptServiceImpl implements ISysDeptService { updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors); } int result = deptMapper.updateDept(dept); - if (UserConstants.DEPT_NORMAL.equals(dept.getStatus())) { + if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && null != dept.getAncestors() && !"".equals(dept.getAncestors())) { // 如果该部门是启用状态,则启用该部门的所有上级部门 updateParentDeptStatus(dept); } diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysDistrictsServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDistrictsServiceImpl.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysDistrictsServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDistrictsServiceImpl.java index 66cb40ee5653a22ead7bb7dd42617aacb8ed0351..0ae39db3c81a5afdcfe994a610b635926fdd0233 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysDistrictsServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysDistrictsServiceImpl.java @@ -1,15 +1,15 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.common.core.text.Convert; -import com.ak.platform.domain.basedata.SysDistricts; -import com.ak.platform.mapper.basedata.SysDistrictsMapper; +import com.opl.framework.common.core.text.Convert; +import com.opl.operating.platform.domain.basedata.SysDistricts; +import com.opl.operating.platform.mapper.basedata.SysDistrictsMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** - * @author Vean + * @author kingrom */ @Service public class SysDistrictsServiceImpl implements ISysDistrictsService { diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysMenuServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysMenuServiceImpl.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysMenuServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysMenuServiceImpl.java index 58a80b4432c27e473669ca99ca470eea43bc10f3..7e88aa23c164017db0be7c4e68e590774dcc8dc7 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysMenuServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysMenuServiceImpl.java @@ -1,23 +1,33 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; + +import java.text.MessageFormat; +import java.util.Arrays; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.domain.Ztree; -import com.ak.common.utils.StringUtils; -import com.ak.platform.domain.basedata.SysMenu; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysUser; -import com.ak.platform.mapper.basedata.SysMenuMapper; -import com.ak.platform.mapper.basedata.SysRoleMenuMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.text.MessageFormat; -import java.util.*; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.framework.common.utils.StringUtils; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.mapper.basedata.SysMenuMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMenuMapper; /** * 菜单 业务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysMenuServiceImpl implements ISysMenuService { @@ -90,7 +100,7 @@ public class SysMenuServiceImpl implements ISysMenuService { @Override public Set selectPermsByUserId(Long userId) { List perms = menuMapper.selectPermsByUserId(userId); - Set permsSet = new HashSet<>(); + Set permsSet = Sets.newHashSet(); for (String perm : perms) { if (StringUtils.isNotEmpty(perm)) { permsSet.addAll(Arrays.asList(perm.trim().split(","))); @@ -108,7 +118,7 @@ public class SysMenuServiceImpl implements ISysMenuService { @Override public List roleMenuTreeData(SysRole role, Long userId) { Long roleId = role.getRoleId(); - List ztrees = new ArrayList(); + List ztrees = Lists.newArrayList(); List menuList = selectMenuAll(userId); if (StringUtils.isNotNull(roleId)) { List roleMenuList = menuMapper.selectMenuTree(roleId); @@ -167,11 +177,11 @@ public class SysMenuServiceImpl implements ISysMenuService { * @return 树结构列表 */ public List initZtree(List menuList, List roleMenuList, boolean permsFlag) { - List ztrees = new ArrayList(); + List ztrees = Lists.newArrayList(); boolean isCheck = StringUtils.isNotNull(roleMenuList); for (SysMenu menu : menuList) { Ztree ztree = new Ztree(); - Map params = new HashMap(); + Map params = Maps.newHashMap(); params.put("appCode", menu.getAppCode()); ztree.setParams(params); ztree.setId(menu.getMenuId()); @@ -285,7 +295,7 @@ public class SysMenuServiceImpl implements ISysMenuService { * @return String */ public List getChildPerms(List list, int parentId) { - List returnList = new ArrayList(); + List returnList = Lists.newArrayList(); for (Iterator iterator = list.iterator(); iterator.hasNext(); ) { SysMenu t = (SysMenu) iterator.next(); // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 @@ -323,7 +333,7 @@ public class SysMenuServiceImpl implements ISysMenuService { * 得到子节点列表 */ private List getChildList(List list, SysMenu t) { - List tlist = new ArrayList(); + List tlist = Lists.newArrayList(); Iterator it = list.iterator(); while (it.hasNext()) { SysMenu n = (SysMenu) it.next(); diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysPostServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysPostServiceImpl.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysPostServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysPostServiceImpl.java index 1dbc56aa0f7cfe2df73b549a648c0a65893b0996..04e7aed505e3730f2d3e66e3ba150744eaa5c03a 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysPostServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysPostServiceImpl.java @@ -1,13 +1,13 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysPost; -import com.ak.platform.mapper.basedata.SysPostMapper; -import com.ak.platform.mapper.basedata.SysUserPostMapper; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysPost; +import com.opl.operating.platform.mapper.basedata.SysPostMapper; +import com.opl.operating.platform.mapper.basedata.SysUserPostMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,7 +16,7 @@ import java.util.List; /** * 岗位信息 服务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysPostServiceImpl implements ISysPostService { diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysRoleServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysRoleServiceImpl.java similarity index 86% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysRoleServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysRoleServiceImpl.java index e50af8efac549e92a4bf149c7138c83fddd47845..511a9d7c7f2a8ac82a3202c92f7bdda4b6918af0 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysRoleServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysRoleServiceImpl.java @@ -1,31 +1,36 @@ -package com.ak.platform.service.basedata; +package com.opl.operating.platform.service.basedata; + +import java.util.Arrays; +import java.util.List; +import java.util.Set; -import com.ak.common.annotation.DataScope; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.spring.SpringUtils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.SysRole; -import com.ak.platform.domain.basedata.SysRoleDept; -import com.ak.platform.domain.basedata.SysRoleMenu; -import com.ak.platform.domain.basedata.SysUserRole; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.mapper.basedata.SysRoleDeptMapper; -import com.ak.platform.mapper.basedata.SysRoleMapper; -import com.ak.platform.mapper.basedata.SysRoleMenuMapper; -import com.ak.platform.mapper.basedata.SysUserRoleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.opl.framework.common.annotation.DataScope; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.spring.SpringUtils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysRoleDept; +import com.opl.operating.platform.domain.basedata.SysRoleMenu; +import com.opl.operating.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.mapper.basedata.SysRoleDeptMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMenuMapper; +import com.opl.operating.platform.mapper.basedata.SysUserRoleMapper; /** * 角色 业务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysRoleServiceImpl implements ISysRoleService { @@ -63,7 +68,7 @@ public class SysRoleServiceImpl implements ISysRoleService { @Override public Set selectRoleKeys(Long userId) { List perms = roleMapper.selectRolesByUserId(userId); - Set permsSet = new HashSet<>(); + Set permsSet = Sets.newHashSet(); for (SysRole perm : perms) { if (StringUtils.isNotNull(perm)) { permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); @@ -198,7 +203,7 @@ public class SysRoleServiceImpl implements ISysRoleService { public int insertRoleMenu(SysRole role) { int rows = 1; // 新增用户与角色管理 - List list = new ArrayList(); + List list = Lists.newArrayList(); for (Long menuId : role.getMenuIds()) { SysRoleMenu rm = new SysRoleMenu(); rm.setRoleId(role.getRoleId()); @@ -219,7 +224,7 @@ public class SysRoleServiceImpl implements ISysRoleService { public int insertRoleDept(SysRole role) { int rows = 1; // 新增角色与部门(数据权限)管理 - List list = new ArrayList(); + List list = Lists.newArrayList(); for (Long deptId : role.getDeptIds()) { SysRoleDept rd = new SysRoleDept(); rd.setRoleId(role.getRoleId()); @@ -320,7 +325,7 @@ public class SysRoleServiceImpl implements ISysRoleService { public int insertAuthUsers(Long roleId, String userIds) { Long[] users = Convert.toLongArray(userIds); // 新增用户与角色管理 - List list = new ArrayList(); + List list = Lists.newArrayList(); for (Long userId : users) { SysUserRole ur = new SysUserRole(); ur.setUserId(userId); diff --git a/ak-system/src/main/java/com/ak/platform/service/basedata/SysUserServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysUserServiceImpl.java similarity index 89% rename from ak-system/src/main/java/com/ak/platform/service/basedata/SysUserServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysUserServiceImpl.java index e2700286d49e0278ccab4c6358347cfc395d5179..960aa6fa9c47489cf1c0347bb0e59a91267ccb6f 100644 --- a/ak-system/src/main/java/com/ak/platform/service/basedata/SysUserServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/basedata/SysUserServiceImpl.java @@ -1,16 +1,7 @@ -package com.ak.platform.service.basedata; - -import com.ak.common.annotation.DataScope; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.common.utils.security.Md5Utils; -import com.ak.framework.util.ShiroUtils; -import com.ak.platform.domain.basedata.*; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.mapper.basedata.*; -import com.ak.platform.service.system.ISysConfigService; +package com.opl.operating.platform.service.basedata; + +import java.util.List; + import org.apache.shiro.crypto.hash.Md5Hash; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,13 +9,32 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.List; +import com.google.common.collect.Lists; +import com.opl.framework.common.annotation.DataScope; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.framework.common.utils.security.Md5Utils; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysPost; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysUserPost; +import com.opl.operating.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.mapper.basedata.SysPostMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMapper; +import com.opl.operating.platform.mapper.basedata.SysUserMapper; +import com.opl.operating.platform.mapper.basedata.SysUserPostMapper; +import com.opl.operating.platform.mapper.basedata.SysUserRoleMapper; +import com.opl.operating.platform.service.system.ISysConfigService; /** * 用户 业务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysUserServiceImpl implements ISysUserService { @@ -231,7 +241,7 @@ public class SysUserServiceImpl implements ISysUserService { Long[] roles = user.getRoleIds(); if (StringUtils.isNotNull(roles)) { // 新增用户与角色管理 - List list = new ArrayList(); + List list = Lists.newArrayList(); for (Long roleId : roles) { SysUserRole ur = new SysUserRole(); ur.setUserId(user.getUserId()); @@ -253,7 +263,7 @@ public class SysUserServiceImpl implements ISysUserService { Long[] posts = user.getPostIds(); if (StringUtils.isNotNull(posts)) { // 新增用户与岗位管理 - List list = new ArrayList(); + List list = Lists.newArrayList(); for (Long postId : posts) { SysUserPost up = new SysUserPost(); up.setUserId(user.getUserId()); diff --git a/opl-system/src/main/java/com/opl/operating/platform/service/global/ChannelFinanceAmountServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/global/ChannelFinanceAmountServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..1066002e7ac47997449eef18fc55a904fbcf3851 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/service/global/ChannelFinanceAmountServiceImpl.java @@ -0,0 +1,126 @@ +package com.opl.operating.platform.service.global; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.opl.framework.common.annotation.ModuleScope; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.core.datasource.DataSourceHolder; +import com.opl.framework.core.util.CageDataSource; +import com.opl.operating.platform.domain.global.ChannelFinanceAmount; +import com.opl.operating.platform.mapper.global.ChannelFinanceAmountMapper; +import com.opl.operating.platform.service.system.ISysDatasourceService; + +/** + * 渠道额度 服务层实现 + * + * @author kingrom + * @date 2018-06-25 + */ + +@ModuleScope("TanantOperat") +@Service +public class ChannelFinanceAmountServiceImpl implements IChannelFinanceAmountService { + @Autowired + private ChannelFinanceAmountMapper channelFinanceAmountMapper; + + @Autowired + private ISysDatasourceService dataSourceService; + + /** + * 查询渠道额度 + * + * @param 渠道额度ID + * @return 渠道额度 + */ + @Override + public ChannelFinanceAmount selectChannelFinanceAmountById(Long id) { + try { + CageDataSource.action(ChannelFinanceAmountServiceImpl.class,dataSourceService); + return channelFinanceAmountMapper.selectChannelFinanceAmountById(id); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return null; + } + + /** + * 查询渠道额度 + * + * @param 渠道额度 + * @return 公告集合 + */ + @Override + public List selectChannelFinanceAmountList(ChannelFinanceAmount channelFinanceAmount) { + try { + CageDataSource.action(ChannelFinanceAmountServiceImpl.class,dataSourceService); + return channelFinanceAmountMapper.selectChannelFinanceAmountList(channelFinanceAmount); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return null; + } + + /** + * 新增渠道额度 + * + * @param 渠道额度 + * @return 结果 + */ + @Override + public int insertChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount) { + try { + CageDataSource.action(ChannelFinanceAmountServiceImpl.class,dataSourceService); + return channelFinanceAmountMapper.insertChannelFinanceAmount(channelFinanceAmount); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return 0; + } + + /** + * 修改渠道额度 + * + * @param 渠道额度 + * @return 结果 + */ + @Override + public int updateChannelFinanceAmount(ChannelFinanceAmount channelFinanceAmount) { + try { + CageDataSource.action(ChannelFinanceAmountServiceImpl.class,dataSourceService); + return channelFinanceAmountMapper.updateChannelFinanceAmount(channelFinanceAmount); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return 0; + } + + /** + * 删除渠道额度 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteChannelFinanceAmountByIds(String ids) { + try { + CageDataSource.action(ChannelFinanceAmountServiceImpl.class,dataSourceService); + return channelFinanceAmountMapper.deleteChannelFinanceAmountByIds(Convert.toStrArray(ids)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return 0; + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/service/global/MerchantChannelServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/global/MerchantChannelServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..01e6149e542b27d75afd1258dbc7d09e1ca84442 --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/service/global/MerchantChannelServiceImpl.java @@ -0,0 +1,122 @@ +//package com.opl.operating.platform.service.global; +// +//import java.util.List; +// +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import com.opl.framework.common.core.text.Convert; +//import com.opl.framework.core.datasource.DataSourceHolder; +//import com.opl.framework.core.util.CageDataSource; +//import com.opl.operating.platform.domain.global.MerchantChannel; +//import com.opl.operating.platform.service.system.ISysDatasourceService; +// +///** +// * 渠道秘钥 服务层实现 +// * +// * @author kingrom +// * @date 2018-06-25 +// */ +//@Service +//public class MerchantChannelServiceImpl implements IMerchantChannelService { +// @Autowired +// private MerchantChannelMapper merchantChannelMapper; +// +// @Autowired +// private ISysDatasourceService dataSourceService; +// +// /** +// * 查询渠道秘钥 +// * +// * @param 渠道秘钥ID +// * @return 渠道秘钥 +// */ +// @Override +// public MerchantChannel selectMerchantChannelById(Long id) { +// try { +// CageDataSource.action(dataSourceService); +// return channelFinanceAmountMapper.selectMerchantChannelById(id); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// DataSourceHolder.clearDataSource(); +// } +// return null; +// } +// +// /** +// * 查询渠道秘钥 +// * +// * @param 渠道秘钥 +// * @return 渠道秘钥集合 +// */ +// @Override +// public List selectMerchantChannelList(MerchantChannel channelFinanceAmount) { +// try { +// CageDataSource.action(dataSourceService); +// return channelFinanceAmountMapper.selectMerchantChannelList(channelFinanceAmount); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// DataSourceHolder.clearDataSource(); +// } +// return null; +// } +// +// /** +// * 新增渠道秘钥 +// * +// * @param 渠道秘钥 +// * @return 结果 +// */ +// @Override +// public int insertMerchantChannel(MerchantChannel channelFinanceAmount) { +// try { +// CageDataSource.action(dataSourceService); +// return channelFinanceAmountMapper.insertMerchantChannel(channelFinanceAmount); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// DataSourceHolder.clearDataSource(); +// } +// return 0; +// } +// +// /** +// * 修改渠道秘钥 +// * +// * @param 渠道秘钥 +// * @return 结果 +// */ +// @Override +// public int updateMerchantChannel(MerchantChannel channelFinanceAmount) { +// try { +// CageDataSource.action(dataSourceService); +// return channelFinanceAmountMapper.updateMerchantChannel(channelFinanceAmount); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// DataSourceHolder.clearDataSource(); +// } +// return 0; +// } +// +// /** +// * 删除渠道秘钥 +// * +// * @param ids 需要删除的数据ID +// * @return 结果 +// */ +// @Override +// public int deleteMerchantChannelByIds(String ids) { +// try { +// CageDataSource.action(dataSourceService); +// return channelFinanceAmountMapper.deleteMerchantChannelByIds(Convert.toStrArray(ids)); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// DataSourceHolder.clearDataSource(); +// } +// return 0; +// } +//} diff --git a/ak-system/src/main/java/com/ak/platform/service/log/SysLogininforServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/log/SysLogininforServiceImpl.java similarity index 84% rename from ak-system/src/main/java/com/ak/platform/service/log/SysLogininforServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/log/SysLogininforServiceImpl.java index 82a18491825c8d7ff25430bc1e8ac33037d35ad7..1205082c33fa9fbe3249b87fc2acd3f90d5020f9 100644 --- a/ak-system/src/main/java/com/ak/platform/service/log/SysLogininforServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/log/SysLogininforServiceImpl.java @@ -1,8 +1,8 @@ -package com.ak.platform.service.log; +package com.opl.operating.platform.service.log; -import com.ak.common.core.text.Convert; -import com.ak.platform.domain.log.SysLogininfor; -import com.ak.platform.mapper.log.SysLogininforMapper; +import com.opl.framework.common.core.text.Convert; +import com.opl.operating.platform.domain.log.SysLogininfor; +import com.opl.operating.platform.mapper.log.SysLogininforMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,7 +11,7 @@ import java.util.List; /** * 系统访问日志情况信息 服务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysLogininforServiceImpl implements ISysLogininforService { diff --git a/ak-system/src/main/java/com/ak/platform/service/log/SysOperLogServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/log/SysOperLogServiceImpl.java similarity index 85% rename from ak-system/src/main/java/com/ak/platform/service/log/SysOperLogServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/log/SysOperLogServiceImpl.java index 2b7103e6940dfb387a2db1df5113af7259115fe7..c6d0cb0b71e547059e8b23a61b2d2d2eb4eacc0a 100644 --- a/ak-system/src/main/java/com/ak/platform/service/log/SysOperLogServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/log/SysOperLogServiceImpl.java @@ -1,8 +1,8 @@ -package com.ak.platform.service.log; +package com.opl.operating.platform.service.log; -import com.ak.common.core.text.Convert; -import com.ak.platform.domain.log.SysOperLog; -import com.ak.platform.mapper.log.SysOperLogMapper; +import com.opl.framework.common.core.text.Convert; +import com.opl.operating.platform.domain.log.SysOperLog; +import com.opl.operating.platform.mapper.log.SysOperLogMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,7 +11,7 @@ import java.util.List; /** * 操作日志 服务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysOperLogServiceImpl implements ISysOperLogService { diff --git a/ak-system/src/main/java/com/ak/platform/service/message/SysNoticeServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/message/SysNoticeServiceImpl.java similarity index 52% rename from ak-system/src/main/java/com/ak/platform/service/message/SysNoticeServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/message/SysNoticeServiceImpl.java index 937e1ca73f627b6fc2a87bbc28010805500b9a00..c95fc54f2eed0f919aab61f234535e84154896d2 100644 --- a/ak-system/src/main/java/com/ak/platform/service/message/SysNoticeServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/message/SysNoticeServiceImpl.java @@ -1,11 +1,12 @@ -package com.ak.platform.service.message; +package com.opl.operating.platform.service.message; -import com.ak.common.core.text.Convert; -import com.ak.framework.util.CageDataSource; -import com.ak.framework.datasource.DataSourceHolder; -import com.ak.platform.domain.message.SysNotice; -import com.ak.platform.mapper.message.SysNoticeMapper; -import com.ak.platform.service.system.ISysDatasourceService; +import com.opl.framework.common.annotation.ModuleScope; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.core.util.CageDataSource; +import com.opl.framework.core.datasource.DataSourceHolder; +import com.opl.operating.platform.domain.message.SysNotice; +import com.opl.operating.platform.mapper.message.SysNoticeMapper; +import com.opl.operating.platform.service.system.ISysDatasourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -14,9 +15,11 @@ import java.util.List; /** * 公告 服务层实现 * - * @author Vean + * @author kingrom * @date 2018-06-25 */ + +@ModuleScope("TenantMessage") @Service public class SysNoticeServiceImpl implements ISysNoticeService { @Autowired @@ -33,7 +36,15 @@ public class SysNoticeServiceImpl implements ISysNoticeService { */ @Override public SysNotice selectNoticeById(Long noticeId) { - return noticeMapper.selectNoticeById(noticeId); + try { + CageDataSource.action(SysNoticeServiceImpl.class,dataSourceService); + return noticeMapper.selectNoticeById(noticeId); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return null; } /** @@ -45,7 +56,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService { @Override public List selectNoticeList(SysNotice notice) { try { - CageDataSource.action(dataSourceService); + CageDataSource.action(SysNoticeServiceImpl.class,dataSourceService); return noticeMapper.selectNoticeList(notice); } catch (Exception e) { e.printStackTrace(); @@ -64,7 +75,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService { @Override public int insertNotice(SysNotice notice) { try { - CageDataSource.action(dataSourceService); + CageDataSource.action(null,dataSourceService); return noticeMapper.insertNotice(notice); } catch (Exception e) { e.printStackTrace(); @@ -82,7 +93,15 @@ public class SysNoticeServiceImpl implements ISysNoticeService { */ @Override public int updateNotice(SysNotice notice) { - return noticeMapper.updateNotice(notice); + try { + CageDataSource.action(SysNoticeServiceImpl.class,dataSourceService); + return noticeMapper.updateNotice(notice); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return 0; } /** @@ -93,6 +112,14 @@ public class SysNoticeServiceImpl implements ISysNoticeService { */ @Override public int deleteNoticeByIds(String ids) { - return noticeMapper.deleteNoticeByIds(Convert.toStrArray(ids)); + try { + CageDataSource.action(SysNoticeServiceImpl.class,dataSourceService); + return noticeMapper.deleteNoticeByIds(Convert.toStrArray(ids)); + } catch (Exception e) { + e.printStackTrace(); + } finally { + DataSourceHolder.clearDataSource(); + } + return 0; } } diff --git a/ak-system/src/main/java/com/ak/platform/service/monitor/SysUserOnlineServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/monitor/SysUserOnlineServiceImpl.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/service/monitor/SysUserOnlineServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/monitor/SysUserOnlineServiceImpl.java index 5fc2bf91fadecc07dd9c5027d543adf8b399edac..a23a325dfb3af05c4138a3d9ecc41d83fde70b37 100644 --- a/ak-system/src/main/java/com/ak/platform/service/monitor/SysUserOnlineServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/monitor/SysUserOnlineServiceImpl.java @@ -1,19 +1,19 @@ -package com.ak.platform.service.monitor; +package com.opl.operating.platform.service.monitor; import java.util.Date; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ak.common.utils.DateUtils; -import com.ak.common.utils.StringUtils; -import com.ak.platform.domain.monitor.SysUserOnline; -import com.ak.platform.mapper.monitor.SysUserOnlineMapper; +import com.opl.framework.common.utils.DateUtils; +import com.opl.framework.common.utils.StringUtils; +import com.opl.operating.platform.domain.monitor.SysUserOnline; +import com.opl.operating.platform.mapper.monitor.SysUserOnlineMapper; /** * 在线用户 服务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysUserOnlineServiceImpl implements ISysUserOnlineService { diff --git a/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanOrderServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanOrderServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..5568bab50b0ce61bff347f3bf1f169ae476ed68d --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanOrderServiceImpl.java @@ -0,0 +1,83 @@ +package com.opl.operating.platform.service.operat; + +import java.io.IOException; +import java.util.List; + +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.Page; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.core.domain.AjaxResult; +import com.opl.framework.common.utils.JsonUtils; +import com.opl.framework.common.utils.http.HttpUtils; +import com.opl.framework.common.utils.poi.CsvFilePrinter; +import com.opl.operating.platform.vo.OrderInfoVo; +import com.opl.operating.platform.vo.SearchRequest; + +@Service +public class LoanOrderServiceImpl implements ILoanOrderService { + + public List searchOrderList(SearchRequest request) { + + String url = Global.getSearchOrder(); + String json = JsonUtils.toString(request); + + String str = HttpUtils.doPostJson(url, json); + JSONObject jsonParam = JSONObject.parseObject(str); + + Integer total = (Integer) jsonParam.get("total"); + Integer pages = (Integer) jsonParam.get("pages"); + String listTxt = JSONArray.toJSONString(jsonParam.get("records")); + List list1 = JSONArray.parseArray(listTxt, OrderInfoVo.class); + Page pageInfo = new Page(); + pageInfo.addAll(list1); + pageInfo.setTotal(total); + pageInfo.setPageNum((Integer) request.getPageNo()); + pageInfo.setPages(pages); + pageInfo.setPageSize((Integer) request.getPageSize()); + return (List) pageInfo; + } + + @Override + public AjaxResult exportCsvFile(SearchRequest request) { + request.setPageNo(0); + request.setPageSize(10); + String url = Global.getSearchOrder(); + String json = JsonUtils.toString(request); + + String str = HttpUtils.doPostJson(url, json); + JSONObject jsonParam = JSONObject.parseObject(str); + + Integer listCount = (Integer) jsonParam.get("total"); + Integer startPageNo = 0; + int pageSize = 100; + int quotient = listCount / pageSize + (listCount % pageSize > 0 ? 1 : 0);// 循环次数 + try { + CsvFilePrinter print = new CsvFilePrinter(OrderInfoVo.class,"进件订单", true); + for (int i = 0; i < quotient; i++) { + int startCount = ((i > 0 ? i : 0) * pageSize); + if ((listCount % pageSize) > 0) { + if (i == (quotient - 1)) { + pageSize = (int) (listCount % pageSize);// 余数 + } + } + request.setPageNo(startCount); + request.setPageSize(pageSize); + json = JsonUtils.toString(request); + + String returnStr = HttpUtils.doPostJson(url, json); + JSONObject returnJson = JSONObject.parseObject(returnStr); + String listTxt = JSONArray.toJSONString(returnJson.get("records")); + List list1 = JSONArray.parseArray(listTxt, OrderInfoVo.class); + startPageNo += 1; + print.write(list1); + } + return print.stop(); + } catch (IOException e) { + e.printStackTrace(); + } + return AjaxResult.error("导出文件失败!"); + } +} diff --git a/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanRepayServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanRepayServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9bf04164741dcf3752682a55eebcbb3ecc8a3dcb --- /dev/null +++ b/opl-system/src/main/java/com/opl/operating/platform/service/operat/LoanRepayServiceImpl.java @@ -0,0 +1,40 @@ +package com.opl.operating.platform.service.operat; + +import java.util.List; + +import org.springframework.stereotype.Service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.Page; +import com.opl.framework.common.config.Global; +import com.opl.framework.common.utils.JsonUtils; +import com.opl.framework.common.utils.http.HttpUtils; +import com.opl.operating.platform.vo.OrderRepaymentVo; +import com.opl.operating.platform.vo.SearchRequest; + +@Service +public class LoanRepayServiceImpl implements ILoanRePayService { + + @Override + public List searchRePayList(SearchRequest request){ + + String url = Global.getSearchRepayment(); + String json = JsonUtils.toString(request); + + String str = HttpUtils.doPostJson(url, json); + JSONObject jsonParam = JSONObject.parseObject(str); + + Integer total = (Integer) jsonParam.get("total"); + Integer pages = (Integer) jsonParam.get("pages"); + String listTxt = JSONArray.toJSONString(jsonParam.get("records")); + List list1 = JSONArray.parseArray(listTxt, OrderRepaymentVo.class); + Page pageInfo = new Page(); + pageInfo.addAll(list1); + pageInfo.setTotal(total); + pageInfo.setPageNum((Integer)request.getPageNo()); + pageInfo.setPages(pages); + pageInfo.setPageSize((Integer)request.getPageSize()); + return (List)pageInfo; + } +} diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysApplicationServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysApplicationServiceImpl.java similarity index 80% rename from ak-system/src/main/java/com/ak/platform/service/system/SysApplicationServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysApplicationServiceImpl.java index b784bc17200569f389c297e9f093a6ae07cdf0d8..e39959f670ae1311bbcdc0a88565368b0a8c179c 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysApplicationServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysApplicationServiceImpl.java @@ -1,7 +1,7 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; -import com.ak.platform.domain.system.SysApplication; -import com.ak.platform.mapper.system.SysApplicationMapper; +import com.opl.operating.platform.domain.system.SysApplication; +import com.opl.operating.platform.mapper.system.SysApplicationMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,15 +46,7 @@ public class SysApplicationServiceImpl implements ISysApplicationService { */ @Override public boolean deleteApplicationByCode(String appCode) { - SysApplication aplication = new SysApplication(); - aplication.setAppCode(appCode); - aplication.setDelFlag("2"); - int num = sysApplicationMapper.updateApplication(aplication); - if (num > 0) { - return true; - } else { - return false; - } + return sysApplicationMapper.deleteApplicationByCode(appCode); } @Override diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysConfigServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysConfigServiceImpl.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/service/system/SysConfigServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysConfigServiceImpl.java index 7cc8247fa9dba6f852dc31075d78bec4f62bbc97..0060312ac927ae5549f8fa68db245b99eac44ac7 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysConfigServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysConfigServiceImpl.java @@ -1,19 +1,19 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.utils.StringUtils; -import com.ak.platform.domain.system.SysConfig; -import com.ak.platform.mapper.system.SysConfigMapper; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.utils.StringUtils; +import com.opl.operating.platform.domain.system.SysConfig; +import com.opl.operating.platform.mapper.system.SysConfigMapper; /** * 参数配置 服务层实现 * - * @author Vean + * @author kingrom */ @Service public class SysConfigServiceImpl implements ISysConfigService { diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysDatasourceServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDatasourceServiceImpl.java similarity index 82% rename from ak-system/src/main/java/com/ak/platform/service/system/SysDatasourceServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysDatasourceServiceImpl.java index 84b42db589aa3d30bf8230a0a580fcc12e3a24d6..ed69ec3186f5def07687c24bb547efc66ac2c6b1 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysDatasourceServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDatasourceServiceImpl.java @@ -1,21 +1,24 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; -import com.ak.common.core.text.Convert; -import com.ak.platform.domain.system.SysDatasource; -import com.ak.platform.domain.system.SysDatasourceApplication; -import com.ak.platform.mapper.system.SysDatasourceApplicationMapper; -import com.ak.platform.mapper.system.SysDatasourceMapper; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import com.google.common.collect.Lists; +import com.opl.framework.common.core.text.Convert; +import com.opl.operating.platform.domain.system.SysDatasource; +import com.opl.operating.platform.domain.system.SysDatasourceApplication; +import com.opl.operating.platform.mapper.system.SysDatasourceApplicationMapper; +import com.opl.operating.platform.mapper.system.SysDatasourceMapper; /** * 数据源业务实现 * - * @author Vean + * @author kingrom */ @Service public class SysDatasourceServiceImpl implements ISysDatasourceService { @@ -86,12 +89,12 @@ public class SysDatasourceServiceImpl implements ISysDatasourceService { } // 需要新增的 if (null != appCodesNew && appCodesNew.size() > 0) { - List appCodesInsert = new ArrayList(); + List appCodesInsert = Lists.newArrayList(); appCodesInsert.addAll(appCodesNew); if (null != appCodesOld) { appCodesInsert.removeAll(appCodesOld); } - List insertDatasourceApplications = new ArrayList(); + List insertDatasourceApplications = Lists.newArrayList(); appCodesInsert.forEach(s -> { SysDatasourceApplication sda = new SysDatasourceApplication(); sda.setDatasourceCode(datasourceApplication.getDatasourceCode()); @@ -102,7 +105,7 @@ public class SysDatasourceServiceImpl implements ISysDatasourceService { } // 需求删除的 if (null != appCodesOld && appCodesOld.size() > 0) { - List appCodesDelete = new ArrayList(); + List appCodesDelete = Lists.newArrayList(); appCodesDelete.addAll(appCodesOld); appCodesDelete.removeAll(appCodesNew); appCodesDelete.forEach(s -> { @@ -113,4 +116,9 @@ public class SysDatasourceServiceImpl implements ISysDatasourceService { }); } } + + @Override + public Map selectDatasourceMap(String tenantCode,String appCode) { + return dataSourceMapper.selectDatasourceMap(tenantCode,appCode); + } } diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysDictDataServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictDataServiceImpl.java similarity index 62% rename from ak-system/src/main/java/com/ak/platform/service/system/SysDictDataServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictDataServiceImpl.java index c8f8c7ad488f07cddd7d253e968f45ede6fbcb7e..0893465662b502ea6d1dfa72284cc789c55302c1 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysDictDataServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictDataServiceImpl.java @@ -1,22 +1,34 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ak.common.core.text.Convert; -import com.ak.platform.domain.system.SysDictData; -import com.ak.platform.mapper.system.SysDictDataMapper; + +import com.google.common.collect.Lists; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.core.util.ShiroUtils; +import com.opl.operating.platform.domain.system.SysDictData; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.mapper.system.SysDictDataMapper; +import com.opl.operating.platform.mapper.system.SysTenantMapper; + +import lombok.extern.slf4j.Slf4j; /** * 字典 业务层处理 * - * @author Vean + * @author kingrom */ +@Slf4j @Service public class SysDictDataServiceImpl implements ISysDictDataService { - @Autowired + + @Autowired private SysDictDataMapper dictDataMapper; + + @Autowired + private SysTenantMapper sysTenantMapper; /** * 根据条件分页查询字典数据 @@ -39,6 +51,37 @@ public class SysDictDataServiceImpl implements ISysDictDataService { public List selectDictDataByType(String dictType) { return dictDataMapper.selectDictDataByType(dictType); } + + /** + * 根据字典类型查询字典数据 + * + * @param dictType 字典类型 + * @return 字典数据集合信息 + */ + @Override + public List selectDictDataByType(String dictType,String pmisson) { + List restltList = Lists.newArrayList(); + try { + String tenantCode= ShiroUtils.getTenantCode(); + SysTenant sysTenant =sysTenantMapper.selectTenantByTenantCode(tenantCode); + String channelId= sysTenant.getChannelId(); + + List list = dictDataMapper.selectDictDataByType(dictType); + if("".equals(channelId) || channelId ==null) { + return list; + }else { + for (SysDictData dict :list) { + if(channelId.indexOf(dict.getDictValue())!=-1) { + restltList.add(dict); + } + } + } + }catch(Exception e) { + log.info("错误信息",e.getMessage()); + } + + return restltList; + } /** * 根据字典类型和字典键值查询字典数据信息 diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysDictTypeServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictTypeServiceImpl.java similarity index 88% rename from ak-system/src/main/java/com/ak/platform/service/system/SysDictTypeServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictTypeServiceImpl.java index aac8396419b89c72c8e6343008ddc8a30af1a340..0e45651b74ba5b976d9c2d9799f7615805920d31 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysDictTypeServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysDictTypeServiceImpl.java @@ -1,24 +1,25 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; -import java.util.ArrayList; import java.util.List; -import com.ak.common.core.domain.Ztree; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ak.common.constant.UserConstants; -import com.ak.common.core.text.Convert; -import com.ak.common.exception.BusinessException; -import com.ak.common.utils.StringUtils; -import com.ak.platform.domain.system.SysDictType; -import com.ak.platform.mapper.system.SysDictDataMapper; -import com.ak.platform.mapper.system.SysDictTypeMapper; + +import com.google.common.collect.Lists; +import com.opl.framework.common.constant.UserConstants; +import com.opl.framework.common.core.domain.Ztree; +import com.opl.framework.common.core.text.Convert; +import com.opl.framework.common.exception.BusinessException; +import com.opl.framework.common.utils.StringUtils; +import com.opl.operating.platform.domain.system.SysDictType; +import com.opl.operating.platform.mapper.system.SysDictDataMapper; +import com.opl.operating.platform.mapper.system.SysDictTypeMapper; /** * 字典 业务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysDictTypeServiceImpl implements ISysDictTypeService { @@ -150,7 +151,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { */ @Override public List selectDictTree(SysDictType dictType) { - List ztrees = new ArrayList(); + List ztrees = Lists.newArrayList(); List dictList = dictTypeMapper.selectDictTypeList(dictType); for (SysDictType dict : dictList) { if (UserConstants.DICT_NORMAL.equals(dict.getStatus())) { diff --git a/ak-system/src/main/java/com/ak/platform/service/system/SysTenantServiceImpl.java b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysTenantServiceImpl.java similarity index 79% rename from ak-system/src/main/java/com/ak/platform/service/system/SysTenantServiceImpl.java rename to opl-system/src/main/java/com/opl/operating/platform/service/system/SysTenantServiceImpl.java index 6f73355814d83221a06ac3d93244f57edf5023eb..fe107b323284844bb67c692a3187f6be6a326734 100644 --- a/ak-system/src/main/java/com/ak/platform/service/system/SysTenantServiceImpl.java +++ b/opl-system/src/main/java/com/opl/operating/platform/service/system/SysTenantServiceImpl.java @@ -1,24 +1,37 @@ -package com.ak.platform.service.system; +package com.opl.operating.platform.service.system; + +import java.util.List; -import com.ak.platform.domain.basedata.*; -import com.ak.platform.domain.system.SysTenant; -import com.ak.platform.domain.system.SysTenantApplication; -import com.ak.platform.mapper.basedata.*; -import com.ak.platform.mapper.system.SysTenantApplicationMapper; -import com.ak.platform.mapper.system.SysTenantMapper; -import com.ak.platform.service.basedata.ISysDeptService; -import com.ak.platform.service.basedata.ISysRoleService; -import com.ak.platform.service.basedata.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; +import com.google.common.collect.Lists; +import com.opl.operating.platform.domain.basedata.SysDept; +import com.opl.operating.platform.domain.basedata.SysMenu; +import com.opl.operating.platform.domain.basedata.SysRole; +import com.opl.operating.platform.domain.basedata.SysRoleDept; +import com.opl.operating.platform.domain.basedata.SysRoleMenu; +import com.opl.operating.platform.domain.basedata.SysUser; +import com.opl.operating.platform.domain.basedata.SysUserRole; +import com.opl.operating.platform.domain.system.SysTenant; +import com.opl.operating.platform.domain.system.SysTenantApplication; +import com.opl.operating.platform.mapper.basedata.SysDeptMapper; +import com.opl.operating.platform.mapper.basedata.SysMenuMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleDeptMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMapper; +import com.opl.operating.platform.mapper.basedata.SysRoleMenuMapper; +import com.opl.operating.platform.mapper.basedata.SysUserMapper; +import com.opl.operating.platform.mapper.basedata.SysUserRoleMapper; +import com.opl.operating.platform.mapper.system.SysTenantApplicationMapper; +import com.opl.operating.platform.mapper.system.SysTenantMapper; +import com.opl.operating.platform.service.basedata.ISysDeptService; +import com.opl.operating.platform.service.basedata.ISysRoleService; +import com.opl.operating.platform.service.basedata.ISysUserService; /** * 租户 业务层处理 * - * @author Vean + * @author kingrom */ @Service public class SysTenantServiceImpl implements ISysTenantService { @@ -134,15 +147,15 @@ public class SysTenantServiceImpl implements ISysTenantService { List sysRoles = roleMapper.getSysRoleByTenantCode(tenantApplication.getTenantCode()); if (listist != null && listist.size() > 0) { //存新增的 - List newAppCodes = new ArrayList(); + List newAppCodes = Lists.newArrayList(); //存废除的 - List oldAppCodes = new ArrayList(); + List oldAppCodes = Lists.newArrayList(); //获取新的 for (String appCode : tenantApplication.getAppCodes()) { - SysTenantApplication SysTenantApplicationnew = new SysTenantApplication(); - SysTenantApplicationnew.setAppCode(appCode); - SysTenantApplicationnew.setTenantCode(tenantApplication.getTenantCode()); - Boolean flge = listist.contains(SysTenantApplicationnew); + SysTenantApplication sysTenantApplicationnew = new SysTenantApplication(); + sysTenantApplicationnew.setAppCode(appCode); + sysTenantApplicationnew.setTenantCode(tenantApplication.getTenantCode()); + Boolean flge = listist.contains(sysTenantApplicationnew); if (!flge) { newAppCodes.add(appCode); } @@ -177,7 +190,7 @@ public class SysTenantServiceImpl implements ISysTenantService { List roleDeptList = getSysRoleDepts(dept, role); roleDeptMapper.batchRoleDept(roleDeptList); //添加角色关联菜单 - List roles = new ArrayList<>(); + List roles = Lists.newArrayList(); roles.add(role); insertMenuRoles(tenantApplication.getAppCodes(), roles); //创建用户 @@ -190,7 +203,7 @@ public class SysTenantServiceImpl implements ISysTenantService { } private List getSysRoleDepts(SysDept dept, SysRole role) { - List roleDeptList = new ArrayList<>(); + List roleDeptList = Lists.newArrayList(); SysRoleDept roleDept = new SysRoleDept(); roleDept.setDeptId(dept.getDeptId()); roleDept.setRoleId(role.getRoleId()); @@ -199,7 +212,7 @@ public class SysTenantServiceImpl implements ISysTenantService { } private List getSysUserRoles(SysRole role, SysUser user) { - List userRoles = new ArrayList<>(); + List userRoles = Lists.newArrayList(); SysUserRole userRole = new SysUserRole(); userRole.setRoleId(role.getRoleId()); userRole.setUserId(user.getUserId()); @@ -223,7 +236,7 @@ public class SysTenantServiceImpl implements ISysTenantService { } private void batchRolesmenus(List roles, List sysMenus) { - List sysRoleMenus = new ArrayList(); + List sysRoleMenus = Lists.newArrayList(); for (SysRole role : roles) { for (SysMenu menu : sysMenus) { SysRoleMenu sysRoleMenu = new SysRoleMenu(); diff --git a/ak-system/src/main/resources/application-druid.yml b/opl-system/src/main/resources/application-dev.yml similarity index 69% rename from ak-system/src/main/resources/application-druid.yml rename to opl-system/src/main/resources/application-dev.yml index 514d4ab982d13889530a9b0def0878ab33100256..2f1e280e41fa7bf0923c5cdf80c3b66c005103ea 100644 --- a/ak-system/src/main/resources/application-druid.yml +++ b/opl-system/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ spring: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver sql-script-encoding: UTF-8 - url: jdbc:mysql://localhost:3306/stone?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.1.64:3306/opl2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: root + password: Aa123456 druid: # 初始连接数 initialSize: 5 @@ -49,4 +49,20 @@ spring: merge-sql: true wall: config: - multi-statement-allow: true \ No newline at end of file + multi-statement-allow: true + redis: + host: 192.168.1.64 + port: 6379 + password: admim + lettuce: + pool: + max-active: 30 + max-wait: 1000 + max-idle: 30 + min-idle: 10 + timeout: 1000 + keyPrefix: opl #Redis key 前缀 + run: true #Redis是否启动 + listFlush: true #list记录根据添加修改删除自动清除 + expireTime: 900 #缓存有效时间15分钟 + expireTimeShiro: 1800 #缓存有效时间30分钟 \ No newline at end of file diff --git a/opl-system/src/main/resources/application-prod.yml b/opl-system/src/main/resources/application-prod.yml new file mode 100644 index 0000000000000000000000000000000000000000..0f283acc7c897a2559a8c5d543f691fea92130e4 --- /dev/null +++ b/opl-system/src/main/resources/application-prod.yml @@ -0,0 +1,68 @@ +# 数据源配置 +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + sql-script-encoding: UTF-8 + url: jdbc:mysql://db.41.ql.corp:33944/galaxy_operat?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: galaxy_operat_w + password: WI4ks1htKOtbR7Uotsvh + druid: + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + useGlobalDataSourceStat: true + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: + login-password: + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + redis: + host: r-uf64n27ncqufrm2ukd.redis.rds.aliyuncs.com + port: 6379 + password: Galaxy-xingyUn + lettuce: + pool: + max-active: 30 + max-wait: 1000 + max-idle: 30 + min-idle: 10 + timeout: 1000 + keyPrefix: opl #Redis key 前缀 + run: true #Redis是否启动 + listFlush: true #list记录根据添加修改删除自动清除 + expireTime: 900 #缓存有效时间15分钟 + expireTimeShiro: 1800 #缓存有效时间30分钟 \ No newline at end of file diff --git a/ak-system/src/main/resources/application.yml b/opl-system/src/main/resources/application.yml similarity index 74% rename from ak-system/src/main/resources/application.yml rename to opl-system/src/main/resources/application.yml index fbd72e335063c782486b847563adb6dd9d22f471..757d59172d90d1e3533e88e7f0dcecff75863678 100644 --- a/ak-system/src/main/resources/application.yml +++ b/opl-system/src/main/resources/application.yml @@ -1,37 +1,33 @@ # 项目相关配置 -ak: +opl: # 名称 - name: stone + name: opl-server # 版本 - version: 2.0.0 + version: 1.0.0 # 版权年份 copyrightYear: 2019 + # 文件路径 示例( Windows配置D:/tmp/opl/profile/,Linux配置 /home/opl/uploadPath) + profile: /tmp/opl/profile/ # 实例演示开关 - demoEnabled: true - # 文件路径 示例( Windows配置D:/tmp/ak/profile/,Linux配置 /home/ak/uploadPath) - profile: D:/tmp/ak/profile/ + demoEnabled: false # 获取ip地址开关 addressEnabled: true + # 查询订单 + searchOrder: http://galaxy.oa.ql.corp/oms/OpsTrans/searchOrder + # 还款查询 + searchRepayment: http://galaxy.oa.ql.corp/oms/OpsTrans/searchRepayment # 开发环境配置 server: # 服务器的HTTP端口,默认为80 - port: 8083 + port: 8885 servlet: # 应用的访问路径 context-path: / - tomcat: - # tomcat的URI编码 - uri-encoding: UTF-8 - # tomcat最大线程数,默认为200 - max-threads: 800 - # Tomcat启动初始化的线程数,默认值25 - min-spare-threads: 30 - # 日志配置 logging: level: - com.ak: debug + com.opl: debug org.springframework: warn # 用户配置 @@ -58,7 +54,7 @@ spring: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss profiles: - active: druid + active: dev # 文件上传 servlet: multipart: @@ -71,27 +67,10 @@ spring: restart: # 热部署开关 enabled: true - redis: - host: 127.0.0.1 - port: 6379 - password: - lettuce: - pool: - max-active: 30 - max-wait: 1000 - max-idle: 30 - min-idle: 10 - timeout: 1000 - keyPrefix: vean #Redis key 前缀 - run: true #Redis是否启动 - listFlush: true #list记录根据添加修改删除自动清除 - expireTime: 900 #缓存有效时间15分钟 - expireTimeShiro: 1800 #缓存有效时间30分钟 - # MyBatis mybatis: # 搜索指定包别名 - typeAliasesPackage: com.ak.**.domain + typeAliasesPackage: com.opl.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 @@ -119,7 +98,7 @@ shiro: captchaType: math cookie: # 设置Cookie的域名 默认空,即当前访问的域名 - domain: ak + domain: opl # 设置cookie的有效访问路径 path: / # 设置HttpOnly属性 diff --git a/opl-system/src/main/resources/banner.txt b/opl-system/src/main/resources/banner.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4cd53796ca182955809c5f7a5ddf50e14e6f271 --- /dev/null +++ b/opl-system/src/main/resources/banner.txt @@ -0,0 +1,19 @@ +${AnsiColor.BRIGHT_BLUE} + + ┏┓ ┏┓ + ┏┛┻━━━┛┻┓ + ┃ ☃┃ + ┃ ┳┛ ┗┳ ┃ + ┃ ┻ ┃ + ┗━┓ ┏━┛ + ┃ ┗━━━━┓ + ┃ 神兽保佑 ┣┓ + ┃ 永无BUG!┏┛ + ┗┓┓┏━━┓┳┓┏┛ + ┃┫┫ ┃┫┫ + ┗┻┛ ┗┻┛ + +${AnsiColor.BRIGHT_GREEN} +OPL Version: 1.0.0 +Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version} +${AnsiColor.BLACK} \ No newline at end of file diff --git a/ak-system/src/main/resources/ehcache/ehcache-shiro.xml b/opl-system/src/main/resources/ehcache/ehcache-shiro.xml similarity index 96% rename from ak-system/src/main/resources/ehcache/ehcache-shiro.xml rename to opl-system/src/main/resources/ehcache/ehcache-shiro.xml index 0318b2e7ead11f603061b11155c02b9bc8ef950c..cd325f909df4089f3a6b0f3d9c81e359d27b0644 100644 --- a/ak-system/src/main/resources/ehcache/ehcache-shiro.xml +++ b/opl-system/src/main/resources/ehcache/ehcache-shiro.xml @@ -1,8 +1,8 @@ - + - + diff --git a/ak-system/src/main/resources/logback.xml b/opl-system/src/main/resources/logback.xml similarity index 91% rename from ak-system/src/main/resources/logback.xml rename to opl-system/src/main/resources/logback.xml index f6da77e47796ffe63cdf55c295edac8fdc568101..cb353daddf6ed4eb959a70bf98544d2369ab3101 100644 --- a/ak-system/src/main/resources/logback.xml +++ b/opl-system/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + @@ -72,9 +72,14 @@ - + + + + + + diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml similarity index 95% rename from ak-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml index 506ebf1b7a2f575e9c762f5dda896e9c5fc781d6..9df375bbeb7470bc39745130adf63770b7255f22 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysDeptMapper.xml @@ -2,7 +2,7 @@ - + @@ -48,7 +48,7 @@ AND status = #{status} - + AND d.tenant_code = #{tenantCode} @@ -66,7 +66,7 @@ and dept_id = #{deptId} and parent_id = #{parentId} - + AND d.tenant_code = #{tenantCode} diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml similarity index 98% rename from ak-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml index 49e8a4f18122d3e3f8519d249431cf22c35be178..8f879dfa3605c7342c5fdf30fb7219ef2990c92e 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysDistrictsMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml similarity index 99% rename from ak-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml index 01baf1258434e00ea617a5caf70dd76382ba7fcf..5883f6c74ca912eade51c648925d6a00daaa6717 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysMenuMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml similarity index 93% rename from ak-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml index 312d51f40bcb9d0911274b014f2a18646474f5d3..6b7bf06255d9353e3dcdebcabf852dad93458a74 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysPostMapper.xml @@ -2,7 +2,7 @@ - + @@ -47,7 +47,7 @@ AND p.post_name like concat('%', #{postName}, '%') - + AND p.tenant_code = #{tenantCode} @@ -56,7 +56,7 @@ diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml similarity index 92% rename from ak-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml index 2d00da484f510ff44e0d111f7aa76b956e011511..5c2887b0dcbbcbe67eb3872b2e372513d462e846 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleDeptMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml similarity index 96% rename from ak-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml index 0256ceb98db57666f3aa10dc4e9b7600a27be4ca..3e1ee00a3e851676561712746b5fda9ecd57a75b 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleMapper.xml @@ -2,7 +2,7 @@ - + @@ -68,7 +68,7 @@ and date_format(r.create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') - + AND r.tenant_code = #{tenantCode} diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml similarity index 91% rename from ak-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml index 37c1363605e644b2d9f7d3f509963dfed60bc1a6..bd7d73eb77af93572a35e618b67a39c0ef1c89c8 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysRoleMenuMapper.xml @@ -2,7 +2,7 @@ - + @@ -33,7 +33,7 @@ role_id = values(role_id),menu_id = values(menu_id) - + delete from sys_role_menu where role_id = #{roleId} and menu_id in diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml similarity index 96% rename from ak-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml index 30ac2bc053e3b164d2b39894c07633cf9c50b5b1..8cdbd2e18101605891cad2914b7718030323af64 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysUserMapper.xml @@ -2,7 +2,7 @@ - + @@ -100,7 +100,7 @@ (#{deptId},ancestors) )) - + AND u.tenant_code = #{tenantCode} @@ -124,7 +124,7 @@ AND u.phonenumber like concat('%', #{phonenumber}, '%') - + AND u.tenant_code = #{tenantCode} @@ -150,7 +150,7 @@ AND u.phonenumber like concat('%', #{phonenumber}, '%') - + AND u.tenant_code = #{tenantCode} diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml similarity index 92% rename from ak-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml index 0271a663a5f6ca3b7851c25d556d1f5326ba8dad..a71b6578fb1bceafa07fbf4b9158e2c8bcc98911 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysUserPostMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml b/opl-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml similarity index 94% rename from ak-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml rename to opl-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml index af4379bd0c4bc855a13d8b893971aac4cd00ac14..c37555524752f06e0aa3b3a9dc232ceb7cdccbba 100644 --- a/ak-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/basedata/SysUserRoleMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/opl-system/src/main/resources/mapper/platform/global/ChannelFinanceAmountMapper.xml b/opl-system/src/main/resources/mapper/platform/global/ChannelFinanceAmountMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..4b7d203648678069f19ba4640189c5468374a871 --- /dev/null +++ b/opl-system/src/main/resources/mapper/platform/global/ChannelFinanceAmountMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + select id, channel_id, finance_id, amount, result, ctime, utime from t_channel_finance_amount + + + + + + + + SELECT LAST_INSERT_ID() + + + insert into t_channel_finance_amount ( + id, + channel_id, + finance_id, + amount, + result, + ctime, + utime + )values( + #{id}, + #{channelId}, + #{financeId}, + #{amount}, + #{result}, + #{ctime}, + #{utime} + ) + + + update t_channel_finance_amount + + channel_id = #{channelId}, + finance_id = #{financeId}, + amount = #{amount}, + result = #{result}, + utime = #{utime} + + where id = #{id} + + + + delete from t_channel_finance_amount where id in + + #{channelAmountId} + + + \ No newline at end of file diff --git a/ak-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml b/opl-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml similarity index 96% rename from ak-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml rename to opl-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml index 8262ef99aa93fa52a21e2be3d6b0e4b55ba22d94..21b6acdb20b37a5e745cc819b5e1c02b7460252f 100644 --- a/ak-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/log/SysLogininforMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml b/opl-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml similarity index 97% rename from ak-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml rename to opl-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml index fbeb5f82968f4f1b2c61f26fd149f7dd00926b8e..76622d9e9e371d8239d15025c4803c7ddc88e09c 100644 --- a/ak-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/log/SysOperLogMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml b/opl-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml similarity index 97% rename from ak-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml rename to opl-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml index 1a1e8abc1bbdff5e72530f53a750cc308d350a52..f73491abd72b9049f1f385b0dd37d562f4fe6330 100644 --- a/ak-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/message/SysNoticeMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml b/opl-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml similarity index 96% rename from ak-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml rename to opl-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml index 5b915c621972473f17ae99b5d1996ca971e6ff9f..f6e4e6eb4813fc7907edfa9314513849aed7324e 100644 --- a/ak-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/monitor/SysUserOnlineMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml similarity index 92% rename from ak-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml index 91efd53f200ca6c8a55f3b21f1f9012b1fd9da8d..d83240aca4ce109bce0f9711081770b311fd0b8a 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysApplicationMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -41,7 +41,7 @@ order by sort - + insert into sys_application( app_code, app_name, @@ -67,7 +67,7 @@ ) - + update sys_application app_name = #{appName}, diff --git a/ak-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml similarity index 98% rename from ak-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml index 2a5e4e2f920f80db6f20498f93063be82aa61ce0..e807f7e9dce087b40086bb9c9e4e17ecf1e24e48 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysConfigMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml similarity index 93% rename from ak-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml index 3ce28ad0c79e0d40a1aad31fbb3c9015d8ee23cb..76f8c1a72ebe47ee27e0cf34480982a56cdb23c6 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysDatasourceApplicationMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml similarity index 88% rename from ak-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml index 2614dec3561c2fddb6375727f3b2a7985a983bc8..9396128b02e79139e23e8d834a6aa61de3ebdd46 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysDatasourceMapper.xml @@ -2,7 +2,7 @@ - + @@ -21,6 +21,7 @@ + @@ -50,7 +51,7 @@ where d.del_flag = '0' and d.datasource_code = #{datasourceCode} - + + + insert into sys_datasource ( datasource_code, diff --git a/ak-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml similarity index 98% rename from ak-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml index b22c2c738581a4268e03a766072504b3b9df9fd7..7917852398fc20488ac64985ee95968d0ef18a8b 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysDictDataMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml similarity index 97% rename from ak-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml index de86361cecf22ef0318c1de203d566ee7fb49cb3..de7efefe7c3102203c9fa910c4f5cc0873ab8cb3 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysDictTypeMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml similarity index 93% rename from ak-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml index 71c50cdb9828637402452fcf1998af2fd3eb64b0..6bfa7b05f72447dae1d5f2f47bac15807d3090bb 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysTenantApplicationMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/ak-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml b/opl-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml similarity index 90% rename from ak-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml rename to opl-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml index e282f2582bca0bc858dcecbfd9a000cbeb8097f4..6ffcfa288122c4fc2e1721a9e8b66a4d04bd5738 100644 --- a/ak-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml +++ b/opl-system/src/main/resources/mapper/platform/system/SysTenantMapper.xml @@ -2,13 +2,14 @@ - + + @@ -20,7 +21,7 @@ - select t.tenant_code, t.tenant_name, t.contact_man, t.contact_number, t.address, t.remark,t.create_time + select t.tenant_code, t.tenant_name, t.contact_man, t.contact_number,t.channel_id, t.address, t.remark,t.create_time ,t.status from sys_tenant t @@ -48,6 +49,7 @@ tenant_name, contact_man, contact_number, + channel_id, address, status, remark, @@ -58,6 +60,7 @@ #{tenantName}, #{contactMan}, #{contactNumber}, + #{channelId}, #{address}, #{status}, #{remark}, @@ -72,6 +75,7 @@ tenant_name = #{tenantName}, contact_man = #{contactMan}, contact_number = #{contactNumber}, + channel_id = #{channelId}, address = #{address}, status = #{status}, remark = #{remark}, diff --git a/ak-system/src/main/resources/mybatis/mybatis-config.xml b/opl-system/src/main/resources/mybatis/mybatis-config.xml similarity index 84% rename from ak-system/src/main/resources/mybatis/mybatis-config.xml rename to opl-system/src/main/resources/mybatis/mybatis-config.xml index c43301e4041e45e9e4dbcb204bb05e14b71957b7..257b408d70a7712bd8f0fef6d901403cdd1d7d2f 100644 --- a/ak-system/src/main/resources/mybatis/mybatis-config.xml +++ b/opl-system/src/main/resources/mybatis/mybatis-config.xml @@ -8,7 +8,7 @@ - + diff --git a/ak-system/src/main/resources/static/ajax/libs/beautifyhtml/beautifyhtml.js b/opl-system/src/main/resources/static/ajax/libs/beautifyhtml/beautifyhtml.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/beautifyhtml/beautifyhtml.js rename to opl-system/src/main/resources/static/ajax/libs/beautifyhtml/beautifyhtml.js diff --git a/ak-system/src/main/resources/static/ajax/libs/blockUI/jquery.blockUI.js b/opl-system/src/main/resources/static/ajax/libs/blockUI/jquery.blockUI.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/blockUI/jquery.blockUI.js rename to opl-system/src/main/resources/static/ajax/libs/blockUI/jquery.blockUI.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.css b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.css rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.css diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.css b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.css rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/fileinput.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading-sm.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif b/opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-fileinput/loading.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.css b/opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.css rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.css diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.css b/opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.css rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-select/bootstrap-select.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.css b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.css rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/bootstrap-table.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/columns/bootstrap-table-fixed-columns.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/bootstrap-table-export.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/export/tableExport.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/bootstrap-table-reorder.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/bootstrap-table-reorder.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/bootstrap-table-reorder.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/bootstrap-table-reorder.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/jquery.tablednd.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/jquery.tablednd.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/jquery.tablednd.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/reorder/jquery.tablednd.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-table/locale/bootstrap-table-zh-CN.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/bootstrap-treetable/bootstrap-treetable.js b/opl-system/src/main/resources/static/ajax/libs/bootstrap-treetable/bootstrap-treetable.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/bootstrap-treetable/bootstrap-treetable.js rename to opl-system/src/main/resources/static/ajax/libs/bootstrap-treetable/bootstrap-treetable.js diff --git a/ak-system/src/main/resources/static/ajax/libs/cropbox/cropbox.css b/opl-system/src/main/resources/static/ajax/libs/cropbox/cropbox.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/cropbox/cropbox.css rename to opl-system/src/main/resources/static/ajax/libs/cropbox/cropbox.css diff --git a/ak-system/src/main/resources/static/ajax/libs/cropbox/cropbox.js b/opl-system/src/main/resources/static/ajax/libs/cropbox/cropbox.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/cropbox/cropbox.js rename to opl-system/src/main/resources/static/ajax/libs/cropbox/cropbox.js diff --git a/ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.css b/opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.css rename to opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.css diff --git a/ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.js b/opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.js rename to opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.js diff --git a/ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.css b/opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.css rename to opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.js b/opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.js rename to opl-system/src/main/resources/static/ajax/libs/datapicker/bootstrap-datetimepicker.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.css b/opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.css rename to opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.css diff --git a/ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.js b/opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.js rename to opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.js diff --git a/ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.css b/opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.css rename to opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.js b/opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.js rename to opl-system/src/main/resources/static/ajax/libs/duallistbox/bootstrap-duallistbox.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/curvedLines.js b/opl-system/src/main/resources/static/ajax/libs/flot/curvedLines.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/curvedLines.js rename to opl-system/src/main/resources/static/ajax/libs/flot/curvedLines.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.pie.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.pie.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.pie.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.pie.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.resize.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.resize.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.resize.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.resize.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.spline.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.spline.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.spline.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.spline.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.symbol.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.symbol.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.symbol.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.symbol.js diff --git a/ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.tooltip.min.js b/opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.tooltip.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/flot/jquery.flot.tooltip.min.js rename to opl-system/src/main/resources/static/ajax/libs/flot/jquery.flot.tooltip.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/fullscreen/jquery.fullscreen.js b/opl-system/src/main/resources/static/ajax/libs/fullscreen/jquery.fullscreen.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/fullscreen/jquery.fullscreen.js rename to opl-system/src/main/resources/static/ajax/libs/fullscreen/jquery.fullscreen.js diff --git a/ak-system/src/main/resources/static/ajax/libs/iCheck/custom.css b/opl-system/src/main/resources/static/ajax/libs/iCheck/custom.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/iCheck/custom.css rename to opl-system/src/main/resources/static/ajax/libs/iCheck/custom.css diff --git a/ak-system/src/main/resources/static/ajax/libs/iCheck/green-login.png b/opl-system/src/main/resources/static/ajax/libs/iCheck/green-login.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/iCheck/green-login.png rename to opl-system/src/main/resources/static/ajax/libs/iCheck/green-login.png diff --git a/ak-system/src/main/resources/static/ajax/libs/iCheck/green.png b/opl-system/src/main/resources/static/ajax/libs/iCheck/green.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/iCheck/green.png rename to opl-system/src/main/resources/static/ajax/libs/iCheck/green.png diff --git a/ak-system/src/main/resources/static/ajax/libs/iCheck/green@2x.png b/opl-system/src/main/resources/static/ajax/libs/iCheck/green@2x.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/iCheck/green@2x.png rename to opl-system/src/main/resources/static/ajax/libs/iCheck/green@2x.png diff --git a/ak-system/src/main/resources/static/ajax/libs/iCheck/icheck.min.js b/opl-system/src/main/resources/static/ajax/libs/iCheck/icheck.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/iCheck/icheck.min.js rename to opl-system/src/main/resources/static/ajax/libs/iCheck/icheck.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.css b/opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.css rename to opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.js b/opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.js rename to opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.css b/opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.css rename to opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.js b/opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.js rename to opl-system/src/main/resources/static/ajax/libs/jasny/jasny-bootstrap.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.css b/opl-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.css rename to opl-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.js b/opl-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-layout/jquery.layout-latest.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_close.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/1_open.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/2.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/3.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/4.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/5.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/6.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/7.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/8.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/diy/9.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/line_conn.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/loading.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/img/zTreeStandard.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/zTreeStyle.css b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/zTreeStyle.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/zTreeStyle.css rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/default/zTreeStyle.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/line_conn.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/loading.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/img/metro.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/left_menu.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/line_conn.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/loading.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/img/zTreeStandard.png diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/zTreeStyle.css b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/zTreeStyle.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/zTreeStyle.css rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/css/simple/zTreeStyle.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.core-3.5.js b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.core-3.5.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.core-3.5.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.core-3.5.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.excheck-3.5.js b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.excheck-3.5.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.excheck-3.5.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.excheck-3.5.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exedit-3.5.js b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exedit-3.5.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exedit-3.5.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exedit-3.5.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exhide-3.5.js b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exhide-3.5.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exhide-3.5.js rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exhide-3.5.js diff --git a/ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/log v3.x.txt b/opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/log v3.x.txt similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/log v3.x.txt rename to opl-system/src/main/resources/static/ajax/libs/jquery-ztree/3.5/log v3.x.txt diff --git a/ak-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.css b/opl-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.css rename to opl-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.css diff --git a/ak-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.js b/opl-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.js rename to opl-system/src/main/resources/static/ajax/libs/jsonview/jquery.jsonview.js diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/layer.min.js b/opl-system/src/main/resources/static/ajax/libs/layer/layer.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/layer.min.js rename to opl-system/src/main/resources/static/ajax/libs/layer/layer.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/icon-ext.png diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/icon.png b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/icon.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/icon.png rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/icon.png diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/layer.css b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/layer.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/layer.css rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/layer.css diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-0.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-1.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif b/opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/default/loading-2.gif diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/moon/default.png b/opl-system/src/main/resources/static/ajax/libs/layer/theme/moon/default.png similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/moon/default.png rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/moon/default.png diff --git a/ak-system/src/main/resources/static/ajax/libs/layer/theme/moon/style.css b/opl-system/src/main/resources/static/ajax/libs/layer/theme/moon/style.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layer/theme/moon/style.css rename to opl-system/src/main/resources/static/ajax/libs/layer/theme/moon/style.css diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot b/opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot rename to opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.eot diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.svg b/opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.svg similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.svg rename to opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.svg diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf b/opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf rename to opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.ttf diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff b/opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff rename to opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/font/iconfont.woff diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/laydate.css b/opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/laydate.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/laydate.css rename to opl-system/src/main/resources/static/ajax/libs/layui/css/modules/laydate/default/laydate.css diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js b/opl-system/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js rename to opl-system/src/main/resources/static/ajax/libs/layui/lay/modules/laydate.js diff --git a/ak-system/src/main/resources/static/ajax/libs/layui/layui.js b/opl-system/src/main/resources/static/ajax/libs/layui/layui.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/layui/layui.js rename to opl-system/src/main/resources/static/ajax/libs/layui/layui.js diff --git a/ak-system/src/main/resources/static/ajax/libs/report/echarts/echarts-all.js b/opl-system/src/main/resources/static/ajax/libs/report/echarts/echarts-all.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/report/echarts/echarts-all.js rename to opl-system/src/main/resources/static/ajax/libs/report/echarts/echarts-all.js diff --git a/ak-system/src/main/resources/static/ajax/libs/report/peity/jquery.peity.min.js b/opl-system/src/main/resources/static/ajax/libs/report/peity/jquery.peity.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/report/peity/jquery.peity.min.js rename to opl-system/src/main/resources/static/ajax/libs/report/peity/jquery.peity.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/report/sparkline/jquery.sparkline.min.js b/opl-system/src/main/resources/static/ajax/libs/report/sparkline/jquery.sparkline.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/report/sparkline/jquery.sparkline.min.js rename to opl-system/src/main/resources/static/ajax/libs/report/sparkline/jquery.sparkline.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/select2/select2-bootstrap.css b/opl-system/src/main/resources/static/ajax/libs/select2/select2-bootstrap.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/select2/select2-bootstrap.css rename to opl-system/src/main/resources/static/ajax/libs/select2/select2-bootstrap.css diff --git a/ak-system/src/main/resources/static/ajax/libs/select2/select2.css b/opl-system/src/main/resources/static/ajax/libs/select2/select2.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/select2/select2.css rename to opl-system/src/main/resources/static/ajax/libs/select2/select2.css diff --git a/ak-system/src/main/resources/static/ajax/libs/select2/select2.js b/opl-system/src/main/resources/static/ajax/libs/select2/select2.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/select2/select2.js rename to opl-system/src/main/resources/static/ajax/libs/select2/select2.js diff --git a/ak-system/src/main/resources/static/ajax/libs/select2/select2.min.css b/opl-system/src/main/resources/static/ajax/libs/select2/select2.min.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/select2/select2.min.css rename to opl-system/src/main/resources/static/ajax/libs/select2/select2.min.css diff --git a/ak-system/src/main/resources/static/ajax/libs/select2/select2.min.js b/opl-system/src/main/resources/static/ajax/libs/select2/select2.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/select2/select2.min.js rename to opl-system/src/main/resources/static/ajax/libs/select2/select2.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.css b/opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.css rename to opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.css diff --git a/ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.js b/opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.js rename to opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.js diff --git a/ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.min.js b/opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/staps/jquery.steps.min.js rename to opl-system/src/main/resources/static/ajax/libs/staps/jquery.steps.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.js b/opl-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.js rename to opl-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.js diff --git a/ak-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.min.js b/opl-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.min.js rename to opl-system/src/main/resources/static/ajax/libs/suggest/bootstrap-suggest.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.eot b/opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.eot similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.eot rename to opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.eot diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf b/opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf rename to opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.ttf diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff b/opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff rename to opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2 b/opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2 similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2 rename to opl-system/src/main/resources/static/ajax/libs/summernote/font/summernote.woff2 diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote-bs3.css b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote-bs3.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote-bs3.css rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote-bs3.css diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.js b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.js rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.js diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.min.js b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.min.js rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote-zh-CN.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote.css b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote.css similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote.css rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote.css diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote.js b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote.js rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote.js diff --git a/ak-system/src/main/resources/static/ajax/libs/summernote/summernote.min.js b/opl-system/src/main/resources/static/ajax/libs/summernote/summernote.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/summernote/summernote.min.js rename to opl-system/src/main/resources/static/ajax/libs/summernote/summernote.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.js b/opl-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.js rename to opl-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.js diff --git a/ak-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.min.js b/opl-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.min.js rename to opl-system/src/main/resources/static/ajax/libs/typeahead/bootstrap3-typeahead.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/validate/additional-methods.min.js b/opl-system/src/main/resources/static/ajax/libs/validate/additional-methods.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/validate/additional-methods.min.js rename to opl-system/src/main/resources/static/ajax/libs/validate/additional-methods.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/validate/jquery.validate.extend.js b/opl-system/src/main/resources/static/ajax/libs/validate/jquery.validate.extend.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/validate/jquery.validate.extend.js rename to opl-system/src/main/resources/static/ajax/libs/validate/jquery.validate.extend.js diff --git a/ak-system/src/main/resources/static/ajax/libs/validate/jquery.validate.min.js b/opl-system/src/main/resources/static/ajax/libs/validate/jquery.validate.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/validate/jquery.validate.min.js rename to opl-system/src/main/resources/static/ajax/libs/validate/jquery.validate.min.js diff --git a/ak-system/src/main/resources/static/ajax/libs/validate/messages_zh.min.js b/opl-system/src/main/resources/static/ajax/libs/validate/messages_zh.min.js similarity index 100% rename from ak-system/src/main/resources/static/ajax/libs/validate/messages_zh.min.js rename to opl-system/src/main/resources/static/ajax/libs/validate/messages_zh.min.js diff --git a/ak-system/src/main/resources/static/ak/css/ry-ui.css b/opl-system/src/main/resources/static/ak/css/ry-ui.css similarity index 100% rename from ak-system/src/main/resources/static/ak/css/ry-ui.css rename to opl-system/src/main/resources/static/ak/css/ry-ui.css diff --git a/opl-system/src/main/resources/static/ak/css/ry-ui.min.css b/opl-system/src/main/resources/static/ak/css/ry-ui.min.css new file mode 100644 index 0000000000000000000000000000000000000000..e64e9543f7b585730fd5b306c0dc4dc095fe1346 --- /dev/null +++ b/opl-system/src/main/resources/static/ak/css/ry-ui.min.css @@ -0,0 +1,4 @@ +.pt5{padding-top:5px}.pr5{padding-right:5px}.pb5{padding-bottom:5px}.mt5{margin-top:5px}.mr5{margin-right:5px}.mb5{margin-bottom:5px}.ml5{margin-left:5px}.mt10{margin-top:10px}.mr10{margin-right:10px}.mb10{margin-bottom:10px}.ml0{margin-left:10px}.mt20{margin-top:20px}.mr20{margin-right:20px}.mb20{margin-bottom:20px}.m20{margin-left:20px}.m50{margin-left:50px}.img-xs{width:32px;height:32px}.img-sm{width:64px;height:64px}.img-md{width:96px;height:96px}.img-lg{width:120px;height:120px}.section-content{min-height:250px;margin-right:auto;margin-left:auto;padding:5px 5px 5px 5px;width:100%;height:100%;position:absolute}.ibox{margin-bottom:25px;background-color:#fff;border:1px solid #ddd;border-radius:4px;height:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05)}.list-group-striped>.list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}.ibox-title-gray{height:41px;background-color:#f0f3f4;color:#333;font-weight:700;border-radius:2px 2px 0 0;padding:13px!important;border-bottom:1px solid #eee;display:block;clear:both}.dashboard-header h5{padding:8px 0 0 0;display:inline-block;font-size:14px;text-overflow:ellipsis;float:left;font-weight:400}.ibox-title-gray h5{display:inline-block;font-size:14px;margin:0 0 7px;padding:0;text-overflow:ellipsis;float:left}.nav-tabs-custom{margin-bottom:20px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px}.nav-tabs-custom>.nav-tabs{margin:0;border-bottom-color:#f4f4f4;border-top-right-radius:3px;border-top-left-radius:3px}.nav-tabs-custom>.nav-tabs>li{border-top:3px solid transparent;margin-bottom:-2px;margin-right:5px}.nav-tabs-custom>.nav-tabs>li.header{padding-left:5px;font-size:16px;line-height:30px}.nav-tabs-custom>.nav-tabs>li.disabled>a{color:#777}.nav-tabs-custom>.nav-tabs>li>a{color:#444;font-weight:normal;border-radius:0}.nav-tabs-custom>.nav-tabs>li>a,.nav-tabs-custom>.nav-tabs>li>a:hover{background:transparent;margin:0}.nav-tabs-custom>.nav-tabs>li>a:hover{color:#999}.nav-tabs-custom>.nav-tabs>li:not(.active)>a:hover,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:focus,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:active{border-color:transparent}.nav-tabs-custom>.nav-tabs>li.active{border-top-color:#1890ff}.nav-tabs-custom>.nav-tabs>li.active>a,.nav-tabs-custom>.nav-tabs>li.active:hover>a{background-color:#fff;color:#444}.nav-tabs-custom>.nav-tabs>li.active>a{border-top-color:transparent;border-bottom-color:transparent;border-left-color:#f4f4f4;border-right-color:#f4f4f4}.nav-tabs-custom>.tab-content{background:#fff;padding:10px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.layer-disabled{border:1px #dedede solid!important;background-color:#f1f1f1!important;color:#333!important;pointer-events:none}.box{position:relative;border-radius:3px;background:#fff;border-top:3px solid #d2d6de;margin-bottom:20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1)}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table}.box-header:after,.box-body:after,.box-footer:after{clear:both}.btn-box-tool{padding:5px;font-size:12px;background:transparent;color:#97a0b3}.open .btn-box-tool,.btn-box-tool:hover{color:#606c84}.box-main{margin:0;border:0;padding-top:2px;border-radius:0;box-shadow:none}.box-main>.box-header{border-bottom:1px solid #eee;padding:12px 10px 2px 15px}.box-header .box-title{display:inline-block;font-size:18px;margin:0;line-height:1}.box-main>.box-header .box-title{font-size:16px;margin-bottom:13px;float:left}.box-main>.box-header .box-title .fa{font-size:14px;padding-right:3px;margin-top:-2px}.box-main>.box-header .box-tools{position:relative;top:-5px;right:0}.box-main>.box-header .box-tools .btn{padding:3px 10px 5px 10px;font-size:14px;margin-bottom:2px}.box-main>.box-header .box-tools .btn-box-tool{padding:4px 2px}.box-main form>.box-footer,.nav-main form>.box-footer{background:#fafafa}.box-main form>.box-footer .row,.nav-main form>.box-footer .row{margin:5px 0 5px -25px}@media(min-width:768px){.section-content .about{padding-left:0}}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#1ab394;border-color:#1ab394;padding:1px 10px;color:#fff}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px}label.error{position:absolute;right:18px;top:10px;color:#ef392b;font-size:12px}.input-group label.error{z-index:99;right:42px}.input-group.date label.error{z-index:99;right:3px}.Validform_error,input.error,select.error{background-color:#fbe2e2;border-color:#c66161;color:#c00}.Validform_wrong,.Validform_right,.Validform_warning{display:inline-block;height:20px;font-size:12px;vertical-align:middle;padding-left:25px} +.i-checks label.error,.check-box label.error,.radio-box label.error{right:auto;width:150px;left:210px;top:1px;max-width:none}.check-box,.radio-box{display:inline-block;box-sizing:border-box;cursor:pointer;position:relative;padding-left:25px;padding-right:15px;padding-top:8px}.icheckbox,.icheckbox-blue,.iradio,.iradio-blue,.iradio-purple{position:absolute;top:8px;left:0}.icheckbox-blue,.iradio-blue{display:block;margin:0;padding:0;width:18px;height:18px;background:url(../../img/blue.png) no-repeat;border:0;cursor:pointer}.icheckbox-blue,.icheckbox-blue.static:hover{background-position:0 0}.icheckbox-blue.hover,.icheckbox-blue:hover{background-position:-20px 0}.icheckbox-blue.checked{background-position:-40px 0}.icheckbox-blue.disabled{background-position:-60px 0;cursor:default}.icheckbox-blue.checked.disabled{background-position:-80px 0}.iradio-blue,.iradio-blue.static:hover{background-position:-100px 0}.iradio-blue.hover,.iradio-blue:hover{background-position:-120px 0}.iradio-blue.checked{background-position:-140px 0}.iradio-blue.disabled{background-position:-160px 0;cursor:default}.iradio-blue.checked.disabled{background-position:-180px 0}.toggle-switch{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0;padding-top:8px}.toggle-switch input{height:0;width:0;position:absolute;opacity:0}.toggle-switch span{display:inline-block;position:relative;width:40px;height:10px;-webkit-border-radius:10px;border-radius:10px;background-color:#ebebeb;border:2px solid #ebebeb;cursor:pointer;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.toggle-switch span:after{content:'';height:20px;width:20px;-webkit-border-radius:50%;border-radius:50%;position:absolute;left:1px;top:-7px;color:#aaa;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;text-align:center;font-size:13px;background-color:#fff;-webkit-box-shadow:rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px;box-shadow:rgba(0,0,0,.12) 0 1px 6px,rgba(0,0,0,.12) 0 1px 4px}.toggle-switch input:checked ~ span:after{left:-webkit-calc(100% - 20px);left:calc(100% - 20px);background-color:#33cabb}.toggle-switch.switch-solid span{height:20px}.toggle-switch.switch-solid span:after{top:-2px}.switch-solid input:checked ~ span{background-color:#33cabb;border-color:#33cabb}.switch-solid input:checked ~ span:after{background-color:#fff;color:#33cabb}.loaderbox{display:inline-block;min-width:125px;padding:10px;margin:0 auto;color:#000!important;font-size:13px;font-weight:400;text-align:center;vertical-align:middle;border:1px solid #ddd;background-color:#eee;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 8px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 8px rgba(0,0,0,0.1);box-shadow:0 1px 8px rgba(0,0,0,0.1)}.loaderbox .loading-activity{float:left;width:18px;height:18px;border:solid 2px transparent;border-top-color:#000;border-left-color:#000;border-radius:10px;-webkit-animation:pace-spinner 400ms linear infinite;-moz-animation:pace-spinner 400ms linear infinite;-ms-animation:pace-spinner 400ms linear infinite;-o-animation:pace-spinner 400ms linear infinite;animation:pace-spinner 400ms linear infinite}@media(max-width:767px){.loading-activity{width:18px;height:18px}}@-ms-keyframes pace-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes pace-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.select-list ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select-list li{list-style:none}.time-input{display:block;width:100%;padding-left:10px}label{font-weight:normal}.container-div{padding:0 28px;height:100%}.container-div .row{height:100%}.search-collapse,.select-table{width:100%;background:#fff;border-radius:6px;margin-top:10px;padding-top:5px;padding-bottom:13px;box-shadow:1px 1px 3px rgba(0,0,0,.2)}.search-collapse{position:relative}.search-collapse .col-sm-6 .control-label{color:#333}@media(max-width:768px){.search-collapse{display:none}}@media(min-width:768px){.select-list li{float:left}}.select-list li{color:#333;margin:5px 15px 5px 0}.select-list li p{float:left;width:80px;margin:5px 15px 5px 0;text-align:right}.select-list li input{border:1px solid #ddd;border-radius:4px;background:transparent;outline:0;height:30px;width:200px;padding-left:5px}.select-list li .submit-btn{border:0;border-radius:4px;background:transparent;outline:0;width:40px;height:23px}.select-list li select{border:1px solid #ddd;border-radius:4px;background:transparent;outline:0;height:30px;width:200px}.bootstrap-select.form-control .btn-default{color:inherit;padding:6px 12px;border-radius:1px;border:1px solid #e5e6e7;outline:0;height:34px;background:#fff none}.file-input .btn-default{color:inherit;background:white;border:1px solid #e7eaec} +.select-list .btn-default{color:#555;padding:5px 5px;border:1px solid #ddd;border-radius:4px;background:transparent;outline:0;height:30px;width:200px}.select-list .btn-default:hover,.select-list .btn-default:focus,.select-list .btn-default:active,.select-list .btn-default.active,.open .dropdown-toggle.btn-default{color:#555;background-color:#e4e4e4;border-color:#b2b2b2}.select-list .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn){height:30px;width:200px}.select-list .bootstrap-select>.dropdown-toggle.bs-placeholder,.select-list .bootstrap-select>.dropdown-toggle.bs-placeholder:hover,.select-list .bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.select-list .bootstrap-select>.dropdown-toggle.bs-placeholder:active{color:inherit;font-size:13px}.select-list .bootstrap-select .dropdown-toggle .caret{position:inherit}.select-list .select-selectpicker li{float:none}.select-list .dropdown-menu>li>a,.bootstrap-select.form-control .dropdown-menu>li>a{line-height:inherit}.select-list .dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a,.bootstrap-select.form-control .dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#12889a}.select-list .select-time input{width:93px}.select-time label,.select-time span,.select-time input{float:left}@media(max-width:767px){.select-time label,.select-time span,.select-time input{float:none}.select-list .select-time input{width:200px}}.select-time label{margin-top:5px}.select-time span{display:block;margin:5px 5px}.search-btn{background-color:#1ab394;border-color:#1ab394;color:#FFF;margin-bottom:5px;display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;border-radius:3px;vertical-align:middle;cursor:pointer}.select-title{color:#3d5266;font-size:15px;padding:10px 0;font-weight:normal}.table-striped{min-height:75%}.table-striped .bootstrap-table{border:0!important}.table-striped .table,.table-striped .table,.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{border-bottom:1px solid #e7eaec!important;background-color:transparent!important;border:0}.fixed-table-footer{border-top:0 solid #ddd}.fixed-table-container{border:0 solid #ddd}.table-striped .table>thead>tr>th,.table-striped .table>tbody>tr>th{border-bottom:1px solid #ccc!important;border-top:0!important}.table-striped .table>thead:first-child>tr:first-child>th{font-weight:normal;font-size:13px}.table-striped table thead{background-color:#eff3f8}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}.fixed-table-container thead th>.both{display:inline-block}.left-fixed-table-columns,.left-fixed-body-columns{position:absolute;background-color:#fff;display:none;box-sizing:border-box;overflow:hidden}.left-fixed-table-columns .table,.left-fixed-body-columns .table{border-right:1px solid #ddd}.left-fixed-table-columns .table.table-no-bordered,.left-fixed-body-columns .table.table-no-bordered{border-right:1px solid transparent}.left-fixed-body-columns table{position:absolute;animation:none}.bootstrap-table .table-hover>tbody>tr.hover>td{background-color:#f5f5f5}.right-fixed-table-columns{position:absolute;right:63px;border-left:1px solid #ddd;display:none;z-index:100}.bootstrap-tree-table .treetable-indent{width:16px;height:16px;display:inline-block;position:relative}.bootstrap-tree-table .treetable-expander{width:16px;height:16px;display:inline-block;position:relative;cursor:pointer}.bootstrap-tree-table .treetable-selected{background:#f5f5f5!important}.bootstrap-tree-table .treetable-table{border:0!important;margin-bottom:0}.bootstrap-tree-table .treetable-table tbody{display:block;height:auto;overflow-y:auto}.bootstrap-tree-table .treetable-table thead,.treetable-table tbody tr{display:table;width:100%;table-layout:fixed}.bootstrap-tree-table .treetable-thead th{line-height:24px;border:0!important;border-radius:4px;border-left:0 solid #e7eaec!important;border-bottom:1px solid #ccc!important;text-align:left}.bootstrap-tree-table .treetable-thead tr :first-child{border-left:0!important}.bootstrap-tree-table .treetable-tbody td{overflow:hidden;border:0!important;border-left:0 solid #e7eaec!important;border-bottom:1px solid #e7eaec!important;white-space:nowrap;text-overflow:ellipsis}.bootstrap-tree-table .treetable-tbody tr :first-child{border-left:0!important}.bootstrap-tree-table .treetable-bars .tool-left,.bootstrap-tree-table .treetable-bars .tool-right{margin-top:10px;margin-bottom:10px}.bootstrap-tree-table .treetable-bars .tool-left{float:left}.bootstrap-tree-table .treetable-bars .tool-right{float:right}.bootstrap-tree-table .treetable-bars .columns li label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;max-width:100%;margin-bottom:5px;cursor:pointer} +.bootstrap-tree-table .table{border-bottom:0 solid #e7eaec!important}.ax_close_max{position:fixed;top:5px;left:5px;z-index:9999;display:none;color:#ccc}.navbar-right>.user-menu>.dropdown-menu{border-top-right-radius:0;border-top-left-radius:0;padding:1px 0 0 0;border-top-width:0;width:138px}.navbar-right>.user-menu .user-image{float:left;width:27px;height:27px;border-radius:50%;margin-right:8px;margin-top:-3px}@media(max-width:767px){.navbar-right>.user-menu .user-image{float:none;margin-right:0;margin-top:-8px;line-height:10px}}.dropdown-menu>li>a>.glyphicon,.dropdown-menu>li>a>.fa,.dropdown-menu>li>a>.ion{margin-right:10px}.dropdown-menu>li>a:hover{background-color:#e1e3e9;color:#333}.dropdown-menu>.divider{background-color:#eee}.form-header{font-size:15px;color:#6379bb;border-bottom:1px solid #ddd;margin:8px 10px 25px 10px;padding-bottom:5px}.main-content{background-color:#fff;color:inherit;padding:10px 15px 15px 15px;border-color:#e7eaec;-webkit-border-image:none;-o-border-image:none;border-image:none;border-width:1px 0}.pageGo input{height:32px;width:50px;margin-left:5px;margin-right:5px;text-align:center;display:block;float:left}.pageGo button{height:32px;display:block;float:left}.reorder_rows_onDragClass td{color:yellow!important;background-color:#999!important;text-shadow:0 0 10px black,0 0 10px black,0 0 8px black,0 0 6px black,0 0 6px black;box-shadow:0 12px 14px -12px #111 inset,0 -2px 2px -1px #333 inset}.fixed-table-container .selected{background-color:#e8f7fd;color:#1890ff}::-webkit-scrollbar-track{background-color:#f5f5f5}::-webkit-scrollbar{width:6px;height:10px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{border-radius:6px;background-color:#999} \ No newline at end of file diff --git a/ak-system/src/main/resources/static/ak/index.js b/opl-system/src/main/resources/static/ak/index.js similarity index 100% rename from ak-system/src/main/resources/static/ak/index.js rename to opl-system/src/main/resources/static/ak/index.js diff --git a/ak-system/src/main/resources/static/ak/js/common.js b/opl-system/src/main/resources/static/ak/js/common.js similarity index 100% rename from ak-system/src/main/resources/static/ak/js/common.js rename to opl-system/src/main/resources/static/ak/js/common.js diff --git a/ak-system/src/main/resources/static/ak/js/ry-ui.js b/opl-system/src/main/resources/static/ak/js/ry-ui.js similarity index 100% rename from ak-system/src/main/resources/static/ak/js/ry-ui.js rename to opl-system/src/main/resources/static/ak/js/ry-ui.js diff --git a/opl-system/src/main/resources/static/ak/js/ry-ui.min.js b/opl-system/src/main/resources/static/ak/js/ry-ui.min.js new file mode 100644 index 0000000000000000000000000000000000000000..c6ed335efe03a357edc181dc230c15af20bf4d5b --- /dev/null +++ b/opl-system/src/main/resources/static/ak/js/ry-ui.min.js @@ -0,0 +1,6 @@ +(function($){$.extend({_tree:{},btTable:{},bttTable:{},table:{_option:{},init:function(options){var defaults={id:"bootstrap-table",type:0,height:undefined,sidePagination:"server",sortName:"",sortOrder:"asc",pagination:true,pageSize:10,pageList:[10,25,50],toolbar:"toolbar",striped:false,escape:false,firstLoad:true,showFooter:false,search:false,showSearch:true,showPageGo:false,showRefresh:true,showColumns:true,showToggle:true,showExport:false,clickToSelect:false,rememberSelected:false,fixedColumns:false,fixedNumber:0,rightFixedColumns:false,rightFixedNumber:0,queryParams:$.table.queryParams,rowStyle:{},};var options=$.extend(defaults,options);$.table._option=options;$.btTable=$("#"+options.id);$.table.initEvent();$("#"+options.id).bootstrapTable({url:options.url,contentType:"application/x-www-form-urlencoded",method:"post",cache:false,height:options.height,striped:options.striped,sortable:true,sortStable:true,sortName:options.sortName,sortOrder:options.sortOrder,pagination:options.pagination,pageNumber:1,pageSize:options.pageSize,pageList:options.pageList,firstLoad:options.firstLoad,escape:options.escape,showFooter:options.showFooter,iconSize:"outline",toolbar:"#"+options.toolbar,sidePagination:options.sidePagination,search:options.search,searchText:options.searchText,showSearch:options.showSearch,showPageGo:options.showPageGo,showRefresh:options.showRefresh,showColumns:options.showColumns,showToggle:options.showToggle,showExport:options.showExport,uniqueId:options.uniqueId,clickToSelect:options.clickToSelect,detailView:options.detailView,onClickRow:options.onClickRow,onDblClickRow:options.onDblClickRow,onClickCell:options.onClickCell,onDblClickCell:options.onDblClickCell,rememberSelected:options.rememberSelected,fixedColumns:options.fixedColumns,fixedNumber:options.fixedNumber,rightFixedColumns:options.rightFixedColumns,rightFixedNumber:options.rightFixedNumber,onReorderRow:options.onReorderRow,queryParams:options.queryParams,rowStyle:options.rowStyle,columns:options.columns,responseHandler:$.table.responseHandler,onLoadSuccess:$.table.onLoadSuccess,exportOptions:options.exportOptions,detailFormatter:options.detailFormatter,})},queryParams:function(params){var curParams={pageSize:params.limit,pageNum:params.offset/params.limit+1,searchValue:params.search,orderByColumn:params.sort,isAsc:params.order};var currentId=$.common.isEmpty($.table._option.formId)?$("form").attr("id"):$.table._option.formId;return $.extend(curParams,$.common.formToJSON(currentId))},responseHandler:function(res){if(typeof $.table._option.responseHandler=="function"){$.table._option.responseHandler(res)}if(res.code==0){if($.common.isNotEmpty($.table._option.sidePagination)&&$.table._option.sidePagination=="client"){return res.rows}else{if($.common.isNotEmpty($.table._option.rememberSelected)&&$.table._option.rememberSelected){var column=$.common.isEmpty($.table._option.uniqueId)?$.table._option.columns[1].field:$.table._option.uniqueId;$.each(res.rows,function(i,row){row.state=$.inArray(row[column],selectionIds)!==-1})}return{rows:res.rows,total:res.total}}}else{$.modal.alertWarning(res.msg);return{rows:[],total:0}}},initEvent:function(data){$.btTable.on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table load-success.bs.table",function(){var rows=$.common.isEmpty($.table._option.uniqueId)?$.table.selectFirstColumns():$.table.selectColumns($.table._option.uniqueId);$("#"+$.table._option.toolbar+" .multiple").toggleClass("disabled",!rows.length);$("#"+$.table._option.toolbar+" .single").toggleClass("disabled",rows.length!=1)});$.btTable.on("check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table",function(e,rows){var rowIds=$.table.affectedRowIds(rows);if($.common.isNotEmpty($.table._option.rememberSelected)&&$.table._option.rememberSelected){func=$.inArray(e.type,["check","check-all"])>-1?"union":"difference";selectionIds=_[func](selectionIds,rowIds)}});$.btTable.on("click",".img-circle",function(){var src=$(this).attr("src");var target=$(this).data("target");var height=$(this).data("height");var width=$(this).data("width");if($.common.equals("self",target)){layer.open({title:false,type:1,closeBtn:true,shadeClose:true,area:["auto","auto"],content:""})}else{if($.common.equals("blank",target)){window.open(src)}}});$.btTable.on("click",".tooltip-show",function(){var input=$(this).prev();input.select();document.execCommand("copy")})},onLoadSuccess:function(data){if(typeof $.table._option.onLoadSuccess=="function"){$.table._option.onLoadSuccess(data)}$("[data-toggle='tooltip']").tooltip()},destroy:function(tableId){var currentId=$.common.isEmpty(tableId)?$.table._option.id:tableId;$("#"+currentId).bootstrapTable("destroy")},serialNumber:function(index){var table=$.btTable.bootstrapTable("getOptions");var pageSize=table.pageSize;var pageNumber=table.pageNumber;return pageSize*(pageNumber-1)+index+1},tooltip:function(value,length){var _length=$.common.isEmpty(length)?20:length; +var _text="";var _value=$.common.nullToStr(value);if(_value.length>_length){_text=_value.substr(0,_length)+"...";_value=_value.replace(/\'/g,"’");var actions=[];actions.push($.common.sprintf('',_value));actions.push($.common.sprintf("%s",_value,_text));return actions.join("")}else{_text=_value;return _text}},dropdownToggle:function(value){var actions=[];actions.push('
');actions.push('');actions.push('");actions.push("
");return actions.join("")},imageView:function(value,height,width,target){if($.common.isEmpty(width)){width="auto"}if($.common.isEmpty(height)){height="auto"}var _target=$.common.isEmpty(target)?"self":target;if($.common.isNotEmpty(value)){return $.common.sprintf("",width,height,_target,value)}else{return $.common.nullToStr(value)}},search:function(formId,data){var currentId=$.common.isEmpty(formId)?$("form").attr("id"):formId;var params=$.btTable.bootstrapTable("getOptions");params.queryParams=function(params){var search=$.common.formToJSON(currentId);if($.common.isNotEmpty(data)){$.each(data,function(key){search[key]=data[key]})}search.pageSize=params.limit;search.pageNum=params.offset/params.limit+1;search.searchValue=params.search;search.orderByColumn=params.sort;search.isAsc=params.order;return search};$.btTable.bootstrapTable("refresh",params)},exportExcel:function(formId){$.modal.confirm("确定导出所有"+$.table._option.modalName+"吗?",function(){var currentId=$.common.isEmpty(formId)?$("form").attr("id"):formId;$.modal.loading("正在导出数据,请稍后...");$.post($.table._option.exportUrl,$("#"+currentId).serializeArray(),function(result){if(result.code==web_status.SUCCESS){window.location.href=ctx+"common/download?fileName="+encodeURI(result.msg)+"&delete="+true}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}$.modal.closeLoading()})})},importTemplate:function(){$.get($.table._option.importTemplateUrl,function(result){if(result.code==web_status.SUCCESS){window.location.href=ctx+"common/download?fileName="+encodeURI(result.msg)+"&delete="+true}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}})},importExcel:function(formId){var currentId=$.common.isEmpty(formId)?"importTpl":formId;layer.open({type:1,area:["400px","230px"],fix:false,maxmin:true,shade:0.3,title:"导入"+$.table._option.modalName+"数据",content:$("#"+currentId).html(),btn:[' 导入',' 取消'],shadeClose:true,btn1:function(index,layero){var file=layero.find("#file").val();if(file==""||(!$.common.endWith(file,".xls")&&!$.common.endWith(file,".xlsx"))){$.modal.msgWarning("请选择后缀为 “xls”或“xlsx”的文件。");return false}var index=layer.load(2,{shade:false});$.modal.disable();var formData=new FormData();formData.append("file",$("#file")[0].files[0]);formData.append("updateSupport",$("input[name='updateSupport']").is(":checked"));$.ajax({url:$.table._option.importUrl,data:formData,cache:false,contentType:false,processData:false,type:"POST",success:function(result){if(result.code==web_status.SUCCESS){$.modal.closeAll();$.modal.alertSuccess(result.msg);$.table.refresh()}else{if(result.code==web_status.WARNING){layer.close(index);$.modal.enable();$.modal.alertWarning(result.msg)}else{layer.close(index);$.modal.enable();$.modal.alertError(result.msg)}}}})}})},refresh:function(){$.btTable.bootstrapTable("refresh",{silent:true})},selectColumns:function(column){var rows=$.map($.btTable.bootstrapTable("getSelections"),function(row){return row[column]});if($.common.isNotEmpty($.table._option.rememberSelected)&&$.table._option.rememberSelected){rows=rows.concat(selectionIds)}return $.common.uniqueFn(rows)},affectedRowIds:function(rows){var column=$.common.isEmpty($.table._option.uniqueId)?$.table._option.columns[1].field:$.table._option.uniqueId;var rowIds;if($.isArray(rows)){rowIds=$.map(rows,function(row){return row[column]})}else{rowIds=[rows[column]]}return rowIds},selectFirstColumns:function(){var rows=$.map($.btTable.bootstrapTable("getSelections"),function(row){return row[$.table._option.columns[1].field]});if($.common.isNotEmpty($.table._option.rememberSelected)&&$.table._option.rememberSelected){rows=rows.concat(selectionIds)}return $.common.uniqueFn(rows)},selectDictLabel:function(datas,value){var actions=[];$.each(datas,function(index,dict){if(dict.dictValue==(""+value)){var listClass=$.common.equals("default",dict.listClass)||$.common.isEmpty(dict.listClass)?"":"badge badge-"+dict.listClass; +actions.push($.common.sprintf("%s",listClass,dict.dictLabel));return false}});return actions.join("")},showColumn:function(column){$.btTable.bootstrapTable("showColumn",column)},hideColumn:function(column){$.btTable.bootstrapTable("hideColumn",column)}},treeTable:{init:function(options){var defaults={id:"bootstrap-tree-table",type:1,height:0,rootIdValue:null,ajaxParams:{},toolbar:"toolbar",striped:false,expandColumn:1,showSearch:true,showRefresh:true,showColumns:true,expandAll:true,expandFirst:true};var options=$.extend(defaults,options);$.table._option=options;$.bttTable=$("#"+options.id).bootstrapTreeTable({code:options.code,parentCode:options.parentCode,type:"post",url:options.url,data:options.data,ajaxParams:options.ajaxParams,rootIdValue:options.rootIdValue,height:options.height,expandColumn:options.expandColumn,striped:options.striped,bordered:true,toolbar:"#"+options.toolbar,showSearch:options.showSearch,showRefresh:options.showRefresh,showColumns:options.showColumns,expandAll:options.expandAll,expandFirst:options.expandFirst,columns:options.columns,responseHandler:$.treeTable.responseHandler})},search:function(formId){var currentId=$.common.isEmpty(formId)?$("form").attr("id"):formId;var params=$.common.formToJSON(currentId);$.bttTable.bootstrapTreeTable("refresh",params)},refresh:function(){$.bttTable.bootstrapTreeTable("refresh")},selectColumns:function(column){var rows=$.map($.bttTable.bootstrapTreeTable("getSelections"),function(row){return row[column]});return $.common.uniqueFn(rows)},responseHandler:function(data){if(data.code!=undefined&&data.code!=0){$.modal.alertWarning(data.msg);return[]}else{return data}},},form:{reset:function(formId){var currentId=$.common.isEmpty(formId)?$("form").attr("id"):formId;$("#"+currentId)[0].reset();if($.table._option.type==table_type.bootstrapTable){$.btTable.bootstrapTable("refresh")}},selectCheckeds:function(name){var checkeds="";$('input:checkbox[name="'+name+'"]:checked').each(function(i){if(0==i){checkeds=$(this).val()}else{checkeds+=(","+$(this).val())}});return checkeds},selectSelects:function(name){var selects="";$("#"+name+" option:selected").each(function(i){if(0==i){selects=$(this).val()}else{selects+=(","+$(this).val())}});return selects}},modal:{icon:function(type){var icon="";if(type==modal_status.WARNING){icon=0}else{if(type==modal_status.SUCCESS){icon=1}else{if(type==modal_status.FAIL){icon=2}else{icon=3}}}return icon},msg:function(content,type){if(type!=undefined){layer.msg(content,{icon:$.modal.icon(type),time:1000,shift:5})}else{layer.msg(content)}},msgError:function(content){$.modal.msg(content,modal_status.FAIL)},msgSuccess:function(content){$.modal.msg(content,modal_status.SUCCESS)},msgWarning:function(content){$.modal.msg(content,modal_status.WARNING)},alert:function(content,type){layer.alert(content,{icon:$.modal.icon(type),title:"系统提示",btn:["确认"],btnclass:["btn btn-primary"],})},msgReload:function(msg,type){layer.msg(msg,{icon:$.modal.icon(type),time:500,shade:[0.1,"#8F8F8F"]},function(){$.modal.reload()})},alertError:function(content){$.modal.alert(content,modal_status.FAIL)},alertSuccess:function(content){$.modal.alert(content,modal_status.SUCCESS)},alertWarning:function(content){$.modal.alert(content,modal_status.WARNING)},close:function(){var index=parent.layer.getFrameIndex(window.name);parent.layer.close(index)},closeAll:function(){layer.closeAll()},confirm:function(content,callBack){layer.confirm(content,{icon:3,title:"系统提示",btn:["确认","取消"]},function(index){layer.close(index);callBack(true)})},open:function(title,url,width,height,callback){if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){width="auto";height="auto"}if($.common.isEmpty(title)){title=false}if($.common.isEmpty(url)){url="/404.html"}if($.common.isEmpty(width)){width=800}if($.common.isEmpty(height)){height=($(window).height()-50)}if($.common.isEmpty(callback)){callback=function(index,layero){var iframeWin=layero.find("iframe")[0];iframeWin.contentWindow.submitHandler(index,layero)}}layer.open({type:2,area:[width+"px",height+"px"],fix:false,maxmin:true,shade:0.3,title:title,content:url,btn:["确定","关闭"],shadeClose:true,yes:callback,cancel:function(index){return true}})},openOptions:function(options){var _url=$.common.isEmpty(options.url)?"/404.html":options.url;var _title=$.common.isEmpty(options.title)?"系统窗口":options.title;var _width=$.common.isEmpty(options.width)?"800":options.width;var _height=$.common.isEmpty(options.height)?($(window).height()-50):options.height;var _btn=[' 确认',' 关闭'];if($.common.isEmpty(options.yes)){options.yes=function(index,layero){options.callBack(index,layero)}}layer.open({type:2,maxmin:true,shade:0.3,title:_title,fix:false,area:[_width+"px",_height+"px"],content:_url,shadeClose:$.common.isEmpty(options.shadeClose)?true:options.shadeClose,skin:options.skin,btn:$.common.isEmpty(options.btn)?_btn:options.btn,yes:options.yes,cancel:function(){return true}}) +},openFull:function(title,url,width,height){if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){width="auto";height="auto"}if($.common.isEmpty(title)){title=false}if($.common.isEmpty(url)){url="/404.html"}if($.common.isEmpty(width)){width=800}if($.common.isEmpty(height)){height=($(window).height()-50)}var index=layer.open({type:2,area:[width+"px",height+"px"],fix:false,maxmin:true,shade:0.3,title:title,content:url,btn:["确定","关闭"],shadeClose:true,yes:function(index,layero){var iframeWin=layero.find("iframe")[0];iframeWin.contentWindow.submitHandler(index,layero)},cancel:function(index){return true}});layer.full(index)},openTab:function(title,url){createMenuItem(url,title)},parentTab:function(title,url){var dataId=window.frameElement.getAttribute("data-id");createMenuItem(url,title);closeItem(dataId)},closeTab:function(dataId){closeItem(dataId)},disable:function(){var doc=window.top==window.parent?window.document:window.parent.document;$("a[class*=layui-layer-btn]",doc).addClass("layer-disabled")},enable:function(){var doc=window.top==window.parent?window.document:window.parent.document;$("a[class*=layui-layer-btn]",doc).removeClass("layer-disabled")},loading:function(message){$.blockUI({message:'
'+message+"
"})},closeLoading:function(){setTimeout(function(){$.unblockUI()},50)},reload:function(){parent.location.reload()}},operate:{submit:function(url,type,dataType,data,callback){var config={url:url,type:type,dataType:dataType,data:data,beforeSend:function(){$.modal.loading("正在处理中,请稍后...")},success:function(result){if(typeof callback=="function"){callback(result)}$.operate.ajaxSuccess(result)}};$.ajax(config)},post:function(url,data,callback){$.operate.submit(url,"post","json",data,callback)},get:function(url,callback){$.operate.submit(url,"get","json","",callback)},detail:function(id,width,height){var _url=$.operate.detailUrl(id);var options={title:$.table._option.modalName+"详细",width:width,height:height,url:$.operate.detailUrl(id),skin:"layui-layer-gray",btn:["关闭"],yes:function(index,layero){layer.close(index)}};$.modal.openOptions(options)},detailUrl:function(id){var url="/404.html";if($.common.isNotEmpty(id)){url=$.table._option.detailUrl.replace("{id}",id)}else{var id=$.common.isEmpty($.table._option.uniqueId)?$.table.selectFirstColumns():$.table.selectColumns($.table._option.uniqueId);if(id.length==0){$.modal.alertWarning("请至少选择一条记录");return}url=$.table._option.detailUrl.replace("{id}",id)}return url},remove:function(id){$.modal.confirm("确定删除该条"+$.table._option.modalName+"信息吗?",function(){var url=$.common.isEmpty(id)?$.table._option.removeUrl:$.table._option.removeUrl.replace("{id}",id);if($.table._option.type==table_type.bootstrapTreeTable){$.operate.get(url)}else{var data={"ids":id};$.operate.submit(url,"post","json",data)}})},removeAll:function(){var rows=$.common.isEmpty($.table._option.uniqueId)?$.table.selectFirstColumns():$.table.selectColumns($.table._option.uniqueId);if(rows.length==0){$.modal.alertWarning("请至少选择一条记录");return}$.modal.confirm("确认要删除选中的"+rows.length+"条数据吗?",function(){var url=$.table._option.removeUrl;var data={"ids":rows.join()};$.operate.submit(url,"post","json",data)})},clean:function(){$.modal.confirm("确定清空所有"+$.table._option.modalName+"吗?",function(){var url=$.table._option.cleanUrl;$.operate.submit(url,"post","json","")})},add:function(id){$.modal.open("添加"+$.table._option.modalName,$.operate.addUrl(id))},addTab:function(id){$.modal.openTab("添加"+$.table._option.modalName,$.operate.addUrl(id))},addFull:function(id){var url=$.common.isEmpty(id)?$.table._option.createUrl:$.table._option.createUrl.replace("{id}",id);$.modal.openFull("添加"+$.table._option.modalName,url)},addUrl:function(id){var url=$.common.isEmpty(id)?$.table._option.createUrl.replace("{id}",""):$.table._option.createUrl.replace("{id}",id);return url},edit:function(id){if($.common.isEmpty(id)&&$.table._option.type==table_type.bootstrapTreeTable){var row=$.bttTable.bootstrapTreeTable("getSelections")[0];if($.common.isEmpty(row)){$.modal.alertWarning("请至少选择一条记录");return}var url=$.table._option.updateUrl.replace("{id}",row[$.table._option.uniqueId]);$.modal.open("修改"+$.table._option.modalName,url)}else{$.modal.open("修改"+$.table._option.modalName,$.operate.editUrl(id))}},editTab:function(id){$.modal.openTab("修改"+$.table._option.modalName,$.operate.editUrl(id))},editFull:function(id){var url="/404.html";if($.common.isNotEmpty(id)){url=$.table._option.updateUrl.replace("{id}",id)}else{var row=$.common.isEmpty($.table._option.uniqueId)?$.table.selectFirstColumns():$.table.selectColumns($.table._option.uniqueId);url=$.table._option.updateUrl.replace("{id}",row)}$.modal.openFull("修改"+$.table._option.modalName,url)},editUrl:function(id){var url="/404.html";if($.common.isNotEmpty(id)){url=$.table._option.updateUrl.replace("{id}",id)}else{var id=$.common.isEmpty($.table._option.uniqueId)?$.table.selectFirstColumns():$.table.selectColumns($.table._option.uniqueId); +if(id.length==0){$.modal.alertWarning("请至少选择一条记录");return}url=$.table._option.updateUrl.replace("{id}",id)}return url},save:function(url,data,callback){var config={url:url,type:"post",dataType:"json",data:data,beforeSend:function(){$.modal.loading("正在处理中,请稍后...");$.modal.disable()},success:function(result){if(typeof callback=="function"){callback(result)}$.operate.successCallback(result)}};$.ajax(config)},saveModal:function(url,data,callback){var config={url:url,type:"post",dataType:"json",data:data,beforeSend:function(){$.modal.loading("正在处理中,请稍后...")},success:function(result){if(typeof callback=="function"){callback(result)}if(result.code==web_status.SUCCESS){$.modal.alertSuccess(result.msg)}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}$.modal.closeLoading()}};$.ajax(config)},saveTab:function(url,data,callback){var config={url:url,type:"post",dataType:"json",data:data,beforeSend:function(){$.modal.loading("正在处理中,请稍后...")},success:function(result){if(typeof callback=="function"){callback(result)}$.operate.successTabCallback(result)}};$.ajax(config)},ajaxSuccess:function(result){if(result.code==web_status.SUCCESS&&$.table._option.type==table_type.bootstrapTable){$.modal.msgSuccess(result.msg);$.table.refresh()}else{if(result.code==web_status.SUCCESS&&$.table._option.type==table_type.bootstrapTreeTable){$.modal.msgSuccess(result.msg);$.treeTable.refresh()}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}}$.modal.closeLoading()},saveSuccess:function(result){if(result.code==web_status.SUCCESS){$.modal.msgReload("保存成功,正在刷新数据请稍后……",modal_status.SUCCESS)}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}$.modal.closeLoading()},successCallback:function(result){if(result.code==web_status.SUCCESS){var parent=window.parent;if(parent.$.table._option.type==table_type.bootstrapTable){$.modal.close();parent.$.modal.msgSuccess(result.msg);parent.$.table.refresh()}else{if(parent.$.table._option.type==table_type.bootstrapTreeTable){$.modal.close();parent.$.modal.msgSuccess(result.msg);parent.$.treeTable.refresh()}else{$.modal.msgReload("保存成功,正在刷新数据请稍后……",modal_status.SUCCESS)}}}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}$.modal.closeLoading();$.modal.enable()},successTabCallback:function(result){if(result.code==web_status.SUCCESS){var topWindow=$(window.parent.document);var currentId=$(".page-tabs-content",topWindow).find(".active").attr("data-panel");var $contentWindow=$('.Stone_iframe[data-id="'+currentId+'"]',topWindow)[0].contentWindow;$.modal.close();$contentWindow.$.modal.msgSuccess(result.msg);$contentWindow.$(".layui-layer-padding").removeAttr("style");if($contentWindow.$.table._option.type==table_type.bootstrapTable){$contentWindow.$.table.refresh()}else{if($contentWindow.$.table._option.type==table_type.bootstrapTreeTable){$contentWindow.$.treeTable.refresh()}}$.modal.closeTab()}else{if(result.code==web_status.WARNING){$.modal.alertWarning(result.msg)}else{$.modal.alertError(result.msg)}}$.modal.closeLoading()}},validate:{unique:function(value){if(value=="0"){return true}return false},form:function(formId){var currentId=$.common.isEmpty(formId)?$("form").attr("id"):formId;return $("#"+currentId).validate().form()}},tree:{_option:{},_lastValue:{},init:function(options){var defaults={id:"tree",expandLevel:0,view:{selectedMulti:false,nameIsHTML:true},check:{enable:false,nocheckInherit:true,},data:{key:{title:"title"},simpleData:{enable:true}},};var options=$.extend(defaults,options);$.tree._option=options;var setting={callback:{onClick:options.onClick,onCheck:options.onCheck,onDblClick:options.onDblClick},check:options.check,view:options.view,data:options.data};$.get(options.url,function(data){var treeId=$("#treeId").val();tree=$.fn.zTree.init($("#"+options.id),setting,data);$._tree=tree;var nodes=tree.getNodesByParam("level",options.expandLevel-1);for(var i=0;i=0;i--){if(nodes[i].getParentNode()!=null){$._tree.expandNode(nodes[i],true,false,false,false)}else{$._tree.expandNode(nodes[i],true,true,false,false)}$._tree.showNode(nodes[i]);$.tree.showAllNode(nodes[i].children)}},hideAllNode:function(nodes){var tree=$.fn.zTree.getZTreeObj("tree"); +var nodes=$._tree.transformToArray(nodes);for(var i=nodes.length-1;i>=0;i--){$._tree.hideNode(nodes[i])}},showParent:function(treeNode){var parentNode;while((parentNode=treeNode.getParentNode())!=null){$._tree.showNode(parentNode);$._tree.expandNode(parentNode,true,false,false);treeNode=parentNode}},showChildren:function(treeNode){if(treeNode.isParent){for(var idx in treeNode.children){var node=treeNode.children[idx];$._tree.showNode(node);$.tree.showChildren(node)}}},updateNodes:function(nodeList){$._tree.showNodes(nodeList);for(var i=0,l=nodeList.length;i通过数据属性的基本示例。

- +

@@ -118,7 +118,7 @@

通过javascript的基本示例。

- +
@@ -126,7 +126,7 @@

通过javascript的复杂示例。

- +
@@ -134,7 +134,7 @@

后台url中获取简单数据

- +
@@ -290,7 +290,7 @@ }); $('#typeahead-demo-1').typeahead({ - source: ["ak... 1", "ak... 2", "ak... 3"] + source: ["opl... 1", "opl... 2", "opl... 3"] }); $('#typeahead-demo-2').typeahead({ diff --git a/ak-system/src/main/resources/templates/demo/form/basic.html b/opl-system/src/main/resources/templates/demo/form/basic.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/basic.html rename to opl-system/src/main/resources/templates/demo/form/basic.html diff --git a/ak-system/src/main/resources/templates/demo/form/button.html b/opl-system/src/main/resources/templates/demo/form/button.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/button.html rename to opl-system/src/main/resources/templates/demo/form/button.html diff --git a/ak-system/src/main/resources/templates/demo/form/cards.html b/opl-system/src/main/resources/templates/demo/form/cards.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/cards.html rename to opl-system/src/main/resources/templates/demo/form/cards.html diff --git a/ak-system/src/main/resources/templates/demo/form/datetime.html b/opl-system/src/main/resources/templates/demo/form/datetime.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/datetime.html rename to opl-system/src/main/resources/templates/demo/form/datetime.html diff --git a/ak-system/src/main/resources/templates/demo/form/duallistbox.html b/opl-system/src/main/resources/templates/demo/form/duallistbox.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/duallistbox.html rename to opl-system/src/main/resources/templates/demo/form/duallistbox.html diff --git a/ak-system/src/main/resources/templates/demo/form/grid.html b/opl-system/src/main/resources/templates/demo/form/grid.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/grid.html rename to opl-system/src/main/resources/templates/demo/form/grid.html diff --git a/ak-system/src/main/resources/templates/demo/form/jasny.html b/opl-system/src/main/resources/templates/demo/form/jasny.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/jasny.html rename to opl-system/src/main/resources/templates/demo/form/jasny.html diff --git a/ak-system/src/main/resources/templates/demo/form/select.html b/opl-system/src/main/resources/templates/demo/form/select.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/select.html rename to opl-system/src/main/resources/templates/demo/form/select.html diff --git a/ak-system/src/main/resources/templates/demo/form/sortable.html b/opl-system/src/main/resources/templates/demo/form/sortable.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/sortable.html rename to opl-system/src/main/resources/templates/demo/form/sortable.html diff --git a/ak-system/src/main/resources/templates/demo/form/summernote.html b/opl-system/src/main/resources/templates/demo/form/summernote.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/summernote.html rename to opl-system/src/main/resources/templates/demo/form/summernote.html diff --git a/ak-system/src/main/resources/templates/demo/form/tabs_panels.html b/opl-system/src/main/resources/templates/demo/form/tabs_panels.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/tabs_panels.html rename to opl-system/src/main/resources/templates/demo/form/tabs_panels.html diff --git a/ak-system/src/main/resources/templates/demo/form/upload.html b/opl-system/src/main/resources/templates/demo/form/upload.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/upload.html rename to opl-system/src/main/resources/templates/demo/form/upload.html diff --git a/ak-system/src/main/resources/templates/demo/form/validate.html b/opl-system/src/main/resources/templates/demo/form/validate.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/validate.html rename to opl-system/src/main/resources/templates/demo/form/validate.html diff --git a/ak-system/src/main/resources/templates/demo/form/wizard.html b/opl-system/src/main/resources/templates/demo/form/wizard.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/form/wizard.html rename to opl-system/src/main/resources/templates/demo/form/wizard.html diff --git a/ak-system/src/main/resources/templates/demo/icon/fontawesome.html b/opl-system/src/main/resources/templates/demo/icon/fontawesome.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/icon/fontawesome.html rename to opl-system/src/main/resources/templates/demo/icon/fontawesome.html diff --git a/ak-system/src/main/resources/templates/demo/icon/glyphicons.html b/opl-system/src/main/resources/templates/demo/icon/glyphicons.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/icon/glyphicons.html rename to opl-system/src/main/resources/templates/demo/icon/glyphicons.html diff --git a/ak-system/src/main/resources/templates/demo/modal/dialog.html b/opl-system/src/main/resources/templates/demo/modal/dialog.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/dialog.html rename to opl-system/src/main/resources/templates/demo/modal/dialog.html diff --git a/ak-system/src/main/resources/templates/demo/modal/form.html b/opl-system/src/main/resources/templates/demo/modal/form.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/form.html rename to opl-system/src/main/resources/templates/demo/modal/form.html diff --git a/ak-system/src/main/resources/templates/demo/modal/layer.html b/opl-system/src/main/resources/templates/demo/modal/layer.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/layer.html rename to opl-system/src/main/resources/templates/demo/modal/layer.html diff --git a/ak-system/src/main/resources/templates/demo/modal/table.html b/opl-system/src/main/resources/templates/demo/modal/table.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/table.html rename to opl-system/src/main/resources/templates/demo/modal/table.html diff --git a/ak-system/src/main/resources/templates/demo/modal/table/check.html b/opl-system/src/main/resources/templates/demo/modal/table/check.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/table/check.html rename to opl-system/src/main/resources/templates/demo/modal/table/check.html diff --git a/ak-system/src/main/resources/templates/demo/modal/table/parent.html b/opl-system/src/main/resources/templates/demo/modal/table/parent.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/table/parent.html rename to opl-system/src/main/resources/templates/demo/modal/table/parent.html diff --git a/ak-system/src/main/resources/templates/demo/modal/table/radio.html b/opl-system/src/main/resources/templates/demo/modal/table/radio.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/modal/table/radio.html rename to opl-system/src/main/resources/templates/demo/modal/table/radio.html diff --git a/ak-system/src/main/resources/templates/demo/operate/add.html b/opl-system/src/main/resources/templates/demo/operate/add.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/operate/add.html rename to opl-system/src/main/resources/templates/demo/operate/add.html diff --git a/ak-system/src/main/resources/templates/demo/operate/detail.html b/opl-system/src/main/resources/templates/demo/operate/detail.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/operate/detail.html rename to opl-system/src/main/resources/templates/demo/operate/detail.html diff --git a/ak-system/src/main/resources/templates/demo/operate/edit.html b/opl-system/src/main/resources/templates/demo/operate/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/operate/edit.html rename to opl-system/src/main/resources/templates/demo/operate/edit.html diff --git a/ak-system/src/main/resources/templates/demo/operate/other.html b/opl-system/src/main/resources/templates/demo/operate/other.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/operate/other.html rename to opl-system/src/main/resources/templates/demo/operate/other.html diff --git a/ak-system/src/main/resources/templates/demo/operate/table.html b/opl-system/src/main/resources/templates/demo/operate/table.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/operate/table.html rename to opl-system/src/main/resources/templates/demo/operate/table.html diff --git a/ak-system/src/main/resources/templates/demo/report/echarts.html b/opl-system/src/main/resources/templates/demo/report/echarts.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/report/echarts.html rename to opl-system/src/main/resources/templates/demo/report/echarts.html diff --git a/ak-system/src/main/resources/templates/demo/report/metrics.html b/opl-system/src/main/resources/templates/demo/report/metrics.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/report/metrics.html rename to opl-system/src/main/resources/templates/demo/report/metrics.html diff --git a/ak-system/src/main/resources/templates/demo/report/peity.html b/opl-system/src/main/resources/templates/demo/report/peity.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/report/peity.html rename to opl-system/src/main/resources/templates/demo/report/peity.html diff --git a/ak-system/src/main/resources/templates/demo/report/sparkline.html b/opl-system/src/main/resources/templates/demo/report/sparkline.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/report/sparkline.html rename to opl-system/src/main/resources/templates/demo/report/sparkline.html diff --git a/ak-system/src/main/resources/templates/demo/table/button.html b/opl-system/src/main/resources/templates/demo/table/button.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/button.html rename to opl-system/src/main/resources/templates/demo/table/button.html diff --git a/ak-system/src/main/resources/templates/demo/table/curd.html b/opl-system/src/main/resources/templates/demo/table/curd.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/curd.html rename to opl-system/src/main/resources/templates/demo/table/curd.html diff --git a/ak-system/src/main/resources/templates/demo/table/detail.html b/opl-system/src/main/resources/templates/demo/table/detail.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/detail.html rename to opl-system/src/main/resources/templates/demo/table/detail.html diff --git a/ak-system/src/main/resources/templates/demo/table/event.html b/opl-system/src/main/resources/templates/demo/table/event.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/event.html rename to opl-system/src/main/resources/templates/demo/table/event.html diff --git a/ak-system/src/main/resources/templates/demo/table/export.html b/opl-system/src/main/resources/templates/demo/table/export.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/export.html rename to opl-system/src/main/resources/templates/demo/table/export.html diff --git a/ak-system/src/main/resources/templates/demo/table/fixedColumns.html b/opl-system/src/main/resources/templates/demo/table/fixedColumns.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/fixedColumns.html rename to opl-system/src/main/resources/templates/demo/table/fixedColumns.html diff --git a/ak-system/src/main/resources/templates/demo/table/footer.html b/opl-system/src/main/resources/templates/demo/table/footer.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/footer.html rename to opl-system/src/main/resources/templates/demo/table/footer.html diff --git a/ak-system/src/main/resources/templates/demo/table/groupHeader.html b/opl-system/src/main/resources/templates/demo/table/groupHeader.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/groupHeader.html rename to opl-system/src/main/resources/templates/demo/table/groupHeader.html diff --git a/ak-system/src/main/resources/templates/demo/table/image.html b/opl-system/src/main/resources/templates/demo/table/image.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/image.html rename to opl-system/src/main/resources/templates/demo/table/image.html diff --git a/ak-system/src/main/resources/templates/demo/table/multi.html b/opl-system/src/main/resources/templates/demo/table/multi.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/multi.html rename to opl-system/src/main/resources/templates/demo/table/multi.html diff --git a/ak-system/src/main/resources/templates/demo/table/other.html b/opl-system/src/main/resources/templates/demo/table/other.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/other.html rename to opl-system/src/main/resources/templates/demo/table/other.html diff --git a/ak-system/src/main/resources/templates/demo/table/pageGo.html b/opl-system/src/main/resources/templates/demo/table/pageGo.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/pageGo.html rename to opl-system/src/main/resources/templates/demo/table/pageGo.html diff --git a/ak-system/src/main/resources/templates/demo/table/params.html b/opl-system/src/main/resources/templates/demo/table/params.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/params.html rename to opl-system/src/main/resources/templates/demo/table/params.html diff --git a/ak-system/src/main/resources/templates/demo/table/remember.html b/opl-system/src/main/resources/templates/demo/table/remember.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/remember.html rename to opl-system/src/main/resources/templates/demo/table/remember.html diff --git a/ak-system/src/main/resources/templates/demo/table/reorder.html b/opl-system/src/main/resources/templates/demo/table/reorder.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/reorder.html rename to opl-system/src/main/resources/templates/demo/table/reorder.html diff --git a/ak-system/src/main/resources/templates/demo/table/search.html b/opl-system/src/main/resources/templates/demo/table/search.html similarity index 100% rename from ak-system/src/main/resources/templates/demo/table/search.html rename to opl-system/src/main/resources/templates/demo/table/search.html diff --git a/ak-system/src/main/resources/templates/error/404.html b/opl-system/src/main/resources/templates/error/404.html similarity index 100% rename from ak-system/src/main/resources/templates/error/404.html rename to opl-system/src/main/resources/templates/error/404.html diff --git a/ak-system/src/main/resources/templates/error/500.html b/opl-system/src/main/resources/templates/error/500.html similarity index 100% rename from ak-system/src/main/resources/templates/error/500.html rename to opl-system/src/main/resources/templates/error/500.html diff --git a/ak-system/src/main/resources/templates/error/business.html b/opl-system/src/main/resources/templates/error/business.html similarity index 100% rename from ak-system/src/main/resources/templates/error/business.html rename to opl-system/src/main/resources/templates/error/business.html diff --git a/ak-system/src/main/resources/templates/error/unauth.html b/opl-system/src/main/resources/templates/error/unauth.html similarity index 100% rename from ak-system/src/main/resources/templates/error/unauth.html rename to opl-system/src/main/resources/templates/error/unauth.html diff --git a/opl-system/src/main/resources/templates/global/channelAmount/add.html b/opl-system/src/main/resources/templates/global/channelAmount/add.html new file mode 100644 index 0000000000000000000000000000000000000000..1b1f134e2fabdf2dee4436c964c9208929fd51ae --- /dev/null +++ b/opl-system/src/main/resources/templates/global/channelAmount/add.html @@ -0,0 +1,60 @@ + + + + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + diff --git a/opl-system/src/main/resources/templates/global/channelAmount/channelAmount.html b/opl-system/src/main/resources/templates/global/channelAmount/channelAmount.html new file mode 100644 index 0000000000000000000000000000000000000000..7426188ea001636c29f3a52c89a2c8f61773f4ad --- /dev/null +++ b/opl-system/src/main/resources/templates/global/channelAmount/channelAmount.html @@ -0,0 +1,126 @@ + + + + + + +
+
+
+
+
+
    +
  • + 公告标题: +
  • +
  • + 操作人员: +
  • +
  • + 公告类型: +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/opl-system/src/main/resources/templates/global/channelAmount/edit.html b/opl-system/src/main/resources/templates/global/channelAmount/edit.html new file mode 100644 index 0000000000000000000000000000000000000000..a2c6ee0f09649b799497864d4f1212fbe035d2ac --- /dev/null +++ b/opl-system/src/main/resources/templates/global/channelAmount/edit.html @@ -0,0 +1,63 @@ + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + + + diff --git a/ak-system/src/main/resources/templates/include.html b/opl-system/src/main/resources/templates/include.html similarity index 100% rename from ak-system/src/main/resources/templates/include.html rename to opl-system/src/main/resources/templates/include.html diff --git a/ak-system/src/main/resources/templates/index.html b/opl-system/src/main/resources/templates/index.html similarity index 98% rename from ak-system/src/main/resources/templates/index.html rename to opl-system/src/main/resources/templates/index.html index 57f1403e03b56dfddeaaf12b9c988d8b448d2e73..38bf3656ba2f583334192235a8773c0edc53de36 100644 --- a/ak-system/src/main/resources/templates/index.html +++ b/opl-system/src/main/resources/templates/index.html @@ -4,7 +4,7 @@ - Stone首页 + OPL 运营管理平台 @@ -29,7 +29,7 @@ @@ -247,7 +247,7 @@ /*用户管理-重置密码*/ function resetPwd() { - var url = ctx + 'system/user/profile/resetPwd'; + var url = ctx + 'basedata/user/profile/resetPwd'; $.modal.open("重置密码", url, '800', '500'); } diff --git a/ak-system/src/main/resources/templates/log/logininfor/logininfor.html b/opl-system/src/main/resources/templates/log/logininfor/logininfor.html similarity index 100% rename from ak-system/src/main/resources/templates/log/logininfor/logininfor.html rename to opl-system/src/main/resources/templates/log/logininfor/logininfor.html diff --git a/ak-system/src/main/resources/templates/log/operlog/detail.html b/opl-system/src/main/resources/templates/log/operlog/detail.html similarity index 100% rename from ak-system/src/main/resources/templates/log/operlog/detail.html rename to opl-system/src/main/resources/templates/log/operlog/detail.html diff --git a/ak-system/src/main/resources/templates/log/operlog/operlog.html b/opl-system/src/main/resources/templates/log/operlog/operlog.html similarity index 100% rename from ak-system/src/main/resources/templates/log/operlog/operlog.html rename to opl-system/src/main/resources/templates/log/operlog/operlog.html diff --git a/ak-system/src/main/resources/templates/login.html b/opl-system/src/main/resources/templates/login.html similarity index 92% rename from ak-system/src/main/resources/templates/login.html rename to opl-system/src/main/resources/templates/login.html index 7e6524451affbe46ca2bb72db008189e2fb60ae9..522faf93026e4dd29335cb6e435e7d3a57a6d414 100644 --- a/ak-system/src/main/resources/templates/login.html +++ b/opl-system/src/main/resources/templates/login.html @@ -4,13 +4,13 @@ - 时空之门 - + OPL 运营管理平台 + - + @@ -184,8 +184,8 @@

[ Stone ]

-

欢迎使用 Stone基础开发平台

-
    +

    欢迎使用 OPL 运营管理平台

    + @@ -250,7 +249,7 @@ th:src="@{/ajax/libs/validate/messages_zh.min.js}"> - + diff --git a/ak-system/src/main/resources/templates/main.html b/opl-system/src/main/resources/templates/main.html similarity index 38% rename from ak-system/src/main/resources/templates/main.html rename to opl-system/src/main/resources/templates/main.html index 4245f35da6b51456552cb43e3632a05ac9e763f7..2b87ef6b3a42c84647f8febe38d24f00576060d7 100644 --- a/ak-system/src/main/resources/templates/main.html +++ b/opl-system/src/main/resources/templates/main.html @@ -18,7 +18,7 @@
    -
    内置模块
    +
    分析模块
    @@ -26,49 +26,14 @@
    - v2.0.02019.08.08 + v1.0.02019.10.10
      -
    1. 新增防止表单重复提交注解
    2. -
    3. 新增后端校验(和前端保持一致)
    4. -
    5. 新增同一个用户最大会话数控制
    6. -
    7. Excel导出子对象支持多个字段
    8. -
    9. 定时任务支持静态调用和多参数
    10. -
    11. 定时任务增加分组条件查询
    12. -
    13. 字典类型增加任务分组数据
    14. -
    15. 新增表格是否首次加载数据
    16. -
    17. 新增parentTab选项卡可在同一页签打开
    18. -
    19. 部门及以下数据权限(调整为以下及所有子节点)
    20. -
    21. 新增角色数据权限配(仅本人数据权限)
    22. -
    23. 修改菜单权限显示问题
    24. -
    25. 上传文件修改路径及返回名称
    26. -
    27. 添加用户页面岗位选择框提示
    28. -
    29. 点击菜单操作添加背景高亮显示
    30. -
    31. 表格树新增showSearch是否显示检索信息
    32. -
    33. 解决表格列设置sortName无效问题
    34. -
    35. 表格图片预览支持自定义设置宽高
    36. -
    37. 添加表格列浮动提示(单击文本复制)
    38. -
    39. PC端收起菜单后支持浮动显示
    40. -
    41. 修改用户更新描述空串不更新问题
    42. -
    43. 导入修改为模板渲染
    44. -
    45. 修改菜单及部门排序规则
    46. -
    47. 角色导出数据范围表达式翻译
    48. -
    49. 添加summernote富文本字体大小
    50. -
    51. 优化表格底部下边框防重叠&汇总像素问题
    52. -
    53. 树表格支持属性多层级访问
    54. -
    55. 重置按钮刷新表格
    56. -
    57. 重置密码更新用户缓存
    58. -
    59. 优化验证码属性参数
    60. -
    61. 支持数据监控配置用户名和密码
    62. -
    63. 文件上传修改按钮背景及加载动画
    64. -
    65. 支持配置一级菜单href跳转
    66. -
    67. 树表格添加回调函数(校验异常状态)
    68. -
    69. 用户个人中心适配手机端显示
    70. -
    71. 检查属性改变修改为克隆方式(防止热部署强转异常)
    72. +
    @@ -81,29 +46,23 @@
    -
    联系信息
    +
    提示信息
    -

    官网:http://www.stone.vip -

    -

    QQ群:531346979

    +

    提示信息

    -
    技术选型:
    +
    联系信息:
      -
    1. 核心框架:Spring Boot
    2. -
    3. 安全框架:Apache Shiro
    4. -
    5. 模板引擎:Thymeleaf
    6. -
    7. 持久层框架:MyBatis
    8. -
    9. 定时任务:Quartz
    10. -
    11. 数据库连接池:Druid
    12. -
    13. 其他:Lombok、Fastjson等
    14. +
    15. 技术联系:kingrom
    16. +
    17. 业务联系:kingrom
    18. +
    19. 商务联系:kingrom
    diff --git a/ak-system/src/main/resources/templates/message/notice/add.html b/opl-system/src/main/resources/templates/message/notice/add.html similarity index 100% rename from ak-system/src/main/resources/templates/message/notice/add.html rename to opl-system/src/main/resources/templates/message/notice/add.html diff --git a/ak-system/src/main/resources/templates/message/notice/edit.html b/opl-system/src/main/resources/templates/message/notice/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/message/notice/edit.html rename to opl-system/src/main/resources/templates/message/notice/edit.html diff --git a/ak-system/src/main/resources/templates/message/notice/notice.html b/opl-system/src/main/resources/templates/message/notice/notice.html similarity index 100% rename from ak-system/src/main/resources/templates/message/notice/notice.html rename to opl-system/src/main/resources/templates/message/notice/notice.html diff --git a/ak-system/src/main/resources/templates/monitor/online/online.html b/opl-system/src/main/resources/templates/monitor/online/online.html similarity index 100% rename from ak-system/src/main/resources/templates/monitor/online/online.html rename to opl-system/src/main/resources/templates/monitor/online/online.html diff --git a/ak-system/src/main/resources/templates/monitor/server/server.html b/opl-system/src/main/resources/templates/monitor/server/server.html similarity index 100% rename from ak-system/src/main/resources/templates/monitor/server/server.html rename to opl-system/src/main/resources/templates/monitor/server/server.html diff --git a/opl-system/src/main/resources/templates/operat/debit/data.html b/opl-system/src/main/resources/templates/operat/debit/data.html new file mode 100644 index 0000000000000000000000000000000000000000..bd8741aa87bb5ce3fad30bca1e4eb8ba19d2ee5f --- /dev/null +++ b/opl-system/src/main/resources/templates/operat/debit/data.html @@ -0,0 +1,142 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + + - + +
    • +
    • + 订单号: +
    • +
    • + 渠道: +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/opl-system/src/main/resources/templates/operat/loanRecon/data.html b/opl-system/src/main/resources/templates/operat/loanRecon/data.html new file mode 100644 index 0000000000000000000000000000000000000000..5dbbf1434e34a20df11b44d599525cdc1601c939 --- /dev/null +++ b/opl-system/src/main/resources/templates/operat/loanRecon/data.html @@ -0,0 +1,156 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + + - + +
    • +
    • + 订单号: +
    • +
    • + 渠道: +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/opl-system/src/main/resources/templates/operat/order/data.html b/opl-system/src/main/resources/templates/operat/order/data.html new file mode 100644 index 0000000000000000000000000000000000000000..fc76b8c0c0f7b644f57c50f659fa5aa58519abb3 --- /dev/null +++ b/opl-system/src/main/resources/templates/operat/order/data.html @@ -0,0 +1,194 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + + - + +
    • +
    • +

      渠道订单号:

      + +
    • +
    • +

      身份证号:

      + +
    • +
    • +

      手机号:

      + +
    • +
    • +

      渠道:

      + +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/opl-system/src/main/resources/templates/operat/repay/data.html b/opl-system/src/main/resources/templates/operat/repay/data.html new file mode 100644 index 0000000000000000000000000000000000000000..3061c0a1ab1b54cc379c1ab4b0e233f0a55244e3 --- /dev/null +++ b/opl-system/src/main/resources/templates/operat/repay/data.html @@ -0,0 +1,140 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + + - + +
    • +
    • +

      渠道订单号:

      + +
    • +
    • +

      订单ID:

      + +
    • +
    • +

      渠道:

      + +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/opl-system/src/main/resources/templates/operat/repayRecon/data.html b/opl-system/src/main/resources/templates/operat/repayRecon/data.html new file mode 100644 index 0000000000000000000000000000000000000000..fb2ac065c005225dc6a01167938c09be84e644dd --- /dev/null +++ b/opl-system/src/main/resources/templates/operat/repayRecon/data.html @@ -0,0 +1,156 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + + - + +
    • +
    • + 订单号: +
    • +
    • + 渠道: +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ak-system/src/main/resources/templates/system/application/add.html b/opl-system/src/main/resources/templates/system/application/add.html similarity index 83% rename from ak-system/src/main/resources/templates/system/application/add.html rename to opl-system/src/main/resources/templates/system/application/add.html index 6c4500a4c43a1d70c2207739e56efe836b9c0459..8ff9fe64c8e6ba9f1495c31eea797fe253cad806 100644 --- a/ak-system/src/main/resources/templates/system/application/add.html +++ b/opl-system/src/main/resources/templates/system/application/add.html @@ -12,16 +12,19 @@
    -
    +
    - -
    - + +
    + +
    +
    +
    +
    +
    + +
    +
    @@ -53,10 +56,9 @@
    - +
    - +
    diff --git a/ak-system/src/main/resources/templates/system/application/application.html b/opl-system/src/main/resources/templates/system/application/application.html similarity index 100% rename from ak-system/src/main/resources/templates/system/application/application.html rename to opl-system/src/main/resources/templates/system/application/application.html diff --git a/ak-system/src/main/resources/templates/system/application/edit.html b/opl-system/src/main/resources/templates/system/application/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/system/application/edit.html rename to opl-system/src/main/resources/templates/system/application/edit.html diff --git a/ak-system/src/main/resources/templates/system/config/add.html b/opl-system/src/main/resources/templates/system/config/add.html similarity index 100% rename from ak-system/src/main/resources/templates/system/config/add.html rename to opl-system/src/main/resources/templates/system/config/add.html diff --git a/ak-system/src/main/resources/templates/system/config/config.html b/opl-system/src/main/resources/templates/system/config/config.html similarity index 100% rename from ak-system/src/main/resources/templates/system/config/config.html rename to opl-system/src/main/resources/templates/system/config/config.html diff --git a/ak-system/src/main/resources/templates/system/config/edit.html b/opl-system/src/main/resources/templates/system/config/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/system/config/edit.html rename to opl-system/src/main/resources/templates/system/config/edit.html diff --git a/ak-system/src/main/resources/templates/system/datasource/add.html b/opl-system/src/main/resources/templates/system/datasource/add.html similarity index 100% rename from ak-system/src/main/resources/templates/system/datasource/add.html rename to opl-system/src/main/resources/templates/system/datasource/add.html diff --git a/ak-system/src/main/resources/templates/system/datasource/datasource.html b/opl-system/src/main/resources/templates/system/datasource/datasource.html similarity index 100% rename from ak-system/src/main/resources/templates/system/datasource/datasource.html rename to opl-system/src/main/resources/templates/system/datasource/datasource.html diff --git a/ak-system/src/main/resources/templates/system/datasource/edit.html b/opl-system/src/main/resources/templates/system/datasource/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/system/datasource/edit.html rename to opl-system/src/main/resources/templates/system/datasource/edit.html diff --git a/ak-system/src/main/resources/templates/system/datasource/setApplication.html b/opl-system/src/main/resources/templates/system/datasource/setApplication.html similarity index 100% rename from ak-system/src/main/resources/templates/system/datasource/setApplication.html rename to opl-system/src/main/resources/templates/system/datasource/setApplication.html diff --git a/ak-system/src/main/resources/templates/system/dict/data/add.html b/opl-system/src/main/resources/templates/system/dict/data/add.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/data/add.html rename to opl-system/src/main/resources/templates/system/dict/data/add.html diff --git a/ak-system/src/main/resources/templates/system/dict/data/data.html b/opl-system/src/main/resources/templates/system/dict/data/data.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/data/data.html rename to opl-system/src/main/resources/templates/system/dict/data/data.html diff --git a/ak-system/src/main/resources/templates/system/dict/data/edit.html b/opl-system/src/main/resources/templates/system/dict/data/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/data/edit.html rename to opl-system/src/main/resources/templates/system/dict/data/edit.html diff --git a/ak-system/src/main/resources/templates/system/dict/type/add.html b/opl-system/src/main/resources/templates/system/dict/type/add.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/type/add.html rename to opl-system/src/main/resources/templates/system/dict/type/add.html diff --git a/ak-system/src/main/resources/templates/system/dict/type/edit.html b/opl-system/src/main/resources/templates/system/dict/type/edit.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/type/edit.html rename to opl-system/src/main/resources/templates/system/dict/type/edit.html diff --git a/ak-system/src/main/resources/templates/system/dict/type/tree.html b/opl-system/src/main/resources/templates/system/dict/type/tree.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/type/tree.html rename to opl-system/src/main/resources/templates/system/dict/type/tree.html diff --git a/ak-system/src/main/resources/templates/system/dict/type/type.html b/opl-system/src/main/resources/templates/system/dict/type/type.html similarity index 100% rename from ak-system/src/main/resources/templates/system/dict/type/type.html rename to opl-system/src/main/resources/templates/system/dict/type/type.html diff --git a/ak-system/src/main/resources/templates/system/tenant/add.html b/opl-system/src/main/resources/templates/system/tenant/add.html similarity index 86% rename from ak-system/src/main/resources/templates/system/tenant/add.html rename to opl-system/src/main/resources/templates/system/tenant/add.html index 2f8b5d3d1ca85c26adfb04d0a4e645066463f8a6..a5ebd29612ced571ab59d3aa36bff5104f11a2eb 100644 --- a/ak-system/src/main/resources/templates/system/tenant/add.html +++ b/opl-system/src/main/resources/templates/system/tenant/add.html @@ -48,6 +48,16 @@
    +
    +
    +
    + +
    + +
    +
    +
    +
    diff --git a/ak-system/src/main/resources/templates/system/tenant/authApplication.html b/opl-system/src/main/resources/templates/system/tenant/authApplication.html similarity index 100% rename from ak-system/src/main/resources/templates/system/tenant/authApplication.html rename to opl-system/src/main/resources/templates/system/tenant/authApplication.html diff --git a/ak-system/src/main/resources/templates/system/tenant/edit.html b/opl-system/src/main/resources/templates/system/tenant/edit.html similarity index 87% rename from ak-system/src/main/resources/templates/system/tenant/edit.html rename to opl-system/src/main/resources/templates/system/tenant/edit.html index 3bda375f33029f3f5ffc215407070c8d62c1867b..d1a890bc85e88cce79ebbdbae1f0ebc8a87baf25 100644 --- a/ak-system/src/main/resources/templates/system/tenant/edit.html +++ b/opl-system/src/main/resources/templates/system/tenant/edit.html @@ -51,6 +51,16 @@
    +
    +
    +
    + +
    + +
    +
    +
    +
    diff --git a/ak-system/src/main/resources/templates/system/tenant/tenant.html b/opl-system/src/main/resources/templates/system/tenant/tenant.html similarity index 100% rename from ak-system/src/main/resources/templates/system/tenant/tenant.html rename to opl-system/src/main/resources/templates/system/tenant/tenant.html diff --git a/ak-system/src/main/resources/templates/tool/build/build.html b/opl-system/src/main/resources/templates/tool/build/build.html similarity index 100% rename from ak-system/src/main/resources/templates/tool/build/build.html rename to opl-system/src/main/resources/templates/tool/build/build.html diff --git a/pom.xml b/pom.xml index d3e1842a1ffa16a06c84f99e840d62d06c2cee2a..90aa15536df5cd515ba1b134058706e52ac9d26a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,15 +4,15 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.ak - stone - 2.0 + com.opl.framework + opl-project + 1.0.0 pom - stone - 通用后台开发平台 + opl-project + 运营平台 - 2.0 + 1.0.0 UTF-8 UTF-8 1.8 @@ -24,13 +24,17 @@ 2.3.2 2.9.2 1.2.5 - 1.2.47 + 1.2.62 3.9.1 2.5 1.3.3 1.11.3 3.17 1.7 + + 21.0 + 4.5.3 + 1.2.58 @@ -59,6 +63,12 @@ kaptcha ${kaptcha.version} + + + com.google.guava + guava + ${guava.version} + @@ -160,41 +170,53 @@ - com.ak - ak-quartz - ${stone.version} + com.opl.framework + opl-quartz + ${opl.version} - com.ak - ak-framework - ${stone.version} + com.opl.framework + opl-framework + ${opl.version} - com.ak - ak-system-api - ${stone.version} + com.opl.framework + opl-system-api + ${opl.version} - com.ak - ak-common - ${stone.version} + com.opl.framework + opl-common + ${opl.version} + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + com.alibaba + fastjson + ${fastjson.version} + - ak-system - ak-framework - ak-system-api - ak-quartz - ak-common + opl-system + opl-framework + opl-system-api + opl-quartz + opl-common diff --git a/sql/201907.sql b/sql/201907.sql index e417527615fc715431119b9bf2185a81386a1bc9..122a7580d6834bbd71548001c69b3fc723c90db0 100644 --- a/sql/201907.sql +++ b/sql/201907.sql @@ -1,629 +1,4448 @@ --- ---------------------------- --- 1、部门表 --- ---------------------------- -drop table if exists sys_dept; -create table sys_dept ( - dept_id bigint(20) not null auto_increment comment '部门id', - parent_id bigint(20) default 0 comment '父部门id', - ancestors varchar(50) default '' comment '祖级列表', - dept_name varchar(30) default '' comment '部门名称', - order_num int(4) default 0 comment '显示顺序', - leader varchar(20) default null comment '负责人', - phone varchar(11) default null comment '联系电话', - email varchar(50) default null comment '邮箱', - status char(1) default '0' comment '部门状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - primary key (dept_id) -) engine=innodb auto_increment=200 comment = '部门表'; - --- ---------------------------- --- 初始化-部门表数据 --- ---------------------------- -insert into sys_dept values(100, 0, '0', '昆仑科技', 0, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); -insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, 'vean', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); - - --- ---------------------------- --- 2、用户信息表 --- ---------------------------- -drop table if exists sys_user; -create table sys_user ( - user_id bigint(20) not null auto_increment comment '用户ID', - dept_id bigint(20) default null comment '部门ID', - login_name varchar(30) not null comment '登录账号', - user_name varchar(30) not null comment '用户昵称', - user_type varchar(2) default '00' comment '用户类型(00系统用户)', - email varchar(50) default '' comment '用户邮箱', - phonenumber varchar(11) default '' comment '手机号码', - sex char(1) default '0' comment '用户性别(0男 1女 2未知)', - avatar varchar(100) default '' comment '头像路径', - password varchar(50) default '' comment '密码', - salt varchar(20) default '' comment '盐加密', - status char(1) default '0' comment '帐号状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - login_ip varchar(50) default '' comment '最后登陆IP', - login_date datetime comment '最后登陆时间', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (user_id) -) engine=innodb auto_increment=100 comment = '用户信息表'; - --- ---------------------------- --- 初始化-用户信息表数据 --- ---------------------------- -insert into sys_user values(1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); -insert into sys_user values(2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员'); - - --- ---------------------------- --- 3、岗位信息表 --- ---------------------------- -drop table if exists sys_post; -create table sys_post -( - post_id bigint(20) not null auto_increment comment '岗位ID', - post_code varchar(64) not null comment '岗位编码', - post_name varchar(50) not null comment '岗位名称', - post_sort int(4) not null comment '显示顺序', - status char(1) not null comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (post_id) -) engine=innodb comment = '岗位信息表'; - --- ---------------------------- --- 初始化-岗位信息表数据 --- ---------------------------- -insert into sys_post values(1, 'ceo', '董事长', 1, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_post values(2, 'se', '项目经理', 2, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_post values(3, 'hr', '人力资源', 3, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_post values(4, 'user', '普通员工', 4, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); - - --- ---------------------------- --- 4、角色信息表 --- ---------------------------- -drop table if exists sys_role; -create table sys_role ( - role_id bigint(20) not null auto_increment comment '角色ID', - role_name varchar(30) not null comment '角色名称', - role_key varchar(100) not null comment '角色权限字符串', - role_sort int(4) not null comment '显示顺序', - data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', - status char(1) not null comment '角色状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (role_id) -) engine=innodb auto_increment=100 comment = '角色信息表'; - --- ---------------------------- --- 初始化-角色信息表数据 --- ---------------------------- -insert into sys_role values('1', '管理员', 'admin', 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); -insert into sys_role values('2', '普通角色', 'common', 2, 2, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '普通角色'); - - --- ---------------------------- --- 5、菜单权限表 --- ---------------------------- -drop table if exists sys_menu; -create table sys_menu ( - menu_id bigint(20) not null auto_increment comment '菜单ID', - menu_name varchar(50) not null comment '菜单名称', - parent_id bigint(20) default 0 comment '父菜单ID', - order_num int(4) default 0 comment '显示顺序', - url varchar(200) default '#' comment '请求地址', - target varchar(20) default '' comment '打开方式(menuItem页签 menuBlank新窗口)', - menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)', - visible char(1) default 0 comment '菜单状态(0显示 1隐藏)', - perms varchar(100) default null comment '权限标识', - icon varchar(100) default '#' comment '菜单图标', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default '' comment '备注', - primary key (menu_id) -) engine=innodb auto_increment=2000 comment = '菜单权限表'; - --- ---------------------------- --- 初始化-菜单信息表数据 --- ---------------------------- --- 一级菜单 -insert into sys_menu values('1', '系统管理', '0', '1', '#', '', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统管理目录'); -insert into sys_menu values('2', '系统监控', '0', '2', '#', '', 'M', '0', '', 'fa fa-video-camera', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统监控目录'); -insert into sys_menu values('3', '系统工具', '0', '3', '#', '', 'M', '0', '', 'fa fa-bars', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统工具目录'); --- 二级菜单 -insert into sys_menu values('100', '用户管理', '1', '1', '/system/user', '', 'C', '0', 'system:user:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '用户管理菜单'); -insert into sys_menu values('101', '角色管理', '1', '2', '/system/role', '', 'C', '0', 'system:role:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '角色管理菜单'); -insert into sys_menu values('102', '菜单管理', '1', '3', '/system/menu', '', 'C', '0', 'system:menu:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '菜单管理菜单'); -insert into sys_menu values('103', '部门管理', '1', '4', '/system/dept', '', 'C', '0', 'system:dept:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '部门管理菜单'); -insert into sys_menu values('104', '岗位管理', '1', '5', '/system/post', '', 'C', '0', 'system:post:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '岗位管理菜单'); -insert into sys_menu values('105', '字典管理', '1', '6', '/system/dict', '', 'C', '0', 'system:dict:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '字典管理菜单'); -insert into sys_menu values('106', '参数设置', '1', '7', '/system/config', '', 'C', '0', 'system:config:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '参数设置菜单'); -insert into sys_menu values('107', '通知公告', '1', '8', '/system/notice', '', 'C', '0', 'system:notice:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知公告菜单'); -insert into sys_menu values('108', '日志管理', '1', '9', '#', '', 'M', '0', '', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '日志管理菜单'); -insert into sys_menu values('109', '在线用户', '2', '1', '/monitor/online', '', 'C', '0', 'monitor:online:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '在线用户菜单'); -insert into sys_menu values('110', '定时任务', '2', '2', '/monitor/job', '', 'C', '0', 'monitor:job:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '定时任务菜单'); -insert into sys_menu values('111', '数据监控', '2', '3', '/monitor/data', '', 'C', '0', 'monitor:data:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '数据监控菜单'); -insert into sys_menu values('112', '服务监控', '2', '3', '/monitor/server', '', 'C', '0', 'monitor:server:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '服务监控菜单'); -insert into sys_menu values('113', '表单构建', '3', '1', '/tool/build', '', 'C', '0', 'tool:build:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '表单构建菜单'); -insert into sys_menu values('114', '代码生成', '3', '2', '/tool/gen', '', 'C', '0', 'tool:gen:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '代码生成菜单'); -insert into sys_menu values('115', '系统接口', '3', '3', '/tool/swagger', '', 'C', '0', 'tool:swagger:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统接口菜单'); --- 三级菜单 -insert into sys_menu values('500', '操作日志', '108', '1', '/monitor/operlog', '', 'C', '0', 'monitor:operlog:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '操作日志菜单'); -insert into sys_menu values('501', '登录日志', '108', '2', '/monitor/logininfor', '', 'C', '0', 'monitor:logininfor:view', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '登录日志菜单'); --- 用户管理按钮 -insert into sys_menu values('1000', '用户查询', '100', '1', '#', '', 'F', '0', 'system:user:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1001', '用户新增', '100', '2', '#', '', 'F', '0', 'system:user:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1002', '用户修改', '100', '3', '#', '', 'F', '0', 'system:user:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1003', '用户删除', '100', '4', '#', '', 'F', '0', 'system:user:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1004', '用户导出', '100', '5', '#', '', 'F', '0', 'system:user:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1005', '用户导入', '100', '6', '#', '', 'F', '0', 'system:user:import', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1006', '重置密码', '100', '7', '#', '', 'F', '0', 'system:user:resetPwd', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 角色管理按钮 -insert into sys_menu values('1007', '角色查询', '101', '1', '#', '', 'F', '0', 'system:role:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1008', '角色新增', '101', '2', '#', '', 'F', '0', 'system:role:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1009', '角色修改', '101', '3', '#', '', 'F', '0', 'system:role:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1010', '角色删除', '101', '4', '#', '', 'F', '0', 'system:role:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1011', '角色导出', '101', '5', '#', '', 'F', '0', 'system:role:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 菜单管理按钮 -insert into sys_menu values('1012', '菜单查询', '102', '1', '#', '', 'F', '0', 'system:menu:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1013', '菜单新增', '102', '2', '#', '', 'F', '0', 'system:menu:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1014', '菜单修改', '102', '3', '#', '', 'F', '0', 'system:menu:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1015', '菜单删除', '102', '4', '#', '', 'F', '0', 'system:menu:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 部门管理按钮 -insert into sys_menu values('1016', '部门查询', '103', '1', '#', '', 'F', '0', 'system:dept:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1017', '部门新增', '103', '2', '#', '', 'F', '0', 'system:dept:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1018', '部门修改', '103', '3', '#', '', 'F', '0', 'system:dept:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1019', '部门删除', '103', '4', '#', '', 'F', '0', 'system:dept:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 岗位管理按钮 -insert into sys_menu values('1020', '岗位查询', '104', '1', '#', '', 'F', '0', 'system:post:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1021', '岗位新增', '104', '2', '#', '', 'F', '0', 'system:post:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1022', '岗位修改', '104', '3', '#', '', 'F', '0', 'system:post:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1023', '岗位删除', '104', '4', '#', '', 'F', '0', 'system:post:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1024', '岗位导出', '104', '5', '#', '', 'F', '0', 'system:post:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 字典管理按钮 -insert into sys_menu values('1025', '字典查询', '105', '1', '#', '', 'F', '0', 'system:dict:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1026', '字典新增', '105', '2', '#', '', 'F', '0', 'system:dict:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1027', '字典修改', '105', '3', '#', '', 'F', '0', 'system:dict:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1028', '字典删除', '105', '4', '#', '', 'F', '0', 'system:dict:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1029', '字典导出', '105', '5', '#', '', 'F', '0', 'system:dict:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 参数设置按钮 -insert into sys_menu values('1030', '参数查询', '106', '1', '#', '', 'F', '0', 'system:config:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1031', '参数新增', '106', '2', '#', '', 'F', '0', 'system:config:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1032', '参数修改', '106', '3', '#', '', 'F', '0', 'system:config:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1033', '参数删除', '106', '4', '#', '', 'F', '0', 'system:config:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1034', '参数导出', '106', '5', '#', '', 'F', '0', 'system:config:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 通知公告按钮 -insert into sys_menu values('1035', '公告查询', '107', '1', '#', '', 'F', '0', 'system:notice:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1036', '公告新增', '107', '2', '#', '', 'F', '0', 'system:notice:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1037', '公告修改', '107', '3', '#', '', 'F', '0', 'system:notice:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1038', '公告删除', '107', '4', '#', '', 'F', '0', 'system:notice:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 操作日志按钮 -insert into sys_menu values('1039', '操作查询', '500', '1', '#', '', 'F', '0', 'monitor:operlog:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1040', '操作删除', '500', '2', '#', '', 'F', '0', 'monitor:operlog:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1041', '详细信息', '500', '3', '#', '', 'F', '0', 'monitor:operlog:detail', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', 'F', '0', 'monitor:operlog:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 登录日志按钮 -insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', 'F', '0', 'monitor:logininfor:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', 'F', '0', 'monitor:logininfor:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', 'F', '0', 'monitor:logininfor:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 在线用户按钮 -insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', 'F', '0', 'monitor:online:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', 'F', '0', 'monitor:online:batchForceLogout', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', 'F', '0', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); --- 定时任务按钮 -insert into sys_menu values('1049', '任务查询', '110', '1', '#', '', 'F', '0', 'monitor:job:list', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1050', '任务新增', '110', '2', '#', '', 'F', '0', 'monitor:job:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1051', '任务修改', '110', '3', '#', '', 'F', '0', 'monitor:job:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1052', '任务删除', '110', '4', '#', '', 'F', '0', 'monitor:job:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1053', '状态修改', '110', '5', '#', '', 'F', '0', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1054', '任务详细', '110', '6', '#', '', 'F', '0', 'monitor:job:detail', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_menu values('1055', '任务导出', '110', '7', '#', '', 'F', '0', 'monitor:job:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); - --- ---------------------------- --- 6、用户和角色关联表 用户N-1角色 --- ---------------------------- -drop table if exists sys_user_role; -create table sys_user_role ( - user_id bigint(20) not null comment '用户ID', - role_id bigint(20) not null comment '角色ID', - primary key(user_id, role_id) -) engine=innodb comment = '用户和角色关联表'; - --- ---------------------------- --- 初始化-用户和角色关联表数据 --- ---------------------------- -insert into sys_user_role values ('1', '1'); -insert into sys_user_role values ('2', '2'); - - --- ---------------------------- --- 7、角色和菜单关联表 角色1-N菜单 --- ---------------------------- -drop table if exists sys_role_menu; -create table sys_role_menu ( - role_id bigint(20) not null comment '角色ID', - menu_id bigint(20) not null comment '菜单ID', - primary key(role_id, menu_id) -) engine=innodb comment = '角色和菜单关联表'; - --- ---------------------------- --- 初始化-角色和菜单关联表数据 --- ---------------------------- -insert into sys_role_menu values ('2', '1'); -insert into sys_role_menu values ('2', '2'); -insert into sys_role_menu values ('2', '3'); -insert into sys_role_menu values ('2', '100'); -insert into sys_role_menu values ('2', '101'); -insert into sys_role_menu values ('2', '102'); -insert into sys_role_menu values ('2', '103'); -insert into sys_role_menu values ('2', '104'); -insert into sys_role_menu values ('2', '105'); -insert into sys_role_menu values ('2', '106'); -insert into sys_role_menu values ('2', '107'); -insert into sys_role_menu values ('2', '108'); -insert into sys_role_menu values ('2', '109'); -insert into sys_role_menu values ('2', '110'); -insert into sys_role_menu values ('2', '111'); -insert into sys_role_menu values ('2', '112'); -insert into sys_role_menu values ('2', '113'); -insert into sys_role_menu values ('2', '114'); -insert into sys_role_menu values ('2', '115'); -insert into sys_role_menu values ('2', '500'); -insert into sys_role_menu values ('2', '501'); -insert into sys_role_menu values ('2', '1000'); -insert into sys_role_menu values ('2', '1001'); -insert into sys_role_menu values ('2', '1002'); -insert into sys_role_menu values ('2', '1003'); -insert into sys_role_menu values ('2', '1004'); -insert into sys_role_menu values ('2', '1005'); -insert into sys_role_menu values ('2', '1006'); -insert into sys_role_menu values ('2', '1007'); -insert into sys_role_menu values ('2', '1008'); -insert into sys_role_menu values ('2', '1009'); -insert into sys_role_menu values ('2', '1010'); -insert into sys_role_menu values ('2', '1011'); -insert into sys_role_menu values ('2', '1012'); -insert into sys_role_menu values ('2', '1013'); -insert into sys_role_menu values ('2', '1014'); -insert into sys_role_menu values ('2', '1015'); -insert into sys_role_menu values ('2', '1016'); -insert into sys_role_menu values ('2', '1017'); -insert into sys_role_menu values ('2', '1018'); -insert into sys_role_menu values ('2', '1019'); -insert into sys_role_menu values ('2', '1020'); -insert into sys_role_menu values ('2', '1021'); -insert into sys_role_menu values ('2', '1022'); -insert into sys_role_menu values ('2', '1023'); -insert into sys_role_menu values ('2', '1024'); -insert into sys_role_menu values ('2', '1025'); -insert into sys_role_menu values ('2', '1026'); -insert into sys_role_menu values ('2', '1027'); -insert into sys_role_menu values ('2', '1028'); -insert into sys_role_menu values ('2', '1029'); -insert into sys_role_menu values ('2', '1030'); -insert into sys_role_menu values ('2', '1031'); -insert into sys_role_menu values ('2', '1032'); -insert into sys_role_menu values ('2', '1033'); -insert into sys_role_menu values ('2', '1034'); -insert into sys_role_menu values ('2', '1035'); -insert into sys_role_menu values ('2', '1036'); -insert into sys_role_menu values ('2', '1037'); -insert into sys_role_menu values ('2', '1038'); -insert into sys_role_menu values ('2', '1039'); -insert into sys_role_menu values ('2', '1040'); -insert into sys_role_menu values ('2', '1041'); -insert into sys_role_menu values ('2', '1042'); -insert into sys_role_menu values ('2', '1043'); -insert into sys_role_menu values ('2', '1044'); -insert into sys_role_menu values ('2', '1045'); -insert into sys_role_menu values ('2', '1046'); -insert into sys_role_menu values ('2', '1047'); -insert into sys_role_menu values ('2', '1048'); -insert into sys_role_menu values ('2', '1049'); -insert into sys_role_menu values ('2', '1050'); -insert into sys_role_menu values ('2', '1051'); -insert into sys_role_menu values ('2', '1052'); -insert into sys_role_menu values ('2', '1053'); -insert into sys_role_menu values ('2', '1054'); -insert into sys_role_menu values ('2', '1055'); -insert into sys_role_menu values ('2', '1056'); -insert into sys_role_menu values ('2', '1057'); -insert into sys_role_menu values ('2', '1058'); -insert into sys_role_menu values ('2', '1059'); -insert into sys_role_menu values ('2', '1060'); - --- ---------------------------- --- 8、角色和部门关联表 角色1-N部门 --- ---------------------------- -drop table if exists sys_role_dept; -create table sys_role_dept ( - role_id bigint(20) not null comment '角色ID', - dept_id bigint(20) not null comment '部门ID', - primary key(role_id, dept_id) -) engine=innodb comment = '角色和部门关联表'; - --- ---------------------------- --- 初始化-角色和部门关联表数据 --- ---------------------------- -insert into sys_role_dept values ('2', '100'); -insert into sys_role_dept values ('2', '101'); -insert into sys_role_dept values ('2', '105'); - --- ---------------------------- --- 9、用户与岗位关联表 用户1-N岗位 --- ---------------------------- -drop table if exists sys_user_post; -create table sys_user_post -( - user_id bigint(20) not null comment '用户ID', - post_id bigint(20) not null comment '岗位ID', - primary key (user_id, post_id) -) engine=innodb comment = '用户与岗位关联表'; - --- ---------------------------- --- 初始化-用户与岗位关联表数据 --- ---------------------------- -insert into sys_user_post values ('1', '1'); -insert into sys_user_post values ('2', '2'); - - --- ---------------------------- --- 10、操作日志记录 --- ---------------------------- -drop table if exists sys_oper_log; -create table sys_oper_log ( - oper_id bigint(20) not null auto_increment comment '日志主键', - title varchar(50) default '' comment '模块标题', - business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)', - method varchar(100) default '' comment '方法名称', - request_method varchar(10) default '' comment '请求方式', - operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)', - oper_name varchar(50) default '' comment '操作人员', - dept_name varchar(50) default '' comment '部门名称', - oper_url varchar(255) default '' comment '请求URL', - oper_ip varchar(50) default '' comment '主机地址', - oper_location varchar(255) default '' comment '操作地点', - oper_param varchar(2000) default '' comment '请求参数', - status int(1) default 0 comment '操作状态(0正常 1异常)', - error_msg varchar(2000) default '' comment '错误消息', - oper_time datetime comment '操作时间', - primary key (oper_id) -) engine=innodb auto_increment=100 comment = '操作日志记录'; - - --- ---------------------------- --- 11、字典类型表 --- ---------------------------- -drop table if exists sys_dict_type; -create table sys_dict_type -( - dict_id bigint(20) not null auto_increment comment '字典主键', - dict_name varchar(100) default '' comment '字典名称', - dict_type varchar(100) default '' comment '字典类型', - status char(1) default '0' comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (dict_id), - unique (dict_type) -) engine=innodb auto_increment=100 comment = '字典类型表'; - -insert into sys_dict_type values(1, '用户性别', 'sys_user_sex', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '用户性别列表'); -insert into sys_dict_type values(2, '菜单状态', 'sys_show_hide', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '菜单状态列表'); -insert into sys_dict_type values(3, '系统开关', 'sys_normal_disable', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统开关列表'); -insert into sys_dict_type values(4, '任务状态', 'sys_job_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '任务状态列表'); -insert into sys_dict_type values(5, '任务分组', 'sys_job_group', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '任务分组列表'); -insert into sys_dict_type values(6, '系统是否', 'sys_yes_no', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统是否列表'); -insert into sys_dict_type values(7, '通知类型', 'sys_notice_type', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知类型列表'); -insert into sys_dict_type values(8, '通知状态', 'sys_notice_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知状态列表'); -insert into sys_dict_type values(9, '操作类型', 'sys_oper_type', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '操作类型列表'); -insert into sys_dict_type values(10, '系统状态', 'sys_common_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '登录状态列表'); - - --- ---------------------------- --- 12、字典数据表 --- ---------------------------- -drop table if exists sys_dict_data; -create table sys_dict_data -( - dict_code bigint(20) not null auto_increment comment '字典编码', - dict_sort int(4) default 0 comment '字典排序', - dict_label varchar(100) default '' comment '字典标签', - dict_value varchar(100) default '' comment '字典键值', - dict_type varchar(100) default '' comment '字典类型', - css_class varchar(100) default null comment '样式属性(其他样式扩展)', - list_class varchar(100) default null comment '表格回显样式', - is_default char(1) default 'N' comment '是否默认(Y是 N否)', - status char(1) default '0' comment '状态(0正常 1停用)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (dict_code) -) engine=innodb auto_increment=100 comment = '字典数据表'; - -insert into sys_dict_data values(1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别男'); -insert into sys_dict_data values(2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别女'); -insert into sys_dict_data values(3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别未知'); -insert into sys_dict_data values(4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '显示菜单'); -insert into sys_dict_data values(5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '隐藏菜单'); -insert into sys_dict_data values(6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态'); -insert into sys_dict_data values(7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态'); -insert into sys_dict_data values(8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态'); -insert into sys_dict_data values(9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态'); -insert into sys_dict_data values(10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '默认分组'); -insert into sys_dict_data values(11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统分组'); -insert into sys_dict_data values(12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统默认是'); -insert into sys_dict_data values(13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统默认否'); -insert into sys_dict_data values(14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知'); -insert into sys_dict_data values(15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '公告'); -insert into sys_dict_data values(16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态'); -insert into sys_dict_data values(17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '关闭状态'); -insert into sys_dict_data values(18, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '新增操作'); -insert into sys_dict_data values(19, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '修改操作'); -insert into sys_dict_data values(20, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '删除操作'); -insert into sys_dict_data values(21, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '授权操作'); -insert into sys_dict_data values(22, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '导出操作'); -insert into sys_dict_data values(23, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '导入操作'); -insert into sys_dict_data values(24, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '强退操作'); -insert into sys_dict_data values(25, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '生成操作'); -insert into sys_dict_data values(26, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '清空操作'); -insert into sys_dict_data values(27, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态'); -insert into sys_dict_data values(28, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态'); - - --- ---------------------------- --- 13、参数配置表 --- ---------------------------- -drop table if exists sys_config; -create table sys_config ( - config_id int(5) not null auto_increment comment '参数主键', - config_name varchar(100) default '' comment '参数名称', - config_key varchar(100) default '' comment '参数键名', - config_value varchar(500) default '' comment '参数键值', - config_type char(1) default 'N' comment '系统内置(Y是 N否)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default null comment '备注', - primary key (config_id) -) engine=innodb auto_increment=100 comment = '参数配置表'; - -insert into sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' ); -insert into sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '初始化密码 123456' ); -insert into sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '深色主题theme-dark,浅色主题theme-light' ); - - --- ---------------------------- --- 14、系统访问记录 --- ---------------------------- -drop table if exists sys_logininfor; -create table sys_logininfor ( - info_id bigint(20) not null auto_increment comment '访问ID', - login_name varchar(50) default '' comment '登录账号', - ipaddr varchar(50) default '' comment '登录IP地址', - login_location varchar(255) default '' comment '登录地点', - browser varchar(50) default '' comment '浏览器类型', - os varchar(50) default '' comment '操作系统', - status char(1) default '0' comment '登录状态(0成功 1失败)', - msg varchar(255) default '' comment '提示消息', - login_time datetime comment '访问时间', - primary key (info_id) -) engine=innodb auto_increment=100 comment = '系统访问记录'; - - --- ---------------------------- --- 15、在线用户记录 --- ---------------------------- -drop table if exists sys_user_online; -create table sys_user_online ( - sessionId varchar(50) default '' comment '用户会话id', - login_name varchar(50) default '' comment '登录账号', - dept_name varchar(50) default '' comment '部门名称', - ipaddr varchar(50) default '' comment '登录IP地址', - login_location varchar(255) default '' comment '登录地点', - browser varchar(50) default '' comment '浏览器类型', - os varchar(50) default '' comment '操作系统', - status varchar(10) default '' comment '在线状态on_line在线off_line离线', - start_timestamp datetime comment 'session创建时间', - last_access_time datetime comment 'session最后访问时间', - expire_time int(5) default 0 comment '超时时间,单位为分钟', - primary key (sessionId) -) engine=innodb comment = '在线用户记录'; - - --- ---------------------------- --- 16、定时任务调度表 --- ---------------------------- -drop table if exists sys_job; -create table sys_job ( - job_id bigint(20) not null auto_increment comment '任务ID', - job_name varchar(64) default '' comment '任务名称', - job_group varchar(64) default 'DEFAULT' comment '任务组名', - invoke_target varchar(500) not null comment '调用目标字符串', - cron_expression varchar(255) default '' comment 'cron执行表达式', - misfire_policy varchar(20) default '3' comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', - concurrent char(1) default '1' comment '是否并发执行(0允许 1禁止)', - status char(1) default '0' comment '状态(0正常 1暂停)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(500) default '' comment '备注信息', - primary key (job_id, job_name, job_group) -) engine=innodb auto_increment=100 comment = '定时任务调度表'; - -insert into sys_job values(1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); -insert into sys_job values(3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', ''); - - --- ---------------------------- --- 17、定时任务调度日志表 --- ---------------------------- -drop table if exists sys_job_log; -create table sys_job_log ( - job_log_id bigint(20) not null auto_increment comment '任务日志ID', - job_name varchar(64) not null comment '任务名称', - job_group varchar(64) not null comment '任务组名', - invoke_target varchar(500) not null comment '调用目标字符串', - job_message varchar(500) comment '日志信息', - status char(1) default '0' comment '执行状态(0正常 1失败)', - exception_info varchar(2000) default '' comment '异常信息', - create_time datetime comment '创建时间', - primary key (job_log_id) -) engine=innodb comment = '定时任务调度日志表'; - - --- ---------------------------- --- 18、通知公告表 --- ---------------------------- -drop table if exists sys_notice; -create table sys_notice ( - notice_id int(4) not null auto_increment comment '公告ID', - notice_title varchar(50) not null comment '公告标题', - notice_type char(1) not null comment '公告类型(1通知 2公告)', - notice_content varchar(2000) default null comment '公告内容', - status char(1) default '0' comment '公告状态(0正常 1关闭)', - create_by varchar(64) default '' comment '创建者', - create_time datetime comment '创建时间', - update_by varchar(64) default '' comment '更新者', - update_time datetime comment '更新时间', - remark varchar(255) default null comment '备注', - primary key (notice_id) -) engine=innodb auto_increment=10 comment = '通知公告表'; - --- ---------------------------- --- 初始化-公告信息表数据 --- ---------------------------- -insert into sys_notice values('1', '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); -insert into sys_notice values('2', '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); \ No newline at end of file +-- -------------------------------------------------------- +-- 主机: 192.168.1.64 +-- 服务器版本: 10.2.12-MariaDB-log - MariaDB Server +-- 服务器OS: Linux +-- HeidiSQL 版本: 10.2.0.5599 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; + + +-- Dumping database structure for opl2 +DROP DATABASE IF EXISTS `opl2`; +CREATE DATABASE IF NOT EXISTS `opl2` /*!40100 DEFAULT CHARACTER SET utf8 */; +USE `opl2`; + +-- Dumping structure for table opl2.qrtz_blob_triggers +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_blob_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `blob_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_blob_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_blob_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_blob_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_calendars +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE IF NOT EXISTS `qrtz_calendars` ( + `sched_name` varchar(120) NOT NULL, + `calendar_name` varchar(200) NOT NULL, + `calendar` blob NOT NULL, + PRIMARY KEY (`sched_name`,`calendar_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_calendars: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_calendars` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_calendars` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_cron_triggers +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_cron_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `cron_expression` varchar(200) NOT NULL, + `time_zone_id` varchar(80) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_cron_triggers: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_cron_triggers` DISABLE KEYS */; +INSERT INTO `qrtz_cron_triggers` (`sched_name`, `trigger_name`, `trigger_group`, `cron_expression`, `time_zone_id`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai'), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', '0/15 * * * * ?', 'Asia/Shanghai'), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', '0/20 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', '0/15 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', '0/20 * * * * ?', 'Asia/Shanghai'); +/*!40000 ALTER TABLE `qrtz_cron_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_fired_triggers +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_fired_triggers` ( + `sched_name` varchar(120) NOT NULL, + `entry_id` varchar(95) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `instance_name` varchar(200) NOT NULL, + `fired_time` bigint(13) NOT NULL, + `sched_time` bigint(13) NOT NULL, + `priority` int(11) NOT NULL, + `state` varchar(16) NOT NULL, + `job_name` varchar(200) DEFAULT NULL, + `job_group` varchar(200) DEFAULT NULL, + `is_nonconcurrent` varchar(1) DEFAULT NULL, + `requests_recovery` varchar(1) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`entry_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_fired_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_fired_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_fired_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_job_details +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE IF NOT EXISTS `qrtz_job_details` ( + `sched_name` varchar(120) NOT NULL, + `job_name` varchar(200) NOT NULL, + `job_group` varchar(200) NOT NULL, + `description` varchar(250) DEFAULT NULL, + `job_class_name` varchar(250) NOT NULL, + `is_durable` varchar(1) NOT NULL, + `is_nonconcurrent` varchar(1) NOT NULL, + `is_update_data` varchar(1) NOT NULL, + `requests_recovery` varchar(1) NOT NULL, + `job_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_job_details: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_job_details` DISABLE KEYS */; +INSERT INTO `qrtz_job_details` (`sched_name`, `job_name`, `job_group`, `description`, `job_class_name`, `is_durable`, `is_nonconcurrent`, `is_update_data`, `requests_recovery`, `job_data`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3130202A202A202A202A203F7400116D795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3135202A202A202A202A203F7400156D795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3230202A202A202A202A203F7400386D795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3130202A202A202A202A203F7400116D795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3135202A202A202A202A203F7400156D795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3230202A202A202A202A203F7400386D795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800); +/*!40000 ALTER TABLE `qrtz_job_details` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_locks +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE IF NOT EXISTS `qrtz_locks` ( + `sched_name` varchar(120) NOT NULL, + `lock_name` varchar(40) NOT NULL, + PRIMARY KEY (`sched_name`,`lock_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_locks: ~4 rows (大约) +/*!40000 ALTER TABLE `qrtz_locks` DISABLE KEYS */; +INSERT INTO `qrtz_locks` (`sched_name`, `lock_name`) VALUES + ('AKScheduler', 'STATE_ACCESS'), + ('AKScheduler', 'TRIGGER_ACCESS'), + ('OPL-Scheduler', 'STATE_ACCESS'), + ('OPL-Scheduler', 'TRIGGER_ACCESS'); +/*!40000 ALTER TABLE `qrtz_locks` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_paused_trigger_grps +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE IF NOT EXISTS `qrtz_paused_trigger_grps` ( + `sched_name` varchar(120) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_paused_trigger_grps: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_paused_trigger_grps` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_paused_trigger_grps` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_scheduler_state +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE IF NOT EXISTS `qrtz_scheduler_state` ( + `sched_name` varchar(120) NOT NULL, + `instance_name` varchar(200) NOT NULL, + `last_checkin_time` bigint(13) NOT NULL, + `checkin_interval` bigint(13) NOT NULL, + PRIMARY KEY (`sched_name`,`instance_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_scheduler_state: ~2 rows (大约) +/*!40000 ALTER TABLE `qrtz_scheduler_state` DISABLE KEYS */; +INSERT INTO `qrtz_scheduler_state` (`sched_name`, `instance_name`, `last_checkin_time`, `checkin_interval`) VALUES + ('AKScheduler', 'QL-02-01981570776698727', 1570776717264, 15000), + ('OPL-Scheduler', 'QL-02-01981570791858642', 1570792224734, 15000); +/*!40000 ALTER TABLE `qrtz_scheduler_state` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_simple_triggers +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_simple_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `repeat_count` bigint(7) NOT NULL, + `repeat_interval` bigint(12) NOT NULL, + `times_triggered` bigint(10) NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_simple_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_simple_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_simple_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_simprop_triggers +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_simprop_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `str_prop_1` varchar(512) DEFAULT NULL, + `str_prop_2` varchar(512) DEFAULT NULL, + `str_prop_3` varchar(512) DEFAULT NULL, + `int_prop_1` int(11) DEFAULT NULL, + `int_prop_2` int(11) DEFAULT NULL, + `long_prop_1` bigint(20) DEFAULT NULL, + `long_prop_2` bigint(20) DEFAULT NULL, + `dec_prop_1` decimal(13,4) DEFAULT NULL, + `dec_prop_2` decimal(13,4) DEFAULT NULL, + `bool_prop_1` varchar(1) DEFAULT NULL, + `bool_prop_2` varchar(1) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_simprop_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_simprop_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_simprop_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_triggers +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `job_name` varchar(200) NOT NULL, + `job_group` varchar(200) NOT NULL, + `description` varchar(250) DEFAULT NULL, + `next_fire_time` bigint(13) DEFAULT NULL, + `prev_fire_time` bigint(13) DEFAULT NULL, + `priority` int(11) DEFAULT NULL, + `trigger_state` varchar(16) NOT NULL, + `trigger_type` varchar(8) NOT NULL, + `start_time` bigint(13) NOT NULL, + `end_time` bigint(13) DEFAULT NULL, + `calendar_name` varchar(200) DEFAULT NULL, + `misfire_instr` smallint(2) DEFAULT NULL, + `job_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `sched_name` (`sched_name`,`job_name`,`job_group`) USING BTREE, + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_triggers: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_triggers` DISABLE KEYS */; +INSERT INTO `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`, `job_name`, `job_group`, `description`, `next_fire_time`, `prev_fire_time`, `priority`, `trigger_state`, `trigger_type`, `start_time`, `end_time`, `calendar_name`, `misfire_instr`, `job_data`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1570776700000, -1, 5, 'PAUSED', 'CRON', 1570776698000, 0, NULL, 2, _binary ''), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1570776705000, -1, 5, 'PAUSED', 'CRON', 1570776699000, 0, NULL, 2, _binary ''), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1570776700000, -1, 5, 'PAUSED', 'CRON', 1570776699000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1570791860000, -1, 5, 'PAUSED', 'CRON', 1570791859000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1570791870000, -1, 5, 'PAUSED', 'CRON', 1570791860000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1570791860000, -1, 5, 'PAUSED', 'CRON', 1570791860000, 0, NULL, 2, _binary ''); +/*!40000 ALTER TABLE `qrtz_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_application +DROP TABLE IF EXISTS `sys_application`; +CREATE TABLE IF NOT EXISTS `sys_application` ( + `app_code` varchar(16) NOT NULL COMMENT '应用编号', + `app_name` varchar(64) NOT NULL COMMENT '名称', + `app_uri` varchar(255) NOT NULL COMMENT '应用访问地址', + `app_type` char(1) NOT NULL DEFAULT '1' COMMENT '类型(0:内置子系统;1:租户子系统)', + `app_address` varchar(255) NOT NULL DEFAULT '' COMMENT '应用部署地址', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '在线状态(0在线 1离线)', + `sort` int(11) DEFAULT NULL COMMENT '排序(升序)', + `remark` varchar(255) DEFAULT '' COMMENT '备注信息', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0代表存在 2代表删除)', + PRIMARY KEY (`app_code`) USING BTREE, + UNIQUE KEY `UNIQUE_APP_CODE` (`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='应用监控表'; + +-- Dumping data for table opl2.sys_application: ~9 rows (大约) +/*!40000 ALTER TABLE `sys_application` DISABLE KEYS */; +INSERT INTO `sys_application` (`app_code`, `app_name`, `app_uri`, `app_type`, `app_address`, `status`, `sort`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES + ('PlatformMonitor', '统一监控子系统', 'localhost', '0', '', '0', 1, '', 'admin', '2019-08-02 15:00:43', 'admin', '2019-08-02 15:01:17', '0'), + ('PlatformQuartz', '任务调度子系统', 'localhost', '0', '', '0', 2, '', 'admin', '2019-08-02 15:10:11', 'admin', '2019-10-11 11:34:37', '0'), + ('PlatformTenant', '租户平台管理', 'localhost', '0', '', '0', 0, '', 'admin', '2019-07-26 14:24:48', 'admin', '2019-10-11 15:51:37', '0'), + ('TanantOperat', '运营平台子系统', 'localhost', '1', '', '0', 4, '', 'admin\r\n', '2019-10-11 11:14:47', 'admin', '2019-10-11 11:14:53', '0'), + ('TenantApi', '平台开放接口', 'localhost', '1', '', '0', 5, '', 'admin', '2019-08-02 15:11:00', 'admin', '2019-08-02 15:49:41', '0'), + ('TenantBasedate', '基础数据子系统', 'localhost', '1', '', '0', 3, '', 'admin', '2019-07-26 15:00:16', 'admin', '2019-10-11 15:51:12', '0'), + ('TenantConfig', '运营配置子系统', 'localhost', '1', '', '0', 5, '', 'admin', '2019-10-11 11:34:23', 'admin', '2019-10-11 11:34:38', '0'), + ('TenantLog', '日志查询子系统', 'locahost', '1', '', '0', 8, '', 'admin', '2019-07-30 10:55:43', 'admin', '2019-10-11 11:34:39', '0'), + ('TenantMessage', '消息中心子系统', 'localhost', '1', '', '0', 7, '', 'admin', '2019-07-30 10:38:24', 'admin', '2019-10-11 11:34:40', '0'); +/*!40000 ALTER TABLE `sys_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_config +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE IF NOT EXISTS `sys_config` ( + `config_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(32) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(32) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(32) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) USING BTREE, + UNIQUE KEY `UNIQUE_CONFIG_KEY` (`config_key`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='参数配置表'; + +-- Dumping data for table opl2.sys_config: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_config` DISABLE KEYS */; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-yellow', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 10:59:36', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'), + (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '初始化密码 123456'), + (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 10:59:55', '深色主题theme-dark,浅色主题theme-light'); +/*!40000 ALTER TABLE `sys_config` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_datasource +DROP TABLE IF EXISTS `sys_datasource`; +CREATE TABLE IF NOT EXISTS `sys_datasource` ( + `datasource_code` varchar(16) NOT NULL COMMENT '数据源编码', + `database_ip` varchar(16) NOT NULL COMMENT '数据库IP地址', + `database_port` varchar(8) NOT NULL COMMENT '数据库端口', + `database_driver_class_name` varchar(128) NOT NULL COMMENT '驱动类', + `database_name` varchar(64) NOT NULL COMMENT '数据库名称', + `database_username` varchar(64) NOT NULL COMMENT '数据库用户名', + `database_password` varchar(64) NOT NULL COMMENT '数据库密码', + `database_flag` char(1) NOT NULL DEFAULT '0' COMMENT '数据库标识,留给今后做读写分离用,默认0(0:读写库;1:写库:2:读库)', + `tenant_code` varchar(16) NOT NULL COMMENT '租户编码', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '是否删除(0代表存在 2代表删除)', + `remark` varchar(255) DEFAULT NULL COMMENT '备注说明', + PRIMARY KEY (`datasource_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_datasource: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_datasource` DISABLE KEYS */; +INSERT INTO `sys_datasource` (`datasource_code`, `database_ip`, `database_port`, `database_driver_class_name`, `database_name`, `database_username`, `database_password`, `database_flag`, `tenant_code`, `create_by`, `create_time`, `update_by`, `update_time`, `status`, `del_flag`, `remark`) VALUES + ('0O0O0O', '127.0.0.1', '3306', 'com.mysql.cj.jdbc.Driver', 'vean', 'root', 'root', '0', '111111', 'admin', '2019-06-17 16:51:21', 'admin', '2019-06-17 16:51:24', '0', '2', NULL), + ('0test0', '127.0.0.1', '3306', 'com.mysql.cj.jdbc.Driver', 'test', 'root', 'root', '0', '000000', 'admin', '2019-06-20 17:20:06', 'admin', '2019-10-11 16:01:19', '0', '0', '3123'), + ('testbk', '127.0.0.1', '3306', 'oracle.jdbc.driver.OracleDriver', 'testbackup', 'root', 'root', '0', '111111', 'admin', '2016-12-18 00:00:00', 'admin', '2019-08-06 18:27:45', '0', '2', NULL); +/*!40000 ALTER TABLE `sys_datasource` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_datasource_application +DROP TABLE IF EXISTS `sys_datasource_application`; +CREATE TABLE IF NOT EXISTS `sys_datasource_application` ( + `datasource_code` varchar(16) NOT NULL, + `app_code` varchar(16) NOT NULL, + PRIMARY KEY (`datasource_code`,`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_datasource_application: ~4 rows (大约) +/*!40000 ALTER TABLE `sys_datasource_application` DISABLE KEYS */; +INSERT INTO `sys_datasource_application` (`datasource_code`, `app_code`) VALUES + ('0O0O0O', 'TenantLog'), + ('0O0O0O', 'TenantMessage'), + ('0test0', 'TenantLog'), + ('0test0', 'TenantMessage'); +/*!40000 ALTER TABLE `sys_datasource_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dept +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE IF NOT EXISTS `sys_dept` ( + `dept_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` int(16) DEFAULT 0 COMMENT '父部门id', + `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `order_num` int(4) DEFAULT 0 COMMENT '显示顺序', + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='部门表'; + +-- Dumping data for table opl2.sys_dept: ~14 rows (大约) +/*!40000 ALTER TABLE `sys_dept` DISABLE KEYS */; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `tenant_code`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES + (100, 0, '0', '前隆信息', '000000', 0, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (103, 100, '0,100,101', '研发部门', '000000', 1, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (104, 100, '0,100,101', '市场部门', '000000', 2, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (105, 100, '0,100,101', '测试部门', '000000', 3, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (106, 100, '0,100,101', '财务部门', '000000', 4, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (107, 100, '0,100,101', '运维部门', '000000', 5, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'); +/*!40000 ALTER TABLE `sys_dept` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dict_data +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE IF NOT EXISTS `sys_dict_data` ( + `dict_code` int(16) NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int(4) DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字典数据表'; + +-- Dumping data for table opl2.sys_dict_data: ~34 rows (大约) +/*!40000 ALTER TABLE `sys_dict_data` DISABLE KEYS */; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别男'), + (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别女'), + (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别未知'), + (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '显示菜单'), + (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '隐藏菜单'), + (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '默认分组'), + (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统分组'), + (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统默认是'), + (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统默认否'), + (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '通知'), + (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '公告'), + (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '关闭状态'), + (18, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '新增操作'), + (19, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '修改操作'), + (20, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '删除操作'), + (21, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '授权操作'), + (22, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '导出操作'), + (23, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '导入操作'), + (24, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '强退操作'), + (25, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '生成操作'), + (26, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '清空操作'), + (27, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (28, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (29, 0, '内置', '0', 'sys_application_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 11:03:18', '', NULL, NULL), + (30, 1, '租户', '1', 'sys_application_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 11:03:32', '', NULL, NULL), + (100, 0, '主库', '0', 'sys_database_flag', '', 'default', 'Y', '0', 'admin', '2019-08-01 14:45:50', 'admin', '2019-08-01 15:17:16', '默认情况选择一个库,考虑到今后可能读写分离,或者配置主从'), + (101, 1, '从库', '1', 'sys_database_flag', '', 'default', 'Y', '0', 'admin', '2019-08-01 14:47:03', 'admin', '2019-08-01 15:17:12', ''), + (102, 0, 'MySQL', 'com.mysql.cj.jdbc.Driver', 'sys_database_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 13:38:33', '', NULL, NULL), + (103, 1, 'Oracle', 'oracle.jdbc.driver.OracleDriver', 'sys_database_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 13:38:54', '', NULL, NULL), + (104, 1, '用钱宝_SZSZ', '1', 'tenant_channel_code', '', '', 'Y', '0', 'admin', '2019-10-11 17:41:49', 'admin', '2019-10-11 17:43:01', ''), + (105, 2, '快牛_3_SZSZ', '2', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:42:37', '', NULL, NULL), + (106, 3, '即有_3_SZSZ', '3', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:42:56', '', NULL, NULL), + (107, 4, '即有_6_SZSZ', '4', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:18', '', NULL, NULL), + (108, 5, '快牛_6_SZSZ', '5', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:32', '', NULL, NULL), + (109, 6, '冰闪_3_SZSX', '6', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:58', '', NULL, NULL), + (110, 7, '冰闪_6_SZSX', '7', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:17', '', NULL, NULL), + (111, 8, '快牛_3_SZSX', '8', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:32', '', NULL, NULL), + (112, 8, '快牛_6_SZSX', '8', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:45', '', NULL, NULL); +/*!40000 ALTER TABLE `sys_dict_data` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dict_type +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE IF NOT EXISTS `sys_dict_type` ( + `dict_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE KEY `dict_type` (`dict_type`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字典类型表'; + +-- Dumping data for table opl2.sys_dict_type: ~13 rows (大约) +/*!40000 ALTER TABLE `sys_dict_type` DISABLE KEYS */; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '用户性别', 'sys_user_sex', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '用户性别列表'), + (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '菜单状态列表'), + (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '系统开关列表'), + (4, '任务状态', 'sys_job_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '任务状态列表'), + (5, '任务分组', 'sys_job_group', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '任务分组列表'), + (6, '系统是否', 'sys_yes_no', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '系统是否列表'), + (7, '通知类型', 'sys_notice_type', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知类型列表'), + (8, '通知状态', 'sys_notice_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知状态列表'), + (9, '操作类型', 'sys_oper_type', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '操作类型列表'), + (10, '系统状态', 'sys_common_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '登录状态列表'), + (11, '子系统类型', 'sys_application_type', '0', 'admin', '2019-08-02 11:02:43', 'admin', '2019-08-06 16:50:53', '0内置,1租户'), + (100, '数据源标识', 'sys_database_flag', '0', 'admin', '2019-08-01 14:43:34', 'admin', '2019-08-02 13:37:32', '数据源标识'), + (101, '数据库类型', 'sys_database_type', '0', 'admin', '2019-08-02 13:37:13', 'admin', '2019-08-02 13:37:55', '数据库类型(Oracle、MySQL)'), + (102, '商户渠道号', 'tenant_channel_code', '0', 'admin', '2019-10-11 17:40:17', 'admin', '2019-10-11 17:45:09', '商户渠道号'); +/*!40000 ALTER TABLE `sys_dict_type` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_districts +DROP TABLE IF EXISTS `sys_districts`; +CREATE TABLE IF NOT EXISTS `sys_districts` ( + `id` int(6) unsigned NOT NULL COMMENT '编号', + `pid` int(6) NOT NULL DEFAULT 0 COMMENT '上级编号', + `deep` tinyint(1) NOT NULL DEFAULT 0 COMMENT '层级', + `name` varchar(32) NOT NULL DEFAULT '' COMMENT '名称', + `pinyin` varchar(64) DEFAULT NULL COMMENT '拼音', + `pinyin_shor` varchar(64) DEFAULT '' COMMENT '拼音缩写', + `ext_name` varchar(64) DEFAULT '' COMMENT '扩展名', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='地区'; + +-- Dumping data for table opl2.sys_districts: ~3,390 rows (大约) +/*!40000 ALTER TABLE `sys_districts` DISABLE KEYS */; +INSERT INTO `sys_districts` (`id`, `pid`, `deep`, `name`, `pinyin`, `pinyin_shor`, `ext_name`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES + (11, 0, 0, '北京', 'bei jing', 'bej', '北京市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 15:02:37'), + (12, 0, 0, '天津', 'tian jin', 'tij', '天津市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (13, 0, 0, '河北', 'he bei', 'heb', '河北省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (14, 0, 0, '山西', 'shan xi', 'shx', '山西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (15, 0, 0, '内蒙古', 'nei meng gu', 'nemg', '内蒙古自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (21, 0, 0, '辽宁', 'liao ning', 'lin', '辽宁省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (22, 0, 0, '吉林', 'ji lin', 'jil', '吉林省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (23, 0, 0, '黑龙江', 'hei long jiang', 'helj', '黑龙江省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (31, 0, 0, '上海', 'shang hai', 'shh', '上海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (32, 0, 0, '江苏', 'jiang su', 'jis', '江苏省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (33, 0, 0, '浙江', 'zhe jiang', 'zhj', '浙江省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (34, 0, 0, '安徽', 'an hui', 'anh', '安徽省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (35, 0, 0, '福建', 'fu jian', 'fuj', '福建省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (36, 0, 0, '江西', 'jiang xi', 'jix', '江西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (37, 0, 0, '山东', 'shan dong', 'shd', '山东省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (41, 0, 0, '河南', 'he nan', 'hen', '河南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (42, 0, 0, '湖北', 'hu bei', 'hub', '湖北省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (43, 0, 0, '湖南', 'hu nan', 'hun', '湖南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (44, 0, 0, '广东', 'guang dong', 'gud', '广东省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (45, 0, 0, '广西', 'guang xi', 'gux', '广西壮族自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (46, 0, 0, '海南', 'hai nan', 'han', '海南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (50, 0, 0, '重庆', 'chong qing', 'chq', '重庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (51, 0, 0, '四川', 'si chuan', 'sic', '四川省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (52, 0, 0, '贵州', 'gui zhou', 'guz', '贵州省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (53, 0, 0, '云南', 'yun nan', 'yun', '云南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (54, 0, 0, '西藏', 'xi zang', 'xiz', '西藏自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (61, 0, 0, '陕西', 'shan xi', 'shx', '陕西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (62, 0, 0, '甘肃', 'gan su', 'gas', '甘肃省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (63, 0, 0, '青海', 'qing hai', 'qih', '青海省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (64, 0, 0, '宁夏', 'ning xia', 'nix', '宁夏回族自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (65, 0, 0, '新疆', 'xin jiang', 'xij', '新疆维吾尔自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (90, 0, 0, '港澳台', '~0', '~0', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (91, 0, 0, '海外', '~1', '~1', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1101, 11, 1, '北京', 'bei jing', 'bej', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 15:06:10'), + (1201, 12, 1, '天津', 'tian jin', 'tij', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1301, 13, 1, '石家庄', 'shi jia zhuang', 'shjz', '石家庄市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1302, 13, 1, '唐山', 'tang shan', 'tas', '唐山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1303, 13, 1, '秦皇岛', 'qin huang dao', 'qihd', '秦皇岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1304, 13, 1, '邯郸', 'han dan', 'had', '邯郸市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1305, 13, 1, '邢台', 'xing tai', 'xit', '邢台市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1306, 13, 1, '保定', 'bao ding', 'bad', '保定市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1307, 13, 1, '张家口', 'zhang jia kou', 'zhjk', '张家口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1308, 13, 1, '承德', 'cheng de', 'chd', '承德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1309, 13, 1, '沧州', 'cang zhou', 'caz', '沧州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1310, 13, 1, '廊坊', 'lang fang', 'laf', '廊坊市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1311, 13, 1, '衡水', 'heng shui', 'hes', '衡水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1401, 14, 1, '太原', 'tai yuan', 'tay', '太原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1402, 14, 1, '大同', 'da tong', 'dat', '大同市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1403, 14, 1, '阳泉', 'yang quan', 'yaq', '阳泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1404, 14, 1, '长治', 'chang zhi', 'chz', '长治市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1405, 14, 1, '晋城', 'jin cheng', 'jic', '晋城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1406, 14, 1, '朔州', 'shuo zhou', 'shz', '朔州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1407, 14, 1, '晋中', 'jin zhong', 'jiz', '晋中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1408, 14, 1, '运城', 'yun cheng', 'yuc', '运城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1409, 14, 1, '忻州', 'xin zhou', 'xiz', '忻州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1410, 14, 1, '临汾', 'lin fen', 'lif', '临汾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1411, 14, 1, '吕梁', 'lv liang', 'lvl', '吕梁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1501, 15, 1, '呼和浩特', 'hu he hao te', 'huhh', '呼和浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1502, 15, 1, '包头', 'bao tou', 'bat', '包头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1503, 15, 1, '乌海', 'wu hai', 'wuh', '乌海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1504, 15, 1, '赤峰', 'chi feng', 'chf', '赤峰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1505, 15, 1, '通辽', 'tong liao', 'tol', '通辽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1506, 15, 1, '鄂尔多斯', 'e er duo si', 'eed', '鄂尔多斯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1507, 15, 1, '呼伦贝尔', 'hu lun bei er', 'hulb', '呼伦贝尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1508, 15, 1, '巴彦淖尔', 'ba yan nao er', 'bayn', '巴彦淖尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1509, 15, 1, '乌兰察布', 'wu lan cha bu', 'wulc', '乌兰察布市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1522, 15, 1, '兴安盟', 'xing an meng', 'xiam', '兴安盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1525, 15, 1, '锡林郭勒盟', 'xi lin guo le meng', 'xilg', '锡林郭勒盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1529, 15, 1, '阿拉善盟', 'a la shan meng', 'als', '阿拉善盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2101, 21, 1, '沈阳', 'shen yang', 'shy', '沈阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2102, 21, 1, '大连', 'da lian', 'dal', '大连市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2103, 21, 1, '鞍山', 'an shan', 'ans', '鞍山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2104, 21, 1, '抚顺', 'fu shun', 'fus', '抚顺市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2105, 21, 1, '本溪', 'ben xi', 'bex', '本溪市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2106, 21, 1, '丹东', 'dan dong', 'dad', '丹东市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2107, 21, 1, '锦州', 'jin zhou', 'jiz', '锦州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2108, 21, 1, '营口', 'ying kou', 'yik', '营口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2109, 21, 1, '阜新', 'fu xin', 'fux', '阜新市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2110, 21, 1, '辽阳', 'liao yang', 'liy', '辽阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2111, 21, 1, '盘锦', 'pan jin', 'paj', '盘锦市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2112, 21, 1, '铁岭', 'tie ling', 'til', '铁岭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2113, 21, 1, '朝阳', 'chao yang', 'chy', '朝阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2114, 21, 1, '葫芦岛', 'hu lu dao', 'huld', '葫芦岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2201, 22, 1, '长春', 'chang chun', 'chc', '长春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2202, 22, 1, '吉林', 'ji lin', 'jil', '吉林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2203, 22, 1, '四平', 'si ping', 'sip', '四平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2204, 22, 1, '辽源', 'liao yuan', 'liy', '辽源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2205, 22, 1, '通化', 'tong hua', 'toh', '通化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2206, 22, 1, '白山', 'bai shan', 'bas', '白山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2207, 22, 1, '松原', 'song yuan', 'soy', '松原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2208, 22, 1, '白城', 'bai cheng', 'bac', '白城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2224, 22, 1, '延边朝鲜族自治州', 'yan bian chao xian zu zi zhi zhou', 'yabc', '延边朝鲜族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2301, 23, 1, '哈尔滨', 'ha er bin', 'haeb', '哈尔滨市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2302, 23, 1, '齐齐哈尔', 'qi qi ha er', 'qiqh', '齐齐哈尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2303, 23, 1, '鸡西', 'ji xi', 'jix', '鸡西市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2304, 23, 1, '鹤岗', 'he gang', 'heg', '鹤岗市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2305, 23, 1, '双鸭山', 'shuang ya shan', 'shys', '双鸭山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2306, 23, 1, '大庆', 'da qing', 'daq', '大庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2307, 23, 1, '伊春', 'yi chun', 'yic', '伊春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2308, 23, 1, '佳木斯', 'jia mu si', 'jims', '佳木斯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2309, 23, 1, '七台河', 'qi tai he', 'qith', '七台河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2310, 23, 1, '牡丹江', 'mu dan jiang', 'mudj', '牡丹江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2311, 23, 1, '黑河', 'hei he', 'heh', '黑河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2312, 23, 1, '绥化', 'sui hua', 'suh', '绥化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2327, 23, 1, '大兴安岭地区', 'da xing an ling di qu', 'daxa', '大兴安岭地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3101, 31, 1, '上海', 'shang hai', 'shh', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3201, 32, 1, '南京', 'nan jing', 'naj', '南京市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3202, 32, 1, '无锡', 'wu xi', 'wux', '无锡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3203, 32, 1, '徐州', 'xu zhou', 'xuz', '徐州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3204, 32, 1, '常州', 'chang zhou', 'chz', '常州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3205, 32, 1, '苏州', 'su zhou', 'suz', '苏州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3206, 32, 1, '南通', 'nan tong', 'nat', '南通市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3207, 32, 1, '连云港', 'lian yun gang', 'liyg', '连云港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3208, 32, 1, '淮安', 'huai an', 'hua', '淮安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3209, 32, 1, '盐城', 'yan cheng', 'yac', '盐城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3210, 32, 1, '扬州', 'yang zhou', 'yaz', '扬州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3211, 32, 1, '镇江', 'zhen jiang', 'zhj', '镇江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3212, 32, 1, '泰州', 'tai zhou', 'taz', '泰州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3213, 32, 1, '宿迁', 'su qian', 'suq', '宿迁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3301, 33, 1, '杭州', 'hang zhou', 'haz', '杭州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3302, 33, 1, '宁波', 'ning bo', 'nib', '宁波市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3303, 33, 1, '温州', 'wen zhou', 'wez', '温州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3304, 33, 1, '嘉兴', 'jia xing', 'jix', '嘉兴市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3305, 33, 1, '湖州', 'hu zhou', 'huz', '湖州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3306, 33, 1, '绍兴', 'shao xing', 'shx', '绍兴市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3307, 33, 1, '金华', 'jin hua', 'jih', '金华市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3308, 33, 1, '衢州', 'qu zhou', 'quz', '衢州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3309, 33, 1, '舟山', 'zhou shan', 'zhs', '舟山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3310, 33, 1, '台州', 'tai zhou', 'taz', '台州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3311, 33, 1, '丽水', 'li shui', 'lis', '丽水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3401, 34, 1, '合肥', 'he fei', 'hef', '合肥市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3402, 34, 1, '芜湖', 'wu hu', 'wuh', '芜湖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3403, 34, 1, '蚌埠', 'beng bu', 'beb', '蚌埠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3404, 34, 1, '淮南', 'huai nan', 'hun', '淮南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3405, 34, 1, '马鞍山', 'ma an shan', 'maas', '马鞍山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3406, 34, 1, '淮北', 'huai bei', 'hub', '淮北市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3407, 34, 1, '铜陵', 'tong ling', 'tol', '铜陵市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3408, 34, 1, '安庆', 'an qing', 'anq', '安庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3410, 34, 1, '黄山', 'huang shan', 'hus', '黄山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3411, 34, 1, '滁州', 'chu zhou', 'chz', '滁州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3412, 34, 1, '阜阳', 'fu yang', 'fuy', '阜阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3413, 34, 1, '宿州', 'su zhou', 'suz', '宿州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3415, 34, 1, '六安', 'lu an', 'lua', '六安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3416, 34, 1, '亳州', 'bo zhou', 'boz', '亳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3417, 34, 1, '池州', 'chi zhou', 'chz', '池州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3418, 34, 1, '宣城', 'xuan cheng', 'xuc', '宣城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3501, 35, 1, '福州', 'fu zhou', 'fuz', '福州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3502, 35, 1, '厦门', 'xia men', 'xim', '厦门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3503, 35, 1, '莆田', 'pu tian', 'put', '莆田市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3504, 35, 1, '三明', 'san ming', 'sam', '三明市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3505, 35, 1, '泉州', 'quan zhou', 'quz', '泉州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3506, 35, 1, '漳州', 'zhang zhou', 'zhz', '漳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3507, 35, 1, '南平', 'nan ping', 'nap', '南平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3508, 35, 1, '龙岩', 'long yan', 'loy', '龙岩市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3509, 35, 1, '宁德', 'ning de', 'nid', '宁德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3601, 36, 1, '南昌', 'nan chang', 'nac', '南昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3602, 36, 1, '景德镇', 'jing de zhen', 'jidz', '景德镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3603, 36, 1, '萍乡', 'ping xiang', 'pix', '萍乡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3604, 36, 1, '九江', 'jiu jiang', 'jij', '九江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3605, 36, 1, '新余', 'xin yu', 'xiy', '新余市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3606, 36, 1, '鹰潭', 'ying tan', 'yit', '鹰潭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3607, 36, 1, '赣州', 'gan zhou', 'gaz', '赣州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3608, 36, 1, '吉安', 'ji an', 'jia', '吉安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3609, 36, 1, '宜春', 'yi chun', 'yic', '宜春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3610, 36, 1, '抚州', 'fu zhou', 'fuz', '抚州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3611, 36, 1, '上饶', 'shang rao', 'shr', '上饶市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3701, 37, 1, '济南', 'ji nan', 'jin', '济南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3702, 37, 1, '青岛', 'qing dao', 'qid', '青岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3703, 37, 1, '淄博', 'zi bo', 'zib', '淄博市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3704, 37, 1, '枣庄', 'zao zhuang', 'zaz', '枣庄市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3705, 37, 1, '东营', 'dong ying', 'doy', '东营市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3706, 37, 1, '烟台', 'yan tai', 'yat', '烟台市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3707, 37, 1, '潍坊', 'wei fang', 'wef', '潍坊市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3708, 37, 1, '济宁', 'ji ning', 'jin', '济宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3709, 37, 1, '泰安', 'tai an', 'taa', '泰安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3710, 37, 1, '威海', 'wei hai', 'weh', '威海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3711, 37, 1, '日照', 'ri zhao', 'riz', '日照市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3712, 37, 1, '莱芜', 'lai wu', 'law', '莱芜市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3713, 37, 1, '临沂', 'lin yi', 'liy', '临沂市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3714, 37, 1, '德州', 'de zhou', 'dez', '德州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3715, 37, 1, '聊城', 'liao cheng', 'lic', '聊城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3716, 37, 1, '滨州', 'bin zhou', 'biz', '滨州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3717, 37, 1, '菏泽', 'he ze', 'hez', '菏泽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4101, 41, 1, '郑州', 'zheng zhou', 'zhz', '郑州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4102, 41, 1, '开封', 'kai feng', 'kaf', '开封市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4103, 41, 1, '洛阳', 'luo yang', 'luy', '洛阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4104, 41, 1, '平顶山', 'ping ding shan', 'pids', '平顶山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4105, 41, 1, '安阳', 'an yang', 'any', '安阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4106, 41, 1, '鹤壁', 'he bi', 'heb', '鹤壁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4107, 41, 1, '新乡', 'xin xiang', 'xix', '新乡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4108, 41, 1, '焦作', 'jiao zuo', 'jiz', '焦作市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4109, 41, 1, '濮阳', 'pu yang', 'puy', '濮阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4110, 41, 1, '许昌', 'xu chang', 'xuc', '许昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4111, 41, 1, '漯河', 'luo he', 'luh', '漯河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4112, 41, 1, '三门峡', 'san men xia', 'samx', '三门峡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4113, 41, 1, '南阳', 'nan yang', 'nay', '南阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4114, 41, 1, '商丘', 'shang qiu', 'shq', '商丘市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4115, 41, 1, '信阳', 'xin yang', 'xiy', '信阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4116, 41, 1, '周口', 'zhou kou', 'zhk', '周口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4117, 41, 1, '驻马店', 'zhu ma dian', 'zhmd', '驻马店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4190, 41, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4201, 42, 1, '武汉', 'wu han', 'wuh', '武汉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4202, 42, 1, '黄石', 'huang shi', 'hus', '黄石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4203, 42, 1, '十堰', 'shi yan', 'shy', '十堰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4205, 42, 1, '宜昌', 'yi chang', 'yic', '宜昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4206, 42, 1, '襄阳', 'xiang yang', 'xiy', '襄阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4207, 42, 1, '鄂州', 'e zhou', 'ez', '鄂州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4208, 42, 1, '荆门', 'jing men', 'jim', '荆门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4209, 42, 1, '孝感', 'xiao gan', 'xig', '孝感市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4210, 42, 1, '荆州', 'jing zhou', 'jiz', '荆州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4211, 42, 1, '黄冈', 'huang gang', 'hug', '黄冈市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4212, 42, 1, '咸宁', 'xian ning', 'xin', '咸宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4213, 42, 1, '随州', 'sui zhou', 'suz', '随州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4228, 42, 1, '恩施土家族苗族自治州', 'en shi tu jia zu miao zu zi zhi zhou', 'enst', '恩施土家族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4290, 42, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4301, 43, 1, '长沙', 'chang sha', 'chs', '长沙市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4302, 43, 1, '株洲', 'zhu zhou', 'zhz', '株洲市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4303, 43, 1, '湘潭', 'xiang tan', 'xit', '湘潭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4304, 43, 1, '衡阳', 'heng yang', 'hey', '衡阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4305, 43, 1, '邵阳', 'shao yang', 'shy', '邵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4306, 43, 1, '岳阳', 'yue yang', 'yuy', '岳阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4307, 43, 1, '常德', 'chang de', 'chd', '常德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4308, 43, 1, '张家界', 'zhang jia jie', 'zhjj', '张家界市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4309, 43, 1, '益阳', 'yi yang', 'yiy', '益阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4310, 43, 1, '郴州', 'chen zhou', 'chz', '郴州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4311, 43, 1, '永州', 'yong zhou', 'yoz', '永州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4312, 43, 1, '怀化', 'huai hua', 'huh', '怀化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4313, 43, 1, '娄底', 'lou di', 'lod', '娄底市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4331, 43, 1, '湘西土家族苗族自治州', 'xiang xi tu jia zu miao zu zi zhi zhou', 'xixt', '湘西土家族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4401, 44, 1, '广州', 'guang zhou', 'guz', '广州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4402, 44, 1, '韶关', 'shao guan', 'shg', '韶关市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4403, 44, 1, '深圳', 'shen zhen', 'shz', '深圳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4404, 44, 1, '珠海', 'zhu hai', 'zhh', '珠海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4405, 44, 1, '汕头', 'shan tou', 'sht', '汕头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4406, 44, 1, '佛山', 'fo shan', 'fos', '佛山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4407, 44, 1, '江门', 'jiang men', 'jim', '江门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4408, 44, 1, '湛江', 'zhan jiang', 'zhj', '湛江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4409, 44, 1, '茂名', 'mao ming', 'mam', '茂名市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4412, 44, 1, '肇庆', 'zhao qing', 'zhq', '肇庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4413, 44, 1, '惠州', 'hui zhou', 'huz', '惠州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4414, 44, 1, '梅州', 'mei zhou', 'mez', '梅州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4415, 44, 1, '汕尾', 'shan wei', 'shw', '汕尾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4416, 44, 1, '河源', 'he yuan', 'hey', '河源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4417, 44, 1, '阳江', 'yang jiang', 'yaj', '阳江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4418, 44, 1, '清远', 'qing yuan', 'qiy', '清远市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4419, 44, 1, '东莞', 'dong guan', 'dog', '东莞市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4420, 44, 1, '中山', 'zhong shan', 'zhs', '中山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4451, 44, 1, '潮州', 'chao zhou', 'chz', '潮州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4452, 44, 1, '揭阳', 'jie yang', 'jiy', '揭阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4453, 44, 1, '云浮', 'yun fu', 'yuf', '云浮市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4501, 45, 1, '南宁', 'nan ning', 'nan', '南宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4502, 45, 1, '柳州', 'liu zhou', 'liz', '柳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4503, 45, 1, '桂林', 'gui lin', 'gul', '桂林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4504, 45, 1, '梧州', 'wu zhou', 'wuz', '梧州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4505, 45, 1, '北海', 'bei hai', 'beh', '北海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4506, 45, 1, '防城港', 'fang cheng gang', 'facg', '防城港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4507, 45, 1, '钦州', 'qin zhou', 'qiz', '钦州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4508, 45, 1, '贵港', 'gui gang', 'gug', '贵港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4509, 45, 1, '玉林', 'yu lin', 'yul', '玉林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4510, 45, 1, '百色', 'bai se', 'bas', '百色市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4511, 45, 1, '贺州', 'he zhou', 'hez', '贺州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4512, 45, 1, '河池', 'he chi', 'hec', '河池市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4513, 45, 1, '来宾', 'lai bin', 'lab', '来宾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4514, 45, 1, '崇左', 'chong zuo', 'chz', '崇左市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4601, 46, 1, '海口', 'hai kou', 'hak', '海口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4602, 46, 1, '三亚', 'san ya', 'say', '三亚市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4603, 46, 1, '三沙', 'san sha', 'sas', '三沙市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4604, 46, 1, '儋州', 'dan zhou', 'daz', '儋州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4690, 46, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5001, 50, 1, '重庆', 'chong qing', 'chq', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5002, 50, 1, '县', 'xian', 'xi', '县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5101, 51, 1, '成都', 'cheng du', 'chd', '成都市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5103, 51, 1, '自贡', 'zi gong', 'zig', '自贡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5104, 51, 1, '攀枝花', 'pan zhi hua', 'pazh', '攀枝花市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5105, 51, 1, '泸州', 'lu zhou', 'luz', '泸州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5106, 51, 1, '德阳', 'de yang', 'dey', '德阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5107, 51, 1, '绵阳', 'mian yang', 'miy', '绵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5108, 51, 1, '广元', 'guang yuan', 'guy', '广元市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5109, 51, 1, '遂宁', 'sui ning', 'sun', '遂宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5110, 51, 1, '内江', 'nei jiang', 'nej', '内江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5111, 51, 1, '乐山', 'le shan', 'les', '乐山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5113, 51, 1, '南充', 'nan chong', 'nac', '南充市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5114, 51, 1, '眉山', 'mei shan', 'mes', '眉山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5115, 51, 1, '宜宾', 'yi bin', 'yib', '宜宾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5116, 51, 1, '广安', 'guang an', 'gua', '广安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5117, 51, 1, '达州', 'da zhou', 'daz', '达州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5118, 51, 1, '雅安', 'ya an', 'yaa', '雅安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5119, 51, 1, '巴中', 'ba zhong', 'baz', '巴中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5120, 51, 1, '资阳', 'zi yang', 'ziy', '资阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5132, 51, 1, '阿坝藏族羌族自治州', 'a ba zang zu qiang zu zi zhi zhou', 'abz', '阿坝藏族羌族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5133, 51, 1, '甘孜藏族自治州', 'gan zi zang zu zi zhi zhou', 'gazz', '甘孜藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5134, 51, 1, '凉山彝族自治州', 'liang shan yi zu zi zhi zhou', 'lisy', '凉山彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5201, 52, 1, '贵阳', 'gui yang', 'guy', '贵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5202, 52, 1, '六盘水', 'liu pan shui', 'lips', '六盘水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5203, 52, 1, '遵义', 'zun yi', 'zuy', '遵义市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5204, 52, 1, '安顺', 'an shun', 'ans', '安顺市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5205, 52, 1, '毕节', 'bi jie', 'bij', '毕节市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5206, 52, 1, '铜仁', 'tong ren', 'tor', '铜仁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5223, 52, 1, '黔西南布依族苗族自治州', 'qian xi nan bu yi zu miao zu zi zhi zhou', 'qixn', '黔西南布依族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5226, 52, 1, '黔东南苗族侗族自治州', 'qian dong nan miao zu dong zu zi zhi zhou', 'qidn', '黔东南苗族侗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5227, 52, 1, '黔南布依族苗族自治州', 'qian nan bu yi zu miao zu zi zhi zhou', 'qinb', '黔南布依族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5301, 53, 1, '昆明', 'kun ming', 'kum', '昆明市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5303, 53, 1, '曲靖', 'qu jing', 'quj', '曲靖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5304, 53, 1, '玉溪', 'yu xi', 'yux', '玉溪市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5305, 53, 1, '保山', 'bao shan', 'bas', '保山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5306, 53, 1, '昭通', 'zhao tong', 'zht', '昭通市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5307, 53, 1, '丽江', 'li jiang', 'lij', '丽江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5308, 53, 1, '普洱', 'pu er', 'pue', '普洱市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5309, 53, 1, '临沧', 'lin cang', 'lic', '临沧市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5323, 53, 1, '楚雄彝族自治州', 'chu xiong yi zu zi zhi zhou', 'chxy', '楚雄彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5325, 53, 1, '红河哈尼族彝族自治州', 'hong he ha ni zu yi zu zi zhi zhou', 'hohh', '红河哈尼族彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5326, 53, 1, '文山壮族苗族自治州', 'wen shan zhuang zu miao zu zi zhi zhou', 'wesz', '文山壮族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5328, 53, 1, '西双版纳傣族自治州', 'xi shuang ban na dai zu zi zhi zhou', 'xisb', '西双版纳傣族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5329, 53, 1, '大理白族自治州', 'da li bai zu zi zhi zhou', 'dalb', '大理白族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5331, 53, 1, '德宏傣族景颇族自治州', 'de hong dai zu jing po zu zi zhi zhou', 'dehd', '德宏傣族景颇族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5333, 53, 1, '怒江傈僳族自治州', 'nu jiang li su zu zi zhi zhou', 'nujl', '怒江傈僳族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5334, 53, 1, '迪庆藏族自治州', 'di qing zang zu zi zhi zhou', 'diqz', '迪庆藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5401, 54, 1, '拉萨', 'la sa', 'las', '拉萨市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5402, 54, 1, '日喀则', 'ri ka ze', 'rikz', '日喀则市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5403, 54, 1, '昌都', 'chang du', 'chd', '昌都市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5404, 54, 1, '林芝', 'lin zhi', 'liz', '林芝市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5405, 54, 1, '山南', 'shan nan', 'shn', '山南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5424, 54, 1, '那曲地区', 'na qu di qu', 'naqd', '那曲地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5425, 54, 1, '阿里地区', 'a li di qu', 'ald', '阿里地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6101, 61, 1, '西安', 'xi an', 'xia', '西安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6102, 61, 1, '铜川', 'tong chuan', 'toc', '铜川市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6103, 61, 1, '宝鸡', 'bao ji', 'baj', '宝鸡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6104, 61, 1, '咸阳', 'xian yang', 'xiy', '咸阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6105, 61, 1, '渭南', 'wei nan', 'wen', '渭南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6106, 61, 1, '延安', 'yan an', 'yaa', '延安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6107, 61, 1, '汉中', 'han zhong', 'haz', '汉中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6108, 61, 1, '榆林', 'yu lin', 'yul', '榆林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6109, 61, 1, '安康', 'an kang', 'ank', '安康市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6110, 61, 1, '商洛', 'shang luo', 'shl', '商洛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6201, 62, 1, '兰州', 'lan zhou', 'laz', '兰州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6202, 62, 1, '嘉峪关', 'jia yu guan', 'jiyg', '嘉峪关市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6203, 62, 1, '金昌', 'jin chang', 'jic', '金昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6204, 62, 1, '白银', 'bai yin', 'bay', '白银市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6205, 62, 1, '天水', 'tian shui', 'tis', '天水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6206, 62, 1, '武威', 'wu wei', 'wuw', '武威市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6207, 62, 1, '张掖', 'zhang ye', 'zhy', '张掖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6208, 62, 1, '平凉', 'ping liang', 'pil', '平凉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6209, 62, 1, '酒泉', 'jiu quan', 'jiq', '酒泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6210, 62, 1, '庆阳', 'qing yang', 'qiy', '庆阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6211, 62, 1, '定西', 'ding xi', 'dix', '定西市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6212, 62, 1, '陇南', 'long nan', 'lon', '陇南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6229, 62, 1, '临夏回族自治州', 'lin xia hui zu zi zhi zhou', 'lixh', '临夏回族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6230, 62, 1, '甘南藏族自治州', 'gan nan zang zu zi zhi zhou', 'ganz', '甘南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6301, 63, 1, '西宁', 'xi ning', 'xin', '西宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6302, 63, 1, '海东', 'hai dong', 'had', '海东市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6322, 63, 1, '海北藏族自治州', 'hai bei zang zu zi zhi zhou', 'habz', '海北藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6323, 63, 1, '黄南藏族自治州', 'huang nan zang zu zi zhi zhou', 'hunz', '黄南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6325, 63, 1, '海南藏族自治州', 'hai nan zang zu zi zhi zhou', 'hanz', '海南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6326, 63, 1, '果洛藏族自治州', 'guo luo zang zu zi zhi zhou', 'gulz', '果洛藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6327, 63, 1, '玉树藏族自治州', 'yu shu zang zu zi zhi zhou', 'yusz', '玉树藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6328, 63, 1, '海西蒙古族藏族自治州', 'hai xi meng gu zu zang zu zi zhi zhou', 'haxm', '海西蒙古族藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6401, 64, 1, '银川', 'yin chuan', 'yic', '银川市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6402, 64, 1, '石嘴山', 'shi zui shan', 'shzs', '石嘴山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6403, 64, 1, '吴忠', 'wu zhong', 'wuz', '吴忠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6404, 64, 1, '固原', 'gu yuan', 'guy', '固原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6405, 64, 1, '中卫', 'zhong wei', 'zhw', '中卫市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6501, 65, 1, '乌鲁木齐', 'wu lu mu qi', 'wulm', '乌鲁木齐市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6502, 65, 1, '克拉玛依', 'ke la ma yi', 'kelm', '克拉玛依市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6504, 65, 1, '吐鲁番', 'tu lu fan', 'tulf', '吐鲁番市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6505, 65, 1, '哈密', 'ha mi', 'ham', '哈密市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6523, 65, 1, '昌吉回族自治州', 'chang ji hui zu zi zhi zhou', 'chjh', '昌吉回族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6527, 65, 1, '博尔塔拉蒙古自治州', 'bo er ta la meng gu zi zhi zhou', 'boet', '博尔塔拉蒙古自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6528, 65, 1, '巴音郭楞蒙古自治州', 'ba yin guo leng meng gu zi zhi zhou', 'bayg', '巴音郭楞蒙古自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6529, 65, 1, '阿克苏地区', 'a ke su di qu', 'aks', '阿克苏地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6530, 65, 1, '克孜勒苏柯尔克孜自治州', 'ke zi le su ke er ke zi zi zhi zhou', 'kezl', '克孜勒苏柯尔克孜自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6531, 65, 1, '喀什地区', 'ka shi di qu', 'kasd', '喀什地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6532, 65, 1, '和田地区', 'he tian di qu', 'hetd', '和田地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6540, 65, 1, '伊犁哈萨克自治州', 'yi li ha sa ke zi zhi zhou', 'yilh', '伊犁哈萨克自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6542, 65, 1, '塔城地区', 'ta cheng di qu', 'tacd', '塔城地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6543, 65, 1, '阿勒泰地区', 'a le tai di qu', 'alt', '阿勒泰地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6590, 65, 1, '直辖市', 'zhi xia shi', 'zhxs', '自治区直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9001, 90, 1, '香港', 'xiang gang', 'xig', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9002, 90, 1, '澳门', 'ao men', 'aom', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9003, 90, 1, '台湾', 'tai wan', 'taw', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9101, 91, 1, '海外', 'hai wai', 'haw', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110101, 1101, 2, '东城', 'dong cheng', 'doc', '东城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110102, 1101, 2, '西城', 'xi cheng', 'xic', '西城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110105, 1101, 2, '朝阳', 'chao yang', 'chy', '朝阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110106, 1101, 2, '丰台', 'feng tai', 'fet', '丰台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110107, 1101, 2, '石景山', 'shi jing shan', 'shjs', '石景山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110108, 1101, 2, '海淀', 'hai dian', 'had', '海淀区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110109, 1101, 2, '门头沟', 'men tou gou', 'metg', '门头沟区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110111, 1101, 2, '房山', 'fang shan', 'fas', '房山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110112, 1101, 2, '通州', 'tong zhou', 'toz', '通州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110113, 1101, 2, '顺义', 'shun yi', 'shy', '顺义区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110114, 1101, 2, '昌平', 'chang ping', 'chp', '昌平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110115, 1101, 2, '大兴', 'da xing', 'dax', '大兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110116, 1101, 2, '怀柔', 'huai rou', 'hur', '怀柔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110117, 1101, 2, '平谷', 'ping gu', 'pig', '平谷区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110118, 1101, 2, '密云', 'mi yun', 'miy', '密云区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110119, 1101, 2, '延庆', 'yan qing', 'yaq', '延庆区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120101, 1201, 2, '和平', 'he ping', 'hep', '和平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120102, 1201, 2, '河东', 'he dong', 'hed', '河东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120103, 1201, 2, '河西', 'he xi', 'hex', '河西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120104, 1201, 2, '南开', 'nan kai', 'nak', '南开区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120105, 1201, 2, '河北', 'he bei', 'heb', '河北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120106, 1201, 2, '红桥', 'hong qiao', 'hoq', '红桥区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120110, 1201, 2, '东丽', 'dong li', 'dol', '东丽区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120111, 1201, 2, '西青', 'xi qing', 'xiq', '西青区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120112, 1201, 2, '津南', 'jin nan', 'jin', '津南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120113, 1201, 2, '北辰', 'bei chen', 'bec', '北辰区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120114, 1201, 2, '武清', 'wu qing', 'wuq', '武清区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120115, 1201, 2, '宝坻', 'bao di', 'bad', '宝坻区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120116, 1201, 2, '滨海新区', 'bin hai xin qu', 'bihx', '滨海新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120117, 1201, 2, '宁河', 'ning he', 'nih', '宁河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120118, 1201, 2, '静海', 'jing hai', 'jih', '静海区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120119, 1201, 2, '蓟州', 'ji zhou', 'jiz', '蓟州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130102, 1301, 2, '长安', 'chang an', 'cha', '长安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130104, 1301, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130105, 1301, 2, '新华', 'xin hua', 'xih', '新华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130107, 1301, 2, '井陉矿区', 'jing xing kuang qu', 'jixk', '井陉矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130108, 1301, 2, '裕华', 'yu hua', 'yuh', '裕华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130109, 1301, 2, '藁城', 'gao cheng', 'gac', '藁城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130110, 1301, 2, '鹿泉', 'lu quan', 'luq', '鹿泉区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130111, 1301, 2, '栾城', 'luan cheng', 'luc', '栾城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130121, 1301, 2, '井陉', 'jing xing', 'jix', '井陉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130123, 1301, 2, '正定', 'zheng ding', 'zhd', '正定县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130125, 1301, 2, '行唐', 'xing tang', 'xit', '行唐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130126, 1301, 2, '灵寿', 'ling shou', 'lis', '灵寿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130127, 1301, 2, '高邑', 'gao yi', 'gay', '高邑县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130128, 1301, 2, '深泽', 'shen ze', 'shz', '深泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130129, 1301, 2, '赞皇', 'zan huang', 'zah', '赞皇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130130, 1301, 2, '无极', 'wu ji', 'wuj', '无极县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130131, 1301, 2, '平山', 'ping shan', 'pis', '平山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130132, 1301, 2, '元氏', 'yuan shi', 'yus', '元氏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130133, 1301, 2, '赵县', 'zhao xian', 'zhx', '赵县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130171, 1301, 2, '石家庄高新技术产业开发区', 'shi jia zhuang gao xin ji shu chan ye kai fa qu', 'shjz', '石家庄高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130172, 1301, 2, '石家庄循环化工园', 'shi jia zhuang xun huan hua gong yuan', 'shjz', '石家庄循环化工园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130181, 1301, 2, '辛集', 'xin ji', 'xij', '辛集市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130183, 1301, 2, '晋州', 'jin zhou', 'jiz', '晋州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130184, 1301, 2, '新乐', 'xin le', 'xil', '新乐市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130202, 1302, 2, '路南', 'lu nan', 'lun', '路南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130203, 1302, 2, '路北', 'lu bei', 'lub', '路北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130204, 1302, 2, '古冶', 'gu ye', 'guy', '古冶区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130205, 1302, 2, '开平', 'kai ping', 'kap', '开平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130207, 1302, 2, '丰南', 'feng nan', 'fen', '丰南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130208, 1302, 2, '丰润', 'feng run', 'fer', '丰润区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130209, 1302, 2, '曹妃甸', 'cao fei dian', 'cafd', '曹妃甸区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130223, 1302, 2, '滦县', 'luan xian', 'lux', '滦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130224, 1302, 2, '滦南', 'luan nan', 'lun', '滦南县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130225, 1302, 2, '乐亭', 'le ting', 'let', '乐亭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130227, 1302, 2, '迁西', 'qian xi', 'qix', '迁西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130229, 1302, 2, '玉田', 'yu tian', 'yut', '玉田县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130271, 1302, 2, '唐山市芦台经济技术开发区', 'tang shan shi lu tai jing ji ji shu kai fa qu', 'tass', '唐山市芦台经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130272, 1302, 2, '唐山市汉沽管理区', 'tang shan shi han gu guan li qu', 'tass', '唐山市汉沽管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130273, 1302, 2, '唐山高新技术产业开发区', 'tang shan gao xin ji shu chan ye kai fa qu', 'tasg', '唐山高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130274, 1302, 2, '河北唐山海港经济开发区', 'he bei tang shan hai gang jing ji kai fa qu', 'hebt', '河北唐山海港经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130281, 1302, 2, '遵化', 'zun hua', 'zuh', '遵化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130283, 1302, 2, '迁安', 'qian an', 'qia', '迁安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130302, 1303, 2, '海港', 'hai gang', 'hag', '海港区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130303, 1303, 2, '山海关', 'shan hai guan', 'shhg', '山海关区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130304, 1303, 2, '北戴河', 'bei dai he', 'bedh', '北戴河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130306, 1303, 2, '抚宁', 'fu ning', 'fun', '抚宁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130321, 1303, 2, '青龙满族自治县', 'qing long man zu zi zhi xian', 'qilm', '青龙满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130322, 1303, 2, '昌黎', 'chang li', 'chl', '昌黎县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130324, 1303, 2, '卢龙', 'lu long', 'lul', '卢龙县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130371, 1303, 2, '秦皇岛市经济技术开发区', 'qin huang dao shi jing ji ji shu kai fa qu', 'qihd', '秦皇岛市经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130372, 1303, 2, '北戴河新区', 'bei dai he xin qu', 'bedh', '北戴河新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130402, 1304, 2, '邯山', 'han shan', 'has', '邯山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130403, 1304, 2, '丛台', 'cong tai', 'cot', '丛台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130404, 1304, 2, '复兴', 'fu xing', 'fux', '复兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130406, 1304, 2, '峰峰矿区', 'feng feng kuang qu', 'fefk', '峰峰矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130407, 1304, 2, '肥乡', 'fei xiang', 'fex', '肥乡区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130408, 1304, 2, '永年', 'yong nian', 'yon', '永年区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130423, 1304, 2, '临漳', 'lin zhang', 'liz', '临漳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130424, 1304, 2, '成安', 'cheng an', 'cha', '成安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130425, 1304, 2, '大名', 'da ming', 'dam', '大名县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130426, 1304, 2, '涉县', 'she xian', 'shx', '涉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130427, 1304, 2, '磁县', 'ci xian', 'cix', '磁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130430, 1304, 2, '邱县', 'qiu xian', 'qix', '邱县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130431, 1304, 2, '鸡泽', 'ji ze', 'jiz', '鸡泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130432, 1304, 2, '广平', 'guang ping', 'gup', '广平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130433, 1304, 2, '馆陶', 'guan tao', 'gut', '馆陶县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130434, 1304, 2, '魏县', 'wei xian', 'wex', '魏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130435, 1304, 2, '曲周', 'qu zhou', 'quz', '曲周县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130471, 1304, 2, '邯郸经济技术开发区', 'han dan jing ji ji shu kai fa qu', 'hadj', '邯郸经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130473, 1304, 2, '邯郸冀南新区', 'han dan ji nan xin qu', 'hadj', '邯郸冀南新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130481, 1304, 2, '武安', 'wu an', 'wua', '武安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130502, 1305, 2, '桥东', 'qiao dong', 'qid', '桥东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130503, 1305, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130521, 1305, 2, '邢台', 'xing tai', 'xit', '邢台县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130522, 1305, 2, '临城', 'lin cheng', 'lic', '临城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130523, 1305, 2, '内丘', 'nei qiu', 'neq', '内丘县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130524, 1305, 2, '柏乡', 'bai xiang', 'bax', '柏乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130525, 1305, 2, '隆尧', 'long yao', 'loy', '隆尧县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130526, 1305, 2, '任县', 'ren xian', 'rex', '任县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130527, 1305, 2, '南和', 'nan he', 'nah', '南和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130528, 1305, 2, '宁晋', 'ning jin', 'nij', '宁晋县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130529, 1305, 2, '巨鹿', 'ju lu', 'jul', '巨鹿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130530, 1305, 2, '新河', 'xin he', 'xih', '新河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130531, 1305, 2, '广宗', 'guang zong', 'guz', '广宗县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130532, 1305, 2, '平乡', 'ping xiang', 'pix', '平乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130533, 1305, 2, '威县', 'wei xian', 'wex', '威县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130534, 1305, 2, '清河', 'qing he', 'qih', '清河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130535, 1305, 2, '临西', 'lin xi', 'lix', '临西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130571, 1305, 2, '河北邢台经济开发区', 'he bei xing tai jing ji kai fa qu', 'hebx', '河北邢台经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130581, 1305, 2, '南宫', 'nan gong', 'nag', '南宫市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130582, 1305, 2, '沙河', 'sha he', 'shh', '沙河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130602, 1306, 2, '竞秀', 'jing xiu', 'jix', '竞秀区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130606, 1306, 2, '莲池', 'lian chi', 'lic', '莲池区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130607, 1306, 2, '满城', 'man cheng', 'mac', '满城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130608, 1306, 2, '清苑', 'qing yuan', 'qiy', '清苑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130609, 1306, 2, '徐水', 'xu shui', 'xus', '徐水区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130623, 1306, 2, '涞水', 'lai shui', 'las', '涞水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130624, 1306, 2, '阜平', 'fu ping', 'fup', '阜平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130626, 1306, 2, '定兴', 'ding xing', 'dix', '定兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130627, 1306, 2, '唐县', 'tang xian', 'tax', '唐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130628, 1306, 2, '高阳', 'gao yang', 'gay', '高阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130629, 1306, 2, '容城', 'rong cheng', 'roc', '容城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130630, 1306, 2, '涞源', 'lai yuan', 'lay', '涞源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130631, 1306, 2, '望都', 'wang du', 'wad', '望都县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130632, 1306, 2, '安新', 'an xin', 'anx', '安新县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130633, 1306, 2, '易县', 'yi xian', 'yix', '易县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130634, 1306, 2, '曲阳', 'qu yang', 'quy', '曲阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130635, 1306, 2, '蠡县', 'li xian', 'lix', '蠡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130636, 1306, 2, '顺平', 'shun ping', 'shp', '顺平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130637, 1306, 2, '博野', 'bo ye', 'boy', '博野县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130638, 1306, 2, '雄县', 'xiong xian', 'xix', '雄县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130671, 1306, 2, '保定高新技术产业开发区', 'bao ding gao xin ji shu chan ye kai fa qu', 'badg', '保定高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130672, 1306, 2, '保定白沟新城', 'bao ding bai gou xin cheng', 'badb', '保定白沟新城', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130681, 1306, 2, '涿州', 'zhuo zhou', 'zhz', '涿州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130682, 1306, 2, '定州', 'ding zhou', 'diz', '定州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130683, 1306, 2, '安国', 'an guo', 'ang', '安国市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130684, 1306, 2, '高碑店', 'gao bei dian', 'gabd', '高碑店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130702, 1307, 2, '桥东', 'qiao dong', 'qid', '桥东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130703, 1307, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130705, 1307, 2, '宣化', 'xuan hua', 'xuh', '宣化区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130706, 1307, 2, '下花园', 'xia hua yuan', 'xihy', '下花园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130708, 1307, 2, '万全', 'wan quan', 'waq', '万全区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130709, 1307, 2, '崇礼', 'chong li', 'chl', '崇礼区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130722, 1307, 2, '张北', 'zhang bei', 'zhb', '张北县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130723, 1307, 2, '康保', 'kang bao', 'kab', '康保县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130724, 1307, 2, '沽源', 'gu yuan', 'guy', '沽源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130725, 1307, 2, '尚义', 'shang yi', 'shy', '尚义县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130726, 1307, 2, '蔚县', 'yu xian', 'yux', '蔚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130727, 1307, 2, '阳原', 'yang yuan', 'yay', '阳原县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130728, 1307, 2, '怀安', 'huai an', 'hua', '怀安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130730, 1307, 2, '怀来', 'huai lai', 'hul', '怀来县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130731, 1307, 2, '涿鹿', 'zhuo lu', 'zhl', '涿鹿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130732, 1307, 2, '赤城', 'chi cheng', 'chc', '赤城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130771, 1307, 2, '张家口市高新技术产业开发区', 'zhang jia kou shi gao xin ji shu chan ye kai fa qu', 'zhjk', '张家口市高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130772, 1307, 2, '张家口市察北管理区', 'zhang jia kou shi cha bei guan li qu', 'zhjk', '张家口市察北管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130773, 1307, 2, '张家口市塞北管理区', 'zhang jia kou shi sai bei guan li qu', 'zhjk', '张家口市塞北管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130802, 1308, 2, '双桥', 'shuang qiao', 'shq', '双桥区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130803, 1308, 2, '双滦', 'shuang luan', 'shl', '双滦区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130804, 1308, 2, '鹰手营子矿区', 'ying shou ying zi kuang qu', 'yisy', '鹰手营子矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130821, 1308, 2, '承德', 'cheng de', 'chd', '承德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130822, 1308, 2, '兴隆', 'xing long', 'xil', '兴隆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130824, 1308, 2, '滦平', 'luan ping', 'lup', '滦平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130825, 1308, 2, '隆化', 'long hua', 'loh', '隆化县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130826, 1308, 2, '丰宁满族自治县', 'feng ning man zu zi zhi xian', 'fenm', '丰宁满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130827, 1308, 2, '宽城满族自治县', 'kuan cheng man zu zi zhi xian', 'kucm', '宽城满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130828, 1308, 2, '围场满族蒙古族自治县', 'wei chang man zu meng gu zu zi zhi xian', 'wecm', '围场满族蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130871, 1308, 2, '承德高新技术产业开发区', 'cheng de gao xin ji shu chan ye kai fa qu', 'chdg', '承德高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130881, 1308, 2, '平泉', 'ping quan', 'piq', '平泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130902, 1309, 2, '新华', 'xin hua', 'xih', '新华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130903, 1309, 2, '运河', 'yun he', 'yuh', '运河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130921, 1309, 2, '沧县', 'cang xian', 'cax', '沧县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130922, 1309, 2, '青县', 'qing xian', 'qix', '青县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130923, 1309, 2, '东光', 'dong guang', 'dog', '东光县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130924, 1309, 2, '海兴', 'hai xing', 'hax', '海兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130925, 1309, 2, '盐山', 'yan shan', 'yas', '盐山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130926, 1309, 2, '肃宁', 'su ning', 'sun', '肃宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130927, 1309, 2, '南皮', 'nan pi', 'nap', '南皮县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130928, 1309, 2, '吴桥', 'wu qiao', 'wuq', '吴桥县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130929, 1309, 2, '献县', 'xian xian', 'xix', '献县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130930, 1309, 2, '孟村回族自治县', 'meng cun hui zu zi zhi xian', 'mech', '孟村回族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130971, 1309, 2, '河北沧州经济开发区', 'he bei cang zhou jing ji kai fa qu', 'hebc', '河北沧州经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130972, 1309, 2, '沧州高新技术产业开发区', 'cang zhou gao xin ji shu chan ye kai fa qu', 'cazg', '沧州高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130973, 1309, 2, '沧州渤海新区', 'cang zhou bo hai xin qu', 'cazb', '沧州渤海新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130981, 1309, 2, '泊头', 'bo tou', 'bot', '泊头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130982, 1309, 2, '任丘', 'ren qiu', 'req', '任丘市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130983, 1309, 2, '黄骅', 'huang hua', 'huh', '黄骅市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130984, 1309, 2, '河间', 'he jian', 'hej', '河间市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131002, 1310, 2, '安次', 'an ci', 'anc', '安次区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131003, 1310, 2, '广阳', 'guang yang', 'guy', '广阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131022, 1310, 2, '固安', 'gu an', 'gua', '固安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131023, 1310, 2, '永清', 'yong qing', 'yoq', '永清县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131024, 1310, 2, '香河', 'xiang he', 'xih', '香河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131025, 1310, 2, '大城', 'da cheng', 'dac', '大城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131026, 1310, 2, '文安', 'wen an', 'wea', '文安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131028, 1310, 2, '大厂回族自治县', 'da chang hui zu zi zhi xian', 'dach', '大厂回族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131071, 1310, 2, '廊坊经济技术开发区', 'lang fang jing ji ji shu kai fa qu', 'lafj', '廊坊经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131081, 1310, 2, '霸州', 'ba zhou', 'baz', '霸州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131082, 1310, 2, '三河', 'san he', 'sah', '三河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131102, 1311, 2, '桃城', 'tao cheng', 'tac', '桃城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131103, 1311, 2, '冀州', 'ji zhou', 'jiz', '冀州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131121, 1311, 2, '枣强', 'zao qiang', 'zaq', '枣强县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131122, 1311, 2, '武邑', 'wu yi', 'wuy', '武邑县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131123, 1311, 2, '武强', 'wu qiang', 'wuq', '武强县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131124, 1311, 2, '饶阳', 'rao yang', 'ray', '饶阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131125, 1311, 2, '安平', 'an ping', 'anp', '安平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131126, 1311, 2, '故城', 'gu cheng', 'guc', '故城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131127, 1311, 2, '景县', 'jing xian', 'jix', '景县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131128, 1311, 2, '阜城', 'fu cheng', 'fuc', '阜城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131171, 1311, 2, '河北衡水经济开发区', 'he bei heng shui jing ji kai fa qu', 'hebh', '河北衡水经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131172, 1311, 2, '衡水滨湖新区', 'heng shui bin hu xin qu', 'hesb', '衡水滨湖新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131182, 1311, 2, '深州', 'shen zhou', 'shz', '深州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140105, 1401, 2, '小店', 'xiao dian', 'xid', '小店区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140106, 1401, 2, '迎泽', 'ying ze', 'yiz', '迎泽区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140107, 1401, 2, '杏花岭', 'xing hua ling', 'xihl', '杏花岭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140108, 1401, 2, '尖草坪', 'jian cao ping', 'jicp', '尖草坪区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140109, 1401, 2, '万柏林', 'wan bai lin', 'wabl', '万柏林区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140110, 1401, 2, '晋源', 'jin yuan', 'jiy', '晋源区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140121, 1401, 2, '清徐', 'qing xu', 'qix', '清徐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140122, 1401, 2, '阳曲', 'yang qu', 'yaq', '阳曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140123, 1401, 2, '娄烦', 'lou fan', 'lof', '娄烦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140171, 1401, 2, '山西转型综合改革示范区', 'shan xi zhuan xing zong he gai ge shi fan qu', 'shxz', '山西转型综合改革示范区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140181, 1401, 2, '古交', 'gu jiao', 'guj', '古交市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140202, 1402, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140203, 1402, 2, '矿区', 'kuang qu', 'kuq', '矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140211, 1402, 2, '南郊', 'nan jiao', 'naj', '南郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140212, 1402, 2, '新荣', 'xin rong', 'xir', '新荣区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140221, 1402, 2, '阳高', 'yang gao', 'yag', '阳高县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140222, 1402, 2, '天镇', 'tian zhen', 'tiz', '天镇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140223, 1402, 2, '广灵', 'guang ling', 'gul', '广灵县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140224, 1402, 2, '灵丘', 'ling qiu', 'liq', '灵丘县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140225, 1402, 2, '浑源', 'hun yuan', 'huy', '浑源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140226, 1402, 2, '左云', 'zuo yun', 'zuy', '左云县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140227, 1402, 2, '大同', 'da tong', 'dat', '大同县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140271, 1402, 2, '山西大同经济开发区', 'shan xi da tong jing ji kai fa qu', 'shxd', '山西大同经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140302, 1403, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140303, 1403, 2, '矿区', 'kuang qu', 'kuq', '矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140311, 1403, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140321, 1403, 2, '平定', 'ping ding', 'pid', '平定县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140322, 1403, 2, '盂县', 'yu xian', 'yux', '盂县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140371, 1403, 2, '山西阳泉经济开发区', 'shan xi yang quan jing ji kai fa qu', 'shxy', '山西阳泉经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140402, 1404, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140411, 1404, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140421, 1404, 2, '长治', 'chang zhi', 'chz', '长治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140423, 1404, 2, '襄垣', 'xiang yuan', 'xiy', '襄垣县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140424, 1404, 2, '屯留', 'tun liu', 'tul', '屯留县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140425, 1404, 2, '平顺', 'ping shun', 'pis', '平顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140426, 1404, 2, '黎城', 'li cheng', 'lic', '黎城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140427, 1404, 2, '壶关', 'hu guan', 'hug', '壶关县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140428, 1404, 2, '长子', 'zhang zi', 'zhz', '长子县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140429, 1404, 2, '武乡', 'wu xiang', 'wux', '武乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140430, 1404, 2, '沁县', 'qin xian', 'qix', '沁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140431, 1404, 2, '沁源', 'qin yuan', 'qiy', '沁源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140471, 1404, 2, '山西长治高新技术产业园', 'shan xi chang zhi gao xin ji shu chan ye yuan', 'shxc', '山西长治高新技术产业园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140481, 1404, 2, '潞城', 'lu cheng', 'luc', '潞城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140502, 1405, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140521, 1405, 2, '沁水', 'qin shui', 'qis', '沁水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140522, 1405, 2, '阳城', 'yang cheng', 'yac', '阳城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140524, 1405, 2, '陵川', 'ling chuan', 'lic', '陵川县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140525, 1405, 2, '泽州', 'ze zhou', 'zez', '泽州县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140581, 1405, 2, '高平', 'gao ping', 'gap', '高平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140602, 1406, 2, '朔城', 'shuo cheng', 'shc', '朔城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140603, 1406, 2, '平鲁', 'ping lu', 'pil', '平鲁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140621, 1406, 2, '山阴', 'shan yin', 'shy', '山阴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140622, 1406, 2, '应县', 'ying xian', 'yix', '应县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140623, 1406, 2, '右玉', 'you yu', 'yoy', '右玉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140624, 1406, 2, '怀仁', 'huai ren', 'hur', '怀仁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140671, 1406, 2, '山西朔州经济开发区', 'shan xi shuo zhou jing ji kai fa qu', 'shxs', '山西朔州经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140702, 1407, 2, '榆次', 'yu ci', 'yuc', '榆次区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140721, 1407, 2, '榆社', 'yu she', 'yus', '榆社县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140722, 1407, 2, '左权', 'zuo quan', 'zuq', '左权县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140723, 1407, 2, '和顺', 'he shun', 'hes', '和顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140724, 1407, 2, '昔阳', 'xi yang', 'xiy', '昔阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140725, 1407, 2, '寿阳', 'shou yang', 'shy', '寿阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140726, 1407, 2, '太谷', 'tai gu', 'tag', '太谷县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140727, 1407, 2, '祁县', 'qi xian', 'qix', '祁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140728, 1407, 2, '平遥', 'ping yao', 'piy', '平遥县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140729, 1407, 2, '灵石', 'ling shi', 'lis', '灵石县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140781, 1407, 2, '介休', 'jie xiu', 'jix', '介休市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140802, 1408, 2, '盐湖', 'yan hu', 'yah', '盐湖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140821, 1408, 2, '临猗', 'lin yi', 'liy', '临猗县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140822, 1408, 2, '万荣', 'wan rong', 'war', '万荣县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140823, 1408, 2, '闻喜', 'wen xi', 'wex', '闻喜县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140824, 1408, 2, '稷山', 'ji shan', 'jis', '稷山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140825, 1408, 2, '新绛', 'xin jiang', 'xij', '新绛县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140826, 1408, 2, '绛县', 'jiang xian', 'jix', '绛县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140827, 1408, 2, '垣曲', 'yuan qu', 'yuq', '垣曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140828, 1408, 2, '夏县', 'xia xian', 'xix', '夏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140829, 1408, 2, '平陆', 'ping lu', 'pil', '平陆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140830, 1408, 2, '芮城', 'rui cheng', 'ruc', '芮城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140881, 1408, 2, '永济', 'yong ji', 'yoj', '永济市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140882, 1408, 2, '河津', 'he jin', 'hej', '河津市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140902, 1409, 2, '忻府', 'xin fu', 'xif', '忻府区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140921, 1409, 2, '定襄', 'ding xiang', 'dix', '定襄县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140922, 1409, 2, '五台', 'wu tai', 'wut', '五台县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140923, 1409, 2, '代县', 'dai xian', 'dax', '代县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140924, 1409, 2, '繁峙', 'fan shi', 'fas', '繁峙县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140925, 1409, 2, '宁武', 'ning wu', 'niw', '宁武县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140926, 1409, 2, '静乐', 'jing le', 'jil', '静乐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140927, 1409, 2, '神池', 'shen chi', 'shc', '神池县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140928, 1409, 2, '五寨', 'wu zhai', 'wuz', '五寨县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140929, 1409, 2, '岢岚', 'ke lan', 'kel', '岢岚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140930, 1409, 2, '河曲', 'he qu', 'heq', '河曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140931, 1409, 2, '保德', 'bao de', 'bad', '保德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140932, 1409, 2, '偏关', 'pian guan', 'pig', '偏关县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140971, 1409, 2, '五台山风景名胜区', 'wu tai shan feng jing ming sheng qu', 'wuts', '五台山风景名胜区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140981, 1409, 2, '原平', 'yuan ping', 'yup', '原平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141002, 1410, 2, '尧都', 'yao du', 'yad', '尧都区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141021, 1410, 2, '曲沃', 'qu wo', 'quw', '曲沃县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141022, 1410, 2, '翼城', 'yi cheng', 'yic', '翼城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141023, 1410, 2, '襄汾', 'xiang fen', 'xif', '襄汾县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141024, 1410, 2, '洪洞', 'hong dong', 'hod', '洪洞县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141025, 1410, 2, '古县', 'gu xian', 'gux', '古县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141026, 1410, 2, '安泽', 'an ze', 'anz', '安泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141027, 1410, 2, '浮山', 'fu shan', 'fus', '浮山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141028, 1410, 2, '吉县', 'ji xian', 'jix', '吉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141029, 1410, 2, '乡宁', 'xiang ning', 'xin', '乡宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141030, 1410, 2, '大宁', 'da ning', 'dan', '大宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141031, 1410, 2, '隰县', 'xi xian', 'xix', '隰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141032, 1410, 2, '永和', 'yong he', 'yoh', '永和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141033, 1410, 2, '蒲县', 'pu xian', 'pux', '蒲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141034, 1410, 2, '汾西', 'fen xi', 'fex', '汾西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141081, 1410, 2, '侯马', 'hou ma', 'hom', '侯马市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141082, 1410, 2, '霍州', 'huo zhou', 'huz', '霍州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141102, 1411, 2, '离石', 'li shi', 'lis', '离石区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141121, 1411, 2, '文水', 'wen shui', 'wes', '文水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141122, 1411, 2, '交城', 'jiao cheng', 'jic', '交城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141123, 1411, 2, '兴县', 'xing xian', 'xix', '兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141124, 1411, 2, '临县', 'lin xian', 'lix', '临县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141125, 1411, 2, '柳林', 'liu lin', 'lil', '柳林县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141126, 1411, 2, '石楼', 'shi lou', 'shl', '石楼县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141127, 1411, 2, '岚县', 'lan xian', 'lax', '岚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141128, 1411, 2, '方山', 'fang shan', 'fas', '方山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141129, 1411, 2, '中阳', 'zhong yang', 'zhy', '中阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141130, 1411, 2, '交口', 'jiao kou', 'jik', '交口县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141181, 1411, 2, '孝义', 'xiao yi', 'xiy', '孝义市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141182, 1411, 2, '汾阳', 'fen yang', 'fey', '汾阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150102, 1501, 2, '新城', 'xin cheng', 'xic', '新城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150103, 1501, 2, '回民', 'hui min', 'hum', '回民区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150104, 1501, 2, '玉泉', 'yu quan', 'yuq', '玉泉区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150105, 1501, 2, '赛罕', 'sai han', 'sah', '赛罕区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150121, 1501, 2, '土默特左旗', 'tu mo te zuo qi', 'tumt', '土默特左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150122, 1501, 2, '托克托', 'tuo ke tuo', 'tukt', '托克托县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150123, 1501, 2, '和林格尔', 'he lin ge er', 'helg', '和林格尔县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150124, 1501, 2, '清水河', 'qing shui he', 'qish', '清水河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150125, 1501, 2, '武川', 'wu chuan', 'wuc', '武川县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150171, 1501, 2, '呼和浩特金海工业园', 'hu he hao te jin hai gong ye yuan', 'huhh', '呼和浩特金海工业园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150172, 1501, 2, '呼和浩特经济技术开发区', 'hu he hao te jing ji ji shu kai fa qu', 'huhh', '呼和浩特经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150202, 1502, 2, '东河', 'dong he', 'doh', '东河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150203, 1502, 2, '昆都仑', 'kun du lun', 'kudl', '昆都仑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150204, 1502, 2, '青山', 'qing shan', 'qis', '青山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150205, 1502, 2, '石拐', 'shi guai', 'shg', '石拐区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150206, 1502, 2, '白云鄂博矿区', 'bai yun e bo kuang qu', 'baye', '白云鄂博矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150207, 1502, 2, '九原', 'jiu yuan', 'jiy', '九原区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150221, 1502, 2, '土默特右旗', 'tu mo te you qi', 'tumt', '土默特右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150222, 1502, 2, '固阳', 'gu yang', 'guy', '固阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150223, 1502, 2, '达尔罕茂明安联合旗', 'da er han mao ming an lian he qi', 'daeh', '达尔罕茂明安联合旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150271, 1502, 2, '包头稀土高新技术产业开发区', 'bao tou xi tu gao xin ji shu chan ye kai fa qu', 'batx', '包头稀土高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150302, 1503, 2, '海勃湾', 'hai bo wan', 'habw', '海勃湾区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150303, 1503, 2, '海南', 'hai nan', 'han', '海南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150304, 1503, 2, '乌达', 'wu da', 'wud', '乌达区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150402, 1504, 2, '红山', 'hong shan', 'hos', '红山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150403, 1504, 2, '元宝山', 'yuan bao shan', 'yubs', '元宝山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150404, 1504, 2, '松山', 'song shan', 'sos', '松山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150421, 1504, 2, '阿鲁科尔沁旗', 'a lu ke er qin qi', 'alk', '阿鲁科尔沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150422, 1504, 2, '巴林左旗', 'ba lin zuo qi', 'balz', '巴林左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150423, 1504, 2, '巴林右旗', 'ba lin you qi', 'baly', '巴林右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150424, 1504, 2, '林西', 'lin xi', 'lix', '林西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150425, 1504, 2, '克什克腾旗', 'ke shi ke teng qi', 'kesk', '克什克腾旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150426, 1504, 2, '翁牛特旗', 'weng niu te qi', 'went', '翁牛特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150428, 1504, 2, '喀喇沁旗', 'ka la qin qi', 'kalq', '喀喇沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150429, 1504, 2, '宁城', 'ning cheng', 'nic', '宁城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150430, 1504, 2, '敖汉旗', 'ao han qi', 'aohq', '敖汉旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150502, 1505, 2, '科尔沁', 'ke er qin', 'keeq', '科尔沁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150521, 1505, 2, '科尔沁左翼中旗', 'ke er qin zuo yi zhong qi', 'keeq', '科尔沁左翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150522, 1505, 2, '科尔沁左翼后旗', 'ke er qin zuo yi hou qi', 'keeq', '科尔沁左翼后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150523, 1505, 2, '开鲁', 'kai lu', 'kal', '开鲁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150524, 1505, 2, '库伦旗', 'ku lun qi', 'kulq', '库伦旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150525, 1505, 2, '奈曼旗', 'nai man qi', 'namq', '奈曼旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150526, 1505, 2, '扎鲁特旗', 'zha lu te qi', 'zhlt', '扎鲁特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150571, 1505, 2, '通辽经济技术开发区', 'tong liao jing ji ji shu kai fa qu', 'tolj', '通辽经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150581, 1505, 2, '霍林郭勒', 'huo lin guo le', 'hulg', '霍林郭勒市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150602, 1506, 2, '东胜', 'dong sheng', 'dos', '东胜区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150603, 1506, 2, '康巴什', 'kang ba shi', 'kabs', '康巴什区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150621, 1506, 2, '达拉特旗', 'da la te qi', 'dalt', '达拉特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150622, 1506, 2, '准格尔旗', 'zhun ge er qi', 'zhge', '准格尔旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150623, 1506, 2, '鄂托克前旗', 'e tuo ke qian qi', 'etk', '鄂托克前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150624, 1506, 2, '鄂托克旗', 'e tuo ke qi', 'etk', '鄂托克旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150625, 1506, 2, '杭锦旗', 'hang jin qi', 'hajq', '杭锦旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150626, 1506, 2, '乌审旗', 'wu shen qi', 'wusq', '乌审旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150627, 1506, 2, '伊金霍洛旗', 'yi jin huo luo qi', 'yijh', '伊金霍洛旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150702, 1507, 2, '海拉尔', 'hai la er', 'hale', '海拉尔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150703, 1507, 2, '扎赉诺尔', 'zha lai nuo er', 'zhln', '扎赉诺尔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150721, 1507, 2, '阿荣旗', 'a rong qi', 'arq', '阿荣旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150722, 1507, 2, '莫力达瓦达斡尔族自治旗', 'mo li da wa da wo er zu zi zhi qi', 'mold', '莫力达瓦达斡尔族自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150723, 1507, 2, '鄂伦春自治旗', 'e lun chun zi zhi qi', 'elc', '鄂伦春自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150724, 1507, 2, '鄂温克族自治旗', 'e wen ke zu zi zhi qi', 'ewk', '鄂温克族自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150725, 1507, 2, '陈巴尔虎旗', 'chen ba er hu qi', 'chbe', '陈巴尔虎旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150726, 1507, 2, '新巴尔虎左旗', 'xin ba er hu zuo qi', 'xibe', '新巴尔虎左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150727, 1507, 2, '新巴尔虎右旗', 'xin ba er hu you qi', 'xibe', '新巴尔虎右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150781, 1507, 2, '满洲里', 'man zhou li', 'mazl', '满洲里市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150782, 1507, 2, '牙克石', 'ya ke shi', 'yaks', '牙克石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150783, 1507, 2, '扎兰屯', 'zha lan tun', 'zhlt', '扎兰屯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150784, 1507, 2, '额尔古纳', 'e er gu na', 'eeg', '额尔古纳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150785, 1507, 2, '根河', 'gen he', 'geh', '根河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150802, 1508, 2, '临河', 'lin he', 'lih', '临河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150821, 1508, 2, '五原', 'wu yuan', 'wuy', '五原县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150822, 1508, 2, '磴口', 'deng kou', 'dek', '磴口县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150823, 1508, 2, '乌拉特前旗', 'wu la te qian qi', 'wult', '乌拉特前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150824, 1508, 2, '乌拉特中旗', 'wu la te zhong qi', 'wult', '乌拉特中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150825, 1508, 2, '乌拉特后旗', 'wu la te hou qi', 'wult', '乌拉特后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150826, 1508, 2, '杭锦后旗', 'hang jin hou qi', 'hajh', '杭锦后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150902, 1509, 2, '集宁', 'ji ning', 'jin', '集宁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150921, 1509, 2, '卓资', 'zhuo zi', 'zhz', '卓资县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150922, 1509, 2, '化德', 'hua de', 'hud', '化德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150923, 1509, 2, '商都', 'shang du', 'shd', '商都县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150924, 1509, 2, '兴和', 'xing he', 'xih', '兴和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150925, 1509, 2, '凉城', 'liang cheng', 'lic', '凉城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150926, 1509, 2, '察哈尔右翼前旗', 'cha ha er you yi qian qi', 'chhe', '察哈尔右翼前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150927, 1509, 2, '察哈尔右翼中旗', 'cha ha er you yi zhong qi', 'chhe', '察哈尔右翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150928, 1509, 2, '察哈尔右翼后旗', 'cha ha er you yi hou qi', 'chhe', '察哈尔右翼后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150929, 1509, 2, '四子王旗', 'si zi wang qi', 'sizw', '四子王旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150981, 1509, 2, '丰镇', 'feng zhen', 'fez', '丰镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152201, 1522, 2, '乌兰浩特', 'wu lan hao te', 'wulh', '乌兰浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152202, 1522, 2, '阿尔山', 'a er shan', 'aes', '阿尔山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152221, 1522, 2, '科尔沁右翼前旗', 'ke er qin you yi qian qi', 'keeq', '科尔沁右翼前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152222, 1522, 2, '科尔沁右翼中旗', 'ke er qin you yi zhong qi', 'keeq', '科尔沁右翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152223, 1522, 2, '扎赉特旗', 'zha lai te qi', 'zhlt', '扎赉特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152224, 1522, 2, '突泉', 'tu quan', 'tuq', '突泉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152501, 1525, 2, '二连浩特', 'er lian hao te', 'erlh', '二连浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152502, 1525, 2, '锡林浩特', 'xi lin hao te', 'xilh', '锡林浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152522, 1525, 2, '阿巴嘎旗', 'a ba ga qi', 'abg', '阿巴嘎旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152523, 1525, 2, '苏尼特左旗', 'su ni te zuo qi', 'sunt', '苏尼特左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152524, 1525, 2, '苏尼特右旗', 'su ni te you qi', 'sunt', '苏尼特右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152525, 1525, 2, '东乌珠穆沁旗', 'dong wu zhu mu qin qi', 'dowz', '东乌珠穆沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152526, 1525, 2, '西乌珠穆沁旗', 'xi wu zhu mu qin qi', 'xiwz', '西乌珠穆沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152527, 1525, 2, '太仆寺旗', 'tai pu si qi', 'taps', '太仆寺旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152528, 1525, 2, '镶黄旗', 'xiang huang qi', 'xihq', '镶黄旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152529, 1525, 2, '正镶白旗', 'zheng xiang bai qi', 'zhxb', '正镶白旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152530, 1525, 2, '正蓝旗', 'zheng lan qi', 'zhlq', '正蓝旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152531, 1525, 2, '多伦', 'duo lun', 'dul', '多伦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152571, 1525, 2, '乌拉盖', 'wu la gai', 'wulg', '乌拉盖管委会', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152921, 1529, 2, '阿拉善左旗', 'a la shan zuo qi', 'als', '阿拉善左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152922, 1529, 2, '阿拉善右旗', 'a la shan you qi', 'als', '阿拉善右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152923, 1529, 2, '额济纳旗', 'e ji na qi', 'ejn', '额济纳旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152971, 1529, 2, '内蒙古阿拉善经济开发区', 'nei meng gu a la shan jing ji kai fa qu', 'nemg', '内蒙古阿拉善经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210102, 2101, 2, '和平', 'he ping', 'hep', '和平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210103, 2101, 2, '沈河', 'shen he', 'shh', '沈河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210104, 2101, 2, '大东', 'da dong', 'dad', '大东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210105, 2101, 2, '皇姑', 'huang gu', 'hug', '皇姑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210106, 2101, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210111, 2101, 2, '苏家屯', 'su jia tun', 'sujt', '苏家屯区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210112, 2101, 2, '浑南', 'hun nan', 'hun', '浑南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210113, 2101, 2, '沈北新区', 'shen bei xin qu', 'shbx', '沈北新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210114, 2101, 2, '于洪', 'yu hong', 'yuh', '于洪区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210115, 2101, 2, '辽中', 'liao zhong', 'liz', '辽中区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210123, 2101, 2, '康平', 'kang ping', 'kap', '康平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210124, 2101, 2, '法库', 'fa ku', 'fak', '法库县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210181, 2101, 2, '新民', 'xin min', 'xim', '新民市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210202, 2102, 2, '中山', 'zhong shan', 'zhs', '中山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210203, 2102, 2, '西岗', 'xi gang', 'xig', '西岗区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210204, 2102, 2, '沙河口', 'sha he kou', 'shhk', '沙河口区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210211, 2102, 2, '甘井子', 'gan jing zi', 'gajz', '甘井子区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210212, 2102, 2, '旅顺口', 'lv shun kou', 'lvsk', '旅顺口区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210213, 2102, 2, '金州', 'jin zhou', 'jiz', '金州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210214, 2102, 2, '普兰店', 'pu lan dian', 'puld', '普兰店区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210224, 2102, 2, '长海', 'chang hai', 'chh', '长海县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210281, 2102, 2, '瓦房店', 'wa fang dian', 'wafd', '瓦房店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210283, 2102, 2, '庄河', 'zhuang he', 'zhh', '庄河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210302, 2103, 2, '铁东', 'tie dong', 'tid', '铁东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210303, 2103, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210304, 2103, 2, '立山', 'li shan', 'lis', '立山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210311, 2103, 2, '千山', 'qian shan', 'qis', '千山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210321, 2103, 2, '台安', 'tai an', 'taa', '台安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210323, 2103, 2, '岫岩满族自治县', 'xiu yan man zu zi zhi xian', 'xiym', '岫岩满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210381, 2103, 2, '海城', 'hai cheng', 'hac', '海城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210402, 2104, 2, '新抚', 'xin fu', 'xif', '新抚区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210403, 2104, 2, '东洲', 'dong zhou', 'doz', '东洲区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210404, 2104, 2, '望花', 'wang hua', 'wah', '望花区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210411, 2104, 2, '顺城', 'shun cheng', 'shc', '顺城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210421, 2104, 2, '抚顺', 'fu shun', 'fus', '抚顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210422, 2104, 2, '新宾满族自治县', 'xin bin man zu zi zhi xian', 'xibm', '新宾满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210423, 2104, 2, '清原满族自治县', 'qing yuan man zu zi zhi xian', 'qiym', '清原满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210502, 2105, 2, '平山', 'ping shan', 'pis', '平山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210503, 2105, 2, '溪湖', 'xi hu', 'xih', '溪湖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210504, 2105, 2, '明山', 'ming shan', 'mis', '明山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210505, 2105, 2, '南芬', 'nan fen', 'naf', '南芬区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210521, 2105, 2, '本溪满族自治县', 'ben xi man zu zi zhi xian', 'bexm', '本溪满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210522, 2105, 2, '桓仁满族自治县', 'huan ren man zu zi zhi xian', 'hurm', '桓仁满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210602, 2106, 2, '元宝', 'yuan bao', 'yub', '元宝区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210603, 2106, 2, '振兴', 'zhen xing', 'zhx', '振兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210604, 2106, 2, '振安', 'zhen an', 'zha', '振安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210624, 2106, 2, '宽甸满族自治县', 'kuan dian man zu zi zhi xian', 'kudm', '宽甸满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210681, 2106, 2, '东港', 'dong gang', 'dog', '东港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210682, 2106, 2, '凤城', 'feng cheng', 'fec', '凤城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210702, 2107, 2, '古塔', 'gu ta', 'gut', '古塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210703, 2107, 2, '凌河', 'ling he', 'lih', '凌河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210711, 2107, 2, '太和', 'tai he', 'tah', '太和区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210726, 2107, 2, '黑山', 'hei shan', 'hes', '黑山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210727, 2107, 2, '义县', 'yi xian', 'yix', '义县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210781, 2107, 2, '凌海', 'ling hai', 'lih', '凌海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210782, 2107, 2, '北镇', 'bei zhen', 'bez', '北镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210802, 2108, 2, '站前', 'zhan qian', 'zhq', '站前区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210803, 2108, 2, '西市', 'xi shi', 'xis', '西市区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210804, 2108, 2, '鲅鱼圈', 'ba yu quan', 'bayq', '鲅鱼圈区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210811, 2108, 2, '老边', 'lao bian', 'lab', '老边区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210881, 2108, 2, '盖州', 'gai zhou', 'gaz', '盖州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210882, 2108, 2, '大石桥', 'da shi qiao', 'dasq', '大石桥市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210902, 2109, 2, '海州', 'hai zhou', 'haz', '海州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210903, 2109, 2, '新邱', 'xin qiu', 'xiq', '新邱区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210904, 2109, 2, '太平', 'tai ping', 'tap', '太平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210905, 2109, 2, '清河门', 'qing he men', 'qihm', '清河门区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210911, 2109, 2, '细河', 'xi he', 'xih', '细河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210921, 2109, 2, '阜新蒙古族自治县', 'fu xin meng gu zu zi zhi xian', 'fuxm', '阜新蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210922, 2109, 2, '彰武', 'zhang wu', 'zhw', '彰武县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211002, 2110, 2, '白塔', 'bai ta', 'bat', '白塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211003, 2110, 2, '文圣', 'wen sheng', 'wes', '文圣区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211004, 2110, 2, '宏伟', 'hong wei', 'how', '宏伟区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211005, 2110, 2, '弓长岭', 'gong chang ling', 'gocl', '弓长岭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211011, 2110, 2, '太子河', 'tai zi he', 'tazh', '太子河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211021, 2110, 2, '辽阳', 'liao yang', 'liy', '辽阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211081, 2110, 2, '灯塔', 'deng ta', 'det', '灯塔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211102, 2111, 2, '双台子', 'shuang tai zi', 'shtz', '双台子区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211103, 2111, 2, '兴隆台', 'xing long tai', 'xilt', '兴隆台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211104, 2111, 2, '大洼', 'da wa', 'daw', '大洼区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211122, 2111, 2, '盘山', 'pan shan', 'pas', '盘山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211202, 2112, 2, '银州', 'yin zhou', 'yiz', '银州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211204, 2112, 2, '清河', 'qing he', 'qih', '清河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211221, 2112, 2, '铁岭', 'tie ling', 'til', '铁岭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211223, 2112, 2, '西丰', 'xi feng', 'xif', '西丰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211224, 2112, 2, '昌图', 'chang tu', 'cht', '昌图县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211281, 2112, 2, '调兵山', 'diao bing shan', 'dibs', '调兵山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211282, 2112, 2, '开原', 'kai yuan', 'kay', '开原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211302, 2113, 2, '双塔', 'shuang ta', 'sht', '双塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211303, 2113, 2, '龙城', 'long cheng', 'loc', '龙城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211321, 2113, 2, '朝阳', 'chao yang', 'chy', '朝阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211322, 2113, 2, '建平', 'jian ping', 'jip', '建平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211324, 2113, 2, '喀喇沁左翼蒙古族自治县', 'ka la qin zuo yi meng gu zu zi zhi xian', 'kalq', '喀喇沁左翼蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211381, 2113, 2, '北票', 'bei piao', 'bep', '北票市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211382, 2113, 2, '凌源', 'ling yuan', 'liy', '凌源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211402, 2114, 2, '连山', 'lian shan', 'lis', '连山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211403, 2114, 2, '龙港', 'long gang', 'log', '龙港区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211404, 2114, 2, '南票', 'nan piao', 'nap', '南票区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211421, 2114, 2, '绥中', 'sui zhong', 'suz', '绥中县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211422, 2114, 2, '建昌', 'jian chang', 'jic', '建昌县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211481, 2114, 2, '兴城', 'xing cheng', 'xic', '兴城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220102, 2201, 2, '南关', 'nan guan', 'nag', '南关区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220103, 2201, 2, '宽城', 'kuan cheng', 'kuc', '宽城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220104, 2201, 2, '朝阳', 'chao yang', 'chy', '朝阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220105, 2201, 2, '二道', 'er dao', 'erd', '二道区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220106, 2201, 2, '绿园', 'lv yuan', 'lvy', '绿园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220112, 2201, 2, '双阳', 'shuang yang', 'shy', '双阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220113, 2201, 2, '九台', 'jiu tai', 'jit', '九台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220122, 2201, 2, '农安', 'nong an', 'noa', '农安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220171, 2201, 2, '长春经济技术开发区', 'chang chun jing ji ji shu kai fa qu', 'chcj', '长春经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220172, 2201, 2, '长春净月高新技术产业开发区', 'chang chun jing yue gao xin ji shu chan ye kai fa qu', 'chcj', '长春净月高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220173, 2201, 2, '长春高新技术产业开发区', 'chang chun gao xin ji shu chan ye kai fa qu', 'chcg', '长春高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220174, 2201, 2, '长春汽车经济技术开发区', 'chang chun qi che jing ji ji shu kai fa qu', 'chcq', '长春汽车经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220182, 2201, 2, '榆树', 'yu shu', 'yus', '榆树市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220183, 2201, 2, '德惠', 'de hui', 'deh', '德惠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220202, 2202, 2, '昌邑', 'chang yi', 'chy', '昌邑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220203, 2202, 2, '龙潭', 'long tan', 'lot', '龙潭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220204, 2202, 2, '船营', 'chuan ying', 'chy', '船营区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220211, 2202, 2, '丰满', 'feng man', 'fem', '丰满区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220221, 2202, 2, '永吉', 'yong ji', 'yoj', '永吉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220271, 2202, 2, '吉林经济开发区', 'ji lin jing ji kai fa qu', 'jilj', '吉林经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220272, 2202, 2, '吉林高新技术产业开发区', 'ji lin gao xin ji shu chan ye kai fa qu', 'jilg', '吉林高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220273, 2202, 2, '吉林中国新加坡食品', 'ji lin zhong guo xin jia po shi pin', 'jilz', '吉林中国新加坡食品区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220281, 2202, 2, '蛟河', 'jiao he', 'jih', '蛟河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220282, 2202, 2, '桦甸', 'hua dian', 'hud', '桦甸市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220283, 2202, 2, '舒兰', 'shu lan', 'shl', '舒兰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220284, 2202, 2, '磐石', 'pan shi', 'pas', '磐石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220302, 2203, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220303, 2203, 2, '铁东', 'tie dong', 'tid', '铁东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220322, 2203, 2, '梨树', 'li shu', 'lis', '梨树县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220323, 2203, 2, '伊通满族自治县', 'yi tong man zu zi zhi xian', 'yitm', '伊通满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220381, 2203, 2, '公主岭', 'gong zhu ling', 'gozl', '公主岭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220382, 2203, 2, '双辽', 'shuang liao', 'shl', '双辽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220402, 2204, 2, '龙山', 'long shan', 'los', '龙山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220403, 2204, 2, '西安', 'xi an', 'xia', '西安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220421, 2204, 2, '东丰', 'dong feng', 'dof', '东丰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220422, 2204, 2, '东辽', 'dong liao', 'dol', '东辽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220502, 2205, 2, '东昌', 'dong chang', 'doc', '东昌区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220503, 2205, 2, '二道江', 'er dao jiang', 'erdj', '二道江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220521, 2205, 2, '通化', 'tong hua', 'toh', '通化县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220523, 2205, 2, '辉南', 'hui nan', 'hun', '辉南县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220524, 2205, 2, '柳河', 'liu he', 'lih', '柳河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220581, 2205, 2, '梅河口', 'mei he kou', 'mehk', '梅河口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220582, 2205, 2, '集安', 'ji an', 'jia', '集安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220602, 2206, 2, '浑江', 'hun jiang', 'huj', '浑江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220605, 2206, 2, '江源', 'jiang yuan', 'jiy', '江源区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220621, 2206, 2, '抚松', 'fu song', 'fus', '抚松县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220622, 2206, 2, '靖宇', 'jing yu', 'jiy', '靖宇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220623, 2206, 2, '长白朝鲜族自治县', 'chang bai chao xian zu zi zhi xian', 'chbc', '长白朝鲜族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220681, 2206, 2, '临江', 'lin jiang', 'lij', '临江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220702, 2207, 2, '宁江', 'ning jiang', 'nij', '宁江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220721, 2207, 2, '前郭尔罗斯蒙古族自治县', 'qian guo er luo si meng gu zu zi zhi xian', 'qige', '前郭尔罗斯蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220722, 2207, 2, '长岭', 'chang ling', 'chl', '长岭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220723, 2207, 2, '乾安', 'gan an', 'gaa', '乾安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220771, 2207, 2, '吉林松原经济开发区', 'ji lin song yuan jing ji kai fa qu', 'jils', '吉林松原经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220781, 2207, 2, '扶余', 'fu yu', 'fuy', '扶余市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220802, 2208, 2, '洮北', 'tao bei', 'tab', '洮北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220821, 2208, 2, '镇赉', 'zhen lai', 'zhl', '镇赉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220822, 2208, 2, '通榆', 'tong yu', 'toy', '通榆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220871, 2208, 2, '吉林白城经济开发区', 'ji lin bai cheng jing ji kai fa qu', 'jilb', '吉林白城经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220881, 2208, 2, '洮南', 'tao nan', 'tan', '洮南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220882, 2208, 2, '大安', 'da an', 'daa', '大安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222401, 2224, 2, '延吉', 'yan ji', 'yaj', '延吉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222402, 2224, 2, '图们', 'tu men', 'tum', '图们市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222403, 2224, 2, '敦化', 'dun hua', 'duh', '敦化市', NULL, NULL, NULL, NULL), + (222404, 2224, 2, '珲春', 'hun chun', 'huc', '珲春市', NULL, NULL, NULL, NULL), + (222405, 2224, 2, '龙井', 'long jing', 'loj', '龙井市', NULL, NULL, NULL, NULL), + (222406, 2224, 2, '和龙', 'he long', 'hel', '和龙市', NULL, NULL, NULL, NULL), + (222424, 2224, 2, '汪清', 'wang qing', 'waq', '汪清县', NULL, NULL, NULL, NULL), + (222426, 2224, 2, '安图', 'an tu', 'ant', '安图县', NULL, NULL, NULL, NULL), + (230102, 2301, 2, '道里', 'dao li', 'dal', '道里区', NULL, NULL, NULL, NULL), + (230103, 2301, 2, '南岗', 'nan gang', 'nag', '南岗区', NULL, NULL, NULL, NULL), + (230104, 2301, 2, '道外', 'dao wai', 'daw', '道外区', NULL, NULL, NULL, NULL), + (230108, 2301, 2, '平房', 'ping fang', 'pif', '平房区', NULL, NULL, NULL, NULL), + (230109, 2301, 2, '松北', 'song bei', 'sob', '松北区', NULL, NULL, NULL, NULL), + (230110, 2301, 2, '香坊', 'xiang fang', 'xif', '香坊区', NULL, NULL, NULL, NULL), + (230111, 2301, 2, '呼兰', 'hu lan', 'hul', '呼兰区', NULL, NULL, NULL, NULL), + (230112, 2301, 2, '阿城', 'a cheng', 'ac', '阿城区', NULL, NULL, NULL, NULL), + (230113, 2301, 2, '双城', 'shuang cheng', 'shc', '双城区', NULL, NULL, NULL, NULL), + (230123, 2301, 2, '依兰', 'yi lan', 'yil', '依兰县', NULL, NULL, NULL, NULL), + (230124, 2301, 2, '方正', 'fang zheng', 'faz', '方正县', NULL, NULL, NULL, NULL), + (230125, 2301, 2, '宾县', 'bin xian', 'bix', '宾县', NULL, NULL, NULL, NULL), + (230126, 2301, 2, '巴彦', 'ba yan', 'bay', '巴彦县', NULL, NULL, NULL, NULL), + (230127, 2301, 2, '木兰', 'mu lan', 'mul', '木兰县', NULL, NULL, NULL, NULL), + (230128, 2301, 2, '通河', 'tong he', 'toh', '通河县', NULL, NULL, NULL, NULL), + (230129, 2301, 2, '延寿', 'yan shou', 'yas', '延寿县', NULL, NULL, NULL, NULL), + (230183, 2301, 2, '尚志', 'shang zhi', 'shz', '尚志市', NULL, NULL, NULL, NULL), + (230184, 2301, 2, '五常', 'wu chang', 'wuc', '五常市', NULL, NULL, NULL, NULL), + (230202, 2302, 2, '龙沙', 'long sha', 'los', '龙沙区', NULL, NULL, NULL, NULL), + (230203, 2302, 2, '建华', 'jian hua', 'jih', '建华区', NULL, NULL, NULL, NULL), + (230204, 2302, 2, '铁锋', 'tie feng', 'tif', '铁锋区', NULL, NULL, NULL, NULL), + (230205, 2302, 2, '昂昂溪', 'ang ang xi', 'anax', '昂昂溪区', NULL, NULL, NULL, NULL), + (230206, 2302, 2, '富拉尔基', 'fu la er ji', 'fule', '富拉尔基区', NULL, NULL, NULL, NULL), + (230207, 2302, 2, '碾子山', 'nian zi shan', 'nizs', '碾子山区', NULL, NULL, NULL, NULL), + (230208, 2302, 2, '梅里斯达斡尔族', 'mei li si da wo er zu', 'mels', '梅里斯达斡尔族区', NULL, NULL, NULL, NULL), + (230221, 2302, 2, '龙江', 'long jiang', 'loj', '龙江县', NULL, NULL, NULL, NULL), + (230223, 2302, 2, '依安', 'yi an', 'yia', '依安县', NULL, NULL, NULL, NULL), + (230224, 2302, 2, '泰来', 'tai lai', 'tal', '泰来县', NULL, NULL, NULL, NULL), + (230225, 2302, 2, '甘南', 'gan nan', 'gan', '甘南县', NULL, NULL, NULL, NULL), + (230227, 2302, 2, '富裕', 'fu yu', 'fuy', '富裕县', NULL, NULL, NULL, NULL), + (230229, 2302, 2, '克山', 'ke shan', 'kes', '克山县', NULL, NULL, NULL, NULL), + (230230, 2302, 2, '克东', 'ke dong', 'ked', '克东县', NULL, NULL, NULL, NULL), + (230231, 2302, 2, '拜泉', 'bai quan', 'baq', '拜泉县', NULL, NULL, NULL, NULL), + (230281, 2302, 2, '讷河', 'ne he', 'neh', '讷河市', NULL, NULL, NULL, NULL), + (230302, 2303, 2, '鸡冠', 'ji guan', 'jig', '鸡冠区', NULL, NULL, NULL, NULL), + (230303, 2303, 2, '恒山', 'heng shan', 'hes', '恒山区', NULL, NULL, NULL, NULL), + (230304, 2303, 2, '滴道', 'di dao', 'did', '滴道区', NULL, NULL, NULL, NULL), + (230305, 2303, 2, '梨树', 'li shu', 'lis', '梨树区', NULL, NULL, NULL, NULL), + (230306, 2303, 2, '城子河', 'cheng zi he', 'chzh', '城子河区', NULL, NULL, NULL, NULL), + (230307, 2303, 2, '麻山', 'ma shan', 'mas', '麻山区', NULL, NULL, NULL, NULL), + (230321, 2303, 2, '鸡东', 'ji dong', 'jid', '鸡东县', NULL, NULL, NULL, NULL), + (230381, 2303, 2, '虎林', 'hu lin', 'hul', '虎林市', NULL, NULL, NULL, NULL), + (230382, 2303, 2, '密山', 'mi shan', 'mis', '密山市', NULL, NULL, NULL, NULL), + (230402, 2304, 2, '向阳', 'xiang yang', 'xiy', '向阳区', NULL, NULL, NULL, NULL), + (230403, 2304, 2, '工农', 'gong nong', 'gon', '工农区', NULL, NULL, NULL, NULL), + (230404, 2304, 2, '南山', 'nan shan', 'nas', '南山区', NULL, NULL, NULL, NULL), + (230405, 2304, 2, '兴安', 'xing an', 'xia', '兴安区', NULL, NULL, NULL, NULL), + (230406, 2304, 2, '东山', 'dong shan', 'dos', '东山区', NULL, NULL, NULL, NULL), + (230407, 2304, 2, '兴山', 'xing shan', 'xis', '兴山区', NULL, NULL, NULL, NULL), + (230421, 2304, 2, '萝北', 'luo bei', 'lub', '萝北县', NULL, NULL, NULL, NULL), + (230422, 2304, 2, '绥滨', 'sui bin', 'sub', '绥滨县', NULL, NULL, NULL, NULL), + (230502, 2305, 2, '尖山', 'jian shan', 'jis', '尖山区', NULL, NULL, NULL, NULL), + (230503, 2305, 2, '岭东', 'ling dong', 'lid', '岭东区', NULL, NULL, NULL, NULL), + (230505, 2305, 2, '四方台', 'si fang tai', 'sift', '四方台区', NULL, NULL, NULL, NULL), + (230506, 2305, 2, '宝山', 'bao shan', 'bas', '宝山区', NULL, NULL, NULL, NULL), + (230521, 2305, 2, '集贤', 'ji xian', 'jix', '集贤县', NULL, NULL, NULL, NULL), + (230522, 2305, 2, '友谊', 'you yi', 'yoy', '友谊县', NULL, NULL, NULL, NULL), + (230523, 2305, 2, '宝清', 'bao qing', 'baq', '宝清县', NULL, NULL, NULL, NULL), + (230524, 2305, 2, '饶河', 'rao he', 'rah', '饶河县', NULL, NULL, NULL, NULL), + (230602, 2306, 2, '萨尔图', 'sa er tu', 'saet', '萨尔图区', NULL, NULL, NULL, NULL), + (230603, 2306, 2, '龙凤', 'long feng', 'lof', '龙凤区', NULL, NULL, NULL, NULL), + (230604, 2306, 2, '让胡路', 'rang hu lu', 'rahl', '让胡路区', NULL, NULL, NULL, NULL), + (230605, 2306, 2, '红岗', 'hong gang', 'hog', '红岗区', NULL, NULL, NULL, NULL), + (230606, 2306, 2, '大同', 'da tong', 'dat', '大同区', NULL, NULL, NULL, NULL), + (230621, 2306, 2, '肇州', 'zhao zhou', 'zhz', '肇州县', NULL, NULL, NULL, NULL), + (230622, 2306, 2, '肇源', 'zhao yuan', 'zhy', '肇源县', NULL, NULL, NULL, NULL), + (230623, 2306, 2, '林甸', 'lin dian', 'lid', '林甸县', NULL, NULL, NULL, NULL), + (230624, 2306, 2, '杜尔伯特蒙古族自治县', 'du er bo te meng gu zu zi zhi xian', 'dueb', '杜尔伯特蒙古族自治县', NULL, NULL, NULL, NULL), + (230671, 2306, 2, '大庆高新技术产业开发区', 'da qing gao xin ji shu chan ye kai fa qu', 'daqg', '大庆高新技术产业开发区', NULL, NULL, NULL, NULL), + (230702, 2307, 2, '伊春', 'yi chun', 'yic', '伊春区', NULL, NULL, NULL, NULL), + (230703, 2307, 2, '南岔', 'nan cha', 'nac', '南岔区', NULL, NULL, NULL, NULL), + (230704, 2307, 2, '友好', 'you hao', 'yoh', '友好区', NULL, NULL, NULL, NULL), + (230705, 2307, 2, '西林', 'xi lin', 'xil', '西林区', NULL, NULL, NULL, NULL), + (230706, 2307, 2, '翠峦', 'cui luan', 'cul', '翠峦区', NULL, NULL, NULL, NULL), + (230707, 2307, 2, '新青', 'xin qing', 'xiq', '新青区', NULL, NULL, NULL, NULL), + (230708, 2307, 2, '美溪', 'mei xi', 'mex', '美溪区', NULL, NULL, NULL, NULL), + (230709, 2307, 2, '金山屯', 'jin shan tun', 'jist', '金山屯区', NULL, NULL, NULL, NULL), + (230710, 2307, 2, '五营', 'wu ying', 'wuy', '五营区', NULL, NULL, NULL, NULL), + (230711, 2307, 2, '乌马河', 'wu ma he', 'wumh', '乌马河区', NULL, NULL, NULL, NULL), + (230712, 2307, 2, '汤旺河', 'tang wang he', 'tawh', '汤旺河区', NULL, NULL, NULL, NULL), + (230713, 2307, 2, '带岭', 'dai ling', 'dal', '带岭区', NULL, NULL, NULL, NULL), + (230714, 2307, 2, '乌伊岭', 'wu yi ling', 'wuyl', '乌伊岭区', NULL, NULL, NULL, NULL), + (230715, 2307, 2, '红星', 'hong xing', 'hox', '红星区', NULL, NULL, NULL, NULL), + (230716, 2307, 2, '上甘岭', 'shang gan ling', 'shgl', '上甘岭区', NULL, NULL, NULL, NULL), + (230722, 2307, 2, '嘉荫', 'jia yin', 'jiy', '嘉荫县', NULL, NULL, NULL, NULL), + (230781, 2307, 2, '铁力', 'tie li', 'til', '铁力市', NULL, NULL, NULL, NULL), + (230803, 2308, 2, '向阳', 'xiang yang', 'xiy', '向阳区', NULL, NULL, NULL, NULL), + (230804, 2308, 2, '前进', 'qian jin', 'qij', '前进区', NULL, NULL, NULL, NULL), + (230805, 2308, 2, '东风', 'dong feng', 'dof', '东风区', NULL, NULL, NULL, NULL), + (230811, 2308, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, NULL, NULL, NULL), + (230822, 2308, 2, '桦南', 'hua nan', 'hun', '桦南县', NULL, NULL, NULL, NULL), + (230826, 2308, 2, '桦川', 'hua chuan', 'huc', '桦川县', NULL, NULL, NULL, NULL), + (230828, 2308, 2, '汤原', 'tang yuan', 'tay', '汤原县', NULL, NULL, NULL, NULL), + (230881, 2308, 2, '同江', 'tong jiang', 'toj', '同江市', NULL, NULL, NULL, NULL), + (230882, 2308, 2, '富锦', 'fu jin', 'fuj', '富锦市', NULL, NULL, NULL, NULL), + (230883, 2308, 2, '抚远', 'fu yuan', 'fuy', '抚远市', NULL, NULL, NULL, NULL), + (230902, 2309, 2, '新兴', 'xin xing', 'xix', '新兴区', NULL, NULL, NULL, NULL), + (230903, 2309, 2, '桃山', 'tao shan', 'tas', '桃山区', NULL, NULL, NULL, NULL), + (230904, 2309, 2, '茄子河', 'qie zi he', 'qizh', '茄子河区', NULL, NULL, NULL, NULL), + (230921, 2309, 2, '勃利', 'bo li', 'bol', '勃利县', NULL, NULL, NULL, NULL), + (231002, 2310, 2, '东安', 'dong an', 'doa', '东安区', NULL, NULL, NULL, NULL), + (231003, 2310, 2, '阳明', 'yang ming', 'yam', '阳明区', NULL, NULL, NULL, NULL), + (231004, 2310, 2, '爱民', 'ai min', 'aim', '爱民区', NULL, NULL, NULL, NULL), + (231005, 2310, 2, '西安', 'xi an', 'xia', '西安区', NULL, NULL, NULL, NULL), + (231025, 2310, 2, '林口', 'lin kou', 'lik', '林口县', NULL, NULL, NULL, NULL), + (231071, 2310, 2, '牡丹江经济技术开发区', 'mu dan jiang jing ji ji shu kai fa qu', 'mudj', '牡丹江经济技术开发区', NULL, NULL, NULL, NULL), + (231081, 2310, 2, '绥芬河', 'sui fen he', 'sufh', '绥芬河市', NULL, NULL, NULL, NULL), + (231083, 2310, 2, '海林', 'hai lin', 'hal', '海林市', NULL, NULL, NULL, NULL), + (231084, 2310, 2, '宁安', 'ning an', 'nia', '宁安市', NULL, NULL, NULL, NULL), + (231085, 2310, 2, '穆棱', 'mu ling', 'mul', '穆棱市', NULL, NULL, NULL, NULL), + (231086, 2310, 2, '东宁', 'dong ning', 'don', '东宁市', NULL, NULL, NULL, NULL), + (231102, 2311, 2, '爱辉', 'ai hui', 'aih', '爱辉区', NULL, NULL, NULL, NULL), + (231121, 2311, 2, '嫩江', 'nen jiang', 'nej', '嫩江县', NULL, NULL, NULL, NULL), + (231123, 2311, 2, '逊克', 'xun ke', 'xuk', '逊克县', NULL, NULL, NULL, NULL), + (231124, 2311, 2, '孙吴', 'sun wu', 'suw', '孙吴县', NULL, NULL, NULL, NULL), + (231181, 2311, 2, '北安', 'bei an', 'bea', '北安市', NULL, NULL, NULL, NULL), + (231182, 2311, 2, '五大连池', 'wu da lian chi', 'wudl', '五大连池市', NULL, NULL, NULL, NULL), + (231202, 2312, 2, '北林', 'bei lin', 'bel', '北林区', NULL, NULL, NULL, NULL), + (231221, 2312, 2, '望奎', 'wang kui', 'wak', '望奎县', NULL, NULL, NULL, NULL), + (231222, 2312, 2, '兰西', 'lan xi', 'lax', '兰西县', NULL, NULL, NULL, NULL), + (231223, 2312, 2, '青冈', 'qing gang', 'qig', '青冈县', NULL, NULL, NULL, NULL), + (231224, 2312, 2, '庆安', 'qing an', 'qia', '庆安县', NULL, NULL, NULL, NULL), + (231225, 2312, 2, '明水', 'ming shui', 'mis', '明水县', NULL, NULL, NULL, NULL), + (231226, 2312, 2, '绥棱', 'sui ling', 'sul', '绥棱县', NULL, NULL, NULL, NULL), + (231281, 2312, 2, '安达', 'an da', 'and', '安达市', NULL, NULL, NULL, NULL), + (231282, 2312, 2, '肇东', 'zhao dong', 'zhd', '肇东市', NULL, NULL, NULL, NULL), + (231283, 2312, 2, '海伦', 'hai lun', 'hal', '海伦市', NULL, NULL, NULL, NULL), + (232701, 2327, 2, '加格达奇', 'jia ge da qi', 'jigd', '加格达奇区', NULL, NULL, NULL, NULL), + (232702, 2327, 2, '松岭', 'song ling', 'sol', '松岭区', NULL, NULL, NULL, NULL), + (232703, 2327, 2, '新林', 'xin lin', 'xil', '新林区', NULL, NULL, NULL, NULL), + (232704, 2327, 2, '呼中', 'hu zhong', 'huz', '呼中区', NULL, NULL, NULL, NULL), + (232721, 2327, 2, '呼玛', 'hu ma', 'hum', '呼玛县', NULL, NULL, NULL, NULL), + (232722, 2327, 2, '塔河', 'ta he', 'tah', '塔河县', NULL, NULL, NULL, NULL), + (232723, 2327, 2, '漠河', 'mo he', 'moh', '漠河县', NULL, NULL, NULL, NULL), + (310101, 3101, 2, '黄浦', 'huang pu', 'hup', '黄浦区', NULL, NULL, NULL, NULL), + (310104, 3101, 2, '徐汇', 'xu hui', 'xuh', '徐汇区', NULL, NULL, NULL, NULL), + (310105, 3101, 2, '长宁', 'chang ning', 'chn', '长宁区', NULL, NULL, NULL, NULL), + (310106, 3101, 2, '静安', 'jing an', 'jia', '静安区', NULL, NULL, NULL, NULL), + (310107, 3101, 2, '普陀', 'pu tuo', 'put', '普陀区', NULL, NULL, NULL, NULL), + (310109, 3101, 2, '虹口', 'hong kou', 'hok', '虹口区', NULL, NULL, NULL, NULL), + (310110, 3101, 2, '杨浦', 'yang pu', 'yap', '杨浦区', NULL, NULL, NULL, NULL), + (310112, 3101, 2, '闵行', 'min hang', 'mih', '闵行区', NULL, NULL, NULL, NULL), + (310113, 3101, 2, '宝山', 'bao shan', 'bas', '宝山区', NULL, NULL, NULL, NULL), + (310114, 3101, 2, '嘉定', 'jia ding', 'jid', '嘉定区', NULL, NULL, NULL, NULL), + (310115, 3101, 2, '浦东新区', 'pu dong xin qu', 'pudx', '浦东新区', NULL, NULL, NULL, NULL), + (310116, 3101, 2, '金山', 'jin shan', 'jis', '金山区', NULL, NULL, NULL, NULL), + (310117, 3101, 2, '松江', 'song jiang', 'soj', '松江区', NULL, NULL, NULL, NULL), + (310118, 3101, 2, '青浦', 'qing pu', 'qip', '青浦区', NULL, NULL, NULL, NULL), + (310120, 3101, 2, '奉贤', 'feng xian', 'fex', '奉贤区', NULL, NULL, NULL, NULL), + (310151, 3101, 2, '崇明', 'chong ming', 'chm', '崇明区', NULL, NULL, NULL, NULL), + (320102, 3201, 2, '玄武', 'xuan wu', 'xuw', '玄武区', NULL, NULL, NULL, NULL), + (320104, 3201, 2, '秦淮', 'qin huai', 'qih', '秦淮区', NULL, NULL, NULL, NULL), + (320105, 3201, 2, '建邺', 'jian ye', 'jiy', '建邺区', NULL, NULL, NULL, NULL), + (320106, 3201, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (320111, 3201, 2, '浦口', 'pu kou', 'puk', '浦口区', NULL, NULL, NULL, NULL), + (320113, 3201, 2, '栖霞', 'qi xia', 'qix', '栖霞区', NULL, NULL, NULL, NULL), + (320114, 3201, 2, '雨花台', 'yu hua tai', 'yuht', '雨花台区', NULL, NULL, NULL, NULL), + (320115, 3201, 2, '江宁', 'jiang ning', 'jin', '江宁区', NULL, NULL, NULL, NULL), + (320116, 3201, 2, '六合', 'liu he', 'lih', '六合区', NULL, NULL, NULL, NULL), + (320117, 3201, 2, '溧水', 'li shui', 'lis', '溧水区', NULL, NULL, NULL, NULL), + (320118, 3201, 2, '高淳', 'gao chun', 'gac', '高淳区', NULL, NULL, NULL, NULL), + (320205, 3202, 2, '锡山', 'xi shan', 'xis', '锡山区', NULL, NULL, NULL, NULL), + (320206, 3202, 2, '惠山', 'hui shan', 'hus', '惠山区', NULL, NULL, NULL, NULL), + (320211, 3202, 2, '滨湖', 'bin hu', 'bih', '滨湖区', NULL, NULL, NULL, NULL), + (320213, 3202, 2, '梁溪', 'liang xi', 'lix', '梁溪区', NULL, NULL, NULL, NULL), + (320214, 3202, 2, '新吴', 'xin wu', 'xiw', '新吴区', NULL, NULL, NULL, NULL), + (320281, 3202, 2, '江阴', 'jiang yin', 'jiy', '江阴市', NULL, NULL, NULL, NULL), + (320282, 3202, 2, '宜兴', 'yi xing', 'yix', '宜兴市', NULL, NULL, NULL, NULL), + (320302, 3203, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (320303, 3203, 2, '云龙', 'yun long', 'yul', '云龙区', NULL, NULL, NULL, NULL), + (320305, 3203, 2, '贾汪', 'jia wang', 'jiw', '贾汪区', NULL, NULL, NULL, NULL), + (320311, 3203, 2, '泉山', 'quan shan', 'qus', '泉山区', NULL, NULL, NULL, NULL), + (320312, 3203, 2, '铜山', 'tong shan', 'tos', '铜山区', NULL, NULL, NULL, NULL), + (320321, 3203, 2, '丰县', 'feng xian', 'fex', '丰县', NULL, NULL, NULL, NULL), + (320322, 3203, 2, '沛县', 'pei xian', 'pex', '沛县', NULL, NULL, NULL, NULL), + (320324, 3203, 2, '睢宁', 'sui ning', 'sun', '睢宁县', NULL, NULL, NULL, NULL), + (320371, 3203, 2, '徐州经济技术开发区', 'xu zhou jing ji ji shu kai fa qu', 'xuzj', '徐州经济技术开发区', NULL, NULL, NULL, NULL), + (320381, 3203, 2, '新沂', 'xin yi', 'xiy', '新沂市', NULL, NULL, NULL, NULL), + (320382, 3203, 2, '邳州', 'pi zhou', 'piz', '邳州市', NULL, NULL, NULL, NULL), + (320402, 3204, 2, '天宁', 'tian ning', 'tin', '天宁区', NULL, NULL, NULL, NULL), + (320404, 3204, 2, '钟楼', 'zhong lou', 'zhl', '钟楼区', NULL, NULL, NULL, NULL), + (320411, 3204, 2, '新北', 'xin bei', 'xib', '新北区', NULL, NULL, NULL, NULL), + (320412, 3204, 2, '武进', 'wu jin', 'wuj', '武进区', NULL, NULL, NULL, NULL), + (320413, 3204, 2, '金坛', 'jin tan', 'jit', '金坛区', NULL, NULL, NULL, NULL), + (320481, 3204, 2, '溧阳', 'li yang', 'liy', '溧阳市', NULL, NULL, NULL, NULL), + (320505, 3205, 2, '虎丘', 'hu qiu', 'huq', '虎丘区', NULL, NULL, NULL, NULL), + (320506, 3205, 2, '吴中', 'wu zhong', 'wuz', '吴中区', NULL, NULL, NULL, NULL), + (320507, 3205, 2, '相城', 'xiang cheng', 'xic', '相城区', NULL, NULL, NULL, NULL), + (320508, 3205, 2, '姑苏', 'gu su', 'gus', '姑苏区', NULL, NULL, NULL, NULL), + (320509, 3205, 2, '吴江', 'wu jiang', 'wuj', '吴江区', NULL, NULL, NULL, NULL), + (320571, 3205, 2, '苏州工业园', 'su zhou gong ye yuan', 'suzg', '苏州工业园区', NULL, NULL, NULL, NULL), + (320581, 3205, 2, '常熟', 'chang shu', 'chs', '常熟市', NULL, NULL, NULL, NULL), + (320582, 3205, 2, '张家港', 'zhang jia gang', 'zhjg', '张家港市', NULL, NULL, NULL, NULL), + (320583, 3205, 2, '昆山', 'kun shan', 'kus', '昆山市', NULL, NULL, NULL, NULL), + (320585, 3205, 2, '太仓', 'tai cang', 'tac', '太仓市', NULL, NULL, NULL, NULL), + (320602, 3206, 2, '崇川', 'chong chuan', 'chc', '崇川区', NULL, NULL, NULL, NULL), + (320611, 3206, 2, '港闸', 'gang zha', 'gaz', '港闸区', NULL, NULL, NULL, NULL), + (320612, 3206, 2, '通州', 'tong zhou', 'toz', '通州区', NULL, NULL, NULL, NULL), + (320621, 3206, 2, '海安', 'hai an', 'haa', '海安县', NULL, NULL, NULL, NULL), + (320623, 3206, 2, '如东', 'ru dong', 'rud', '如东县', NULL, NULL, NULL, NULL), + (320671, 3206, 2, '南通经济技术开发区', 'nan tong jing ji ji shu kai fa qu', 'natj', '南通经济技术开发区', NULL, NULL, NULL, NULL), + (320681, 3206, 2, '启东', 'qi dong', 'qid', '启东市', NULL, NULL, NULL, NULL), + (320682, 3206, 2, '如皋', 'ru gao', 'rug', '如皋市', NULL, NULL, NULL, NULL), + (320684, 3206, 2, '海门', 'hai men', 'ham', '海门市', NULL, NULL, NULL, NULL), + (320703, 3207, 2, '连云', 'lian yun', 'liy', '连云区', NULL, NULL, NULL, NULL), + (320706, 3207, 2, '海州', 'hai zhou', 'haz', '海州区', NULL, NULL, NULL, NULL), + (320707, 3207, 2, '赣榆', 'gan yu', 'gay', '赣榆区', NULL, NULL, NULL, NULL), + (320722, 3207, 2, '东海', 'dong hai', 'doh', '东海县', NULL, NULL, NULL, NULL), + (320723, 3207, 2, '灌云', 'guan yun', 'guy', '灌云县', NULL, NULL, NULL, NULL), + (320724, 3207, 2, '灌南', 'guan nan', 'gun', '灌南县', NULL, NULL, NULL, NULL), + (320771, 3207, 2, '连云港经济技术开发区', 'lian yun gang jing ji ji shu kai fa qu', 'liyg', '连云港经济技术开发区', NULL, NULL, NULL, NULL), + (320772, 3207, 2, '连云港高新技术产业开发区', 'lian yun gang gao xin ji shu chan ye kai fa qu', 'liyg', '连云港高新技术产业开发区', NULL, NULL, NULL, NULL), + (320803, 3208, 2, '淮安', 'huai an', 'hua', '淮安区', NULL, NULL, NULL, NULL), + (320804, 3208, 2, '淮阴', 'huai yin', 'huy', '淮阴区', NULL, NULL, NULL, NULL), + (320812, 3208, 2, '清江浦', 'qing jiang pu', 'qijp', '清江浦区', NULL, NULL, NULL, NULL), + (320813, 3208, 2, '洪泽', 'hong ze', 'hoz', '洪泽区', NULL, NULL, NULL, NULL), + (320826, 3208, 2, '涟水', 'lian shui', 'lis', '涟水县', NULL, NULL, NULL, NULL), + (320830, 3208, 2, '盱眙', 'xu yi', 'xuy', '盱眙县', NULL, NULL, NULL, NULL), + (320831, 3208, 2, '金湖', 'jin hu', 'jih', '金湖县', NULL, NULL, NULL, NULL), + (320871, 3208, 2, '淮安经济技术开发区', 'huai an jing ji ji shu kai fa qu', 'huaj', '淮安经济技术开发区', NULL, NULL, NULL, NULL), + (320902, 3209, 2, '亭湖', 'ting hu', 'tih', '亭湖区', NULL, NULL, NULL, NULL), + (320903, 3209, 2, '盐都', 'yan du', 'yad', '盐都区', NULL, NULL, NULL, NULL), + (320904, 3209, 2, '大丰', 'da feng', 'daf', '大丰区', NULL, NULL, NULL, NULL), + (320921, 3209, 2, '响水', 'xiang shui', 'xis', '响水县', NULL, NULL, NULL, NULL), + (320922, 3209, 2, '滨海', 'bin hai', 'bih', '滨海县', NULL, NULL, NULL, NULL), + (320923, 3209, 2, '阜宁', 'fu ning', 'fun', '阜宁县', NULL, NULL, NULL, NULL), + (320924, 3209, 2, '射阳', 'she yang', 'shy', '射阳县', NULL, NULL, NULL, NULL), + (320925, 3209, 2, '建湖', 'jian hu', 'jih', '建湖县', NULL, NULL, NULL, NULL), + (320971, 3209, 2, '盐城经济技术开发区', 'yan cheng jing ji ji shu kai fa qu', 'yacj', '盐城经济技术开发区', NULL, NULL, NULL, NULL), + (320981, 3209, 2, '东台', 'dong tai', 'dot', '东台市', NULL, NULL, NULL, NULL), + (321002, 3210, 2, '广陵', 'guang ling', 'gul', '广陵区', NULL, NULL, NULL, NULL), + (321003, 3210, 2, '邗江', 'han jiang', 'haj', '邗江区', NULL, NULL, NULL, NULL), + (321012, 3210, 2, '江都', 'jiang du', 'jid', '江都区', NULL, NULL, NULL, NULL), + (321023, 3210, 2, '宝应', 'bao ying', 'bay', '宝应县', NULL, NULL, NULL, NULL), + (321071, 3210, 2, '扬州经济技术开发区', 'yang zhou jing ji ji shu kai fa qu', 'yazj', '扬州经济技术开发区', NULL, NULL, NULL, NULL), + (321081, 3210, 2, '仪征', 'yi zheng', 'yiz', '仪征市', NULL, NULL, NULL, NULL), + (321084, 3210, 2, '高邮', 'gao you', 'gay', '高邮市', NULL, NULL, NULL, NULL), + (321102, 3211, 2, '京口', 'jing kou', 'jik', '京口区', NULL, NULL, NULL, NULL), + (321111, 3211, 2, '润州', 'run zhou', 'ruz', '润州区', NULL, NULL, NULL, NULL), + (321112, 3211, 2, '丹徒', 'dan tu', 'dat', '丹徒区', NULL, NULL, NULL, NULL), + (321171, 3211, 2, '镇江新区', 'zhen jiang xin qu', 'zhjx', '镇江新区', NULL, NULL, NULL, NULL), + (321181, 3211, 2, '丹阳', 'dan yang', 'day', '丹阳市', NULL, NULL, NULL, NULL), + (321182, 3211, 2, '扬中', 'yang zhong', 'yaz', '扬中市', NULL, NULL, NULL, NULL), + (321183, 3211, 2, '句容', 'ju rong', 'jur', '句容市', NULL, NULL, NULL, NULL), + (321202, 3212, 2, '海陵', 'hai ling', 'hal', '海陵区', NULL, NULL, NULL, NULL), + (321203, 3212, 2, '高港', 'gao gang', 'gag', '高港区', NULL, NULL, NULL, NULL), + (321204, 3212, 2, '姜堰', 'jiang yan', 'jiy', '姜堰区', NULL, NULL, NULL, NULL), + (321271, 3212, 2, '泰州医药高新技术产业开发区', 'tai zhou yi yao gao xin ji shu chan ye kai fa qu', 'tazy', '泰州医药高新技术产业开发区', NULL, NULL, NULL, NULL), + (321281, 3212, 2, '兴化', 'xing hua', 'xih', '兴化市', NULL, NULL, NULL, NULL), + (321282, 3212, 2, '靖江', 'jing jiang', 'jij', '靖江市', NULL, NULL, NULL, NULL), + (321283, 3212, 2, '泰兴', 'tai xing', 'tax', '泰兴市', NULL, NULL, NULL, NULL), + (321302, 3213, 2, '宿城', 'su cheng', 'suc', '宿城区', NULL, NULL, NULL, NULL), + (321311, 3213, 2, '宿豫', 'su yu', 'suy', '宿豫区', NULL, NULL, NULL, NULL), + (321322, 3213, 2, '沭阳', 'shu yang', 'shy', '沭阳县', NULL, NULL, NULL, NULL), + (321323, 3213, 2, '泗阳', 'si yang', 'siy', '泗阳县', NULL, NULL, NULL, NULL), + (321324, 3213, 2, '泗洪', 'si hong', 'sih', '泗洪县', NULL, NULL, NULL, NULL), + (321371, 3213, 2, '宿迁经济技术开发区', 'su qian jing ji ji shu kai fa qu', 'suqj', '宿迁经济技术开发区', NULL, NULL, NULL, NULL), + (330102, 3301, 2, '上城', 'shang cheng', 'shc', '上城区', NULL, NULL, NULL, NULL), + (330103, 3301, 2, '下城', 'xia cheng', 'xic', '下城区', NULL, NULL, NULL, NULL), + (330104, 3301, 2, '江干', 'jiang gan', 'jig', '江干区', NULL, NULL, NULL, NULL), + (330105, 3301, 2, '拱墅', 'gong shu', 'gos', '拱墅区', NULL, NULL, NULL, NULL), + (330106, 3301, 2, '西湖', 'xi hu', 'xih', '西湖区', NULL, NULL, NULL, NULL), + (330108, 3301, 2, '滨江', 'bin jiang', 'bij', '滨江区', NULL, NULL, NULL, NULL), + (330109, 3301, 2, '萧山', 'xiao shan', 'xis', '萧山区', NULL, NULL, NULL, NULL), + (330110, 3301, 2, '余杭', 'yu hang', 'yuh', '余杭区', NULL, NULL, NULL, NULL), + (330111, 3301, 2, '富阳', 'fu yang', 'fuy', '富阳区', NULL, NULL, NULL, NULL), + (330112, 3301, 2, '临安', 'lin an', 'lia', '临安区', NULL, NULL, NULL, NULL), + (330122, 3301, 2, '桐庐', 'tong lu', 'tol', '桐庐县', NULL, NULL, NULL, NULL), + (330127, 3301, 2, '淳安', 'chun an', 'cha', '淳安县', NULL, NULL, NULL, NULL), + (330182, 3301, 2, '建德', 'jian de', 'jid', '建德市', NULL, NULL, NULL, NULL), + (330203, 3302, 2, '海曙', 'hai shu', 'has', '海曙区', NULL, NULL, NULL, NULL), + (330205, 3302, 2, '江北', 'jiang bei', 'jib', '江北区', NULL, NULL, NULL, NULL), + (330206, 3302, 2, '北仑', 'bei lun', 'bel', '北仑区', NULL, NULL, NULL, NULL), + (330211, 3302, 2, '镇海', 'zhen hai', 'zhh', '镇海区', NULL, NULL, NULL, NULL), + (330212, 3302, 2, '鄞州', 'yin zhou', 'yiz', '鄞州区', NULL, NULL, NULL, NULL), + (330213, 3302, 2, '奉化', 'feng hua', 'feh', '奉化区', NULL, NULL, NULL, NULL), + (330225, 3302, 2, '象山', 'xiang shan', 'xis', '象山县', NULL, NULL, NULL, NULL), + (330226, 3302, 2, '宁海', 'ning hai', 'nih', '宁海县', NULL, NULL, NULL, NULL), + (330281, 3302, 2, '余姚', 'yu yao', 'yuy', '余姚市', NULL, NULL, NULL, NULL), + (330282, 3302, 2, '慈溪', 'ci xi', 'cix', '慈溪市', NULL, NULL, NULL, NULL), + (330302, 3303, 2, '鹿城', 'lu cheng', 'luc', '鹿城区', NULL, NULL, NULL, NULL), + (330303, 3303, 2, '龙湾', 'long wan', 'low', '龙湾区', NULL, NULL, NULL, NULL), + (330304, 3303, 2, '瓯海', 'ou hai', 'ouh', '瓯海区', NULL, NULL, NULL, NULL), + (330305, 3303, 2, '洞头', 'dong tou', 'dot', '洞头区', NULL, NULL, NULL, NULL), + (330324, 3303, 2, '永嘉', 'yong jia', 'yoj', '永嘉县', NULL, NULL, NULL, NULL), + (330326, 3303, 2, '平阳', 'ping yang', 'piy', '平阳县', NULL, NULL, NULL, NULL), + (330327, 3303, 2, '苍南', 'cang nan', 'can', '苍南县', NULL, NULL, NULL, NULL), + (330328, 3303, 2, '文成', 'wen cheng', 'wec', '文成县', NULL, NULL, NULL, NULL), + (330329, 3303, 2, '泰顺', 'tai shun', 'tas', '泰顺县', NULL, NULL, NULL, NULL), + (330371, 3303, 2, '温州经济技术开发区', 'wen zhou jing ji ji shu kai fa qu', 'wezj', '温州经济技术开发区', NULL, NULL, NULL, NULL), + (330381, 3303, 2, '瑞安', 'rui an', 'rua', '瑞安市', NULL, NULL, NULL, NULL), + (330382, 3303, 2, '乐清', 'yue qing', 'yuq', '乐清市', NULL, NULL, NULL, NULL), + (330402, 3304, 2, '南湖', 'nan hu', 'nah', '南湖区', NULL, NULL, NULL, NULL), + (330411, 3304, 2, '秀洲', 'xiu zhou', 'xiz', '秀洲区', NULL, NULL, NULL, NULL), + (330421, 3304, 2, '嘉善', 'jia shan', 'jis', '嘉善县', NULL, NULL, NULL, NULL), + (330424, 3304, 2, '海盐', 'hai yan', 'hay', '海盐县', NULL, NULL, NULL, NULL), + (330481, 3304, 2, '海宁', 'hai ning', 'han', '海宁市', NULL, NULL, NULL, NULL), + (330482, 3304, 2, '平湖', 'ping hu', 'pih', '平湖市', NULL, NULL, NULL, NULL), + (330483, 3304, 2, '桐乡', 'tong xiang', 'tox', '桐乡市', NULL, NULL, NULL, NULL), + (330502, 3305, 2, '吴兴', 'wu xing', 'wux', '吴兴区', NULL, NULL, NULL, NULL), + (330503, 3305, 2, '南浔', 'nan xun', 'nax', '南浔区', NULL, NULL, NULL, NULL), + (330521, 3305, 2, '德清', 'de qing', 'deq', '德清县', NULL, NULL, NULL, NULL), + (330522, 3305, 2, '长兴', 'chang xing', 'chx', '长兴县', NULL, NULL, NULL, NULL), + (330523, 3305, 2, '安吉', 'an ji', 'anj', '安吉县', NULL, NULL, NULL, NULL), + (330602, 3306, 2, '越城', 'yue cheng', 'yuc', '越城区', NULL, NULL, NULL, NULL), + (330603, 3306, 2, '柯桥', 'ke qiao', 'keq', '柯桥区', NULL, NULL, NULL, NULL), + (330604, 3306, 2, '上虞', 'shang yu', 'shy', '上虞区', NULL, NULL, NULL, NULL), + (330624, 3306, 2, '新昌', 'xin chang', 'xic', '新昌县', NULL, NULL, NULL, NULL), + (330681, 3306, 2, '诸暨', 'zhu ji', 'zhj', '诸暨市', NULL, NULL, NULL, NULL), + (330683, 3306, 2, '嵊州', 'sheng zhou', 'shz', '嵊州市', NULL, NULL, NULL, NULL), + (330702, 3307, 2, '婺城', 'wu cheng', 'wuc', '婺城区', NULL, NULL, NULL, NULL), + (330703, 3307, 2, '金东', 'jin dong', 'jid', '金东区', NULL, NULL, NULL, NULL), + (330723, 3307, 2, '武义', 'wu yi', 'wuy', '武义县', NULL, NULL, NULL, NULL), + (330726, 3307, 2, '浦江', 'pu jiang', 'puj', '浦江县', NULL, NULL, NULL, NULL), + (330727, 3307, 2, '磐安', 'pan an', 'paa', '磐安县', NULL, NULL, NULL, NULL), + (330781, 3307, 2, '兰溪', 'lan xi', 'lax', '兰溪市', NULL, NULL, NULL, NULL), + (330782, 3307, 2, '义乌', 'yi wu', 'yiw', '义乌市', NULL, NULL, NULL, NULL), + (330783, 3307, 2, '东阳', 'dong yang', 'doy', '东阳市', NULL, NULL, NULL, NULL), + (330784, 3307, 2, '永康', 'yong kang', 'yok', '永康市', NULL, NULL, NULL, NULL), + (330802, 3308, 2, '柯城', 'ke cheng', 'kec', '柯城区', NULL, NULL, NULL, NULL), + (330803, 3308, 2, '衢江', 'qu jiang', 'quj', '衢江区', NULL, NULL, NULL, NULL), + (330822, 3308, 2, '常山', 'chang shan', 'chs', '常山县', NULL, NULL, NULL, NULL), + (330824, 3308, 2, '开化', 'kai hua', 'kah', '开化县', NULL, NULL, NULL, NULL), + (330825, 3308, 2, '龙游', 'long you', 'loy', '龙游县', NULL, NULL, NULL, NULL), + (330881, 3308, 2, '江山', 'jiang shan', 'jis', '江山市', NULL, NULL, NULL, NULL), + (330902, 3309, 2, '定海', 'ding hai', 'dih', '定海区', NULL, NULL, NULL, NULL), + (330903, 3309, 2, '普陀', 'pu tuo', 'put', '普陀区', NULL, NULL, NULL, NULL), + (330921, 3309, 2, '岱山', 'dai shan', 'das', '岱山县', NULL, NULL, NULL, NULL), + (330922, 3309, 2, '嵊泗', 'sheng si', 'shs', '嵊泗县', NULL, NULL, NULL, NULL), + (331002, 3310, 2, '椒江', 'jiao jiang', 'jij', '椒江区', NULL, NULL, NULL, NULL), + (331003, 3310, 2, '黄岩', 'huang yan', 'huy', '黄岩区', NULL, NULL, NULL, NULL), + (331004, 3310, 2, '路桥', 'lu qiao', 'luq', '路桥区', NULL, NULL, NULL, NULL), + (331022, 3310, 2, '三门', 'san men', 'sam', '三门县', NULL, NULL, NULL, NULL), + (331023, 3310, 2, '天台', 'tian tai', 'tit', '天台县', NULL, NULL, NULL, NULL), + (331024, 3310, 2, '仙居', 'xian ju', 'xij', '仙居县', NULL, NULL, NULL, NULL), + (331081, 3310, 2, '温岭', 'wen ling', 'wel', '温岭市', NULL, NULL, NULL, NULL), + (331082, 3310, 2, '临海', 'lin hai', 'lih', '临海市', NULL, NULL, NULL, NULL), + (331083, 3310, 2, '玉环', 'yu huan', 'yuh', '玉环市', NULL, NULL, NULL, NULL), + (331102, 3311, 2, '莲都', 'lian du', 'lid', '莲都区', NULL, NULL, NULL, NULL), + (331121, 3311, 2, '青田', 'qing tian', 'qit', '青田县', NULL, NULL, NULL, NULL), + (331122, 3311, 2, '缙云', 'jin yun', 'jiy', '缙云县', NULL, NULL, NULL, NULL), + (331123, 3311, 2, '遂昌', 'sui chang', 'suc', '遂昌县', NULL, NULL, NULL, NULL), + (331124, 3311, 2, '松阳', 'song yang', 'soy', '松阳县', NULL, NULL, NULL, NULL), + (331125, 3311, 2, '云和', 'yun he', 'yuh', '云和县', NULL, NULL, NULL, NULL), + (331126, 3311, 2, '庆元', 'qing yuan', 'qiy', '庆元县', NULL, NULL, NULL, NULL), + (331127, 3311, 2, '景宁畲族自治县', 'jing ning she zu zi zhi xian', 'jins', '景宁畲族自治县', NULL, NULL, NULL, NULL), + (331181, 3311, 2, '龙泉', 'long quan', 'loq', '龙泉市', NULL, NULL, NULL, NULL), + (340102, 3401, 2, '瑶海', 'yao hai', 'yah', '瑶海区', NULL, NULL, NULL, NULL), + (340103, 3401, 2, '庐阳', 'lu yang', 'luy', '庐阳区', NULL, NULL, NULL, NULL), + (340104, 3401, 2, '蜀山', 'shu shan', 'shs', '蜀山区', NULL, NULL, NULL, NULL), + (340111, 3401, 2, '包河', 'bao he', 'bah', '包河区', NULL, NULL, NULL, NULL), + (340121, 3401, 2, '长丰', 'chang feng', 'chf', '长丰县', NULL, NULL, NULL, NULL), + (340122, 3401, 2, '肥东', 'fei dong', 'fed', '肥东县', NULL, NULL, NULL, NULL), + (340123, 3401, 2, '肥西', 'fei xi', 'fex', '肥西县', NULL, NULL, NULL, NULL), + (340124, 3401, 2, '庐江', 'lu jiang', 'luj', '庐江县', NULL, NULL, NULL, NULL), + (340171, 3401, 2, '合肥高新技术产业开发区', 'he fei gao xin ji shu chan ye kai fa qu', 'hefg', '合肥高新技术产业开发区', NULL, NULL, NULL, NULL), + (340172, 3401, 2, '合肥经济技术开发区', 'he fei jing ji ji shu kai fa qu', 'hefj', '合肥经济技术开发区', NULL, NULL, NULL, NULL), + (340173, 3401, 2, '合肥新站高新技术产业开发区', 'he fei xin zhan gao xin ji shu chan ye kai fa qu', 'hefx', '合肥新站高新技术产业开发区', NULL, NULL, NULL, NULL), + (340181, 3401, 2, '巢湖', 'chao hu', 'chh', '巢湖市', NULL, NULL, NULL, NULL), + (340202, 3402, 2, '镜湖', 'jing hu', 'jih', '镜湖区', NULL, NULL, NULL, NULL), + (340203, 3402, 2, '弋江', 'yi jiang', 'yij', '弋江区', NULL, NULL, NULL, NULL), + (340207, 3402, 2, '鸠江', 'jiu jiang', 'jij', '鸠江区', NULL, NULL, NULL, NULL), + (340208, 3402, 2, '三山', 'san shan', 'sas', '三山区', NULL, NULL, NULL, NULL), + (340221, 3402, 2, '芜湖', 'wu hu', 'wuh', '芜湖县', NULL, NULL, NULL, NULL), + (340222, 3402, 2, '繁昌', 'fan chang', 'fac', '繁昌县', NULL, NULL, NULL, NULL), + (340223, 3402, 2, '南陵', 'nan ling', 'nal', '南陵县', NULL, NULL, NULL, NULL), + (340225, 3402, 2, '无为', 'wu wei', 'wuw', '无为县', NULL, NULL, NULL, NULL), + (340271, 3402, 2, '芜湖经济技术开发区', 'wu hu jing ji ji shu kai fa qu', 'wuhj', '芜湖经济技术开发区', NULL, NULL, NULL, NULL), + (340272, 3402, 2, '安徽芜湖长江大桥经济开发区', 'an hui wu hu chang jiang da qiao jing ji kai fa qu', 'anhw', '安徽芜湖长江大桥经济开发区', NULL, NULL, NULL, NULL), + (340302, 3403, 2, '龙子湖', 'long zi hu', 'lozh', '龙子湖区', NULL, NULL, NULL, NULL), + (340303, 3403, 2, '蚌山', 'beng shan', 'bes', '蚌山区', NULL, NULL, NULL, NULL), + (340304, 3403, 2, '禹会', 'yu hui', 'yuh', '禹会区', NULL, NULL, NULL, NULL), + (340311, 3403, 2, '淮上', 'huai shang', 'hus', '淮上区', NULL, NULL, NULL, NULL), + (340321, 3403, 2, '怀远', 'huai yuan', 'huy', '怀远县', NULL, NULL, NULL, NULL), + (340322, 3403, 2, '五河', 'wu he', 'wuh', '五河县', NULL, NULL, NULL, NULL), + (340323, 3403, 2, '固镇', 'gu zhen', 'guz', '固镇县', NULL, NULL, NULL, NULL), + (340371, 3403, 2, '蚌埠市高新技术开发区', 'beng bu shi gao xin ji shu kai fa qu', 'bebs', '蚌埠市高新技术开发区', NULL, NULL, NULL, NULL), + (340372, 3403, 2, '蚌埠市经济开发区', 'beng bu shi jing ji kai fa qu', 'bebs', '蚌埠市经济开发区', NULL, NULL, NULL, NULL), + (340402, 3404, 2, '大通', 'da tong', 'dat', '大通区', NULL, NULL, NULL, NULL), + (340403, 3404, 2, '田家庵', 'tian jia an', 'tija', '田家庵区', NULL, NULL, NULL, NULL), + (340404, 3404, 2, '谢家集', 'xie jia ji', 'xijj', '谢家集区', NULL, NULL, NULL, NULL), + (340405, 3404, 2, '八公山', 'ba gong shan', 'bags', '八公山区', NULL, NULL, NULL, NULL), + (340406, 3404, 2, '潘集', 'pan ji', 'paj', '潘集区', NULL, NULL, NULL, NULL), + (340421, 3404, 2, '凤台', 'feng tai', 'fet', '凤台县', NULL, NULL, NULL, NULL), + (340422, 3404, 2, '寿县', 'shou xian', 'shx', '寿县', NULL, NULL, NULL, NULL), + (340503, 3405, 2, '花山', 'hua shan', 'hus', '花山区', NULL, NULL, NULL, NULL), + (340504, 3405, 2, '雨山', 'yu shan', 'yus', '雨山区', NULL, NULL, NULL, NULL), + (340506, 3405, 2, '博望', 'bo wang', 'bow', '博望区', NULL, NULL, NULL, NULL), + (340521, 3405, 2, '当涂', 'dang tu', 'dat', '当涂县', NULL, NULL, NULL, NULL), + (340522, 3405, 2, '含山', 'han shan', 'has', '含山县', NULL, NULL, NULL, NULL), + (340523, 3405, 2, '和县', 'he xian', 'hex', '和县', NULL, NULL, NULL, NULL), + (340602, 3406, 2, '杜集', 'du ji', 'duj', '杜集区', NULL, NULL, NULL, NULL), + (340603, 3406, 2, '相山', 'xiang shan', 'xis', '相山区', NULL, NULL, NULL, NULL), + (340604, 3406, 2, '烈山', 'lie shan', 'lis', '烈山区', NULL, NULL, NULL, NULL), + (340621, 3406, 2, '濉溪', 'sui xi', 'sux', '濉溪县', NULL, NULL, NULL, NULL), + (340705, 3407, 2, '铜官', 'tong guan', 'tog', '铜官区', NULL, NULL, NULL, NULL), + (340706, 3407, 2, '义安', 'yi an', 'yia', '义安区', NULL, NULL, NULL, NULL), + (340711, 3407, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, NULL, NULL, NULL), + (340722, 3407, 2, '枞阳', 'zong yang', 'zoy', '枞阳县', NULL, NULL, NULL, NULL), + (340802, 3408, 2, '迎江', 'ying jiang', 'yij', '迎江区', NULL, NULL, NULL, NULL), + (340803, 3408, 2, '大观', 'da guan', 'dag', '大观区', NULL, NULL, NULL, NULL), + (340811, 3408, 2, '宜秀', 'yi xiu', 'yix', '宜秀区', NULL, NULL, NULL, NULL), + (340822, 3408, 2, '怀宁', 'huai ning', 'hun', '怀宁县', NULL, NULL, NULL, NULL), + (340824, 3408, 2, '潜山', 'qian shan', 'qis', '潜山县', NULL, NULL, NULL, NULL), + (340825, 3408, 2, '太湖', 'tai hu', 'tah', '太湖县', NULL, NULL, NULL, NULL), + (340826, 3408, 2, '宿松', 'su song', 'sus', '宿松县', NULL, NULL, NULL, NULL), + (340827, 3408, 2, '望江', 'wang jiang', 'waj', '望江县', NULL, NULL, NULL, NULL), + (340828, 3408, 2, '岳西', 'yue xi', 'yux', '岳西县', NULL, NULL, NULL, NULL), + (340871, 3408, 2, '安徽安庆经济开发区', 'an hui an qing jing ji kai fa qu', 'anha', '安徽安庆经济开发区', NULL, NULL, NULL, NULL), + (340881, 3408, 2, '桐城', 'tong cheng', 'toc', '桐城市', NULL, NULL, NULL, NULL), + (341002, 3410, 2, '屯溪', 'tun xi', 'tux', '屯溪区', NULL, NULL, NULL, NULL), + (341003, 3410, 2, '黄山', 'huang shan', 'hus', '黄山区', NULL, NULL, NULL, NULL), + (341004, 3410, 2, '徽州', 'hui zhou', 'huz', '徽州区', NULL, NULL, NULL, NULL), + (341021, 3410, 2, '歙县', 'she xian', 'shx', '歙县', NULL, NULL, NULL, NULL), + (341022, 3410, 2, '休宁', 'xiu ning', 'xin', '休宁县', NULL, NULL, NULL, NULL), + (341023, 3410, 2, '黟县', 'yi xian', 'yix', '黟县', NULL, NULL, NULL, NULL), + (341024, 3410, 2, '祁门', 'qi men', 'qim', '祁门县', NULL, NULL, NULL, NULL), + (341102, 3411, 2, '琅琊', 'lang ya', 'lay', '琅琊区', NULL, NULL, NULL, NULL), + (341103, 3411, 2, '南谯', 'nan qiao', 'naq', '南谯区', NULL, NULL, NULL, NULL), + (341122, 3411, 2, '来安', 'lai an', 'laa', '来安县', NULL, NULL, NULL, NULL), + (341124, 3411, 2, '全椒', 'quan jiao', 'quj', '全椒县', NULL, NULL, NULL, NULL), + (341125, 3411, 2, '定远', 'ding yuan', 'diy', '定远县', NULL, NULL, NULL, NULL), + (341126, 3411, 2, '凤阳', 'feng yang', 'fey', '凤阳县', NULL, NULL, NULL, NULL), + (341171, 3411, 2, '苏滁现代产业园', 'su chu xian dai chan ye yuan', 'sucx', '苏滁现代产业园', NULL, NULL, NULL, NULL), + (341172, 3411, 2, '滁州经济技术开发区', 'chu zhou jing ji ji shu kai fa qu', 'chzj', '滁州经济技术开发区', NULL, NULL, NULL, NULL), + (341181, 3411, 2, '天长', 'tian chang', 'tic', '天长市', NULL, NULL, NULL, NULL), + (341182, 3411, 2, '明光', 'ming guang', 'mig', '明光市', NULL, NULL, NULL, NULL), + (341202, 3412, 2, '颍州', 'ying zhou', 'yiz', '颍州区', NULL, NULL, NULL, NULL), + (341203, 3412, 2, '颍东', 'ying dong', 'yid', '颍东区', NULL, NULL, NULL, NULL), + (341204, 3412, 2, '颍泉', 'ying quan', 'yiq', '颍泉区', NULL, NULL, NULL, NULL), + (341221, 3412, 2, '临泉', 'lin quan', 'liq', '临泉县', NULL, NULL, NULL, NULL), + (341222, 3412, 2, '太和', 'tai he', 'tah', '太和县', NULL, NULL, NULL, NULL), + (341225, 3412, 2, '阜南', 'fu nan', 'fun', '阜南县', NULL, NULL, NULL, NULL), + (341226, 3412, 2, '颍上', 'ying shang', 'yis', '颍上县', NULL, NULL, NULL, NULL), + (341271, 3412, 2, '阜阳合肥现代产业园', 'fu yang he fei xian dai chan ye yuan', 'fuyh', '阜阳合肥现代产业园区', NULL, NULL, NULL, NULL), + (341272, 3412, 2, '阜阳经济技术开发区', 'fu yang jing ji ji shu kai fa qu', 'fuyj', '阜阳经济技术开发区', NULL, NULL, NULL, NULL), + (341282, 3412, 2, '界首', 'jie shou', 'jis', '界首市', NULL, NULL, NULL, NULL), + (341302, 3413, 2, '埇桥', 'yong qiao', 'yoq', '埇桥区', NULL, NULL, NULL, NULL), + (341321, 3413, 2, '砀山', 'dang shan', 'das', '砀山县', NULL, NULL, NULL, NULL), + (341322, 3413, 2, '萧县', 'xiao xian', 'xix', '萧县', NULL, NULL, NULL, NULL), + (341323, 3413, 2, '灵璧', 'ling bi', 'lib', '灵璧县', NULL, NULL, NULL, NULL), + (341324, 3413, 2, '泗县', 'si xian', 'six', '泗县', NULL, NULL, NULL, NULL), + (341371, 3413, 2, '宿州马鞍山现代产业园', 'su zhou ma an shan xian dai chan ye yuan', 'suzm', '宿州马鞍山现代产业园区', NULL, NULL, NULL, NULL), + (341372, 3413, 2, '宿州经济技术开发区', 'su zhou jing ji ji shu kai fa qu', 'suzj', '宿州经济技术开发区', NULL, NULL, NULL, NULL), + (341502, 3415, 2, '金安', 'jin an', 'jia', '金安区', NULL, NULL, NULL, NULL), + (341503, 3415, 2, '裕安', 'yu an', 'yua', '裕安区', NULL, NULL, NULL, NULL), + (341504, 3415, 2, '叶集', 'ye ji', 'yej', '叶集区', NULL, NULL, NULL, NULL), + (341522, 3415, 2, '霍邱', 'huo qiu', 'huq', '霍邱县', NULL, NULL, NULL, NULL), + (341523, 3415, 2, '舒城', 'shu cheng', 'shc', '舒城县', NULL, NULL, NULL, NULL), + (341524, 3415, 2, '金寨', 'jin zhai', 'jiz', '金寨县', NULL, NULL, NULL, NULL), + (341525, 3415, 2, '霍山', 'huo shan', 'hus', '霍山县', NULL, NULL, NULL, NULL), + (341602, 3416, 2, '谯城', 'qiao cheng', 'qic', '谯城区', NULL, NULL, NULL, NULL), + (341621, 3416, 2, '涡阳', 'guo yang', 'guy', '涡阳县', NULL, NULL, NULL, NULL), + (341622, 3416, 2, '蒙城', 'meng cheng', 'mec', '蒙城县', NULL, NULL, NULL, NULL), + (341623, 3416, 2, '利辛', 'li xin', 'lix', '利辛县', NULL, NULL, NULL, NULL), + (341702, 3417, 2, '贵池', 'gui chi', 'guc', '贵池区', NULL, NULL, NULL, NULL), + (341721, 3417, 2, '东至', 'dong zhi', 'doz', '东至县', NULL, NULL, NULL, NULL), + (341722, 3417, 2, '石台', 'shi tai', 'sht', '石台县', NULL, NULL, NULL, NULL), + (341723, 3417, 2, '青阳', 'qing yang', 'qiy', '青阳县', NULL, NULL, NULL, NULL), + (341802, 3418, 2, '宣州', 'xuan zhou', 'xuz', '宣州区', NULL, NULL, NULL, NULL), + (341821, 3418, 2, '郎溪', 'lang xi', 'lax', '郎溪县', NULL, NULL, NULL, NULL), + (341822, 3418, 2, '广德', 'guang de', 'gud', '广德县', NULL, NULL, NULL, NULL), + (341823, 3418, 2, '泾县', 'jing xian', 'jix', '泾县', NULL, NULL, NULL, NULL), + (341824, 3418, 2, '绩溪', 'ji xi', 'jix', '绩溪县', NULL, NULL, NULL, NULL), + (341825, 3418, 2, '旌德', 'jing de', 'jid', '旌德县', NULL, NULL, NULL, NULL), + (341871, 3418, 2, '宣城市经济开发区', 'xuan cheng shi jing ji kai fa qu', 'xucs', '宣城市经济开发区', NULL, NULL, NULL, NULL), + (341881, 3418, 2, '宁国', 'ning guo', 'nig', '宁国市', NULL, NULL, NULL, NULL), + (350102, 3501, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (350103, 3501, 2, '台江', 'tai jiang', 'taj', '台江区', NULL, NULL, NULL, NULL), + (350104, 3501, 2, '仓山', 'cang shan', 'cas', '仓山区', NULL, NULL, NULL, NULL), + (350105, 3501, 2, '马尾', 'ma wei', 'maw', '马尾区', NULL, NULL, NULL, NULL), + (350111, 3501, 2, '晋安', 'jin an', 'jia', '晋安区', NULL, NULL, NULL, NULL), + (350121, 3501, 2, '闽侯', 'min hou', 'mih', '闽侯县', NULL, NULL, NULL, NULL), + (350122, 3501, 2, '连江', 'lian jiang', 'lij', '连江县', NULL, NULL, NULL, NULL), + (350123, 3501, 2, '罗源', 'luo yuan', 'luy', '罗源县', NULL, NULL, NULL, NULL), + (350124, 3501, 2, '闽清', 'min qing', 'miq', '闽清县', NULL, NULL, NULL, NULL), + (350125, 3501, 2, '永泰', 'yong tai', 'yot', '永泰县', NULL, NULL, NULL, NULL), + (350128, 3501, 2, '平潭', 'ping tan', 'pit', '平潭县', NULL, NULL, NULL, NULL), + (350181, 3501, 2, '福清', 'fu qing', 'fuq', '福清市', NULL, NULL, NULL, NULL), + (350182, 3501, 2, '长乐', 'chang le', 'chl', '长乐市', NULL, NULL, NULL, NULL), + (350203, 3502, 2, '思明', 'si ming', 'sim', '思明区', NULL, NULL, NULL, NULL), + (350205, 3502, 2, '海沧', 'hai cang', 'hac', '海沧区', NULL, NULL, NULL, NULL), + (350206, 3502, 2, '湖里', 'hu li', 'hul', '湖里区', NULL, NULL, NULL, NULL), + (350211, 3502, 2, '集美', 'ji mei', 'jim', '集美区', NULL, NULL, NULL, NULL), + (350212, 3502, 2, '同安', 'tong an', 'toa', '同安区', NULL, NULL, NULL, NULL), + (350213, 3502, 2, '翔安', 'xiang an', 'xia', '翔安区', NULL, NULL, NULL, NULL), + (350302, 3503, 2, '城厢', 'cheng xiang', 'chx', '城厢区', NULL, NULL, NULL, NULL), + (350303, 3503, 2, '涵江', 'han jiang', 'haj', '涵江区', NULL, NULL, NULL, NULL), + (350304, 3503, 2, '荔城', 'li cheng', 'lic', '荔城区', NULL, NULL, NULL, NULL), + (350305, 3503, 2, '秀屿', 'xiu yu', 'xiy', '秀屿区', NULL, NULL, NULL, NULL), + (350322, 3503, 2, '仙游', 'xian you', 'xiy', '仙游县', NULL, NULL, NULL, NULL), + (350402, 3504, 2, '梅列', 'mei lie', 'mel', '梅列区', NULL, NULL, NULL, NULL), + (350403, 3504, 2, '三元', 'san yuan', 'say', '三元区', NULL, NULL, NULL, NULL), + (350421, 3504, 2, '明溪', 'ming xi', 'mix', '明溪县', NULL, NULL, NULL, NULL), + (350423, 3504, 2, '清流', 'qing liu', 'qil', '清流县', NULL, NULL, NULL, NULL), + (350424, 3504, 2, '宁化', 'ning hua', 'nih', '宁化县', NULL, NULL, NULL, NULL), + (350425, 3504, 2, '大田', 'da tian', 'dat', '大田县', NULL, NULL, NULL, NULL), + (350426, 3504, 2, '尤溪', 'you xi', 'yox', '尤溪县', NULL, NULL, NULL, NULL), + (350427, 3504, 2, '沙县', 'sha xian', 'shx', '沙县', NULL, NULL, NULL, NULL), + (350428, 3504, 2, '将乐', 'jiang le', 'jil', '将乐县', NULL, NULL, NULL, NULL), + (350429, 3504, 2, '泰宁', 'tai ning', 'tan', '泰宁县', NULL, NULL, NULL, NULL), + (350430, 3504, 2, '建宁', 'jian ning', 'jin', '建宁县', NULL, NULL, NULL, NULL), + (350481, 3504, 2, '永安', 'yong an', 'yoa', '永安市', NULL, NULL, NULL, NULL), + (350502, 3505, 2, '鲤城', 'li cheng', 'lic', '鲤城区', NULL, NULL, NULL, NULL), + (350503, 3505, 2, '丰泽', 'feng ze', 'fez', '丰泽区', NULL, NULL, NULL, NULL), + (350504, 3505, 2, '洛江', 'luo jiang', 'luj', '洛江区', NULL, NULL, NULL, NULL), + (350505, 3505, 2, '泉港', 'quan gang', 'qug', '泉港区', NULL, NULL, NULL, NULL), + (350521, 3505, 2, '惠安', 'hui an', 'hua', '惠安县', NULL, NULL, NULL, NULL), + (350524, 3505, 2, '安溪', 'an xi', 'anx', '安溪县', NULL, NULL, NULL, NULL), + (350525, 3505, 2, '永春', 'yong chun', 'yoc', '永春县', NULL, NULL, NULL, NULL), + (350526, 3505, 2, '德化', 'de hua', 'deh', '德化县', NULL, NULL, NULL, NULL), + (350527, 3505, 2, '金门', 'jin men', 'jim', '金门县', NULL, NULL, NULL, NULL), + (350581, 3505, 2, '石狮', 'shi shi', 'shs', '石狮市', NULL, NULL, NULL, NULL), + (350582, 3505, 2, '晋江', 'jin jiang', 'jij', '晋江市', NULL, NULL, NULL, NULL), + (350583, 3505, 2, '南安', 'nan an', 'naa', '南安市', NULL, NULL, NULL, NULL), + (350602, 3506, 2, '芗城', 'xiang cheng', 'xic', '芗城区', NULL, NULL, NULL, NULL), + (350603, 3506, 2, '龙文', 'long wen', 'low', '龙文区', NULL, NULL, NULL, NULL), + (350622, 3506, 2, '云霄', 'yun xiao', 'yux', '云霄县', NULL, NULL, NULL, NULL), + (350623, 3506, 2, '漳浦', 'zhang pu', 'zhp', '漳浦县', NULL, NULL, NULL, NULL), + (350624, 3506, 2, '诏安', 'zhao an', 'zha', '诏安县', NULL, NULL, NULL, NULL), + (350625, 3506, 2, '长泰', 'chang tai', 'cht', '长泰县', NULL, NULL, NULL, NULL), + (350626, 3506, 2, '东山', 'dong shan', 'dos', '东山县', NULL, NULL, NULL, NULL), + (350627, 3506, 2, '南靖', 'nan jing', 'naj', '南靖县', NULL, NULL, NULL, NULL), + (350628, 3506, 2, '平和', 'ping he', 'pih', '平和县', NULL, NULL, NULL, NULL), + (350629, 3506, 2, '华安', 'hua an', 'hua', '华安县', NULL, NULL, NULL, NULL), + (350681, 3506, 2, '龙海', 'long hai', 'loh', '龙海市', NULL, NULL, NULL, NULL), + (350702, 3507, 2, '延平', 'yan ping', 'yap', '延平区', NULL, NULL, NULL, NULL), + (350703, 3507, 2, '建阳', 'jian yang', 'jiy', '建阳区', NULL, NULL, NULL, NULL), + (350721, 3507, 2, '顺昌', 'shun chang', 'shc', '顺昌县', NULL, NULL, NULL, NULL), + (350722, 3507, 2, '浦城', 'pu cheng', 'puc', '浦城县', NULL, NULL, NULL, NULL), + (350723, 3507, 2, '光泽', 'guang ze', 'guz', '光泽县', NULL, NULL, NULL, NULL), + (350724, 3507, 2, '松溪', 'song xi', 'sox', '松溪县', NULL, NULL, NULL, NULL), + (350725, 3507, 2, '政和', 'zheng he', 'zhh', '政和县', NULL, NULL, NULL, NULL), + (350781, 3507, 2, '邵武', 'shao wu', 'shw', '邵武市', NULL, NULL, NULL, NULL), + (350782, 3507, 2, '武夷山', 'wu yi shan', 'wuys', '武夷山市', NULL, NULL, NULL, NULL), + (350783, 3507, 2, '建瓯', 'jian ou', 'jio', '建瓯市', NULL, NULL, NULL, NULL), + (350802, 3508, 2, '新罗', 'xin luo', 'xil', '新罗区', NULL, NULL, NULL, NULL), + (350803, 3508, 2, '永定', 'yong ding', 'yod', '永定区', NULL, NULL, NULL, NULL), + (350821, 3508, 2, '长汀', 'chang ting', 'cht', '长汀县', NULL, NULL, NULL, NULL), + (350823, 3508, 2, '上杭', 'shang hang', 'shh', '上杭县', NULL, NULL, NULL, NULL), + (350824, 3508, 2, '武平', 'wu ping', 'wup', '武平县', NULL, NULL, NULL, NULL), + (350825, 3508, 2, '连城', 'lian cheng', 'lic', '连城县', NULL, NULL, NULL, NULL), + (350881, 3508, 2, '漳平', 'zhang ping', 'zhp', '漳平市', NULL, NULL, NULL, NULL), + (350902, 3509, 2, '蕉城', 'jiao cheng', 'jic', '蕉城区', NULL, NULL, NULL, NULL), + (350921, 3509, 2, '霞浦', 'xia pu', 'xip', '霞浦县', NULL, NULL, NULL, NULL), + (350922, 3509, 2, '古田', 'gu tian', 'gut', '古田县', NULL, NULL, NULL, NULL), + (350923, 3509, 2, '屏南', 'ping nan', 'pin', '屏南县', NULL, NULL, NULL, NULL), + (350924, 3509, 2, '寿宁', 'shou ning', 'shn', '寿宁县', NULL, NULL, NULL, NULL), + (350925, 3509, 2, '周宁', 'zhou ning', 'zhn', '周宁县', NULL, NULL, NULL, NULL), + (350926, 3509, 2, '柘荣', 'zhe rong', 'zhr', '柘荣县', NULL, NULL, NULL, NULL), + (350981, 3509, 2, '福安', 'fu an', 'fua', '福安市', NULL, NULL, NULL, NULL), + (350982, 3509, 2, '福鼎', 'fu ding', 'fud', '福鼎市', NULL, NULL, NULL, NULL), + (360102, 3601, 2, '东湖', 'dong hu', 'doh', '东湖区', NULL, NULL, NULL, NULL), + (360103, 3601, 2, '西湖', 'xi hu', 'xih', '西湖区', NULL, NULL, NULL, NULL), + (360104, 3601, 2, '青云谱', 'qing yun pu', 'qiyp', '青云谱区', NULL, NULL, NULL, NULL), + (360105, 3601, 2, '湾里', 'wan li', 'wal', '湾里区', NULL, NULL, NULL, NULL), + (360111, 3601, 2, '青山湖', 'qing shan hu', 'qish', '青山湖区', NULL, NULL, NULL, NULL), + (360112, 3601, 2, '新建', 'xin jian', 'xij', '新建区', NULL, NULL, NULL, NULL), + (360121, 3601, 2, '南昌', 'nan chang', 'nac', '南昌县', NULL, NULL, NULL, NULL), + (360123, 3601, 2, '安义', 'an yi', 'any', '安义县', NULL, NULL, NULL, NULL), + (360124, 3601, 2, '进贤', 'jin xian', 'jix', '进贤县', NULL, NULL, NULL, NULL), + (360202, 3602, 2, '昌江', 'chang jiang', 'chj', '昌江区', NULL, NULL, NULL, NULL), + (360203, 3602, 2, '珠山', 'zhu shan', 'zhs', '珠山区', NULL, NULL, NULL, NULL), + (360222, 3602, 2, '浮梁', 'fu liang', 'ful', '浮梁县', NULL, NULL, NULL, NULL), + (360281, 3602, 2, '乐平', 'le ping', 'lep', '乐平市', NULL, NULL, NULL, NULL), + (360302, 3603, 2, '安源', 'an yuan', 'any', '安源区', NULL, NULL, NULL, NULL), + (360313, 3603, 2, '湘东', 'xiang dong', 'xid', '湘东区', NULL, NULL, NULL, NULL), + (360321, 3603, 2, '莲花', 'lian hua', 'lih', '莲花县', NULL, NULL, NULL, NULL), + (360322, 3603, 2, '上栗', 'shang li', 'shl', '上栗县', NULL, NULL, NULL, NULL), + (360323, 3603, 2, '芦溪', 'lu xi', 'lux', '芦溪县', NULL, NULL, NULL, NULL), + (360402, 3604, 2, '濂溪', 'lian xi', 'lix', '濂溪区', NULL, NULL, NULL, NULL), + (360403, 3604, 2, '浔阳', 'xun yang', 'xuy', '浔阳区', NULL, NULL, NULL, NULL), + (360404, 3604, 2, '柴桑', 'chai sang', 'chs', '柴桑区', NULL, NULL, NULL, NULL), + (360423, 3604, 2, '武宁', 'wu ning', 'wun', '武宁县', NULL, NULL, NULL, NULL), + (360424, 3604, 2, '修水', 'xiu shui', 'xis', '修水县', NULL, NULL, NULL, NULL), + (360425, 3604, 2, '永修', 'yong xiu', 'yox', '永修县', NULL, NULL, NULL, NULL), + (360426, 3604, 2, '德安', 'de an', 'dea', '德安县', NULL, NULL, NULL, NULL), + (360428, 3604, 2, '都昌', 'du chang', 'duc', '都昌县', NULL, NULL, NULL, NULL), + (360429, 3604, 2, '湖口', 'hu kou', 'huk', '湖口县', NULL, NULL, NULL, NULL), + (360430, 3604, 2, '彭泽', 'peng ze', 'pez', '彭泽县', NULL, NULL, NULL, NULL), + (360481, 3604, 2, '瑞昌', 'rui chang', 'ruc', '瑞昌市', NULL, NULL, NULL, NULL), + (360482, 3604, 2, '共青城', 'gong qing cheng', 'goqc', '共青城市', NULL, NULL, NULL, NULL), + (360483, 3604, 2, '庐山', 'lu shan', 'lus', '庐山市', NULL, NULL, NULL, NULL), + (360502, 3605, 2, '渝水', 'yu shui', 'yus', '渝水区', NULL, NULL, NULL, NULL), + (360521, 3605, 2, '分宜', 'fen yi', 'fey', '分宜县', NULL, NULL, NULL, NULL), + (360602, 3606, 2, '月湖', 'yue hu', 'yuh', '月湖区', NULL, NULL, NULL, NULL), + (360622, 3606, 2, '余江', 'yu jiang', 'yuj', '余江县', NULL, NULL, NULL, NULL), + (360681, 3606, 2, '贵溪', 'gui xi', 'gux', '贵溪市', NULL, NULL, NULL, NULL), + (360702, 3607, 2, '章贡', 'zhang gong', 'zhg', '章贡区', NULL, NULL, NULL, NULL), + (360703, 3607, 2, '南康', 'nan kang', 'nak', '南康区', NULL, NULL, NULL, NULL), + (360704, 3607, 2, '赣县', 'gan xian', 'gax', '赣县区', NULL, NULL, NULL, NULL), + (360722, 3607, 2, '信丰', 'xin feng', 'xif', '信丰县', NULL, NULL, NULL, NULL), + (360723, 3607, 2, '大余', 'da yu', 'day', '大余县', NULL, NULL, NULL, NULL), + (360724, 3607, 2, '上犹', 'shang you', 'shy', '上犹县', NULL, NULL, NULL, NULL), + (360725, 3607, 2, '崇义', 'chong yi', 'chy', '崇义县', NULL, NULL, NULL, NULL), + (360726, 3607, 2, '安远', 'an yuan', 'any', '安远县', NULL, NULL, NULL, NULL), + (360727, 3607, 2, '龙南', 'long nan', 'lon', '龙南县', NULL, NULL, NULL, NULL), + (360728, 3607, 2, '定南', 'ding nan', 'din', '定南县', NULL, NULL, NULL, NULL), + (360729, 3607, 2, '全南', 'quan nan', 'qun', '全南县', NULL, NULL, NULL, NULL), + (360730, 3607, 2, '宁都', 'ning du', 'nid', '宁都县', NULL, NULL, NULL, NULL), + (360731, 3607, 2, '于都', 'yu du', 'yud', '于都县', NULL, NULL, NULL, NULL), + (360732, 3607, 2, '兴国', 'xing guo', 'xig', '兴国县', NULL, NULL, NULL, NULL), + (360733, 3607, 2, '会昌', 'hui chang', 'huc', '会昌县', NULL, NULL, NULL, NULL), + (360734, 3607, 2, '寻乌', 'xun wu', 'xuw', '寻乌县', NULL, NULL, NULL, NULL), + (360735, 3607, 2, '石城', 'shi cheng', 'shc', '石城县', NULL, NULL, NULL, NULL), + (360781, 3607, 2, '瑞金', 'rui jin', 'ruj', '瑞金市', NULL, NULL, NULL, NULL), + (360802, 3608, 2, '吉州', 'ji zhou', 'jiz', '吉州区', NULL, NULL, NULL, NULL), + (360803, 3608, 2, '青原', 'qing yuan', 'qiy', '青原区', NULL, NULL, NULL, NULL), + (360821, 3608, 2, '吉安', 'ji an', 'jia', '吉安县', NULL, NULL, NULL, NULL), + (360822, 3608, 2, '吉水', 'ji shui', 'jis', '吉水县', NULL, NULL, NULL, NULL), + (360823, 3608, 2, '峡江', 'xia jiang', 'xij', '峡江县', NULL, NULL, NULL, NULL), + (360824, 3608, 2, '新干', 'xin gan', 'xig', '新干县', NULL, NULL, NULL, NULL), + (360825, 3608, 2, '永丰', 'yong feng', 'yof', '永丰县', NULL, NULL, NULL, NULL), + (360826, 3608, 2, '泰和', 'tai he', 'tah', '泰和县', NULL, NULL, NULL, NULL), + (360827, 3608, 2, '遂川', 'sui chuan', 'suc', '遂川县', NULL, NULL, NULL, NULL), + (360828, 3608, 2, '万安', 'wan an', 'waa', '万安县', NULL, NULL, NULL, NULL), + (360829, 3608, 2, '安福', 'an fu', 'anf', '安福县', NULL, NULL, NULL, NULL), + (360830, 3608, 2, '永新', 'yong xin', 'yox', '永新县', NULL, NULL, NULL, NULL), + (360881, 3608, 2, '井冈山', 'jing gang shan', 'jigs', '井冈山市', NULL, NULL, NULL, NULL), + (360902, 3609, 2, '袁州', 'yuan zhou', 'yuz', '袁州区', NULL, NULL, NULL, NULL), + (360921, 3609, 2, '奉新', 'feng xin', 'fex', '奉新县', NULL, NULL, NULL, NULL), + (360922, 3609, 2, '万载', 'wan zai', 'waz', '万载县', NULL, NULL, NULL, NULL), + (360923, 3609, 2, '上高', 'shang gao', 'shg', '上高县', NULL, NULL, NULL, NULL), + (360924, 3609, 2, '宜丰', 'yi feng', 'yif', '宜丰县', NULL, NULL, NULL, NULL), + (360925, 3609, 2, '靖安', 'jing an', 'jia', '靖安县', NULL, NULL, NULL, NULL), + (360926, 3609, 2, '铜鼓', 'tong gu', 'tog', '铜鼓县', NULL, NULL, NULL, NULL), + (360981, 3609, 2, '丰城', 'feng cheng', 'fec', '丰城市', NULL, NULL, NULL, NULL), + (360982, 3609, 2, '樟树', 'zhang shu', 'zhs', '樟树市', NULL, NULL, NULL, NULL), + (360983, 3609, 2, '高安', 'gao an', 'gaa', '高安市', NULL, NULL, NULL, NULL), + (361002, 3610, 2, '临川', 'lin chuan', 'lic', '临川区', NULL, NULL, NULL, NULL), + (361003, 3610, 2, '东乡', 'dong xiang', 'dox', '东乡区', NULL, NULL, NULL, NULL), + (361021, 3610, 2, '南城', 'nan cheng', 'nac', '南城县', NULL, NULL, NULL, NULL), + (361022, 3610, 2, '黎川', 'li chuan', 'lic', '黎川县', NULL, NULL, NULL, NULL), + (361023, 3610, 2, '南丰', 'nan feng', 'naf', '南丰县', NULL, NULL, NULL, NULL), + (361024, 3610, 2, '崇仁', 'chong ren', 'chr', '崇仁县', NULL, NULL, NULL, NULL), + (361025, 3610, 2, '乐安', 'le an', 'lea', '乐安县', NULL, NULL, NULL, NULL), + (361026, 3610, 2, '宜黄', 'yi huang', 'yih', '宜黄县', NULL, NULL, NULL, NULL), + (361027, 3610, 2, '金溪', 'jin xi', 'jix', '金溪县', NULL, NULL, NULL, NULL), + (361028, 3610, 2, '资溪', 'zi xi', 'zix', '资溪县', NULL, NULL, NULL, NULL), + (361030, 3610, 2, '广昌', 'guang chang', 'guc', '广昌县', NULL, NULL, NULL, NULL), + (361102, 3611, 2, '信州', 'xin zhou', 'xiz', '信州区', NULL, NULL, NULL, NULL), + (361103, 3611, 2, '广丰', 'guang feng', 'guf', '广丰区', NULL, NULL, NULL, NULL), + (361121, 3611, 2, '上饶', 'shang rao', 'shr', '上饶县', NULL, NULL, NULL, NULL), + (361123, 3611, 2, '玉山', 'yu shan', 'yus', '玉山县', NULL, NULL, NULL, NULL), + (361124, 3611, 2, '铅山', 'yan shan', 'yas', '铅山县', NULL, NULL, NULL, NULL), + (361125, 3611, 2, '横峰', 'heng feng', 'hef', '横峰县', NULL, NULL, NULL, NULL), + (361126, 3611, 2, '弋阳', 'yi yang', 'yiy', '弋阳县', NULL, NULL, NULL, NULL), + (361127, 3611, 2, '余干', 'yu gan', 'yug', '余干县', NULL, NULL, NULL, NULL), + (361128, 3611, 2, '鄱阳', 'po yang', 'poy', '鄱阳县', NULL, NULL, NULL, NULL), + (361129, 3611, 2, '万年', 'wan nian', 'wan', '万年县', NULL, NULL, NULL, NULL), + (361130, 3611, 2, '婺源', 'wu yuan', 'wuy', '婺源县', NULL, NULL, NULL, NULL), + (361181, 3611, 2, '德兴', 'de xing', 'dex', '德兴市', NULL, NULL, NULL, NULL), + (370102, 3701, 2, '历下', 'li xia', 'lix', '历下区', NULL, NULL, NULL, NULL), + (370103, 3701, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (370104, 3701, 2, '槐荫', 'huai yin', 'huy', '槐荫区', NULL, NULL, NULL, NULL), + (370105, 3701, 2, '天桥', 'tian qiao', 'tiq', '天桥区', NULL, NULL, NULL, NULL), + (370112, 3701, 2, '历城', 'li cheng', 'lic', '历城区', NULL, NULL, NULL, NULL), + (370113, 3701, 2, '长清', 'chang qing', 'chq', '长清区', NULL, NULL, NULL, NULL), + (370114, 3701, 2, '章丘', 'zhang qiu', 'zhq', '章丘区', NULL, NULL, NULL, NULL), + (370124, 3701, 2, '平阴', 'ping yin', 'piy', '平阴县', NULL, NULL, NULL, NULL), + (370125, 3701, 2, '济阳', 'ji yang', 'jiy', '济阳县', NULL, NULL, NULL, NULL), + (370126, 3701, 2, '商河', 'shang he', 'shh', '商河县', NULL, NULL, NULL, NULL), + (370171, 3701, 2, '济南高新技术产业开发区', 'ji nan gao xin ji shu chan ye kai fa qu', 'jing', '济南高新技术产业开发区', NULL, NULL, NULL, NULL), + (370202, 3702, 2, '市南', 'shi nan', 'shn', '市南区', NULL, NULL, NULL, NULL), + (370203, 3702, 2, '市北', 'shi bei', 'shb', '市北区', NULL, NULL, NULL, NULL), + (370211, 3702, 2, '黄岛', 'huang dao', 'hud', '黄岛区', NULL, NULL, NULL, NULL), + (370212, 3702, 2, '崂山', 'lao shan', 'las', '崂山区', NULL, NULL, NULL, NULL), + (370213, 3702, 2, '李沧', 'li cang', 'lic', '李沧区', NULL, NULL, NULL, NULL), + (370214, 3702, 2, '城阳', 'cheng yang', 'chy', '城阳区', NULL, NULL, NULL, NULL), + (370215, 3702, 2, '即墨', 'ji mo', 'jim', '即墨区', NULL, NULL, NULL, NULL), + (370271, 3702, 2, '青岛高新技术产业开发区', 'qing dao gao xin ji shu chan ye kai fa qu', 'qidg', '青岛高新技术产业开发区', NULL, NULL, NULL, NULL), + (370281, 3702, 2, '胶州', 'jiao zhou', 'jiz', '胶州市', NULL, NULL, NULL, NULL), + (370283, 3702, 2, '平度', 'ping du', 'pid', '平度市', NULL, NULL, NULL, NULL), + (370285, 3702, 2, '莱西', 'lai xi', 'lax', '莱西市', NULL, NULL, NULL, NULL), + (370302, 3703, 2, '淄川', 'zi chuan', 'zic', '淄川区', NULL, NULL, NULL, NULL), + (370303, 3703, 2, '张店', 'zhang dian', 'zhd', '张店区', NULL, NULL, NULL, NULL), + (370304, 3703, 2, '博山', 'bo shan', 'bos', '博山区', NULL, NULL, NULL, NULL), + (370305, 3703, 2, '临淄', 'lin zi', 'liz', '临淄区', NULL, NULL, NULL, NULL), + (370306, 3703, 2, '周村', 'zhou cun', 'zhc', '周村区', NULL, NULL, NULL, NULL), + (370321, 3703, 2, '桓台', 'huan tai', 'hut', '桓台县', NULL, NULL, NULL, NULL), + (370322, 3703, 2, '高青', 'gao qing', 'gaq', '高青县', NULL, NULL, NULL, NULL), + (370323, 3703, 2, '沂源', 'yi yuan', 'yiy', '沂源县', NULL, NULL, NULL, NULL), + (370402, 3704, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (370403, 3704, 2, '薛城', 'xue cheng', 'xuc', '薛城区', NULL, NULL, NULL, NULL), + (370404, 3704, 2, '峄城', 'yi cheng', 'yic', '峄城区', NULL, NULL, NULL, NULL), + (370405, 3704, 2, '台儿庄', 'tai er zhuang', 'taez', '台儿庄区', NULL, NULL, NULL, NULL), + (370406, 3704, 2, '山亭', 'shan ting', 'sht', '山亭区', NULL, NULL, NULL, NULL), + (370481, 3704, 2, '滕州', 'teng zhou', 'tez', '滕州市', NULL, NULL, NULL, NULL), + (370502, 3705, 2, '东营', 'dong ying', 'doy', '东营区', NULL, NULL, NULL, NULL), + (370503, 3705, 2, '河口', 'he kou', 'hek', '河口区', NULL, NULL, NULL, NULL), + (370505, 3705, 2, '垦利', 'ken li', 'kel', '垦利区', NULL, NULL, NULL, NULL), + (370522, 3705, 2, '利津', 'li jin', 'lij', '利津县', NULL, NULL, NULL, NULL), + (370523, 3705, 2, '广饶', 'guang rao', 'gur', '广饶县', NULL, NULL, NULL, NULL), + (370571, 3705, 2, '东营经济技术开发区', 'dong ying jing ji ji shu kai fa qu', 'doyj', '东营经济技术开发区', NULL, NULL, NULL, NULL), + (370572, 3705, 2, '东营港经济开发区', 'dong ying gang jing ji kai fa qu', 'doyg', '东营港经济开发区', NULL, NULL, NULL, NULL), + (370602, 3706, 2, '芝罘', 'zhi fu', 'zhf', '芝罘区', NULL, NULL, NULL, NULL), + (370611, 3706, 2, '福山', 'fu shan', 'fus', '福山区', NULL, NULL, NULL, NULL), + (370612, 3706, 2, '牟平', 'mu ping', 'mup', '牟平区', NULL, NULL, NULL, NULL), + (370613, 3706, 2, '莱山', 'lai shan', 'las', '莱山区', NULL, NULL, NULL, NULL), + (370634, 3706, 2, '长岛', 'chang dao', 'chd', '长岛县', NULL, NULL, NULL, NULL), + (370671, 3706, 2, '烟台高新技术产业开发区', 'yan tai gao xin ji shu chan ye kai fa qu', 'yatg', '烟台高新技术产业开发区', NULL, NULL, NULL, NULL), + (370672, 3706, 2, '烟台经济技术开发区', 'yan tai jing ji ji shu kai fa qu', 'yatj', '烟台经济技术开发区', NULL, NULL, NULL, NULL), + (370681, 3706, 2, '龙口', 'long kou', 'lok', '龙口市', NULL, NULL, NULL, NULL), + (370682, 3706, 2, '莱阳', 'lai yang', 'lay', '莱阳市', NULL, NULL, NULL, NULL), + (370683, 3706, 2, '莱州', 'lai zhou', 'laz', '莱州市', NULL, NULL, NULL, NULL), + (370684, 3706, 2, '蓬莱', 'peng lai', 'pel', '蓬莱市', NULL, NULL, NULL, NULL), + (370685, 3706, 2, '招远', 'zhao yuan', 'zhy', '招远市', NULL, NULL, NULL, NULL), + (370686, 3706, 2, '栖霞', 'qi xia', 'qix', '栖霞市', NULL, NULL, NULL, NULL), + (370687, 3706, 2, '海阳', 'hai yang', 'hay', '海阳市', NULL, NULL, NULL, NULL), + (370702, 3707, 2, '潍城', 'wei cheng', 'wec', '潍城区', NULL, NULL, NULL, NULL), + (370703, 3707, 2, '寒亭', 'han ting', 'hat', '寒亭区', NULL, NULL, NULL, NULL), + (370704, 3707, 2, '坊子', 'fang zi', 'faz', '坊子区', NULL, NULL, NULL, NULL), + (370705, 3707, 2, '奎文', 'kui wen', 'kuw', '奎文区', NULL, NULL, NULL, NULL), + (370724, 3707, 2, '临朐', 'lin qu', 'liq', '临朐县', NULL, NULL, NULL, NULL), + (370725, 3707, 2, '昌乐', 'chang le', 'chl', '昌乐县', NULL, NULL, NULL, NULL), + (370772, 3707, 2, '潍坊滨海经济技术开发区', 'wei fang bin hai jing ji ji shu kai fa qu', 'wefb', '潍坊滨海经济技术开发区', NULL, NULL, NULL, NULL), + (370781, 3707, 2, '青州', 'qing zhou', 'qiz', '青州市', NULL, NULL, NULL, NULL), + (370782, 3707, 2, '诸城', 'zhu cheng', 'zhc', '诸城市', NULL, NULL, NULL, NULL), + (370783, 3707, 2, '寿光', 'shou guang', 'shg', '寿光市', NULL, NULL, NULL, NULL), + (370784, 3707, 2, '安丘', 'an qiu', 'anq', '安丘市', NULL, NULL, NULL, NULL), + (370785, 3707, 2, '高密', 'gao mi', 'gam', '高密市', NULL, NULL, NULL, NULL), + (370786, 3707, 2, '昌邑', 'chang yi', 'chy', '昌邑市', NULL, NULL, NULL, NULL), + (370811, 3708, 2, '任城', 'ren cheng', 'rec', '任城区', NULL, NULL, NULL, NULL), + (370812, 3708, 2, '兖州', 'yan zhou', 'yaz', '兖州区', NULL, NULL, NULL, NULL), + (370826, 3708, 2, '微山', 'wei shan', 'wes', '微山县', NULL, NULL, NULL, NULL), + (370827, 3708, 2, '鱼台', 'yu tai', 'yut', '鱼台县', NULL, NULL, NULL, NULL), + (370828, 3708, 2, '金乡', 'jin xiang', 'jix', '金乡县', NULL, NULL, NULL, NULL), + (370829, 3708, 2, '嘉祥', 'jia xiang', 'jix', '嘉祥县', NULL, NULL, NULL, NULL), + (370830, 3708, 2, '汶上', 'wen shang', 'wes', '汶上县', NULL, NULL, NULL, NULL), + (370831, 3708, 2, '泗水', 'si shui', 'sis', '泗水县', NULL, NULL, NULL, NULL), + (370832, 3708, 2, '梁山', 'liang shan', 'lis', '梁山县', NULL, NULL, NULL, NULL), + (370871, 3708, 2, '济宁高新技术产业开发区', 'ji ning gao xin ji shu chan ye kai fa qu', 'jing', '济宁高新技术产业开发区', NULL, NULL, NULL, NULL), + (370881, 3708, 2, '曲阜', 'qu fu', 'quf', '曲阜市', NULL, NULL, NULL, NULL), + (370883, 3708, 2, '邹城', 'zou cheng', 'zoc', '邹城市', NULL, NULL, NULL, NULL), + (370902, 3709, 2, '泰山', 'tai shan', 'tas', '泰山区', NULL, NULL, NULL, NULL), + (370911, 3709, 2, '岱岳', 'dai yue', 'day', '岱岳区', NULL, NULL, NULL, NULL), + (370921, 3709, 2, '宁阳', 'ning yang', 'niy', '宁阳县', NULL, NULL, NULL, NULL), + (370923, 3709, 2, '东平', 'dong ping', 'dop', '东平县', NULL, NULL, NULL, NULL), + (370982, 3709, 2, '新泰', 'xin tai', 'xit', '新泰市', NULL, NULL, NULL, NULL), + (370983, 3709, 2, '肥城', 'fei cheng', 'fec', '肥城市', NULL, NULL, NULL, NULL), + (371002, 3710, 2, '环翠', 'huan cui', 'huc', '环翠区', NULL, NULL, NULL, NULL), + (371003, 3710, 2, '文登', 'wen deng', 'wed', '文登区', NULL, NULL, NULL, NULL), + (371071, 3710, 2, '威海火炬高技术产业开发区', 'wei hai huo ju gao ji shu chan ye kai fa qu', 'wehh', '威海火炬高技术产业开发区', NULL, NULL, NULL, NULL), + (371072, 3710, 2, '威海经济技术开发区', 'wei hai jing ji ji shu kai fa qu', 'wehj', '威海经济技术开发区', NULL, NULL, NULL, NULL), + (371073, 3710, 2, '威海临港经济技术开发区', 'wei hai lin gang jing ji ji shu kai fa qu', 'wehl', '威海临港经济技术开发区', NULL, NULL, NULL, NULL), + (371082, 3710, 2, '荣成', 'rong cheng', 'roc', '荣成市', NULL, NULL, NULL, NULL), + (371083, 3710, 2, '乳山', 'ru shan', 'rus', '乳山市', NULL, NULL, NULL, NULL), + (371102, 3711, 2, '东港', 'dong gang', 'dog', '东港区', NULL, NULL, NULL, NULL), + (371103, 3711, 2, '岚山', 'lan shan', 'las', '岚山区', NULL, NULL, NULL, NULL), + (371121, 3711, 2, '五莲', 'wu lian', 'wul', '五莲县', NULL, NULL, NULL, NULL), + (371122, 3711, 2, '莒县', 'ju xian', 'jux', '莒县', NULL, NULL, NULL, NULL), + (371171, 3711, 2, '日照经济技术开发区', 'ri zhao jing ji ji shu kai fa qu', 'rizj', '日照经济技术开发区', NULL, NULL, NULL, NULL), + (371172, 3711, 2, '日照国际海洋城', 'ri zhao guo ji hai yang cheng', 'rizg', '日照国际海洋城', NULL, NULL, NULL, NULL), + (371202, 3712, 2, '莱城', 'lai cheng', 'lac', '莱城区', NULL, NULL, NULL, NULL), + (371203, 3712, 2, '钢城', 'gang cheng', 'gac', '钢城区', NULL, NULL, NULL, NULL), + (371302, 3713, 2, '兰山', 'lan shan', 'las', '兰山区', NULL, NULL, NULL, NULL), + (371311, 3713, 2, '罗庄', 'luo zhuang', 'luz', '罗庄区', NULL, NULL, NULL, NULL), + (371312, 3713, 2, '河东', 'he dong', 'hed', '河东区', NULL, NULL, NULL, NULL), + (371321, 3713, 2, '沂南', 'yi nan', 'yin', '沂南县', NULL, NULL, NULL, NULL), + (371322, 3713, 2, '郯城', 'tan cheng', 'tac', '郯城县', NULL, NULL, NULL, NULL), + (371323, 3713, 2, '沂水', 'yi shui', 'yis', '沂水县', NULL, NULL, NULL, NULL), + (371324, 3713, 2, '兰陵', 'lan ling', 'lal', '兰陵县', NULL, NULL, NULL, NULL), + (371325, 3713, 2, '费县', 'fei xian', 'fex', '费县', NULL, NULL, NULL, NULL), + (371326, 3713, 2, '平邑', 'ping yi', 'piy', '平邑县', NULL, NULL, NULL, NULL), + (371327, 3713, 2, '莒南', 'ju nan', 'jun', '莒南县', NULL, NULL, NULL, NULL), + (371328, 3713, 2, '蒙阴', 'meng yin', 'mey', '蒙阴县', NULL, NULL, NULL, NULL), + (371329, 3713, 2, '临沭', 'lin shu', 'lis', '临沭县', NULL, NULL, NULL, NULL), + (371371, 3713, 2, '临沂高新技术产业开发区', 'lin yi gao xin ji shu chan ye kai fa qu', 'liyg', '临沂高新技术产业开发区', NULL, NULL, NULL, NULL), + (371372, 3713, 2, '临沂经济技术开发区', 'lin yi jing ji ji shu kai fa qu', 'liyj', '临沂经济技术开发区', NULL, NULL, NULL, NULL), + (371373, 3713, 2, '临沂临港经济开发区', 'lin yi lin gang jing ji kai fa qu', 'liyl', '临沂临港经济开发区', NULL, NULL, NULL, NULL), + (371402, 3714, 2, '德城', 'de cheng', 'dec', '德城区', NULL, NULL, NULL, NULL), + (371403, 3714, 2, '陵城', 'ling cheng', 'lic', '陵城区', NULL, NULL, NULL, NULL), + (371422, 3714, 2, '宁津', 'ning jin', 'nij', '宁津县', NULL, NULL, NULL, NULL), + (371423, 3714, 2, '庆云', 'qing yun', 'qiy', '庆云县', NULL, NULL, NULL, NULL), + (371424, 3714, 2, '临邑', 'lin yi', 'liy', '临邑县', NULL, NULL, NULL, NULL), + (371425, 3714, 2, '齐河', 'qi he', 'qih', '齐河县', NULL, NULL, NULL, NULL), + (371426, 3714, 2, '平原', 'ping yuan', 'piy', '平原县', NULL, NULL, NULL, NULL), + (371427, 3714, 2, '夏津', 'xia jin', 'xij', '夏津县', NULL, NULL, NULL, NULL), + (371428, 3714, 2, '武城', 'wu cheng', 'wuc', '武城县', NULL, NULL, NULL, NULL), + (371471, 3714, 2, '德州经济技术开发区', 'de zhou jing ji ji shu kai fa qu', 'dezj', '德州经济技术开发区', NULL, NULL, NULL, NULL), + (371472, 3714, 2, '德州运河经济开发区', 'de zhou yun he jing ji kai fa qu', 'dezy', '德州运河经济开发区', NULL, NULL, NULL, NULL), + (371481, 3714, 2, '乐陵', 'le ling', 'lel', '乐陵市', NULL, NULL, NULL, NULL), + (371482, 3714, 2, '禹城', 'yu cheng', 'yuc', '禹城市', NULL, NULL, NULL, NULL), + (371502, 3715, 2, '东昌府', 'dong chang fu', 'docf', '东昌府区', NULL, NULL, NULL, NULL), + (371521, 3715, 2, '阳谷', 'yang gu', 'yag', '阳谷县', NULL, NULL, NULL, NULL), + (371522, 3715, 2, '莘县', 'shen xian', 'shx', '莘县', NULL, NULL, NULL, NULL), + (371523, 3715, 2, '茌平', 'chi ping', 'chp', '茌平县', NULL, NULL, NULL, NULL), + (371524, 3715, 2, '东阿', 'dong e', 'doe', '东阿县', NULL, NULL, NULL, NULL), + (371525, 3715, 2, '冠县', 'guan xian', 'gux', '冠县', NULL, NULL, NULL, NULL), + (371526, 3715, 2, '高唐', 'gao tang', 'gat', '高唐县', NULL, NULL, NULL, NULL), + (371581, 3715, 2, '临清', 'lin qing', 'liq', '临清市', NULL, NULL, NULL, NULL), + (371602, 3716, 2, '滨城', 'bin cheng', 'bic', '滨城区', NULL, NULL, NULL, NULL), + (371603, 3716, 2, '沾化', 'zhan hua', 'zhh', '沾化区', NULL, NULL, NULL, NULL), + (371621, 3716, 2, '惠民', 'hui min', 'hum', '惠民县', NULL, NULL, NULL, NULL), + (371622, 3716, 2, '阳信', 'yang xin', 'yax', '阳信县', NULL, NULL, NULL, NULL), + (371623, 3716, 2, '无棣', 'wu di', 'wud', '无棣县', NULL, NULL, NULL, NULL), + (371625, 3716, 2, '博兴', 'bo xing', 'box', '博兴县', NULL, NULL, NULL, NULL), + (371626, 3716, 2, '邹平', 'zou ping', 'zop', '邹平县', NULL, NULL, NULL, NULL), + (371702, 3717, 2, '牡丹', 'mu dan', 'mud', '牡丹区', NULL, NULL, NULL, NULL), + (371703, 3717, 2, '定陶', 'ding tao', 'dit', '定陶区', NULL, NULL, NULL, NULL), + (371721, 3717, 2, '曹县', 'cao xian', 'cax', '曹县', NULL, NULL, NULL, NULL), + (371722, 3717, 2, '单县', 'shan xian', 'shx', '单县', NULL, NULL, NULL, NULL), + (371723, 3717, 2, '成武', 'cheng wu', 'chw', '成武县', NULL, NULL, NULL, NULL), + (371724, 3717, 2, '巨野', 'ju ye', 'juy', '巨野县', NULL, NULL, NULL, NULL), + (371725, 3717, 2, '郓城', 'yun cheng', 'yuc', '郓城县', NULL, NULL, NULL, NULL), + (371726, 3717, 2, '鄄城', 'juan cheng', 'juc', '鄄城县', NULL, NULL, NULL, NULL), + (371728, 3717, 2, '东明', 'dong ming', 'dom', '东明县', NULL, NULL, NULL, NULL), + (371771, 3717, 2, '菏泽经济技术开发区', 'he ze jing ji ji shu kai fa qu', 'hezj', '菏泽经济技术开发区', NULL, NULL, NULL, NULL), + (371772, 3717, 2, '菏泽高新技术开发区', 'he ze gao xin ji shu kai fa qu', 'hezg', '菏泽高新技术开发区', NULL, NULL, NULL, NULL), + (410102, 4101, 2, '中原', 'zhong yuan', 'zhy', '中原区', NULL, NULL, NULL, NULL), + (410103, 4101, 2, '二七', 'er qi', 'erq', '二七区', NULL, NULL, NULL, NULL), + (410104, 4101, 2, '管城回族', 'guan cheng hui zu', 'guch', '管城回族区', NULL, NULL, NULL, NULL), + (410105, 4101, 2, '金水', 'jin shui', 'jis', '金水区', NULL, NULL, NULL, NULL), + (410106, 4101, 2, '上街', 'shang jie', 'shj', '上街区', NULL, NULL, NULL, NULL), + (410108, 4101, 2, '惠济', 'hui ji', 'huj', '惠济区', NULL, NULL, NULL, NULL), + (410122, 4101, 2, '中牟', 'zhong mu', 'zhm', '中牟县', NULL, NULL, NULL, NULL), + (410171, 4101, 2, '郑州经济技术开发区', 'zheng zhou jing ji ji shu kai fa qu', 'zhzj', '郑州经济技术开发区', NULL, NULL, NULL, NULL), + (410172, 4101, 2, '郑州高新技术产业开发区', 'zheng zhou gao xin ji shu chan ye kai fa qu', 'zhzg', '郑州高新技术产业开发区', NULL, NULL, NULL, NULL), + (410173, 4101, 2, '郑州航空港经济综合实验', 'zheng zhou hang kong gang jing ji zong he shi yan', 'zhzh', '郑州航空港经济综合实验区', NULL, NULL, NULL, NULL), + (410181, 4101, 2, '巩义', 'gong yi', 'goy', '巩义市', NULL, NULL, NULL, NULL), + (410182, 4101, 2, '荥阳', 'xing yang', 'xiy', '荥阳市', NULL, NULL, NULL, NULL), + (410183, 4101, 2, '新密', 'xin mi', 'xim', '新密市', NULL, NULL, NULL, NULL), + (410184, 4101, 2, '新郑', 'xin zheng', 'xiz', '新郑市', NULL, NULL, NULL, NULL), + (410185, 4101, 2, '登封', 'deng feng', 'def', '登封市', NULL, NULL, NULL, NULL), + (410202, 4102, 2, '龙亭', 'long ting', 'lot', '龙亭区', NULL, NULL, NULL, NULL), + (410203, 4102, 2, '顺河回族', 'shun he hui zu', 'shhh', '顺河回族区', NULL, NULL, NULL, NULL), + (410204, 4102, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (410205, 4102, 2, '禹王台', 'yu wang tai', 'yuwt', '禹王台区', NULL, NULL, NULL, NULL), + (410212, 4102, 2, '祥符', 'xiang fu', 'xif', '祥符区', NULL, NULL, NULL, NULL), + (410221, 4102, 2, '杞县', 'qi xian', 'qix', '杞县', NULL, NULL, NULL, NULL), + (410222, 4102, 2, '通许', 'tong xu', 'tox', '通许县', NULL, NULL, NULL, NULL), + (410223, 4102, 2, '尉氏', 'wei shi', 'wes', '尉氏县', NULL, NULL, NULL, NULL), + (410225, 4102, 2, '兰考', 'lan kao', 'lak', '兰考县', NULL, NULL, NULL, NULL), + (410302, 4103, 2, '老城', 'lao cheng', 'lac', '老城区', NULL, NULL, NULL, NULL), + (410303, 4103, 2, '西工', 'xi gong', 'xig', '西工区', NULL, NULL, NULL, NULL), + (410304, 4103, 2, '瀍河回族', 'chan he hui zu', 'chhh', '瀍河回族区', NULL, NULL, NULL, NULL), + (410305, 4103, 2, '涧西', 'jian xi', 'jix', '涧西区', NULL, NULL, NULL, NULL), + (410306, 4103, 2, '吉利', 'ji li', 'jil', '吉利区', NULL, NULL, NULL, NULL), + (410311, 4103, 2, '洛龙', 'luo long', 'lul', '洛龙区', NULL, NULL, NULL, NULL), + (410322, 4103, 2, '孟津', 'meng jin', 'mej', '孟津县', NULL, NULL, NULL, NULL), + (410323, 4103, 2, '新安', 'xin an', 'xia', '新安县', NULL, NULL, NULL, NULL), + (410324, 4103, 2, '栾川', 'luan chuan', 'luc', '栾川县', NULL, NULL, NULL, NULL), + (410325, 4103, 2, '嵩县', 'song xian', 'sox', '嵩县', NULL, NULL, NULL, NULL), + (410326, 4103, 2, '汝阳', 'ru yang', 'ruy', '汝阳县', NULL, NULL, NULL, NULL), + (410327, 4103, 2, '宜阳', 'yi yang', 'yiy', '宜阳县', NULL, NULL, NULL, NULL), + (410328, 4103, 2, '洛宁', 'luo ning', 'lun', '洛宁县', NULL, NULL, NULL, NULL), + (410329, 4103, 2, '伊川', 'yi chuan', 'yic', '伊川县', NULL, NULL, NULL, NULL), + (410371, 4103, 2, '洛阳高新技术产业开发区', 'luo yang gao xin ji shu chan ye kai fa qu', 'luyg', '洛阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (410381, 4103, 2, '偃师', 'yan shi', 'yas', '偃师市', NULL, NULL, NULL, NULL), + (410402, 4104, 2, '新华', 'xin hua', 'xih', '新华区', NULL, NULL, NULL, NULL), + (410403, 4104, 2, '卫东', 'wei dong', 'wed', '卫东区', NULL, NULL, NULL, NULL), + (410404, 4104, 2, '石龙', 'shi long', 'shl', '石龙区', NULL, NULL, NULL, NULL), + (410411, 4104, 2, '湛河', 'zhan he', 'zhh', '湛河区', NULL, NULL, NULL, NULL), + (410421, 4104, 2, '宝丰', 'bao feng', 'baf', '宝丰县', NULL, NULL, NULL, NULL), + (410422, 4104, 2, '叶县', 'ye xian', 'yex', '叶县', NULL, NULL, NULL, NULL), + (410423, 4104, 2, '鲁山', 'lu shan', 'lus', '鲁山县', NULL, NULL, NULL, NULL), + (410425, 4104, 2, '郏县', 'jia xian', 'jix', '郏县', NULL, NULL, NULL, NULL), + (410471, 4104, 2, '平顶山高新技术产业开发区', 'ping ding shan gao xin ji shu chan ye kai fa qu', 'pids', '平顶山高新技术产业开发区', NULL, NULL, NULL, NULL), + (410472, 4104, 2, '平顶山市新城', 'ping ding shan shi xin cheng', 'pids', '平顶山市新城区', NULL, NULL, NULL, NULL), + (410481, 4104, 2, '舞钢', 'wu gang', 'wug', '舞钢市', NULL, NULL, NULL, NULL), + (410482, 4104, 2, '汝州', 'ru zhou', 'ruz', '汝州市', NULL, NULL, NULL, NULL), + (410502, 4105, 2, '文峰', 'wen feng', 'wef', '文峰区', NULL, NULL, NULL, NULL), + (410503, 4105, 2, '北关', 'bei guan', 'beg', '北关区', NULL, NULL, NULL, NULL), + (410505, 4105, 2, '殷都', 'yin du', 'yid', '殷都区', NULL, NULL, NULL, NULL), + (410506, 4105, 2, '龙安', 'long an', 'loa', '龙安区', NULL, NULL, NULL, NULL), + (410522, 4105, 2, '安阳', 'an yang', 'any', '安阳县', NULL, NULL, NULL, NULL), + (410523, 4105, 2, '汤阴', 'tang yin', 'tay', '汤阴县', NULL, NULL, NULL, NULL), + (410526, 4105, 2, '滑县', 'hua xian', 'hux', '滑县', NULL, NULL, NULL, NULL), + (410527, 4105, 2, '内黄', 'nei huang', 'neh', '内黄县', NULL, NULL, NULL, NULL), + (410571, 4105, 2, '安阳高新技术产业开发区', 'an yang gao xin ji shu chan ye kai fa qu', 'anyg', '安阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (410581, 4105, 2, '林州', 'lin zhou', 'liz', '林州市', NULL, NULL, NULL, NULL), + (410602, 4106, 2, '鹤山', 'he shan', 'hes', '鹤山区', NULL, NULL, NULL, NULL), + (410603, 4106, 2, '山城', 'shan cheng', 'shc', '山城区', NULL, NULL, NULL, NULL), + (410611, 4106, 2, '淇滨', 'qi bin', 'qib', '淇滨区', NULL, NULL, NULL, NULL), + (410621, 4106, 2, '浚县', 'xun xian', 'xux', '浚县', NULL, NULL, NULL, NULL), + (410622, 4106, 2, '淇县', 'qi xian', 'qix', '淇县', NULL, NULL, NULL, NULL), + (410671, 4106, 2, '鹤壁经济技术开发区', 'he bi jing ji ji shu kai fa qu', 'hebj', '鹤壁经济技术开发区', NULL, NULL, NULL, NULL), + (410702, 4107, 2, '红旗', 'hong qi', 'hoq', '红旗区', NULL, NULL, NULL, NULL), + (410703, 4107, 2, '卫滨', 'wei bin', 'web', '卫滨区', NULL, NULL, NULL, NULL), + (410704, 4107, 2, '凤泉', 'feng quan', 'feq', '凤泉区', NULL, NULL, NULL, NULL), + (410711, 4107, 2, '牧野', 'mu ye', 'muy', '牧野区', NULL, NULL, NULL, NULL), + (410721, 4107, 2, '新乡', 'xin xiang', 'xix', '新乡县', NULL, NULL, NULL, NULL), + (410724, 4107, 2, '获嘉', 'huo jia', 'huj', '获嘉县', NULL, NULL, NULL, NULL), + (410725, 4107, 2, '原阳', 'yuan yang', 'yuy', '原阳县', NULL, NULL, NULL, NULL), + (410726, 4107, 2, '延津', 'yan jin', 'yaj', '延津县', NULL, NULL, NULL, NULL), + (410727, 4107, 2, '封丘', 'feng qiu', 'feq', '封丘县', NULL, NULL, NULL, NULL), + (410728, 4107, 2, '长垣', 'chang yuan', 'chy', '长垣县', NULL, NULL, NULL, NULL), + (410771, 4107, 2, '新乡高新技术产业开发区', 'xin xiang gao xin ji shu chan ye kai fa qu', 'xixg', '新乡高新技术产业开发区', NULL, NULL, NULL, NULL), + (410772, 4107, 2, '新乡经济技术开发区', 'xin xiang jing ji ji shu kai fa qu', 'xixj', '新乡经济技术开发区', NULL, NULL, NULL, NULL), + (410773, 4107, 2, '新乡市平原城乡一体化示范区', 'xin xiang shi ping yuan cheng xiang yi ti hua shi fan qu', 'xixs', '新乡市平原城乡一体化示范区', NULL, NULL, NULL, NULL), + (410781, 4107, 2, '卫辉', 'wei hui', 'weh', '卫辉市', NULL, NULL, NULL, NULL), + (410782, 4107, 2, '辉县', 'hui xian', 'hux', '辉县市', NULL, NULL, NULL, NULL), + (410802, 4108, 2, '解放', 'jie fang', 'jif', '解放区', NULL, NULL, NULL, NULL), + (410803, 4108, 2, '中站', 'zhong zhan', 'zhz', '中站区', NULL, NULL, NULL, NULL), + (410804, 4108, 2, '马村', 'ma cun', 'mac', '马村区', NULL, NULL, NULL, NULL), + (410811, 4108, 2, '山阳', 'shan yang', 'shy', '山阳区', NULL, NULL, NULL, NULL), + (410821, 4108, 2, '修武', 'xiu wu', 'xiw', '修武县', NULL, NULL, NULL, NULL), + (410822, 4108, 2, '博爱', 'bo ai', 'boa', '博爱县', NULL, NULL, NULL, NULL), + (410823, 4108, 2, '武陟', 'wu zhi', 'wuz', '武陟县', NULL, NULL, NULL, NULL), + (410825, 4108, 2, '温县', 'wen xian', 'wex', '温县', NULL, NULL, NULL, NULL), + (410871, 4108, 2, '焦作城乡一体化示范区', 'jiao zuo cheng xiang yi ti hua shi fan qu', 'jizc', '焦作城乡一体化示范区', NULL, NULL, NULL, NULL), + (410882, 4108, 2, '沁阳', 'qin yang', 'qiy', '沁阳市', NULL, NULL, NULL, NULL), + (410883, 4108, 2, '孟州', 'meng zhou', 'mez', '孟州市', NULL, NULL, NULL, NULL), + (410902, 4109, 2, '华龙', 'hua long', 'hul', '华龙区', NULL, NULL, NULL, NULL), + (410922, 4109, 2, '清丰', 'qing feng', 'qif', '清丰县', NULL, NULL, NULL, NULL), + (410923, 4109, 2, '南乐', 'nan le', 'nal', '南乐县', NULL, NULL, NULL, NULL), + (410926, 4109, 2, '范县', 'fan xian', 'fax', '范县', NULL, NULL, NULL, NULL), + (410927, 4109, 2, '台前', 'tai qian', 'taq', '台前县', NULL, NULL, NULL, NULL), + (410928, 4109, 2, '濮阳', 'pu yang', 'puy', '濮阳县', NULL, NULL, NULL, NULL), + (410971, 4109, 2, '河南濮阳工业园', 'he nan pu yang gong ye yuan', 'henp', '河南濮阳工业园区', NULL, NULL, NULL, NULL), + (410972, 4109, 2, '濮阳经济技术开发区', 'pu yang jing ji ji shu kai fa qu', 'puyj', '濮阳经济技术开发区', NULL, NULL, NULL, NULL), + (411002, 4110, 2, '魏都', 'wei du', 'wed', '魏都区', NULL, NULL, NULL, NULL), + (411003, 4110, 2, '建安', 'jian an', 'jia', '建安区', NULL, NULL, NULL, NULL), + (411024, 4110, 2, '鄢陵', 'yan ling', 'yal', '鄢陵县', NULL, NULL, NULL, NULL), + (411025, 4110, 2, '襄城', 'xiang cheng', 'xic', '襄城县', NULL, NULL, NULL, NULL), + (411071, 4110, 2, '许昌经济技术开发区', 'xu chang jing ji ji shu kai fa qu', 'xucj', '许昌经济技术开发区', NULL, NULL, NULL, NULL), + (411081, 4110, 2, '禹州', 'yu zhou', 'yuz', '禹州市', NULL, NULL, NULL, NULL), + (411082, 4110, 2, '长葛', 'chang ge', 'chg', '长葛市', NULL, NULL, NULL, NULL), + (411102, 4111, 2, '源汇', 'yuan hui', 'yuh', '源汇区', NULL, NULL, NULL, NULL), + (411103, 4111, 2, '郾城', 'yan cheng', 'yac', '郾城区', NULL, NULL, NULL, NULL), + (411104, 4111, 2, '召陵', 'shao ling', 'shl', '召陵区', NULL, NULL, NULL, NULL), + (411121, 4111, 2, '舞阳', 'wu yang', 'wuy', '舞阳县', NULL, NULL, NULL, NULL), + (411122, 4111, 2, '临颍', 'lin ying', 'liy', '临颍县', NULL, NULL, NULL, NULL), + (411171, 4111, 2, '漯河经济技术开发区', 'luo he jing ji ji shu kai fa qu', 'luhj', '漯河经济技术开发区', NULL, NULL, NULL, NULL), + (411202, 4112, 2, '湖滨', 'hu bin', 'hub', '湖滨区', NULL, NULL, NULL, NULL), + (411203, 4112, 2, '陕州', 'shan zhou', 'shz', '陕州区', NULL, NULL, NULL, NULL), + (411221, 4112, 2, '渑池', 'mian chi', 'mic', '渑池县', NULL, NULL, NULL, NULL), + (411224, 4112, 2, '卢氏', 'lu shi', 'lus', '卢氏县', NULL, NULL, NULL, NULL), + (411271, 4112, 2, '河南三门峡经济开发区', 'he nan san men xia jing ji kai fa qu', 'hens', '河南三门峡经济开发区', NULL, NULL, NULL, NULL), + (411281, 4112, 2, '义马', 'yi ma', 'yim', '义马市', NULL, NULL, NULL, NULL), + (411282, 4112, 2, '灵宝', 'ling bao', 'lib', '灵宝市', NULL, NULL, NULL, NULL), + (411302, 4113, 2, '宛城', 'wan cheng', 'wac', '宛城区', NULL, NULL, NULL, NULL), + (411303, 4113, 2, '卧龙', 'wo long', 'wol', '卧龙区', NULL, NULL, NULL, NULL), + (411321, 4113, 2, '南召', 'nan zhao', 'naz', '南召县', NULL, NULL, NULL, NULL), + (411322, 4113, 2, '方城', 'fang cheng', 'fac', '方城县', NULL, NULL, NULL, NULL), + (411323, 4113, 2, '西峡', 'xi xia', 'xix', '西峡县', NULL, NULL, NULL, NULL), + (411324, 4113, 2, '镇平', 'zhen ping', 'zhp', '镇平县', NULL, NULL, NULL, NULL), + (411325, 4113, 2, '内乡', 'nei xiang', 'nex', '内乡县', NULL, NULL, NULL, NULL), + (411326, 4113, 2, '淅川', 'xi chuan', 'xic', '淅川县', NULL, NULL, NULL, NULL), + (411327, 4113, 2, '社旗', 'she qi', 'shq', '社旗县', NULL, NULL, NULL, NULL), + (411328, 4113, 2, '唐河', 'tang he', 'tah', '唐河县', NULL, NULL, NULL, NULL), + (411329, 4113, 2, '新野', 'xin ye', 'xiy', '新野县', NULL, NULL, NULL, NULL), + (411330, 4113, 2, '桐柏', 'tong bai', 'tob', '桐柏县', NULL, NULL, NULL, NULL), + (411371, 4113, 2, '南阳高新技术产业开发区', 'nan yang gao xin ji shu chan ye kai fa qu', 'nayg', '南阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (411372, 4113, 2, '南阳市城乡一体化示范区', 'nan yang shi cheng xiang yi ti hua shi fan qu', 'nays', '南阳市城乡一体化示范区', NULL, NULL, NULL, NULL), + (411381, 4113, 2, '邓州', 'deng zhou', 'dez', '邓州市', NULL, NULL, NULL, NULL), + (411402, 4114, 2, '梁园', 'liang yuan', 'liy', '梁园区', NULL, NULL, NULL, NULL), + (411403, 4114, 2, '睢阳', 'sui yang', 'suy', '睢阳区', NULL, NULL, NULL, NULL), + (411421, 4114, 2, '民权', 'min quan', 'miq', '民权县', NULL, NULL, NULL, NULL), + (411422, 4114, 2, '睢县', 'sui xian', 'sux', '睢县', NULL, NULL, NULL, NULL), + (411423, 4114, 2, '宁陵', 'ning ling', 'nil', '宁陵县', NULL, NULL, NULL, NULL), + (411424, 4114, 2, '柘城', 'zhe cheng', 'zhc', '柘城县', NULL, NULL, NULL, NULL), + (411425, 4114, 2, '虞城', 'yu cheng', 'yuc', '虞城县', NULL, NULL, NULL, NULL), + (411426, 4114, 2, '夏邑', 'xia yi', 'xiy', '夏邑县', NULL, NULL, NULL, NULL), + (411471, 4114, 2, '豫东综合物流产业聚集', 'yu dong zong he wu liu chan ye ju ji', 'yudz', '豫东综合物流产业聚集区', NULL, NULL, NULL, NULL), + (411472, 4114, 2, '河南商丘经济开发区', 'he nan shang qiu jing ji kai fa qu', 'hens', '河南商丘经济开发区', NULL, NULL, NULL, NULL), + (411481, 4114, 2, '永城', 'yong cheng', 'yoc', '永城市', NULL, NULL, NULL, NULL), + (411502, 4115, 2, '浉河', 'shi he', 'shh', '浉河区', NULL, NULL, NULL, NULL), + (411503, 4115, 2, '平桥', 'ping qiao', 'piq', '平桥区', NULL, NULL, NULL, NULL), + (411521, 4115, 2, '罗山', 'luo shan', 'lus', '罗山县', NULL, NULL, NULL, NULL), + (411522, 4115, 2, '光山', 'guang shan', 'gus', '光山县', NULL, NULL, NULL, NULL), + (411523, 4115, 2, '新县', 'xin xian', 'xix', '新县', NULL, NULL, NULL, NULL), + (411524, 4115, 2, '商城', 'shang cheng', 'shc', '商城县', NULL, NULL, NULL, NULL), + (411525, 4115, 2, '固始', 'gu shi', 'gus', '固始县', NULL, NULL, NULL, NULL), + (411526, 4115, 2, '潢川', 'huang chuan', 'huc', '潢川县', NULL, NULL, NULL, NULL), + (411527, 4115, 2, '淮滨', 'huai bin', 'hub', '淮滨县', NULL, NULL, NULL, NULL), + (411528, 4115, 2, '息县', 'xi xian', 'xix', '息县', NULL, NULL, NULL, NULL), + (411571, 4115, 2, '信阳高新技术产业开发区', 'xin yang gao xin ji shu chan ye kai fa qu', 'xiyg', '信阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (411602, 4116, 2, '川汇', 'chuan hui', 'chh', '川汇区', NULL, NULL, NULL, NULL), + (411621, 4116, 2, '扶沟', 'fu gou', 'fug', '扶沟县', NULL, NULL, NULL, NULL), + (411622, 4116, 2, '西华', 'xi hua', 'xih', '西华县', NULL, NULL, NULL, NULL), + (411623, 4116, 2, '商水', 'shang shui', 'shs', '商水县', NULL, NULL, NULL, NULL), + (411624, 4116, 2, '沈丘', 'shen qiu', 'shq', '沈丘县', NULL, NULL, NULL, NULL), + (411625, 4116, 2, '郸城', 'dan cheng', 'dac', '郸城县', NULL, NULL, NULL, NULL), + (411626, 4116, 2, '淮阳', 'huai yang', 'huy', '淮阳县', NULL, NULL, NULL, NULL), + (411627, 4116, 2, '太康', 'tai kang', 'tak', '太康县', NULL, NULL, NULL, NULL), + (411628, 4116, 2, '鹿邑', 'lu yi', 'luy', '鹿邑县', NULL, NULL, NULL, NULL), + (411671, 4116, 2, '河南周口经济开发区', 'he nan zhou kou jing ji kai fa qu', 'henz', '河南周口经济开发区', NULL, NULL, NULL, NULL), + (411681, 4116, 2, '项城', 'xiang cheng', 'xic', '项城市', NULL, NULL, NULL, NULL), + (411702, 4117, 2, '驿城', 'yi cheng', 'yic', '驿城区', NULL, NULL, NULL, NULL), + (411721, 4117, 2, '西平', 'xi ping', 'xip', '西平县', NULL, NULL, NULL, NULL), + (411722, 4117, 2, '上蔡', 'shang cai', 'shc', '上蔡县', NULL, NULL, NULL, NULL), + (411723, 4117, 2, '平舆', 'ping yu', 'piy', '平舆县', NULL, NULL, NULL, NULL), + (411724, 4117, 2, '正阳', 'zheng yang', 'zhy', '正阳县', NULL, NULL, NULL, NULL), + (411725, 4117, 2, '确山', 'que shan', 'qus', '确山县', NULL, NULL, NULL, NULL), + (411726, 4117, 2, '泌阳', 'bi yang', 'biy', '泌阳县', NULL, NULL, NULL, NULL), + (411727, 4117, 2, '汝南', 'ru nan', 'run', '汝南县', NULL, NULL, NULL, NULL), + (411728, 4117, 2, '遂平', 'sui ping', 'sup', '遂平县', NULL, NULL, NULL, NULL), + (411729, 4117, 2, '新蔡', 'xin cai', 'xic', '新蔡县', NULL, NULL, NULL, NULL), + (411771, 4117, 2, '河南驻马店经济开发区', 'he nan zhu ma dian jing ji kai fa qu', 'henz', '河南驻马店经济开发区', NULL, NULL, NULL, NULL), + (419001, 4190, 2, '济源', 'ji yuan', 'jiy', '济源市', NULL, NULL, NULL, NULL), + (420102, 4201, 2, '江岸', 'jiang an', 'jia', '江岸区', NULL, NULL, NULL, NULL), + (420103, 4201, 2, '江汉', 'jiang han', 'jih', '江汉区', NULL, NULL, NULL, NULL), + (420104, 4201, 2, '硚口', 'qiao kou', 'qik', '硚口区', NULL, NULL, NULL, NULL), + (420105, 4201, 2, '汉阳', 'han yang', 'hay', '汉阳区', NULL, NULL, NULL, NULL), + (420106, 4201, 2, '武昌', 'wu chang', 'wuc', '武昌区', NULL, NULL, NULL, NULL), + (420107, 4201, 2, '青山', 'qing shan', 'qis', '青山区', NULL, NULL, NULL, NULL), + (420111, 4201, 2, '洪山', 'hong shan', 'hos', '洪山区', NULL, NULL, NULL, NULL), + (420112, 4201, 2, '东西湖', 'dong xi hu', 'doxh', '东西湖区', NULL, NULL, NULL, NULL), + (420113, 4201, 2, '汉南', 'han nan', 'han', '汉南区', NULL, NULL, NULL, NULL), + (420114, 4201, 2, '蔡甸', 'cai dian', 'cad', '蔡甸区', NULL, NULL, NULL, NULL), + (420115, 4201, 2, '江夏', 'jiang xia', 'jix', '江夏区', NULL, NULL, NULL, NULL), + (420116, 4201, 2, '黄陂', 'huang pi', 'hup', '黄陂区', NULL, NULL, NULL, NULL), + (420117, 4201, 2, '新洲', 'xin zhou', 'xiz', '新洲区', NULL, NULL, NULL, NULL), + (420202, 4202, 2, '黄石港', 'huang shi gang', 'husg', '黄石港区', NULL, NULL, NULL, NULL), + (420203, 4202, 2, '西塞山', 'xi sai shan', 'xiss', '西塞山区', NULL, NULL, NULL, NULL), + (420204, 4202, 2, '下陆', 'xia lu', 'xil', '下陆区', NULL, NULL, NULL, NULL), + (420205, 4202, 2, '铁山', 'tie shan', 'tis', '铁山区', NULL, NULL, NULL, NULL), + (420222, 4202, 2, '阳新', 'yang xin', 'yax', '阳新县', NULL, NULL, NULL, NULL), + (420281, 4202, 2, '大冶', 'da ye', 'day', '大冶市', NULL, NULL, NULL, NULL), + (420302, 4203, 2, '茅箭', 'mao jian', 'maj', '茅箭区', NULL, NULL, NULL, NULL), + (420303, 4203, 2, '张湾', 'zhang wan', 'zhw', '张湾区', NULL, NULL, NULL, NULL), + (420304, 4203, 2, '郧阳', 'yun yang', 'yuy', '郧阳区', NULL, NULL, NULL, NULL), + (420322, 4203, 2, '郧西', 'yun xi', 'yux', '郧西县', NULL, NULL, NULL, NULL), + (420323, 4203, 2, '竹山', 'zhu shan', 'zhs', '竹山县', NULL, NULL, NULL, NULL), + (420324, 4203, 2, '竹溪', 'zhu xi', 'zhx', '竹溪县', NULL, NULL, NULL, NULL), + (420325, 4203, 2, '房县', 'fang xian', 'fax', '房县', NULL, NULL, NULL, NULL), + (420381, 4203, 2, '丹江口', 'dan jiang kou', 'dajk', '丹江口市', NULL, NULL, NULL, NULL), + (420502, 4205, 2, '西陵', 'xi ling', 'xil', '西陵区', NULL, NULL, NULL, NULL), + (420503, 4205, 2, '伍家岗', 'wu jia gang', 'wujg', '伍家岗区', NULL, NULL, NULL, NULL), + (420504, 4205, 2, '点军', 'dian jun', 'dij', '点军区', NULL, NULL, NULL, NULL), + (420505, 4205, 2, '猇亭', 'xiao ting', 'xit', '猇亭区', NULL, NULL, NULL, NULL), + (420506, 4205, 2, '夷陵', 'yi ling', 'yil', '夷陵区', NULL, NULL, NULL, NULL), + (420525, 4205, 2, '远安', 'yuan an', 'yua', '远安县', NULL, NULL, NULL, NULL), + (420526, 4205, 2, '兴山', 'xing shan', 'xis', '兴山县', NULL, NULL, NULL, NULL), + (420527, 4205, 2, '秭归', 'zi gui', 'zig', '秭归县', NULL, NULL, NULL, NULL), + (420528, 4205, 2, '长阳土家族自治县', 'chang yang tu jia zu zi zhi xian', 'chyt', '长阳土家族自治县', NULL, NULL, NULL, NULL), + (420529, 4205, 2, '五峰土家族自治县', 'wu feng tu jia zu zi zhi xian', 'wuft', '五峰土家族自治县', NULL, NULL, NULL, NULL), + (420581, 4205, 2, '宜都', 'yi du', 'yid', '宜都市', NULL, NULL, NULL, NULL), + (420582, 4205, 2, '当阳', 'dang yang', 'day', '当阳市', NULL, NULL, NULL, NULL), + (420583, 4205, 2, '枝江', 'zhi jiang', 'zhj', '枝江市', NULL, NULL, NULL, NULL), + (420602, 4206, 2, '襄城', 'xiang cheng', 'xic', '襄城区', NULL, NULL, NULL, NULL), + (420606, 4206, 2, '樊城', 'fan cheng', 'fac', '樊城区', NULL, NULL, NULL, NULL), + (420607, 4206, 2, '襄州', 'xiang zhou', 'xiz', '襄州区', NULL, NULL, NULL, NULL), + (420624, 4206, 2, '南漳', 'nan zhang', 'naz', '南漳县', NULL, NULL, NULL, NULL), + (420625, 4206, 2, '谷城', 'gu cheng', 'guc', '谷城县', NULL, NULL, NULL, NULL), + (420626, 4206, 2, '保康', 'bao kang', 'bak', '保康县', NULL, NULL, NULL, NULL), + (420682, 4206, 2, '老河口', 'lao he kou', 'lahk', '老河口市', NULL, NULL, NULL, NULL), + (420683, 4206, 2, '枣阳', 'zao yang', 'zay', '枣阳市', NULL, NULL, NULL, NULL), + (420684, 4206, 2, '宜城', 'yi cheng', 'yic', '宜城市', NULL, NULL, NULL, NULL), + (420702, 4207, 2, '梁子湖', 'liang zi hu', 'lizh', '梁子湖区', NULL, NULL, NULL, NULL), + (420703, 4207, 2, '华容', 'hua rong', 'hur', '华容区', NULL, NULL, NULL, NULL), + (420704, 4207, 2, '鄂城', 'e cheng', 'ec', '鄂城区', NULL, NULL, NULL, NULL), + (420802, 4208, 2, '东宝', 'dong bao', 'dob', '东宝区', NULL, NULL, NULL, NULL), + (420804, 4208, 2, '掇刀', 'duo dao', 'dud', '掇刀区', NULL, NULL, NULL, NULL), + (420821, 4208, 2, '京山', 'jing shan', 'jis', '京山县', NULL, NULL, NULL, NULL), + (420822, 4208, 2, '沙洋', 'sha yang', 'shy', '沙洋县', NULL, NULL, NULL, NULL), + (420881, 4208, 2, '钟祥', 'zhong xiang', 'zhx', '钟祥市', NULL, NULL, NULL, NULL), + (420902, 4209, 2, '孝南', 'xiao nan', 'xin', '孝南区', NULL, NULL, NULL, NULL), + (420921, 4209, 2, '孝昌', 'xiao chang', 'xic', '孝昌县', NULL, NULL, NULL, NULL), + (420922, 4209, 2, '大悟', 'da wu', 'daw', '大悟县', NULL, NULL, NULL, NULL), + (420923, 4209, 2, '云梦', 'yun meng', 'yum', '云梦县', NULL, NULL, NULL, NULL), + (420981, 4209, 2, '应城', 'ying cheng', 'yic', '应城市', NULL, NULL, NULL, NULL), + (420982, 4209, 2, '安陆', 'an lu', 'anl', '安陆市', NULL, NULL, NULL, NULL), + (420984, 4209, 2, '汉川', 'han chuan', 'hac', '汉川市', NULL, NULL, NULL, NULL), + (421002, 4210, 2, '沙市', 'sha shi', 'shs', '沙市区', NULL, NULL, NULL, NULL), + (421003, 4210, 2, '荆州', 'jing zhou', 'jiz', '荆州区', NULL, NULL, NULL, NULL), + (421022, 4210, 2, '公安', 'gong an', 'goa', '公安县', NULL, NULL, NULL, NULL), + (421023, 4210, 2, '监利', 'jian li', 'jil', '监利县', NULL, NULL, NULL, NULL), + (421024, 4210, 2, '江陵', 'jiang ling', 'jil', '江陵县', NULL, NULL, NULL, NULL), + (421071, 4210, 2, '荆州经济技术开发区', 'jing zhou jing ji ji shu kai fa qu', 'jizj', '荆州经济技术开发区', NULL, NULL, NULL, NULL), + (421081, 4210, 2, '石首', 'shi shou', 'shs', '石首市', NULL, NULL, NULL, NULL), + (421083, 4210, 2, '洪湖', 'hong hu', 'hoh', '洪湖市', NULL, NULL, NULL, NULL), + (421087, 4210, 2, '松滋', 'song zi', 'soz', '松滋市', NULL, NULL, NULL, NULL), + (421102, 4211, 2, '黄州', 'huang zhou', 'huz', '黄州区', NULL, NULL, NULL, NULL), + (421121, 4211, 2, '团风', 'tuan feng', 'tuf', '团风县', NULL, NULL, NULL, NULL), + (421122, 4211, 2, '红安', 'hong an', 'hoa', '红安县', NULL, NULL, NULL, NULL), + (421123, 4211, 2, '罗田', 'luo tian', 'lut', '罗田县', NULL, NULL, NULL, NULL), + (421124, 4211, 2, '英山', 'ying shan', 'yis', '英山县', NULL, NULL, NULL, NULL), + (421125, 4211, 2, '浠水', 'xi shui', 'xis', '浠水县', NULL, NULL, NULL, NULL), + (421126, 4211, 2, '蕲春', 'qi chun', 'qic', '蕲春县', NULL, NULL, NULL, NULL), + (421127, 4211, 2, '黄梅', 'huang mei', 'hum', '黄梅县', NULL, NULL, NULL, NULL), + (421171, 4211, 2, '龙感湖管理区', 'long gan hu guan li qu', 'logh', '龙感湖管理区', NULL, NULL, NULL, NULL), + (421181, 4211, 2, '麻城', 'ma cheng', 'mac', '麻城市', NULL, NULL, NULL, NULL), + (421182, 4211, 2, '武穴', 'wu xue', 'wux', '武穴市', NULL, NULL, NULL, NULL), + (421202, 4212, 2, '咸安', 'xian an', 'xia', '咸安区', NULL, NULL, NULL, NULL), + (421221, 4212, 2, '嘉鱼', 'jia yu', 'jiy', '嘉鱼县', NULL, NULL, NULL, NULL), + (421222, 4212, 2, '通城', 'tong cheng', 'toc', '通城县', NULL, NULL, NULL, NULL), + (421223, 4212, 2, '崇阳', 'chong yang', 'chy', '崇阳县', NULL, NULL, NULL, NULL), + (421224, 4212, 2, '通山', 'tong shan', 'tos', '通山县', NULL, NULL, NULL, NULL), + (421281, 4212, 2, '赤壁', 'chi bi', 'chb', '赤壁市', NULL, NULL, NULL, NULL), + (421303, 4213, 2, '曾都', 'zeng du', 'zed', '曾都区', NULL, NULL, NULL, NULL), + (421321, 4213, 2, '随县', 'sui xian', 'sux', '随县', NULL, NULL, NULL, NULL), + (421381, 4213, 2, '广水', 'guang shui', 'gus', '广水市', NULL, NULL, NULL, NULL), + (422801, 4228, 2, '恩施', 'en shi', 'ens', '恩施市', NULL, NULL, NULL, NULL), + (422802, 4228, 2, '利川', 'li chuan', 'lic', '利川市', NULL, NULL, NULL, NULL), + (422822, 4228, 2, '建始', 'jian shi', 'jis', '建始县', NULL, NULL, NULL, NULL), + (422823, 4228, 2, '巴东', 'ba dong', 'bad', '巴东县', NULL, NULL, NULL, NULL), + (422825, 4228, 2, '宣恩', 'xuan en', 'xue', '宣恩县', NULL, NULL, NULL, NULL), + (422826, 4228, 2, '咸丰', 'xian feng', 'xif', '咸丰县', NULL, NULL, NULL, NULL), + (422827, 4228, 2, '来凤', 'lai feng', 'laf', '来凤县', NULL, NULL, NULL, NULL), + (422828, 4228, 2, '鹤峰', 'he feng', 'hef', '鹤峰县', NULL, NULL, NULL, NULL), + (429004, 4290, 2, '仙桃', 'xian tao', 'xit', '仙桃市', NULL, NULL, NULL, NULL), + (429005, 4290, 2, '潜江', 'qian jiang', 'qij', '潜江市', NULL, NULL, NULL, NULL), + (429006, 4290, 2, '天门', 'tian men', 'tim', '天门市', NULL, NULL, NULL, NULL), + (429021, 4290, 2, '神农架林', 'shen nong jia lin', 'shnj', '神农架林区', NULL, NULL, NULL, NULL), + (430102, 4301, 2, '芙蓉', 'fu rong', 'fur', '芙蓉区', NULL, NULL, NULL, NULL), + (430103, 4301, 2, '天心', 'tian xin', 'tix', '天心区', NULL, NULL, NULL, NULL), + (430104, 4301, 2, '岳麓', 'yue lu', 'yul', '岳麓区', NULL, NULL, NULL, NULL), + (430105, 4301, 2, '开福', 'kai fu', 'kaf', '开福区', NULL, NULL, NULL, NULL), + (430111, 4301, 2, '雨花', 'yu hua', 'yuh', '雨花区', NULL, NULL, NULL, NULL), + (430112, 4301, 2, '望城', 'wang cheng', 'wac', '望城区', NULL, NULL, NULL, NULL), + (430121, 4301, 2, '长沙', 'chang sha', 'chs', '长沙县', NULL, NULL, NULL, NULL), + (430181, 4301, 2, '浏阳', 'liu yang', 'liy', '浏阳市', NULL, NULL, NULL, NULL), + (430182, 4301, 2, '宁乡', 'ning xiang', 'nix', '宁乡市', NULL, NULL, NULL, NULL), + (430202, 4302, 2, '荷塘', 'he tang', 'het', '荷塘区', NULL, NULL, NULL, NULL), + (430203, 4302, 2, '芦淞', 'lu song', 'lus', '芦淞区', NULL, NULL, NULL, NULL), + (430204, 4302, 2, '石峰', 'shi feng', 'shf', '石峰区', NULL, NULL, NULL, NULL), + (430211, 4302, 2, '天元', 'tian yuan', 'tiy', '天元区', NULL, NULL, NULL, NULL), + (430221, 4302, 2, '株洲', 'zhu zhou', 'zhz', '株洲县', NULL, NULL, NULL, NULL), + (430223, 4302, 2, '攸县', 'you xian', 'yox', '攸县', NULL, NULL, NULL, NULL), + (430224, 4302, 2, '茶陵', 'cha ling', 'chl', '茶陵县', NULL, NULL, NULL, NULL), + (430225, 4302, 2, '炎陵', 'yan ling', 'yal', '炎陵县', NULL, NULL, NULL, NULL), + (430271, 4302, 2, '云龙示范区', 'yun long shi fan qu', 'yuls', '云龙示范区', NULL, NULL, NULL, NULL), + (430281, 4302, 2, '醴陵', 'li ling', 'lil', '醴陵市', NULL, NULL, NULL, NULL), + (430302, 4303, 2, '雨湖', 'yu hu', 'yuh', '雨湖区', NULL, NULL, NULL, NULL), + (430304, 4303, 2, '岳塘', 'yue tang', 'yut', '岳塘区', NULL, NULL, NULL, NULL), + (430321, 4303, 2, '湘潭', 'xiang tan', 'xit', '湘潭县', NULL, NULL, NULL, NULL), + (430371, 4303, 2, '湖南湘潭高新技术产业园', 'hu nan xiang tan gao xin ji shu chan ye yuan', 'hunx', '湖南湘潭高新技术产业园区', NULL, NULL, NULL, NULL), + (430372, 4303, 2, '湘潭昭山示范区', 'xiang tan zhao shan shi fan qu', 'xitz', '湘潭昭山示范区', NULL, NULL, NULL, NULL), + (430373, 4303, 2, '湘潭九华示范区', 'xiang tan jiu hua shi fan qu', 'xitj', '湘潭九华示范区', NULL, NULL, NULL, NULL), + (430381, 4303, 2, '湘乡', 'xiang xiang', 'xix', '湘乡市', NULL, NULL, NULL, NULL), + (430382, 4303, 2, '韶山', 'shao shan', 'shs', '韶山市', NULL, NULL, NULL, NULL), + (430405, 4304, 2, '珠晖', 'zhu hui', 'zhh', '珠晖区', NULL, NULL, NULL, NULL), + (430406, 4304, 2, '雁峰', 'yan feng', 'yaf', '雁峰区', NULL, NULL, NULL, NULL), + (430407, 4304, 2, '石鼓', 'shi gu', 'shg', '石鼓区', NULL, NULL, NULL, NULL), + (430408, 4304, 2, '蒸湘', 'zheng xiang', 'zhx', '蒸湘区', NULL, NULL, NULL, NULL), + (430412, 4304, 2, '南岳', 'nan yue', 'nay', '南岳区', NULL, NULL, NULL, NULL), + (430421, 4304, 2, '衡阳', 'heng yang', 'hey', '衡阳县', NULL, NULL, NULL, NULL), + (430422, 4304, 2, '衡南', 'heng nan', 'hen', '衡南县', NULL, NULL, NULL, NULL), + (430423, 4304, 2, '衡山', 'heng shan', 'hes', '衡山县', NULL, NULL, NULL, NULL), + (430424, 4304, 2, '衡东', 'heng dong', 'hed', '衡东县', NULL, NULL, NULL, NULL), + (430426, 4304, 2, '祁东', 'qi dong', 'qid', '祁东县', NULL, NULL, NULL, NULL), + (430471, 4304, 2, '衡阳综合保税', 'heng yang zong he bao shui', 'heyz', '衡阳综合保税区', NULL, NULL, NULL, NULL), + (430472, 4304, 2, '湖南衡阳高新技术产业园', 'hu nan heng yang gao xin ji shu chan ye yuan', 'hunh', '湖南衡阳高新技术产业园区', NULL, NULL, NULL, NULL), + (430473, 4304, 2, '湖南衡阳松木经济开发区', 'hu nan heng yang song mu jing ji kai fa qu', 'hunh', '湖南衡阳松木经济开发区', NULL, NULL, NULL, NULL), + (430481, 4304, 2, '耒阳', 'lei yang', 'ley', '耒阳市', NULL, NULL, NULL, NULL), + (430482, 4304, 2, '常宁', 'chang ning', 'chn', '常宁市', NULL, NULL, NULL, NULL), + (430502, 4305, 2, '双清', 'shuang qing', 'shq', '双清区', NULL, NULL, NULL, NULL), + (430503, 4305, 2, '大祥', 'da xiang', 'dax', '大祥区', NULL, NULL, NULL, NULL), + (430511, 4305, 2, '北塔', 'bei ta', 'bet', '北塔区', NULL, NULL, NULL, NULL), + (430521, 4305, 2, '邵东', 'shao dong', 'shd', '邵东县', NULL, NULL, NULL, NULL), + (430522, 4305, 2, '新邵', 'xin shao', 'xis', '新邵县', NULL, NULL, NULL, NULL), + (430523, 4305, 2, '邵阳', 'shao yang', 'shy', '邵阳县', NULL, NULL, NULL, NULL), + (430524, 4305, 2, '隆回', 'long hui', 'loh', '隆回县', NULL, NULL, NULL, NULL), + (430525, 4305, 2, '洞口', 'dong kou', 'dok', '洞口县', NULL, NULL, NULL, NULL), + (430527, 4305, 2, '绥宁', 'sui ning', 'sun', '绥宁县', NULL, NULL, NULL, NULL), + (430528, 4305, 2, '新宁', 'xin ning', 'xin', '新宁县', NULL, NULL, NULL, NULL), + (430529, 4305, 2, '城步苗族自治县', 'cheng bu miao zu zi zhi xian', 'chbm', '城步苗族自治县', NULL, NULL, NULL, NULL), + (430581, 4305, 2, '武冈', 'wu gang', 'wug', '武冈市', NULL, NULL, NULL, NULL), + (430602, 4306, 2, '岳阳楼', 'yue yang lou', 'yuyl', '岳阳楼区', NULL, NULL, NULL, NULL), + (430603, 4306, 2, '云溪', 'yun xi', 'yux', '云溪区', NULL, NULL, NULL, NULL), + (430611, 4306, 2, '君山', 'jun shan', 'jus', '君山区', NULL, NULL, NULL, NULL), + (430621, 4306, 2, '岳阳', 'yue yang', 'yuy', '岳阳县', NULL, NULL, NULL, NULL), + (430623, 4306, 2, '华容', 'hua rong', 'hur', '华容县', NULL, NULL, NULL, NULL), + (430624, 4306, 2, '湘阴', 'xiang yin', 'xiy', '湘阴县', NULL, NULL, NULL, NULL), + (430626, 4306, 2, '平江', 'ping jiang', 'pij', '平江县', NULL, NULL, NULL, NULL), + (430671, 4306, 2, '岳阳市屈原管理区', 'yue yang shi qu yuan guan li qu', 'yuys', '岳阳市屈原管理区', NULL, NULL, NULL, NULL), + (430681, 4306, 2, '汨罗', 'mi luo', 'mil', '汨罗市', NULL, NULL, NULL, NULL), + (430682, 4306, 2, '临湘', 'lin xiang', 'lix', '临湘市', NULL, NULL, NULL, NULL), + (430702, 4307, 2, '武陵', 'wu ling', 'wul', '武陵区', NULL, NULL, NULL, NULL), + (430703, 4307, 2, '鼎城', 'ding cheng', 'dic', '鼎城区', NULL, NULL, NULL, NULL), + (430721, 4307, 2, '安乡', 'an xiang', 'anx', '安乡县', NULL, NULL, NULL, NULL), + (430722, 4307, 2, '汉寿', 'han shou', 'has', '汉寿县', NULL, NULL, NULL, NULL), + (430723, 4307, 2, '澧县', 'li xian', 'lix', '澧县', NULL, NULL, NULL, NULL), + (430724, 4307, 2, '临澧', 'lin li', 'lil', '临澧县', NULL, NULL, NULL, NULL), + (430725, 4307, 2, '桃源', 'tao yuan', 'tay', '桃源县', NULL, NULL, NULL, NULL), + (430726, 4307, 2, '石门', 'shi men', 'shm', '石门县', NULL, NULL, NULL, NULL), + (430771, 4307, 2, '常德市西洞庭管理区', 'chang de shi xi dong ting guan li qu', 'chds', '常德市西洞庭管理区', NULL, NULL, NULL, NULL), + (430781, 4307, 2, '津市', 'jin shi', 'jis', '津市市', NULL, NULL, NULL, NULL), + (430802, 4308, 2, '永定', 'yong ding', 'yod', '永定区', NULL, NULL, NULL, NULL), + (430811, 4308, 2, '武陵源', 'wu ling yuan', 'wuly', '武陵源区', NULL, NULL, NULL, NULL), + (430821, 4308, 2, '慈利', 'ci li', 'cil', '慈利县', NULL, NULL, NULL, NULL), + (430822, 4308, 2, '桑植', 'sang zhi', 'saz', '桑植县', NULL, NULL, NULL, NULL), + (430902, 4309, 2, '资阳', 'zi yang', 'ziy', '资阳区', NULL, NULL, NULL, NULL), + (430903, 4309, 2, '赫山', 'he shan', 'hes', '赫山区', NULL, NULL, NULL, NULL), + (430921, 4309, 2, '南县', 'nan xian', 'nax', '南县', NULL, NULL, NULL, NULL), + (430922, 4309, 2, '桃江', 'tao jiang', 'taj', '桃江县', NULL, NULL, NULL, NULL), + (430923, 4309, 2, '安化', 'an hua', 'anh', '安化县', NULL, NULL, NULL, NULL), + (430971, 4309, 2, '益阳市大通湖管理区', 'yi yang shi da tong hu guan li qu', 'yiys', '益阳市大通湖管理区', NULL, NULL, NULL, NULL), + (430972, 4309, 2, '湖南益阳高新技术产业园', 'hu nan yi yang gao xin ji shu chan ye yuan', 'huny', '湖南益阳高新技术产业园区', NULL, NULL, NULL, NULL), + (430981, 4309, 2, '沅江', 'yuan jiang', 'yuj', '沅江市', NULL, NULL, NULL, NULL), + (431002, 4310, 2, '北湖', 'bei hu', 'beh', '北湖区', NULL, NULL, NULL, NULL), + (431003, 4310, 2, '苏仙', 'su xian', 'sux', '苏仙区', NULL, NULL, NULL, NULL), + (431021, 4310, 2, '桂阳', 'gui yang', 'guy', '桂阳县', NULL, NULL, NULL, NULL), + (431022, 4310, 2, '宜章', 'yi zhang', 'yiz', '宜章县', NULL, NULL, NULL, NULL), + (431023, 4310, 2, '永兴', 'yong xing', 'yox', '永兴县', NULL, NULL, NULL, NULL), + (431024, 4310, 2, '嘉禾', 'jia he', 'jih', '嘉禾县', NULL, NULL, NULL, NULL), + (431025, 4310, 2, '临武', 'lin wu', 'liw', '临武县', NULL, NULL, NULL, NULL), + (431026, 4310, 2, '汝城', 'ru cheng', 'ruc', '汝城县', NULL, NULL, NULL, NULL), + (431027, 4310, 2, '桂东', 'gui dong', 'gud', '桂东县', NULL, NULL, NULL, NULL), + (431028, 4310, 2, '安仁', 'an ren', 'anr', '安仁县', NULL, NULL, NULL, NULL), + (431081, 4310, 2, '资兴', 'zi xing', 'zix', '资兴市', NULL, NULL, NULL, NULL), + (431102, 4311, 2, '零陵', 'ling ling', 'lil', '零陵区', NULL, NULL, NULL, NULL), + (431103, 4311, 2, '冷水滩', 'leng shui tan', 'lest', '冷水滩区', NULL, NULL, NULL, NULL), + (431121, 4311, 2, '祁阳', 'qi yang', 'qiy', '祁阳县', NULL, NULL, NULL, NULL), + (431122, 4311, 2, '东安', 'dong an', 'doa', '东安县', NULL, NULL, NULL, NULL), + (431123, 4311, 2, '双牌', 'shuang pai', 'shp', '双牌县', NULL, NULL, NULL, NULL), + (431124, 4311, 2, '道县', 'dao xian', 'dax', '道县', NULL, NULL, NULL, NULL), + (431125, 4311, 2, '江永', 'jiang yong', 'jiy', '江永县', NULL, NULL, NULL, NULL), + (431126, 4311, 2, '宁远', 'ning yuan', 'niy', '宁远县', NULL, NULL, NULL, NULL), + (431127, 4311, 2, '蓝山', 'lan shan', 'las', '蓝山县', NULL, NULL, NULL, NULL), + (431128, 4311, 2, '新田', 'xin tian', 'xit', '新田县', NULL, NULL, NULL, NULL), + (431129, 4311, 2, '江华瑶族自治县', 'jiang hua yao zu zi zhi xian', 'jihy', '江华瑶族自治县', NULL, NULL, NULL, NULL), + (431171, 4311, 2, '永州经济技术开发区', 'yong zhou jing ji ji shu kai fa qu', 'yozj', '永州经济技术开发区', NULL, NULL, NULL, NULL), + (431172, 4311, 2, '永州市金洞管理区', 'yong zhou shi jin dong guan li qu', 'yozs', '永州市金洞管理区', NULL, NULL, NULL, NULL), + (431173, 4311, 2, '永州市回龙圩管理区', 'yong zhou shi hui long xu guan li qu', 'yozs', '永州市回龙圩管理区', NULL, NULL, NULL, NULL), + (431202, 4312, 2, '鹤城', 'he cheng', 'hec', '鹤城区', NULL, NULL, NULL, NULL), + (431221, 4312, 2, '中方', 'zhong fang', 'zhf', '中方县', NULL, NULL, NULL, NULL), + (431222, 4312, 2, '沅陵', 'yuan ling', 'yul', '沅陵县', NULL, NULL, NULL, NULL), + (431223, 4312, 2, '辰溪', 'chen xi', 'chx', '辰溪县', NULL, NULL, NULL, NULL), + (431224, 4312, 2, '溆浦', 'xu pu', 'xup', '溆浦县', NULL, NULL, NULL, NULL), + (431225, 4312, 2, '会同', 'hui tong', 'hut', '会同县', NULL, NULL, NULL, NULL), + (431226, 4312, 2, '麻阳苗族自治县', 'ma yang miao zu zi zhi xian', 'maym', '麻阳苗族自治县', NULL, NULL, NULL, NULL), + (431227, 4312, 2, '新晃侗族自治县', 'xin huang dong zu zi zhi xian', 'xihd', '新晃侗族自治县', NULL, NULL, NULL, NULL), + (431228, 4312, 2, '芷江侗族自治县', 'zhi jiang dong zu zi zhi xian', 'zhjd', '芷江侗族自治县', NULL, NULL, NULL, NULL), + (431229, 4312, 2, '靖州苗族侗族自治县', 'jing zhou miao zu dong zu zi zhi xian', 'jizm', '靖州苗族侗族自治县', NULL, NULL, NULL, NULL), + (431230, 4312, 2, '通道侗族自治县', 'tong dao dong zu zi zhi xian', 'todd', '通道侗族自治县', NULL, NULL, NULL, NULL), + (431271, 4312, 2, '怀化市洪江管理区', 'huai hua shi hong jiang guan li qu', 'huhs', '怀化市洪江管理区', NULL, NULL, NULL, NULL), + (431281, 4312, 2, '洪江', 'hong jiang', 'hoj', '洪江市', NULL, NULL, NULL, NULL), + (431302, 4313, 2, '娄星', 'lou xing', 'lox', '娄星区', NULL, NULL, NULL, NULL), + (431321, 4313, 2, '双峰', 'shuang feng', 'shf', '双峰县', NULL, NULL, NULL, NULL), + (431322, 4313, 2, '新化', 'xin hua', 'xih', '新化县', NULL, NULL, NULL, NULL), + (431381, 4313, 2, '冷水江', 'leng shui jiang', 'lesj', '冷水江市', NULL, NULL, NULL, NULL), + (431382, 4313, 2, '涟源', 'lian yuan', 'liy', '涟源市', NULL, NULL, NULL, NULL), + (433101, 4331, 2, '吉首', 'ji shou', 'jis', '吉首市', NULL, NULL, NULL, NULL), + (433122, 4331, 2, '泸溪', 'lu xi', 'lux', '泸溪县', NULL, NULL, NULL, NULL), + (433123, 4331, 2, '凤凰', 'feng huang', 'feh', '凤凰县', NULL, NULL, NULL, NULL), + (433124, 4331, 2, '花垣', 'hua yuan', 'huy', '花垣县', NULL, NULL, NULL, NULL), + (433125, 4331, 2, '保靖', 'bao jing', 'baj', '保靖县', NULL, NULL, NULL, NULL), + (433126, 4331, 2, '古丈', 'gu zhang', 'guz', '古丈县', NULL, NULL, NULL, NULL), + (433127, 4331, 2, '永顺', 'yong shun', 'yos', '永顺县', NULL, NULL, NULL, NULL), + (433130, 4331, 2, '龙山', 'long shan', 'los', '龙山县', NULL, NULL, NULL, NULL), + (433172, 4331, 2, '湖南吉首经济开发区', 'hu nan ji shou jing ji kai fa qu', 'hunj', '湖南吉首经济开发区', NULL, NULL, NULL, NULL), + (433173, 4331, 2, '湖南永顺经济开发区', 'hu nan yong shun jing ji kai fa qu', 'huny', '湖南永顺经济开发区', NULL, NULL, NULL, NULL), + (440103, 4401, 2, '荔湾', 'li wan', 'liw', '荔湾区', NULL, NULL, NULL, NULL), + (440104, 4401, 2, '越秀', 'yue xiu', 'yux', '越秀区', NULL, NULL, NULL, NULL), + (440105, 4401, 2, '海珠', 'hai zhu', 'haz', '海珠区', NULL, NULL, NULL, NULL), + (440106, 4401, 2, '天河', 'tian he', 'tih', '天河区', NULL, NULL, NULL, NULL), + (440111, 4401, 2, '白云', 'bai yun', 'bay', '白云区', NULL, NULL, NULL, NULL), + (440112, 4401, 2, '黄埔', 'huang pu', 'hup', '黄埔区', NULL, NULL, NULL, NULL), + (440113, 4401, 2, '番禺', 'pan yu', 'pay', '番禺区', NULL, NULL, NULL, NULL), + (440114, 4401, 2, '花都', 'hua du', 'hud', '花都区', NULL, NULL, NULL, NULL), + (440115, 4401, 2, '南沙', 'nan sha', 'nas', '南沙区', NULL, NULL, NULL, NULL), + (440117, 4401, 2, '从化', 'cong hua', 'coh', '从化区', NULL, NULL, NULL, NULL), + (440118, 4401, 2, '增城', 'zeng cheng', 'zec', '增城区', NULL, NULL, NULL, NULL), + (440203, 4402, 2, '武江', 'wu jiang', 'wuj', '武江区', NULL, NULL, NULL, NULL), + (440204, 4402, 2, '浈江', 'zhen jiang', 'zhj', '浈江区', NULL, NULL, NULL, NULL), + (440205, 4402, 2, '曲江', 'qu jiang', 'quj', '曲江区', NULL, NULL, NULL, NULL), + (440222, 4402, 2, '始兴', 'shi xing', 'shx', '始兴县', NULL, NULL, NULL, NULL), + (440224, 4402, 2, '仁化', 'ren hua', 'reh', '仁化县', NULL, NULL, NULL, NULL), + (440229, 4402, 2, '翁源', 'weng yuan', 'wey', '翁源县', NULL, NULL, NULL, NULL), + (440232, 4402, 2, '乳源瑶族自治县', 'ru yuan yao zu zi zhi xian', 'ruyy', '乳源瑶族自治县', NULL, NULL, NULL, NULL), + (440233, 4402, 2, '新丰', 'xin feng', 'xif', '新丰县', NULL, NULL, NULL, NULL), + (440281, 4402, 2, '乐昌', 'le chang', 'lec', '乐昌市', NULL, NULL, NULL, NULL), + (440282, 4402, 2, '南雄', 'nan xiong', 'nax', '南雄市', NULL, NULL, NULL, NULL), + (440303, 4403, 2, '罗湖', 'luo hu', 'luh', '罗湖区', NULL, NULL, NULL, NULL), + (440304, 4403, 2, '福田', 'fu tian', 'fut', '福田区', NULL, NULL, NULL, NULL), + (440305, 4403, 2, '南山', 'nan shan', 'nas', '南山区', NULL, NULL, NULL, NULL), + (440306, 4403, 2, '宝安', 'bao an', 'baa', '宝安区', NULL, NULL, NULL, NULL), + (440307, 4403, 2, '龙岗', 'long gang', 'log', '龙岗区', NULL, NULL, NULL, NULL), + (440308, 4403, 2, '盐田', 'yan tian', 'yat', '盐田区', NULL, NULL, NULL, NULL), + (440309, 4403, 2, '龙华', 'long hua', 'loh', '龙华区', NULL, NULL, NULL, NULL), + (440310, 4403, 2, '坪山', 'ping shan', 'pis', '坪山区', NULL, NULL, NULL, NULL), + (440402, 4404, 2, '香洲', 'xiang zhou', 'xiz', '香洲区', NULL, NULL, NULL, NULL), + (440403, 4404, 2, '斗门', 'dou men', 'dom', '斗门区', NULL, NULL, NULL, NULL), + (440404, 4404, 2, '金湾', 'jin wan', 'jiw', '金湾区', NULL, NULL, NULL, NULL), + (440507, 4405, 2, '龙湖', 'long hu', 'loh', '龙湖区', NULL, NULL, NULL, NULL), + (440511, 4405, 2, '金平', 'jin ping', 'jip', '金平区', NULL, NULL, NULL, NULL), + (440512, 4405, 2, '濠江', 'hao jiang', 'haj', '濠江区', NULL, NULL, NULL, NULL), + (440513, 4405, 2, '潮阳', 'chao yang', 'chy', '潮阳区', NULL, NULL, NULL, NULL), + (440514, 4405, 2, '潮南', 'chao nan', 'chn', '潮南区', NULL, NULL, NULL, NULL), + (440515, 4405, 2, '澄海', 'cheng hai', 'chh', '澄海区', NULL, NULL, NULL, NULL), + (440523, 4405, 2, '南澳', 'nan ao', 'naa', '南澳县', NULL, NULL, NULL, NULL), + (440604, 4406, 2, '禅城', 'chan cheng', 'chc', '禅城区', NULL, NULL, NULL, NULL), + (440605, 4406, 2, '南海', 'nan hai', 'nah', '南海区', NULL, NULL, NULL, NULL), + (440606, 4406, 2, '顺德', 'shun de', 'shd', '顺德区', NULL, NULL, NULL, NULL), + (440607, 4406, 2, '三水', 'san shui', 'sas', '三水区', NULL, NULL, NULL, NULL), + (440608, 4406, 2, '高明', 'gao ming', 'gam', '高明区', NULL, NULL, NULL, NULL), + (440703, 4407, 2, '蓬江', 'peng jiang', 'pej', '蓬江区', NULL, NULL, NULL, NULL), + (440704, 4407, 2, '江海', 'jiang hai', 'jih', '江海区', NULL, NULL, NULL, NULL), + (440705, 4407, 2, '新会', 'xin hui', 'xih', '新会区', NULL, NULL, NULL, NULL), + (440781, 4407, 2, '台山', 'tai shan', 'tas', '台山市', NULL, NULL, NULL, NULL), + (440783, 4407, 2, '开平', 'kai ping', 'kap', '开平市', NULL, NULL, NULL, NULL), + (440784, 4407, 2, '鹤山', 'he shan', 'hes', '鹤山市', NULL, NULL, NULL, NULL), + (440785, 4407, 2, '恩平', 'en ping', 'enp', '恩平市', NULL, NULL, NULL, NULL), + (440802, 4408, 2, '赤坎', 'chi kan', 'chk', '赤坎区', NULL, NULL, NULL, NULL), + (440803, 4408, 2, '霞山', 'xia shan', 'xis', '霞山区', NULL, NULL, NULL, NULL), + (440804, 4408, 2, '坡头', 'po tou', 'pot', '坡头区', NULL, NULL, NULL, NULL), + (440811, 4408, 2, '麻章', 'ma zhang', 'maz', '麻章区', NULL, NULL, NULL, NULL), + (440823, 4408, 2, '遂溪', 'sui xi', 'sux', '遂溪县', NULL, NULL, NULL, NULL), + (440825, 4408, 2, '徐闻', 'xu wen', 'xuw', '徐闻县', NULL, NULL, NULL, NULL), + (440881, 4408, 2, '廉江', 'lian jiang', 'lij', '廉江市', NULL, NULL, NULL, NULL), + (440882, 4408, 2, '雷州', 'lei zhou', 'lez', '雷州市', NULL, NULL, NULL, NULL), + (440883, 4408, 2, '吴川', 'wu chuan', 'wuc', '吴川市', NULL, NULL, NULL, NULL), + (440902, 4409, 2, '茂南', 'mao nan', 'man', '茂南区', NULL, NULL, NULL, NULL), + (440904, 4409, 2, '电白', 'dian bai', 'dib', '电白区', NULL, NULL, NULL, NULL), + (440981, 4409, 2, '高州', 'gao zhou', 'gaz', '高州市', NULL, NULL, NULL, NULL), + (440982, 4409, 2, '化州', 'hua zhou', 'huz', '化州市', NULL, NULL, NULL, NULL), + (440983, 4409, 2, '信宜', 'xin yi', 'xiy', '信宜市', NULL, NULL, NULL, NULL), + (441202, 4412, 2, '端州', 'duan zhou', 'duz', '端州区', NULL, NULL, NULL, NULL), + (441203, 4412, 2, '鼎湖', 'ding hu', 'dih', '鼎湖区', NULL, NULL, NULL, NULL), + (441204, 4412, 2, '高要', 'gao yao', 'gay', '高要区', NULL, NULL, NULL, NULL), + (441223, 4412, 2, '广宁', 'guang ning', 'gun', '广宁县', NULL, NULL, NULL, NULL), + (441224, 4412, 2, '怀集', 'huai ji', 'huj', '怀集县', NULL, NULL, NULL, NULL), + (441225, 4412, 2, '封开', 'feng kai', 'fek', '封开县', NULL, NULL, NULL, NULL), + (441226, 4412, 2, '德庆', 'de qing', 'deq', '德庆县', NULL, NULL, NULL, NULL), + (441284, 4412, 2, '四会', 'si hui', 'sih', '四会市', NULL, NULL, NULL, NULL), + (441302, 4413, 2, '惠城', 'hui cheng', 'huc', '惠城区', NULL, NULL, NULL, NULL), + (441303, 4413, 2, '惠阳', 'hui yang', 'huy', '惠阳区', NULL, NULL, NULL, NULL), + (441322, 4413, 2, '博罗', 'bo luo', 'bol', '博罗县', NULL, NULL, NULL, NULL), + (441323, 4413, 2, '惠东', 'hui dong', 'hud', '惠东县', NULL, NULL, NULL, NULL), + (441324, 4413, 2, '龙门', 'long men', 'lom', '龙门县', NULL, NULL, NULL, NULL), + (441402, 4414, 2, '梅江', 'mei jiang', 'mej', '梅江区', NULL, NULL, NULL, NULL), + (441403, 4414, 2, '梅县', 'mei xian', 'mex', '梅县区', NULL, NULL, NULL, NULL), + (441422, 4414, 2, '大埔', 'da bu', 'dab', '大埔县', NULL, NULL, NULL, NULL), + (441423, 4414, 2, '丰顺', 'feng shun', 'fes', '丰顺县', NULL, NULL, NULL, NULL), + (441424, 4414, 2, '五华', 'wu hua', 'wuh', '五华县', NULL, NULL, NULL, NULL), + (441426, 4414, 2, '平远', 'ping yuan', 'piy', '平远县', NULL, NULL, NULL, NULL), + (441427, 4414, 2, '蕉岭', 'jiao ling', 'jil', '蕉岭县', NULL, NULL, NULL, NULL), + (441481, 4414, 2, '兴宁', 'xing ning', 'xin', '兴宁市', NULL, NULL, NULL, NULL), + (441502, 4415, 2, '城区', 'cheng qu', 'chq', '城区', NULL, NULL, NULL, NULL), + (441521, 4415, 2, '海丰', 'hai feng', 'haf', '海丰县', NULL, NULL, NULL, NULL), + (441523, 4415, 2, '陆河', 'lu he', 'luh', '陆河县', NULL, NULL, NULL, NULL), + (441581, 4415, 2, '陆丰', 'lu feng', 'luf', '陆丰市', NULL, NULL, NULL, NULL), + (441602, 4416, 2, '源城', 'yuan cheng', 'yuc', '源城区', NULL, NULL, NULL, NULL), + (441621, 4416, 2, '紫金', 'zi jin', 'zij', '紫金县', NULL, NULL, NULL, NULL), + (441622, 4416, 2, '龙川', 'long chuan', 'loc', '龙川县', NULL, NULL, NULL, NULL), + (441623, 4416, 2, '连平', 'lian ping', 'lip', '连平县', NULL, NULL, NULL, NULL), + (441624, 4416, 2, '和平', 'he ping', 'hep', '和平县', NULL, NULL, NULL, NULL), + (441625, 4416, 2, '东源', 'dong yuan', 'doy', '东源县', NULL, NULL, NULL, NULL), + (441702, 4417, 2, '江城', 'jiang cheng', 'jic', '江城区', NULL, NULL, NULL, NULL), + (441704, 4417, 2, '阳东', 'yang dong', 'yad', '阳东区', NULL, NULL, NULL, NULL), + (441721, 4417, 2, '阳西', 'yang xi', 'yax', '阳西县', NULL, NULL, NULL, NULL), + (441781, 4417, 2, '阳春', 'yang chun', 'yac', '阳春市', NULL, NULL, NULL, NULL), + (441802, 4418, 2, '清城', 'qing cheng', 'qic', '清城区', NULL, NULL, NULL, NULL), + (441803, 4418, 2, '清新区', 'qing xin qu', 'qixq', '清新区', NULL, NULL, NULL, NULL), + (441821, 4418, 2, '佛冈', 'fo gang', 'fog', '佛冈县', NULL, NULL, NULL, NULL), + (441823, 4418, 2, '阳山', 'yang shan', 'yas', '阳山县', NULL, NULL, NULL, NULL), + (441825, 4418, 2, '连山壮族瑶族自治县', 'lian shan zhuang zu yao zu zi zhi xian', 'lisz', '连山壮族瑶族自治县', NULL, NULL, NULL, NULL), + (441826, 4418, 2, '连南瑶族自治县', 'lian nan yao zu zi zhi xian', 'liny', '连南瑶族自治县', NULL, NULL, NULL, NULL), + (441881, 4418, 2, '英德', 'ying de', 'yid', '英德市', NULL, NULL, NULL, NULL), + (441882, 4418, 2, '连州', 'lian zhou', 'liz', '连州市', NULL, NULL, NULL, NULL), + (445102, 4451, 2, '湘桥', 'xiang qiao', 'xiq', '湘桥区', NULL, NULL, NULL, NULL), + (445103, 4451, 2, '潮安', 'chao an', 'cha', '潮安区', NULL, NULL, NULL, NULL), + (445122, 4451, 2, '饶平', 'rao ping', 'rap', '饶平县', NULL, NULL, NULL, NULL), + (445202, 4452, 2, '榕城', 'rong cheng', 'roc', '榕城区', NULL, NULL, NULL, NULL), + (445203, 4452, 2, '揭东', 'jie dong', 'jid', '揭东区', NULL, NULL, NULL, NULL), + (445222, 4452, 2, '揭西', 'jie xi', 'jix', '揭西县', NULL, NULL, NULL, NULL), + (445224, 4452, 2, '惠来', 'hui lai', 'hul', '惠来县', NULL, NULL, NULL, NULL), + (445281, 4452, 2, '普宁', 'pu ning', 'pun', '普宁市', NULL, NULL, NULL, NULL), + (445302, 4453, 2, '云城', 'yun cheng', 'yuc', '云城区', NULL, NULL, NULL, NULL), + (445303, 4453, 2, '云安', 'yun an', 'yua', '云安区', NULL, NULL, NULL, NULL), + (445321, 4453, 2, '新兴', 'xin xing', 'xix', '新兴县', NULL, NULL, NULL, NULL), + (445322, 4453, 2, '郁南', 'yu nan', 'yun', '郁南县', NULL, NULL, NULL, NULL), + (445381, 4453, 2, '罗定', 'luo ding', 'lud', '罗定市', NULL, NULL, NULL, NULL), + (450102, 4501, 2, '兴宁', 'xing ning', 'xin', '兴宁区', NULL, NULL, NULL, NULL), + (450103, 4501, 2, '青秀', 'qing xiu', 'qix', '青秀区', NULL, NULL, NULL, NULL), + (450105, 4501, 2, '江南', 'jiang nan', 'jin', '江南区', NULL, NULL, NULL, NULL), + (450107, 4501, 2, '西乡塘', 'xi xiang tang', 'xixt', '西乡塘区', NULL, NULL, NULL, NULL), + (450108, 4501, 2, '良庆', 'liang qing', 'liq', '良庆区', NULL, NULL, NULL, NULL), + (450109, 4501, 2, '邕宁', 'yong ning', 'yon', '邕宁区', NULL, NULL, NULL, NULL), + (450110, 4501, 2, '武鸣', 'wu ming', 'wum', '武鸣区', NULL, NULL, NULL, NULL), + (450123, 4501, 2, '隆安', 'long an', 'loa', '隆安县', NULL, NULL, NULL, NULL), + (450124, 4501, 2, '马山', 'ma shan', 'mas', '马山县', NULL, NULL, NULL, NULL), + (450125, 4501, 2, '上林', 'shang lin', 'shl', '上林县', NULL, NULL, NULL, NULL), + (450126, 4501, 2, '宾阳', 'bin yang', 'biy', '宾阳县', NULL, NULL, NULL, NULL), + (450127, 4501, 2, '横县', 'heng xian', 'hex', '横县', NULL, NULL, NULL, NULL), + (450202, 4502, 2, '城中', 'cheng zhong', 'chz', '城中区', NULL, NULL, NULL, NULL), + (450203, 4502, 2, '鱼峰', 'yu feng', 'yuf', '鱼峰区', NULL, NULL, NULL, NULL), + (450204, 4502, 2, '柳南', 'liu nan', 'lin', '柳南区', NULL, NULL, NULL, NULL), + (450205, 4502, 2, '柳北', 'liu bei', 'lib', '柳北区', NULL, NULL, NULL, NULL), + (450206, 4502, 2, '柳江', 'liu jiang', 'lij', '柳江区', NULL, NULL, NULL, NULL), + (450222, 4502, 2, '柳城', 'liu cheng', 'lic', '柳城县', NULL, NULL, NULL, NULL), + (450223, 4502, 2, '鹿寨', 'lu zhai', 'luz', '鹿寨县', NULL, NULL, NULL, NULL), + (450224, 4502, 2, '融安', 'rong an', 'roa', '融安县', NULL, NULL, NULL, NULL), + (450225, 4502, 2, '融水苗族自治县', 'rong shui miao zu zi zhi xian', 'rosm', '融水苗族自治县', NULL, NULL, NULL, NULL), + (450226, 4502, 2, '三江侗族自治县', 'san jiang dong zu zi zhi xian', 'sajd', '三江侗族自治县', NULL, NULL, NULL, NULL), + (450302, 4503, 2, '秀峰', 'xiu feng', 'xif', '秀峰区', NULL, NULL, NULL, NULL), + (450303, 4503, 2, '叠彩', 'die cai', 'dic', '叠彩区', NULL, NULL, NULL, NULL), + (450304, 4503, 2, '象山', 'xiang shan', 'xis', '象山区', NULL, NULL, NULL, NULL), + (450305, 4503, 2, '七星', 'qi xing', 'qix', '七星区', NULL, NULL, NULL, NULL), + (450311, 4503, 2, '雁山', 'yan shan', 'yas', '雁山区', NULL, NULL, NULL, NULL), + (450312, 4503, 2, '临桂', 'lin gui', 'lig', '临桂区', NULL, NULL, NULL, NULL), + (450321, 4503, 2, '阳朔', 'yang shuo', 'yas', '阳朔县', NULL, NULL, NULL, NULL), + (450323, 4503, 2, '灵川', 'ling chuan', 'lic', '灵川县', NULL, NULL, NULL, NULL), + (450324, 4503, 2, '全州', 'quan zhou', 'quz', '全州县', NULL, NULL, NULL, NULL), + (450325, 4503, 2, '兴安', 'xing an', 'xia', '兴安县', NULL, NULL, NULL, NULL), + (450326, 4503, 2, '永福', 'yong fu', 'yof', '永福县', NULL, NULL, NULL, NULL), + (450327, 4503, 2, '灌阳', 'guan yang', 'guy', '灌阳县', NULL, NULL, NULL, NULL), + (450328, 4503, 2, '龙胜各族自治县', 'long sheng ge zu zi zhi xian', 'losg', '龙胜各族自治县', NULL, NULL, NULL, NULL), + (450329, 4503, 2, '资源', 'zi yuan', 'ziy', '资源县', NULL, NULL, NULL, NULL), + (450330, 4503, 2, '平乐', 'ping le', 'pil', '平乐县', NULL, NULL, NULL, NULL), + (450331, 4503, 2, '荔浦', 'li pu', 'lip', '荔浦县', NULL, NULL, NULL, NULL), + (450332, 4503, 2, '恭城瑶族自治县', 'gong cheng yao zu zi zhi xian', 'gocy', '恭城瑶族自治县', NULL, NULL, NULL, NULL), + (450403, 4504, 2, '万秀', 'wan xiu', 'wax', '万秀区', NULL, NULL, NULL, NULL), + (450405, 4504, 2, '长洲', 'chang zhou', 'chz', '长洲区', NULL, NULL, NULL, NULL), + (450406, 4504, 2, '龙圩', 'long xu', 'lox', '龙圩区', NULL, NULL, NULL, NULL), + (450421, 4504, 2, '苍梧', 'cang wu', 'caw', '苍梧县', NULL, NULL, NULL, NULL), + (450422, 4504, 2, '藤县', 'teng xian', 'tex', '藤县', NULL, NULL, NULL, NULL), + (450423, 4504, 2, '蒙山', 'meng shan', 'mes', '蒙山县', NULL, NULL, NULL, NULL), + (450481, 4504, 2, '岑溪', 'cen xi', 'cex', '岑溪市', NULL, NULL, NULL, NULL), + (450502, 4505, 2, '海城', 'hai cheng', 'hac', '海城区', NULL, NULL, NULL, NULL), + (450503, 4505, 2, '银海', 'yin hai', 'yih', '银海区', NULL, NULL, NULL, NULL), + (450512, 4505, 2, '铁山港', 'tie shan gang', 'tisg', '铁山港区', NULL, NULL, NULL, NULL), + (450521, 4505, 2, '合浦', 'he pu', 'hep', '合浦县', NULL, NULL, NULL, NULL), + (450602, 4506, 2, '港口', 'gang kou', 'gak', '港口区', NULL, NULL, NULL, NULL), + (450603, 4506, 2, '防城', 'fang cheng', 'fac', '防城区', NULL, NULL, NULL, NULL), + (450621, 4506, 2, '上思', 'shang si', 'shs', '上思县', NULL, NULL, NULL, NULL), + (450681, 4506, 2, '东兴', 'dong xing', 'dox', '东兴市', NULL, NULL, NULL, NULL), + (450702, 4507, 2, '钦南', 'qin nan', 'qin', '钦南区', NULL, NULL, NULL, NULL), + (450703, 4507, 2, '钦北', 'qin bei', 'qib', '钦北区', NULL, NULL, NULL, NULL), + (450721, 4507, 2, '灵山', 'ling shan', 'lis', '灵山县', NULL, NULL, NULL, NULL), + (450722, 4507, 2, '浦北', 'pu bei', 'pub', '浦北县', NULL, NULL, NULL, NULL), + (450802, 4508, 2, '港北', 'gang bei', 'gab', '港北区', NULL, NULL, NULL, NULL), + (450803, 4508, 2, '港南', 'gang nan', 'gan', '港南区', NULL, NULL, NULL, NULL), + (450804, 4508, 2, '覃塘', 'qin tang', 'qit', '覃塘区', NULL, NULL, NULL, NULL), + (450821, 4508, 2, '平南', 'ping nan', 'pin', '平南县', NULL, NULL, NULL, NULL), + (450881, 4508, 2, '桂平', 'gui ping', 'gup', '桂平市', NULL, NULL, NULL, NULL), + (450902, 4509, 2, '玉州', 'yu zhou', 'yuz', '玉州区', NULL, NULL, NULL, NULL), + (450903, 4509, 2, '福绵', 'fu mian', 'fum', '福绵区', NULL, NULL, NULL, NULL), + (450921, 4509, 2, '容县', 'rong xian', 'rox', '容县', NULL, NULL, NULL, NULL), + (450922, 4509, 2, '陆川', 'lu chuan', 'luc', '陆川县', NULL, NULL, NULL, NULL), + (450923, 4509, 2, '博白', 'bo bai', 'bob', '博白县', NULL, NULL, NULL, NULL), + (450924, 4509, 2, '兴业', 'xing ye', 'xiy', '兴业县', NULL, NULL, NULL, NULL), + (450981, 4509, 2, '北流', 'bei liu', 'bel', '北流市', NULL, NULL, NULL, NULL), + (451002, 4510, 2, '右江', 'you jiang', 'yoj', '右江区', NULL, NULL, NULL, NULL), + (451021, 4510, 2, '田阳', 'tian yang', 'tiy', '田阳县', NULL, NULL, NULL, NULL), + (451022, 4510, 2, '田东', 'tian dong', 'tid', '田东县', NULL, NULL, NULL, NULL), + (451023, 4510, 2, '平果', 'ping guo', 'pig', '平果县', NULL, NULL, NULL, NULL), + (451024, 4510, 2, '德保', 'de bao', 'deb', '德保县', NULL, NULL, NULL, NULL), + (451026, 4510, 2, '那坡', 'na po', 'nap', '那坡县', NULL, NULL, NULL, NULL), + (451027, 4510, 2, '凌云', 'ling yun', 'liy', '凌云县', NULL, NULL, NULL, NULL), + (451028, 4510, 2, '乐业', 'le ye', 'ley', '乐业县', NULL, NULL, NULL, NULL), + (451029, 4510, 2, '田林', 'tian lin', 'til', '田林县', NULL, NULL, NULL, NULL), + (451030, 4510, 2, '西林', 'xi lin', 'xil', '西林县', NULL, NULL, NULL, NULL), + (451031, 4510, 2, '隆林各族自治县', 'long lin ge zu zi zhi xian', 'lolg', '隆林各族自治县', NULL, NULL, NULL, NULL), + (451081, 4510, 2, '靖西', 'jing xi', 'jix', '靖西市', NULL, NULL, NULL, NULL), + (451102, 4511, 2, '八步', 'ba bu', 'bab', '八步区', NULL, NULL, NULL, NULL), + (451103, 4511, 2, '平桂', 'ping gui', 'pig', '平桂区', NULL, NULL, NULL, NULL), + (451121, 4511, 2, '昭平', 'zhao ping', 'zhp', '昭平县', NULL, NULL, NULL, NULL), + (451122, 4511, 2, '钟山', 'zhong shan', 'zhs', '钟山县', NULL, NULL, NULL, NULL), + (451123, 4511, 2, '富川瑶族自治县', 'fu chuan yao zu zi zhi xian', 'fucy', '富川瑶族自治县', NULL, NULL, NULL, NULL), + (451202, 4512, 2, '金城江', 'jin cheng jiang', 'jicj', '金城江区', NULL, NULL, NULL, NULL), + (451203, 4512, 2, '宜州', 'yi zhou', 'yiz', '宜州区', NULL, NULL, NULL, NULL), + (451221, 4512, 2, '南丹', 'nan dan', 'nad', '南丹县', NULL, NULL, NULL, NULL), + (451222, 4512, 2, '天峨', 'tian e', 'tie', '天峨县', NULL, NULL, NULL, NULL), + (451223, 4512, 2, '凤山', 'feng shan', 'fes', '凤山县', NULL, NULL, NULL, NULL), + (451224, 4512, 2, '东兰', 'dong lan', 'dol', '东兰县', NULL, NULL, NULL, NULL), + (451225, 4512, 2, '罗城仫佬族自治县', 'luo cheng mu lao zu zi zhi xian', 'lucm', '罗城仫佬族自治县', NULL, NULL, NULL, NULL), + (451226, 4512, 2, '环江毛南族自治县', 'huan jiang mao nan zu zi zhi xian', 'hujm', '环江毛南族自治县', NULL, NULL, NULL, NULL), + (451227, 4512, 2, '巴马瑶族自治县', 'ba ma yao zu zi zhi xian', 'bamy', '巴马瑶族自治县', NULL, NULL, NULL, NULL), + (451228, 4512, 2, '都安瑶族自治县', 'du an yao zu zi zhi xian', 'duay', '都安瑶族自治县', NULL, NULL, NULL, NULL), + (451229, 4512, 2, '大化瑶族自治县', 'da hua yao zu zi zhi xian', 'dahy', '大化瑶族自治县', NULL, NULL, NULL, NULL), + (451302, 4513, 2, '兴宾', 'xing bin', 'xib', '兴宾区', NULL, NULL, NULL, NULL), + (451321, 4513, 2, '忻城', 'xin cheng', 'xic', '忻城县', NULL, NULL, NULL, NULL), + (451322, 4513, 2, '象州', 'xiang zhou', 'xiz', '象州县', NULL, NULL, NULL, NULL), + (451323, 4513, 2, '武宣', 'wu xuan', 'wux', '武宣县', NULL, NULL, NULL, NULL), + (451324, 4513, 2, '金秀瑶族自治县', 'jin xiu yao zu zi zhi xian', 'jixy', '金秀瑶族自治县', NULL, NULL, NULL, NULL), + (451381, 4513, 2, '合山', 'he shan', 'hes', '合山市', NULL, NULL, NULL, NULL), + (451402, 4514, 2, '江州', 'jiang zhou', 'jiz', '江州区', NULL, NULL, NULL, NULL), + (451421, 4514, 2, '扶绥', 'fu sui', 'fus', '扶绥县', NULL, NULL, NULL, NULL), + (451422, 4514, 2, '宁明', 'ning ming', 'nim', '宁明县', NULL, NULL, NULL, NULL), + (451423, 4514, 2, '龙州', 'long zhou', 'loz', '龙州县', NULL, NULL, NULL, NULL), + (451424, 4514, 2, '大新', 'da xin', 'dax', '大新县', NULL, NULL, NULL, NULL), + (451425, 4514, 2, '天等', 'tian deng', 'tid', '天等县', NULL, NULL, NULL, NULL), + (451481, 4514, 2, '凭祥', 'ping xiang', 'pix', '凭祥市', NULL, NULL, NULL, NULL), + (460105, 4601, 2, '秀英', 'xiu ying', 'xiy', '秀英区', NULL, NULL, NULL, NULL), + (460106, 4601, 2, '龙华', 'long hua', 'loh', '龙华区', NULL, NULL, NULL, NULL), + (460107, 4601, 2, '琼山', 'qiong shan', 'qis', '琼山区', NULL, NULL, NULL, NULL), + (460108, 4601, 2, '美兰', 'mei lan', 'mel', '美兰区', NULL, NULL, NULL, NULL), + (460202, 4602, 2, '海棠', 'hai tang', 'hat', '海棠区', NULL, NULL, NULL, NULL), + (460203, 4602, 2, '吉阳', 'ji yang', 'jiy', '吉阳区', NULL, NULL, NULL, NULL), + (460204, 4602, 2, '天涯', 'tian ya', 'tiy', '天涯区', NULL, NULL, NULL, NULL), + (460205, 4602, 2, '崖州', 'ya zhou', 'yaz', '崖州区', NULL, NULL, NULL, NULL), + (460321, 4603, 2, '西沙群岛', 'xi sha qun dao', 'xisq', '西沙群岛', NULL, NULL, NULL, NULL), + (460322, 4603, 2, '南沙群岛', 'nan sha qun dao', 'nasq', '南沙群岛', NULL, NULL, NULL, NULL), + (460323, 4603, 2, '中沙群岛的岛礁及其海域', 'zhong sha qun dao de dao jiao ji qi hai yu', 'zhsq', '中沙群岛的岛礁及其海域', NULL, NULL, NULL, NULL), + (469001, 4690, 2, '五指山', 'wu zhi shan', 'wuzs', '五指山市', NULL, NULL, NULL, NULL), + (469002, 4690, 2, '琼海', 'qiong hai', 'qih', '琼海市', NULL, NULL, NULL, NULL), + (469005, 4690, 2, '文昌', 'wen chang', 'wec', '文昌市', NULL, NULL, NULL, NULL), + (469006, 4690, 2, '万宁', 'wan ning', 'wan', '万宁市', NULL, NULL, NULL, NULL), + (469007, 4690, 2, '东方', 'dong fang', 'dof', '东方市', NULL, NULL, NULL, NULL), + (469021, 4690, 2, '定安', 'ding an', 'dia', '定安县', NULL, NULL, NULL, NULL), + (469022, 4690, 2, '屯昌', 'tun chang', 'tuc', '屯昌县', NULL, NULL, NULL, NULL), + (469023, 4690, 2, '澄迈', 'cheng mai', 'chm', '澄迈县', NULL, NULL, NULL, NULL), + (469024, 4690, 2, '临高', 'lin gao', 'lig', '临高县', NULL, NULL, NULL, NULL), + (469025, 4690, 2, '白沙黎族自治县', 'bai sha li zu zi zhi xian', 'basl', '白沙黎族自治县', NULL, NULL, NULL, NULL), + (469026, 4690, 2, '昌江黎族自治县', 'chang jiang li zu zi zhi xian', 'chjl', '昌江黎族自治县', NULL, NULL, NULL, NULL), + (469027, 4690, 2, '乐东黎族自治县', 'le dong li zu zi zhi xian', 'ledl', '乐东黎族自治县', NULL, NULL, NULL, NULL), + (469028, 4690, 2, '陵水黎族自治县', 'ling shui li zu zi zhi xian', 'lisl', '陵水黎族自治县', NULL, NULL, NULL, NULL), + (469029, 4690, 2, '保亭黎族苗族自治县', 'bao ting li zu miao zu zi zhi xian', 'batl', '保亭黎族苗族自治县', NULL, NULL, NULL, NULL), + (469030, 4690, 2, '琼中黎族苗族自治县', 'qiong zhong li zu miao zu zi zhi xian', 'qizl', '琼中黎族苗族自治县', NULL, NULL, NULL, NULL), + (500101, 5001, 2, '万州', 'wan zhou', 'waz', '万州区', NULL, NULL, NULL, NULL), + (500102, 5001, 2, '涪陵', 'fu ling', 'ful', '涪陵区', NULL, NULL, NULL, NULL), + (500103, 5001, 2, '渝中', 'yu zhong', 'yuz', '渝中区', NULL, NULL, NULL, NULL), + (500104, 5001, 2, '大渡口', 'da du kou', 'dadk', '大渡口区', NULL, NULL, NULL, NULL), + (500105, 5001, 2, '江北', 'jiang bei', 'jib', '江北区', NULL, NULL, NULL, NULL), + (500106, 5001, 2, '沙坪坝', 'sha ping ba', 'shpb', '沙坪坝区', NULL, NULL, NULL, NULL), + (500107, 5001, 2, '九龙坡', 'jiu long po', 'jilp', '九龙坡区', NULL, NULL, NULL, NULL), + (500108, 5001, 2, '南岸', 'nan an', 'naa', '南岸区', NULL, NULL, NULL, NULL), + (500109, 5001, 2, '北碚', 'bei bei', 'beb', '北碚区', NULL, NULL, NULL, NULL), + (500110, 5001, 2, '綦江', 'qi jiang', 'qij', '綦江区', NULL, NULL, NULL, NULL), + (500111, 5001, 2, '大足', 'da zu', 'daz', '大足区', NULL, NULL, NULL, NULL), + (500112, 5001, 2, '渝北', 'yu bei', 'yub', '渝北区', NULL, NULL, NULL, NULL), + (500113, 5001, 2, '巴南', 'ba nan', 'ban', '巴南区', NULL, NULL, NULL, NULL), + (500114, 5001, 2, '黔江', 'qian jiang', 'qij', '黔江区', NULL, NULL, NULL, NULL), + (500115, 5001, 2, '长寿', 'chang shou', 'chs', '长寿区', NULL, NULL, NULL, NULL), + (500116, 5001, 2, '江津', 'jiang jin', 'jij', '江津区', NULL, NULL, NULL, NULL), + (500117, 5001, 2, '合川', 'he chuan', 'hec', '合川区', NULL, NULL, NULL, NULL), + (500118, 5001, 2, '永川', 'yong chuan', 'yoc', '永川区', NULL, NULL, NULL, NULL), + (500119, 5001, 2, '南川', 'nan chuan', 'nac', '南川区', NULL, NULL, NULL, NULL), + (500120, 5001, 2, '璧山', 'bi shan', 'bis', '璧山区', NULL, NULL, NULL, NULL), + (500151, 5001, 2, '铜梁', 'tong liang', 'tol', '铜梁区', NULL, NULL, NULL, NULL), + (500152, 5001, 2, '潼南', 'tong nan', 'ton', '潼南区', NULL, NULL, NULL, NULL), + (500153, 5001, 2, '荣昌', 'rong chang', 'roc', '荣昌区', NULL, NULL, NULL, NULL), + (500154, 5001, 2, '开州', 'kai zhou', 'kaz', '开州区', NULL, NULL, NULL, NULL), + (500155, 5001, 2, '梁平', 'liang ping', 'lip', '梁平区', NULL, NULL, NULL, NULL), + (500156, 5001, 2, '武隆', 'wu long', 'wul', '武隆区', NULL, NULL, NULL, NULL), + (500229, 5002, 2, '城口', 'cheng kou', 'chk', '城口县', NULL, NULL, NULL, NULL), + (500230, 5002, 2, '丰都', 'feng du', 'fed', '丰都县', NULL, NULL, NULL, NULL), + (500231, 5002, 2, '垫江', 'dian jiang', 'dij', '垫江县', NULL, NULL, NULL, NULL), + (500233, 5002, 2, '忠县', 'zhong xian', 'zhx', '忠县', NULL, NULL, NULL, NULL), + (500235, 5002, 2, '云阳', 'yun yang', 'yuy', '云阳县', NULL, NULL, NULL, NULL), + (500236, 5002, 2, '奉节', 'feng jie', 'fej', '奉节县', NULL, NULL, NULL, NULL), + (500237, 5002, 2, '巫山', 'wu shan', 'wus', '巫山县', NULL, NULL, NULL, NULL), + (500238, 5002, 2, '巫溪', 'wu xi', 'wux', '巫溪县', NULL, NULL, NULL, NULL), + (500240, 5002, 2, '石柱土家族自治县', 'shi zhu tu jia zu zi zhi xian', 'shzt', '石柱土家族自治县', NULL, NULL, NULL, NULL), + (500241, 5002, 2, '秀山土家族苗族自治县', 'xiu shan tu jia zu miao zu zi zhi xian', 'xist', '秀山土家族苗族自治县', NULL, NULL, NULL, NULL), + (500242, 5002, 2, '酉阳土家族苗族自治县', 'you yang tu jia zu miao zu zi zhi xian', 'yoyt', '酉阳土家族苗族自治县', NULL, NULL, NULL, NULL), + (500243, 5002, 2, '彭水苗族土家族自治县', 'peng shui miao zu tu jia zu zi zhi xian', 'pesm', '彭水苗族土家族自治县', NULL, NULL, NULL, NULL), + (510104, 5101, 2, '锦江', 'jin jiang', 'jij', '锦江区', NULL, NULL, NULL, NULL), + (510105, 5101, 2, '青羊', 'qing yang', 'qiy', '青羊区', NULL, NULL, NULL, NULL), + (510106, 5101, 2, '金牛', 'jin niu', 'jin', '金牛区', NULL, NULL, NULL, NULL), + (510107, 5101, 2, '武侯', 'wu hou', 'wuh', '武侯区', NULL, NULL, NULL, NULL), + (510108, 5101, 2, '成华', 'cheng hua', 'chh', '成华区', NULL, NULL, NULL, NULL), + (510112, 5101, 2, '龙泉驿', 'long quan yi', 'loqy', '龙泉驿区', NULL, NULL, NULL, NULL), + (510113, 5101, 2, '青白江', 'qing bai jiang', 'qibj', '青白江区', NULL, NULL, NULL, NULL), + (510114, 5101, 2, '新都', 'xin du', 'xid', '新都区', NULL, NULL, NULL, NULL), + (510115, 5101, 2, '温江', 'wen jiang', 'wej', '温江区', NULL, NULL, NULL, NULL), + (510116, 5101, 2, '双流', 'shuang liu', 'shl', '双流区', NULL, NULL, NULL, NULL), + (510117, 5101, 2, '郫都', 'pi du', 'pid', '郫都区', NULL, NULL, NULL, NULL), + (510121, 5101, 2, '金堂', 'jin tang', 'jit', '金堂县', NULL, NULL, NULL, NULL), + (510129, 5101, 2, '大邑', 'da yi', 'day', '大邑县', NULL, NULL, NULL, NULL), + (510131, 5101, 2, '蒲江', 'pu jiang', 'puj', '蒲江县', NULL, NULL, NULL, NULL), + (510132, 5101, 2, '新津', 'xin jin', 'xij', '新津县', NULL, NULL, NULL, NULL), + (510181, 5101, 2, '都江堰', 'du jiang yan', 'dujy', '都江堰市', NULL, NULL, NULL, NULL), + (510182, 5101, 2, '彭州', 'peng zhou', 'pez', '彭州市', NULL, NULL, NULL, NULL), + (510183, 5101, 2, '邛崃', 'qiong lai', 'qil', '邛崃市', NULL, NULL, NULL, NULL), + (510184, 5101, 2, '崇州', 'chong zhou', 'chz', '崇州市', NULL, NULL, NULL, NULL), + (510185, 5101, 2, '简阳', 'jian yang', 'jiy', '简阳市', NULL, NULL, NULL, NULL), + (510302, 5103, 2, '自流井', 'zi liu jing', 'zilj', '自流井区', NULL, NULL, NULL, NULL), + (510303, 5103, 2, '贡井', 'gong jing', 'goj', '贡井区', NULL, NULL, NULL, NULL), + (510304, 5103, 2, '大安', 'da an', 'daa', '大安区', NULL, NULL, NULL, NULL), + (510311, 5103, 2, '沿滩', 'yan tan', 'yat', '沿滩区', NULL, NULL, NULL, NULL), + (510321, 5103, 2, '荣县', 'rong xian', 'rox', '荣县', NULL, NULL, NULL, NULL), + (510322, 5103, 2, '富顺', 'fu shun', 'fus', '富顺县', NULL, NULL, NULL, NULL), + (510402, 5104, 2, '东区', 'dong qu', 'doq', '东区', NULL, NULL, NULL, NULL), + (510403, 5104, 2, '西区', 'xi qu', 'xiq', '西区', NULL, NULL, NULL, NULL), + (510411, 5104, 2, '仁和', 'ren he', 'reh', '仁和区', NULL, NULL, NULL, NULL), + (510421, 5104, 2, '米易', 'mi yi', 'miy', '米易县', NULL, NULL, NULL, NULL), + (510422, 5104, 2, '盐边', 'yan bian', 'yab', '盐边县', NULL, NULL, NULL, NULL), + (510502, 5105, 2, '江阳', 'jiang yang', 'jiy', '江阳区', NULL, NULL, NULL, NULL), + (510503, 5105, 2, '纳溪', 'na xi', 'nax', '纳溪区', NULL, NULL, NULL, NULL), + (510504, 5105, 2, '龙马潭', 'long ma tan', 'lomt', '龙马潭区', NULL, NULL, NULL, NULL), + (510521, 5105, 2, '泸县', 'lu xian', 'lux', '泸县', NULL, NULL, NULL, NULL), + (510522, 5105, 2, '合江', 'he jiang', 'hej', '合江县', NULL, NULL, NULL, NULL), + (510524, 5105, 2, '叙永', 'xu yong', 'xuy', '叙永县', NULL, NULL, NULL, NULL), + (510525, 5105, 2, '古蔺', 'gu lin', 'gul', '古蔺县', NULL, NULL, NULL, NULL), + (510603, 5106, 2, '旌阳', 'jing yang', 'jiy', '旌阳区', NULL, NULL, NULL, NULL), + (510604, 5106, 2, '罗江', 'luo jiang', 'luj', '罗江区', NULL, NULL, NULL, NULL), + (510623, 5106, 2, '中江', 'zhong jiang', 'zhj', '中江县', NULL, NULL, NULL, NULL), + (510681, 5106, 2, '广汉', 'guang han', 'guh', '广汉市', NULL, NULL, NULL, NULL), + (510682, 5106, 2, '什邡', 'shi fang', 'shf', '什邡市', NULL, NULL, NULL, NULL), + (510683, 5106, 2, '绵竹', 'mian zhu', 'miz', '绵竹市', NULL, NULL, NULL, NULL), + (510703, 5107, 2, '涪城', 'fu cheng', 'fuc', '涪城区', NULL, NULL, NULL, NULL), + (510704, 5107, 2, '游仙', 'you xian', 'yox', '游仙区', NULL, NULL, NULL, NULL), + (510705, 5107, 2, '安州', 'an zhou', 'anz', '安州区', NULL, NULL, NULL, NULL), + (510722, 5107, 2, '三台', 'san tai', 'sat', '三台县', NULL, NULL, NULL, NULL), + (510723, 5107, 2, '盐亭', 'yan ting', 'yat', '盐亭县', NULL, NULL, NULL, NULL), + (510725, 5107, 2, '梓潼', 'zi tong', 'zit', '梓潼县', NULL, NULL, NULL, NULL), + (510726, 5107, 2, '北川羌族自治县', 'bei chuan qiang zu zi zhi xian', 'becq', '北川羌族自治县', NULL, NULL, NULL, NULL), + (510727, 5107, 2, '平武', 'ping wu', 'piw', '平武县', NULL, NULL, NULL, NULL), + (510781, 5107, 2, '江油', 'jiang you', 'jiy', '江油市', NULL, NULL, NULL, NULL), + (510802, 5108, 2, '利州', 'li zhou', 'liz', '利州区', NULL, NULL, NULL, NULL), + (510811, 5108, 2, '昭化', 'zhao hua', 'zhh', '昭化区', NULL, NULL, NULL, NULL), + (510812, 5108, 2, '朝天', 'chao tian', 'cht', '朝天区', NULL, NULL, NULL, NULL), + (510821, 5108, 2, '旺苍', 'wang cang', 'wac', '旺苍县', NULL, NULL, NULL, NULL), + (510822, 5108, 2, '青川', 'qing chuan', 'qic', '青川县', NULL, NULL, NULL, NULL), + (510823, 5108, 2, '剑阁', 'jian ge', 'jig', '剑阁县', NULL, NULL, NULL, NULL), + (510824, 5108, 2, '苍溪', 'cang xi', 'cax', '苍溪县', NULL, NULL, NULL, NULL), + (510903, 5109, 2, '船山', 'chuan shan', 'chs', '船山区', NULL, NULL, NULL, NULL), + (510904, 5109, 2, '安居', 'an ju', 'anj', '安居区', NULL, NULL, NULL, NULL), + (510921, 5109, 2, '蓬溪', 'peng xi', 'pex', '蓬溪县', NULL, NULL, NULL, NULL), + (510922, 5109, 2, '射洪', 'she hong', 'shh', '射洪县', NULL, NULL, NULL, NULL), + (510923, 5109, 2, '大英', 'da ying', 'day', '大英县', NULL, NULL, NULL, NULL), + (511002, 5110, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (511011, 5110, 2, '东兴', 'dong xing', 'dox', '东兴区', NULL, NULL, NULL, NULL), + (511024, 5110, 2, '威远', 'wei yuan', 'wey', '威远县', NULL, NULL, NULL, NULL), + (511025, 5110, 2, '资中', 'zi zhong', 'ziz', '资中县', NULL, NULL, NULL, NULL), + (511071, 5110, 2, '内江经济开发区', 'nei jiang jing ji kai fa qu', 'nejj', '内江经济开发区', NULL, NULL, NULL, NULL), + (511083, 5110, 2, '隆昌', 'long chang', 'loc', '隆昌市', NULL, NULL, NULL, NULL), + (511102, 5111, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (511111, 5111, 2, '沙湾', 'sha wan', 'shw', '沙湾区', NULL, NULL, NULL, NULL), + (511112, 5111, 2, '五通桥', 'wu tong qiao', 'wutq', '五通桥区', NULL, NULL, NULL, NULL), + (511113, 5111, 2, '金口河', 'jin kou he', 'jikh', '金口河区', NULL, NULL, NULL, NULL), + (511123, 5111, 2, '犍为', 'qian wei', 'qiw', '犍为县', NULL, NULL, NULL, NULL), + (511124, 5111, 2, '井研', 'jing yan', 'jiy', '井研县', NULL, NULL, NULL, NULL), + (511126, 5111, 2, '夹江', 'jia jiang', 'jij', '夹江县', NULL, NULL, NULL, NULL), + (511129, 5111, 2, '沐川', 'mu chuan', 'muc', '沐川县', NULL, NULL, NULL, NULL), + (511132, 5111, 2, '峨边彝族自治县', 'e bian yi zu zi zhi xian', 'eby', '峨边彝族自治县', NULL, NULL, NULL, NULL), + (511133, 5111, 2, '马边彝族自治县', 'ma bian yi zu zi zhi xian', 'maby', '马边彝族自治县', NULL, NULL, NULL, NULL), + (511181, 5111, 2, '峨眉山', 'e mei shan', 'ems', '峨眉山市', NULL, NULL, NULL, NULL), + (511302, 5113, 2, '顺庆', 'shun qing', 'shq', '顺庆区', NULL, NULL, NULL, NULL), + (511303, 5113, 2, '高坪', 'gao ping', 'gap', '高坪区', NULL, NULL, NULL, NULL), + (511304, 5113, 2, '嘉陵', 'jia ling', 'jil', '嘉陵区', NULL, NULL, NULL, NULL), + (511321, 5113, 2, '南部', 'nan bu', 'nab', '南部县', NULL, NULL, NULL, NULL), + (511322, 5113, 2, '营山', 'ying shan', 'yis', '营山县', NULL, NULL, NULL, NULL), + (511323, 5113, 2, '蓬安', 'peng an', 'pea', '蓬安县', NULL, NULL, NULL, NULL), + (511324, 5113, 2, '仪陇', 'yi long', 'yil', '仪陇县', NULL, NULL, NULL, NULL), + (511325, 5113, 2, '西充', 'xi chong', 'xic', '西充县', NULL, NULL, NULL, NULL), + (511381, 5113, 2, '阆中', 'lang zhong', 'laz', '阆中市', NULL, NULL, NULL, NULL), + (511402, 5114, 2, '东坡', 'dong po', 'dop', '东坡区', NULL, NULL, NULL, NULL), + (511403, 5114, 2, '彭山', 'peng shan', 'pes', '彭山区', NULL, NULL, NULL, NULL), + (511421, 5114, 2, '仁寿', 'ren shou', 'res', '仁寿县', NULL, NULL, NULL, NULL), + (511423, 5114, 2, '洪雅', 'hong ya', 'hoy', '洪雅县', NULL, NULL, NULL, NULL), + (511424, 5114, 2, '丹棱', 'dan leng', 'dal', '丹棱县', NULL, NULL, NULL, NULL), + (511425, 5114, 2, '青神', 'qing shen', 'qis', '青神县', NULL, NULL, NULL, NULL), + (511502, 5115, 2, '翠屏', 'cui ping', 'cup', '翠屏区', NULL, NULL, NULL, NULL), + (511503, 5115, 2, '南溪', 'nan xi', 'nax', '南溪区', NULL, NULL, NULL, NULL), + (511521, 5115, 2, '宜宾', 'yi bin', 'yib', '宜宾县', NULL, NULL, NULL, NULL), + (511523, 5115, 2, '江安', 'jiang an', 'jia', '江安县', NULL, NULL, NULL, NULL), + (511524, 5115, 2, '长宁', 'chang ning', 'chn', '长宁县', NULL, NULL, NULL, NULL), + (511525, 5115, 2, '高县', 'gao xian', 'gax', '高县', NULL, NULL, NULL, NULL), + (511526, 5115, 2, '珙县', 'gong xian', 'gox', '珙县', NULL, NULL, NULL, NULL), + (511527, 5115, 2, '筠连', 'jun lian', 'jul', '筠连县', NULL, NULL, NULL, NULL), + (511528, 5115, 2, '兴文', 'xing wen', 'xiw', '兴文县', NULL, NULL, NULL, NULL), + (511529, 5115, 2, '屏山', 'ping shan', 'pis', '屏山县', NULL, NULL, NULL, NULL), + (511602, 5116, 2, '广安', 'guang an', 'gua', '广安区', NULL, NULL, NULL, NULL), + (511603, 5116, 2, '前锋', 'qian feng', 'qif', '前锋区', NULL, NULL, NULL, NULL), + (511621, 5116, 2, '岳池', 'yue chi', 'yuc', '岳池县', NULL, NULL, NULL, NULL), + (511622, 5116, 2, '武胜', 'wu sheng', 'wus', '武胜县', NULL, NULL, NULL, NULL), + (511623, 5116, 2, '邻水', 'lin shui', 'lis', '邻水县', NULL, NULL, NULL, NULL), + (511681, 5116, 2, '华蓥', 'hua ying', 'huy', '华蓥市', NULL, NULL, NULL, NULL), + (511702, 5117, 2, '通川', 'tong chuan', 'toc', '通川区', NULL, NULL, NULL, NULL), + (511703, 5117, 2, '达川', 'da chuan', 'dac', '达川区', NULL, NULL, NULL, NULL), + (511722, 5117, 2, '宣汉', 'xuan han', 'xuh', '宣汉县', NULL, NULL, NULL, NULL), + (511723, 5117, 2, '开江', 'kai jiang', 'kaj', '开江县', NULL, NULL, NULL, NULL), + (511724, 5117, 2, '大竹', 'da zhu', 'daz', '大竹县', NULL, NULL, NULL, NULL), + (511725, 5117, 2, '渠县', 'qu xian', 'qux', '渠县', NULL, NULL, NULL, NULL), + (511771, 5117, 2, '达州经济开发区', 'da zhou jing ji kai fa qu', 'dazj', '达州经济开发区', NULL, NULL, NULL, NULL), + (511781, 5117, 2, '万源', 'wan yuan', 'way', '万源市', NULL, NULL, NULL, NULL), + (511802, 5118, 2, '雨城', 'yu cheng', 'yuc', '雨城区', NULL, NULL, NULL, NULL), + (511803, 5118, 2, '名山', 'ming shan', 'mis', '名山区', NULL, NULL, NULL, NULL), + (511822, 5118, 2, '荥经', 'ying jing', 'yij', '荥经县', NULL, NULL, NULL, NULL), + (511823, 5118, 2, '汉源', 'han yuan', 'hay', '汉源县', NULL, NULL, NULL, NULL), + (511824, 5118, 2, '石棉', 'shi mian', 'shm', '石棉县', NULL, NULL, NULL, NULL), + (511825, 5118, 2, '天全', 'tian quan', 'tiq', '天全县', NULL, NULL, NULL, NULL), + (511826, 5118, 2, '芦山', 'lu shan', 'lus', '芦山县', NULL, NULL, NULL, NULL), + (511827, 5118, 2, '宝兴', 'bao xing', 'bax', '宝兴县', NULL, NULL, NULL, NULL), + (511902, 5119, 2, '巴州', 'ba zhou', 'baz', '巴州区', NULL, NULL, NULL, NULL), + (511903, 5119, 2, '恩阳', 'en yang', 'eny', '恩阳区', NULL, NULL, NULL, NULL), + (511921, 5119, 2, '通江', 'tong jiang', 'toj', '通江县', NULL, NULL, NULL, NULL), + (511922, 5119, 2, '南江', 'nan jiang', 'naj', '南江县', NULL, NULL, NULL, NULL), + (511923, 5119, 2, '平昌', 'ping chang', 'pic', '平昌县', NULL, NULL, NULL, NULL), + (511971, 5119, 2, '巴中经济开发区', 'ba zhong jing ji kai fa qu', 'bazj', '巴中经济开发区', NULL, NULL, NULL, NULL), + (512002, 5120, 2, '雁江', 'yan jiang', 'yaj', '雁江区', NULL, NULL, NULL, NULL), + (512021, 5120, 2, '安岳', 'an yue', 'any', '安岳县', NULL, NULL, NULL, NULL), + (512022, 5120, 2, '乐至', 'le zhi', 'lez', '乐至县', NULL, NULL, NULL, NULL), + (513201, 5132, 2, '马尔康', 'ma er kang', 'maek', '马尔康市', NULL, NULL, NULL, NULL), + (513221, 5132, 2, '汶川', 'wen chuan', 'wec', '汶川县', NULL, NULL, NULL, NULL), + (513222, 5132, 2, '理县', 'li xian', 'lix', '理县', NULL, NULL, NULL, NULL), + (513223, 5132, 2, '茂县', 'mao xian', 'max', '茂县', NULL, NULL, NULL, NULL), + (513224, 5132, 2, '松潘', 'song pan', 'sop', '松潘县', NULL, NULL, NULL, NULL), + (513225, 5132, 2, '九寨沟', 'jiu zhai gou', 'jizg', '九寨沟县', NULL, NULL, NULL, NULL), + (513226, 5132, 2, '金川', 'jin chuan', 'jic', '金川县', NULL, NULL, NULL, NULL), + (513227, 5132, 2, '小金', 'xiao jin', 'xij', '小金县', NULL, NULL, NULL, NULL), + (513228, 5132, 2, '黑水', 'hei shui', 'hes', '黑水县', NULL, NULL, NULL, NULL), + (513230, 5132, 2, '壤塘', 'rang tang', 'rat', '壤塘县', NULL, NULL, NULL, NULL), + (513231, 5132, 2, '阿坝', 'a ba', 'ab', '阿坝县', NULL, NULL, NULL, NULL), + (513232, 5132, 2, '若尔盖', 'ruo er gai', 'rueg', '若尔盖县', NULL, NULL, NULL, NULL), + (513233, 5132, 2, '红原', 'hong yuan', 'hoy', '红原县', NULL, NULL, NULL, NULL), + (513301, 5133, 2, '康定', 'kang ding', 'kad', '康定市', NULL, NULL, NULL, NULL), + (513322, 5133, 2, '泸定', 'lu ding', 'lud', '泸定县', NULL, NULL, NULL, NULL), + (513323, 5133, 2, '丹巴', 'dan ba', 'dab', '丹巴县', NULL, NULL, NULL, NULL), + (513324, 5133, 2, '九龙', 'jiu long', 'jil', '九龙县', NULL, NULL, NULL, NULL), + (513325, 5133, 2, '雅江', 'ya jiang', 'yaj', '雅江县', NULL, NULL, NULL, NULL), + (513326, 5133, 2, '道孚', 'dao fu', 'daf', '道孚县', NULL, NULL, NULL, NULL), + (513327, 5133, 2, '炉霍', 'lu huo', 'luh', '炉霍县', NULL, NULL, NULL, NULL), + (513328, 5133, 2, '甘孜', 'gan zi', 'gaz', '甘孜县', NULL, NULL, NULL, NULL), + (513329, 5133, 2, '新龙', 'xin long', 'xil', '新龙县', NULL, NULL, NULL, NULL), + (513330, 5133, 2, '德格', 'de ge', 'deg', '德格县', NULL, NULL, NULL, NULL), + (513331, 5133, 2, '白玉', 'bai yu', 'bay', '白玉县', NULL, NULL, NULL, NULL), + (513332, 5133, 2, '石渠', 'shi qu', 'shq', '石渠县', NULL, NULL, NULL, NULL), + (513333, 5133, 2, '色达', 'se da', 'sed', '色达县', NULL, NULL, NULL, NULL), + (513334, 5133, 2, '理塘', 'li tang', 'lit', '理塘县', NULL, NULL, NULL, NULL), + (513335, 5133, 2, '巴塘', 'ba tang', 'bat', '巴塘县', NULL, NULL, NULL, NULL), + (513336, 5133, 2, '乡城', 'xiang cheng', 'xic', '乡城县', NULL, NULL, NULL, NULL), + (513337, 5133, 2, '稻城', 'dao cheng', 'dac', '稻城县', NULL, NULL, NULL, NULL), + (513338, 5133, 2, '得荣', 'de rong', 'der', '得荣县', NULL, NULL, NULL, NULL), + (513401, 5134, 2, '西昌', 'xi chang', 'xic', '西昌市', NULL, NULL, NULL, NULL), + (513422, 5134, 2, '木里藏族自治县', 'mu li zang zu zi zhi xian', 'mulz', '木里藏族自治县', NULL, NULL, NULL, NULL), + (513423, 5134, 2, '盐源', 'yan yuan', 'yay', '盐源县', NULL, NULL, NULL, NULL), + (513424, 5134, 2, '德昌', 'de chang', 'dec', '德昌县', NULL, NULL, NULL, NULL), + (513425, 5134, 2, '会理', 'hui li', 'hul', '会理县', NULL, NULL, NULL, NULL), + (513426, 5134, 2, '会东', 'hui dong', 'hud', '会东县', NULL, NULL, NULL, NULL), + (513427, 5134, 2, '宁南', 'ning nan', 'nin', '宁南县', NULL, NULL, NULL, NULL), + (513428, 5134, 2, '普格', 'pu ge', 'pug', '普格县', NULL, NULL, NULL, NULL), + (513429, 5134, 2, '布拖', 'bu tuo', 'but', '布拖县', NULL, NULL, NULL, NULL), + (513430, 5134, 2, '金阳', 'jin yang', 'jiy', '金阳县', NULL, NULL, NULL, NULL), + (513431, 5134, 2, '昭觉', 'zhao jue', 'zhj', '昭觉县', NULL, NULL, NULL, NULL), + (513432, 5134, 2, '喜德', 'xi de', 'xid', '喜德县', NULL, NULL, NULL, NULL), + (513433, 5134, 2, '冕宁', 'mian ning', 'min', '冕宁县', NULL, NULL, NULL, NULL), + (513434, 5134, 2, '越西', 'yue xi', 'yux', '越西县', NULL, NULL, NULL, NULL), + (513435, 5134, 2, '甘洛', 'gan luo', 'gal', '甘洛县', NULL, NULL, NULL, NULL), + (513436, 5134, 2, '美姑', 'mei gu', 'meg', '美姑县', NULL, NULL, NULL, NULL), + (513437, 5134, 2, '雷波', 'lei bo', 'leb', '雷波县', NULL, NULL, NULL, NULL), + (520102, 5201, 2, '南明', 'nan ming', 'nam', '南明区', NULL, NULL, NULL, NULL), + (520103, 5201, 2, '云岩', 'yun yan', 'yuy', '云岩区', NULL, NULL, NULL, NULL), + (520111, 5201, 2, '花溪', 'hua xi', 'hux', '花溪区', NULL, NULL, NULL, NULL), + (520112, 5201, 2, '乌当', 'wu dang', 'wud', '乌当区', NULL, NULL, NULL, NULL), + (520113, 5201, 2, '白云', 'bai yun', 'bay', '白云区', NULL, NULL, NULL, NULL), + (520115, 5201, 2, '观山湖', 'guan shan hu', 'gush', '观山湖区', NULL, NULL, NULL, NULL), + (520121, 5201, 2, '开阳', 'kai yang', 'kay', '开阳县', NULL, NULL, NULL, NULL), + (520122, 5201, 2, '息烽', 'xi feng', 'xif', '息烽县', NULL, NULL, NULL, NULL), + (520123, 5201, 2, '修文', 'xiu wen', 'xiw', '修文县', NULL, NULL, NULL, NULL), + (520181, 5201, 2, '清镇', 'qing zhen', 'qiz', '清镇市', NULL, NULL, NULL, NULL), + (520201, 5202, 2, '钟山', 'zhong shan', 'zhs', '钟山区', NULL, NULL, NULL, NULL), + (520203, 5202, 2, '六枝特', 'liu zhi te', 'lizt', '六枝特区', NULL, NULL, NULL, NULL), + (520221, 5202, 2, '水城', 'shui cheng', 'shc', '水城县', NULL, NULL, NULL, NULL), + (520281, 5202, 2, '盘州', 'pan zhou', 'paz', '盘州市', NULL, NULL, NULL, NULL), + (520302, 5203, 2, '红花岗', 'hong hua gang', 'hohg', '红花岗区', NULL, NULL, NULL, NULL), + (520303, 5203, 2, '汇川', 'hui chuan', 'huc', '汇川区', NULL, NULL, NULL, NULL), + (520304, 5203, 2, '播州', 'bo zhou', 'boz', '播州区', NULL, NULL, NULL, NULL), + (520322, 5203, 2, '桐梓', 'tong zi', 'toz', '桐梓县', NULL, NULL, NULL, NULL), + (520323, 5203, 2, '绥阳', 'sui yang', 'suy', '绥阳县', NULL, NULL, NULL, NULL), + (520324, 5203, 2, '正安', 'zheng an', 'zha', '正安县', NULL, NULL, NULL, NULL), + (520325, 5203, 2, '道真仡佬族苗族自治县', 'dao zhen ge lao zu miao zu zi zhi xian', 'dazg', '道真仡佬族苗族自治县', NULL, NULL, NULL, NULL), + (520326, 5203, 2, '务川仡佬族苗族自治县', 'wu chuan ge lao zu miao zu zi zhi xian', 'wucg', '务川仡佬族苗族自治县', NULL, NULL, NULL, NULL), + (520327, 5203, 2, '凤冈', 'feng gang', 'feg', '凤冈县', NULL, NULL, NULL, NULL), + (520328, 5203, 2, '湄潭', 'mei tan', 'met', '湄潭县', NULL, NULL, NULL, NULL), + (520329, 5203, 2, '余庆', 'yu qing', 'yuq', '余庆县', NULL, NULL, NULL, NULL), + (520330, 5203, 2, '习水', 'xi shui', 'xis', '习水县', NULL, NULL, NULL, NULL), + (520381, 5203, 2, '赤水', 'chi shui', 'chs', '赤水市', NULL, NULL, NULL, NULL), + (520382, 5203, 2, '仁怀', 'ren huai', 'reh', '仁怀市', NULL, NULL, NULL, NULL), + (520402, 5204, 2, '西秀', 'xi xiu', 'xix', '西秀区', NULL, NULL, NULL, NULL), + (520403, 5204, 2, '平坝', 'ping ba', 'pib', '平坝区', NULL, NULL, NULL, NULL), + (520422, 5204, 2, '普定', 'pu ding', 'pud', '普定县', NULL, NULL, NULL, NULL), + (520423, 5204, 2, '镇宁布依族苗族自治县', 'zhen ning bu yi zu miao zu zi zhi xian', 'zhnb', '镇宁布依族苗族自治县', NULL, NULL, NULL, NULL), + (520424, 5204, 2, '关岭布依族苗族自治县', 'guan ling bu yi zu miao zu zi zhi xian', 'gulb', '关岭布依族苗族自治县', NULL, NULL, NULL, NULL), + (520425, 5204, 2, '紫云苗族布依族自治县', 'zi yun miao zu bu yi zu zi zhi xian', 'ziym', '紫云苗族布依族自治县', NULL, NULL, NULL, NULL), + (520502, 5205, 2, '七星关', 'qi xing guan', 'qixg', '七星关区', NULL, NULL, NULL, NULL), + (520521, 5205, 2, '大方', 'da fang', 'daf', '大方县', NULL, NULL, NULL, NULL), + (520522, 5205, 2, '黔西', 'qian xi', 'qix', '黔西县', NULL, NULL, NULL, NULL), + (520523, 5205, 2, '金沙', 'jin sha', 'jis', '金沙县', NULL, NULL, NULL, NULL), + (520524, 5205, 2, '织金', 'zhi jin', 'zhj', '织金县', NULL, NULL, NULL, NULL), + (520525, 5205, 2, '纳雍', 'na yong', 'nay', '纳雍县', NULL, NULL, NULL, NULL), + (520526, 5205, 2, '威宁彝族回族苗族自治县', 'wei ning yi zu hui zu miao zu zi zhi xian', 'weny', '威宁彝族回族苗族自治县', NULL, NULL, NULL, NULL), + (520527, 5205, 2, '赫章', 'he zhang', 'hez', '赫章县', NULL, NULL, NULL, NULL), + (520602, 5206, 2, '碧江', 'bi jiang', 'bij', '碧江区', NULL, NULL, NULL, NULL), + (520603, 5206, 2, '万山', 'wan shan', 'was', '万山区', NULL, NULL, NULL, NULL), + (520621, 5206, 2, '江口', 'jiang kou', 'jik', '江口县', NULL, NULL, NULL, NULL), + (520622, 5206, 2, '玉屏侗族自治县', 'yu ping dong zu zi zhi xian', 'yupd', '玉屏侗族自治县', NULL, NULL, NULL, NULL), + (520623, 5206, 2, '石阡', 'shi qian', 'shq', '石阡县', NULL, NULL, NULL, NULL), + (520624, 5206, 2, '思南', 'si nan', 'sin', '思南县', NULL, NULL, NULL, NULL), + (520625, 5206, 2, '印江土家族苗族自治县', 'yin jiang tu jia zu miao zu zi zhi xian', 'yijt', '印江土家族苗族自治县', NULL, NULL, NULL, NULL), + (520626, 5206, 2, '德江', 'de jiang', 'dej', '德江县', NULL, NULL, NULL, NULL), + (520627, 5206, 2, '沿河土家族自治县', 'yan he tu jia zu zi zhi xian', 'yaht', '沿河土家族自治县', NULL, NULL, NULL, NULL), + (520628, 5206, 2, '松桃苗族自治县', 'song tao miao zu zi zhi xian', 'sotm', '松桃苗族自治县', NULL, NULL, NULL, NULL), + (522301, 5223, 2, '兴义', 'xing yi', 'xiy', '兴义市', NULL, NULL, NULL, NULL), + (522322, 5223, 2, '兴仁', 'xing ren', 'xir', '兴仁县', NULL, NULL, NULL, NULL), + (522323, 5223, 2, '普安', 'pu an', 'pua', '普安县', NULL, NULL, NULL, NULL), + (522324, 5223, 2, '晴隆', 'qing long', 'qil', '晴隆县', NULL, NULL, NULL, NULL), + (522325, 5223, 2, '贞丰', 'zhen feng', 'zhf', '贞丰县', NULL, NULL, NULL, NULL), + (522326, 5223, 2, '望谟', 'wang mo', 'wam', '望谟县', NULL, NULL, NULL, NULL), + (522327, 5223, 2, '册亨', 'ce heng', 'ceh', '册亨县', NULL, NULL, NULL, NULL), + (522328, 5223, 2, '安龙', 'an long', 'anl', '安龙县', NULL, NULL, NULL, NULL), + (522601, 5226, 2, '凯里', 'kai li', 'kal', '凯里市', NULL, NULL, NULL, NULL), + (522622, 5226, 2, '黄平', 'huang ping', 'hup', '黄平县', NULL, NULL, NULL, NULL), + (522623, 5226, 2, '施秉', 'shi bing', 'shb', '施秉县', NULL, NULL, NULL, NULL), + (522624, 5226, 2, '三穗', 'san sui', 'sas', '三穗县', NULL, NULL, NULL, NULL), + (522625, 5226, 2, '镇远', 'zhen yuan', 'zhy', '镇远县', NULL, NULL, NULL, NULL), + (522626, 5226, 2, '岑巩', 'cen gong', 'ceg', '岑巩县', NULL, NULL, NULL, NULL), + (522627, 5226, 2, '天柱', 'tian zhu', 'tiz', '天柱县', NULL, NULL, NULL, NULL), + (522628, 5226, 2, '锦屏', 'jin ping', 'jip', '锦屏县', NULL, NULL, NULL, NULL), + (522629, 5226, 2, '剑河', 'jian he', 'jih', '剑河县', NULL, NULL, NULL, NULL), + (522630, 5226, 2, '台江', 'tai jiang', 'taj', '台江县', NULL, NULL, NULL, NULL), + (522631, 5226, 2, '黎平', 'li ping', 'lip', '黎平县', NULL, NULL, NULL, NULL), + (522632, 5226, 2, '榕江', 'rong jiang', 'roj', '榕江县', NULL, NULL, NULL, NULL), + (522633, 5226, 2, '从江', 'cong jiang', 'coj', '从江县', NULL, NULL, NULL, NULL), + (522634, 5226, 2, '雷山', 'lei shan', 'les', '雷山县', NULL, NULL, NULL, NULL), + (522635, 5226, 2, '麻江', 'ma jiang', 'maj', '麻江县', NULL, NULL, NULL, NULL), + (522636, 5226, 2, '丹寨', 'dan zhai', 'daz', '丹寨县', NULL, NULL, NULL, NULL), + (522701, 5227, 2, '都匀', 'du yun', 'duy', '都匀市', NULL, NULL, NULL, NULL), + (522702, 5227, 2, '福泉', 'fu quan', 'fuq', '福泉市', NULL, NULL, NULL, NULL), + (522722, 5227, 2, '荔波', 'li bo', 'lib', '荔波县', NULL, NULL, NULL, NULL), + (522723, 5227, 2, '贵定', 'gui ding', 'gud', '贵定县', NULL, NULL, NULL, NULL), + (522725, 5227, 2, '瓮安', 'weng an', 'wea', '瓮安县', NULL, NULL, NULL, NULL), + (522726, 5227, 2, '独山', 'du shan', 'dus', '独山县', NULL, NULL, NULL, NULL), + (522727, 5227, 2, '平塘', 'ping tang', 'pit', '平塘县', NULL, NULL, NULL, NULL), + (522728, 5227, 2, '罗甸', 'luo dian', 'lud', '罗甸县', NULL, NULL, NULL, NULL), + (522729, 5227, 2, '长顺', 'chang shun', 'chs', '长顺县', NULL, NULL, NULL, NULL), + (522730, 5227, 2, '龙里', 'long li', 'lol', '龙里县', NULL, NULL, NULL, NULL), + (522731, 5227, 2, '惠水', 'hui shui', 'hus', '惠水县', NULL, NULL, NULL, NULL), + (522732, 5227, 2, '三都水族自治县', 'san du shui zu zi zhi xian', 'sads', '三都水族自治县', NULL, NULL, NULL, NULL), + (530102, 5301, 2, '五华', 'wu hua', 'wuh', '五华区', NULL, NULL, NULL, NULL), + (530103, 5301, 2, '盘龙', 'pan long', 'pal', '盘龙区', NULL, NULL, NULL, NULL), + (530111, 5301, 2, '官渡', 'guan du', 'gud', '官渡区', NULL, NULL, NULL, NULL), + (530112, 5301, 2, '西山', 'xi shan', 'xis', '西山区', NULL, NULL, NULL, NULL), + (530113, 5301, 2, '东川', 'dong chuan', 'doc', '东川区', NULL, NULL, NULL, NULL), + (530114, 5301, 2, '呈贡', 'cheng gong', 'chg', '呈贡区', NULL, NULL, NULL, NULL), + (530115, 5301, 2, '晋宁', 'jin ning', 'jin', '晋宁区', NULL, NULL, NULL, NULL), + (530124, 5301, 2, '富民', 'fu min', 'fum', '富民县', NULL, NULL, NULL, NULL), + (530125, 5301, 2, '宜良', 'yi liang', 'yil', '宜良县', NULL, NULL, NULL, NULL), + (530126, 5301, 2, '石林彝族自治县', 'shi lin yi zu zi zhi xian', 'shly', '石林彝族自治县', NULL, NULL, NULL, NULL), + (530127, 5301, 2, '嵩明', 'song ming', 'som', '嵩明县', NULL, NULL, NULL, NULL), + (530128, 5301, 2, '禄劝彝族苗族自治县', 'lu quan yi zu miao zu zi zhi xian', 'luqy', '禄劝彝族苗族自治县', NULL, NULL, NULL, NULL), + (530129, 5301, 2, '寻甸回族彝族自治县', 'xun dian hui zu yi zu zi zhi xian', 'xudh', '寻甸回族彝族自治县', NULL, NULL, NULL, NULL), + (530181, 5301, 2, '安宁', 'an ning', 'ann', '安宁市', NULL, NULL, NULL, NULL), + (530302, 5303, 2, '麒麟', 'qi lin', 'qil', '麒麟区', NULL, NULL, NULL, NULL), + (530303, 5303, 2, '沾益', 'zhan yi', 'zhy', '沾益区', NULL, NULL, NULL, NULL), + (530321, 5303, 2, '马龙', 'ma long', 'mal', '马龙县', NULL, NULL, NULL, NULL), + (530322, 5303, 2, '陆良', 'lu liang', 'lul', '陆良县', NULL, NULL, NULL, NULL), + (530323, 5303, 2, '师宗', 'shi zong', 'shz', '师宗县', NULL, NULL, NULL, NULL), + (530324, 5303, 2, '罗平', 'luo ping', 'lup', '罗平县', NULL, NULL, NULL, NULL), + (530325, 5303, 2, '富源', 'fu yuan', 'fuy', '富源县', NULL, NULL, NULL, NULL), + (530326, 5303, 2, '会泽', 'hui ze', 'huz', '会泽县', NULL, NULL, NULL, NULL), + (530381, 5303, 2, '宣威', 'xuan wei', 'xuw', '宣威市', NULL, NULL, NULL, NULL), + (530402, 5304, 2, '红塔', 'hong ta', 'hot', '红塔区', NULL, NULL, NULL, NULL), + (530403, 5304, 2, '江川', 'jiang chuan', 'jic', '江川区', NULL, NULL, NULL, NULL), + (530422, 5304, 2, '澄江', 'cheng jiang', 'chj', '澄江县', NULL, NULL, NULL, NULL), + (530423, 5304, 2, '通海', 'tong hai', 'toh', '通海县', NULL, NULL, NULL, NULL), + (530424, 5304, 2, '华宁', 'hua ning', 'hun', '华宁县', NULL, NULL, NULL, NULL), + (530425, 5304, 2, '易门', 'yi men', 'yim', '易门县', NULL, NULL, NULL, NULL), + (530426, 5304, 2, '峨山彝族自治县', 'e shan yi zu zi zhi xian', 'esy', '峨山彝族自治县', NULL, NULL, NULL, NULL), + (530427, 5304, 2, '新平彝族傣族自治县', 'xin ping yi zu dai zu zi zhi xian', 'xipy', '新平彝族傣族自治县', NULL, NULL, NULL, NULL), + (530428, 5304, 2, '元江哈尼族彝族傣族自治县', 'yuan jiang ha ni zu yi zu dai zu zi zhi xian', 'yujh', '元江哈尼族彝族傣族自治县', NULL, NULL, NULL, NULL), + (530502, 5305, 2, '隆阳', 'long yang', 'loy', '隆阳区', NULL, NULL, NULL, NULL), + (530521, 5305, 2, '施甸', 'shi dian', 'shd', '施甸县', NULL, NULL, NULL, NULL), + (530523, 5305, 2, '龙陵', 'long ling', 'lol', '龙陵县', NULL, NULL, NULL, NULL), + (530524, 5305, 2, '昌宁', 'chang ning', 'chn', '昌宁县', NULL, NULL, NULL, NULL), + (530581, 5305, 2, '腾冲', 'teng chong', 'tec', '腾冲市', NULL, NULL, NULL, NULL), + (530602, 5306, 2, '昭阳', 'zhao yang', 'zhy', '昭阳区', NULL, NULL, NULL, NULL), + (530621, 5306, 2, '鲁甸', 'lu dian', 'lud', '鲁甸县', NULL, NULL, NULL, NULL), + (530622, 5306, 2, '巧家', 'qiao jia', 'qij', '巧家县', NULL, NULL, NULL, NULL), + (530623, 5306, 2, '盐津', 'yan jin', 'yaj', '盐津县', NULL, NULL, NULL, NULL), + (530624, 5306, 2, '大关', 'da guan', 'dag', '大关县', NULL, NULL, NULL, NULL), + (530625, 5306, 2, '永善', 'yong shan', 'yos', '永善县', NULL, NULL, NULL, NULL), + (530626, 5306, 2, '绥江', 'sui jiang', 'suj', '绥江县', NULL, NULL, NULL, NULL), + (530627, 5306, 2, '镇雄', 'zhen xiong', 'zhx', '镇雄县', NULL, NULL, NULL, NULL), + (530628, 5306, 2, '彝良', 'yi liang', 'yil', '彝良县', NULL, NULL, NULL, NULL), + (530629, 5306, 2, '威信', 'wei xin', 'wex', '威信县', NULL, NULL, NULL, NULL), + (530630, 5306, 2, '水富', 'shui fu', 'shf', '水富县', NULL, NULL, NULL, NULL), + (530702, 5307, 2, '古城', 'gu cheng', 'guc', '古城区', NULL, NULL, NULL, NULL), + (530721, 5307, 2, '玉龙纳西族自治县', 'yu long na xi zu zi zhi xian', 'yuln', '玉龙纳西族自治县', NULL, NULL, NULL, NULL), + (530722, 5307, 2, '永胜', 'yong sheng', 'yos', '永胜县', NULL, NULL, NULL, NULL), + (530723, 5307, 2, '华坪', 'hua ping', 'hup', '华坪县', NULL, NULL, NULL, NULL), + (530724, 5307, 2, '宁蒗彝族自治县', 'ning lang yi zu zi zhi xian', 'nily', '宁蒗彝族自治县', NULL, NULL, NULL, NULL), + (530802, 5308, 2, '思茅', 'si mao', 'sim', '思茅区', NULL, NULL, NULL, NULL), + (530821, 5308, 2, '宁洱哈尼族彝族自治县', 'ning er ha ni zu yi zu zi zhi xian', 'nieh', '宁洱哈尼族彝族自治县', NULL, NULL, NULL, NULL), + (530822, 5308, 2, '墨江哈尼族自治县', 'mo jiang ha ni zu zi zhi xian', 'mojh', '墨江哈尼族自治县', NULL, NULL, NULL, NULL), + (530823, 5308, 2, '景东彝族自治县', 'jing dong yi zu zi zhi xian', 'jidy', '景东彝族自治县', NULL, NULL, NULL, NULL), + (530824, 5308, 2, '景谷傣族彝族自治县', 'jing gu dai zu yi zu zi zhi xian', 'jigd', '景谷傣族彝族自治县', NULL, NULL, NULL, NULL), + (530825, 5308, 2, '镇沅彝族哈尼族拉祜族自治县', 'zhen yuan yi zu ha ni zu la hu zu zi zhi xian', 'zhyy', '镇沅彝族哈尼族拉祜族自治县', NULL, NULL, NULL, NULL), + (530826, 5308, 2, '江城哈尼族彝族自治县', 'jiang cheng ha ni zu yi zu zi zhi xian', 'jich', '江城哈尼族彝族自治县', NULL, NULL, NULL, NULL), + (530827, 5308, 2, '孟连傣族拉祜族佤族自治县', 'meng lian dai zu la hu zu wa zu zi zhi xian', 'meld', '孟连傣族拉祜族佤族自治县', NULL, NULL, NULL, NULL), + (530828, 5308, 2, '澜沧拉祜族自治县', 'lan cang la hu zu zi zhi xian', 'lacl', '澜沧拉祜族自治县', NULL, NULL, NULL, NULL), + (530829, 5308, 2, '西盟佤族自治县', 'xi meng wa zu zi zhi xian', 'ximw', '西盟佤族自治县', NULL, NULL, NULL, NULL), + (530902, 5309, 2, '临翔', 'lin xiang', 'lix', '临翔区', NULL, NULL, NULL, NULL), + (530921, 5309, 2, '凤庆', 'feng qing', 'feq', '凤庆县', NULL, NULL, NULL, NULL), + (530922, 5309, 2, '云县', 'yun xian', 'yux', '云县', NULL, NULL, NULL, NULL), + (530923, 5309, 2, '永德', 'yong de', 'yod', '永德县', NULL, NULL, NULL, NULL), + (530924, 5309, 2, '镇康', 'zhen kang', 'zhk', '镇康县', NULL, NULL, NULL, NULL), + (530925, 5309, 2, '双江拉祜族佤族布朗族傣族自治县', 'shuang jiang la hu zu wa zu bu lang zu dai zu zi zhi xian', 'shjl', '双江拉祜族佤族布朗族傣族自治县', NULL, NULL, NULL, NULL), + (530926, 5309, 2, '耿马傣族佤族自治县', 'geng ma dai zu wa zu zi zhi xian', 'gemd', '耿马傣族佤族自治县', NULL, NULL, NULL, NULL), + (530927, 5309, 2, '沧源佤族自治县', 'cang yuan wa zu zi zhi xian', 'cayw', '沧源佤族自治县', NULL, NULL, NULL, NULL), + (532301, 5323, 2, '楚雄', 'chu xiong', 'chx', '楚雄市', NULL, NULL, NULL, NULL), + (532322, 5323, 2, '双柏', 'shuang bai', 'shb', '双柏县', NULL, NULL, NULL, NULL), + (532323, 5323, 2, '牟定', 'mou ding', 'mod', '牟定县', NULL, NULL, NULL, NULL), + (532324, 5323, 2, '南华', 'nan hua', 'nah', '南华县', NULL, NULL, NULL, NULL), + (532325, 5323, 2, '姚安', 'yao an', 'yaa', '姚安县', NULL, NULL, NULL, NULL), + (532326, 5323, 2, '大姚', 'da yao', 'day', '大姚县', NULL, NULL, NULL, NULL), + (532327, 5323, 2, '永仁', 'yong ren', 'yor', '永仁县', NULL, NULL, NULL, NULL), + (532328, 5323, 2, '元谋', 'yuan mou', 'yum', '元谋县', NULL, NULL, NULL, NULL), + (532329, 5323, 2, '武定', 'wu ding', 'wud', '武定县', NULL, NULL, NULL, NULL), + (532331, 5323, 2, '禄丰', 'lu feng', 'luf', '禄丰县', NULL, NULL, NULL, NULL), + (532501, 5325, 2, '个旧', 'ge jiu', 'gej', '个旧市', NULL, NULL, NULL, NULL), + (532502, 5325, 2, '开远', 'kai yuan', 'kay', '开远市', NULL, NULL, NULL, NULL), + (532503, 5325, 2, '蒙自', 'meng zi', 'mez', '蒙自市', NULL, NULL, NULL, NULL), + (532504, 5325, 2, '弥勒', 'mi le', 'mil', '弥勒市', NULL, NULL, NULL, NULL), + (532523, 5325, 2, '屏边苗族自治县', 'ping bian miao zu zi zhi xian', 'pibm', '屏边苗族自治县', NULL, NULL, NULL, NULL), + (532524, 5325, 2, '建水', 'jian shui', 'jis', '建水县', NULL, NULL, NULL, NULL), + (532525, 5325, 2, '石屏', 'shi ping', 'shp', '石屏县', NULL, NULL, NULL, NULL), + (532527, 5325, 2, '泸西', 'lu xi', 'lux', '泸西县', NULL, NULL, NULL, NULL), + (532528, 5325, 2, '元阳', 'yuan yang', 'yuy', '元阳县', NULL, NULL, NULL, NULL), + (532529, 5325, 2, '红河', 'hong he', 'hoh', '红河县', NULL, NULL, NULL, NULL), + (532530, 5325, 2, '金平苗族瑶族傣族自治县', 'jin ping miao zu yao zu dai zu zi zhi xian', 'jipm', '金平苗族瑶族傣族自治县', NULL, NULL, NULL, NULL), + (532531, 5325, 2, '绿春', 'lv chun', 'lvc', '绿春县', NULL, NULL, NULL, NULL), + (532532, 5325, 2, '河口瑶族自治县', 'he kou yao zu zi zhi xian', 'heky', '河口瑶族自治县', NULL, NULL, NULL, NULL), + (532601, 5326, 2, '文山', 'wen shan', 'wes', '文山市', NULL, NULL, NULL, NULL), + (532622, 5326, 2, '砚山', 'yan shan', 'yas', '砚山县', NULL, NULL, NULL, NULL), + (532623, 5326, 2, '西畴', 'xi chou', 'xic', '西畴县', NULL, NULL, NULL, NULL), + (532624, 5326, 2, '麻栗坡', 'ma li po', 'malp', '麻栗坡县', NULL, NULL, NULL, NULL), + (532625, 5326, 2, '马关', 'ma guan', 'mag', '马关县', NULL, NULL, NULL, NULL), + (532626, 5326, 2, '丘北', 'qiu bei', 'qib', '丘北县', NULL, NULL, NULL, NULL), + (532627, 5326, 2, '广南', 'guang nan', 'gun', '广南县', NULL, NULL, NULL, NULL), + (532628, 5326, 2, '富宁', 'fu ning', 'fun', '富宁县', NULL, NULL, NULL, NULL), + (532801, 5328, 2, '景洪', 'jing hong', 'jih', '景洪市', NULL, NULL, NULL, NULL), + (532822, 5328, 2, '勐海', 'meng hai', 'meh', '勐海县', NULL, NULL, NULL, NULL), + (532823, 5328, 2, '勐腊', 'meng la', 'mel', '勐腊县', NULL, NULL, NULL, NULL), + (532901, 5329, 2, '大理', 'da li', 'dal', '大理市', NULL, NULL, NULL, NULL), + (532922, 5329, 2, '漾濞彝族自治县', 'yang bi yi zu zi zhi xian', 'yaby', '漾濞彝族自治县', NULL, NULL, NULL, NULL), + (532923, 5329, 2, '祥云', 'xiang yun', 'xiy', '祥云县', NULL, NULL, NULL, NULL), + (532924, 5329, 2, '宾川', 'bin chuan', 'bic', '宾川县', NULL, NULL, NULL, NULL), + (532925, 5329, 2, '弥渡', 'mi du', 'mid', '弥渡县', NULL, NULL, NULL, NULL), + (532926, 5329, 2, '南涧彝族自治县', 'nan jian yi zu zi zhi xian', 'najy', '南涧彝族自治县', NULL, NULL, NULL, NULL), + (532927, 5329, 2, '巍山彝族回族自治县', 'wei shan yi zu hui zu zi zhi xian', 'wesy', '巍山彝族回族自治县', NULL, NULL, NULL, NULL), + (532928, 5329, 2, '永平', 'yong ping', 'yop', '永平县', NULL, NULL, NULL, NULL), + (532929, 5329, 2, '云龙', 'yun long', 'yul', '云龙县', NULL, NULL, NULL, NULL), + (532930, 5329, 2, '洱源', 'er yuan', 'ery', '洱源县', NULL, NULL, NULL, NULL), + (532931, 5329, 2, '剑川', 'jian chuan', 'jic', '剑川县', NULL, NULL, NULL, NULL), + (532932, 5329, 2, '鹤庆', 'he qing', 'heq', '鹤庆县', NULL, NULL, NULL, NULL), + (533102, 5331, 2, '瑞丽', 'rui li', 'rul', '瑞丽市', NULL, NULL, NULL, NULL), + (533103, 5331, 2, '芒市', 'mang shi', 'mas', '芒市', NULL, NULL, NULL, NULL), + (533122, 5331, 2, '梁河', 'liang he', 'lih', '梁河县', NULL, NULL, NULL, NULL), + (533123, 5331, 2, '盈江', 'ying jiang', 'yij', '盈江县', NULL, NULL, NULL, NULL), + (533124, 5331, 2, '陇川', 'long chuan', 'loc', '陇川县', NULL, NULL, NULL, NULL), + (533301, 5333, 2, '泸水', 'lu shui', 'lus', '泸水市', NULL, NULL, NULL, NULL), + (533323, 5333, 2, '福贡', 'fu gong', 'fug', '福贡县', NULL, NULL, NULL, NULL), + (533324, 5333, 2, '贡山独龙族怒族自治县', 'gong shan du long zu nu zu zi zhi xian', 'gosd', '贡山独龙族怒族自治县', NULL, NULL, NULL, NULL), + (533325, 5333, 2, '兰坪白族普米族自治县', 'lan ping bai zu pu mi zu zi zhi xian', 'lapb', '兰坪白族普米族自治县', NULL, NULL, NULL, NULL), + (533401, 5334, 2, '香格里拉', 'xiang ge li la', 'xigl', '香格里拉市', NULL, NULL, NULL, NULL), + (533422, 5334, 2, '德钦', 'de qin', 'deq', '德钦县', NULL, NULL, NULL, NULL), + (533423, 5334, 2, '维西傈僳族自治县', 'wei xi li su zu zi zhi xian', 'wexl', '维西傈僳族自治县', NULL, NULL, NULL, NULL), + (540102, 5401, 2, '城关', 'cheng guan', 'chg', '城关区', NULL, NULL, NULL, NULL), + (540103, 5401, 2, '堆龙德庆', 'dui long de qing', 'duld', '堆龙德庆区', NULL, NULL, NULL, NULL), + (540121, 5401, 2, '林周', 'lin zhou', 'liz', '林周县', NULL, NULL, NULL, NULL), + (540122, 5401, 2, '当雄', 'dang xiong', 'dax', '当雄县', NULL, NULL, NULL, NULL), + (540123, 5401, 2, '尼木', 'ni mu', 'nim', '尼木县', NULL, NULL, NULL, NULL), + (540124, 5401, 2, '曲水', 'qu shui', 'qus', '曲水县', NULL, NULL, NULL, NULL), + (540126, 5401, 2, '达孜', 'da zi', 'daz', '达孜县', NULL, NULL, NULL, NULL), + (540127, 5401, 2, '墨竹工卡', 'mo zhu gong ka', 'mozg', '墨竹工卡县', NULL, NULL, NULL, NULL), + (540171, 5401, 2, '格尔木藏青工业园', 'ge er mu zang qing gong ye yuan', 'geem', '格尔木藏青工业园区', NULL, NULL, NULL, NULL), + (540172, 5401, 2, '拉萨经济技术开发区', 'la sa jing ji ji shu kai fa qu', 'lasj', '拉萨经济技术开发区', NULL, NULL, NULL, NULL), + (540173, 5401, 2, '西藏文化旅游创意园', 'xi zang wen hua lv you chuang yi yuan', 'xizw', '西藏文化旅游创意园区', NULL, NULL, NULL, NULL), + (540174, 5401, 2, '达孜工业园', 'da zi gong ye yuan', 'dazg', '达孜工业园区', NULL, NULL, NULL, NULL), + (540202, 5402, 2, '桑珠孜', 'sang zhu zi', 'sazz', '桑珠孜区', NULL, NULL, NULL, NULL), + (540221, 5402, 2, '南木林', 'nan mu lin', 'naml', '南木林县', NULL, NULL, NULL, NULL), + (540222, 5402, 2, '江孜', 'jiang zi', 'jiz', '江孜县', NULL, NULL, NULL, NULL), + (540223, 5402, 2, '定日', 'ding ri', 'dir', '定日县', NULL, NULL, NULL, NULL), + (540224, 5402, 2, '萨迦', 'sa jia', 'saj', '萨迦县', NULL, NULL, NULL, NULL), + (540225, 5402, 2, '拉孜', 'la zi', 'laz', '拉孜县', NULL, NULL, NULL, NULL), + (540226, 5402, 2, '昂仁', 'ang ren', 'anr', '昂仁县', NULL, NULL, NULL, NULL), + (540227, 5402, 2, '谢通门', 'xie tong men', 'xitm', '谢通门县', NULL, NULL, NULL, NULL), + (540228, 5402, 2, '白朗', 'bai lang', 'bal', '白朗县', NULL, NULL, NULL, NULL), + (540229, 5402, 2, '仁布', 'ren bu', 'reb', '仁布县', NULL, NULL, NULL, NULL), + (540230, 5402, 2, '康马', 'kang ma', 'kam', '康马县', NULL, NULL, NULL, NULL), + (540231, 5402, 2, '定结', 'ding jie', 'dij', '定结县', NULL, NULL, NULL, NULL), + (540232, 5402, 2, '仲巴', 'zhong ba', 'zhb', '仲巴县', NULL, NULL, NULL, NULL), + (540233, 5402, 2, '亚东', 'ya dong', 'yad', '亚东县', NULL, NULL, NULL, NULL), + (540234, 5402, 2, '吉隆', 'ji long', 'jil', '吉隆县', NULL, NULL, NULL, NULL), + (540235, 5402, 2, '聂拉木', 'nie la mu', 'nilm', '聂拉木县', NULL, NULL, NULL, NULL), + (540236, 5402, 2, '萨嘎', 'sa ga', 'sag', '萨嘎县', NULL, NULL, NULL, NULL), + (540237, 5402, 2, '岗巴', 'gang ba', 'gab', '岗巴县', NULL, NULL, NULL, NULL), + (540302, 5403, 2, '卡若', 'ka ruo', 'kar', '卡若区', NULL, NULL, NULL, NULL), + (540321, 5403, 2, '江达', 'jiang da', 'jid', '江达县', NULL, NULL, NULL, NULL), + (540322, 5403, 2, '贡觉', 'gong jue', 'goj', '贡觉县', NULL, NULL, NULL, NULL), + (540323, 5403, 2, '类乌齐', 'lei wu qi', 'lewq', '类乌齐县', NULL, NULL, NULL, NULL), + (540324, 5403, 2, '丁青', 'ding qing', 'diq', '丁青县', NULL, NULL, NULL, NULL), + (540325, 5403, 2, '察雅', 'cha ya', 'chy', '察雅县', NULL, NULL, NULL, NULL), + (540326, 5403, 2, '八宿', 'ba su', 'bas', '八宿县', NULL, NULL, NULL, NULL), + (540327, 5403, 2, '左贡', 'zuo gong', 'zug', '左贡县', NULL, NULL, NULL, NULL), + (540328, 5403, 2, '芒康', 'mang kang', 'mak', '芒康县', NULL, NULL, NULL, NULL), + (540329, 5403, 2, '洛隆', 'luo long', 'lul', '洛隆县', NULL, NULL, NULL, NULL), + (540330, 5403, 2, '边坝', 'bian ba', 'bib', '边坝县', NULL, NULL, NULL, NULL), + (540402, 5404, 2, '巴宜', 'ba yi', 'bay', '巴宜区', NULL, NULL, NULL, NULL), + (540421, 5404, 2, '工布江达', 'gong bu jiang da', 'gobj', '工布江达县', NULL, NULL, NULL, NULL), + (540422, 5404, 2, '米林', 'mi lin', 'mil', '米林县', NULL, NULL, NULL, NULL), + (540423, 5404, 2, '墨脱', 'mo tuo', 'mot', '墨脱县', NULL, NULL, NULL, NULL), + (540424, 5404, 2, '波密', 'bo mi', 'bom', '波密县', NULL, NULL, NULL, NULL), + (540425, 5404, 2, '察隅', 'cha yu', 'chy', '察隅县', NULL, NULL, NULL, NULL), + (540426, 5404, 2, '朗县', 'lang xian', 'lax', '朗县', NULL, NULL, NULL, NULL), + (540502, 5405, 2, '乃东', 'nai dong', 'nad', '乃东区', NULL, NULL, NULL, NULL), + (540521, 5405, 2, '扎囊', 'zha nang', 'zhn', '扎囊县', NULL, NULL, NULL, NULL), + (540522, 5405, 2, '贡嘎', 'gong ga', 'gog', '贡嘎县', NULL, NULL, NULL, NULL), + (540523, 5405, 2, '桑日', 'sang ri', 'sar', '桑日县', NULL, NULL, NULL, NULL), + (540524, 5405, 2, '琼结', 'qiong jie', 'qij', '琼结县', NULL, NULL, NULL, NULL), + (540525, 5405, 2, '曲松', 'qu song', 'qus', '曲松县', NULL, NULL, NULL, NULL), + (540526, 5405, 2, '措美', 'cuo mei', 'cum', '措美县', NULL, NULL, NULL, NULL), + (540527, 5405, 2, '洛扎', 'luo zha', 'luz', '洛扎县', NULL, NULL, NULL, NULL), + (540528, 5405, 2, '加查', 'jia cha', 'jic', '加查县', NULL, NULL, NULL, NULL), + (540529, 5405, 2, '隆子', 'long zi', 'loz', '隆子县', NULL, NULL, NULL, NULL), + (540530, 5405, 2, '错那', 'cuo na', 'cun', '错那县', NULL, NULL, NULL, NULL), + (540531, 5405, 2, '浪卡子', 'lang qia zi', 'laqz', '浪卡子县', NULL, NULL, NULL, NULL), + (542421, 5424, 2, '那曲', 'na qu', 'naq', '那曲县', NULL, NULL, NULL, NULL), + (542422, 5424, 2, '嘉黎', 'jia li', 'jil', '嘉黎县', NULL, NULL, NULL, NULL), + (542423, 5424, 2, '比如', 'bi ru', 'bir', '比如县', NULL, NULL, NULL, NULL), + (542424, 5424, 2, '聂荣', 'nie rong', 'nir', '聂荣县', NULL, NULL, NULL, NULL), + (542425, 5424, 2, '安多', 'an duo', 'and', '安多县', NULL, NULL, NULL, NULL), + (542426, 5424, 2, '申扎', 'shen zha', 'shz', '申扎县', NULL, NULL, NULL, NULL), + (542427, 5424, 2, '索县', 'suo xian', 'sux', '索县', NULL, NULL, NULL, NULL), + (542428, 5424, 2, '班戈', 'ban ge', 'bag', '班戈县', NULL, NULL, NULL, NULL), + (542429, 5424, 2, '巴青', 'ba qing', 'baq', '巴青县', NULL, NULL, NULL, NULL), + (542430, 5424, 2, '尼玛', 'ni ma', 'nim', '尼玛县', NULL, NULL, NULL, NULL), + (542431, 5424, 2, '双湖', 'shuang hu', 'shh', '双湖县', NULL, NULL, NULL, NULL), + (542521, 5425, 2, '普兰', 'pu lan', 'pul', '普兰县', NULL, NULL, NULL, NULL), + (542522, 5425, 2, '札达', 'zha da', 'zhd', '札达县', NULL, NULL, NULL, NULL), + (542523, 5425, 2, '噶尔', 'ga er', 'gae', '噶尔县', NULL, NULL, NULL, NULL), + (542524, 5425, 2, '日土', 'ri tu', 'rit', '日土县', NULL, NULL, NULL, NULL), + (542525, 5425, 2, '革吉', 'ge ji', 'gej', '革吉县', NULL, NULL, NULL, NULL), + (542526, 5425, 2, '改则', 'gai ze', 'gaz', '改则县', NULL, NULL, NULL, NULL), + (542527, 5425, 2, '措勤', 'cuo qin', 'cuq', '措勤县', NULL, NULL, NULL, NULL), + (610102, 6101, 2, '新城', 'xin cheng', 'xic', '新城区', NULL, NULL, NULL, NULL), + (610103, 6101, 2, '碑林', 'bei lin', 'bel', '碑林区', NULL, NULL, NULL, NULL), + (610104, 6101, 2, '莲湖', 'lian hu', 'lih', '莲湖区', NULL, NULL, NULL, NULL), + (610111, 6101, 2, '灞桥', 'ba qiao', 'baq', '灞桥区', NULL, NULL, NULL, NULL), + (610112, 6101, 2, '未央', 'wei yang', 'wey', '未央区', NULL, NULL, NULL, NULL), + (610113, 6101, 2, '雁塔', 'yan ta', 'yat', '雁塔区', NULL, NULL, NULL, NULL), + (610114, 6101, 2, '阎良', 'yan liang', 'yal', '阎良区', NULL, NULL, NULL, NULL), + (610115, 6101, 2, '临潼', 'lin tong', 'lit', '临潼区', NULL, NULL, NULL, NULL), + (610116, 6101, 2, '长安', 'chang an', 'cha', '长安区', NULL, NULL, NULL, NULL), + (610117, 6101, 2, '高陵', 'gao ling', 'gal', '高陵区', NULL, NULL, NULL, NULL), + (610118, 6101, 2, '鄠邑', 'hu yi', 'huy', '鄠邑区', NULL, NULL, NULL, NULL), + (610122, 6101, 2, '蓝田', 'lan tian', 'lat', '蓝田县', NULL, NULL, NULL, NULL), + (610124, 6101, 2, '周至', 'zhou zhi', 'zhz', '周至县', NULL, NULL, NULL, NULL), + (610202, 6102, 2, '王益', 'wang yi', 'way', '王益区', NULL, NULL, NULL, NULL), + (610203, 6102, 2, '印台', 'yin tai', 'yit', '印台区', NULL, NULL, NULL, NULL), + (610204, 6102, 2, '耀州', 'yao zhou', 'yaz', '耀州区', NULL, NULL, NULL, NULL), + (610222, 6102, 2, '宜君', 'yi jun', 'yij', '宜君县', NULL, NULL, NULL, NULL), + (610302, 6103, 2, '渭滨', 'wei bin', 'web', '渭滨区', NULL, NULL, NULL, NULL), + (610303, 6103, 2, '金台', 'jin tai', 'jit', '金台区', NULL, NULL, NULL, NULL), + (610304, 6103, 2, '陈仓', 'chen cang', 'chc', '陈仓区', NULL, NULL, NULL, NULL), + (610322, 6103, 2, '凤翔', 'feng xiang', 'fex', '凤翔县', NULL, NULL, NULL, NULL), + (610323, 6103, 2, '岐山', 'qi shan', 'qis', '岐山县', NULL, NULL, NULL, NULL), + (610324, 6103, 2, '扶风', 'fu feng', 'fuf', '扶风县', NULL, NULL, NULL, NULL), + (610326, 6103, 2, '眉县', 'mei xian', 'mex', '眉县', NULL, NULL, NULL, NULL), + (610327, 6103, 2, '陇县', 'long xian', 'lox', '陇县', NULL, NULL, NULL, NULL), + (610328, 6103, 2, '千阳', 'qian yang', 'qiy', '千阳县', NULL, NULL, NULL, NULL), + (610329, 6103, 2, '麟游', 'lin you', 'liy', '麟游县', NULL, NULL, NULL, NULL), + (610330, 6103, 2, '凤县', 'feng xian', 'fex', '凤县', NULL, NULL, NULL, NULL), + (610331, 6103, 2, '太白', 'tai bai', 'tab', '太白县', NULL, NULL, NULL, NULL), + (610402, 6104, 2, '秦都', 'qin du', 'qid', '秦都区', NULL, NULL, NULL, NULL), + (610403, 6104, 2, '杨陵', 'yang ling', 'yal', '杨陵区', NULL, NULL, NULL, NULL), + (610404, 6104, 2, '渭城', 'wei cheng', 'wec', '渭城区', NULL, NULL, NULL, NULL), + (610422, 6104, 2, '三原', 'san yuan', 'say', '三原县', NULL, NULL, NULL, NULL), + (610423, 6104, 2, '泾阳', 'jing yang', 'jiy', '泾阳县', NULL, NULL, NULL, NULL), + (610424, 6104, 2, '乾县', 'qian xian', 'qix', '乾县', NULL, NULL, NULL, NULL), + (610425, 6104, 2, '礼泉', 'li quan', 'liq', '礼泉县', NULL, NULL, NULL, NULL), + (610426, 6104, 2, '永寿', 'yong shou', 'yos', '永寿县', NULL, NULL, NULL, NULL), + (610427, 6104, 2, '彬县', 'bin xian', 'bix', '彬县', NULL, NULL, NULL, NULL), + (610428, 6104, 2, '长武', 'chang wu', 'chw', '长武县', NULL, NULL, NULL, NULL), + (610429, 6104, 2, '旬邑', 'xun yi', 'xuy', '旬邑县', NULL, NULL, NULL, NULL), + (610430, 6104, 2, '淳化', 'chun hua', 'chh', '淳化县', NULL, NULL, NULL, NULL), + (610431, 6104, 2, '武功', 'wu gong', 'wug', '武功县', NULL, NULL, NULL, NULL), + (610481, 6104, 2, '兴平', 'xing ping', 'xip', '兴平市', NULL, NULL, NULL, NULL), + (610502, 6105, 2, '临渭', 'lin wei', 'liw', '临渭区', NULL, NULL, NULL, NULL), + (610503, 6105, 2, '华州', 'hua zhou', 'huz', '华州区', NULL, NULL, NULL, NULL), + (610522, 6105, 2, '潼关', 'tong guan', 'tog', '潼关县', NULL, NULL, NULL, NULL), + (610523, 6105, 2, '大荔', 'da li', 'dal', '大荔县', NULL, NULL, NULL, NULL), + (610524, 6105, 2, '合阳', 'he yang', 'hey', '合阳县', NULL, NULL, NULL, NULL), + (610525, 6105, 2, '澄城', 'cheng cheng', 'chc', '澄城县', NULL, NULL, NULL, NULL), + (610526, 6105, 2, '蒲城', 'pu cheng', 'puc', '蒲城县', NULL, NULL, NULL, NULL), + (610527, 6105, 2, '白水', 'bai shui', 'bas', '白水县', NULL, NULL, NULL, NULL), + (610528, 6105, 2, '富平', 'fu ping', 'fup', '富平县', NULL, NULL, NULL, NULL), + (610581, 6105, 2, '韩城', 'han cheng', 'hac', '韩城市', NULL, NULL, NULL, NULL), + (610582, 6105, 2, '华阴', 'hua yin', 'huy', '华阴市', NULL, NULL, NULL, NULL), + (610602, 6106, 2, '宝塔', 'bao ta', 'bat', '宝塔区', NULL, NULL, NULL, NULL), + (610603, 6106, 2, '安塞', 'an sai', 'ans', '安塞区', NULL, NULL, NULL, NULL), + (610621, 6106, 2, '延长', 'yan chang', 'yac', '延长县', NULL, NULL, NULL, NULL), + (610622, 6106, 2, '延川', 'yan chuan', 'yac', '延川县', NULL, NULL, NULL, NULL), + (610623, 6106, 2, '子长', 'zi chang', 'zic', '子长县', NULL, NULL, NULL, NULL), + (610625, 6106, 2, '志丹', 'zhi dan', 'zhd', '志丹县', NULL, NULL, NULL, NULL), + (610626, 6106, 2, '吴起', 'wu qi', 'wuq', '吴起县', NULL, NULL, NULL, NULL), + (610627, 6106, 2, '甘泉', 'gan quan', 'gaq', '甘泉县', NULL, NULL, NULL, NULL), + (610628, 6106, 2, '富县', 'fu xian', 'fux', '富县', NULL, NULL, NULL, NULL), + (610629, 6106, 2, '洛川', 'luo chuan', 'luc', '洛川县', NULL, NULL, NULL, NULL), + (610630, 6106, 2, '宜川', 'yi chuan', 'yic', '宜川县', NULL, NULL, NULL, NULL), + (610631, 6106, 2, '黄龙', 'huang long', 'hul', '黄龙县', NULL, NULL, NULL, NULL), + (610632, 6106, 2, '黄陵', 'huang ling', 'hul', '黄陵县', NULL, NULL, NULL, NULL), + (610702, 6107, 2, '汉台', 'han tai', 'hat', '汉台区', NULL, NULL, NULL, NULL), + (610703, 6107, 2, '南郑', 'nan zheng', 'naz', '南郑区', NULL, NULL, NULL, NULL), + (610722, 6107, 2, '城固', 'cheng gu', 'chg', '城固县', NULL, NULL, NULL, NULL), + (610723, 6107, 2, '洋县', 'yang xian', 'yax', '洋县', NULL, NULL, NULL, NULL), + (610724, 6107, 2, '西乡', 'xi xiang', 'xix', '西乡县', NULL, NULL, NULL, NULL), + (610725, 6107, 2, '勉县', 'mian xian', 'mix', '勉县', NULL, NULL, NULL, NULL), + (610726, 6107, 2, '宁强', 'ning qiang', 'niq', '宁强县', NULL, NULL, NULL, NULL), + (610727, 6107, 2, '略阳', 'lve yang', 'lvy', '略阳县', NULL, NULL, NULL, NULL), + (610728, 6107, 2, '镇巴', 'zhen ba', 'zhb', '镇巴县', NULL, NULL, NULL, NULL), + (610729, 6107, 2, '留坝', 'liu ba', 'lib', '留坝县', NULL, NULL, NULL, NULL), + (610730, 6107, 2, '佛坪', 'fo ping', 'fop', '佛坪县', NULL, NULL, NULL, NULL), + (610802, 6108, 2, '榆阳', 'yu yang', 'yuy', '榆阳区', NULL, NULL, NULL, NULL), + (610803, 6108, 2, '横山', 'heng shan', 'hes', '横山区', NULL, NULL, NULL, NULL), + (610822, 6108, 2, '府谷', 'fu gu', 'fug', '府谷县', NULL, NULL, NULL, NULL), + (610824, 6108, 2, '靖边', 'jing bian', 'jib', '靖边县', NULL, NULL, NULL, NULL), + (610825, 6108, 2, '定边', 'ding bian', 'dib', '定边县', NULL, NULL, NULL, NULL), + (610826, 6108, 2, '绥德', 'sui de', 'sud', '绥德县', NULL, NULL, NULL, NULL), + (610827, 6108, 2, '米脂', 'mi zhi', 'miz', '米脂县', NULL, NULL, NULL, NULL), + (610828, 6108, 2, '佳县', 'jia xian', 'jix', '佳县', NULL, NULL, NULL, NULL), + (610829, 6108, 2, '吴堡', 'wu bu', 'wub', '吴堡县', NULL, NULL, NULL, NULL), + (610830, 6108, 2, '清涧', 'qing jian', 'qij', '清涧县', NULL, NULL, NULL, NULL), + (610831, 6108, 2, '子洲', 'zi zhou', 'ziz', '子洲县', NULL, NULL, NULL, NULL), + (610881, 6108, 2, '神木', 'shen mu', 'shm', '神木市', NULL, NULL, NULL, NULL), + (610902, 6109, 2, '汉滨', 'han bin', 'hab', '汉滨区', NULL, NULL, NULL, NULL), + (610921, 6109, 2, '汉阴', 'han yin', 'hay', '汉阴县', NULL, NULL, NULL, NULL), + (610922, 6109, 2, '石泉', 'shi quan', 'shq', '石泉县', NULL, NULL, NULL, NULL), + (610923, 6109, 2, '宁陕', 'ning shan', 'nis', '宁陕县', NULL, NULL, NULL, NULL), + (610924, 6109, 2, '紫阳', 'zi yang', 'ziy', '紫阳县', NULL, NULL, NULL, NULL), + (610925, 6109, 2, '岚皋', 'lan gao', 'lag', '岚皋县', NULL, NULL, NULL, NULL), + (610926, 6109, 2, '平利', 'ping li', 'pil', '平利县', NULL, NULL, NULL, NULL), + (610927, 6109, 2, '镇坪', 'zhen ping', 'zhp', '镇坪县', NULL, NULL, NULL, NULL), + (610928, 6109, 2, '旬阳', 'xun yang', 'xuy', '旬阳县', NULL, NULL, NULL, NULL), + (610929, 6109, 2, '白河', 'bai he', 'bah', '白河县', NULL, NULL, NULL, NULL), + (611002, 6110, 2, '商州', 'shang zhou', 'shz', '商州区', NULL, NULL, NULL, NULL), + (611021, 6110, 2, '洛南', 'luo nan', 'lun', '洛南县', NULL, NULL, NULL, NULL), + (611022, 6110, 2, '丹凤', 'dan feng', 'daf', '丹凤县', NULL, NULL, NULL, NULL), + (611023, 6110, 2, '商南', 'shang nan', 'shn', '商南县', NULL, NULL, NULL, NULL), + (611024, 6110, 2, '山阳', 'shan yang', 'shy', '山阳县', NULL, NULL, NULL, NULL), + (611025, 6110, 2, '镇安', 'zhen an', 'zha', '镇安县', NULL, NULL, NULL, NULL), + (611026, 6110, 2, '柞水', 'zha shui', 'zhs', '柞水县', NULL, NULL, NULL, NULL), + (620102, 6201, 2, '城关', 'cheng guan', 'chg', '城关区', NULL, NULL, NULL, NULL), + (620103, 6201, 2, '七里河', 'qi li he', 'qilh', '七里河区', NULL, NULL, NULL, NULL), + (620104, 6201, 2, '西固', 'xi gu', 'xig', '西固区', NULL, NULL, NULL, NULL), + (620105, 6201, 2, '安宁', 'an ning', 'ann', '安宁区', NULL, NULL, NULL, NULL), + (620111, 6201, 2, '红古', 'hong gu', 'hog', '红古区', NULL, NULL, NULL, NULL), + (620121, 6201, 2, '永登', 'yong deng', 'yod', '永登县', NULL, NULL, NULL, NULL), + (620122, 6201, 2, '皋兰', 'gao lan', 'gal', '皋兰县', NULL, NULL, NULL, NULL), + (620123, 6201, 2, '榆中', 'yu zhong', 'yuz', '榆中县', NULL, NULL, NULL, NULL), + (620171, 6201, 2, '兰州新区', 'lan zhou xin qu', 'lazx', '兰州新区', NULL, NULL, NULL, NULL), + (620201, 6202, 2, '市辖区', 'shi xia qu', 'shxq', '市辖区', NULL, NULL, NULL, NULL), + (620302, 6203, 2, '金川', 'jin chuan', 'jic', '金川区', NULL, NULL, NULL, NULL), + (620321, 6203, 2, '永昌', 'yong chang', 'yoc', '永昌县', NULL, NULL, NULL, NULL), + (620402, 6204, 2, '白银', 'bai yin', 'bay', '白银区', NULL, NULL, NULL, NULL), + (620403, 6204, 2, '平川', 'ping chuan', 'pic', '平川区', NULL, NULL, NULL, NULL), + (620421, 6204, 2, '靖远', 'jing yuan', 'jiy', '靖远县', NULL, NULL, NULL, NULL), + (620422, 6204, 2, '会宁', 'hui ning', 'hun', '会宁县', NULL, NULL, NULL, NULL), + (620423, 6204, 2, '景泰', 'jing tai', 'jit', '景泰县', NULL, NULL, NULL, NULL), + (620502, 6205, 2, '秦州', 'qin zhou', 'qiz', '秦州区', NULL, NULL, NULL, NULL), + (620503, 6205, 2, '麦积', 'mai ji', 'maj', '麦积区', NULL, NULL, NULL, NULL), + (620521, 6205, 2, '清水', 'qing shui', 'qis', '清水县', NULL, NULL, NULL, NULL), + (620522, 6205, 2, '秦安', 'qin an', 'qia', '秦安县', NULL, NULL, NULL, NULL), + (620523, 6205, 2, '甘谷', 'gan gu', 'gag', '甘谷县', NULL, NULL, NULL, NULL), + (620524, 6205, 2, '武山', 'wu shan', 'wus', '武山县', NULL, NULL, NULL, NULL), + (620525, 6205, 2, '张家川回族自治县', 'zhang jia chuan hui zu zi zhi xian', 'zhjc', '张家川回族自治县', NULL, NULL, NULL, NULL), + (620602, 6206, 2, '凉州', 'liang zhou', 'liz', '凉州区', NULL, NULL, NULL, NULL), + (620621, 6206, 2, '民勤', 'min qin', 'miq', '民勤县', NULL, NULL, NULL, NULL), + (620622, 6206, 2, '古浪', 'gu lang', 'gul', '古浪县', NULL, NULL, NULL, NULL), + (620623, 6206, 2, '天祝藏族自治县', 'tian zhu zang zu zi zhi xian', 'tizz', '天祝藏族自治县', NULL, NULL, NULL, NULL), + (620702, 6207, 2, '甘州', 'gan zhou', 'gaz', '甘州区', NULL, NULL, NULL, NULL), + (620721, 6207, 2, '肃南裕固族自治县', 'su nan yu gu zu zi zhi xian', 'suny', '肃南裕固族自治县', NULL, NULL, NULL, NULL), + (620722, 6207, 2, '民乐', 'min yue', 'miy', '民乐县', NULL, NULL, NULL, NULL), + (620723, 6207, 2, '临泽', 'lin ze', 'liz', '临泽县', NULL, NULL, NULL, NULL), + (620724, 6207, 2, '高台', 'gao tai', 'gat', '高台县', NULL, NULL, NULL, NULL), + (620725, 6207, 2, '山丹', 'shan dan', 'shd', '山丹县', NULL, NULL, NULL, NULL), + (620802, 6208, 2, '崆峒', 'kong tong', 'kot', '崆峒区', NULL, NULL, NULL, NULL), + (620821, 6208, 2, '泾川', 'jing chuan', 'jic', '泾川县', NULL, NULL, NULL, NULL), + (620822, 6208, 2, '灵台', 'ling tai', 'lit', '灵台县', NULL, NULL, NULL, NULL), + (620823, 6208, 2, '崇信', 'chong xin', 'chx', '崇信县', NULL, NULL, NULL, NULL), + (620824, 6208, 2, '华亭', 'hua ting', 'hut', '华亭县', NULL, NULL, NULL, NULL), + (620825, 6208, 2, '庄浪', 'zhuang lang', 'zhl', '庄浪县', NULL, NULL, NULL, NULL), + (620826, 6208, 2, '静宁', 'jing ning', 'jin', '静宁县', NULL, NULL, NULL, NULL), + (620871, 6208, 2, '平凉工业园', 'ping liang gong ye yuan', 'pilg', '平凉工业园区', NULL, NULL, NULL, NULL), + (620902, 6209, 2, '肃州', 'su zhou', 'suz', '肃州区', NULL, NULL, NULL, NULL), + (620921, 6209, 2, '金塔', 'jin ta', 'jit', '金塔县', NULL, NULL, NULL, NULL), + (620922, 6209, 2, '瓜州', 'gua zhou', 'guz', '瓜州县', NULL, NULL, NULL, NULL), + (620923, 6209, 2, '肃北蒙古族自治县', 'su bei meng gu zu zi zhi xian', 'subm', '肃北蒙古族自治县', NULL, NULL, NULL, NULL), + (620924, 6209, 2, '阿克塞哈萨克族自治县', 'a ke sai ha sa ke zu zi zhi xian', 'aks', '阿克塞哈萨克族自治县', NULL, NULL, NULL, NULL), + (620981, 6209, 2, '玉门', 'yu men', 'yum', '玉门市', NULL, NULL, NULL, NULL), + (620982, 6209, 2, '敦煌', 'dun huang', 'duh', '敦煌市', NULL, NULL, NULL, NULL), + (621002, 6210, 2, '西峰', 'xi feng', 'xif', '西峰区', NULL, NULL, NULL, NULL), + (621021, 6210, 2, '庆城', 'qing cheng', 'qic', '庆城县', NULL, NULL, NULL, NULL), + (621022, 6210, 2, '环县', 'huan xian', 'hux', '环县', NULL, NULL, NULL, NULL), + (621023, 6210, 2, '华池', 'hua chi', 'huc', '华池县', NULL, NULL, NULL, NULL), + (621024, 6210, 2, '合水', 'he shui', 'hes', '合水县', NULL, NULL, NULL, NULL), + (621025, 6210, 2, '正宁', 'zheng ning', 'zhn', '正宁县', NULL, NULL, NULL, NULL), + (621026, 6210, 2, '宁县', 'ning xian', 'nix', '宁县', NULL, NULL, NULL, NULL), + (621027, 6210, 2, '镇原', 'zhen yuan', 'zhy', '镇原县', NULL, NULL, NULL, NULL), + (621102, 6211, 2, '安定', 'an ding', 'and', '安定区', NULL, NULL, NULL, NULL), + (621121, 6211, 2, '通渭', 'tong wei', 'tow', '通渭县', NULL, NULL, NULL, NULL), + (621122, 6211, 2, '陇西', 'long xi', 'lox', '陇西县', NULL, NULL, NULL, NULL), + (621123, 6211, 2, '渭源', 'wei yuan', 'wey', '渭源县', NULL, NULL, NULL, NULL), + (621124, 6211, 2, '临洮', 'lin tao', 'lit', '临洮县', NULL, NULL, NULL, NULL), + (621125, 6211, 2, '漳县', 'zhang xian', 'zhx', '漳县', NULL, NULL, NULL, NULL), + (621126, 6211, 2, '岷县', 'min xian', 'mix', '岷县', NULL, NULL, NULL, NULL), + (621202, 6212, 2, '武都', 'wu du', 'wud', '武都区', NULL, NULL, NULL, NULL), + (621221, 6212, 2, '成县', 'cheng xian', 'chx', '成县', NULL, NULL, NULL, NULL), + (621222, 6212, 2, '文县', 'wen xian', 'wex', '文县', NULL, NULL, NULL, NULL), + (621223, 6212, 2, '宕昌', 'dang chang', 'dac', '宕昌县', NULL, NULL, NULL, NULL), + (621224, 6212, 2, '康县', 'kang xian', 'kax', '康县', NULL, NULL, NULL, NULL), + (621225, 6212, 2, '西和', 'xi he', 'xih', '西和县', NULL, NULL, NULL, NULL), + (621226, 6212, 2, '礼县', 'li xian', 'lix', '礼县', NULL, NULL, NULL, NULL), + (621227, 6212, 2, '徽县', 'hui xian', 'hux', '徽县', NULL, NULL, NULL, NULL), + (621228, 6212, 2, '两当', 'liang dang', 'lid', '两当县', NULL, NULL, NULL, NULL), + (622901, 6229, 2, '临夏市', 'lin xia shi', 'lixs', '临夏市', NULL, NULL, NULL, NULL), + (622921, 6229, 2, '临夏县', 'lin xia xian', 'lixx', '临夏县', NULL, NULL, NULL, NULL), + (622922, 6229, 2, '康乐', 'kang le', 'kal', '康乐县', NULL, NULL, NULL, NULL), + (622923, 6229, 2, '永靖', 'yong jing', 'yoj', '永靖县', NULL, NULL, NULL, NULL), + (622924, 6229, 2, '广河', 'guang he', 'guh', '广河县', NULL, NULL, NULL, NULL), + (622925, 6229, 2, '和政', 'he zheng', 'hez', '和政县', NULL, NULL, NULL, NULL), + (622926, 6229, 2, '东乡族自治县', 'dong xiang zu zi zhi xian', 'doxz', '东乡族自治县', NULL, NULL, NULL, NULL), + (622927, 6229, 2, '积石山保安族东乡族撒拉族自治县', 'ji shi shan bao an zu dong xiang zu sa la zu zi zhi xian', 'jiss', '积石山保安族东乡族撒拉族自治县', NULL, NULL, NULL, NULL), + (623001, 6230, 2, '合作', 'he zuo', 'hez', '合作市', NULL, NULL, NULL, NULL), + (623021, 6230, 2, '临潭', 'lin tan', 'lit', '临潭县', NULL, NULL, NULL, NULL), + (623022, 6230, 2, '卓尼', 'zhuo ni', 'zhn', '卓尼县', NULL, NULL, NULL, NULL), + (623023, 6230, 2, '舟曲', 'zhou qu', 'zhq', '舟曲县', NULL, NULL, NULL, NULL), + (623024, 6230, 2, '迭部', 'die bu', 'dib', '迭部县', NULL, NULL, NULL, NULL), + (623025, 6230, 2, '玛曲', 'ma qu', 'maq', '玛曲县', NULL, NULL, NULL, NULL), + (623026, 6230, 2, '碌曲', 'lu qu', 'luq', '碌曲县', NULL, NULL, NULL, NULL), + (623027, 6230, 2, '夏河', 'xia he', 'xih', '夏河县', NULL, NULL, NULL, NULL), + (630102, 6301, 2, '城东', 'cheng dong', 'chd', '城东区', NULL, NULL, NULL, NULL), + (630103, 6301, 2, '城中', 'cheng zhong', 'chz', '城中区', NULL, NULL, NULL, NULL), + (630104, 6301, 2, '城西', 'cheng xi', 'chx', '城西区', NULL, NULL, NULL, NULL), + (630105, 6301, 2, '城北', 'cheng bei', 'chb', '城北区', NULL, NULL, NULL, NULL), + (630121, 6301, 2, '大通回族土族自治县', 'da tong hui zu tu zu zi zhi xian', 'dath', '大通回族土族自治县', NULL, NULL, NULL, NULL), + (630122, 6301, 2, '湟中', 'huang zhong', 'huz', '湟中县', NULL, NULL, NULL, NULL), + (630123, 6301, 2, '湟源', 'huang yuan', 'huy', '湟源县', NULL, NULL, NULL, NULL), + (630202, 6302, 2, '乐都', 'le du', 'led', '乐都区', NULL, NULL, NULL, NULL), + (630203, 6302, 2, '平安', 'ping an', 'pia', '平安区', NULL, NULL, NULL, NULL), + (630222, 6302, 2, '民和回族土族自治县', 'min he hui zu tu zu zi zhi xian', 'mihh', '民和回族土族自治县', NULL, NULL, NULL, NULL), + (630223, 6302, 2, '互助土族自治县', 'hu zhu tu zu zi zhi xian', 'huzt', '互助土族自治县', NULL, NULL, NULL, NULL), + (630224, 6302, 2, '化隆回族自治县', 'hua long hui zu zi zhi xian', 'hulh', '化隆回族自治县', NULL, NULL, NULL, NULL), + (630225, 6302, 2, '循化撒拉族自治县', 'xun hua sa la zu zi zhi xian', 'xuhs', '循化撒拉族自治县', NULL, NULL, NULL, NULL), + (632221, 6322, 2, '门源回族自治县', 'men yuan hui zu zi zhi xian', 'meyh', '门源回族自治县', NULL, NULL, NULL, NULL), + (632222, 6322, 2, '祁连', 'qi lian', 'qil', '祁连县', NULL, NULL, NULL, NULL), + (632223, 6322, 2, '海晏', 'hai yan', 'hay', '海晏县', NULL, NULL, NULL, NULL), + (632224, 6322, 2, '刚察', 'gang cha', 'gac', '刚察县', NULL, NULL, NULL, NULL), + (632321, 6323, 2, '同仁', 'tong ren', 'tor', '同仁县', NULL, NULL, NULL, NULL), + (632322, 6323, 2, '尖扎', 'jian zha', 'jiz', '尖扎县', NULL, NULL, NULL, NULL), + (632323, 6323, 2, '泽库', 'ze ku', 'zek', '泽库县', NULL, NULL, NULL, NULL), + (632324, 6323, 2, '河南蒙古族自治县', 'he nan meng gu zu zi zhi xian', 'henm', '河南蒙古族自治县', NULL, NULL, NULL, NULL), + (632521, 6325, 2, '共和', 'gong he', 'goh', '共和县', NULL, NULL, NULL, NULL), + (632522, 6325, 2, '同德', 'tong de', 'tod', '同德县', NULL, NULL, NULL, NULL), + (632523, 6325, 2, '贵德', 'gui de', 'gud', '贵德县', NULL, NULL, NULL, NULL), + (632524, 6325, 2, '兴海', 'xing hai', 'xih', '兴海县', NULL, NULL, NULL, NULL), + (632525, 6325, 2, '贵南', 'gui nan', 'gun', '贵南县', NULL, NULL, NULL, NULL), + (632621, 6326, 2, '玛沁', 'ma qin', 'maq', '玛沁县', NULL, NULL, NULL, NULL), + (632622, 6326, 2, '班玛', 'ban ma', 'bam', '班玛县', NULL, NULL, NULL, NULL), + (632623, 6326, 2, '甘德', 'gan de', 'gad', '甘德县', NULL, NULL, NULL, NULL), + (632624, 6326, 2, '达日', 'da ri', 'dar', '达日县', NULL, NULL, NULL, NULL), + (632625, 6326, 2, '久治', 'jiu zhi', 'jiz', '久治县', NULL, NULL, NULL, NULL), + (632626, 6326, 2, '玛多', 'ma duo', 'mad', '玛多县', NULL, NULL, NULL, NULL), + (632701, 6327, 2, '玉树', 'yu shu', 'yus', '玉树市', NULL, NULL, NULL, NULL), + (632722, 6327, 2, '杂多', 'za duo', 'zad', '杂多县', NULL, NULL, NULL, NULL), + (632723, 6327, 2, '称多', 'cheng duo', 'chd', '称多县', NULL, NULL, NULL, NULL), + (632724, 6327, 2, '治多', 'zhi duo', 'zhd', '治多县', NULL, NULL, NULL, NULL), + (632725, 6327, 2, '囊谦', 'nang qian', 'naq', '囊谦县', NULL, NULL, NULL, NULL), + (632726, 6327, 2, '曲麻莱', 'qu ma lai', 'quml', '曲麻莱县', NULL, NULL, NULL, NULL), + (632801, 6328, 2, '格尔木', 'ge er mu', 'geem', '格尔木市', NULL, NULL, NULL, NULL), + (632802, 6328, 2, '德令哈', 'de ling ha', 'delh', '德令哈市', NULL, NULL, NULL, NULL), + (632821, 6328, 2, '乌兰', 'wu lan', 'wul', '乌兰县', NULL, NULL, NULL, NULL), + (632822, 6328, 2, '都兰', 'du lan', 'dul', '都兰县', NULL, NULL, NULL, NULL), + (632823, 6328, 2, '天峻', 'tian jun', 'tij', '天峻县', NULL, NULL, NULL, NULL), + (632857, 6328, 2, '大柴旦行政委员会', 'da chai dan xing zheng wei yuan hui', 'dacd', '大柴旦行政委员会', NULL, NULL, NULL, NULL), + (632858, 6328, 2, '冷湖行政委员会', 'leng hu xing zheng wei yuan hui', 'lehx', '冷湖行政委员会', NULL, NULL, NULL, NULL), + (632859, 6328, 2, '茫崖行政委员会', 'mang ya xing zheng wei yuan hui', 'mayx', '茫崖行政委员会', NULL, NULL, NULL, NULL), + (640104, 6401, 2, '兴庆', 'xing qing', 'xiq', '兴庆区', NULL, NULL, NULL, NULL), + (640105, 6401, 2, '西夏', 'xi xia', 'xix', '西夏区', NULL, NULL, NULL, NULL), + (640106, 6401, 2, '金凤', 'jin feng', 'jif', '金凤区', NULL, NULL, NULL, NULL), + (640121, 6401, 2, '永宁', 'yong ning', 'yon', '永宁县', NULL, NULL, NULL, NULL), + (640122, 6401, 2, '贺兰', 'he lan', 'hel', '贺兰县', NULL, NULL, NULL, NULL), + (640181, 6401, 2, '灵武', 'ling wu', 'liw', '灵武市', NULL, NULL, NULL, NULL), + (640202, 6402, 2, '大武口', 'da wu kou', 'dawk', '大武口区', NULL, NULL, NULL, NULL), + (640205, 6402, 2, '惠农', 'hui nong', 'hun', '惠农区', NULL, NULL, NULL, NULL), + (640221, 6402, 2, '平罗', 'ping luo', 'pil', '平罗县', NULL, NULL, NULL, NULL), + (640302, 6403, 2, '利通', 'li tong', 'lit', '利通区', NULL, NULL, NULL, NULL), + (640303, 6403, 2, '红寺堡', 'hong si bu', 'hosb', '红寺堡区', NULL, NULL, NULL, NULL), + (640323, 6403, 2, '盐池', 'yan chi', 'yac', '盐池县', NULL, NULL, NULL, NULL), + (640324, 6403, 2, '同心', 'tong xin', 'tox', '同心县', NULL, NULL, NULL, NULL), + (640381, 6403, 2, '青铜峡', 'qing tong xia', 'qitx', '青铜峡市', NULL, NULL, NULL, NULL), + (640402, 6404, 2, '原州', 'yuan zhou', 'yuz', '原州区', NULL, NULL, NULL, NULL), + (640422, 6404, 2, '西吉', 'xi ji', 'xij', '西吉县', NULL, NULL, NULL, NULL), + (640423, 6404, 2, '隆德', 'long de', 'lod', '隆德县', NULL, NULL, NULL, NULL), + (640424, 6404, 2, '泾源', 'jing yuan', 'jiy', '泾源县', NULL, NULL, NULL, NULL), + (640425, 6404, 2, '彭阳', 'peng yang', 'pey', '彭阳县', NULL, NULL, NULL, NULL), + (640502, 6405, 2, '沙坡头', 'sha po tou', 'shpt', '沙坡头区', NULL, NULL, NULL, NULL), + (640521, 6405, 2, '中宁', 'zhong ning', 'zhn', '中宁县', NULL, NULL, NULL, NULL), + (640522, 6405, 2, '海原', 'hai yuan', 'hay', '海原县', NULL, NULL, NULL, NULL), + (650102, 6501, 2, '天山', 'tian shan', 'tis', '天山区', NULL, NULL, NULL, NULL), + (650103, 6501, 2, '沙依巴克', 'sha yi ba ke', 'shyb', '沙依巴克区', NULL, NULL, NULL, NULL), + (650104, 6501, 2, '新市', 'xin shi', 'xis', '新市区', NULL, NULL, NULL, NULL), + (650105, 6501, 2, '水磨沟', 'shui mo gou', 'shmg', '水磨沟区', NULL, NULL, NULL, NULL), + (650106, 6501, 2, '头屯河', 'tou tun he', 'toth', '头屯河区', NULL, NULL, NULL, NULL), + (650107, 6501, 2, '达坂城', 'da ban cheng', 'dabc', '达坂城区', NULL, NULL, NULL, NULL), + (650109, 6501, 2, '米东', 'mi dong', 'mid', '米东区', NULL, NULL, NULL, NULL), + (650121, 6501, 2, '乌鲁木齐', 'wu lu mu qi', 'wulm', '乌鲁木齐县', NULL, NULL, NULL, NULL), + (650171, 6501, 2, '乌鲁木齐经济技术开发区', 'wu lu mu qi jing ji ji shu kai fa qu', 'wulm', '乌鲁木齐经济技术开发区', NULL, NULL, NULL, NULL), + (650172, 6501, 2, '乌鲁木齐高新技术产业开发区', 'wu lu mu qi gao xin ji shu chan ye kai fa qu', 'wulm', '乌鲁木齐高新技术产业开发区', NULL, NULL, NULL, NULL), + (650202, 6502, 2, '独山子', 'du shan zi', 'dusz', '独山子区', NULL, NULL, NULL, NULL), + (650203, 6502, 2, '克拉玛依', 'ke la ma yi', 'kelm', '克拉玛依区', NULL, NULL, NULL, NULL), + (650204, 6502, 2, '白碱滩', 'bai jian tan', 'bajt', '白碱滩区', NULL, NULL, NULL, NULL), + (650205, 6502, 2, '乌尔禾', 'wu er he', 'wueh', '乌尔禾区', NULL, NULL, NULL, NULL), + (650402, 6504, 2, '高昌', 'gao chang', 'gac', '高昌区', NULL, NULL, NULL, NULL), + (650421, 6504, 2, '鄯善', 'shan shan', 'shs', '鄯善县', NULL, NULL, NULL, NULL), + (650422, 6504, 2, '托克逊', 'tuo ke xun', 'tukx', '托克逊县', NULL, NULL, NULL, NULL), + (650502, 6505, 2, '伊州', 'yi zhou', 'yiz', '伊州区', NULL, NULL, NULL, NULL), + (650521, 6505, 2, '巴里坤哈萨克自治县', 'ba li kun ha sa ke zi zhi xian', 'balk', '巴里坤哈萨克自治县', NULL, NULL, NULL, NULL), + (650522, 6505, 2, '伊吾', 'yi wu', 'yiw', '伊吾县', NULL, NULL, NULL, NULL), + (652301, 6523, 2, '昌吉', 'chang ji', 'chj', '昌吉市', NULL, NULL, NULL, NULL), + (652302, 6523, 2, '阜康', 'fu kang', 'fuk', '阜康市', NULL, NULL, NULL, NULL), + (652323, 6523, 2, '呼图壁', 'hu tu bi', 'hutb', '呼图壁县', NULL, NULL, NULL, NULL), + (652324, 6523, 2, '玛纳斯', 'ma na si', 'mans', '玛纳斯县', NULL, NULL, NULL, NULL), + (652325, 6523, 2, '奇台', 'qi tai', 'qit', '奇台县', NULL, NULL, NULL, NULL), + (652327, 6523, 2, '吉木萨尔', 'ji mu sa er', 'jims', '吉木萨尔县', NULL, NULL, NULL, NULL), + (652328, 6523, 2, '木垒哈萨克自治县', 'mu lei ha sa ke zi zhi xian', 'mulh', '木垒哈萨克自治县', NULL, NULL, NULL, NULL), + (652701, 6527, 2, '博乐', 'bo le', 'bol', '博乐市', NULL, NULL, NULL, NULL), + (652702, 6527, 2, '阿拉山口', 'a la shan kou', 'als', '阿拉山口市', NULL, NULL, NULL, NULL), + (652722, 6527, 2, '精河', 'jing he', 'jih', '精河县', NULL, NULL, NULL, NULL), + (652723, 6527, 2, '温泉', 'wen quan', 'weq', '温泉县', NULL, NULL, NULL, NULL), + (652801, 6528, 2, '库尔勒', 'ku er le', 'kuel', '库尔勒市', NULL, NULL, NULL, NULL), + (652822, 6528, 2, '轮台', 'lun tai', 'lut', '轮台县', NULL, NULL, NULL, NULL), + (652823, 6528, 2, '尉犁', 'yu li', 'yul', '尉犁县', NULL, NULL, NULL, NULL), + (652824, 6528, 2, '若羌', 'ruo qiang', 'ruq', '若羌县', NULL, NULL, NULL, NULL), + (652825, 6528, 2, '且末', 'qie mo', 'qim', '且末县', NULL, NULL, NULL, NULL), + (652826, 6528, 2, '焉耆回族自治县', 'yan qi hui zu zi zhi xian', 'yaqh', '焉耆回族自治县', NULL, NULL, NULL, NULL), + (652827, 6528, 2, '和静', 'he jing', 'hej', '和静县', NULL, NULL, NULL, NULL), + (652828, 6528, 2, '和硕', 'he shuo', 'hes', '和硕县', NULL, NULL, NULL, NULL), + (652829, 6528, 2, '博湖', 'bo hu', 'boh', '博湖县', NULL, NULL, NULL, NULL), + (652871, 6528, 2, '库尔勒经济技术开发区', 'ku er le jing ji ji shu kai fa qu', 'kuel', '库尔勒经济技术开发区', NULL, NULL, NULL, NULL), + (652901, 6529, 2, '阿克苏', 'a ke su', 'aks', '阿克苏市', NULL, NULL, NULL, NULL), + (652922, 6529, 2, '温宿', 'wen su', 'wes', '温宿县', NULL, NULL, NULL, NULL), + (652923, 6529, 2, '库车', 'ku che', 'kuc', '库车县', NULL, NULL, NULL, NULL), + (652924, 6529, 2, '沙雅', 'sha ya', 'shy', '沙雅县', NULL, NULL, NULL, NULL), + (652925, 6529, 2, '新和', 'xin he', 'xih', '新和县', NULL, NULL, NULL, NULL), + (652926, 6529, 2, '拜城', 'bai cheng', 'bac', '拜城县', NULL, NULL, NULL, NULL), + (652927, 6529, 2, '乌什', 'wu shi', 'wus', '乌什县', NULL, NULL, NULL, NULL), + (652928, 6529, 2, '阿瓦提', 'a wa ti', 'awt', '阿瓦提县', NULL, NULL, NULL, NULL), + (652929, 6529, 2, '柯坪', 'ke ping', 'kep', '柯坪县', NULL, NULL, NULL, NULL), + (653001, 6530, 2, '阿图什', 'a tu shi', 'ats', '阿图什市', NULL, NULL, NULL, NULL), + (653022, 6530, 2, '阿克陶', 'a ke tao', 'akt', '阿克陶县', NULL, NULL, NULL, NULL), + (653023, 6530, 2, '阿合奇', 'a he qi', 'ahq', '阿合奇县', NULL, NULL, NULL, NULL), + (653024, 6530, 2, '乌恰', 'wu qia', 'wuq', '乌恰县', NULL, NULL, NULL, NULL), + (653101, 6531, 2, '喀什', 'ka shi', 'kas', '喀什市', NULL, NULL, NULL, NULL), + (653121, 6531, 2, '疏附', 'shu fu', 'shf', '疏附县', NULL, NULL, NULL, NULL), + (653122, 6531, 2, '疏勒', 'shu le', 'shl', '疏勒县', NULL, NULL, NULL, NULL), + (653123, 6531, 2, '英吉沙', 'ying ji sha', 'yijs', '英吉沙县', NULL, NULL, NULL, NULL), + (653124, 6531, 2, '泽普', 'ze pu', 'zep', '泽普县', NULL, NULL, NULL, NULL), + (653125, 6531, 2, '莎车', 'sha che', 'shc', '莎车县', NULL, NULL, NULL, NULL), + (653126, 6531, 2, '叶城', 'ye cheng', 'yec', '叶城县', NULL, NULL, NULL, NULL), + (653127, 6531, 2, '麦盖提', 'mai gai ti', 'magt', '麦盖提县', NULL, NULL, NULL, NULL), + (653128, 6531, 2, '岳普湖', 'yue pu hu', 'yuph', '岳普湖县', NULL, NULL, NULL, NULL), + (653129, 6531, 2, '伽师', 'jia shi', 'jis', '伽师县', NULL, NULL, NULL, NULL), + (653130, 6531, 2, '巴楚', 'ba chu', 'bac', '巴楚县', NULL, NULL, NULL, NULL), + (653131, 6531, 2, '塔什库尔干塔吉克自治县', 'ta shi ku er gan ta ji ke zi zhi xian', 'task', '塔什库尔干塔吉克自治县', NULL, NULL, NULL, NULL), + (653201, 6532, 2, '和田市', 'he tian shi', 'hets', '和田市', NULL, NULL, NULL, NULL), + (653221, 6532, 2, '和田县', 'he tian xian', 'hetx', '和田县', NULL, NULL, NULL, NULL), + (653222, 6532, 2, '墨玉', 'mo yu', 'moy', '墨玉县', NULL, NULL, NULL, NULL), + (653223, 6532, 2, '皮山', 'pi shan', 'pis', '皮山县', NULL, NULL, NULL, NULL), + (653224, 6532, 2, '洛浦', 'luo pu', 'lup', '洛浦县', NULL, NULL, NULL, NULL), + (653225, 6532, 2, '策勒', 'ce le', 'cel', '策勒县', NULL, NULL, NULL, NULL), + (653226, 6532, 2, '于田', 'yu tian', 'yut', '于田县', NULL, NULL, NULL, NULL), + (653227, 6532, 2, '民丰', 'min feng', 'mif', '民丰县', NULL, NULL, NULL, NULL), + (654002, 6540, 2, '伊宁市', 'yi ning shi', 'yins', '伊宁市', NULL, NULL, NULL, NULL), + (654003, 6540, 2, '奎屯', 'kui tun', 'kut', '奎屯市', NULL, NULL, NULL, NULL), + (654004, 6540, 2, '霍尔果斯', 'huo er guo si', 'hueg', '霍尔果斯市', NULL, NULL, NULL, NULL), + (654021, 6540, 2, '伊宁县', 'yi ning xian', 'yinx', '伊宁县', NULL, NULL, NULL, NULL), + (654022, 6540, 2, '察布查尔锡伯自治县', 'cha bu cha er xi bo zi zhi xian', 'chbc', '察布查尔锡伯自治县', NULL, NULL, NULL, NULL), + (654023, 6540, 2, '霍城', 'huo cheng', 'huc', '霍城县', NULL, NULL, NULL, NULL), + (654024, 6540, 2, '巩留', 'gong liu', 'gol', '巩留县', NULL, NULL, NULL, NULL), + (654025, 6540, 2, '新源', 'xin yuan', 'xiy', '新源县', NULL, NULL, NULL, NULL), + (654026, 6540, 2, '昭苏', 'zhao su', 'zhs', '昭苏县', NULL, NULL, NULL, NULL), + (654027, 6540, 2, '特克斯', 'te ke si', 'teks', '特克斯县', NULL, NULL, NULL, NULL), + (654028, 6540, 2, '尼勒克', 'ni le ke', 'nilk', '尼勒克县', NULL, NULL, NULL, NULL), + (654201, 6542, 2, '塔城', 'ta cheng', 'tac', '塔城市', NULL, NULL, NULL, NULL), + (654202, 6542, 2, '乌苏', 'wu su', 'wus', '乌苏市', NULL, NULL, NULL, NULL), + (654221, 6542, 2, '额敏', 'e min', 'em', '额敏县', NULL, NULL, NULL, NULL), + (654223, 6542, 2, '沙湾', 'sha wan', 'shw', '沙湾县', NULL, NULL, NULL, NULL), + (654224, 6542, 2, '托里', 'tuo li', 'tul', '托里县', NULL, NULL, NULL, NULL), + (654225, 6542, 2, '裕民', 'yu min', 'yum', '裕民县', NULL, NULL, NULL, NULL), + (654226, 6542, 2, '和布克赛尔蒙古自治县', 'he bu ke sai er meng gu zi zhi xian', 'hebk', '和布克赛尔蒙古自治县', NULL, NULL, NULL, NULL), + (654301, 6543, 2, '阿勒泰', 'a le tai', 'alt', '阿勒泰市', NULL, NULL, NULL, NULL), + (654321, 6543, 2, '布尔津', 'bu er jin', 'buej', '布尔津县', NULL, NULL, NULL, NULL), + (654322, 6543, 2, '富蕴', 'fu yun', 'fuy', '富蕴县', NULL, NULL, NULL, NULL), + (654323, 6543, 2, '福海', 'fu hai', 'fuh', '福海县', NULL, NULL, NULL, NULL), + (654324, 6543, 2, '哈巴河', 'ha ba he', 'habh', '哈巴河县', NULL, NULL, NULL, NULL), + (654325, 6543, 2, '青河', 'qing he', 'qih', '青河县', NULL, NULL, NULL, NULL), + (654326, 6543, 2, '吉木乃', 'ji mu nai', 'jimn', '吉木乃县', NULL, NULL, NULL, NULL), + (659001, 6590, 2, '石河子', 'shi he zi', 'shhz', '石河子市', NULL, NULL, NULL, NULL), + (659002, 6590, 2, '阿拉尔', 'a la er', 'ale', '阿拉尔市', NULL, NULL, NULL, NULL), + (659003, 6590, 2, '图木舒克', 'tu mu shu ke', 'tums', '图木舒克市', NULL, NULL, NULL, NULL), + (659004, 6590, 2, '五家渠', 'wu jia qu', 'wujq', '五家渠市', NULL, NULL, NULL, NULL), + (659006, 6590, 2, '铁门关', 'tie men guan', 'timg', '铁门关市', NULL, NULL, NULL, NULL), + (900100, 9001, 2, '香港', 'xiang gang', 'xig', '', NULL, NULL, NULL, NULL), + (900200, 9002, 2, '澳门', 'ao men', 'aom', '', NULL, NULL, NULL, NULL), + (900300, 9003, 2, '台湾', 'tai wan', 'taw', '', NULL, NULL, NULL, NULL), + (910100, 9101, 2, '海外', 'hai wai', 'haw', '', NULL, NULL, NULL, NULL); +/*!40000 ALTER TABLE `sys_districts` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_job +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE IF NOT EXISTS `sys_job` ( + `job_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='定时任务调度表'; + +-- Dumping data for table opl2.sys_job: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_job` DISABLE KEYS */; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:09:11', ''), + (2, '系统默认(有参)', 'DEFAULT', 'myTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-07-23 16:29:30', ''), + (3, '系统默认(多参)', 'DEFAULT', 'myTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-07-23 16:29:39', ''); +/*!40000 ALTER TABLE `sys_job` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_job_log +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE IF NOT EXISTS `sys_job_log` ( + `job_log_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='定时任务调度日志表'; + +-- Dumping data for table opl2.sys_job_log: ~6 rows (大约) +/*!40000 ALTER TABLE `sys_job_log` DISABLE KEYS */; +INSERT INTO `sys_job_log` (`job_log_id`, `job_name`, `job_group`, `invoke_target`, `job_message`, `status`, `exception_info`, `create_time`) VALUES + (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:26毫秒', '1', 'org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named \'myTask\' available\r\n at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:775)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1221)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:294)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)\r\n at com.ak.common.utils.spring.SpringUtils.getBean(SpringUtils.java:35)\r\n at com.ak.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:29)\r\n at com.ak.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:17)\r\n at com.ak.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:37)\r\n at org.quartz.core.JobRunShell.run(JobRunShell.java:202)\r\n at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)\r\n', '2019-07-24 10:29:12'), + (2, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:1毫秒', '1', 'org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named \'myTask\' available\r\n at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:775)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1221)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:294)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)\r\n at com.ak.common.utils.spring.SpringUtils.getBean(SpringUtils.java:35)\r\n at com.ak.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:29)\r\n at com.ak.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:17)\r\n at com.ak.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:37)\r\n at org.quartz.core.JobRunShell.run(JobRunShell.java:202)\r\n at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)\r\n', '2019-07-24 10:30:17'), + (3, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:2毫秒', '0', '', '2019-07-24 10:31:21'), + (4, '系统默认(有参)', 'DEFAULT', 'myTask.ryParams(\'ry\')', '系统默认(有参) 总共耗时:1毫秒', '0', '', '2019-07-24 10:31:35'), + (5, '系统默认(多参)', 'DEFAULT', 'myTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '系统默认(多参) 总共耗时:1毫秒', '0', '', '2019-07-24 10:31:38'), + (6, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:6毫秒', '0', '', '2019-10-11 11:09:07'); +/*!40000 ALTER TABLE `sys_job_log` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_logininfor +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE IF NOT EXISTS `sys_logininfor` ( + `info_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `login_name` varchar(50) DEFAULT '' COMMENT '登录账号', + `ipaddr` varchar(50) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=544 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统访问记录'; + +-- Dumping data for table opl2.sys_logininfor: ~90 rows (大约) +/*!40000 ALTER TABLE `sys_logininfor` DISABLE KEYS */; +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES + (535, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 16:27:03'), + (536, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 17:23:13'), + (537, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:15:20'), + (538, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:19:25'), + (539, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:24:14'), + (540, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:54:57'), + (541, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:57:35'), + (542, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:59:21'), + (543, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 19:04:15'); +/*!40000 ALTER TABLE `sys_logininfor` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_menu +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE IF NOT EXISTS `sys_menu` ( + `menu_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `app_code` varchar(16) NOT NULL COMMENT '子系统Code', + `parent_id` int(16) DEFAULT 0 COMMENT '父菜单ID', + `order_num` int(4) DEFAULT 0 COMMENT '显示顺序', + `url` varchar(200) DEFAULT '#' COMMENT '请求地址', + `target` varchar(20) DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2017 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='菜单权限表'; + +-- Dumping data for table opl2.sys_menu: ~96 rows (大约) +/*!40000 ALTER TABLE `sys_menu` DISABLE KEYS */; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `app_code`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '租户管理', 'PlatformTenant', 0, 2, '#', 'menuItem', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-16 13:42:55', ''), + (2, '统一监控', 'PlatformMonitor', 0, 7, '#', 'menuItem', 'M', '0', '', 'fa fa-video-camera', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:58:56', ''), + (3, '开放接口', 'TenantApi', 0, 4, '#', 'menuItem', 'M', '0', '', 'fa fa-bars', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:59:06', ''), + (4, '任务调度', 'PlatformQuartz', 0, 3, '#', 'menuItem', 'M', '0', '', 'fa fa-bars', 'admin', '2019-07-30 10:50:44', 'admin', '2019-08-07 10:59:01', ''), + (5, '日志查询', 'TenantLog', 0, 6, '#', 'menuItem', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:59:21', '日志管理菜单'), + (100, '用户管理', 'TenantBasedate', 2000, 1, '/basedata/user', 'menuItem', 'C', '0', 'basedata:user:view', 'fa fa-user', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:26:47', '用户管理菜单'), + (101, '角色管理', 'TenantBasedate', 2000, 2, '/basedata/role', 'menuItem', 'C', '0', 'basedata:role:view', 'fa fa-user-plus', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:09', '角色管理菜单'), + (102, '菜单管理', 'TenantBasedate', 2000, 4, '/basedata/menu', 'menuItem', 'C', '0', 'basedata:menu:view', 'fa fa-sort-amount-asc', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:25', '菜单管理菜单'), + (103, '部门管理', 'TenantBasedate', 2000, 4, '/basedata/dept', 'menuItem', 'C', '0', 'basedata:dept:view', 'fa fa-users', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:43', '部门管理菜单'), + (104, '岗位管理', 'TenantBasedate', 2000, 5, '/basedata/post', 'menuItem', 'C', '0', 'basedata:post:view', 'fa fa-street-view', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:55', '岗位管理菜单'), + (105, '字典管理', 'TenantBasedate', 2000, 6, '/system/dict', 'menuItem', 'C', '0', 'system:dict:view', 'fa fa-code-fork', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:28:24', '字典管理菜单'), + (106, '参数设置', 'TenantBasedate', 2000, 7, '/system/config', 'menuItem', 'C', '0', 'system:config:view', 'fa fa-paper-plane-o', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:28:45', '参数设置菜单'), + (107, '通知公告', 'TenantMessage', 2001, 8, '/message/notice', '', 'C', '0', 'message:notice:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知公告菜单'), + (109, '在线用户', 'PlatformMonitor', 2, 1, '/monitor/online', '', 'C', '0', 'monitor:online:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '在线用户菜单'), + (110, '定时任务', 'PlatformQuartz', 4, 2, '/monitor/job', '', 'C', '0', 'monitor:job:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '定时任务菜单'), + (111, '数据监控', 'PlatformMonitor', 2, 3, '/monitor/data', '', 'C', '0', 'monitor:data:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '数据监控菜单'), + (112, '服务监控', 'PlatformMonitor', 2, 3, '/monitor/server', '', 'C', '0', 'monitor:server:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '服务监控菜单'), + (115, '系统接口', 'TenantApi', 3, 3, '/tool/swagger', 'menuItem', 'C', '0', 'tool:swagger:view', 'fa fa-at', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:26:14', '系统接口菜单'), + (500, '操作日志', 'TenantLog', 5, 1, '/log/operlog', '', 'C', '0', 'log:operlog:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '操作日志菜单'), + (501, '登录日志', 'TenantLog', 5, 2, '/log/logininfor', '', 'C', '0', 'log:logininfor:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '登录日志菜单'), + (1000, '用户查询', 'TenantBasedate', 100, 1, '#', '', 'F', '0', 'basedata:user:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1001, '用户新增', 'TenantBasedate', 100, 2, '#', '', 'F', '0', 'basedata:user:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1002, '用户修改', 'TenantBasedate', 100, 3, '#', '', 'F', '0', 'basedata:user:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1003, '用户删除', 'TenantBasedate', 100, 4, '#', '', 'F', '0', 'basedata:user:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1004, '用户导出', 'TenantBasedate', 100, 5, '#', '', 'F', '0', 'basedata:user:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1005, '用户导入', 'TenantBasedate', 100, 6, '#', '', 'F', '0', 'basedata:user:import', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1006, '重置密码', 'TenantBasedate', 100, 7, '#', '', 'F', '0', 'basedata:user:resetPwd', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1007, '角色查询', 'TenantBasedate', 101, 1, '#', '', 'F', '0', 'basedata:role:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1008, '角色新增', 'TenantBasedate', 101, 2, '#', '', 'F', '0', 'basedata:role:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1009, '角色修改', 'TenantBasedate', 101, 3, '#', '', 'F', '0', 'basedata:role:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1010, '角色删除', 'TenantBasedate', 101, 4, '#', '', 'F', '0', 'basedata:role:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1011, '角色导出', 'TenantBasedate', 101, 5, '#', '', 'F', '0', 'basedata:role:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1012, '菜单查询', 'TenantBasedate', 102, 1, '#', '', 'F', '0', 'basedata:menu:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1013, '菜单新增', 'TenantBasedate', 102, 2, '#', '', 'F', '0', 'basedata:menu:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1014, '菜单修改', 'TenantBasedate', 102, 3, '#', '', 'F', '0', 'basedata:menu:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1015, '菜单删除', 'TenantBasedate', 102, 4, '#', '', 'F', '0', 'basedata:menu:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1016, '部门查询', 'TenantBasedate', 103, 1, '#', '', 'F', '0', 'basedata:dept:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1017, '部门新增', 'TenantBasedate', 103, 2, '#', '', 'F', '0', 'basedata:dept:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1018, '部门修改', 'TenantBasedate', 103, 3, '#', '', 'F', '0', 'basedata:dept:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1019, '部门删除', 'TenantBasedate', 103, 4, '#', '', 'F', '0', 'basedata:dept:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1020, '岗位查询', 'TenantBasedate', 104, 1, '#', '', 'F', '0', 'basedata:post:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1021, '岗位新增', 'TenantBasedate', 104, 2, '#', '', 'F', '0', 'basedata:post:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1022, '岗位修改', 'TenantBasedate', 104, 3, '#', '', 'F', '0', 'basedata:post:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1023, '岗位删除', 'TenantBasedate', 104, 4, '#', '', 'F', '0', 'basedata:post:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1024, '岗位导出', 'TenantBasedate', 104, 5, '#', '', 'F', '0', 'basedata:post:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1025, '字典查询', 'TenantBasedate', 105, 1, '#', '', 'F', '0', 'system:dict:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1026, '字典新增', 'TenantBasedate', 105, 2, '#', '', 'F', '0', 'system:dict:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1027, '字典修改', 'TenantBasedate', 105, 3, '#', '', 'F', '0', 'system:dict:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1028, '字典删除', 'TenantBasedate', 105, 4, '#', '', 'F', '0', 'system:dict:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1029, '字典导出', 'TenantBasedate', 105, 5, '#', '', 'F', '0', 'system:dict:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1030, '参数查询', 'TenantBasedate', 106, 1, '#', '', 'F', '0', 'system:config:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1031, '参数新增', 'TenantBasedate', 106, 2, '#', '', 'F', '0', 'system:config:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1032, '参数修改', 'TenantBasedate', 106, 3, '#', '', 'F', '0', 'system:config:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1033, '参数删除', 'TenantBasedate', 106, 4, '#', '', 'F', '0', 'system:config:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1034, '参数导出', 'TenantBasedate', 106, 5, '#', '', 'F', '0', 'system:config:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1035, '公告查询', 'TenantMessage', 107, 1, '#', '', 'F', '0', 'message:notice:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1036, '公告新增', 'TenantMessage', 107, 2, '#', '', 'F', '0', 'message:notice:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1037, '公告修改', 'TenantMessage', 107, 3, '#', '', 'F', '0', 'message:notice:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1038, '公告删除', 'TenantMessage', 107, 4, '#', '', 'F', '0', 'message:notice:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1039, '操作查询', 'TenantLog', 500, 1, '#', '', 'F', '0', 'log:operlog:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1040, '操作删除', 'TenantLog', 500, 2, '#', '', 'F', '0', 'log:operlog:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1041, '详细信息', 'TenantLog', 500, 3, '#', '', 'F', '0', 'log:operlog:detail', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1042, '日志导出', 'TenantLog', 500, 4, '#', '', 'F', '0', 'log:operlog:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1043, '登录查询', 'TenantLog', 501, 1, '#', '', 'F', '0', 'log:logininfor:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1044, '登录删除', 'TenantLog', 501, 2, '#', '', 'F', '0', 'log:logininfor:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1045, '日志导出', 'TenantLog', 501, 3, '#', '', 'F', '0', 'log:logininfor:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1046, '在线查询', 'PlatformMonitor', 109, 1, '#', '', 'F', '0', 'monitor:online:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1047, '批量强退', 'PlatformMonitor', 109, 2, '#', '', 'F', '0', 'monitor:online:batchForceLogout', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1048, '单条强退', 'PlatformMonitor', 109, 3, '#', '', 'F', '0', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1049, '任务查询', 'PlatformQuartz', 110, 1, '#', '', 'F', '0', 'monitor:job:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1050, '任务新增', 'PlatformQuartz', 110, 2, '#', '', 'F', '0', 'monitor:job:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1051, '任务修改', 'PlatformQuartz', 110, 3, '#', '', 'F', '0', 'monitor:job:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1052, '任务删除', 'PlatformQuartz', 110, 4, '#', '', 'F', '0', 'monitor:job:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1053, '状态修改', 'PlatformQuartz', 110, 5, '#', '', 'F', '0', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1054, '任务详细', 'PlatformQuartz', 110, 6, '#', '', 'F', '0', 'monitor:job:detail', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1055, '任务导出', 'PlatformQuartz', 110, 7, '#', '', 'F', '0', 'monitor:job:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1059, '租户管理', 'PlatformTenant', 1, 2, '/system/tenant', 'menuItem', 'C', '0', 'system:tenant:view', '#', 'admin', '2019-07-31 17:26:08', '', NULL, ''), + (1060, '子系统管理', 'PlatformTenant', 1, 1, '/system/application', 'menuItem', 'C', '0', 'system:application:view', '#', 'admin', '2019-07-31 17:26:08', '', NULL, ''), + (1061, '数据源管理', 'PlatformTenant', 1, 3, '/system/datasource', '', 'C', '0', 'system:datasource:view', '#', 'admin', '2019-08-01 15:02:56', 'admin', '2019-08-01 15:03:03', ''), + (2000, '基础数据', 'TenantBasedate', 0, 1, '#', 'menuItem', 'M', '0', '', 'fa fa-group', 'admin', '2019-08-02 15:15:59', 'admin', '2019-08-16 13:43:08', ''), + (2001, '消息中心', 'TenantMessage', 0, 6, '#', 'menuItem', 'M', '0', '', 'fa fa-envelope', 'admin', '2019-08-02 15:16:47', 'admin', '2019-08-07 10:59:17', ''), + (2002, '地区管理', 'TenantBasedate', 2000, 8, '/basedata/districts', 'menuItem', 'C', '0', 'basedata:districts:view', 'fa fa-map-o', 'admin', '2019-08-16 09:13:41', '', NULL, ''), + (2003, '地区查询', 'TenantBasedate', 2002, 1, '#', 'menuItem', 'F', '0', 'basedata:districts:list', '#', 'admin', '2019-08-16 09:14:48', '', NULL, ''), + (2004, '导出', 'TenantBasedate', 2002, 2, '#', 'menuItem', 'F', '0', 'basedata:districts:export', '#', 'admin', '2019-08-16 09:15:34', '', NULL, ''), + (2005, '添加', 'TenantBasedate', 2002, 3, '#', 'menuItem', 'F', '0', 'basedata:districts:add', '#', 'admin', '2019-08-16 09:16:11', 'admin', '2019-08-16 09:17:33', ''), + (2006, '编辑', 'TenantBasedate', 2002, 4, '#', 'menuItem', 'F', '0', 'basedata:districts:edit', '#', 'admin', '2019-08-16 09:16:46', '', NULL, ''), + (2007, '删除', 'TenantBasedate', 2002, 5, '#', 'menuItem', 'F', '0', 'basedata:districts:remove', '#', 'admin', '2019-08-16 09:17:21', '', NULL, ''), + (2008, '运营管理', 'TanantOperat', 0, 4, '#', 'menuItem', 'M', '0', NULL, 'fa fa-filter', 'admin', '2019-10-11 11:16:44', '', NULL, ''), + (2009, '放款对账', 'TanantOperat', 2008, 3, '/operat/loanRecon', 'menuItem', 'C', '0', 'operat:loan:recon', 'fa fa-plane', 'admin', '2019-10-11 11:19:14', 'admin', '2019-10-11 11:21:21', ''), + (2010, '进件查询', 'TanantOperat', 2008, 1, '/operat/order', 'menuItem', 'C', '0', 'operat:loan:list', 'fa fa-bullseye', 'admin', '2019-10-11 11:22:41', '', NULL, ''), + (2011, '还款查询', 'TanantOperat', 2008, 2, '/operat/incomList', 'menuItem', 'C', '0', 'operat:loan:repay', 'fa fa-briefcase', 'admin', '2019-10-11 11:24:38', '', NULL, ''), + (2012, '还款对账', 'TanantOperat', 2008, 4, '/operat/repayRecon', 'menuItem', 'C', '0', 'operat:loan:repay', 'fa fa-circle-o-notch', 'admin', '2019-10-11 11:25:59', '', NULL, ''), + (2013, '扣款对账', 'TanantOperat', 2008, 5, '/operat/debitList', 'menuItem', 'C', '0', 'operat:loan:debit', 'fa fa-assistive-listening-systems', 'admin', '2019-10-11 11:30:39', '', NULL, ''), + (2014, '运营配置', 'TenantConfig', 0, 5, '#', 'menuItem', 'M', '0', NULL, 'fa fa-microchip', 'admin', '2019-10-11 11:36:27', '', NULL, ''), + (2015, '密钥管理', 'TenantConfig', 2014, 0, '/config/secretList', 'menuItem', 'C', '0', 'config:secre:list', 'fa fa-key', 'admin', '2019-10-11 11:38:20', '', NULL, ''), + (2016, '操作审计', 'TenantConfig', 2014, 2, '/config/operatList', 'menuItem', 'C', '0', 'config:operat:audit', 'fa fa-map-signs', 'admin', '2019-10-11 11:40:07', '', NULL, ''); +/*!40000 ALTER TABLE `sys_menu` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_notice +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE IF NOT EXISTS `sys_notice` ( + `notice_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` varchar(2000) DEFAULT NULL COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='通知公告表'; + +-- Dumping data for table opl2.sys_notice: ~2 rows (大约) +/*!40000 ALTER TABLE `sys_notice` DISABLE KEYS */; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '温馨提醒', '2', '内容', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '管理员'), + (2, '维护通知', '1', '内容', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '管理员'); +/*!40000 ALTER TABLE `sys_notice` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_oper_log +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE IF NOT EXISTS `sys_oper_log` ( + `oper_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int(2) DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int(1) DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(50) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', + `status` int(1) DEFAULT 0 COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`oper_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=433 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='操作日志记录'; + +-- Dumping data for table opl2.sys_oper_log: ~34 rows (大约) +/*!40000 ALTER TABLE `sys_oper_log` DISABLE KEYS */; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `status`, `error_msg`, `oper_time`) VALUES + (419, '个人信息', 2, 'com.opl.operating.platform.controller.basedata.SysProfileController.update()', 'POST', 1, 'admin', '研发部门', '/basedata/user/profile/update', '127.0.0.1', '内网IP', '{\r\n "phonenumber" : [ "15888888888" ],\r\n "id" : [ "" ],\r\n "userName" : [ "kingrom" ],\r\n "email" : [ "d.vean@163.com" ],\r\n "sex" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 16:10:50'), + (420, '个人信息', 2, 'com.opl.operating.platform.controller.basedata.SysProfileController.update()', 'POST', 1, 'admin', '研发部门', '/basedata/user/profile/update', '127.0.0.1', '内网IP', '{\r\n "phonenumber" : [ "15000029865" ],\r\n "id" : [ "" ],\r\n "userName" : [ "kingrom" ],\r\n "email" : [ "kingrom@163.com" ],\r\n "sex" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 16:11:05'), + (421, '字典类型', 1, 'com.opl.operating.platform.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\r\n "dictName" : [ "tenant_channel_code" ],\r\n "remark" : [ "商户渠道号" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:40:17'), + (422, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "用钱宝_SZSZ" ],\r\n "dictValue" : [ "1" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "0" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:41:49'), + (423, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_3_SZSZ" ],\r\n "dictValue" : [ "2" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "2" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:42:37'), + (424, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "即有_3_SZSZ" ],\r\n "dictValue" : [ "3" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "3" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:42:56'), + (425, '字典数据', 2, 'com.opl.operating.platform.controller.system.SysDictDataController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/edit', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "用钱宝_SZSZ" ],\r\n "dictValue" : [ "1" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictCode" : [ "104" ],\r\n "dictSort" : [ "1" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:01'), + (426, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "即有_6_SZSZ" ],\r\n "dictValue" : [ "4" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "4" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:19'), + (427, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_6_SZSZ" ],\r\n "dictValue" : [ "5" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "5" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:32'), + (428, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "冰闪_3_SZSX" ],\r\n "dictValue" : [ "6" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "6" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:58'), + (429, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "冰闪_6_SZSX" ],\r\n "dictValue" : [ "7" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "7" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:17'), + (430, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_3_SZSX" ],\r\n "dictValue" : [ "8" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "8" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:32'), + (431, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_6_SZSX" ],\r\n "dictValue" : [ "8" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "8" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:45'), + (432, '字典类型', 2, 'com.opl.operating.platform.controller.system.SysDictTypeController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/edit', '127.0.0.1', '内网IP', '{\r\n "dictName" : [ "商户渠道号" ],\r\n "remark" : [ "商户渠道号" ],\r\n "dictId" : [ "102" ],\r\n "dictType" : [ "tenant_channel_code" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:45:09'); +/*!40000 ALTER TABLE `sys_oper_log` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_post +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE IF NOT EXISTS `sys_post` ( + `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `tenant_code` varchar(16) NOT NULL COMMENT '所属租户', + `post_sort` int(4) NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='岗位信息表'; + +-- Dumping data for table opl2.sys_post: ~1 rows (大约) +/*!40000 ALTER TABLE `sys_post` DISABLE KEYS */; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `tenant_code`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '10000', '系统管理员', '000000', 1, '0', 'admin', '2019-10-11 10:43:46', '', NULL, '1'); +/*!40000 ALTER TABLE `sys_post` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE IF NOT EXISTS `sys_role` ( + `role_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int(4) NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='角色信息表'; + +-- Dumping data for table opl2.sys_role: ~1 rows (大约) +/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `tenant_code`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (2, '系统管理员', 'data:update', 0, '1', '000000', '0', '0', 'admin', '2019-10-11 10:19:23', 'admin', '2019-10-11 15:59:14', ''); +/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role_dept +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE IF NOT EXISTS `sys_role_dept` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表'; + +-- Dumping data for table opl2.sys_role_dept: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_role_dept` DISABLE KEYS */; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES + (2, 100), + (2, 101), + (2, 105); +/*!40000 ALTER TABLE `sys_role_dept` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role_menu +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE IF NOT EXISTS `sys_role_menu` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表'; + +-- Dumping data for table opl2.sys_role_menu: ~113 rows (大约) +/*!40000 ALTER TABLE `sys_role_menu` DISABLE KEYS */; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES + (2, 1), + (2, 2), + (2, 3), + (2, 100), + (2, 101), + (2, 102), + (2, 103), + (2, 104), + (2, 105), + (2, 106), + (2, 107), + (2, 108), + (2, 109), + (2, 110), + (2, 111), + (2, 112), + (2, 113), + (2, 114), + (2, 115), + (2, 500), + (2, 501), + (2, 1000), + (2, 1001), + (2, 1002), + (2, 1003), + (2, 1004), + (2, 1005), + (2, 1006), + (2, 1007), + (2, 1008), + (2, 1009), + (2, 1010), + (2, 1011), + (2, 1012), + (2, 1013), + (2, 1014), + (2, 1015), + (2, 1016), + (2, 1017), + (2, 1018), + (2, 1019), + (2, 1020), + (2, 1021), + (2, 1022), + (2, 1023), + (2, 1024), + (2, 1025), + (2, 1026), + (2, 1027), + (2, 1028), + (2, 1029), + (2, 1030), + (2, 1031), + (2, 1032), + (2, 1033), + (2, 1034), + (2, 1035), + (2, 1036), + (2, 1037), + (2, 1038), + (2, 1039), + (2, 1040), + (2, 1041), + (2, 1042), + (2, 1043), + (2, 1044), + (2, 1045), + (2, 1046), + (2, 1047), + (2, 1048), + (2, 1049), + (2, 1050), + (2, 1051), + (2, 1052), + (2, 1053), + (2, 1054), + (2, 1055), + (2, 1056), + (2, 1057), + (2, 1058), + (2, 1059), + (2, 1060); +/*!40000 ALTER TABLE `sys_role_menu` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_tenant +DROP TABLE IF EXISTS `sys_tenant`; +CREATE TABLE IF NOT EXISTS `sys_tenant` ( + `tenant_code` varchar(16) NOT NULL COMMENT '租户编号', + `tenant_name` varchar(64) NOT NULL COMMENT '租户名称', + `contact_man` varchar(32) NOT NULL COMMENT '联系人', + `contact_number` varchar(16) NOT NULL COMMENT '联系电话', + `channel_id` varchar(10) NOT NULL COMMENT '渠道编号', + `address` varchar(255) DEFAULT NULL COMMENT '联系地址', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '是否删除(0代表存在 2代表删除)', + `remark` varchar(255) DEFAULT NULL COMMENT '备注说明', + PRIMARY KEY (`tenant_code`) USING BTREE, + UNIQUE KEY `UNIQUE_TENANT_CODE` (`tenant_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_tenant: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_tenant` DISABLE KEYS */; +INSERT INTO `sys_tenant` (`tenant_code`, `tenant_name`, `contact_man`, `contact_number`, `channel_id`, `address`, `create_by`, `create_time`, `update_by`, `update_time`, `status`, `del_flag`, `remark`) VALUES + ('000000', '运营平台方', '刘伟', '15000029865', '1,2', '上海市杨浦区', 'admin', '2019-08-08 15:08:24', 'admin', '2019-10-11 15:55:33', '0', '0', '平台方,系统内置租户,属于基础数据'); +/*!40000 ALTER TABLE `sys_tenant` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_tenant_application +DROP TABLE IF EXISTS `sys_tenant_application`; +CREATE TABLE IF NOT EXISTS `sys_tenant_application` ( + `tenant_code` varchar(16) NOT NULL, + `app_code` varchar(16) NOT NULL, + PRIMARY KEY (`tenant_code`,`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_tenant_application: ~6 rows (大约) +/*!40000 ALTER TABLE `sys_tenant_application` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_tenant_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE IF NOT EXISTS `sys_user` ( + `user_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` int(16) DEFAULT NULL COMMENT '部门ID', + `login_name` varchar(32) NOT NULL COMMENT '登录账号', + `user_name` varchar(32) NOT NULL COMMENT '用户昵称', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `user_type` char(1) DEFAULT '1' COMMENT '用户类型(0平台用户,1租户用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) DEFAULT '' COMMENT '头像路径', + `password` varchar(50) DEFAULT '' COMMENT '密码', + `salt` varchar(20) DEFAULT '' COMMENT '盐加密', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(32) DEFAULT '' COMMENT '最后登陆IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登陆时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户信息表'; + +-- Dumping data for table opl2.sys_user: ~8 rows (大约) +/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `tenant_code`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, 103, 'admin', 'kingrom', '000000', '0', 'kingrom@163.com', '15000029865', '0', '/img/profile.jpg', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2019-10-11 19:04:38', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 19:04:16', '管理员'); +/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_online +DROP TABLE IF EXISTS `sys_user_online`; +CREATE TABLE IF NOT EXISTS `sys_user_online` ( + `sessionId` varchar(64) NOT NULL DEFAULT '' COMMENT '用户会话id', + `login_name` varchar(32) DEFAULT '' COMMENT '登录账号', + `dept_name` varchar(32) DEFAULT '' COMMENT '部门名称', + `tenant_name` varchar(32) DEFAULT NULL COMMENT '租户名称', + `ipaddr` varchar(32) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(64) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(43) DEFAULT '' COMMENT '操作系统', + `status` varchar(10) DEFAULT '' COMMENT '在线状态on_line在线off_line离线', + `start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间', + `last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间', + `expire_time` int(5) DEFAULT 0 COMMENT '超时时间,单位为分钟', + PRIMARY KEY (`sessionId`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='在线用户记录'; + +-- Dumping data for table opl2.sys_user_online: ~2 rows (大约) +/*!40000 ALTER TABLE `sys_user_online` DISABLE KEYS */; +INSERT INTO `sys_user_online` (`sessionId`, `login_name`, `dept_name`, `tenant_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `start_timestamp`, `last_access_time`, `expire_time`) VALUES + ('81cf8173-8f03-4f90-831e-1bd29f8ca608', 'admin', '研发部门', NULL, '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', 'on_line', '2019-10-11 17:22:22', '2019-10-11 19:09:26', 1800000); +/*!40000 ALTER TABLE `sys_user_online` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_post +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE IF NOT EXISTS `sys_user_post` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户与岗位关联表'; + +-- Dumping data for table opl2.sys_user_post: ~4 rows (大约) +/*!40000 ALTER TABLE `sys_user_post` DISABLE KEYS */; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES + (1, 1); +/*!40000 ALTER TABLE `sys_user_post` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_role +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE IF NOT EXISTS `sys_user_role` ( + `user_id` int(16) NOT NULL COMMENT '用户ID', + `role_id` int(16) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户和角色关联表'; + +-- Dumping data for table opl2.sys_user_role: ~8 rows (大约) +/*!40000 ALTER TABLE `sys_user_role` DISABLE KEYS */; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES + (1, 1); +/*!40000 ALTER TABLE `sys_user_role` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/sql/opl.sql b/sql/opl.sql new file mode 100644 index 0000000000000000000000000000000000000000..b1f519401fec6d37d52ef0477398ecc0e9d3496a --- /dev/null +++ b/sql/opl.sql @@ -0,0 +1,4448 @@ +-- -------------------------------------------------------- +-- 主机: 192.168.1.64 +-- 服务器版本: 10.2.12-MariaDB-log - MariaDB Server +-- 服务器OS: Linux +-- HeidiSQL 版本: 10.2.0.5599 +-- -------------------------------------------------------- + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET NAMES utf8 */; +/*!50503 SET NAMES utf8mb4 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; + + +-- Dumping database structure for opl2 +DROP DATABASE IF EXISTS `opl2`; +CREATE DATABASE IF NOT EXISTS `opl2` /*!40100 DEFAULT CHARACTER SET utf8 */; +USE `opl2`; + +-- Dumping structure for table opl2.qrtz_blob_triggers +DROP TABLE IF EXISTS `qrtz_blob_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_blob_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `blob_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_blob_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_blob_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_blob_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_calendars +DROP TABLE IF EXISTS `qrtz_calendars`; +CREATE TABLE IF NOT EXISTS `qrtz_calendars` ( + `sched_name` varchar(120) NOT NULL, + `calendar_name` varchar(200) NOT NULL, + `calendar` blob NOT NULL, + PRIMARY KEY (`sched_name`,`calendar_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_calendars: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_calendars` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_calendars` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_cron_triggers +DROP TABLE IF EXISTS `qrtz_cron_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_cron_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `cron_expression` varchar(200) NOT NULL, + `time_zone_id` varchar(80) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_cron_triggers: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_cron_triggers` DISABLE KEYS */; +INSERT INTO `qrtz_cron_triggers` (`sched_name`, `trigger_name`, `trigger_group`, `cron_expression`, `time_zone_id`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai'), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', '0/15 * * * * ?', 'Asia/Shanghai'), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', '0/20 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', '0/15 * * * * ?', 'Asia/Shanghai'), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', '0/20 * * * * ?', 'Asia/Shanghai'); +/*!40000 ALTER TABLE `qrtz_cron_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_fired_triggers +DROP TABLE IF EXISTS `qrtz_fired_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_fired_triggers` ( + `sched_name` varchar(120) NOT NULL, + `entry_id` varchar(95) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `instance_name` varchar(200) NOT NULL, + `fired_time` bigint(13) NOT NULL, + `sched_time` bigint(13) NOT NULL, + `priority` int(11) NOT NULL, + `state` varchar(16) NOT NULL, + `job_name` varchar(200) DEFAULT NULL, + `job_group` varchar(200) DEFAULT NULL, + `is_nonconcurrent` varchar(1) DEFAULT NULL, + `requests_recovery` varchar(1) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`entry_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_fired_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_fired_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_fired_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_job_details +DROP TABLE IF EXISTS `qrtz_job_details`; +CREATE TABLE IF NOT EXISTS `qrtz_job_details` ( + `sched_name` varchar(120) NOT NULL, + `job_name` varchar(200) NOT NULL, + `job_group` varchar(200) NOT NULL, + `description` varchar(250) DEFAULT NULL, + `job_class_name` varchar(250) NOT NULL, + `is_durable` varchar(1) NOT NULL, + `is_nonconcurrent` varchar(1) NOT NULL, + `is_update_data` varchar(1) NOT NULL, + `requests_recovery` varchar(1) NOT NULL, + `job_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_job_details: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_job_details` DISABLE KEYS */; +INSERT INTO `qrtz_job_details` (`sched_name`, `job_name`, `job_group`, `description`, `job_class_name`, `is_durable`, `is_nonconcurrent`, `is_update_data`, `requests_recovery`, `job_data`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3130202A202A202A202A203F7400116D795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3135202A202A202A202A203F7400156D795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3230202A202A202A202A203F7400386D795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3130202A202A202A202A203F7400116D795461736B2E72794E6F506172616D7374000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000001740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E697A0E58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3135202A202A202A202A203F7400156D795461736B2E7279506172616D7328277279272974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000002740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E69C89E58F82EFBC8974000133740001317800), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.opl.framework.quartz.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', _binary 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F5045525449455373720026636F6D2E6F706C2E6672616D65776F726B2E71756172747A2E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002F636F6D2E6F706C2E6672616D65776F726B2E636F6D6D6F6E2E636F72652E646F6D61696E2E42617365456E7469747900000000000000010200084C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000764656C466C616771007E00094C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B59741903000078707708000001622CDE29E07870707400007070707400013174000E302F3230202A202A202A202A203F7400386D795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800); +/*!40000 ALTER TABLE `qrtz_job_details` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_locks +DROP TABLE IF EXISTS `qrtz_locks`; +CREATE TABLE IF NOT EXISTS `qrtz_locks` ( + `sched_name` varchar(120) NOT NULL, + `lock_name` varchar(40) NOT NULL, + PRIMARY KEY (`sched_name`,`lock_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_locks: ~4 rows (大约) +/*!40000 ALTER TABLE `qrtz_locks` DISABLE KEYS */; +INSERT INTO `qrtz_locks` (`sched_name`, `lock_name`) VALUES + ('AKScheduler', 'STATE_ACCESS'), + ('AKScheduler', 'TRIGGER_ACCESS'), + ('OPL-Scheduler', 'STATE_ACCESS'), + ('OPL-Scheduler', 'TRIGGER_ACCESS'); +/*!40000 ALTER TABLE `qrtz_locks` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_paused_trigger_grps +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; +CREATE TABLE IF NOT EXISTS `qrtz_paused_trigger_grps` ( + `sched_name` varchar(120) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_group`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_paused_trigger_grps: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_paused_trigger_grps` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_paused_trigger_grps` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_scheduler_state +DROP TABLE IF EXISTS `qrtz_scheduler_state`; +CREATE TABLE IF NOT EXISTS `qrtz_scheduler_state` ( + `sched_name` varchar(120) NOT NULL, + `instance_name` varchar(200) NOT NULL, + `last_checkin_time` bigint(13) NOT NULL, + `checkin_interval` bigint(13) NOT NULL, + PRIMARY KEY (`sched_name`,`instance_name`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_scheduler_state: ~2 rows (大约) +/*!40000 ALTER TABLE `qrtz_scheduler_state` DISABLE KEYS */; +INSERT INTO `qrtz_scheduler_state` (`sched_name`, `instance_name`, `last_checkin_time`, `checkin_interval`) VALUES + ('AKScheduler', 'QL-02-01981570776698727', 1570776717264, 15000), + ('OPL-Scheduler', 'QL-02-01981570791858642', 1570792224734, 15000); +/*!40000 ALTER TABLE `qrtz_scheduler_state` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_simple_triggers +DROP TABLE IF EXISTS `qrtz_simple_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_simple_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `repeat_count` bigint(7) NOT NULL, + `repeat_interval` bigint(12) NOT NULL, + `times_triggered` bigint(10) NOT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_simple_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_simple_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_simple_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_simprop_triggers +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_simprop_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `str_prop_1` varchar(512) DEFAULT NULL, + `str_prop_2` varchar(512) DEFAULT NULL, + `str_prop_3` varchar(512) DEFAULT NULL, + `int_prop_1` int(11) DEFAULT NULL, + `int_prop_2` int(11) DEFAULT NULL, + `long_prop_1` bigint(20) DEFAULT NULL, + `long_prop_2` bigint(20) DEFAULT NULL, + `dec_prop_1` decimal(13,4) DEFAULT NULL, + `dec_prop_2` decimal(13,4) DEFAULT NULL, + `bool_prop_1` varchar(1) DEFAULT NULL, + `bool_prop_2` varchar(1) DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_simprop_triggers: ~0 rows (大约) +/*!40000 ALTER TABLE `qrtz_simprop_triggers` DISABLE KEYS */; +/*!40000 ALTER TABLE `qrtz_simprop_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.qrtz_triggers +DROP TABLE IF EXISTS `qrtz_triggers`; +CREATE TABLE IF NOT EXISTS `qrtz_triggers` ( + `sched_name` varchar(120) NOT NULL, + `trigger_name` varchar(200) NOT NULL, + `trigger_group` varchar(200) NOT NULL, + `job_name` varchar(200) NOT NULL, + `job_group` varchar(200) NOT NULL, + `description` varchar(250) DEFAULT NULL, + `next_fire_time` bigint(13) DEFAULT NULL, + `prev_fire_time` bigint(13) DEFAULT NULL, + `priority` int(11) DEFAULT NULL, + `trigger_state` varchar(16) NOT NULL, + `trigger_type` varchar(8) NOT NULL, + `start_time` bigint(13) NOT NULL, + `end_time` bigint(13) DEFAULT NULL, + `calendar_name` varchar(200) DEFAULT NULL, + `misfire_instr` smallint(2) DEFAULT NULL, + `job_data` blob DEFAULT NULL, + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`) USING BTREE, + KEY `sched_name` (`sched_name`,`job_name`,`job_group`) USING BTREE, + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.qrtz_triggers: ~6 rows (大约) +/*!40000 ALTER TABLE `qrtz_triggers` DISABLE KEYS */; +INSERT INTO `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`, `job_name`, `job_group`, `description`, `next_fire_time`, `prev_fire_time`, `priority`, `trigger_state`, `trigger_type`, `start_time`, `end_time`, `calendar_name`, `misfire_instr`, `job_data`) VALUES + ('AKScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1570776700000, -1, 5, 'PAUSED', 'CRON', 1570776698000, 0, NULL, 2, _binary ''), + ('AKScheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1570776705000, -1, 5, 'PAUSED', 'CRON', 1570776699000, 0, NULL, 2, _binary ''), + ('AKScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1570776700000, -1, 5, 'PAUSED', 'CRON', 1570776699000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME1', 'DEFAULT', 'TASK_CLASS_NAME1', 'DEFAULT', NULL, 1570791860000, -1, 5, 'PAUSED', 'CRON', 1570791859000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME2', 'DEFAULT', 'TASK_CLASS_NAME2', 'DEFAULT', NULL, 1570791870000, -1, 5, 'PAUSED', 'CRON', 1570791860000, 0, NULL, 2, _binary ''), + ('OPL-Scheduler', 'TASK_CLASS_NAME3', 'DEFAULT', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 1570791860000, -1, 5, 'PAUSED', 'CRON', 1570791860000, 0, NULL, 2, _binary ''); +/*!40000 ALTER TABLE `qrtz_triggers` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_application +DROP TABLE IF EXISTS `sys_application`; +CREATE TABLE IF NOT EXISTS `sys_application` ( + `app_code` varchar(16) NOT NULL COMMENT '应用编号', + `app_name` varchar(64) NOT NULL COMMENT '名称', + `app_uri` varchar(255) NOT NULL COMMENT '应用访问地址', + `app_type` char(1) NOT NULL DEFAULT '1' COMMENT '类型(0:内置子系统;1:租户子系统)', + `app_address` varchar(255) NOT NULL DEFAULT '' COMMENT '应用部署地址', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '在线状态(0在线 1离线)', + `sort` int(11) DEFAULT NULL COMMENT '排序(升序)', + `remark` varchar(255) DEFAULT '' COMMENT '备注信息', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标记(0代表存在 2代表删除)', + PRIMARY KEY (`app_code`) USING BTREE, + UNIQUE KEY `UNIQUE_APP_CODE` (`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='应用监控表'; + +-- Dumping data for table opl2.sys_application: ~9 rows (大约) +/*!40000 ALTER TABLE `sys_application` DISABLE KEYS */; +INSERT INTO `sys_application` (`app_code`, `app_name`, `app_uri`, `app_type`, `app_address`, `status`, `sort`, `remark`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES + ('PlatformMonitor', '统一监控子系统', 'localhost', '0', '', '0', 1, '', 'admin', '2019-08-02 15:00:43', 'admin', '2019-08-02 15:01:17', '0'), + ('PlatformQuartz', '任务调度子系统', 'localhost', '0', '', '0', 2, '', 'admin', '2019-08-02 15:10:11', 'admin', '2019-10-11 11:34:37', '0'), + ('PlatformTenant', '租户平台管理', 'localhost', '0', '', '0', 0, '', 'admin', '2019-07-26 14:24:48', 'admin', '2019-10-11 15:51:37', '0'), + ('TanantOperat', '运营平台子系统', 'localhost', '1', '', '0', 4, '', 'admin\r\n', '2019-10-11 11:14:47', 'admin', '2019-10-11 11:14:53', '0'), + ('TenantApi', '平台开放接口', 'localhost', '1', '', '0', 5, '', 'admin', '2019-08-02 15:11:00', 'admin', '2019-08-02 15:49:41', '0'), + ('TenantBasedate', '基础数据子系统', 'localhost', '1', '', '0', 3, '', 'admin', '2019-07-26 15:00:16', 'admin', '2019-10-11 15:51:12', '0'), + ('TenantConfig', '运营配置子系统', 'localhost', '1', '', '0', 5, '', 'admin', '2019-10-11 11:34:23', 'admin', '2019-10-11 11:34:38', '0'), + ('TenantLog', '日志查询子系统', 'locahost', '1', '', '0', 8, '', 'admin', '2019-07-30 10:55:43', 'admin', '2019-10-11 11:34:39', '0'), + ('TenantMessage', '消息中心子系统', 'localhost', '1', '', '0', 7, '', 'admin', '2019-07-30 10:38:24', 'admin', '2019-10-11 11:34:40', '0'); +/*!40000 ALTER TABLE `sys_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_config +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE IF NOT EXISTS `sys_config` ( + `config_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(32) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(32) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(32) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) USING BTREE, + UNIQUE KEY `UNIQUE_CONFIG_KEY` (`config_key`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='参数配置表'; + +-- Dumping data for table opl2.sys_config: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_config` DISABLE KEYS */; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-yellow', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 10:59:36', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'), + (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '初始化密码 123456'), + (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 10:59:55', '深色主题theme-dark,浅色主题theme-light'); +/*!40000 ALTER TABLE `sys_config` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_datasource +DROP TABLE IF EXISTS `sys_datasource`; +CREATE TABLE IF NOT EXISTS `sys_datasource` ( + `datasource_code` varchar(16) NOT NULL COMMENT '数据源编码', + `database_ip` varchar(16) NOT NULL COMMENT '数据库IP地址', + `database_port` varchar(8) NOT NULL COMMENT '数据库端口', + `database_driver_class_name` varchar(128) NOT NULL COMMENT '驱动类', + `database_name` varchar(64) NOT NULL COMMENT '数据库名称', + `database_username` varchar(64) NOT NULL COMMENT '数据库用户名', + `database_password` varchar(64) NOT NULL COMMENT '数据库密码', + `database_flag` char(1) NOT NULL DEFAULT '0' COMMENT '数据库标识,留给今后做读写分离用,默认0(0:读写库;1:写库:2:读库)', + `tenant_code` varchar(16) NOT NULL COMMENT '租户编码', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '是否删除(0代表存在 2代表删除)', + `remark` varchar(255) DEFAULT NULL COMMENT '备注说明', + PRIMARY KEY (`datasource_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_datasource: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_datasource` DISABLE KEYS */; +INSERT INTO `sys_datasource` (`datasource_code`, `database_ip`, `database_port`, `database_driver_class_name`, `database_name`, `database_username`, `database_password`, `database_flag`, `tenant_code`, `create_by`, `create_time`, `update_by`, `update_time`, `status`, `del_flag`, `remark`) VALUES + ('0O0O0O', '127.0.0.1', '3306', 'com.mysql.cj.jdbc.Driver', 'vean', 'root', 'root', '0', '111111', 'admin', '2019-06-17 16:51:21', 'admin', '2019-06-17 16:51:24', '0', '2', NULL), + ('0test0', '127.0.0.1', '3306', 'com.mysql.cj.jdbc.Driver', 'test', 'root', 'root', '0', '000000', 'admin', '2019-06-20 17:20:06', 'admin', '2019-10-11 16:01:19', '0', '0', '3123'), + ('testbk', '127.0.0.1', '3306', 'oracle.jdbc.driver.OracleDriver', 'testbackup', 'root', 'root', '0', '111111', 'admin', '2016-12-18 00:00:00', 'admin', '2019-08-06 18:27:45', '0', '2', NULL); +/*!40000 ALTER TABLE `sys_datasource` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_datasource_application +DROP TABLE IF EXISTS `sys_datasource_application`; +CREATE TABLE IF NOT EXISTS `sys_datasource_application` ( + `datasource_code` varchar(16) NOT NULL, + `app_code` varchar(16) NOT NULL, + PRIMARY KEY (`datasource_code`,`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_datasource_application: ~4 rows (大约) +/*!40000 ALTER TABLE `sys_datasource_application` DISABLE KEYS */; +INSERT INTO `sys_datasource_application` (`datasource_code`, `app_code`) VALUES + ('0O0O0O', 'TenantLog'), + ('0O0O0O', 'TenantMessage'), + ('0test0', 'TenantLog'), + ('0test0', 'TenantMessage'); +/*!40000 ALTER TABLE `sys_datasource_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dept +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE IF NOT EXISTS `sys_dept` ( + `dept_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` int(16) DEFAULT 0 COMMENT '父部门id', + `ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `order_num` int(4) DEFAULT 0 COMMENT '显示顺序', + `leader` varchar(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='部门表'; + +-- Dumping data for table opl2.sys_dept: ~14 rows (大约) +/*!40000 ALTER TABLE `sys_dept` DISABLE KEYS */; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `tenant_code`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES + (100, 0, '0', '前隆信息', '000000', 0, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (103, 100, '0,100,101', '研发部门', '000000', 1, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (104, 100, '0,100,101', '市场部门', '000000', 2, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (105, 100, '0,100,101', '测试部门', '000000', 3, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (106, 100, '0,100,101', '财务部门', '000000', 4, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'), + (107, 100, '0,100,101', '运维部门', '000000', 5, 'admin', '15888888888', '', '0', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00'); +/*!40000 ALTER TABLE `sys_dept` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dict_data +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE IF NOT EXISTS `sys_dict_data` ( + `dict_code` int(16) NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int(4) DEFAULT 0 COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字典数据表'; + +-- Dumping data for table opl2.sys_dict_data: ~34 rows (大约) +/*!40000 ALTER TABLE `sys_dict_data` DISABLE KEYS */; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别男'), + (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别女'), + (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '性别未知'), + (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '显示菜单'), + (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '隐藏菜单'), + (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '默认分组'), + (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统分组'), + (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统默认是'), + (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '系统默认否'), + (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '通知'), + (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '公告'), + (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '关闭状态'), + (18, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '新增操作'), + (19, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '修改操作'), + (20, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '删除操作'), + (21, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '授权操作'), + (22, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '导出操作'), + (23, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '导入操作'), + (24, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '强退操作'), + (25, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '生成操作'), + (26, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '清空操作'), + (27, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '正常状态'), + (28, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11:33:00', 'ry', '2018-03-16 11:33:00', '停用状态'), + (29, 0, '内置', '0', 'sys_application_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 11:03:18', '', NULL, NULL), + (30, 1, '租户', '1', 'sys_application_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 11:03:32', '', NULL, NULL), + (100, 0, '主库', '0', 'sys_database_flag', '', 'default', 'Y', '0', 'admin', '2019-08-01 14:45:50', 'admin', '2019-08-01 15:17:16', '默认情况选择一个库,考虑到今后可能读写分离,或者配置主从'), + (101, 1, '从库', '1', 'sys_database_flag', '', 'default', 'Y', '0', 'admin', '2019-08-01 14:47:03', 'admin', '2019-08-01 15:17:12', ''), + (102, 0, 'MySQL', 'com.mysql.cj.jdbc.Driver', 'sys_database_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 13:38:33', '', NULL, NULL), + (103, 1, 'Oracle', 'oracle.jdbc.driver.OracleDriver', 'sys_database_type', NULL, 'default', 'Y', '0', 'admin', '2019-08-02 13:38:54', '', NULL, NULL), + (104, 1, '用钱宝_SZSZ', '1', 'tenant_channel_code', '', '', 'Y', '0', 'admin', '2019-10-11 17:41:49', 'admin', '2019-10-11 17:43:01', ''), + (105, 2, '快牛_3_SZSZ', '2', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:42:37', '', NULL, NULL), + (106, 3, '即有_3_SZSZ', '3', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:42:56', '', NULL, NULL), + (107, 4, '即有_6_SZSZ', '4', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:18', '', NULL, NULL), + (108, 5, '快牛_6_SZSZ', '5', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:32', '', NULL, NULL), + (109, 6, '冰闪_3_SZSX', '6', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:43:58', '', NULL, NULL), + (110, 7, '冰闪_6_SZSX', '7', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:17', '', NULL, NULL), + (111, 8, '快牛_3_SZSX', '8', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:32', '', NULL, NULL), + (112, 8, '快牛_6_SZSX', '8', 'tenant_channel_code', NULL, NULL, 'Y', '0', 'admin', '2019-10-11 17:44:45', '', NULL, NULL); +/*!40000 ALTER TABLE `sys_dict_data` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_dict_type +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE IF NOT EXISTS `sys_dict_type` ( + `dict_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`) USING BTREE, + UNIQUE KEY `dict_type` (`dict_type`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='字典类型表'; + +-- Dumping data for table opl2.sys_dict_type: ~13 rows (大约) +/*!40000 ALTER TABLE `sys_dict_type` DISABLE KEYS */; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '用户性别', 'sys_user_sex', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '用户性别列表'), + (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '菜单状态列表'), + (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '系统开关列表'), + (4, '任务状态', 'sys_job_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '任务状态列表'), + (5, '任务分组', 'sys_job_group', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '任务分组列表'), + (6, '系统是否', 'sys_yes_no', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '系统是否列表'), + (7, '通知类型', 'sys_notice_type', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知类型列表'), + (8, '通知状态', 'sys_notice_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知状态列表'), + (9, '操作类型', 'sys_oper_type', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '操作类型列表'), + (10, '系统状态', 'sys_common_status', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '登录状态列表'), + (11, '子系统类型', 'sys_application_type', '0', 'admin', '2019-08-02 11:02:43', 'admin', '2019-08-06 16:50:53', '0内置,1租户'), + (100, '数据源标识', 'sys_database_flag', '0', 'admin', '2019-08-01 14:43:34', 'admin', '2019-08-02 13:37:32', '数据源标识'), + (101, '数据库类型', 'sys_database_type', '0', 'admin', '2019-08-02 13:37:13', 'admin', '2019-08-02 13:37:55', '数据库类型(Oracle、MySQL)'), + (102, '商户渠道号', 'tenant_channel_code', '0', 'admin', '2019-10-11 17:40:17', 'admin', '2019-10-11 17:45:09', '商户渠道号'); +/*!40000 ALTER TABLE `sys_dict_type` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_districts +DROP TABLE IF EXISTS `sys_districts`; +CREATE TABLE IF NOT EXISTS `sys_districts` ( + `id` int(6) unsigned NOT NULL COMMENT '编号', + `pid` int(6) NOT NULL DEFAULT 0 COMMENT '上级编号', + `deep` tinyint(1) NOT NULL DEFAULT 0 COMMENT '层级', + `name` varchar(32) NOT NULL DEFAULT '' COMMENT '名称', + `pinyin` varchar(64) DEFAULT NULL COMMENT '拼音', + `pinyin_shor` varchar(64) DEFAULT '' COMMENT '拼音缩写', + `ext_name` varchar(64) DEFAULT '' COMMENT '扩展名', + `create_by` varchar(32) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(32) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='地区'; + +-- Dumping data for table opl2.sys_districts: ~3,390 rows (大约) +/*!40000 ALTER TABLE `sys_districts` DISABLE KEYS */; +INSERT INTO `sys_districts` (`id`, `pid`, `deep`, `name`, `pinyin`, `pinyin_shor`, `ext_name`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES + (11, 0, 0, '北京', 'bei jing', 'bej', '北京市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 15:02:37'), + (12, 0, 0, '天津', 'tian jin', 'tij', '天津市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (13, 0, 0, '河北', 'he bei', 'heb', '河北省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (14, 0, 0, '山西', 'shan xi', 'shx', '山西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (15, 0, 0, '内蒙古', 'nei meng gu', 'nemg', '内蒙古自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (21, 0, 0, '辽宁', 'liao ning', 'lin', '辽宁省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (22, 0, 0, '吉林', 'ji lin', 'jil', '吉林省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (23, 0, 0, '黑龙江', 'hei long jiang', 'helj', '黑龙江省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (31, 0, 0, '上海', 'shang hai', 'shh', '上海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (32, 0, 0, '江苏', 'jiang su', 'jis', '江苏省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (33, 0, 0, '浙江', 'zhe jiang', 'zhj', '浙江省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (34, 0, 0, '安徽', 'an hui', 'anh', '安徽省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (35, 0, 0, '福建', 'fu jian', 'fuj', '福建省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (36, 0, 0, '江西', 'jiang xi', 'jix', '江西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (37, 0, 0, '山东', 'shan dong', 'shd', '山东省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (41, 0, 0, '河南', 'he nan', 'hen', '河南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (42, 0, 0, '湖北', 'hu bei', 'hub', '湖北省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (43, 0, 0, '湖南', 'hu nan', 'hun', '湖南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (44, 0, 0, '广东', 'guang dong', 'gud', '广东省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (45, 0, 0, '广西', 'guang xi', 'gux', '广西壮族自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (46, 0, 0, '海南', 'hai nan', 'han', '海南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (50, 0, 0, '重庆', 'chong qing', 'chq', '重庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (51, 0, 0, '四川', 'si chuan', 'sic', '四川省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (52, 0, 0, '贵州', 'gui zhou', 'guz', '贵州省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (53, 0, 0, '云南', 'yun nan', 'yun', '云南省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (54, 0, 0, '西藏', 'xi zang', 'xiz', '西藏自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (61, 0, 0, '陕西', 'shan xi', 'shx', '陕西省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (62, 0, 0, '甘肃', 'gan su', 'gas', '甘肃省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (63, 0, 0, '青海', 'qing hai', 'qih', '青海省', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (64, 0, 0, '宁夏', 'ning xia', 'nix', '宁夏回族自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (65, 0, 0, '新疆', 'xin jiang', 'xij', '新疆维吾尔自治区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (90, 0, 0, '港澳台', '~0', '~0', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (91, 0, 0, '海外', '~1', '~1', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1101, 11, 1, '北京', 'bei jing', 'bej', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 15:06:10'), + (1201, 12, 1, '天津', 'tian jin', 'tij', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1301, 13, 1, '石家庄', 'shi jia zhuang', 'shjz', '石家庄市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1302, 13, 1, '唐山', 'tang shan', 'tas', '唐山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1303, 13, 1, '秦皇岛', 'qin huang dao', 'qihd', '秦皇岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1304, 13, 1, '邯郸', 'han dan', 'had', '邯郸市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1305, 13, 1, '邢台', 'xing tai', 'xit', '邢台市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1306, 13, 1, '保定', 'bao ding', 'bad', '保定市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1307, 13, 1, '张家口', 'zhang jia kou', 'zhjk', '张家口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1308, 13, 1, '承德', 'cheng de', 'chd', '承德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1309, 13, 1, '沧州', 'cang zhou', 'caz', '沧州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1310, 13, 1, '廊坊', 'lang fang', 'laf', '廊坊市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1311, 13, 1, '衡水', 'heng shui', 'hes', '衡水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1401, 14, 1, '太原', 'tai yuan', 'tay', '太原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1402, 14, 1, '大同', 'da tong', 'dat', '大同市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1403, 14, 1, '阳泉', 'yang quan', 'yaq', '阳泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1404, 14, 1, '长治', 'chang zhi', 'chz', '长治市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1405, 14, 1, '晋城', 'jin cheng', 'jic', '晋城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1406, 14, 1, '朔州', 'shuo zhou', 'shz', '朔州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1407, 14, 1, '晋中', 'jin zhong', 'jiz', '晋中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1408, 14, 1, '运城', 'yun cheng', 'yuc', '运城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1409, 14, 1, '忻州', 'xin zhou', 'xiz', '忻州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1410, 14, 1, '临汾', 'lin fen', 'lif', '临汾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1411, 14, 1, '吕梁', 'lv liang', 'lvl', '吕梁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1501, 15, 1, '呼和浩特', 'hu he hao te', 'huhh', '呼和浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1502, 15, 1, '包头', 'bao tou', 'bat', '包头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1503, 15, 1, '乌海', 'wu hai', 'wuh', '乌海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1504, 15, 1, '赤峰', 'chi feng', 'chf', '赤峰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1505, 15, 1, '通辽', 'tong liao', 'tol', '通辽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1506, 15, 1, '鄂尔多斯', 'e er duo si', 'eed', '鄂尔多斯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1507, 15, 1, '呼伦贝尔', 'hu lun bei er', 'hulb', '呼伦贝尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1508, 15, 1, '巴彦淖尔', 'ba yan nao er', 'bayn', '巴彦淖尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1509, 15, 1, '乌兰察布', 'wu lan cha bu', 'wulc', '乌兰察布市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1522, 15, 1, '兴安盟', 'xing an meng', 'xiam', '兴安盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1525, 15, 1, '锡林郭勒盟', 'xi lin guo le meng', 'xilg', '锡林郭勒盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (1529, 15, 1, '阿拉善盟', 'a la shan meng', 'als', '阿拉善盟', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2101, 21, 1, '沈阳', 'shen yang', 'shy', '沈阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2102, 21, 1, '大连', 'da lian', 'dal', '大连市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2103, 21, 1, '鞍山', 'an shan', 'ans', '鞍山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2104, 21, 1, '抚顺', 'fu shun', 'fus', '抚顺市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2105, 21, 1, '本溪', 'ben xi', 'bex', '本溪市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2106, 21, 1, '丹东', 'dan dong', 'dad', '丹东市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2107, 21, 1, '锦州', 'jin zhou', 'jiz', '锦州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2108, 21, 1, '营口', 'ying kou', 'yik', '营口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2109, 21, 1, '阜新', 'fu xin', 'fux', '阜新市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2110, 21, 1, '辽阳', 'liao yang', 'liy', '辽阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2111, 21, 1, '盘锦', 'pan jin', 'paj', '盘锦市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2112, 21, 1, '铁岭', 'tie ling', 'til', '铁岭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2113, 21, 1, '朝阳', 'chao yang', 'chy', '朝阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2114, 21, 1, '葫芦岛', 'hu lu dao', 'huld', '葫芦岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2201, 22, 1, '长春', 'chang chun', 'chc', '长春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2202, 22, 1, '吉林', 'ji lin', 'jil', '吉林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2203, 22, 1, '四平', 'si ping', 'sip', '四平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2204, 22, 1, '辽源', 'liao yuan', 'liy', '辽源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2205, 22, 1, '通化', 'tong hua', 'toh', '通化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2206, 22, 1, '白山', 'bai shan', 'bas', '白山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2207, 22, 1, '松原', 'song yuan', 'soy', '松原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2208, 22, 1, '白城', 'bai cheng', 'bac', '白城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2224, 22, 1, '延边朝鲜族自治州', 'yan bian chao xian zu zi zhi zhou', 'yabc', '延边朝鲜族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2301, 23, 1, '哈尔滨', 'ha er bin', 'haeb', '哈尔滨市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2302, 23, 1, '齐齐哈尔', 'qi qi ha er', 'qiqh', '齐齐哈尔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2303, 23, 1, '鸡西', 'ji xi', 'jix', '鸡西市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2304, 23, 1, '鹤岗', 'he gang', 'heg', '鹤岗市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2305, 23, 1, '双鸭山', 'shuang ya shan', 'shys', '双鸭山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2306, 23, 1, '大庆', 'da qing', 'daq', '大庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2307, 23, 1, '伊春', 'yi chun', 'yic', '伊春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2308, 23, 1, '佳木斯', 'jia mu si', 'jims', '佳木斯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2309, 23, 1, '七台河', 'qi tai he', 'qith', '七台河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2310, 23, 1, '牡丹江', 'mu dan jiang', 'mudj', '牡丹江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2311, 23, 1, '黑河', 'hei he', 'heh', '黑河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2312, 23, 1, '绥化', 'sui hua', 'suh', '绥化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (2327, 23, 1, '大兴安岭地区', 'da xing an ling di qu', 'daxa', '大兴安岭地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3101, 31, 1, '上海', 'shang hai', 'shh', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3201, 32, 1, '南京', 'nan jing', 'naj', '南京市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3202, 32, 1, '无锡', 'wu xi', 'wux', '无锡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3203, 32, 1, '徐州', 'xu zhou', 'xuz', '徐州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3204, 32, 1, '常州', 'chang zhou', 'chz', '常州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3205, 32, 1, '苏州', 'su zhou', 'suz', '苏州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3206, 32, 1, '南通', 'nan tong', 'nat', '南通市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3207, 32, 1, '连云港', 'lian yun gang', 'liyg', '连云港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3208, 32, 1, '淮安', 'huai an', 'hua', '淮安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3209, 32, 1, '盐城', 'yan cheng', 'yac', '盐城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3210, 32, 1, '扬州', 'yang zhou', 'yaz', '扬州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3211, 32, 1, '镇江', 'zhen jiang', 'zhj', '镇江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3212, 32, 1, '泰州', 'tai zhou', 'taz', '泰州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3213, 32, 1, '宿迁', 'su qian', 'suq', '宿迁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3301, 33, 1, '杭州', 'hang zhou', 'haz', '杭州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3302, 33, 1, '宁波', 'ning bo', 'nib', '宁波市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3303, 33, 1, '温州', 'wen zhou', 'wez', '温州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3304, 33, 1, '嘉兴', 'jia xing', 'jix', '嘉兴市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3305, 33, 1, '湖州', 'hu zhou', 'huz', '湖州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3306, 33, 1, '绍兴', 'shao xing', 'shx', '绍兴市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3307, 33, 1, '金华', 'jin hua', 'jih', '金华市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3308, 33, 1, '衢州', 'qu zhou', 'quz', '衢州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3309, 33, 1, '舟山', 'zhou shan', 'zhs', '舟山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3310, 33, 1, '台州', 'tai zhou', 'taz', '台州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3311, 33, 1, '丽水', 'li shui', 'lis', '丽水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3401, 34, 1, '合肥', 'he fei', 'hef', '合肥市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3402, 34, 1, '芜湖', 'wu hu', 'wuh', '芜湖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3403, 34, 1, '蚌埠', 'beng bu', 'beb', '蚌埠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3404, 34, 1, '淮南', 'huai nan', 'hun', '淮南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3405, 34, 1, '马鞍山', 'ma an shan', 'maas', '马鞍山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3406, 34, 1, '淮北', 'huai bei', 'hub', '淮北市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3407, 34, 1, '铜陵', 'tong ling', 'tol', '铜陵市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3408, 34, 1, '安庆', 'an qing', 'anq', '安庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3410, 34, 1, '黄山', 'huang shan', 'hus', '黄山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3411, 34, 1, '滁州', 'chu zhou', 'chz', '滁州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3412, 34, 1, '阜阳', 'fu yang', 'fuy', '阜阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3413, 34, 1, '宿州', 'su zhou', 'suz', '宿州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3415, 34, 1, '六安', 'lu an', 'lua', '六安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3416, 34, 1, '亳州', 'bo zhou', 'boz', '亳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3417, 34, 1, '池州', 'chi zhou', 'chz', '池州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3418, 34, 1, '宣城', 'xuan cheng', 'xuc', '宣城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3501, 35, 1, '福州', 'fu zhou', 'fuz', '福州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3502, 35, 1, '厦门', 'xia men', 'xim', '厦门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3503, 35, 1, '莆田', 'pu tian', 'put', '莆田市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3504, 35, 1, '三明', 'san ming', 'sam', '三明市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3505, 35, 1, '泉州', 'quan zhou', 'quz', '泉州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3506, 35, 1, '漳州', 'zhang zhou', 'zhz', '漳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3507, 35, 1, '南平', 'nan ping', 'nap', '南平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3508, 35, 1, '龙岩', 'long yan', 'loy', '龙岩市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3509, 35, 1, '宁德', 'ning de', 'nid', '宁德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3601, 36, 1, '南昌', 'nan chang', 'nac', '南昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3602, 36, 1, '景德镇', 'jing de zhen', 'jidz', '景德镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3603, 36, 1, '萍乡', 'ping xiang', 'pix', '萍乡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3604, 36, 1, '九江', 'jiu jiang', 'jij', '九江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3605, 36, 1, '新余', 'xin yu', 'xiy', '新余市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3606, 36, 1, '鹰潭', 'ying tan', 'yit', '鹰潭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3607, 36, 1, '赣州', 'gan zhou', 'gaz', '赣州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3608, 36, 1, '吉安', 'ji an', 'jia', '吉安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3609, 36, 1, '宜春', 'yi chun', 'yic', '宜春市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3610, 36, 1, '抚州', 'fu zhou', 'fuz', '抚州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3611, 36, 1, '上饶', 'shang rao', 'shr', '上饶市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3701, 37, 1, '济南', 'ji nan', 'jin', '济南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3702, 37, 1, '青岛', 'qing dao', 'qid', '青岛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3703, 37, 1, '淄博', 'zi bo', 'zib', '淄博市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3704, 37, 1, '枣庄', 'zao zhuang', 'zaz', '枣庄市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3705, 37, 1, '东营', 'dong ying', 'doy', '东营市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3706, 37, 1, '烟台', 'yan tai', 'yat', '烟台市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3707, 37, 1, '潍坊', 'wei fang', 'wef', '潍坊市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3708, 37, 1, '济宁', 'ji ning', 'jin', '济宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3709, 37, 1, '泰安', 'tai an', 'taa', '泰安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3710, 37, 1, '威海', 'wei hai', 'weh', '威海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3711, 37, 1, '日照', 'ri zhao', 'riz', '日照市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3712, 37, 1, '莱芜', 'lai wu', 'law', '莱芜市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3713, 37, 1, '临沂', 'lin yi', 'liy', '临沂市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3714, 37, 1, '德州', 'de zhou', 'dez', '德州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3715, 37, 1, '聊城', 'liao cheng', 'lic', '聊城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3716, 37, 1, '滨州', 'bin zhou', 'biz', '滨州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (3717, 37, 1, '菏泽', 'he ze', 'hez', '菏泽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4101, 41, 1, '郑州', 'zheng zhou', 'zhz', '郑州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4102, 41, 1, '开封', 'kai feng', 'kaf', '开封市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4103, 41, 1, '洛阳', 'luo yang', 'luy', '洛阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4104, 41, 1, '平顶山', 'ping ding shan', 'pids', '平顶山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4105, 41, 1, '安阳', 'an yang', 'any', '安阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4106, 41, 1, '鹤壁', 'he bi', 'heb', '鹤壁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4107, 41, 1, '新乡', 'xin xiang', 'xix', '新乡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4108, 41, 1, '焦作', 'jiao zuo', 'jiz', '焦作市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4109, 41, 1, '濮阳', 'pu yang', 'puy', '濮阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4110, 41, 1, '许昌', 'xu chang', 'xuc', '许昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4111, 41, 1, '漯河', 'luo he', 'luh', '漯河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4112, 41, 1, '三门峡', 'san men xia', 'samx', '三门峡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4113, 41, 1, '南阳', 'nan yang', 'nay', '南阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4114, 41, 1, '商丘', 'shang qiu', 'shq', '商丘市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4115, 41, 1, '信阳', 'xin yang', 'xiy', '信阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4116, 41, 1, '周口', 'zhou kou', 'zhk', '周口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4117, 41, 1, '驻马店', 'zhu ma dian', 'zhmd', '驻马店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4190, 41, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4201, 42, 1, '武汉', 'wu han', 'wuh', '武汉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4202, 42, 1, '黄石', 'huang shi', 'hus', '黄石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4203, 42, 1, '十堰', 'shi yan', 'shy', '十堰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4205, 42, 1, '宜昌', 'yi chang', 'yic', '宜昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4206, 42, 1, '襄阳', 'xiang yang', 'xiy', '襄阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4207, 42, 1, '鄂州', 'e zhou', 'ez', '鄂州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4208, 42, 1, '荆门', 'jing men', 'jim', '荆门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4209, 42, 1, '孝感', 'xiao gan', 'xig', '孝感市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4210, 42, 1, '荆州', 'jing zhou', 'jiz', '荆州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4211, 42, 1, '黄冈', 'huang gang', 'hug', '黄冈市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4212, 42, 1, '咸宁', 'xian ning', 'xin', '咸宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4213, 42, 1, '随州', 'sui zhou', 'suz', '随州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4228, 42, 1, '恩施土家族苗族自治州', 'en shi tu jia zu miao zu zi zhi zhou', 'enst', '恩施土家族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4290, 42, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4301, 43, 1, '长沙', 'chang sha', 'chs', '长沙市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4302, 43, 1, '株洲', 'zhu zhou', 'zhz', '株洲市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4303, 43, 1, '湘潭', 'xiang tan', 'xit', '湘潭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4304, 43, 1, '衡阳', 'heng yang', 'hey', '衡阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4305, 43, 1, '邵阳', 'shao yang', 'shy', '邵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4306, 43, 1, '岳阳', 'yue yang', 'yuy', '岳阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4307, 43, 1, '常德', 'chang de', 'chd', '常德市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4308, 43, 1, '张家界', 'zhang jia jie', 'zhjj', '张家界市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4309, 43, 1, '益阳', 'yi yang', 'yiy', '益阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4310, 43, 1, '郴州', 'chen zhou', 'chz', '郴州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4311, 43, 1, '永州', 'yong zhou', 'yoz', '永州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4312, 43, 1, '怀化', 'huai hua', 'huh', '怀化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4313, 43, 1, '娄底', 'lou di', 'lod', '娄底市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4331, 43, 1, '湘西土家族苗族自治州', 'xiang xi tu jia zu miao zu zi zhi zhou', 'xixt', '湘西土家族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4401, 44, 1, '广州', 'guang zhou', 'guz', '广州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4402, 44, 1, '韶关', 'shao guan', 'shg', '韶关市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4403, 44, 1, '深圳', 'shen zhen', 'shz', '深圳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4404, 44, 1, '珠海', 'zhu hai', 'zhh', '珠海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4405, 44, 1, '汕头', 'shan tou', 'sht', '汕头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4406, 44, 1, '佛山', 'fo shan', 'fos', '佛山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4407, 44, 1, '江门', 'jiang men', 'jim', '江门市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4408, 44, 1, '湛江', 'zhan jiang', 'zhj', '湛江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4409, 44, 1, '茂名', 'mao ming', 'mam', '茂名市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4412, 44, 1, '肇庆', 'zhao qing', 'zhq', '肇庆市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4413, 44, 1, '惠州', 'hui zhou', 'huz', '惠州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4414, 44, 1, '梅州', 'mei zhou', 'mez', '梅州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4415, 44, 1, '汕尾', 'shan wei', 'shw', '汕尾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4416, 44, 1, '河源', 'he yuan', 'hey', '河源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4417, 44, 1, '阳江', 'yang jiang', 'yaj', '阳江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4418, 44, 1, '清远', 'qing yuan', 'qiy', '清远市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4419, 44, 1, '东莞', 'dong guan', 'dog', '东莞市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4420, 44, 1, '中山', 'zhong shan', 'zhs', '中山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4451, 44, 1, '潮州', 'chao zhou', 'chz', '潮州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4452, 44, 1, '揭阳', 'jie yang', 'jiy', '揭阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4453, 44, 1, '云浮', 'yun fu', 'yuf', '云浮市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4501, 45, 1, '南宁', 'nan ning', 'nan', '南宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4502, 45, 1, '柳州', 'liu zhou', 'liz', '柳州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4503, 45, 1, '桂林', 'gui lin', 'gul', '桂林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4504, 45, 1, '梧州', 'wu zhou', 'wuz', '梧州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4505, 45, 1, '北海', 'bei hai', 'beh', '北海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4506, 45, 1, '防城港', 'fang cheng gang', 'facg', '防城港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4507, 45, 1, '钦州', 'qin zhou', 'qiz', '钦州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4508, 45, 1, '贵港', 'gui gang', 'gug', '贵港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4509, 45, 1, '玉林', 'yu lin', 'yul', '玉林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4510, 45, 1, '百色', 'bai se', 'bas', '百色市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4511, 45, 1, '贺州', 'he zhou', 'hez', '贺州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4512, 45, 1, '河池', 'he chi', 'hec', '河池市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4513, 45, 1, '来宾', 'lai bin', 'lab', '来宾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4514, 45, 1, '崇左', 'chong zuo', 'chz', '崇左市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4601, 46, 1, '海口', 'hai kou', 'hak', '海口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4602, 46, 1, '三亚', 'san ya', 'say', '三亚市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4603, 46, 1, '三沙', 'san sha', 'sas', '三沙市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4604, 46, 1, '儋州', 'dan zhou', 'daz', '儋州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (4690, 46, 1, '直辖市', 'zhi xia shi', 'zhxs', '省直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5001, 50, 1, '重庆', 'chong qing', 'chq', '市辖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5002, 50, 1, '县', 'xian', 'xi', '县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5101, 51, 1, '成都', 'cheng du', 'chd', '成都市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5103, 51, 1, '自贡', 'zi gong', 'zig', '自贡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5104, 51, 1, '攀枝花', 'pan zhi hua', 'pazh', '攀枝花市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5105, 51, 1, '泸州', 'lu zhou', 'luz', '泸州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5106, 51, 1, '德阳', 'de yang', 'dey', '德阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5107, 51, 1, '绵阳', 'mian yang', 'miy', '绵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5108, 51, 1, '广元', 'guang yuan', 'guy', '广元市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5109, 51, 1, '遂宁', 'sui ning', 'sun', '遂宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5110, 51, 1, '内江', 'nei jiang', 'nej', '内江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5111, 51, 1, '乐山', 'le shan', 'les', '乐山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5113, 51, 1, '南充', 'nan chong', 'nac', '南充市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5114, 51, 1, '眉山', 'mei shan', 'mes', '眉山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5115, 51, 1, '宜宾', 'yi bin', 'yib', '宜宾市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5116, 51, 1, '广安', 'guang an', 'gua', '广安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5117, 51, 1, '达州', 'da zhou', 'daz', '达州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5118, 51, 1, '雅安', 'ya an', 'yaa', '雅安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5119, 51, 1, '巴中', 'ba zhong', 'baz', '巴中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5120, 51, 1, '资阳', 'zi yang', 'ziy', '资阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5132, 51, 1, '阿坝藏族羌族自治州', 'a ba zang zu qiang zu zi zhi zhou', 'abz', '阿坝藏族羌族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5133, 51, 1, '甘孜藏族自治州', 'gan zi zang zu zi zhi zhou', 'gazz', '甘孜藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5134, 51, 1, '凉山彝族自治州', 'liang shan yi zu zi zhi zhou', 'lisy', '凉山彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5201, 52, 1, '贵阳', 'gui yang', 'guy', '贵阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5202, 52, 1, '六盘水', 'liu pan shui', 'lips', '六盘水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5203, 52, 1, '遵义', 'zun yi', 'zuy', '遵义市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5204, 52, 1, '安顺', 'an shun', 'ans', '安顺市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5205, 52, 1, '毕节', 'bi jie', 'bij', '毕节市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5206, 52, 1, '铜仁', 'tong ren', 'tor', '铜仁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5223, 52, 1, '黔西南布依族苗族自治州', 'qian xi nan bu yi zu miao zu zi zhi zhou', 'qixn', '黔西南布依族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5226, 52, 1, '黔东南苗族侗族自治州', 'qian dong nan miao zu dong zu zi zhi zhou', 'qidn', '黔东南苗族侗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5227, 52, 1, '黔南布依族苗族自治州', 'qian nan bu yi zu miao zu zi zhi zhou', 'qinb', '黔南布依族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5301, 53, 1, '昆明', 'kun ming', 'kum', '昆明市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5303, 53, 1, '曲靖', 'qu jing', 'quj', '曲靖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5304, 53, 1, '玉溪', 'yu xi', 'yux', '玉溪市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5305, 53, 1, '保山', 'bao shan', 'bas', '保山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5306, 53, 1, '昭通', 'zhao tong', 'zht', '昭通市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5307, 53, 1, '丽江', 'li jiang', 'lij', '丽江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5308, 53, 1, '普洱', 'pu er', 'pue', '普洱市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5309, 53, 1, '临沧', 'lin cang', 'lic', '临沧市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5323, 53, 1, '楚雄彝族自治州', 'chu xiong yi zu zi zhi zhou', 'chxy', '楚雄彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5325, 53, 1, '红河哈尼族彝族自治州', 'hong he ha ni zu yi zu zi zhi zhou', 'hohh', '红河哈尼族彝族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5326, 53, 1, '文山壮族苗族自治州', 'wen shan zhuang zu miao zu zi zhi zhou', 'wesz', '文山壮族苗族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5328, 53, 1, '西双版纳傣族自治州', 'xi shuang ban na dai zu zi zhi zhou', 'xisb', '西双版纳傣族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5329, 53, 1, '大理白族自治州', 'da li bai zu zi zhi zhou', 'dalb', '大理白族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5331, 53, 1, '德宏傣族景颇族自治州', 'de hong dai zu jing po zu zi zhi zhou', 'dehd', '德宏傣族景颇族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5333, 53, 1, '怒江傈僳族自治州', 'nu jiang li su zu zi zhi zhou', 'nujl', '怒江傈僳族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5334, 53, 1, '迪庆藏族自治州', 'di qing zang zu zi zhi zhou', 'diqz', '迪庆藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5401, 54, 1, '拉萨', 'la sa', 'las', '拉萨市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5402, 54, 1, '日喀则', 'ri ka ze', 'rikz', '日喀则市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5403, 54, 1, '昌都', 'chang du', 'chd', '昌都市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5404, 54, 1, '林芝', 'lin zhi', 'liz', '林芝市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5405, 54, 1, '山南', 'shan nan', 'shn', '山南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5424, 54, 1, '那曲地区', 'na qu di qu', 'naqd', '那曲地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (5425, 54, 1, '阿里地区', 'a li di qu', 'ald', '阿里地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6101, 61, 1, '西安', 'xi an', 'xia', '西安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6102, 61, 1, '铜川', 'tong chuan', 'toc', '铜川市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6103, 61, 1, '宝鸡', 'bao ji', 'baj', '宝鸡市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6104, 61, 1, '咸阳', 'xian yang', 'xiy', '咸阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6105, 61, 1, '渭南', 'wei nan', 'wen', '渭南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6106, 61, 1, '延安', 'yan an', 'yaa', '延安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6107, 61, 1, '汉中', 'han zhong', 'haz', '汉中市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6108, 61, 1, '榆林', 'yu lin', 'yul', '榆林市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6109, 61, 1, '安康', 'an kang', 'ank', '安康市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6110, 61, 1, '商洛', 'shang luo', 'shl', '商洛市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6201, 62, 1, '兰州', 'lan zhou', 'laz', '兰州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6202, 62, 1, '嘉峪关', 'jia yu guan', 'jiyg', '嘉峪关市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6203, 62, 1, '金昌', 'jin chang', 'jic', '金昌市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6204, 62, 1, '白银', 'bai yin', 'bay', '白银市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6205, 62, 1, '天水', 'tian shui', 'tis', '天水市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6206, 62, 1, '武威', 'wu wei', 'wuw', '武威市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6207, 62, 1, '张掖', 'zhang ye', 'zhy', '张掖市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6208, 62, 1, '平凉', 'ping liang', 'pil', '平凉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6209, 62, 1, '酒泉', 'jiu quan', 'jiq', '酒泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6210, 62, 1, '庆阳', 'qing yang', 'qiy', '庆阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6211, 62, 1, '定西', 'ding xi', 'dix', '定西市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6212, 62, 1, '陇南', 'long nan', 'lon', '陇南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6229, 62, 1, '临夏回族自治州', 'lin xia hui zu zi zhi zhou', 'lixh', '临夏回族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6230, 62, 1, '甘南藏族自治州', 'gan nan zang zu zi zhi zhou', 'ganz', '甘南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6301, 63, 1, '西宁', 'xi ning', 'xin', '西宁市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6302, 63, 1, '海东', 'hai dong', 'had', '海东市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6322, 63, 1, '海北藏族自治州', 'hai bei zang zu zi zhi zhou', 'habz', '海北藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6323, 63, 1, '黄南藏族自治州', 'huang nan zang zu zi zhi zhou', 'hunz', '黄南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6325, 63, 1, '海南藏族自治州', 'hai nan zang zu zi zhi zhou', 'hanz', '海南藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6326, 63, 1, '果洛藏族自治州', 'guo luo zang zu zi zhi zhou', 'gulz', '果洛藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6327, 63, 1, '玉树藏族自治州', 'yu shu zang zu zi zhi zhou', 'yusz', '玉树藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6328, 63, 1, '海西蒙古族藏族自治州', 'hai xi meng gu zu zang zu zi zhi zhou', 'haxm', '海西蒙古族藏族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6401, 64, 1, '银川', 'yin chuan', 'yic', '银川市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6402, 64, 1, '石嘴山', 'shi zui shan', 'shzs', '石嘴山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6403, 64, 1, '吴忠', 'wu zhong', 'wuz', '吴忠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6404, 64, 1, '固原', 'gu yuan', 'guy', '固原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6405, 64, 1, '中卫', 'zhong wei', 'zhw', '中卫市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6501, 65, 1, '乌鲁木齐', 'wu lu mu qi', 'wulm', '乌鲁木齐市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6502, 65, 1, '克拉玛依', 'ke la ma yi', 'kelm', '克拉玛依市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6504, 65, 1, '吐鲁番', 'tu lu fan', 'tulf', '吐鲁番市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6505, 65, 1, '哈密', 'ha mi', 'ham', '哈密市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6523, 65, 1, '昌吉回族自治州', 'chang ji hui zu zi zhi zhou', 'chjh', '昌吉回族自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6527, 65, 1, '博尔塔拉蒙古自治州', 'bo er ta la meng gu zi zhi zhou', 'boet', '博尔塔拉蒙古自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6528, 65, 1, '巴音郭楞蒙古自治州', 'ba yin guo leng meng gu zi zhi zhou', 'bayg', '巴音郭楞蒙古自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6529, 65, 1, '阿克苏地区', 'a ke su di qu', 'aks', '阿克苏地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6530, 65, 1, '克孜勒苏柯尔克孜自治州', 'ke zi le su ke er ke zi zi zhi zhou', 'kezl', '克孜勒苏柯尔克孜自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6531, 65, 1, '喀什地区', 'ka shi di qu', 'kasd', '喀什地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6532, 65, 1, '和田地区', 'he tian di qu', 'hetd', '和田地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6540, 65, 1, '伊犁哈萨克自治州', 'yi li ha sa ke zi zhi zhou', 'yilh', '伊犁哈萨克自治州', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6542, 65, 1, '塔城地区', 'ta cheng di qu', 'tacd', '塔城地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6543, 65, 1, '阿勒泰地区', 'a le tai di qu', 'alt', '阿勒泰地区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (6590, 65, 1, '直辖市', 'zhi xia shi', 'zhxs', '自治区直辖县级行政区划', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9001, 90, 1, '香港', 'xiang gang', 'xig', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9002, 90, 1, '澳门', 'ao men', 'aom', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9003, 90, 1, '台湾', 'tai wan', 'taw', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (9101, 91, 1, '海外', 'hai wai', 'haw', '', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110101, 1101, 2, '东城', 'dong cheng', 'doc', '东城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110102, 1101, 2, '西城', 'xi cheng', 'xic', '西城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110105, 1101, 2, '朝阳', 'chao yang', 'chy', '朝阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110106, 1101, 2, '丰台', 'feng tai', 'fet', '丰台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110107, 1101, 2, '石景山', 'shi jing shan', 'shjs', '石景山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110108, 1101, 2, '海淀', 'hai dian', 'had', '海淀区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110109, 1101, 2, '门头沟', 'men tou gou', 'metg', '门头沟区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110111, 1101, 2, '房山', 'fang shan', 'fas', '房山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110112, 1101, 2, '通州', 'tong zhou', 'toz', '通州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110113, 1101, 2, '顺义', 'shun yi', 'shy', '顺义区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110114, 1101, 2, '昌平', 'chang ping', 'chp', '昌平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110115, 1101, 2, '大兴', 'da xing', 'dax', '大兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110116, 1101, 2, '怀柔', 'huai rou', 'hur', '怀柔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110117, 1101, 2, '平谷', 'ping gu', 'pig', '平谷区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110118, 1101, 2, '密云', 'mi yun', 'miy', '密云区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (110119, 1101, 2, '延庆', 'yan qing', 'yaq', '延庆区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120101, 1201, 2, '和平', 'he ping', 'hep', '和平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120102, 1201, 2, '河东', 'he dong', 'hed', '河东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120103, 1201, 2, '河西', 'he xi', 'hex', '河西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120104, 1201, 2, '南开', 'nan kai', 'nak', '南开区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120105, 1201, 2, '河北', 'he bei', 'heb', '河北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120106, 1201, 2, '红桥', 'hong qiao', 'hoq', '红桥区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120110, 1201, 2, '东丽', 'dong li', 'dol', '东丽区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120111, 1201, 2, '西青', 'xi qing', 'xiq', '西青区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120112, 1201, 2, '津南', 'jin nan', 'jin', '津南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120113, 1201, 2, '北辰', 'bei chen', 'bec', '北辰区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120114, 1201, 2, '武清', 'wu qing', 'wuq', '武清区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120115, 1201, 2, '宝坻', 'bao di', 'bad', '宝坻区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120116, 1201, 2, '滨海新区', 'bin hai xin qu', 'bihx', '滨海新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120117, 1201, 2, '宁河', 'ning he', 'nih', '宁河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120118, 1201, 2, '静海', 'jing hai', 'jih', '静海区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (120119, 1201, 2, '蓟州', 'ji zhou', 'jiz', '蓟州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130102, 1301, 2, '长安', 'chang an', 'cha', '长安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130104, 1301, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130105, 1301, 2, '新华', 'xin hua', 'xih', '新华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130107, 1301, 2, '井陉矿区', 'jing xing kuang qu', 'jixk', '井陉矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130108, 1301, 2, '裕华', 'yu hua', 'yuh', '裕华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130109, 1301, 2, '藁城', 'gao cheng', 'gac', '藁城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130110, 1301, 2, '鹿泉', 'lu quan', 'luq', '鹿泉区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130111, 1301, 2, '栾城', 'luan cheng', 'luc', '栾城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130121, 1301, 2, '井陉', 'jing xing', 'jix', '井陉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130123, 1301, 2, '正定', 'zheng ding', 'zhd', '正定县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130125, 1301, 2, '行唐', 'xing tang', 'xit', '行唐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130126, 1301, 2, '灵寿', 'ling shou', 'lis', '灵寿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130127, 1301, 2, '高邑', 'gao yi', 'gay', '高邑县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130128, 1301, 2, '深泽', 'shen ze', 'shz', '深泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130129, 1301, 2, '赞皇', 'zan huang', 'zah', '赞皇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130130, 1301, 2, '无极', 'wu ji', 'wuj', '无极县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130131, 1301, 2, '平山', 'ping shan', 'pis', '平山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130132, 1301, 2, '元氏', 'yuan shi', 'yus', '元氏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130133, 1301, 2, '赵县', 'zhao xian', 'zhx', '赵县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130171, 1301, 2, '石家庄高新技术产业开发区', 'shi jia zhuang gao xin ji shu chan ye kai fa qu', 'shjz', '石家庄高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130172, 1301, 2, '石家庄循环化工园', 'shi jia zhuang xun huan hua gong yuan', 'shjz', '石家庄循环化工园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130181, 1301, 2, '辛集', 'xin ji', 'xij', '辛集市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130183, 1301, 2, '晋州', 'jin zhou', 'jiz', '晋州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130184, 1301, 2, '新乐', 'xin le', 'xil', '新乐市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130202, 1302, 2, '路南', 'lu nan', 'lun', '路南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130203, 1302, 2, '路北', 'lu bei', 'lub', '路北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130204, 1302, 2, '古冶', 'gu ye', 'guy', '古冶区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130205, 1302, 2, '开平', 'kai ping', 'kap', '开平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130207, 1302, 2, '丰南', 'feng nan', 'fen', '丰南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130208, 1302, 2, '丰润', 'feng run', 'fer', '丰润区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130209, 1302, 2, '曹妃甸', 'cao fei dian', 'cafd', '曹妃甸区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130223, 1302, 2, '滦县', 'luan xian', 'lux', '滦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130224, 1302, 2, '滦南', 'luan nan', 'lun', '滦南县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130225, 1302, 2, '乐亭', 'le ting', 'let', '乐亭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130227, 1302, 2, '迁西', 'qian xi', 'qix', '迁西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130229, 1302, 2, '玉田', 'yu tian', 'yut', '玉田县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130271, 1302, 2, '唐山市芦台经济技术开发区', 'tang shan shi lu tai jing ji ji shu kai fa qu', 'tass', '唐山市芦台经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130272, 1302, 2, '唐山市汉沽管理区', 'tang shan shi han gu guan li qu', 'tass', '唐山市汉沽管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130273, 1302, 2, '唐山高新技术产业开发区', 'tang shan gao xin ji shu chan ye kai fa qu', 'tasg', '唐山高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130274, 1302, 2, '河北唐山海港经济开发区', 'he bei tang shan hai gang jing ji kai fa qu', 'hebt', '河北唐山海港经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130281, 1302, 2, '遵化', 'zun hua', 'zuh', '遵化市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130283, 1302, 2, '迁安', 'qian an', 'qia', '迁安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130302, 1303, 2, '海港', 'hai gang', 'hag', '海港区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130303, 1303, 2, '山海关', 'shan hai guan', 'shhg', '山海关区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130304, 1303, 2, '北戴河', 'bei dai he', 'bedh', '北戴河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130306, 1303, 2, '抚宁', 'fu ning', 'fun', '抚宁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130321, 1303, 2, '青龙满族自治县', 'qing long man zu zi zhi xian', 'qilm', '青龙满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130322, 1303, 2, '昌黎', 'chang li', 'chl', '昌黎县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130324, 1303, 2, '卢龙', 'lu long', 'lul', '卢龙县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130371, 1303, 2, '秦皇岛市经济技术开发区', 'qin huang dao shi jing ji ji shu kai fa qu', 'qihd', '秦皇岛市经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130372, 1303, 2, '北戴河新区', 'bei dai he xin qu', 'bedh', '北戴河新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130402, 1304, 2, '邯山', 'han shan', 'has', '邯山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130403, 1304, 2, '丛台', 'cong tai', 'cot', '丛台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130404, 1304, 2, '复兴', 'fu xing', 'fux', '复兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130406, 1304, 2, '峰峰矿区', 'feng feng kuang qu', 'fefk', '峰峰矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130407, 1304, 2, '肥乡', 'fei xiang', 'fex', '肥乡区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130408, 1304, 2, '永年', 'yong nian', 'yon', '永年区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130423, 1304, 2, '临漳', 'lin zhang', 'liz', '临漳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130424, 1304, 2, '成安', 'cheng an', 'cha', '成安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130425, 1304, 2, '大名', 'da ming', 'dam', '大名县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130426, 1304, 2, '涉县', 'she xian', 'shx', '涉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130427, 1304, 2, '磁县', 'ci xian', 'cix', '磁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130430, 1304, 2, '邱县', 'qiu xian', 'qix', '邱县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130431, 1304, 2, '鸡泽', 'ji ze', 'jiz', '鸡泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130432, 1304, 2, '广平', 'guang ping', 'gup', '广平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130433, 1304, 2, '馆陶', 'guan tao', 'gut', '馆陶县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130434, 1304, 2, '魏县', 'wei xian', 'wex', '魏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130435, 1304, 2, '曲周', 'qu zhou', 'quz', '曲周县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130471, 1304, 2, '邯郸经济技术开发区', 'han dan jing ji ji shu kai fa qu', 'hadj', '邯郸经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130473, 1304, 2, '邯郸冀南新区', 'han dan ji nan xin qu', 'hadj', '邯郸冀南新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130481, 1304, 2, '武安', 'wu an', 'wua', '武安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130502, 1305, 2, '桥东', 'qiao dong', 'qid', '桥东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130503, 1305, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130521, 1305, 2, '邢台', 'xing tai', 'xit', '邢台县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130522, 1305, 2, '临城', 'lin cheng', 'lic', '临城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130523, 1305, 2, '内丘', 'nei qiu', 'neq', '内丘县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130524, 1305, 2, '柏乡', 'bai xiang', 'bax', '柏乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130525, 1305, 2, '隆尧', 'long yao', 'loy', '隆尧县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130526, 1305, 2, '任县', 'ren xian', 'rex', '任县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130527, 1305, 2, '南和', 'nan he', 'nah', '南和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130528, 1305, 2, '宁晋', 'ning jin', 'nij', '宁晋县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130529, 1305, 2, '巨鹿', 'ju lu', 'jul', '巨鹿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130530, 1305, 2, '新河', 'xin he', 'xih', '新河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130531, 1305, 2, '广宗', 'guang zong', 'guz', '广宗县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130532, 1305, 2, '平乡', 'ping xiang', 'pix', '平乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130533, 1305, 2, '威县', 'wei xian', 'wex', '威县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130534, 1305, 2, '清河', 'qing he', 'qih', '清河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130535, 1305, 2, '临西', 'lin xi', 'lix', '临西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130571, 1305, 2, '河北邢台经济开发区', 'he bei xing tai jing ji kai fa qu', 'hebx', '河北邢台经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130581, 1305, 2, '南宫', 'nan gong', 'nag', '南宫市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130582, 1305, 2, '沙河', 'sha he', 'shh', '沙河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130602, 1306, 2, '竞秀', 'jing xiu', 'jix', '竞秀区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130606, 1306, 2, '莲池', 'lian chi', 'lic', '莲池区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130607, 1306, 2, '满城', 'man cheng', 'mac', '满城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130608, 1306, 2, '清苑', 'qing yuan', 'qiy', '清苑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130609, 1306, 2, '徐水', 'xu shui', 'xus', '徐水区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130623, 1306, 2, '涞水', 'lai shui', 'las', '涞水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130624, 1306, 2, '阜平', 'fu ping', 'fup', '阜平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130626, 1306, 2, '定兴', 'ding xing', 'dix', '定兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130627, 1306, 2, '唐县', 'tang xian', 'tax', '唐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130628, 1306, 2, '高阳', 'gao yang', 'gay', '高阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130629, 1306, 2, '容城', 'rong cheng', 'roc', '容城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130630, 1306, 2, '涞源', 'lai yuan', 'lay', '涞源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130631, 1306, 2, '望都', 'wang du', 'wad', '望都县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130632, 1306, 2, '安新', 'an xin', 'anx', '安新县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130633, 1306, 2, '易县', 'yi xian', 'yix', '易县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130634, 1306, 2, '曲阳', 'qu yang', 'quy', '曲阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130635, 1306, 2, '蠡县', 'li xian', 'lix', '蠡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130636, 1306, 2, '顺平', 'shun ping', 'shp', '顺平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130637, 1306, 2, '博野', 'bo ye', 'boy', '博野县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130638, 1306, 2, '雄县', 'xiong xian', 'xix', '雄县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130671, 1306, 2, '保定高新技术产业开发区', 'bao ding gao xin ji shu chan ye kai fa qu', 'badg', '保定高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130672, 1306, 2, '保定白沟新城', 'bao ding bai gou xin cheng', 'badb', '保定白沟新城', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130681, 1306, 2, '涿州', 'zhuo zhou', 'zhz', '涿州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130682, 1306, 2, '定州', 'ding zhou', 'diz', '定州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130683, 1306, 2, '安国', 'an guo', 'ang', '安国市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130684, 1306, 2, '高碑店', 'gao bei dian', 'gabd', '高碑店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130702, 1307, 2, '桥东', 'qiao dong', 'qid', '桥东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130703, 1307, 2, '桥西', 'qiao xi', 'qix', '桥西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130705, 1307, 2, '宣化', 'xuan hua', 'xuh', '宣化区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130706, 1307, 2, '下花园', 'xia hua yuan', 'xihy', '下花园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130708, 1307, 2, '万全', 'wan quan', 'waq', '万全区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130709, 1307, 2, '崇礼', 'chong li', 'chl', '崇礼区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130722, 1307, 2, '张北', 'zhang bei', 'zhb', '张北县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130723, 1307, 2, '康保', 'kang bao', 'kab', '康保县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130724, 1307, 2, '沽源', 'gu yuan', 'guy', '沽源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130725, 1307, 2, '尚义', 'shang yi', 'shy', '尚义县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130726, 1307, 2, '蔚县', 'yu xian', 'yux', '蔚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130727, 1307, 2, '阳原', 'yang yuan', 'yay', '阳原县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130728, 1307, 2, '怀安', 'huai an', 'hua', '怀安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130730, 1307, 2, '怀来', 'huai lai', 'hul', '怀来县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130731, 1307, 2, '涿鹿', 'zhuo lu', 'zhl', '涿鹿县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130732, 1307, 2, '赤城', 'chi cheng', 'chc', '赤城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130771, 1307, 2, '张家口市高新技术产业开发区', 'zhang jia kou shi gao xin ji shu chan ye kai fa qu', 'zhjk', '张家口市高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130772, 1307, 2, '张家口市察北管理区', 'zhang jia kou shi cha bei guan li qu', 'zhjk', '张家口市察北管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130773, 1307, 2, '张家口市塞北管理区', 'zhang jia kou shi sai bei guan li qu', 'zhjk', '张家口市塞北管理区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130802, 1308, 2, '双桥', 'shuang qiao', 'shq', '双桥区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130803, 1308, 2, '双滦', 'shuang luan', 'shl', '双滦区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130804, 1308, 2, '鹰手营子矿区', 'ying shou ying zi kuang qu', 'yisy', '鹰手营子矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130821, 1308, 2, '承德', 'cheng de', 'chd', '承德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130822, 1308, 2, '兴隆', 'xing long', 'xil', '兴隆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130824, 1308, 2, '滦平', 'luan ping', 'lup', '滦平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130825, 1308, 2, '隆化', 'long hua', 'loh', '隆化县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130826, 1308, 2, '丰宁满族自治县', 'feng ning man zu zi zhi xian', 'fenm', '丰宁满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130827, 1308, 2, '宽城满族自治县', 'kuan cheng man zu zi zhi xian', 'kucm', '宽城满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130828, 1308, 2, '围场满族蒙古族自治县', 'wei chang man zu meng gu zu zi zhi xian', 'wecm', '围场满族蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130871, 1308, 2, '承德高新技术产业开发区', 'cheng de gao xin ji shu chan ye kai fa qu', 'chdg', '承德高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130881, 1308, 2, '平泉', 'ping quan', 'piq', '平泉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130902, 1309, 2, '新华', 'xin hua', 'xih', '新华区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130903, 1309, 2, '运河', 'yun he', 'yuh', '运河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130921, 1309, 2, '沧县', 'cang xian', 'cax', '沧县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130922, 1309, 2, '青县', 'qing xian', 'qix', '青县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130923, 1309, 2, '东光', 'dong guang', 'dog', '东光县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130924, 1309, 2, '海兴', 'hai xing', 'hax', '海兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130925, 1309, 2, '盐山', 'yan shan', 'yas', '盐山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130926, 1309, 2, '肃宁', 'su ning', 'sun', '肃宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130927, 1309, 2, '南皮', 'nan pi', 'nap', '南皮县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130928, 1309, 2, '吴桥', 'wu qiao', 'wuq', '吴桥县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130929, 1309, 2, '献县', 'xian xian', 'xix', '献县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130930, 1309, 2, '孟村回族自治县', 'meng cun hui zu zi zhi xian', 'mech', '孟村回族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130971, 1309, 2, '河北沧州经济开发区', 'he bei cang zhou jing ji kai fa qu', 'hebc', '河北沧州经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130972, 1309, 2, '沧州高新技术产业开发区', 'cang zhou gao xin ji shu chan ye kai fa qu', 'cazg', '沧州高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130973, 1309, 2, '沧州渤海新区', 'cang zhou bo hai xin qu', 'cazb', '沧州渤海新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130981, 1309, 2, '泊头', 'bo tou', 'bot', '泊头市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130982, 1309, 2, '任丘', 'ren qiu', 'req', '任丘市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130983, 1309, 2, '黄骅', 'huang hua', 'huh', '黄骅市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (130984, 1309, 2, '河间', 'he jian', 'hej', '河间市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131002, 1310, 2, '安次', 'an ci', 'anc', '安次区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131003, 1310, 2, '广阳', 'guang yang', 'guy', '广阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131022, 1310, 2, '固安', 'gu an', 'gua', '固安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131023, 1310, 2, '永清', 'yong qing', 'yoq', '永清县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131024, 1310, 2, '香河', 'xiang he', 'xih', '香河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131025, 1310, 2, '大城', 'da cheng', 'dac', '大城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131026, 1310, 2, '文安', 'wen an', 'wea', '文安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131028, 1310, 2, '大厂回族自治县', 'da chang hui zu zi zhi xian', 'dach', '大厂回族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131071, 1310, 2, '廊坊经济技术开发区', 'lang fang jing ji ji shu kai fa qu', 'lafj', '廊坊经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131081, 1310, 2, '霸州', 'ba zhou', 'baz', '霸州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131082, 1310, 2, '三河', 'san he', 'sah', '三河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131102, 1311, 2, '桃城', 'tao cheng', 'tac', '桃城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131103, 1311, 2, '冀州', 'ji zhou', 'jiz', '冀州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131121, 1311, 2, '枣强', 'zao qiang', 'zaq', '枣强县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131122, 1311, 2, '武邑', 'wu yi', 'wuy', '武邑县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131123, 1311, 2, '武强', 'wu qiang', 'wuq', '武强县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131124, 1311, 2, '饶阳', 'rao yang', 'ray', '饶阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131125, 1311, 2, '安平', 'an ping', 'anp', '安平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131126, 1311, 2, '故城', 'gu cheng', 'guc', '故城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131127, 1311, 2, '景县', 'jing xian', 'jix', '景县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131128, 1311, 2, '阜城', 'fu cheng', 'fuc', '阜城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131171, 1311, 2, '河北衡水经济开发区', 'he bei heng shui jing ji kai fa qu', 'hebh', '河北衡水经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131172, 1311, 2, '衡水滨湖新区', 'heng shui bin hu xin qu', 'hesb', '衡水滨湖新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (131182, 1311, 2, '深州', 'shen zhou', 'shz', '深州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140105, 1401, 2, '小店', 'xiao dian', 'xid', '小店区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140106, 1401, 2, '迎泽', 'ying ze', 'yiz', '迎泽区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140107, 1401, 2, '杏花岭', 'xing hua ling', 'xihl', '杏花岭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140108, 1401, 2, '尖草坪', 'jian cao ping', 'jicp', '尖草坪区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140109, 1401, 2, '万柏林', 'wan bai lin', 'wabl', '万柏林区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140110, 1401, 2, '晋源', 'jin yuan', 'jiy', '晋源区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140121, 1401, 2, '清徐', 'qing xu', 'qix', '清徐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140122, 1401, 2, '阳曲', 'yang qu', 'yaq', '阳曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140123, 1401, 2, '娄烦', 'lou fan', 'lof', '娄烦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140171, 1401, 2, '山西转型综合改革示范区', 'shan xi zhuan xing zong he gai ge shi fan qu', 'shxz', '山西转型综合改革示范区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140181, 1401, 2, '古交', 'gu jiao', 'guj', '古交市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140202, 1402, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140203, 1402, 2, '矿区', 'kuang qu', 'kuq', '矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140211, 1402, 2, '南郊', 'nan jiao', 'naj', '南郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140212, 1402, 2, '新荣', 'xin rong', 'xir', '新荣区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140221, 1402, 2, '阳高', 'yang gao', 'yag', '阳高县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140222, 1402, 2, '天镇', 'tian zhen', 'tiz', '天镇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140223, 1402, 2, '广灵', 'guang ling', 'gul', '广灵县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140224, 1402, 2, '灵丘', 'ling qiu', 'liq', '灵丘县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140225, 1402, 2, '浑源', 'hun yuan', 'huy', '浑源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140226, 1402, 2, '左云', 'zuo yun', 'zuy', '左云县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140227, 1402, 2, '大同', 'da tong', 'dat', '大同县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140271, 1402, 2, '山西大同经济开发区', 'shan xi da tong jing ji kai fa qu', 'shxd', '山西大同经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140302, 1403, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140303, 1403, 2, '矿区', 'kuang qu', 'kuq', '矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140311, 1403, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140321, 1403, 2, '平定', 'ping ding', 'pid', '平定县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140322, 1403, 2, '盂县', 'yu xian', 'yux', '盂县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140371, 1403, 2, '山西阳泉经济开发区', 'shan xi yang quan jing ji kai fa qu', 'shxy', '山西阳泉经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140402, 1404, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140411, 1404, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140421, 1404, 2, '长治', 'chang zhi', 'chz', '长治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140423, 1404, 2, '襄垣', 'xiang yuan', 'xiy', '襄垣县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140424, 1404, 2, '屯留', 'tun liu', 'tul', '屯留县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140425, 1404, 2, '平顺', 'ping shun', 'pis', '平顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140426, 1404, 2, '黎城', 'li cheng', 'lic', '黎城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140427, 1404, 2, '壶关', 'hu guan', 'hug', '壶关县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140428, 1404, 2, '长子', 'zhang zi', 'zhz', '长子县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140429, 1404, 2, '武乡', 'wu xiang', 'wux', '武乡县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140430, 1404, 2, '沁县', 'qin xian', 'qix', '沁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140431, 1404, 2, '沁源', 'qin yuan', 'qiy', '沁源县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140471, 1404, 2, '山西长治高新技术产业园', 'shan xi chang zhi gao xin ji shu chan ye yuan', 'shxc', '山西长治高新技术产业园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140481, 1404, 2, '潞城', 'lu cheng', 'luc', '潞城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140502, 1405, 2, '城区', 'cheng qu', 'chq', '城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140521, 1405, 2, '沁水', 'qin shui', 'qis', '沁水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140522, 1405, 2, '阳城', 'yang cheng', 'yac', '阳城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140524, 1405, 2, '陵川', 'ling chuan', 'lic', '陵川县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140525, 1405, 2, '泽州', 'ze zhou', 'zez', '泽州县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140581, 1405, 2, '高平', 'gao ping', 'gap', '高平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140602, 1406, 2, '朔城', 'shuo cheng', 'shc', '朔城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140603, 1406, 2, '平鲁', 'ping lu', 'pil', '平鲁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140621, 1406, 2, '山阴', 'shan yin', 'shy', '山阴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140622, 1406, 2, '应县', 'ying xian', 'yix', '应县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140623, 1406, 2, '右玉', 'you yu', 'yoy', '右玉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140624, 1406, 2, '怀仁', 'huai ren', 'hur', '怀仁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140671, 1406, 2, '山西朔州经济开发区', 'shan xi shuo zhou jing ji kai fa qu', 'shxs', '山西朔州经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140702, 1407, 2, '榆次', 'yu ci', 'yuc', '榆次区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140721, 1407, 2, '榆社', 'yu she', 'yus', '榆社县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140722, 1407, 2, '左权', 'zuo quan', 'zuq', '左权县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140723, 1407, 2, '和顺', 'he shun', 'hes', '和顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140724, 1407, 2, '昔阳', 'xi yang', 'xiy', '昔阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140725, 1407, 2, '寿阳', 'shou yang', 'shy', '寿阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140726, 1407, 2, '太谷', 'tai gu', 'tag', '太谷县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140727, 1407, 2, '祁县', 'qi xian', 'qix', '祁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140728, 1407, 2, '平遥', 'ping yao', 'piy', '平遥县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140729, 1407, 2, '灵石', 'ling shi', 'lis', '灵石县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140781, 1407, 2, '介休', 'jie xiu', 'jix', '介休市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140802, 1408, 2, '盐湖', 'yan hu', 'yah', '盐湖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140821, 1408, 2, '临猗', 'lin yi', 'liy', '临猗县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140822, 1408, 2, '万荣', 'wan rong', 'war', '万荣县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140823, 1408, 2, '闻喜', 'wen xi', 'wex', '闻喜县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140824, 1408, 2, '稷山', 'ji shan', 'jis', '稷山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140825, 1408, 2, '新绛', 'xin jiang', 'xij', '新绛县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140826, 1408, 2, '绛县', 'jiang xian', 'jix', '绛县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140827, 1408, 2, '垣曲', 'yuan qu', 'yuq', '垣曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140828, 1408, 2, '夏县', 'xia xian', 'xix', '夏县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140829, 1408, 2, '平陆', 'ping lu', 'pil', '平陆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140830, 1408, 2, '芮城', 'rui cheng', 'ruc', '芮城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140881, 1408, 2, '永济', 'yong ji', 'yoj', '永济市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140882, 1408, 2, '河津', 'he jin', 'hej', '河津市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140902, 1409, 2, '忻府', 'xin fu', 'xif', '忻府区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140921, 1409, 2, '定襄', 'ding xiang', 'dix', '定襄县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140922, 1409, 2, '五台', 'wu tai', 'wut', '五台县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140923, 1409, 2, '代县', 'dai xian', 'dax', '代县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140924, 1409, 2, '繁峙', 'fan shi', 'fas', '繁峙县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140925, 1409, 2, '宁武', 'ning wu', 'niw', '宁武县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140926, 1409, 2, '静乐', 'jing le', 'jil', '静乐县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140927, 1409, 2, '神池', 'shen chi', 'shc', '神池县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140928, 1409, 2, '五寨', 'wu zhai', 'wuz', '五寨县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140929, 1409, 2, '岢岚', 'ke lan', 'kel', '岢岚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140930, 1409, 2, '河曲', 'he qu', 'heq', '河曲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140931, 1409, 2, '保德', 'bao de', 'bad', '保德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140932, 1409, 2, '偏关', 'pian guan', 'pig', '偏关县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140971, 1409, 2, '五台山风景名胜区', 'wu tai shan feng jing ming sheng qu', 'wuts', '五台山风景名胜区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (140981, 1409, 2, '原平', 'yuan ping', 'yup', '原平市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141002, 1410, 2, '尧都', 'yao du', 'yad', '尧都区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141021, 1410, 2, '曲沃', 'qu wo', 'quw', '曲沃县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141022, 1410, 2, '翼城', 'yi cheng', 'yic', '翼城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141023, 1410, 2, '襄汾', 'xiang fen', 'xif', '襄汾县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141024, 1410, 2, '洪洞', 'hong dong', 'hod', '洪洞县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141025, 1410, 2, '古县', 'gu xian', 'gux', '古县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141026, 1410, 2, '安泽', 'an ze', 'anz', '安泽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141027, 1410, 2, '浮山', 'fu shan', 'fus', '浮山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141028, 1410, 2, '吉县', 'ji xian', 'jix', '吉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141029, 1410, 2, '乡宁', 'xiang ning', 'xin', '乡宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141030, 1410, 2, '大宁', 'da ning', 'dan', '大宁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141031, 1410, 2, '隰县', 'xi xian', 'xix', '隰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141032, 1410, 2, '永和', 'yong he', 'yoh', '永和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141033, 1410, 2, '蒲县', 'pu xian', 'pux', '蒲县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141034, 1410, 2, '汾西', 'fen xi', 'fex', '汾西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141081, 1410, 2, '侯马', 'hou ma', 'hom', '侯马市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141082, 1410, 2, '霍州', 'huo zhou', 'huz', '霍州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141102, 1411, 2, '离石', 'li shi', 'lis', '离石区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141121, 1411, 2, '文水', 'wen shui', 'wes', '文水县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141122, 1411, 2, '交城', 'jiao cheng', 'jic', '交城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141123, 1411, 2, '兴县', 'xing xian', 'xix', '兴县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141124, 1411, 2, '临县', 'lin xian', 'lix', '临县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141125, 1411, 2, '柳林', 'liu lin', 'lil', '柳林县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141126, 1411, 2, '石楼', 'shi lou', 'shl', '石楼县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141127, 1411, 2, '岚县', 'lan xian', 'lax', '岚县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141128, 1411, 2, '方山', 'fang shan', 'fas', '方山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141129, 1411, 2, '中阳', 'zhong yang', 'zhy', '中阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141130, 1411, 2, '交口', 'jiao kou', 'jik', '交口县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141181, 1411, 2, '孝义', 'xiao yi', 'xiy', '孝义市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (141182, 1411, 2, '汾阳', 'fen yang', 'fey', '汾阳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150102, 1501, 2, '新城', 'xin cheng', 'xic', '新城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150103, 1501, 2, '回民', 'hui min', 'hum', '回民区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150104, 1501, 2, '玉泉', 'yu quan', 'yuq', '玉泉区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150105, 1501, 2, '赛罕', 'sai han', 'sah', '赛罕区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150121, 1501, 2, '土默特左旗', 'tu mo te zuo qi', 'tumt', '土默特左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150122, 1501, 2, '托克托', 'tuo ke tuo', 'tukt', '托克托县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150123, 1501, 2, '和林格尔', 'he lin ge er', 'helg', '和林格尔县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150124, 1501, 2, '清水河', 'qing shui he', 'qish', '清水河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150125, 1501, 2, '武川', 'wu chuan', 'wuc', '武川县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150171, 1501, 2, '呼和浩特金海工业园', 'hu he hao te jin hai gong ye yuan', 'huhh', '呼和浩特金海工业园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150172, 1501, 2, '呼和浩特经济技术开发区', 'hu he hao te jing ji ji shu kai fa qu', 'huhh', '呼和浩特经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150202, 1502, 2, '东河', 'dong he', 'doh', '东河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150203, 1502, 2, '昆都仑', 'kun du lun', 'kudl', '昆都仑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150204, 1502, 2, '青山', 'qing shan', 'qis', '青山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150205, 1502, 2, '石拐', 'shi guai', 'shg', '石拐区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150206, 1502, 2, '白云鄂博矿区', 'bai yun e bo kuang qu', 'baye', '白云鄂博矿区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150207, 1502, 2, '九原', 'jiu yuan', 'jiy', '九原区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150221, 1502, 2, '土默特右旗', 'tu mo te you qi', 'tumt', '土默特右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150222, 1502, 2, '固阳', 'gu yang', 'guy', '固阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150223, 1502, 2, '达尔罕茂明安联合旗', 'da er han mao ming an lian he qi', 'daeh', '达尔罕茂明安联合旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150271, 1502, 2, '包头稀土高新技术产业开发区', 'bao tou xi tu gao xin ji shu chan ye kai fa qu', 'batx', '包头稀土高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150302, 1503, 2, '海勃湾', 'hai bo wan', 'habw', '海勃湾区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150303, 1503, 2, '海南', 'hai nan', 'han', '海南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150304, 1503, 2, '乌达', 'wu da', 'wud', '乌达区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150402, 1504, 2, '红山', 'hong shan', 'hos', '红山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150403, 1504, 2, '元宝山', 'yuan bao shan', 'yubs', '元宝山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150404, 1504, 2, '松山', 'song shan', 'sos', '松山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150421, 1504, 2, '阿鲁科尔沁旗', 'a lu ke er qin qi', 'alk', '阿鲁科尔沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150422, 1504, 2, '巴林左旗', 'ba lin zuo qi', 'balz', '巴林左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150423, 1504, 2, '巴林右旗', 'ba lin you qi', 'baly', '巴林右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150424, 1504, 2, '林西', 'lin xi', 'lix', '林西县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150425, 1504, 2, '克什克腾旗', 'ke shi ke teng qi', 'kesk', '克什克腾旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150426, 1504, 2, '翁牛特旗', 'weng niu te qi', 'went', '翁牛特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150428, 1504, 2, '喀喇沁旗', 'ka la qin qi', 'kalq', '喀喇沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150429, 1504, 2, '宁城', 'ning cheng', 'nic', '宁城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150430, 1504, 2, '敖汉旗', 'ao han qi', 'aohq', '敖汉旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150502, 1505, 2, '科尔沁', 'ke er qin', 'keeq', '科尔沁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150521, 1505, 2, '科尔沁左翼中旗', 'ke er qin zuo yi zhong qi', 'keeq', '科尔沁左翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150522, 1505, 2, '科尔沁左翼后旗', 'ke er qin zuo yi hou qi', 'keeq', '科尔沁左翼后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150523, 1505, 2, '开鲁', 'kai lu', 'kal', '开鲁县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150524, 1505, 2, '库伦旗', 'ku lun qi', 'kulq', '库伦旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150525, 1505, 2, '奈曼旗', 'nai man qi', 'namq', '奈曼旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150526, 1505, 2, '扎鲁特旗', 'zha lu te qi', 'zhlt', '扎鲁特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150571, 1505, 2, '通辽经济技术开发区', 'tong liao jing ji ji shu kai fa qu', 'tolj', '通辽经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150581, 1505, 2, '霍林郭勒', 'huo lin guo le', 'hulg', '霍林郭勒市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150602, 1506, 2, '东胜', 'dong sheng', 'dos', '东胜区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150603, 1506, 2, '康巴什', 'kang ba shi', 'kabs', '康巴什区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150621, 1506, 2, '达拉特旗', 'da la te qi', 'dalt', '达拉特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150622, 1506, 2, '准格尔旗', 'zhun ge er qi', 'zhge', '准格尔旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150623, 1506, 2, '鄂托克前旗', 'e tuo ke qian qi', 'etk', '鄂托克前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150624, 1506, 2, '鄂托克旗', 'e tuo ke qi', 'etk', '鄂托克旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150625, 1506, 2, '杭锦旗', 'hang jin qi', 'hajq', '杭锦旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150626, 1506, 2, '乌审旗', 'wu shen qi', 'wusq', '乌审旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150627, 1506, 2, '伊金霍洛旗', 'yi jin huo luo qi', 'yijh', '伊金霍洛旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150702, 1507, 2, '海拉尔', 'hai la er', 'hale', '海拉尔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150703, 1507, 2, '扎赉诺尔', 'zha lai nuo er', 'zhln', '扎赉诺尔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150721, 1507, 2, '阿荣旗', 'a rong qi', 'arq', '阿荣旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150722, 1507, 2, '莫力达瓦达斡尔族自治旗', 'mo li da wa da wo er zu zi zhi qi', 'mold', '莫力达瓦达斡尔族自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150723, 1507, 2, '鄂伦春自治旗', 'e lun chun zi zhi qi', 'elc', '鄂伦春自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150724, 1507, 2, '鄂温克族自治旗', 'e wen ke zu zi zhi qi', 'ewk', '鄂温克族自治旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150725, 1507, 2, '陈巴尔虎旗', 'chen ba er hu qi', 'chbe', '陈巴尔虎旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150726, 1507, 2, '新巴尔虎左旗', 'xin ba er hu zuo qi', 'xibe', '新巴尔虎左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150727, 1507, 2, '新巴尔虎右旗', 'xin ba er hu you qi', 'xibe', '新巴尔虎右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150781, 1507, 2, '满洲里', 'man zhou li', 'mazl', '满洲里市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150782, 1507, 2, '牙克石', 'ya ke shi', 'yaks', '牙克石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150783, 1507, 2, '扎兰屯', 'zha lan tun', 'zhlt', '扎兰屯市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150784, 1507, 2, '额尔古纳', 'e er gu na', 'eeg', '额尔古纳市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150785, 1507, 2, '根河', 'gen he', 'geh', '根河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150802, 1508, 2, '临河', 'lin he', 'lih', '临河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150821, 1508, 2, '五原', 'wu yuan', 'wuy', '五原县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150822, 1508, 2, '磴口', 'deng kou', 'dek', '磴口县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150823, 1508, 2, '乌拉特前旗', 'wu la te qian qi', 'wult', '乌拉特前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150824, 1508, 2, '乌拉特中旗', 'wu la te zhong qi', 'wult', '乌拉特中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150825, 1508, 2, '乌拉特后旗', 'wu la te hou qi', 'wult', '乌拉特后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150826, 1508, 2, '杭锦后旗', 'hang jin hou qi', 'hajh', '杭锦后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150902, 1509, 2, '集宁', 'ji ning', 'jin', '集宁区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150921, 1509, 2, '卓资', 'zhuo zi', 'zhz', '卓资县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150922, 1509, 2, '化德', 'hua de', 'hud', '化德县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150923, 1509, 2, '商都', 'shang du', 'shd', '商都县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150924, 1509, 2, '兴和', 'xing he', 'xih', '兴和县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150925, 1509, 2, '凉城', 'liang cheng', 'lic', '凉城县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150926, 1509, 2, '察哈尔右翼前旗', 'cha ha er you yi qian qi', 'chhe', '察哈尔右翼前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150927, 1509, 2, '察哈尔右翼中旗', 'cha ha er you yi zhong qi', 'chhe', '察哈尔右翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150928, 1509, 2, '察哈尔右翼后旗', 'cha ha er you yi hou qi', 'chhe', '察哈尔右翼后旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150929, 1509, 2, '四子王旗', 'si zi wang qi', 'sizw', '四子王旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (150981, 1509, 2, '丰镇', 'feng zhen', 'fez', '丰镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152201, 1522, 2, '乌兰浩特', 'wu lan hao te', 'wulh', '乌兰浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152202, 1522, 2, '阿尔山', 'a er shan', 'aes', '阿尔山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152221, 1522, 2, '科尔沁右翼前旗', 'ke er qin you yi qian qi', 'keeq', '科尔沁右翼前旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152222, 1522, 2, '科尔沁右翼中旗', 'ke er qin you yi zhong qi', 'keeq', '科尔沁右翼中旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152223, 1522, 2, '扎赉特旗', 'zha lai te qi', 'zhlt', '扎赉特旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152224, 1522, 2, '突泉', 'tu quan', 'tuq', '突泉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152501, 1525, 2, '二连浩特', 'er lian hao te', 'erlh', '二连浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152502, 1525, 2, '锡林浩特', 'xi lin hao te', 'xilh', '锡林浩特市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152522, 1525, 2, '阿巴嘎旗', 'a ba ga qi', 'abg', '阿巴嘎旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152523, 1525, 2, '苏尼特左旗', 'su ni te zuo qi', 'sunt', '苏尼特左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152524, 1525, 2, '苏尼特右旗', 'su ni te you qi', 'sunt', '苏尼特右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152525, 1525, 2, '东乌珠穆沁旗', 'dong wu zhu mu qin qi', 'dowz', '东乌珠穆沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152526, 1525, 2, '西乌珠穆沁旗', 'xi wu zhu mu qin qi', 'xiwz', '西乌珠穆沁旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152527, 1525, 2, '太仆寺旗', 'tai pu si qi', 'taps', '太仆寺旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152528, 1525, 2, '镶黄旗', 'xiang huang qi', 'xihq', '镶黄旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152529, 1525, 2, '正镶白旗', 'zheng xiang bai qi', 'zhxb', '正镶白旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152530, 1525, 2, '正蓝旗', 'zheng lan qi', 'zhlq', '正蓝旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152531, 1525, 2, '多伦', 'duo lun', 'dul', '多伦县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152571, 1525, 2, '乌拉盖', 'wu la gai', 'wulg', '乌拉盖管委会', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152921, 1529, 2, '阿拉善左旗', 'a la shan zuo qi', 'als', '阿拉善左旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152922, 1529, 2, '阿拉善右旗', 'a la shan you qi', 'als', '阿拉善右旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152923, 1529, 2, '额济纳旗', 'e ji na qi', 'ejn', '额济纳旗', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (152971, 1529, 2, '内蒙古阿拉善经济开发区', 'nei meng gu a la shan jing ji kai fa qu', 'nemg', '内蒙古阿拉善经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210102, 2101, 2, '和平', 'he ping', 'hep', '和平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210103, 2101, 2, '沈河', 'shen he', 'shh', '沈河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210104, 2101, 2, '大东', 'da dong', 'dad', '大东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210105, 2101, 2, '皇姑', 'huang gu', 'hug', '皇姑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210106, 2101, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210111, 2101, 2, '苏家屯', 'su jia tun', 'sujt', '苏家屯区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210112, 2101, 2, '浑南', 'hun nan', 'hun', '浑南区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210113, 2101, 2, '沈北新区', 'shen bei xin qu', 'shbx', '沈北新区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210114, 2101, 2, '于洪', 'yu hong', 'yuh', '于洪区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210115, 2101, 2, '辽中', 'liao zhong', 'liz', '辽中区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210123, 2101, 2, '康平', 'kang ping', 'kap', '康平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210124, 2101, 2, '法库', 'fa ku', 'fak', '法库县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210181, 2101, 2, '新民', 'xin min', 'xim', '新民市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210202, 2102, 2, '中山', 'zhong shan', 'zhs', '中山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210203, 2102, 2, '西岗', 'xi gang', 'xig', '西岗区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210204, 2102, 2, '沙河口', 'sha he kou', 'shhk', '沙河口区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210211, 2102, 2, '甘井子', 'gan jing zi', 'gajz', '甘井子区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210212, 2102, 2, '旅顺口', 'lv shun kou', 'lvsk', '旅顺口区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210213, 2102, 2, '金州', 'jin zhou', 'jiz', '金州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210214, 2102, 2, '普兰店', 'pu lan dian', 'puld', '普兰店区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210224, 2102, 2, '长海', 'chang hai', 'chh', '长海县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210281, 2102, 2, '瓦房店', 'wa fang dian', 'wafd', '瓦房店市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210283, 2102, 2, '庄河', 'zhuang he', 'zhh', '庄河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210302, 2103, 2, '铁东', 'tie dong', 'tid', '铁东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210303, 2103, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210304, 2103, 2, '立山', 'li shan', 'lis', '立山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210311, 2103, 2, '千山', 'qian shan', 'qis', '千山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210321, 2103, 2, '台安', 'tai an', 'taa', '台安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210323, 2103, 2, '岫岩满族自治县', 'xiu yan man zu zi zhi xian', 'xiym', '岫岩满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210381, 2103, 2, '海城', 'hai cheng', 'hac', '海城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210402, 2104, 2, '新抚', 'xin fu', 'xif', '新抚区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210403, 2104, 2, '东洲', 'dong zhou', 'doz', '东洲区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210404, 2104, 2, '望花', 'wang hua', 'wah', '望花区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210411, 2104, 2, '顺城', 'shun cheng', 'shc', '顺城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210421, 2104, 2, '抚顺', 'fu shun', 'fus', '抚顺县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210422, 2104, 2, '新宾满族自治县', 'xin bin man zu zi zhi xian', 'xibm', '新宾满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210423, 2104, 2, '清原满族自治县', 'qing yuan man zu zi zhi xian', 'qiym', '清原满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210502, 2105, 2, '平山', 'ping shan', 'pis', '平山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210503, 2105, 2, '溪湖', 'xi hu', 'xih', '溪湖区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210504, 2105, 2, '明山', 'ming shan', 'mis', '明山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210505, 2105, 2, '南芬', 'nan fen', 'naf', '南芬区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210521, 2105, 2, '本溪满族自治县', 'ben xi man zu zi zhi xian', 'bexm', '本溪满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210522, 2105, 2, '桓仁满族自治县', 'huan ren man zu zi zhi xian', 'hurm', '桓仁满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210602, 2106, 2, '元宝', 'yuan bao', 'yub', '元宝区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210603, 2106, 2, '振兴', 'zhen xing', 'zhx', '振兴区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210604, 2106, 2, '振安', 'zhen an', 'zha', '振安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210624, 2106, 2, '宽甸满族自治县', 'kuan dian man zu zi zhi xian', 'kudm', '宽甸满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210681, 2106, 2, '东港', 'dong gang', 'dog', '东港市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210682, 2106, 2, '凤城', 'feng cheng', 'fec', '凤城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210702, 2107, 2, '古塔', 'gu ta', 'gut', '古塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210703, 2107, 2, '凌河', 'ling he', 'lih', '凌河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210711, 2107, 2, '太和', 'tai he', 'tah', '太和区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210726, 2107, 2, '黑山', 'hei shan', 'hes', '黑山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210727, 2107, 2, '义县', 'yi xian', 'yix', '义县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210781, 2107, 2, '凌海', 'ling hai', 'lih', '凌海市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210782, 2107, 2, '北镇', 'bei zhen', 'bez', '北镇市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210802, 2108, 2, '站前', 'zhan qian', 'zhq', '站前区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210803, 2108, 2, '西市', 'xi shi', 'xis', '西市区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210804, 2108, 2, '鲅鱼圈', 'ba yu quan', 'bayq', '鲅鱼圈区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210811, 2108, 2, '老边', 'lao bian', 'lab', '老边区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210881, 2108, 2, '盖州', 'gai zhou', 'gaz', '盖州市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210882, 2108, 2, '大石桥', 'da shi qiao', 'dasq', '大石桥市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210902, 2109, 2, '海州', 'hai zhou', 'haz', '海州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210903, 2109, 2, '新邱', 'xin qiu', 'xiq', '新邱区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210904, 2109, 2, '太平', 'tai ping', 'tap', '太平区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210905, 2109, 2, '清河门', 'qing he men', 'qihm', '清河门区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210911, 2109, 2, '细河', 'xi he', 'xih', '细河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210921, 2109, 2, '阜新蒙古族自治县', 'fu xin meng gu zu zi zhi xian', 'fuxm', '阜新蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (210922, 2109, 2, '彰武', 'zhang wu', 'zhw', '彰武县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211002, 2110, 2, '白塔', 'bai ta', 'bat', '白塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211003, 2110, 2, '文圣', 'wen sheng', 'wes', '文圣区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211004, 2110, 2, '宏伟', 'hong wei', 'how', '宏伟区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211005, 2110, 2, '弓长岭', 'gong chang ling', 'gocl', '弓长岭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211011, 2110, 2, '太子河', 'tai zi he', 'tazh', '太子河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211021, 2110, 2, '辽阳', 'liao yang', 'liy', '辽阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211081, 2110, 2, '灯塔', 'deng ta', 'det', '灯塔市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211102, 2111, 2, '双台子', 'shuang tai zi', 'shtz', '双台子区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211103, 2111, 2, '兴隆台', 'xing long tai', 'xilt', '兴隆台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211104, 2111, 2, '大洼', 'da wa', 'daw', '大洼区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211122, 2111, 2, '盘山', 'pan shan', 'pas', '盘山县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211202, 2112, 2, '银州', 'yin zhou', 'yiz', '银州区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211204, 2112, 2, '清河', 'qing he', 'qih', '清河区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211221, 2112, 2, '铁岭', 'tie ling', 'til', '铁岭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211223, 2112, 2, '西丰', 'xi feng', 'xif', '西丰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211224, 2112, 2, '昌图', 'chang tu', 'cht', '昌图县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211281, 2112, 2, '调兵山', 'diao bing shan', 'dibs', '调兵山市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211282, 2112, 2, '开原', 'kai yuan', 'kay', '开原市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211302, 2113, 2, '双塔', 'shuang ta', 'sht', '双塔区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211303, 2113, 2, '龙城', 'long cheng', 'loc', '龙城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211321, 2113, 2, '朝阳', 'chao yang', 'chy', '朝阳县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211322, 2113, 2, '建平', 'jian ping', 'jip', '建平县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211324, 2113, 2, '喀喇沁左翼蒙古族自治县', 'ka la qin zuo yi meng gu zu zi zhi xian', 'kalq', '喀喇沁左翼蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211381, 2113, 2, '北票', 'bei piao', 'bep', '北票市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211382, 2113, 2, '凌源', 'ling yuan', 'liy', '凌源市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211402, 2114, 2, '连山', 'lian shan', 'lis', '连山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211403, 2114, 2, '龙港', 'long gang', 'log', '龙港区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211404, 2114, 2, '南票', 'nan piao', 'nap', '南票区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211421, 2114, 2, '绥中', 'sui zhong', 'suz', '绥中县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211422, 2114, 2, '建昌', 'jian chang', 'jic', '建昌县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (211481, 2114, 2, '兴城', 'xing cheng', 'xic', '兴城市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220102, 2201, 2, '南关', 'nan guan', 'nag', '南关区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220103, 2201, 2, '宽城', 'kuan cheng', 'kuc', '宽城区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220104, 2201, 2, '朝阳', 'chao yang', 'chy', '朝阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220105, 2201, 2, '二道', 'er dao', 'erd', '二道区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220106, 2201, 2, '绿园', 'lv yuan', 'lvy', '绿园区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220112, 2201, 2, '双阳', 'shuang yang', 'shy', '双阳区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220113, 2201, 2, '九台', 'jiu tai', 'jit', '九台区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220122, 2201, 2, '农安', 'nong an', 'noa', '农安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220171, 2201, 2, '长春经济技术开发区', 'chang chun jing ji ji shu kai fa qu', 'chcj', '长春经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220172, 2201, 2, '长春净月高新技术产业开发区', 'chang chun jing yue gao xin ji shu chan ye kai fa qu', 'chcj', '长春净月高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220173, 2201, 2, '长春高新技术产业开发区', 'chang chun gao xin ji shu chan ye kai fa qu', 'chcg', '长春高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220174, 2201, 2, '长春汽车经济技术开发区', 'chang chun qi che jing ji ji shu kai fa qu', 'chcq', '长春汽车经济技术开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220182, 2201, 2, '榆树', 'yu shu', 'yus', '榆树市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220183, 2201, 2, '德惠', 'de hui', 'deh', '德惠市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220202, 2202, 2, '昌邑', 'chang yi', 'chy', '昌邑区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220203, 2202, 2, '龙潭', 'long tan', 'lot', '龙潭区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220204, 2202, 2, '船营', 'chuan ying', 'chy', '船营区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220211, 2202, 2, '丰满', 'feng man', 'fem', '丰满区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220221, 2202, 2, '永吉', 'yong ji', 'yoj', '永吉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220271, 2202, 2, '吉林经济开发区', 'ji lin jing ji kai fa qu', 'jilj', '吉林经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220272, 2202, 2, '吉林高新技术产业开发区', 'ji lin gao xin ji shu chan ye kai fa qu', 'jilg', '吉林高新技术产业开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220273, 2202, 2, '吉林中国新加坡食品', 'ji lin zhong guo xin jia po shi pin', 'jilz', '吉林中国新加坡食品区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220281, 2202, 2, '蛟河', 'jiao he', 'jih', '蛟河市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220282, 2202, 2, '桦甸', 'hua dian', 'hud', '桦甸市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220283, 2202, 2, '舒兰', 'shu lan', 'shl', '舒兰市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220284, 2202, 2, '磐石', 'pan shi', 'pas', '磐石市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220302, 2203, 2, '铁西', 'tie xi', 'tix', '铁西区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220303, 2203, 2, '铁东', 'tie dong', 'tid', '铁东区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220322, 2203, 2, '梨树', 'li shu', 'lis', '梨树县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220323, 2203, 2, '伊通满族自治县', 'yi tong man zu zi zhi xian', 'yitm', '伊通满族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220381, 2203, 2, '公主岭', 'gong zhu ling', 'gozl', '公主岭市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220382, 2203, 2, '双辽', 'shuang liao', 'shl', '双辽市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220402, 2204, 2, '龙山', 'long shan', 'los', '龙山区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220403, 2204, 2, '西安', 'xi an', 'xia', '西安区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220421, 2204, 2, '东丰', 'dong feng', 'dof', '东丰县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220422, 2204, 2, '东辽', 'dong liao', 'dol', '东辽县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220502, 2205, 2, '东昌', 'dong chang', 'doc', '东昌区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220503, 2205, 2, '二道江', 'er dao jiang', 'erdj', '二道江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220521, 2205, 2, '通化', 'tong hua', 'toh', '通化县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220523, 2205, 2, '辉南', 'hui nan', 'hun', '辉南县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220524, 2205, 2, '柳河', 'liu he', 'lih', '柳河县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220581, 2205, 2, '梅河口', 'mei he kou', 'mehk', '梅河口市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220582, 2205, 2, '集安', 'ji an', 'jia', '集安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220602, 2206, 2, '浑江', 'hun jiang', 'huj', '浑江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220605, 2206, 2, '江源', 'jiang yuan', 'jiy', '江源区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220621, 2206, 2, '抚松', 'fu song', 'fus', '抚松县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220622, 2206, 2, '靖宇', 'jing yu', 'jiy', '靖宇县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220623, 2206, 2, '长白朝鲜族自治县', 'chang bai chao xian zu zi zhi xian', 'chbc', '长白朝鲜族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220681, 2206, 2, '临江', 'lin jiang', 'lij', '临江市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220702, 2207, 2, '宁江', 'ning jiang', 'nij', '宁江区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220721, 2207, 2, '前郭尔罗斯蒙古族自治县', 'qian guo er luo si meng gu zu zi zhi xian', 'qige', '前郭尔罗斯蒙古族自治县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220722, 2207, 2, '长岭', 'chang ling', 'chl', '长岭县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220723, 2207, 2, '乾安', 'gan an', 'gaa', '乾安县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220771, 2207, 2, '吉林松原经济开发区', 'ji lin song yuan jing ji kai fa qu', 'jils', '吉林松原经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220781, 2207, 2, '扶余', 'fu yu', 'fuy', '扶余市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220802, 2208, 2, '洮北', 'tao bei', 'tab', '洮北区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220821, 2208, 2, '镇赉', 'zhen lai', 'zhl', '镇赉县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220822, 2208, 2, '通榆', 'tong yu', 'toy', '通榆县', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220871, 2208, 2, '吉林白城经济开发区', 'ji lin bai cheng jing ji kai fa qu', 'jilb', '吉林白城经济开发区', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220881, 2208, 2, '洮南', 'tao nan', 'tan', '洮南市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (220882, 2208, 2, '大安', 'da an', 'daa', '大安市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222401, 2224, 2, '延吉', 'yan ji', 'yaj', '延吉市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222402, 2224, 2, '图们', 'tu men', 'tum', '图们市', NULL, '2018-12-19 14:26:58', NULL, '2018-12-19 14:26:58'), + (222403, 2224, 2, '敦化', 'dun hua', 'duh', '敦化市', NULL, NULL, NULL, NULL), + (222404, 2224, 2, '珲春', 'hun chun', 'huc', '珲春市', NULL, NULL, NULL, NULL), + (222405, 2224, 2, '龙井', 'long jing', 'loj', '龙井市', NULL, NULL, NULL, NULL), + (222406, 2224, 2, '和龙', 'he long', 'hel', '和龙市', NULL, NULL, NULL, NULL), + (222424, 2224, 2, '汪清', 'wang qing', 'waq', '汪清县', NULL, NULL, NULL, NULL), + (222426, 2224, 2, '安图', 'an tu', 'ant', '安图县', NULL, NULL, NULL, NULL), + (230102, 2301, 2, '道里', 'dao li', 'dal', '道里区', NULL, NULL, NULL, NULL), + (230103, 2301, 2, '南岗', 'nan gang', 'nag', '南岗区', NULL, NULL, NULL, NULL), + (230104, 2301, 2, '道外', 'dao wai', 'daw', '道外区', NULL, NULL, NULL, NULL), + (230108, 2301, 2, '平房', 'ping fang', 'pif', '平房区', NULL, NULL, NULL, NULL), + (230109, 2301, 2, '松北', 'song bei', 'sob', '松北区', NULL, NULL, NULL, NULL), + (230110, 2301, 2, '香坊', 'xiang fang', 'xif', '香坊区', NULL, NULL, NULL, NULL), + (230111, 2301, 2, '呼兰', 'hu lan', 'hul', '呼兰区', NULL, NULL, NULL, NULL), + (230112, 2301, 2, '阿城', 'a cheng', 'ac', '阿城区', NULL, NULL, NULL, NULL), + (230113, 2301, 2, '双城', 'shuang cheng', 'shc', '双城区', NULL, NULL, NULL, NULL), + (230123, 2301, 2, '依兰', 'yi lan', 'yil', '依兰县', NULL, NULL, NULL, NULL), + (230124, 2301, 2, '方正', 'fang zheng', 'faz', '方正县', NULL, NULL, NULL, NULL), + (230125, 2301, 2, '宾县', 'bin xian', 'bix', '宾县', NULL, NULL, NULL, NULL), + (230126, 2301, 2, '巴彦', 'ba yan', 'bay', '巴彦县', NULL, NULL, NULL, NULL), + (230127, 2301, 2, '木兰', 'mu lan', 'mul', '木兰县', NULL, NULL, NULL, NULL), + (230128, 2301, 2, '通河', 'tong he', 'toh', '通河县', NULL, NULL, NULL, NULL), + (230129, 2301, 2, '延寿', 'yan shou', 'yas', '延寿县', NULL, NULL, NULL, NULL), + (230183, 2301, 2, '尚志', 'shang zhi', 'shz', '尚志市', NULL, NULL, NULL, NULL), + (230184, 2301, 2, '五常', 'wu chang', 'wuc', '五常市', NULL, NULL, NULL, NULL), + (230202, 2302, 2, '龙沙', 'long sha', 'los', '龙沙区', NULL, NULL, NULL, NULL), + (230203, 2302, 2, '建华', 'jian hua', 'jih', '建华区', NULL, NULL, NULL, NULL), + (230204, 2302, 2, '铁锋', 'tie feng', 'tif', '铁锋区', NULL, NULL, NULL, NULL), + (230205, 2302, 2, '昂昂溪', 'ang ang xi', 'anax', '昂昂溪区', NULL, NULL, NULL, NULL), + (230206, 2302, 2, '富拉尔基', 'fu la er ji', 'fule', '富拉尔基区', NULL, NULL, NULL, NULL), + (230207, 2302, 2, '碾子山', 'nian zi shan', 'nizs', '碾子山区', NULL, NULL, NULL, NULL), + (230208, 2302, 2, '梅里斯达斡尔族', 'mei li si da wo er zu', 'mels', '梅里斯达斡尔族区', NULL, NULL, NULL, NULL), + (230221, 2302, 2, '龙江', 'long jiang', 'loj', '龙江县', NULL, NULL, NULL, NULL), + (230223, 2302, 2, '依安', 'yi an', 'yia', '依安县', NULL, NULL, NULL, NULL), + (230224, 2302, 2, '泰来', 'tai lai', 'tal', '泰来县', NULL, NULL, NULL, NULL), + (230225, 2302, 2, '甘南', 'gan nan', 'gan', '甘南县', NULL, NULL, NULL, NULL), + (230227, 2302, 2, '富裕', 'fu yu', 'fuy', '富裕县', NULL, NULL, NULL, NULL), + (230229, 2302, 2, '克山', 'ke shan', 'kes', '克山县', NULL, NULL, NULL, NULL), + (230230, 2302, 2, '克东', 'ke dong', 'ked', '克东县', NULL, NULL, NULL, NULL), + (230231, 2302, 2, '拜泉', 'bai quan', 'baq', '拜泉县', NULL, NULL, NULL, NULL), + (230281, 2302, 2, '讷河', 'ne he', 'neh', '讷河市', NULL, NULL, NULL, NULL), + (230302, 2303, 2, '鸡冠', 'ji guan', 'jig', '鸡冠区', NULL, NULL, NULL, NULL), + (230303, 2303, 2, '恒山', 'heng shan', 'hes', '恒山区', NULL, NULL, NULL, NULL), + (230304, 2303, 2, '滴道', 'di dao', 'did', '滴道区', NULL, NULL, NULL, NULL), + (230305, 2303, 2, '梨树', 'li shu', 'lis', '梨树区', NULL, NULL, NULL, NULL), + (230306, 2303, 2, '城子河', 'cheng zi he', 'chzh', '城子河区', NULL, NULL, NULL, NULL), + (230307, 2303, 2, '麻山', 'ma shan', 'mas', '麻山区', NULL, NULL, NULL, NULL), + (230321, 2303, 2, '鸡东', 'ji dong', 'jid', '鸡东县', NULL, NULL, NULL, NULL), + (230381, 2303, 2, '虎林', 'hu lin', 'hul', '虎林市', NULL, NULL, NULL, NULL), + (230382, 2303, 2, '密山', 'mi shan', 'mis', '密山市', NULL, NULL, NULL, NULL), + (230402, 2304, 2, '向阳', 'xiang yang', 'xiy', '向阳区', NULL, NULL, NULL, NULL), + (230403, 2304, 2, '工农', 'gong nong', 'gon', '工农区', NULL, NULL, NULL, NULL), + (230404, 2304, 2, '南山', 'nan shan', 'nas', '南山区', NULL, NULL, NULL, NULL), + (230405, 2304, 2, '兴安', 'xing an', 'xia', '兴安区', NULL, NULL, NULL, NULL), + (230406, 2304, 2, '东山', 'dong shan', 'dos', '东山区', NULL, NULL, NULL, NULL), + (230407, 2304, 2, '兴山', 'xing shan', 'xis', '兴山区', NULL, NULL, NULL, NULL), + (230421, 2304, 2, '萝北', 'luo bei', 'lub', '萝北县', NULL, NULL, NULL, NULL), + (230422, 2304, 2, '绥滨', 'sui bin', 'sub', '绥滨县', NULL, NULL, NULL, NULL), + (230502, 2305, 2, '尖山', 'jian shan', 'jis', '尖山区', NULL, NULL, NULL, NULL), + (230503, 2305, 2, '岭东', 'ling dong', 'lid', '岭东区', NULL, NULL, NULL, NULL), + (230505, 2305, 2, '四方台', 'si fang tai', 'sift', '四方台区', NULL, NULL, NULL, NULL), + (230506, 2305, 2, '宝山', 'bao shan', 'bas', '宝山区', NULL, NULL, NULL, NULL), + (230521, 2305, 2, '集贤', 'ji xian', 'jix', '集贤县', NULL, NULL, NULL, NULL), + (230522, 2305, 2, '友谊', 'you yi', 'yoy', '友谊县', NULL, NULL, NULL, NULL), + (230523, 2305, 2, '宝清', 'bao qing', 'baq', '宝清县', NULL, NULL, NULL, NULL), + (230524, 2305, 2, '饶河', 'rao he', 'rah', '饶河县', NULL, NULL, NULL, NULL), + (230602, 2306, 2, '萨尔图', 'sa er tu', 'saet', '萨尔图区', NULL, NULL, NULL, NULL), + (230603, 2306, 2, '龙凤', 'long feng', 'lof', '龙凤区', NULL, NULL, NULL, NULL), + (230604, 2306, 2, '让胡路', 'rang hu lu', 'rahl', '让胡路区', NULL, NULL, NULL, NULL), + (230605, 2306, 2, '红岗', 'hong gang', 'hog', '红岗区', NULL, NULL, NULL, NULL), + (230606, 2306, 2, '大同', 'da tong', 'dat', '大同区', NULL, NULL, NULL, NULL), + (230621, 2306, 2, '肇州', 'zhao zhou', 'zhz', '肇州县', NULL, NULL, NULL, NULL), + (230622, 2306, 2, '肇源', 'zhao yuan', 'zhy', '肇源县', NULL, NULL, NULL, NULL), + (230623, 2306, 2, '林甸', 'lin dian', 'lid', '林甸县', NULL, NULL, NULL, NULL), + (230624, 2306, 2, '杜尔伯特蒙古族自治县', 'du er bo te meng gu zu zi zhi xian', 'dueb', '杜尔伯特蒙古族自治县', NULL, NULL, NULL, NULL), + (230671, 2306, 2, '大庆高新技术产业开发区', 'da qing gao xin ji shu chan ye kai fa qu', 'daqg', '大庆高新技术产业开发区', NULL, NULL, NULL, NULL), + (230702, 2307, 2, '伊春', 'yi chun', 'yic', '伊春区', NULL, NULL, NULL, NULL), + (230703, 2307, 2, '南岔', 'nan cha', 'nac', '南岔区', NULL, NULL, NULL, NULL), + (230704, 2307, 2, '友好', 'you hao', 'yoh', '友好区', NULL, NULL, NULL, NULL), + (230705, 2307, 2, '西林', 'xi lin', 'xil', '西林区', NULL, NULL, NULL, NULL), + (230706, 2307, 2, '翠峦', 'cui luan', 'cul', '翠峦区', NULL, NULL, NULL, NULL), + (230707, 2307, 2, '新青', 'xin qing', 'xiq', '新青区', NULL, NULL, NULL, NULL), + (230708, 2307, 2, '美溪', 'mei xi', 'mex', '美溪区', NULL, NULL, NULL, NULL), + (230709, 2307, 2, '金山屯', 'jin shan tun', 'jist', '金山屯区', NULL, NULL, NULL, NULL), + (230710, 2307, 2, '五营', 'wu ying', 'wuy', '五营区', NULL, NULL, NULL, NULL), + (230711, 2307, 2, '乌马河', 'wu ma he', 'wumh', '乌马河区', NULL, NULL, NULL, NULL), + (230712, 2307, 2, '汤旺河', 'tang wang he', 'tawh', '汤旺河区', NULL, NULL, NULL, NULL), + (230713, 2307, 2, '带岭', 'dai ling', 'dal', '带岭区', NULL, NULL, NULL, NULL), + (230714, 2307, 2, '乌伊岭', 'wu yi ling', 'wuyl', '乌伊岭区', NULL, NULL, NULL, NULL), + (230715, 2307, 2, '红星', 'hong xing', 'hox', '红星区', NULL, NULL, NULL, NULL), + (230716, 2307, 2, '上甘岭', 'shang gan ling', 'shgl', '上甘岭区', NULL, NULL, NULL, NULL), + (230722, 2307, 2, '嘉荫', 'jia yin', 'jiy', '嘉荫县', NULL, NULL, NULL, NULL), + (230781, 2307, 2, '铁力', 'tie li', 'til', '铁力市', NULL, NULL, NULL, NULL), + (230803, 2308, 2, '向阳', 'xiang yang', 'xiy', '向阳区', NULL, NULL, NULL, NULL), + (230804, 2308, 2, '前进', 'qian jin', 'qij', '前进区', NULL, NULL, NULL, NULL), + (230805, 2308, 2, '东风', 'dong feng', 'dof', '东风区', NULL, NULL, NULL, NULL), + (230811, 2308, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, NULL, NULL, NULL), + (230822, 2308, 2, '桦南', 'hua nan', 'hun', '桦南县', NULL, NULL, NULL, NULL), + (230826, 2308, 2, '桦川', 'hua chuan', 'huc', '桦川县', NULL, NULL, NULL, NULL), + (230828, 2308, 2, '汤原', 'tang yuan', 'tay', '汤原县', NULL, NULL, NULL, NULL), + (230881, 2308, 2, '同江', 'tong jiang', 'toj', '同江市', NULL, NULL, NULL, NULL), + (230882, 2308, 2, '富锦', 'fu jin', 'fuj', '富锦市', NULL, NULL, NULL, NULL), + (230883, 2308, 2, '抚远', 'fu yuan', 'fuy', '抚远市', NULL, NULL, NULL, NULL), + (230902, 2309, 2, '新兴', 'xin xing', 'xix', '新兴区', NULL, NULL, NULL, NULL), + (230903, 2309, 2, '桃山', 'tao shan', 'tas', '桃山区', NULL, NULL, NULL, NULL), + (230904, 2309, 2, '茄子河', 'qie zi he', 'qizh', '茄子河区', NULL, NULL, NULL, NULL), + (230921, 2309, 2, '勃利', 'bo li', 'bol', '勃利县', NULL, NULL, NULL, NULL), + (231002, 2310, 2, '东安', 'dong an', 'doa', '东安区', NULL, NULL, NULL, NULL), + (231003, 2310, 2, '阳明', 'yang ming', 'yam', '阳明区', NULL, NULL, NULL, NULL), + (231004, 2310, 2, '爱民', 'ai min', 'aim', '爱民区', NULL, NULL, NULL, NULL), + (231005, 2310, 2, '西安', 'xi an', 'xia', '西安区', NULL, NULL, NULL, NULL), + (231025, 2310, 2, '林口', 'lin kou', 'lik', '林口县', NULL, NULL, NULL, NULL), + (231071, 2310, 2, '牡丹江经济技术开发区', 'mu dan jiang jing ji ji shu kai fa qu', 'mudj', '牡丹江经济技术开发区', NULL, NULL, NULL, NULL), + (231081, 2310, 2, '绥芬河', 'sui fen he', 'sufh', '绥芬河市', NULL, NULL, NULL, NULL), + (231083, 2310, 2, '海林', 'hai lin', 'hal', '海林市', NULL, NULL, NULL, NULL), + (231084, 2310, 2, '宁安', 'ning an', 'nia', '宁安市', NULL, NULL, NULL, NULL), + (231085, 2310, 2, '穆棱', 'mu ling', 'mul', '穆棱市', NULL, NULL, NULL, NULL), + (231086, 2310, 2, '东宁', 'dong ning', 'don', '东宁市', NULL, NULL, NULL, NULL), + (231102, 2311, 2, '爱辉', 'ai hui', 'aih', '爱辉区', NULL, NULL, NULL, NULL), + (231121, 2311, 2, '嫩江', 'nen jiang', 'nej', '嫩江县', NULL, NULL, NULL, NULL), + (231123, 2311, 2, '逊克', 'xun ke', 'xuk', '逊克县', NULL, NULL, NULL, NULL), + (231124, 2311, 2, '孙吴', 'sun wu', 'suw', '孙吴县', NULL, NULL, NULL, NULL), + (231181, 2311, 2, '北安', 'bei an', 'bea', '北安市', NULL, NULL, NULL, NULL), + (231182, 2311, 2, '五大连池', 'wu da lian chi', 'wudl', '五大连池市', NULL, NULL, NULL, NULL), + (231202, 2312, 2, '北林', 'bei lin', 'bel', '北林区', NULL, NULL, NULL, NULL), + (231221, 2312, 2, '望奎', 'wang kui', 'wak', '望奎县', NULL, NULL, NULL, NULL), + (231222, 2312, 2, '兰西', 'lan xi', 'lax', '兰西县', NULL, NULL, NULL, NULL), + (231223, 2312, 2, '青冈', 'qing gang', 'qig', '青冈县', NULL, NULL, NULL, NULL), + (231224, 2312, 2, '庆安', 'qing an', 'qia', '庆安县', NULL, NULL, NULL, NULL), + (231225, 2312, 2, '明水', 'ming shui', 'mis', '明水县', NULL, NULL, NULL, NULL), + (231226, 2312, 2, '绥棱', 'sui ling', 'sul', '绥棱县', NULL, NULL, NULL, NULL), + (231281, 2312, 2, '安达', 'an da', 'and', '安达市', NULL, NULL, NULL, NULL), + (231282, 2312, 2, '肇东', 'zhao dong', 'zhd', '肇东市', NULL, NULL, NULL, NULL), + (231283, 2312, 2, '海伦', 'hai lun', 'hal', '海伦市', NULL, NULL, NULL, NULL), + (232701, 2327, 2, '加格达奇', 'jia ge da qi', 'jigd', '加格达奇区', NULL, NULL, NULL, NULL), + (232702, 2327, 2, '松岭', 'song ling', 'sol', '松岭区', NULL, NULL, NULL, NULL), + (232703, 2327, 2, '新林', 'xin lin', 'xil', '新林区', NULL, NULL, NULL, NULL), + (232704, 2327, 2, '呼中', 'hu zhong', 'huz', '呼中区', NULL, NULL, NULL, NULL), + (232721, 2327, 2, '呼玛', 'hu ma', 'hum', '呼玛县', NULL, NULL, NULL, NULL), + (232722, 2327, 2, '塔河', 'ta he', 'tah', '塔河县', NULL, NULL, NULL, NULL), + (232723, 2327, 2, '漠河', 'mo he', 'moh', '漠河县', NULL, NULL, NULL, NULL), + (310101, 3101, 2, '黄浦', 'huang pu', 'hup', '黄浦区', NULL, NULL, NULL, NULL), + (310104, 3101, 2, '徐汇', 'xu hui', 'xuh', '徐汇区', NULL, NULL, NULL, NULL), + (310105, 3101, 2, '长宁', 'chang ning', 'chn', '长宁区', NULL, NULL, NULL, NULL), + (310106, 3101, 2, '静安', 'jing an', 'jia', '静安区', NULL, NULL, NULL, NULL), + (310107, 3101, 2, '普陀', 'pu tuo', 'put', '普陀区', NULL, NULL, NULL, NULL), + (310109, 3101, 2, '虹口', 'hong kou', 'hok', '虹口区', NULL, NULL, NULL, NULL), + (310110, 3101, 2, '杨浦', 'yang pu', 'yap', '杨浦区', NULL, NULL, NULL, NULL), + (310112, 3101, 2, '闵行', 'min hang', 'mih', '闵行区', NULL, NULL, NULL, NULL), + (310113, 3101, 2, '宝山', 'bao shan', 'bas', '宝山区', NULL, NULL, NULL, NULL), + (310114, 3101, 2, '嘉定', 'jia ding', 'jid', '嘉定区', NULL, NULL, NULL, NULL), + (310115, 3101, 2, '浦东新区', 'pu dong xin qu', 'pudx', '浦东新区', NULL, NULL, NULL, NULL), + (310116, 3101, 2, '金山', 'jin shan', 'jis', '金山区', NULL, NULL, NULL, NULL), + (310117, 3101, 2, '松江', 'song jiang', 'soj', '松江区', NULL, NULL, NULL, NULL), + (310118, 3101, 2, '青浦', 'qing pu', 'qip', '青浦区', NULL, NULL, NULL, NULL), + (310120, 3101, 2, '奉贤', 'feng xian', 'fex', '奉贤区', NULL, NULL, NULL, NULL), + (310151, 3101, 2, '崇明', 'chong ming', 'chm', '崇明区', NULL, NULL, NULL, NULL), + (320102, 3201, 2, '玄武', 'xuan wu', 'xuw', '玄武区', NULL, NULL, NULL, NULL), + (320104, 3201, 2, '秦淮', 'qin huai', 'qih', '秦淮区', NULL, NULL, NULL, NULL), + (320105, 3201, 2, '建邺', 'jian ye', 'jiy', '建邺区', NULL, NULL, NULL, NULL), + (320106, 3201, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (320111, 3201, 2, '浦口', 'pu kou', 'puk', '浦口区', NULL, NULL, NULL, NULL), + (320113, 3201, 2, '栖霞', 'qi xia', 'qix', '栖霞区', NULL, NULL, NULL, NULL), + (320114, 3201, 2, '雨花台', 'yu hua tai', 'yuht', '雨花台区', NULL, NULL, NULL, NULL), + (320115, 3201, 2, '江宁', 'jiang ning', 'jin', '江宁区', NULL, NULL, NULL, NULL), + (320116, 3201, 2, '六合', 'liu he', 'lih', '六合区', NULL, NULL, NULL, NULL), + (320117, 3201, 2, '溧水', 'li shui', 'lis', '溧水区', NULL, NULL, NULL, NULL), + (320118, 3201, 2, '高淳', 'gao chun', 'gac', '高淳区', NULL, NULL, NULL, NULL), + (320205, 3202, 2, '锡山', 'xi shan', 'xis', '锡山区', NULL, NULL, NULL, NULL), + (320206, 3202, 2, '惠山', 'hui shan', 'hus', '惠山区', NULL, NULL, NULL, NULL), + (320211, 3202, 2, '滨湖', 'bin hu', 'bih', '滨湖区', NULL, NULL, NULL, NULL), + (320213, 3202, 2, '梁溪', 'liang xi', 'lix', '梁溪区', NULL, NULL, NULL, NULL), + (320214, 3202, 2, '新吴', 'xin wu', 'xiw', '新吴区', NULL, NULL, NULL, NULL), + (320281, 3202, 2, '江阴', 'jiang yin', 'jiy', '江阴市', NULL, NULL, NULL, NULL), + (320282, 3202, 2, '宜兴', 'yi xing', 'yix', '宜兴市', NULL, NULL, NULL, NULL), + (320302, 3203, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (320303, 3203, 2, '云龙', 'yun long', 'yul', '云龙区', NULL, NULL, NULL, NULL), + (320305, 3203, 2, '贾汪', 'jia wang', 'jiw', '贾汪区', NULL, NULL, NULL, NULL), + (320311, 3203, 2, '泉山', 'quan shan', 'qus', '泉山区', NULL, NULL, NULL, NULL), + (320312, 3203, 2, '铜山', 'tong shan', 'tos', '铜山区', NULL, NULL, NULL, NULL), + (320321, 3203, 2, '丰县', 'feng xian', 'fex', '丰县', NULL, NULL, NULL, NULL), + (320322, 3203, 2, '沛县', 'pei xian', 'pex', '沛县', NULL, NULL, NULL, NULL), + (320324, 3203, 2, '睢宁', 'sui ning', 'sun', '睢宁县', NULL, NULL, NULL, NULL), + (320371, 3203, 2, '徐州经济技术开发区', 'xu zhou jing ji ji shu kai fa qu', 'xuzj', '徐州经济技术开发区', NULL, NULL, NULL, NULL), + (320381, 3203, 2, '新沂', 'xin yi', 'xiy', '新沂市', NULL, NULL, NULL, NULL), + (320382, 3203, 2, '邳州', 'pi zhou', 'piz', '邳州市', NULL, NULL, NULL, NULL), + (320402, 3204, 2, '天宁', 'tian ning', 'tin', '天宁区', NULL, NULL, NULL, NULL), + (320404, 3204, 2, '钟楼', 'zhong lou', 'zhl', '钟楼区', NULL, NULL, NULL, NULL), + (320411, 3204, 2, '新北', 'xin bei', 'xib', '新北区', NULL, NULL, NULL, NULL), + (320412, 3204, 2, '武进', 'wu jin', 'wuj', '武进区', NULL, NULL, NULL, NULL), + (320413, 3204, 2, '金坛', 'jin tan', 'jit', '金坛区', NULL, NULL, NULL, NULL), + (320481, 3204, 2, '溧阳', 'li yang', 'liy', '溧阳市', NULL, NULL, NULL, NULL), + (320505, 3205, 2, '虎丘', 'hu qiu', 'huq', '虎丘区', NULL, NULL, NULL, NULL), + (320506, 3205, 2, '吴中', 'wu zhong', 'wuz', '吴中区', NULL, NULL, NULL, NULL), + (320507, 3205, 2, '相城', 'xiang cheng', 'xic', '相城区', NULL, NULL, NULL, NULL), + (320508, 3205, 2, '姑苏', 'gu su', 'gus', '姑苏区', NULL, NULL, NULL, NULL), + (320509, 3205, 2, '吴江', 'wu jiang', 'wuj', '吴江区', NULL, NULL, NULL, NULL), + (320571, 3205, 2, '苏州工业园', 'su zhou gong ye yuan', 'suzg', '苏州工业园区', NULL, NULL, NULL, NULL), + (320581, 3205, 2, '常熟', 'chang shu', 'chs', '常熟市', NULL, NULL, NULL, NULL), + (320582, 3205, 2, '张家港', 'zhang jia gang', 'zhjg', '张家港市', NULL, NULL, NULL, NULL), + (320583, 3205, 2, '昆山', 'kun shan', 'kus', '昆山市', NULL, NULL, NULL, NULL), + (320585, 3205, 2, '太仓', 'tai cang', 'tac', '太仓市', NULL, NULL, NULL, NULL), + (320602, 3206, 2, '崇川', 'chong chuan', 'chc', '崇川区', NULL, NULL, NULL, NULL), + (320611, 3206, 2, '港闸', 'gang zha', 'gaz', '港闸区', NULL, NULL, NULL, NULL), + (320612, 3206, 2, '通州', 'tong zhou', 'toz', '通州区', NULL, NULL, NULL, NULL), + (320621, 3206, 2, '海安', 'hai an', 'haa', '海安县', NULL, NULL, NULL, NULL), + (320623, 3206, 2, '如东', 'ru dong', 'rud', '如东县', NULL, NULL, NULL, NULL), + (320671, 3206, 2, '南通经济技术开发区', 'nan tong jing ji ji shu kai fa qu', 'natj', '南通经济技术开发区', NULL, NULL, NULL, NULL), + (320681, 3206, 2, '启东', 'qi dong', 'qid', '启东市', NULL, NULL, NULL, NULL), + (320682, 3206, 2, '如皋', 'ru gao', 'rug', '如皋市', NULL, NULL, NULL, NULL), + (320684, 3206, 2, '海门', 'hai men', 'ham', '海门市', NULL, NULL, NULL, NULL), + (320703, 3207, 2, '连云', 'lian yun', 'liy', '连云区', NULL, NULL, NULL, NULL), + (320706, 3207, 2, '海州', 'hai zhou', 'haz', '海州区', NULL, NULL, NULL, NULL), + (320707, 3207, 2, '赣榆', 'gan yu', 'gay', '赣榆区', NULL, NULL, NULL, NULL), + (320722, 3207, 2, '东海', 'dong hai', 'doh', '东海县', NULL, NULL, NULL, NULL), + (320723, 3207, 2, '灌云', 'guan yun', 'guy', '灌云县', NULL, NULL, NULL, NULL), + (320724, 3207, 2, '灌南', 'guan nan', 'gun', '灌南县', NULL, NULL, NULL, NULL), + (320771, 3207, 2, '连云港经济技术开发区', 'lian yun gang jing ji ji shu kai fa qu', 'liyg', '连云港经济技术开发区', NULL, NULL, NULL, NULL), + (320772, 3207, 2, '连云港高新技术产业开发区', 'lian yun gang gao xin ji shu chan ye kai fa qu', 'liyg', '连云港高新技术产业开发区', NULL, NULL, NULL, NULL), + (320803, 3208, 2, '淮安', 'huai an', 'hua', '淮安区', NULL, NULL, NULL, NULL), + (320804, 3208, 2, '淮阴', 'huai yin', 'huy', '淮阴区', NULL, NULL, NULL, NULL), + (320812, 3208, 2, '清江浦', 'qing jiang pu', 'qijp', '清江浦区', NULL, NULL, NULL, NULL), + (320813, 3208, 2, '洪泽', 'hong ze', 'hoz', '洪泽区', NULL, NULL, NULL, NULL), + (320826, 3208, 2, '涟水', 'lian shui', 'lis', '涟水县', NULL, NULL, NULL, NULL), + (320830, 3208, 2, '盱眙', 'xu yi', 'xuy', '盱眙县', NULL, NULL, NULL, NULL), + (320831, 3208, 2, '金湖', 'jin hu', 'jih', '金湖县', NULL, NULL, NULL, NULL), + (320871, 3208, 2, '淮安经济技术开发区', 'huai an jing ji ji shu kai fa qu', 'huaj', '淮安经济技术开发区', NULL, NULL, NULL, NULL), + (320902, 3209, 2, '亭湖', 'ting hu', 'tih', '亭湖区', NULL, NULL, NULL, NULL), + (320903, 3209, 2, '盐都', 'yan du', 'yad', '盐都区', NULL, NULL, NULL, NULL), + (320904, 3209, 2, '大丰', 'da feng', 'daf', '大丰区', NULL, NULL, NULL, NULL), + (320921, 3209, 2, '响水', 'xiang shui', 'xis', '响水县', NULL, NULL, NULL, NULL), + (320922, 3209, 2, '滨海', 'bin hai', 'bih', '滨海县', NULL, NULL, NULL, NULL), + (320923, 3209, 2, '阜宁', 'fu ning', 'fun', '阜宁县', NULL, NULL, NULL, NULL), + (320924, 3209, 2, '射阳', 'she yang', 'shy', '射阳县', NULL, NULL, NULL, NULL), + (320925, 3209, 2, '建湖', 'jian hu', 'jih', '建湖县', NULL, NULL, NULL, NULL), + (320971, 3209, 2, '盐城经济技术开发区', 'yan cheng jing ji ji shu kai fa qu', 'yacj', '盐城经济技术开发区', NULL, NULL, NULL, NULL), + (320981, 3209, 2, '东台', 'dong tai', 'dot', '东台市', NULL, NULL, NULL, NULL), + (321002, 3210, 2, '广陵', 'guang ling', 'gul', '广陵区', NULL, NULL, NULL, NULL), + (321003, 3210, 2, '邗江', 'han jiang', 'haj', '邗江区', NULL, NULL, NULL, NULL), + (321012, 3210, 2, '江都', 'jiang du', 'jid', '江都区', NULL, NULL, NULL, NULL), + (321023, 3210, 2, '宝应', 'bao ying', 'bay', '宝应县', NULL, NULL, NULL, NULL), + (321071, 3210, 2, '扬州经济技术开发区', 'yang zhou jing ji ji shu kai fa qu', 'yazj', '扬州经济技术开发区', NULL, NULL, NULL, NULL), + (321081, 3210, 2, '仪征', 'yi zheng', 'yiz', '仪征市', NULL, NULL, NULL, NULL), + (321084, 3210, 2, '高邮', 'gao you', 'gay', '高邮市', NULL, NULL, NULL, NULL), + (321102, 3211, 2, '京口', 'jing kou', 'jik', '京口区', NULL, NULL, NULL, NULL), + (321111, 3211, 2, '润州', 'run zhou', 'ruz', '润州区', NULL, NULL, NULL, NULL), + (321112, 3211, 2, '丹徒', 'dan tu', 'dat', '丹徒区', NULL, NULL, NULL, NULL), + (321171, 3211, 2, '镇江新区', 'zhen jiang xin qu', 'zhjx', '镇江新区', NULL, NULL, NULL, NULL), + (321181, 3211, 2, '丹阳', 'dan yang', 'day', '丹阳市', NULL, NULL, NULL, NULL), + (321182, 3211, 2, '扬中', 'yang zhong', 'yaz', '扬中市', NULL, NULL, NULL, NULL), + (321183, 3211, 2, '句容', 'ju rong', 'jur', '句容市', NULL, NULL, NULL, NULL), + (321202, 3212, 2, '海陵', 'hai ling', 'hal', '海陵区', NULL, NULL, NULL, NULL), + (321203, 3212, 2, '高港', 'gao gang', 'gag', '高港区', NULL, NULL, NULL, NULL), + (321204, 3212, 2, '姜堰', 'jiang yan', 'jiy', '姜堰区', NULL, NULL, NULL, NULL), + (321271, 3212, 2, '泰州医药高新技术产业开发区', 'tai zhou yi yao gao xin ji shu chan ye kai fa qu', 'tazy', '泰州医药高新技术产业开发区', NULL, NULL, NULL, NULL), + (321281, 3212, 2, '兴化', 'xing hua', 'xih', '兴化市', NULL, NULL, NULL, NULL), + (321282, 3212, 2, '靖江', 'jing jiang', 'jij', '靖江市', NULL, NULL, NULL, NULL), + (321283, 3212, 2, '泰兴', 'tai xing', 'tax', '泰兴市', NULL, NULL, NULL, NULL), + (321302, 3213, 2, '宿城', 'su cheng', 'suc', '宿城区', NULL, NULL, NULL, NULL), + (321311, 3213, 2, '宿豫', 'su yu', 'suy', '宿豫区', NULL, NULL, NULL, NULL), + (321322, 3213, 2, '沭阳', 'shu yang', 'shy', '沭阳县', NULL, NULL, NULL, NULL), + (321323, 3213, 2, '泗阳', 'si yang', 'siy', '泗阳县', NULL, NULL, NULL, NULL), + (321324, 3213, 2, '泗洪', 'si hong', 'sih', '泗洪县', NULL, NULL, NULL, NULL), + (321371, 3213, 2, '宿迁经济技术开发区', 'su qian jing ji ji shu kai fa qu', 'suqj', '宿迁经济技术开发区', NULL, NULL, NULL, NULL), + (330102, 3301, 2, '上城', 'shang cheng', 'shc', '上城区', NULL, NULL, NULL, NULL), + (330103, 3301, 2, '下城', 'xia cheng', 'xic', '下城区', NULL, NULL, NULL, NULL), + (330104, 3301, 2, '江干', 'jiang gan', 'jig', '江干区', NULL, NULL, NULL, NULL), + (330105, 3301, 2, '拱墅', 'gong shu', 'gos', '拱墅区', NULL, NULL, NULL, NULL), + (330106, 3301, 2, '西湖', 'xi hu', 'xih', '西湖区', NULL, NULL, NULL, NULL), + (330108, 3301, 2, '滨江', 'bin jiang', 'bij', '滨江区', NULL, NULL, NULL, NULL), + (330109, 3301, 2, '萧山', 'xiao shan', 'xis', '萧山区', NULL, NULL, NULL, NULL), + (330110, 3301, 2, '余杭', 'yu hang', 'yuh', '余杭区', NULL, NULL, NULL, NULL), + (330111, 3301, 2, '富阳', 'fu yang', 'fuy', '富阳区', NULL, NULL, NULL, NULL), + (330112, 3301, 2, '临安', 'lin an', 'lia', '临安区', NULL, NULL, NULL, NULL), + (330122, 3301, 2, '桐庐', 'tong lu', 'tol', '桐庐县', NULL, NULL, NULL, NULL), + (330127, 3301, 2, '淳安', 'chun an', 'cha', '淳安县', NULL, NULL, NULL, NULL), + (330182, 3301, 2, '建德', 'jian de', 'jid', '建德市', NULL, NULL, NULL, NULL), + (330203, 3302, 2, '海曙', 'hai shu', 'has', '海曙区', NULL, NULL, NULL, NULL), + (330205, 3302, 2, '江北', 'jiang bei', 'jib', '江北区', NULL, NULL, NULL, NULL), + (330206, 3302, 2, '北仑', 'bei lun', 'bel', '北仑区', NULL, NULL, NULL, NULL), + (330211, 3302, 2, '镇海', 'zhen hai', 'zhh', '镇海区', NULL, NULL, NULL, NULL), + (330212, 3302, 2, '鄞州', 'yin zhou', 'yiz', '鄞州区', NULL, NULL, NULL, NULL), + (330213, 3302, 2, '奉化', 'feng hua', 'feh', '奉化区', NULL, NULL, NULL, NULL), + (330225, 3302, 2, '象山', 'xiang shan', 'xis', '象山县', NULL, NULL, NULL, NULL), + (330226, 3302, 2, '宁海', 'ning hai', 'nih', '宁海县', NULL, NULL, NULL, NULL), + (330281, 3302, 2, '余姚', 'yu yao', 'yuy', '余姚市', NULL, NULL, NULL, NULL), + (330282, 3302, 2, '慈溪', 'ci xi', 'cix', '慈溪市', NULL, NULL, NULL, NULL), + (330302, 3303, 2, '鹿城', 'lu cheng', 'luc', '鹿城区', NULL, NULL, NULL, NULL), + (330303, 3303, 2, '龙湾', 'long wan', 'low', '龙湾区', NULL, NULL, NULL, NULL), + (330304, 3303, 2, '瓯海', 'ou hai', 'ouh', '瓯海区', NULL, NULL, NULL, NULL), + (330305, 3303, 2, '洞头', 'dong tou', 'dot', '洞头区', NULL, NULL, NULL, NULL), + (330324, 3303, 2, '永嘉', 'yong jia', 'yoj', '永嘉县', NULL, NULL, NULL, NULL), + (330326, 3303, 2, '平阳', 'ping yang', 'piy', '平阳县', NULL, NULL, NULL, NULL), + (330327, 3303, 2, '苍南', 'cang nan', 'can', '苍南县', NULL, NULL, NULL, NULL), + (330328, 3303, 2, '文成', 'wen cheng', 'wec', '文成县', NULL, NULL, NULL, NULL), + (330329, 3303, 2, '泰顺', 'tai shun', 'tas', '泰顺县', NULL, NULL, NULL, NULL), + (330371, 3303, 2, '温州经济技术开发区', 'wen zhou jing ji ji shu kai fa qu', 'wezj', '温州经济技术开发区', NULL, NULL, NULL, NULL), + (330381, 3303, 2, '瑞安', 'rui an', 'rua', '瑞安市', NULL, NULL, NULL, NULL), + (330382, 3303, 2, '乐清', 'yue qing', 'yuq', '乐清市', NULL, NULL, NULL, NULL), + (330402, 3304, 2, '南湖', 'nan hu', 'nah', '南湖区', NULL, NULL, NULL, NULL), + (330411, 3304, 2, '秀洲', 'xiu zhou', 'xiz', '秀洲区', NULL, NULL, NULL, NULL), + (330421, 3304, 2, '嘉善', 'jia shan', 'jis', '嘉善县', NULL, NULL, NULL, NULL), + (330424, 3304, 2, '海盐', 'hai yan', 'hay', '海盐县', NULL, NULL, NULL, NULL), + (330481, 3304, 2, '海宁', 'hai ning', 'han', '海宁市', NULL, NULL, NULL, NULL), + (330482, 3304, 2, '平湖', 'ping hu', 'pih', '平湖市', NULL, NULL, NULL, NULL), + (330483, 3304, 2, '桐乡', 'tong xiang', 'tox', '桐乡市', NULL, NULL, NULL, NULL), + (330502, 3305, 2, '吴兴', 'wu xing', 'wux', '吴兴区', NULL, NULL, NULL, NULL), + (330503, 3305, 2, '南浔', 'nan xun', 'nax', '南浔区', NULL, NULL, NULL, NULL), + (330521, 3305, 2, '德清', 'de qing', 'deq', '德清县', NULL, NULL, NULL, NULL), + (330522, 3305, 2, '长兴', 'chang xing', 'chx', '长兴县', NULL, NULL, NULL, NULL), + (330523, 3305, 2, '安吉', 'an ji', 'anj', '安吉县', NULL, NULL, NULL, NULL), + (330602, 3306, 2, '越城', 'yue cheng', 'yuc', '越城区', NULL, NULL, NULL, NULL), + (330603, 3306, 2, '柯桥', 'ke qiao', 'keq', '柯桥区', NULL, NULL, NULL, NULL), + (330604, 3306, 2, '上虞', 'shang yu', 'shy', '上虞区', NULL, NULL, NULL, NULL), + (330624, 3306, 2, '新昌', 'xin chang', 'xic', '新昌县', NULL, NULL, NULL, NULL), + (330681, 3306, 2, '诸暨', 'zhu ji', 'zhj', '诸暨市', NULL, NULL, NULL, NULL), + (330683, 3306, 2, '嵊州', 'sheng zhou', 'shz', '嵊州市', NULL, NULL, NULL, NULL), + (330702, 3307, 2, '婺城', 'wu cheng', 'wuc', '婺城区', NULL, NULL, NULL, NULL), + (330703, 3307, 2, '金东', 'jin dong', 'jid', '金东区', NULL, NULL, NULL, NULL), + (330723, 3307, 2, '武义', 'wu yi', 'wuy', '武义县', NULL, NULL, NULL, NULL), + (330726, 3307, 2, '浦江', 'pu jiang', 'puj', '浦江县', NULL, NULL, NULL, NULL), + (330727, 3307, 2, '磐安', 'pan an', 'paa', '磐安县', NULL, NULL, NULL, NULL), + (330781, 3307, 2, '兰溪', 'lan xi', 'lax', '兰溪市', NULL, NULL, NULL, NULL), + (330782, 3307, 2, '义乌', 'yi wu', 'yiw', '义乌市', NULL, NULL, NULL, NULL), + (330783, 3307, 2, '东阳', 'dong yang', 'doy', '东阳市', NULL, NULL, NULL, NULL), + (330784, 3307, 2, '永康', 'yong kang', 'yok', '永康市', NULL, NULL, NULL, NULL), + (330802, 3308, 2, '柯城', 'ke cheng', 'kec', '柯城区', NULL, NULL, NULL, NULL), + (330803, 3308, 2, '衢江', 'qu jiang', 'quj', '衢江区', NULL, NULL, NULL, NULL), + (330822, 3308, 2, '常山', 'chang shan', 'chs', '常山县', NULL, NULL, NULL, NULL), + (330824, 3308, 2, '开化', 'kai hua', 'kah', '开化县', NULL, NULL, NULL, NULL), + (330825, 3308, 2, '龙游', 'long you', 'loy', '龙游县', NULL, NULL, NULL, NULL), + (330881, 3308, 2, '江山', 'jiang shan', 'jis', '江山市', NULL, NULL, NULL, NULL), + (330902, 3309, 2, '定海', 'ding hai', 'dih', '定海区', NULL, NULL, NULL, NULL), + (330903, 3309, 2, '普陀', 'pu tuo', 'put', '普陀区', NULL, NULL, NULL, NULL), + (330921, 3309, 2, '岱山', 'dai shan', 'das', '岱山县', NULL, NULL, NULL, NULL), + (330922, 3309, 2, '嵊泗', 'sheng si', 'shs', '嵊泗县', NULL, NULL, NULL, NULL), + (331002, 3310, 2, '椒江', 'jiao jiang', 'jij', '椒江区', NULL, NULL, NULL, NULL), + (331003, 3310, 2, '黄岩', 'huang yan', 'huy', '黄岩区', NULL, NULL, NULL, NULL), + (331004, 3310, 2, '路桥', 'lu qiao', 'luq', '路桥区', NULL, NULL, NULL, NULL), + (331022, 3310, 2, '三门', 'san men', 'sam', '三门县', NULL, NULL, NULL, NULL), + (331023, 3310, 2, '天台', 'tian tai', 'tit', '天台县', NULL, NULL, NULL, NULL), + (331024, 3310, 2, '仙居', 'xian ju', 'xij', '仙居县', NULL, NULL, NULL, NULL), + (331081, 3310, 2, '温岭', 'wen ling', 'wel', '温岭市', NULL, NULL, NULL, NULL), + (331082, 3310, 2, '临海', 'lin hai', 'lih', '临海市', NULL, NULL, NULL, NULL), + (331083, 3310, 2, '玉环', 'yu huan', 'yuh', '玉环市', NULL, NULL, NULL, NULL), + (331102, 3311, 2, '莲都', 'lian du', 'lid', '莲都区', NULL, NULL, NULL, NULL), + (331121, 3311, 2, '青田', 'qing tian', 'qit', '青田县', NULL, NULL, NULL, NULL), + (331122, 3311, 2, '缙云', 'jin yun', 'jiy', '缙云县', NULL, NULL, NULL, NULL), + (331123, 3311, 2, '遂昌', 'sui chang', 'suc', '遂昌县', NULL, NULL, NULL, NULL), + (331124, 3311, 2, '松阳', 'song yang', 'soy', '松阳县', NULL, NULL, NULL, NULL), + (331125, 3311, 2, '云和', 'yun he', 'yuh', '云和县', NULL, NULL, NULL, NULL), + (331126, 3311, 2, '庆元', 'qing yuan', 'qiy', '庆元县', NULL, NULL, NULL, NULL), + (331127, 3311, 2, '景宁畲族自治县', 'jing ning she zu zi zhi xian', 'jins', '景宁畲族自治县', NULL, NULL, NULL, NULL), + (331181, 3311, 2, '龙泉', 'long quan', 'loq', '龙泉市', NULL, NULL, NULL, NULL), + (340102, 3401, 2, '瑶海', 'yao hai', 'yah', '瑶海区', NULL, NULL, NULL, NULL), + (340103, 3401, 2, '庐阳', 'lu yang', 'luy', '庐阳区', NULL, NULL, NULL, NULL), + (340104, 3401, 2, '蜀山', 'shu shan', 'shs', '蜀山区', NULL, NULL, NULL, NULL), + (340111, 3401, 2, '包河', 'bao he', 'bah', '包河区', NULL, NULL, NULL, NULL), + (340121, 3401, 2, '长丰', 'chang feng', 'chf', '长丰县', NULL, NULL, NULL, NULL), + (340122, 3401, 2, '肥东', 'fei dong', 'fed', '肥东县', NULL, NULL, NULL, NULL), + (340123, 3401, 2, '肥西', 'fei xi', 'fex', '肥西县', NULL, NULL, NULL, NULL), + (340124, 3401, 2, '庐江', 'lu jiang', 'luj', '庐江县', NULL, NULL, NULL, NULL), + (340171, 3401, 2, '合肥高新技术产业开发区', 'he fei gao xin ji shu chan ye kai fa qu', 'hefg', '合肥高新技术产业开发区', NULL, NULL, NULL, NULL), + (340172, 3401, 2, '合肥经济技术开发区', 'he fei jing ji ji shu kai fa qu', 'hefj', '合肥经济技术开发区', NULL, NULL, NULL, NULL), + (340173, 3401, 2, '合肥新站高新技术产业开发区', 'he fei xin zhan gao xin ji shu chan ye kai fa qu', 'hefx', '合肥新站高新技术产业开发区', NULL, NULL, NULL, NULL), + (340181, 3401, 2, '巢湖', 'chao hu', 'chh', '巢湖市', NULL, NULL, NULL, NULL), + (340202, 3402, 2, '镜湖', 'jing hu', 'jih', '镜湖区', NULL, NULL, NULL, NULL), + (340203, 3402, 2, '弋江', 'yi jiang', 'yij', '弋江区', NULL, NULL, NULL, NULL), + (340207, 3402, 2, '鸠江', 'jiu jiang', 'jij', '鸠江区', NULL, NULL, NULL, NULL), + (340208, 3402, 2, '三山', 'san shan', 'sas', '三山区', NULL, NULL, NULL, NULL), + (340221, 3402, 2, '芜湖', 'wu hu', 'wuh', '芜湖县', NULL, NULL, NULL, NULL), + (340222, 3402, 2, '繁昌', 'fan chang', 'fac', '繁昌县', NULL, NULL, NULL, NULL), + (340223, 3402, 2, '南陵', 'nan ling', 'nal', '南陵县', NULL, NULL, NULL, NULL), + (340225, 3402, 2, '无为', 'wu wei', 'wuw', '无为县', NULL, NULL, NULL, NULL), + (340271, 3402, 2, '芜湖经济技术开发区', 'wu hu jing ji ji shu kai fa qu', 'wuhj', '芜湖经济技术开发区', NULL, NULL, NULL, NULL), + (340272, 3402, 2, '安徽芜湖长江大桥经济开发区', 'an hui wu hu chang jiang da qiao jing ji kai fa qu', 'anhw', '安徽芜湖长江大桥经济开发区', NULL, NULL, NULL, NULL), + (340302, 3403, 2, '龙子湖', 'long zi hu', 'lozh', '龙子湖区', NULL, NULL, NULL, NULL), + (340303, 3403, 2, '蚌山', 'beng shan', 'bes', '蚌山区', NULL, NULL, NULL, NULL), + (340304, 3403, 2, '禹会', 'yu hui', 'yuh', '禹会区', NULL, NULL, NULL, NULL), + (340311, 3403, 2, '淮上', 'huai shang', 'hus', '淮上区', NULL, NULL, NULL, NULL), + (340321, 3403, 2, '怀远', 'huai yuan', 'huy', '怀远县', NULL, NULL, NULL, NULL), + (340322, 3403, 2, '五河', 'wu he', 'wuh', '五河县', NULL, NULL, NULL, NULL), + (340323, 3403, 2, '固镇', 'gu zhen', 'guz', '固镇县', NULL, NULL, NULL, NULL), + (340371, 3403, 2, '蚌埠市高新技术开发区', 'beng bu shi gao xin ji shu kai fa qu', 'bebs', '蚌埠市高新技术开发区', NULL, NULL, NULL, NULL), + (340372, 3403, 2, '蚌埠市经济开发区', 'beng bu shi jing ji kai fa qu', 'bebs', '蚌埠市经济开发区', NULL, NULL, NULL, NULL), + (340402, 3404, 2, '大通', 'da tong', 'dat', '大通区', NULL, NULL, NULL, NULL), + (340403, 3404, 2, '田家庵', 'tian jia an', 'tija', '田家庵区', NULL, NULL, NULL, NULL), + (340404, 3404, 2, '谢家集', 'xie jia ji', 'xijj', '谢家集区', NULL, NULL, NULL, NULL), + (340405, 3404, 2, '八公山', 'ba gong shan', 'bags', '八公山区', NULL, NULL, NULL, NULL), + (340406, 3404, 2, '潘集', 'pan ji', 'paj', '潘集区', NULL, NULL, NULL, NULL), + (340421, 3404, 2, '凤台', 'feng tai', 'fet', '凤台县', NULL, NULL, NULL, NULL), + (340422, 3404, 2, '寿县', 'shou xian', 'shx', '寿县', NULL, NULL, NULL, NULL), + (340503, 3405, 2, '花山', 'hua shan', 'hus', '花山区', NULL, NULL, NULL, NULL), + (340504, 3405, 2, '雨山', 'yu shan', 'yus', '雨山区', NULL, NULL, NULL, NULL), + (340506, 3405, 2, '博望', 'bo wang', 'bow', '博望区', NULL, NULL, NULL, NULL), + (340521, 3405, 2, '当涂', 'dang tu', 'dat', '当涂县', NULL, NULL, NULL, NULL), + (340522, 3405, 2, '含山', 'han shan', 'has', '含山县', NULL, NULL, NULL, NULL), + (340523, 3405, 2, '和县', 'he xian', 'hex', '和县', NULL, NULL, NULL, NULL), + (340602, 3406, 2, '杜集', 'du ji', 'duj', '杜集区', NULL, NULL, NULL, NULL), + (340603, 3406, 2, '相山', 'xiang shan', 'xis', '相山区', NULL, NULL, NULL, NULL), + (340604, 3406, 2, '烈山', 'lie shan', 'lis', '烈山区', NULL, NULL, NULL, NULL), + (340621, 3406, 2, '濉溪', 'sui xi', 'sux', '濉溪县', NULL, NULL, NULL, NULL), + (340705, 3407, 2, '铜官', 'tong guan', 'tog', '铜官区', NULL, NULL, NULL, NULL), + (340706, 3407, 2, '义安', 'yi an', 'yia', '义安区', NULL, NULL, NULL, NULL), + (340711, 3407, 2, '郊区', 'jiao qu', 'jiq', '郊区', NULL, NULL, NULL, NULL), + (340722, 3407, 2, '枞阳', 'zong yang', 'zoy', '枞阳县', NULL, NULL, NULL, NULL), + (340802, 3408, 2, '迎江', 'ying jiang', 'yij', '迎江区', NULL, NULL, NULL, NULL), + (340803, 3408, 2, '大观', 'da guan', 'dag', '大观区', NULL, NULL, NULL, NULL), + (340811, 3408, 2, '宜秀', 'yi xiu', 'yix', '宜秀区', NULL, NULL, NULL, NULL), + (340822, 3408, 2, '怀宁', 'huai ning', 'hun', '怀宁县', NULL, NULL, NULL, NULL), + (340824, 3408, 2, '潜山', 'qian shan', 'qis', '潜山县', NULL, NULL, NULL, NULL), + (340825, 3408, 2, '太湖', 'tai hu', 'tah', '太湖县', NULL, NULL, NULL, NULL), + (340826, 3408, 2, '宿松', 'su song', 'sus', '宿松县', NULL, NULL, NULL, NULL), + (340827, 3408, 2, '望江', 'wang jiang', 'waj', '望江县', NULL, NULL, NULL, NULL), + (340828, 3408, 2, '岳西', 'yue xi', 'yux', '岳西县', NULL, NULL, NULL, NULL), + (340871, 3408, 2, '安徽安庆经济开发区', 'an hui an qing jing ji kai fa qu', 'anha', '安徽安庆经济开发区', NULL, NULL, NULL, NULL), + (340881, 3408, 2, '桐城', 'tong cheng', 'toc', '桐城市', NULL, NULL, NULL, NULL), + (341002, 3410, 2, '屯溪', 'tun xi', 'tux', '屯溪区', NULL, NULL, NULL, NULL), + (341003, 3410, 2, '黄山', 'huang shan', 'hus', '黄山区', NULL, NULL, NULL, NULL), + (341004, 3410, 2, '徽州', 'hui zhou', 'huz', '徽州区', NULL, NULL, NULL, NULL), + (341021, 3410, 2, '歙县', 'she xian', 'shx', '歙县', NULL, NULL, NULL, NULL), + (341022, 3410, 2, '休宁', 'xiu ning', 'xin', '休宁县', NULL, NULL, NULL, NULL), + (341023, 3410, 2, '黟县', 'yi xian', 'yix', '黟县', NULL, NULL, NULL, NULL), + (341024, 3410, 2, '祁门', 'qi men', 'qim', '祁门县', NULL, NULL, NULL, NULL), + (341102, 3411, 2, '琅琊', 'lang ya', 'lay', '琅琊区', NULL, NULL, NULL, NULL), + (341103, 3411, 2, '南谯', 'nan qiao', 'naq', '南谯区', NULL, NULL, NULL, NULL), + (341122, 3411, 2, '来安', 'lai an', 'laa', '来安县', NULL, NULL, NULL, NULL), + (341124, 3411, 2, '全椒', 'quan jiao', 'quj', '全椒县', NULL, NULL, NULL, NULL), + (341125, 3411, 2, '定远', 'ding yuan', 'diy', '定远县', NULL, NULL, NULL, NULL), + (341126, 3411, 2, '凤阳', 'feng yang', 'fey', '凤阳县', NULL, NULL, NULL, NULL), + (341171, 3411, 2, '苏滁现代产业园', 'su chu xian dai chan ye yuan', 'sucx', '苏滁现代产业园', NULL, NULL, NULL, NULL), + (341172, 3411, 2, '滁州经济技术开发区', 'chu zhou jing ji ji shu kai fa qu', 'chzj', '滁州经济技术开发区', NULL, NULL, NULL, NULL), + (341181, 3411, 2, '天长', 'tian chang', 'tic', '天长市', NULL, NULL, NULL, NULL), + (341182, 3411, 2, '明光', 'ming guang', 'mig', '明光市', NULL, NULL, NULL, NULL), + (341202, 3412, 2, '颍州', 'ying zhou', 'yiz', '颍州区', NULL, NULL, NULL, NULL), + (341203, 3412, 2, '颍东', 'ying dong', 'yid', '颍东区', NULL, NULL, NULL, NULL), + (341204, 3412, 2, '颍泉', 'ying quan', 'yiq', '颍泉区', NULL, NULL, NULL, NULL), + (341221, 3412, 2, '临泉', 'lin quan', 'liq', '临泉县', NULL, NULL, NULL, NULL), + (341222, 3412, 2, '太和', 'tai he', 'tah', '太和县', NULL, NULL, NULL, NULL), + (341225, 3412, 2, '阜南', 'fu nan', 'fun', '阜南县', NULL, NULL, NULL, NULL), + (341226, 3412, 2, '颍上', 'ying shang', 'yis', '颍上县', NULL, NULL, NULL, NULL), + (341271, 3412, 2, '阜阳合肥现代产业园', 'fu yang he fei xian dai chan ye yuan', 'fuyh', '阜阳合肥现代产业园区', NULL, NULL, NULL, NULL), + (341272, 3412, 2, '阜阳经济技术开发区', 'fu yang jing ji ji shu kai fa qu', 'fuyj', '阜阳经济技术开发区', NULL, NULL, NULL, NULL), + (341282, 3412, 2, '界首', 'jie shou', 'jis', '界首市', NULL, NULL, NULL, NULL), + (341302, 3413, 2, '埇桥', 'yong qiao', 'yoq', '埇桥区', NULL, NULL, NULL, NULL), + (341321, 3413, 2, '砀山', 'dang shan', 'das', '砀山县', NULL, NULL, NULL, NULL), + (341322, 3413, 2, '萧县', 'xiao xian', 'xix', '萧县', NULL, NULL, NULL, NULL), + (341323, 3413, 2, '灵璧', 'ling bi', 'lib', '灵璧县', NULL, NULL, NULL, NULL), + (341324, 3413, 2, '泗县', 'si xian', 'six', '泗县', NULL, NULL, NULL, NULL), + (341371, 3413, 2, '宿州马鞍山现代产业园', 'su zhou ma an shan xian dai chan ye yuan', 'suzm', '宿州马鞍山现代产业园区', NULL, NULL, NULL, NULL), + (341372, 3413, 2, '宿州经济技术开发区', 'su zhou jing ji ji shu kai fa qu', 'suzj', '宿州经济技术开发区', NULL, NULL, NULL, NULL), + (341502, 3415, 2, '金安', 'jin an', 'jia', '金安区', NULL, NULL, NULL, NULL), + (341503, 3415, 2, '裕安', 'yu an', 'yua', '裕安区', NULL, NULL, NULL, NULL), + (341504, 3415, 2, '叶集', 'ye ji', 'yej', '叶集区', NULL, NULL, NULL, NULL), + (341522, 3415, 2, '霍邱', 'huo qiu', 'huq', '霍邱县', NULL, NULL, NULL, NULL), + (341523, 3415, 2, '舒城', 'shu cheng', 'shc', '舒城县', NULL, NULL, NULL, NULL), + (341524, 3415, 2, '金寨', 'jin zhai', 'jiz', '金寨县', NULL, NULL, NULL, NULL), + (341525, 3415, 2, '霍山', 'huo shan', 'hus', '霍山县', NULL, NULL, NULL, NULL), + (341602, 3416, 2, '谯城', 'qiao cheng', 'qic', '谯城区', NULL, NULL, NULL, NULL), + (341621, 3416, 2, '涡阳', 'guo yang', 'guy', '涡阳县', NULL, NULL, NULL, NULL), + (341622, 3416, 2, '蒙城', 'meng cheng', 'mec', '蒙城县', NULL, NULL, NULL, NULL), + (341623, 3416, 2, '利辛', 'li xin', 'lix', '利辛县', NULL, NULL, NULL, NULL), + (341702, 3417, 2, '贵池', 'gui chi', 'guc', '贵池区', NULL, NULL, NULL, NULL), + (341721, 3417, 2, '东至', 'dong zhi', 'doz', '东至县', NULL, NULL, NULL, NULL), + (341722, 3417, 2, '石台', 'shi tai', 'sht', '石台县', NULL, NULL, NULL, NULL), + (341723, 3417, 2, '青阳', 'qing yang', 'qiy', '青阳县', NULL, NULL, NULL, NULL), + (341802, 3418, 2, '宣州', 'xuan zhou', 'xuz', '宣州区', NULL, NULL, NULL, NULL), + (341821, 3418, 2, '郎溪', 'lang xi', 'lax', '郎溪县', NULL, NULL, NULL, NULL), + (341822, 3418, 2, '广德', 'guang de', 'gud', '广德县', NULL, NULL, NULL, NULL), + (341823, 3418, 2, '泾县', 'jing xian', 'jix', '泾县', NULL, NULL, NULL, NULL), + (341824, 3418, 2, '绩溪', 'ji xi', 'jix', '绩溪县', NULL, NULL, NULL, NULL), + (341825, 3418, 2, '旌德', 'jing de', 'jid', '旌德县', NULL, NULL, NULL, NULL), + (341871, 3418, 2, '宣城市经济开发区', 'xuan cheng shi jing ji kai fa qu', 'xucs', '宣城市经济开发区', NULL, NULL, NULL, NULL), + (341881, 3418, 2, '宁国', 'ning guo', 'nig', '宁国市', NULL, NULL, NULL, NULL), + (350102, 3501, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (350103, 3501, 2, '台江', 'tai jiang', 'taj', '台江区', NULL, NULL, NULL, NULL), + (350104, 3501, 2, '仓山', 'cang shan', 'cas', '仓山区', NULL, NULL, NULL, NULL), + (350105, 3501, 2, '马尾', 'ma wei', 'maw', '马尾区', NULL, NULL, NULL, NULL), + (350111, 3501, 2, '晋安', 'jin an', 'jia', '晋安区', NULL, NULL, NULL, NULL), + (350121, 3501, 2, '闽侯', 'min hou', 'mih', '闽侯县', NULL, NULL, NULL, NULL), + (350122, 3501, 2, '连江', 'lian jiang', 'lij', '连江县', NULL, NULL, NULL, NULL), + (350123, 3501, 2, '罗源', 'luo yuan', 'luy', '罗源县', NULL, NULL, NULL, NULL), + (350124, 3501, 2, '闽清', 'min qing', 'miq', '闽清县', NULL, NULL, NULL, NULL), + (350125, 3501, 2, '永泰', 'yong tai', 'yot', '永泰县', NULL, NULL, NULL, NULL), + (350128, 3501, 2, '平潭', 'ping tan', 'pit', '平潭县', NULL, NULL, NULL, NULL), + (350181, 3501, 2, '福清', 'fu qing', 'fuq', '福清市', NULL, NULL, NULL, NULL), + (350182, 3501, 2, '长乐', 'chang le', 'chl', '长乐市', NULL, NULL, NULL, NULL), + (350203, 3502, 2, '思明', 'si ming', 'sim', '思明区', NULL, NULL, NULL, NULL), + (350205, 3502, 2, '海沧', 'hai cang', 'hac', '海沧区', NULL, NULL, NULL, NULL), + (350206, 3502, 2, '湖里', 'hu li', 'hul', '湖里区', NULL, NULL, NULL, NULL), + (350211, 3502, 2, '集美', 'ji mei', 'jim', '集美区', NULL, NULL, NULL, NULL), + (350212, 3502, 2, '同安', 'tong an', 'toa', '同安区', NULL, NULL, NULL, NULL), + (350213, 3502, 2, '翔安', 'xiang an', 'xia', '翔安区', NULL, NULL, NULL, NULL), + (350302, 3503, 2, '城厢', 'cheng xiang', 'chx', '城厢区', NULL, NULL, NULL, NULL), + (350303, 3503, 2, '涵江', 'han jiang', 'haj', '涵江区', NULL, NULL, NULL, NULL), + (350304, 3503, 2, '荔城', 'li cheng', 'lic', '荔城区', NULL, NULL, NULL, NULL), + (350305, 3503, 2, '秀屿', 'xiu yu', 'xiy', '秀屿区', NULL, NULL, NULL, NULL), + (350322, 3503, 2, '仙游', 'xian you', 'xiy', '仙游县', NULL, NULL, NULL, NULL), + (350402, 3504, 2, '梅列', 'mei lie', 'mel', '梅列区', NULL, NULL, NULL, NULL), + (350403, 3504, 2, '三元', 'san yuan', 'say', '三元区', NULL, NULL, NULL, NULL), + (350421, 3504, 2, '明溪', 'ming xi', 'mix', '明溪县', NULL, NULL, NULL, NULL), + (350423, 3504, 2, '清流', 'qing liu', 'qil', '清流县', NULL, NULL, NULL, NULL), + (350424, 3504, 2, '宁化', 'ning hua', 'nih', '宁化县', NULL, NULL, NULL, NULL), + (350425, 3504, 2, '大田', 'da tian', 'dat', '大田县', NULL, NULL, NULL, NULL), + (350426, 3504, 2, '尤溪', 'you xi', 'yox', '尤溪县', NULL, NULL, NULL, NULL), + (350427, 3504, 2, '沙县', 'sha xian', 'shx', '沙县', NULL, NULL, NULL, NULL), + (350428, 3504, 2, '将乐', 'jiang le', 'jil', '将乐县', NULL, NULL, NULL, NULL), + (350429, 3504, 2, '泰宁', 'tai ning', 'tan', '泰宁县', NULL, NULL, NULL, NULL), + (350430, 3504, 2, '建宁', 'jian ning', 'jin', '建宁县', NULL, NULL, NULL, NULL), + (350481, 3504, 2, '永安', 'yong an', 'yoa', '永安市', NULL, NULL, NULL, NULL), + (350502, 3505, 2, '鲤城', 'li cheng', 'lic', '鲤城区', NULL, NULL, NULL, NULL), + (350503, 3505, 2, '丰泽', 'feng ze', 'fez', '丰泽区', NULL, NULL, NULL, NULL), + (350504, 3505, 2, '洛江', 'luo jiang', 'luj', '洛江区', NULL, NULL, NULL, NULL), + (350505, 3505, 2, '泉港', 'quan gang', 'qug', '泉港区', NULL, NULL, NULL, NULL), + (350521, 3505, 2, '惠安', 'hui an', 'hua', '惠安县', NULL, NULL, NULL, NULL), + (350524, 3505, 2, '安溪', 'an xi', 'anx', '安溪县', NULL, NULL, NULL, NULL), + (350525, 3505, 2, '永春', 'yong chun', 'yoc', '永春县', NULL, NULL, NULL, NULL), + (350526, 3505, 2, '德化', 'de hua', 'deh', '德化县', NULL, NULL, NULL, NULL), + (350527, 3505, 2, '金门', 'jin men', 'jim', '金门县', NULL, NULL, NULL, NULL), + (350581, 3505, 2, '石狮', 'shi shi', 'shs', '石狮市', NULL, NULL, NULL, NULL), + (350582, 3505, 2, '晋江', 'jin jiang', 'jij', '晋江市', NULL, NULL, NULL, NULL), + (350583, 3505, 2, '南安', 'nan an', 'naa', '南安市', NULL, NULL, NULL, NULL), + (350602, 3506, 2, '芗城', 'xiang cheng', 'xic', '芗城区', NULL, NULL, NULL, NULL), + (350603, 3506, 2, '龙文', 'long wen', 'low', '龙文区', NULL, NULL, NULL, NULL), + (350622, 3506, 2, '云霄', 'yun xiao', 'yux', '云霄县', NULL, NULL, NULL, NULL), + (350623, 3506, 2, '漳浦', 'zhang pu', 'zhp', '漳浦县', NULL, NULL, NULL, NULL), + (350624, 3506, 2, '诏安', 'zhao an', 'zha', '诏安县', NULL, NULL, NULL, NULL), + (350625, 3506, 2, '长泰', 'chang tai', 'cht', '长泰县', NULL, NULL, NULL, NULL), + (350626, 3506, 2, '东山', 'dong shan', 'dos', '东山县', NULL, NULL, NULL, NULL), + (350627, 3506, 2, '南靖', 'nan jing', 'naj', '南靖县', NULL, NULL, NULL, NULL), + (350628, 3506, 2, '平和', 'ping he', 'pih', '平和县', NULL, NULL, NULL, NULL), + (350629, 3506, 2, '华安', 'hua an', 'hua', '华安县', NULL, NULL, NULL, NULL), + (350681, 3506, 2, '龙海', 'long hai', 'loh', '龙海市', NULL, NULL, NULL, NULL), + (350702, 3507, 2, '延平', 'yan ping', 'yap', '延平区', NULL, NULL, NULL, NULL), + (350703, 3507, 2, '建阳', 'jian yang', 'jiy', '建阳区', NULL, NULL, NULL, NULL), + (350721, 3507, 2, '顺昌', 'shun chang', 'shc', '顺昌县', NULL, NULL, NULL, NULL), + (350722, 3507, 2, '浦城', 'pu cheng', 'puc', '浦城县', NULL, NULL, NULL, NULL), + (350723, 3507, 2, '光泽', 'guang ze', 'guz', '光泽县', NULL, NULL, NULL, NULL), + (350724, 3507, 2, '松溪', 'song xi', 'sox', '松溪县', NULL, NULL, NULL, NULL), + (350725, 3507, 2, '政和', 'zheng he', 'zhh', '政和县', NULL, NULL, NULL, NULL), + (350781, 3507, 2, '邵武', 'shao wu', 'shw', '邵武市', NULL, NULL, NULL, NULL), + (350782, 3507, 2, '武夷山', 'wu yi shan', 'wuys', '武夷山市', NULL, NULL, NULL, NULL), + (350783, 3507, 2, '建瓯', 'jian ou', 'jio', '建瓯市', NULL, NULL, NULL, NULL), + (350802, 3508, 2, '新罗', 'xin luo', 'xil', '新罗区', NULL, NULL, NULL, NULL), + (350803, 3508, 2, '永定', 'yong ding', 'yod', '永定区', NULL, NULL, NULL, NULL), + (350821, 3508, 2, '长汀', 'chang ting', 'cht', '长汀县', NULL, NULL, NULL, NULL), + (350823, 3508, 2, '上杭', 'shang hang', 'shh', '上杭县', NULL, NULL, NULL, NULL), + (350824, 3508, 2, '武平', 'wu ping', 'wup', '武平县', NULL, NULL, NULL, NULL), + (350825, 3508, 2, '连城', 'lian cheng', 'lic', '连城县', NULL, NULL, NULL, NULL), + (350881, 3508, 2, '漳平', 'zhang ping', 'zhp', '漳平市', NULL, NULL, NULL, NULL), + (350902, 3509, 2, '蕉城', 'jiao cheng', 'jic', '蕉城区', NULL, NULL, NULL, NULL), + (350921, 3509, 2, '霞浦', 'xia pu', 'xip', '霞浦县', NULL, NULL, NULL, NULL), + (350922, 3509, 2, '古田', 'gu tian', 'gut', '古田县', NULL, NULL, NULL, NULL), + (350923, 3509, 2, '屏南', 'ping nan', 'pin', '屏南县', NULL, NULL, NULL, NULL), + (350924, 3509, 2, '寿宁', 'shou ning', 'shn', '寿宁县', NULL, NULL, NULL, NULL), + (350925, 3509, 2, '周宁', 'zhou ning', 'zhn', '周宁县', NULL, NULL, NULL, NULL), + (350926, 3509, 2, '柘荣', 'zhe rong', 'zhr', '柘荣县', NULL, NULL, NULL, NULL), + (350981, 3509, 2, '福安', 'fu an', 'fua', '福安市', NULL, NULL, NULL, NULL), + (350982, 3509, 2, '福鼎', 'fu ding', 'fud', '福鼎市', NULL, NULL, NULL, NULL), + (360102, 3601, 2, '东湖', 'dong hu', 'doh', '东湖区', NULL, NULL, NULL, NULL), + (360103, 3601, 2, '西湖', 'xi hu', 'xih', '西湖区', NULL, NULL, NULL, NULL), + (360104, 3601, 2, '青云谱', 'qing yun pu', 'qiyp', '青云谱区', NULL, NULL, NULL, NULL), + (360105, 3601, 2, '湾里', 'wan li', 'wal', '湾里区', NULL, NULL, NULL, NULL), + (360111, 3601, 2, '青山湖', 'qing shan hu', 'qish', '青山湖区', NULL, NULL, NULL, NULL), + (360112, 3601, 2, '新建', 'xin jian', 'xij', '新建区', NULL, NULL, NULL, NULL), + (360121, 3601, 2, '南昌', 'nan chang', 'nac', '南昌县', NULL, NULL, NULL, NULL), + (360123, 3601, 2, '安义', 'an yi', 'any', '安义县', NULL, NULL, NULL, NULL), + (360124, 3601, 2, '进贤', 'jin xian', 'jix', '进贤县', NULL, NULL, NULL, NULL), + (360202, 3602, 2, '昌江', 'chang jiang', 'chj', '昌江区', NULL, NULL, NULL, NULL), + (360203, 3602, 2, '珠山', 'zhu shan', 'zhs', '珠山区', NULL, NULL, NULL, NULL), + (360222, 3602, 2, '浮梁', 'fu liang', 'ful', '浮梁县', NULL, NULL, NULL, NULL), + (360281, 3602, 2, '乐平', 'le ping', 'lep', '乐平市', NULL, NULL, NULL, NULL), + (360302, 3603, 2, '安源', 'an yuan', 'any', '安源区', NULL, NULL, NULL, NULL), + (360313, 3603, 2, '湘东', 'xiang dong', 'xid', '湘东区', NULL, NULL, NULL, NULL), + (360321, 3603, 2, '莲花', 'lian hua', 'lih', '莲花县', NULL, NULL, NULL, NULL), + (360322, 3603, 2, '上栗', 'shang li', 'shl', '上栗县', NULL, NULL, NULL, NULL), + (360323, 3603, 2, '芦溪', 'lu xi', 'lux', '芦溪县', NULL, NULL, NULL, NULL), + (360402, 3604, 2, '濂溪', 'lian xi', 'lix', '濂溪区', NULL, NULL, NULL, NULL), + (360403, 3604, 2, '浔阳', 'xun yang', 'xuy', '浔阳区', NULL, NULL, NULL, NULL), + (360404, 3604, 2, '柴桑', 'chai sang', 'chs', '柴桑区', NULL, NULL, NULL, NULL), + (360423, 3604, 2, '武宁', 'wu ning', 'wun', '武宁县', NULL, NULL, NULL, NULL), + (360424, 3604, 2, '修水', 'xiu shui', 'xis', '修水县', NULL, NULL, NULL, NULL), + (360425, 3604, 2, '永修', 'yong xiu', 'yox', '永修县', NULL, NULL, NULL, NULL), + (360426, 3604, 2, '德安', 'de an', 'dea', '德安县', NULL, NULL, NULL, NULL), + (360428, 3604, 2, '都昌', 'du chang', 'duc', '都昌县', NULL, NULL, NULL, NULL), + (360429, 3604, 2, '湖口', 'hu kou', 'huk', '湖口县', NULL, NULL, NULL, NULL), + (360430, 3604, 2, '彭泽', 'peng ze', 'pez', '彭泽县', NULL, NULL, NULL, NULL), + (360481, 3604, 2, '瑞昌', 'rui chang', 'ruc', '瑞昌市', NULL, NULL, NULL, NULL), + (360482, 3604, 2, '共青城', 'gong qing cheng', 'goqc', '共青城市', NULL, NULL, NULL, NULL), + (360483, 3604, 2, '庐山', 'lu shan', 'lus', '庐山市', NULL, NULL, NULL, NULL), + (360502, 3605, 2, '渝水', 'yu shui', 'yus', '渝水区', NULL, NULL, NULL, NULL), + (360521, 3605, 2, '分宜', 'fen yi', 'fey', '分宜县', NULL, NULL, NULL, NULL), + (360602, 3606, 2, '月湖', 'yue hu', 'yuh', '月湖区', NULL, NULL, NULL, NULL), + (360622, 3606, 2, '余江', 'yu jiang', 'yuj', '余江县', NULL, NULL, NULL, NULL), + (360681, 3606, 2, '贵溪', 'gui xi', 'gux', '贵溪市', NULL, NULL, NULL, NULL), + (360702, 3607, 2, '章贡', 'zhang gong', 'zhg', '章贡区', NULL, NULL, NULL, NULL), + (360703, 3607, 2, '南康', 'nan kang', 'nak', '南康区', NULL, NULL, NULL, NULL), + (360704, 3607, 2, '赣县', 'gan xian', 'gax', '赣县区', NULL, NULL, NULL, NULL), + (360722, 3607, 2, '信丰', 'xin feng', 'xif', '信丰县', NULL, NULL, NULL, NULL), + (360723, 3607, 2, '大余', 'da yu', 'day', '大余县', NULL, NULL, NULL, NULL), + (360724, 3607, 2, '上犹', 'shang you', 'shy', '上犹县', NULL, NULL, NULL, NULL), + (360725, 3607, 2, '崇义', 'chong yi', 'chy', '崇义县', NULL, NULL, NULL, NULL), + (360726, 3607, 2, '安远', 'an yuan', 'any', '安远县', NULL, NULL, NULL, NULL), + (360727, 3607, 2, '龙南', 'long nan', 'lon', '龙南县', NULL, NULL, NULL, NULL), + (360728, 3607, 2, '定南', 'ding nan', 'din', '定南县', NULL, NULL, NULL, NULL), + (360729, 3607, 2, '全南', 'quan nan', 'qun', '全南县', NULL, NULL, NULL, NULL), + (360730, 3607, 2, '宁都', 'ning du', 'nid', '宁都县', NULL, NULL, NULL, NULL), + (360731, 3607, 2, '于都', 'yu du', 'yud', '于都县', NULL, NULL, NULL, NULL), + (360732, 3607, 2, '兴国', 'xing guo', 'xig', '兴国县', NULL, NULL, NULL, NULL), + (360733, 3607, 2, '会昌', 'hui chang', 'huc', '会昌县', NULL, NULL, NULL, NULL), + (360734, 3607, 2, '寻乌', 'xun wu', 'xuw', '寻乌县', NULL, NULL, NULL, NULL), + (360735, 3607, 2, '石城', 'shi cheng', 'shc', '石城县', NULL, NULL, NULL, NULL), + (360781, 3607, 2, '瑞金', 'rui jin', 'ruj', '瑞金市', NULL, NULL, NULL, NULL), + (360802, 3608, 2, '吉州', 'ji zhou', 'jiz', '吉州区', NULL, NULL, NULL, NULL), + (360803, 3608, 2, '青原', 'qing yuan', 'qiy', '青原区', NULL, NULL, NULL, NULL), + (360821, 3608, 2, '吉安', 'ji an', 'jia', '吉安县', NULL, NULL, NULL, NULL), + (360822, 3608, 2, '吉水', 'ji shui', 'jis', '吉水县', NULL, NULL, NULL, NULL), + (360823, 3608, 2, '峡江', 'xia jiang', 'xij', '峡江县', NULL, NULL, NULL, NULL), + (360824, 3608, 2, '新干', 'xin gan', 'xig', '新干县', NULL, NULL, NULL, NULL), + (360825, 3608, 2, '永丰', 'yong feng', 'yof', '永丰县', NULL, NULL, NULL, NULL), + (360826, 3608, 2, '泰和', 'tai he', 'tah', '泰和县', NULL, NULL, NULL, NULL), + (360827, 3608, 2, '遂川', 'sui chuan', 'suc', '遂川县', NULL, NULL, NULL, NULL), + (360828, 3608, 2, '万安', 'wan an', 'waa', '万安县', NULL, NULL, NULL, NULL), + (360829, 3608, 2, '安福', 'an fu', 'anf', '安福县', NULL, NULL, NULL, NULL), + (360830, 3608, 2, '永新', 'yong xin', 'yox', '永新县', NULL, NULL, NULL, NULL), + (360881, 3608, 2, '井冈山', 'jing gang shan', 'jigs', '井冈山市', NULL, NULL, NULL, NULL), + (360902, 3609, 2, '袁州', 'yuan zhou', 'yuz', '袁州区', NULL, NULL, NULL, NULL), + (360921, 3609, 2, '奉新', 'feng xin', 'fex', '奉新县', NULL, NULL, NULL, NULL), + (360922, 3609, 2, '万载', 'wan zai', 'waz', '万载县', NULL, NULL, NULL, NULL), + (360923, 3609, 2, '上高', 'shang gao', 'shg', '上高县', NULL, NULL, NULL, NULL), + (360924, 3609, 2, '宜丰', 'yi feng', 'yif', '宜丰县', NULL, NULL, NULL, NULL), + (360925, 3609, 2, '靖安', 'jing an', 'jia', '靖安县', NULL, NULL, NULL, NULL), + (360926, 3609, 2, '铜鼓', 'tong gu', 'tog', '铜鼓县', NULL, NULL, NULL, NULL), + (360981, 3609, 2, '丰城', 'feng cheng', 'fec', '丰城市', NULL, NULL, NULL, NULL), + (360982, 3609, 2, '樟树', 'zhang shu', 'zhs', '樟树市', NULL, NULL, NULL, NULL), + (360983, 3609, 2, '高安', 'gao an', 'gaa', '高安市', NULL, NULL, NULL, NULL), + (361002, 3610, 2, '临川', 'lin chuan', 'lic', '临川区', NULL, NULL, NULL, NULL), + (361003, 3610, 2, '东乡', 'dong xiang', 'dox', '东乡区', NULL, NULL, NULL, NULL), + (361021, 3610, 2, '南城', 'nan cheng', 'nac', '南城县', NULL, NULL, NULL, NULL), + (361022, 3610, 2, '黎川', 'li chuan', 'lic', '黎川县', NULL, NULL, NULL, NULL), + (361023, 3610, 2, '南丰', 'nan feng', 'naf', '南丰县', NULL, NULL, NULL, NULL), + (361024, 3610, 2, '崇仁', 'chong ren', 'chr', '崇仁县', NULL, NULL, NULL, NULL), + (361025, 3610, 2, '乐安', 'le an', 'lea', '乐安县', NULL, NULL, NULL, NULL), + (361026, 3610, 2, '宜黄', 'yi huang', 'yih', '宜黄县', NULL, NULL, NULL, NULL), + (361027, 3610, 2, '金溪', 'jin xi', 'jix', '金溪县', NULL, NULL, NULL, NULL), + (361028, 3610, 2, '资溪', 'zi xi', 'zix', '资溪县', NULL, NULL, NULL, NULL), + (361030, 3610, 2, '广昌', 'guang chang', 'guc', '广昌县', NULL, NULL, NULL, NULL), + (361102, 3611, 2, '信州', 'xin zhou', 'xiz', '信州区', NULL, NULL, NULL, NULL), + (361103, 3611, 2, '广丰', 'guang feng', 'guf', '广丰区', NULL, NULL, NULL, NULL), + (361121, 3611, 2, '上饶', 'shang rao', 'shr', '上饶县', NULL, NULL, NULL, NULL), + (361123, 3611, 2, '玉山', 'yu shan', 'yus', '玉山县', NULL, NULL, NULL, NULL), + (361124, 3611, 2, '铅山', 'yan shan', 'yas', '铅山县', NULL, NULL, NULL, NULL), + (361125, 3611, 2, '横峰', 'heng feng', 'hef', '横峰县', NULL, NULL, NULL, NULL), + (361126, 3611, 2, '弋阳', 'yi yang', 'yiy', '弋阳县', NULL, NULL, NULL, NULL), + (361127, 3611, 2, '余干', 'yu gan', 'yug', '余干县', NULL, NULL, NULL, NULL), + (361128, 3611, 2, '鄱阳', 'po yang', 'poy', '鄱阳县', NULL, NULL, NULL, NULL), + (361129, 3611, 2, '万年', 'wan nian', 'wan', '万年县', NULL, NULL, NULL, NULL), + (361130, 3611, 2, '婺源', 'wu yuan', 'wuy', '婺源县', NULL, NULL, NULL, NULL), + (361181, 3611, 2, '德兴', 'de xing', 'dex', '德兴市', NULL, NULL, NULL, NULL), + (370102, 3701, 2, '历下', 'li xia', 'lix', '历下区', NULL, NULL, NULL, NULL), + (370103, 3701, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (370104, 3701, 2, '槐荫', 'huai yin', 'huy', '槐荫区', NULL, NULL, NULL, NULL), + (370105, 3701, 2, '天桥', 'tian qiao', 'tiq', '天桥区', NULL, NULL, NULL, NULL), + (370112, 3701, 2, '历城', 'li cheng', 'lic', '历城区', NULL, NULL, NULL, NULL), + (370113, 3701, 2, '长清', 'chang qing', 'chq', '长清区', NULL, NULL, NULL, NULL), + (370114, 3701, 2, '章丘', 'zhang qiu', 'zhq', '章丘区', NULL, NULL, NULL, NULL), + (370124, 3701, 2, '平阴', 'ping yin', 'piy', '平阴县', NULL, NULL, NULL, NULL), + (370125, 3701, 2, '济阳', 'ji yang', 'jiy', '济阳县', NULL, NULL, NULL, NULL), + (370126, 3701, 2, '商河', 'shang he', 'shh', '商河县', NULL, NULL, NULL, NULL), + (370171, 3701, 2, '济南高新技术产业开发区', 'ji nan gao xin ji shu chan ye kai fa qu', 'jing', '济南高新技术产业开发区', NULL, NULL, NULL, NULL), + (370202, 3702, 2, '市南', 'shi nan', 'shn', '市南区', NULL, NULL, NULL, NULL), + (370203, 3702, 2, '市北', 'shi bei', 'shb', '市北区', NULL, NULL, NULL, NULL), + (370211, 3702, 2, '黄岛', 'huang dao', 'hud', '黄岛区', NULL, NULL, NULL, NULL), + (370212, 3702, 2, '崂山', 'lao shan', 'las', '崂山区', NULL, NULL, NULL, NULL), + (370213, 3702, 2, '李沧', 'li cang', 'lic', '李沧区', NULL, NULL, NULL, NULL), + (370214, 3702, 2, '城阳', 'cheng yang', 'chy', '城阳区', NULL, NULL, NULL, NULL), + (370215, 3702, 2, '即墨', 'ji mo', 'jim', '即墨区', NULL, NULL, NULL, NULL), + (370271, 3702, 2, '青岛高新技术产业开发区', 'qing dao gao xin ji shu chan ye kai fa qu', 'qidg', '青岛高新技术产业开发区', NULL, NULL, NULL, NULL), + (370281, 3702, 2, '胶州', 'jiao zhou', 'jiz', '胶州市', NULL, NULL, NULL, NULL), + (370283, 3702, 2, '平度', 'ping du', 'pid', '平度市', NULL, NULL, NULL, NULL), + (370285, 3702, 2, '莱西', 'lai xi', 'lax', '莱西市', NULL, NULL, NULL, NULL), + (370302, 3703, 2, '淄川', 'zi chuan', 'zic', '淄川区', NULL, NULL, NULL, NULL), + (370303, 3703, 2, '张店', 'zhang dian', 'zhd', '张店区', NULL, NULL, NULL, NULL), + (370304, 3703, 2, '博山', 'bo shan', 'bos', '博山区', NULL, NULL, NULL, NULL), + (370305, 3703, 2, '临淄', 'lin zi', 'liz', '临淄区', NULL, NULL, NULL, NULL), + (370306, 3703, 2, '周村', 'zhou cun', 'zhc', '周村区', NULL, NULL, NULL, NULL), + (370321, 3703, 2, '桓台', 'huan tai', 'hut', '桓台县', NULL, NULL, NULL, NULL), + (370322, 3703, 2, '高青', 'gao qing', 'gaq', '高青县', NULL, NULL, NULL, NULL), + (370323, 3703, 2, '沂源', 'yi yuan', 'yiy', '沂源县', NULL, NULL, NULL, NULL), + (370402, 3704, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (370403, 3704, 2, '薛城', 'xue cheng', 'xuc', '薛城区', NULL, NULL, NULL, NULL), + (370404, 3704, 2, '峄城', 'yi cheng', 'yic', '峄城区', NULL, NULL, NULL, NULL), + (370405, 3704, 2, '台儿庄', 'tai er zhuang', 'taez', '台儿庄区', NULL, NULL, NULL, NULL), + (370406, 3704, 2, '山亭', 'shan ting', 'sht', '山亭区', NULL, NULL, NULL, NULL), + (370481, 3704, 2, '滕州', 'teng zhou', 'tez', '滕州市', NULL, NULL, NULL, NULL), + (370502, 3705, 2, '东营', 'dong ying', 'doy', '东营区', NULL, NULL, NULL, NULL), + (370503, 3705, 2, '河口', 'he kou', 'hek', '河口区', NULL, NULL, NULL, NULL), + (370505, 3705, 2, '垦利', 'ken li', 'kel', '垦利区', NULL, NULL, NULL, NULL), + (370522, 3705, 2, '利津', 'li jin', 'lij', '利津县', NULL, NULL, NULL, NULL), + (370523, 3705, 2, '广饶', 'guang rao', 'gur', '广饶县', NULL, NULL, NULL, NULL), + (370571, 3705, 2, '东营经济技术开发区', 'dong ying jing ji ji shu kai fa qu', 'doyj', '东营经济技术开发区', NULL, NULL, NULL, NULL), + (370572, 3705, 2, '东营港经济开发区', 'dong ying gang jing ji kai fa qu', 'doyg', '东营港经济开发区', NULL, NULL, NULL, NULL), + (370602, 3706, 2, '芝罘', 'zhi fu', 'zhf', '芝罘区', NULL, NULL, NULL, NULL), + (370611, 3706, 2, '福山', 'fu shan', 'fus', '福山区', NULL, NULL, NULL, NULL), + (370612, 3706, 2, '牟平', 'mu ping', 'mup', '牟平区', NULL, NULL, NULL, NULL), + (370613, 3706, 2, '莱山', 'lai shan', 'las', '莱山区', NULL, NULL, NULL, NULL), + (370634, 3706, 2, '长岛', 'chang dao', 'chd', '长岛县', NULL, NULL, NULL, NULL), + (370671, 3706, 2, '烟台高新技术产业开发区', 'yan tai gao xin ji shu chan ye kai fa qu', 'yatg', '烟台高新技术产业开发区', NULL, NULL, NULL, NULL), + (370672, 3706, 2, '烟台经济技术开发区', 'yan tai jing ji ji shu kai fa qu', 'yatj', '烟台经济技术开发区', NULL, NULL, NULL, NULL), + (370681, 3706, 2, '龙口', 'long kou', 'lok', '龙口市', NULL, NULL, NULL, NULL), + (370682, 3706, 2, '莱阳', 'lai yang', 'lay', '莱阳市', NULL, NULL, NULL, NULL), + (370683, 3706, 2, '莱州', 'lai zhou', 'laz', '莱州市', NULL, NULL, NULL, NULL), + (370684, 3706, 2, '蓬莱', 'peng lai', 'pel', '蓬莱市', NULL, NULL, NULL, NULL), + (370685, 3706, 2, '招远', 'zhao yuan', 'zhy', '招远市', NULL, NULL, NULL, NULL), + (370686, 3706, 2, '栖霞', 'qi xia', 'qix', '栖霞市', NULL, NULL, NULL, NULL), + (370687, 3706, 2, '海阳', 'hai yang', 'hay', '海阳市', NULL, NULL, NULL, NULL), + (370702, 3707, 2, '潍城', 'wei cheng', 'wec', '潍城区', NULL, NULL, NULL, NULL), + (370703, 3707, 2, '寒亭', 'han ting', 'hat', '寒亭区', NULL, NULL, NULL, NULL), + (370704, 3707, 2, '坊子', 'fang zi', 'faz', '坊子区', NULL, NULL, NULL, NULL), + (370705, 3707, 2, '奎文', 'kui wen', 'kuw', '奎文区', NULL, NULL, NULL, NULL), + (370724, 3707, 2, '临朐', 'lin qu', 'liq', '临朐县', NULL, NULL, NULL, NULL), + (370725, 3707, 2, '昌乐', 'chang le', 'chl', '昌乐县', NULL, NULL, NULL, NULL), + (370772, 3707, 2, '潍坊滨海经济技术开发区', 'wei fang bin hai jing ji ji shu kai fa qu', 'wefb', '潍坊滨海经济技术开发区', NULL, NULL, NULL, NULL), + (370781, 3707, 2, '青州', 'qing zhou', 'qiz', '青州市', NULL, NULL, NULL, NULL), + (370782, 3707, 2, '诸城', 'zhu cheng', 'zhc', '诸城市', NULL, NULL, NULL, NULL), + (370783, 3707, 2, '寿光', 'shou guang', 'shg', '寿光市', NULL, NULL, NULL, NULL), + (370784, 3707, 2, '安丘', 'an qiu', 'anq', '安丘市', NULL, NULL, NULL, NULL), + (370785, 3707, 2, '高密', 'gao mi', 'gam', '高密市', NULL, NULL, NULL, NULL), + (370786, 3707, 2, '昌邑', 'chang yi', 'chy', '昌邑市', NULL, NULL, NULL, NULL), + (370811, 3708, 2, '任城', 'ren cheng', 'rec', '任城区', NULL, NULL, NULL, NULL), + (370812, 3708, 2, '兖州', 'yan zhou', 'yaz', '兖州区', NULL, NULL, NULL, NULL), + (370826, 3708, 2, '微山', 'wei shan', 'wes', '微山县', NULL, NULL, NULL, NULL), + (370827, 3708, 2, '鱼台', 'yu tai', 'yut', '鱼台县', NULL, NULL, NULL, NULL), + (370828, 3708, 2, '金乡', 'jin xiang', 'jix', '金乡县', NULL, NULL, NULL, NULL), + (370829, 3708, 2, '嘉祥', 'jia xiang', 'jix', '嘉祥县', NULL, NULL, NULL, NULL), + (370830, 3708, 2, '汶上', 'wen shang', 'wes', '汶上县', NULL, NULL, NULL, NULL), + (370831, 3708, 2, '泗水', 'si shui', 'sis', '泗水县', NULL, NULL, NULL, NULL), + (370832, 3708, 2, '梁山', 'liang shan', 'lis', '梁山县', NULL, NULL, NULL, NULL), + (370871, 3708, 2, '济宁高新技术产业开发区', 'ji ning gao xin ji shu chan ye kai fa qu', 'jing', '济宁高新技术产业开发区', NULL, NULL, NULL, NULL), + (370881, 3708, 2, '曲阜', 'qu fu', 'quf', '曲阜市', NULL, NULL, NULL, NULL), + (370883, 3708, 2, '邹城', 'zou cheng', 'zoc', '邹城市', NULL, NULL, NULL, NULL), + (370902, 3709, 2, '泰山', 'tai shan', 'tas', '泰山区', NULL, NULL, NULL, NULL), + (370911, 3709, 2, '岱岳', 'dai yue', 'day', '岱岳区', NULL, NULL, NULL, NULL), + (370921, 3709, 2, '宁阳', 'ning yang', 'niy', '宁阳县', NULL, NULL, NULL, NULL), + (370923, 3709, 2, '东平', 'dong ping', 'dop', '东平县', NULL, NULL, NULL, NULL), + (370982, 3709, 2, '新泰', 'xin tai', 'xit', '新泰市', NULL, NULL, NULL, NULL), + (370983, 3709, 2, '肥城', 'fei cheng', 'fec', '肥城市', NULL, NULL, NULL, NULL), + (371002, 3710, 2, '环翠', 'huan cui', 'huc', '环翠区', NULL, NULL, NULL, NULL), + (371003, 3710, 2, '文登', 'wen deng', 'wed', '文登区', NULL, NULL, NULL, NULL), + (371071, 3710, 2, '威海火炬高技术产业开发区', 'wei hai huo ju gao ji shu chan ye kai fa qu', 'wehh', '威海火炬高技术产业开发区', NULL, NULL, NULL, NULL), + (371072, 3710, 2, '威海经济技术开发区', 'wei hai jing ji ji shu kai fa qu', 'wehj', '威海经济技术开发区', NULL, NULL, NULL, NULL), + (371073, 3710, 2, '威海临港经济技术开发区', 'wei hai lin gang jing ji ji shu kai fa qu', 'wehl', '威海临港经济技术开发区', NULL, NULL, NULL, NULL), + (371082, 3710, 2, '荣成', 'rong cheng', 'roc', '荣成市', NULL, NULL, NULL, NULL), + (371083, 3710, 2, '乳山', 'ru shan', 'rus', '乳山市', NULL, NULL, NULL, NULL), + (371102, 3711, 2, '东港', 'dong gang', 'dog', '东港区', NULL, NULL, NULL, NULL), + (371103, 3711, 2, '岚山', 'lan shan', 'las', '岚山区', NULL, NULL, NULL, NULL), + (371121, 3711, 2, '五莲', 'wu lian', 'wul', '五莲县', NULL, NULL, NULL, NULL), + (371122, 3711, 2, '莒县', 'ju xian', 'jux', '莒县', NULL, NULL, NULL, NULL), + (371171, 3711, 2, '日照经济技术开发区', 'ri zhao jing ji ji shu kai fa qu', 'rizj', '日照经济技术开发区', NULL, NULL, NULL, NULL), + (371172, 3711, 2, '日照国际海洋城', 'ri zhao guo ji hai yang cheng', 'rizg', '日照国际海洋城', NULL, NULL, NULL, NULL), + (371202, 3712, 2, '莱城', 'lai cheng', 'lac', '莱城区', NULL, NULL, NULL, NULL), + (371203, 3712, 2, '钢城', 'gang cheng', 'gac', '钢城区', NULL, NULL, NULL, NULL), + (371302, 3713, 2, '兰山', 'lan shan', 'las', '兰山区', NULL, NULL, NULL, NULL), + (371311, 3713, 2, '罗庄', 'luo zhuang', 'luz', '罗庄区', NULL, NULL, NULL, NULL), + (371312, 3713, 2, '河东', 'he dong', 'hed', '河东区', NULL, NULL, NULL, NULL), + (371321, 3713, 2, '沂南', 'yi nan', 'yin', '沂南县', NULL, NULL, NULL, NULL), + (371322, 3713, 2, '郯城', 'tan cheng', 'tac', '郯城县', NULL, NULL, NULL, NULL), + (371323, 3713, 2, '沂水', 'yi shui', 'yis', '沂水县', NULL, NULL, NULL, NULL), + (371324, 3713, 2, '兰陵', 'lan ling', 'lal', '兰陵县', NULL, NULL, NULL, NULL), + (371325, 3713, 2, '费县', 'fei xian', 'fex', '费县', NULL, NULL, NULL, NULL), + (371326, 3713, 2, '平邑', 'ping yi', 'piy', '平邑县', NULL, NULL, NULL, NULL), + (371327, 3713, 2, '莒南', 'ju nan', 'jun', '莒南县', NULL, NULL, NULL, NULL), + (371328, 3713, 2, '蒙阴', 'meng yin', 'mey', '蒙阴县', NULL, NULL, NULL, NULL), + (371329, 3713, 2, '临沭', 'lin shu', 'lis', '临沭县', NULL, NULL, NULL, NULL), + (371371, 3713, 2, '临沂高新技术产业开发区', 'lin yi gao xin ji shu chan ye kai fa qu', 'liyg', '临沂高新技术产业开发区', NULL, NULL, NULL, NULL), + (371372, 3713, 2, '临沂经济技术开发区', 'lin yi jing ji ji shu kai fa qu', 'liyj', '临沂经济技术开发区', NULL, NULL, NULL, NULL), + (371373, 3713, 2, '临沂临港经济开发区', 'lin yi lin gang jing ji kai fa qu', 'liyl', '临沂临港经济开发区', NULL, NULL, NULL, NULL), + (371402, 3714, 2, '德城', 'de cheng', 'dec', '德城区', NULL, NULL, NULL, NULL), + (371403, 3714, 2, '陵城', 'ling cheng', 'lic', '陵城区', NULL, NULL, NULL, NULL), + (371422, 3714, 2, '宁津', 'ning jin', 'nij', '宁津县', NULL, NULL, NULL, NULL), + (371423, 3714, 2, '庆云', 'qing yun', 'qiy', '庆云县', NULL, NULL, NULL, NULL), + (371424, 3714, 2, '临邑', 'lin yi', 'liy', '临邑县', NULL, NULL, NULL, NULL), + (371425, 3714, 2, '齐河', 'qi he', 'qih', '齐河县', NULL, NULL, NULL, NULL), + (371426, 3714, 2, '平原', 'ping yuan', 'piy', '平原县', NULL, NULL, NULL, NULL), + (371427, 3714, 2, '夏津', 'xia jin', 'xij', '夏津县', NULL, NULL, NULL, NULL), + (371428, 3714, 2, '武城', 'wu cheng', 'wuc', '武城县', NULL, NULL, NULL, NULL), + (371471, 3714, 2, '德州经济技术开发区', 'de zhou jing ji ji shu kai fa qu', 'dezj', '德州经济技术开发区', NULL, NULL, NULL, NULL), + (371472, 3714, 2, '德州运河经济开发区', 'de zhou yun he jing ji kai fa qu', 'dezy', '德州运河经济开发区', NULL, NULL, NULL, NULL), + (371481, 3714, 2, '乐陵', 'le ling', 'lel', '乐陵市', NULL, NULL, NULL, NULL), + (371482, 3714, 2, '禹城', 'yu cheng', 'yuc', '禹城市', NULL, NULL, NULL, NULL), + (371502, 3715, 2, '东昌府', 'dong chang fu', 'docf', '东昌府区', NULL, NULL, NULL, NULL), + (371521, 3715, 2, '阳谷', 'yang gu', 'yag', '阳谷县', NULL, NULL, NULL, NULL), + (371522, 3715, 2, '莘县', 'shen xian', 'shx', '莘县', NULL, NULL, NULL, NULL), + (371523, 3715, 2, '茌平', 'chi ping', 'chp', '茌平县', NULL, NULL, NULL, NULL), + (371524, 3715, 2, '东阿', 'dong e', 'doe', '东阿县', NULL, NULL, NULL, NULL), + (371525, 3715, 2, '冠县', 'guan xian', 'gux', '冠县', NULL, NULL, NULL, NULL), + (371526, 3715, 2, '高唐', 'gao tang', 'gat', '高唐县', NULL, NULL, NULL, NULL), + (371581, 3715, 2, '临清', 'lin qing', 'liq', '临清市', NULL, NULL, NULL, NULL), + (371602, 3716, 2, '滨城', 'bin cheng', 'bic', '滨城区', NULL, NULL, NULL, NULL), + (371603, 3716, 2, '沾化', 'zhan hua', 'zhh', '沾化区', NULL, NULL, NULL, NULL), + (371621, 3716, 2, '惠民', 'hui min', 'hum', '惠民县', NULL, NULL, NULL, NULL), + (371622, 3716, 2, '阳信', 'yang xin', 'yax', '阳信县', NULL, NULL, NULL, NULL), + (371623, 3716, 2, '无棣', 'wu di', 'wud', '无棣县', NULL, NULL, NULL, NULL), + (371625, 3716, 2, '博兴', 'bo xing', 'box', '博兴县', NULL, NULL, NULL, NULL), + (371626, 3716, 2, '邹平', 'zou ping', 'zop', '邹平县', NULL, NULL, NULL, NULL), + (371702, 3717, 2, '牡丹', 'mu dan', 'mud', '牡丹区', NULL, NULL, NULL, NULL), + (371703, 3717, 2, '定陶', 'ding tao', 'dit', '定陶区', NULL, NULL, NULL, NULL), + (371721, 3717, 2, '曹县', 'cao xian', 'cax', '曹县', NULL, NULL, NULL, NULL), + (371722, 3717, 2, '单县', 'shan xian', 'shx', '单县', NULL, NULL, NULL, NULL), + (371723, 3717, 2, '成武', 'cheng wu', 'chw', '成武县', NULL, NULL, NULL, NULL), + (371724, 3717, 2, '巨野', 'ju ye', 'juy', '巨野县', NULL, NULL, NULL, NULL), + (371725, 3717, 2, '郓城', 'yun cheng', 'yuc', '郓城县', NULL, NULL, NULL, NULL), + (371726, 3717, 2, '鄄城', 'juan cheng', 'juc', '鄄城县', NULL, NULL, NULL, NULL), + (371728, 3717, 2, '东明', 'dong ming', 'dom', '东明县', NULL, NULL, NULL, NULL), + (371771, 3717, 2, '菏泽经济技术开发区', 'he ze jing ji ji shu kai fa qu', 'hezj', '菏泽经济技术开发区', NULL, NULL, NULL, NULL), + (371772, 3717, 2, '菏泽高新技术开发区', 'he ze gao xin ji shu kai fa qu', 'hezg', '菏泽高新技术开发区', NULL, NULL, NULL, NULL), + (410102, 4101, 2, '中原', 'zhong yuan', 'zhy', '中原区', NULL, NULL, NULL, NULL), + (410103, 4101, 2, '二七', 'er qi', 'erq', '二七区', NULL, NULL, NULL, NULL), + (410104, 4101, 2, '管城回族', 'guan cheng hui zu', 'guch', '管城回族区', NULL, NULL, NULL, NULL), + (410105, 4101, 2, '金水', 'jin shui', 'jis', '金水区', NULL, NULL, NULL, NULL), + (410106, 4101, 2, '上街', 'shang jie', 'shj', '上街区', NULL, NULL, NULL, NULL), + (410108, 4101, 2, '惠济', 'hui ji', 'huj', '惠济区', NULL, NULL, NULL, NULL), + (410122, 4101, 2, '中牟', 'zhong mu', 'zhm', '中牟县', NULL, NULL, NULL, NULL), + (410171, 4101, 2, '郑州经济技术开发区', 'zheng zhou jing ji ji shu kai fa qu', 'zhzj', '郑州经济技术开发区', NULL, NULL, NULL, NULL), + (410172, 4101, 2, '郑州高新技术产业开发区', 'zheng zhou gao xin ji shu chan ye kai fa qu', 'zhzg', '郑州高新技术产业开发区', NULL, NULL, NULL, NULL), + (410173, 4101, 2, '郑州航空港经济综合实验', 'zheng zhou hang kong gang jing ji zong he shi yan', 'zhzh', '郑州航空港经济综合实验区', NULL, NULL, NULL, NULL), + (410181, 4101, 2, '巩义', 'gong yi', 'goy', '巩义市', NULL, NULL, NULL, NULL), + (410182, 4101, 2, '荥阳', 'xing yang', 'xiy', '荥阳市', NULL, NULL, NULL, NULL), + (410183, 4101, 2, '新密', 'xin mi', 'xim', '新密市', NULL, NULL, NULL, NULL), + (410184, 4101, 2, '新郑', 'xin zheng', 'xiz', '新郑市', NULL, NULL, NULL, NULL), + (410185, 4101, 2, '登封', 'deng feng', 'def', '登封市', NULL, NULL, NULL, NULL), + (410202, 4102, 2, '龙亭', 'long ting', 'lot', '龙亭区', NULL, NULL, NULL, NULL), + (410203, 4102, 2, '顺河回族', 'shun he hui zu', 'shhh', '顺河回族区', NULL, NULL, NULL, NULL), + (410204, 4102, 2, '鼓楼', 'gu lou', 'gul', '鼓楼区', NULL, NULL, NULL, NULL), + (410205, 4102, 2, '禹王台', 'yu wang tai', 'yuwt', '禹王台区', NULL, NULL, NULL, NULL), + (410212, 4102, 2, '祥符', 'xiang fu', 'xif', '祥符区', NULL, NULL, NULL, NULL), + (410221, 4102, 2, '杞县', 'qi xian', 'qix', '杞县', NULL, NULL, NULL, NULL), + (410222, 4102, 2, '通许', 'tong xu', 'tox', '通许县', NULL, NULL, NULL, NULL), + (410223, 4102, 2, '尉氏', 'wei shi', 'wes', '尉氏县', NULL, NULL, NULL, NULL), + (410225, 4102, 2, '兰考', 'lan kao', 'lak', '兰考县', NULL, NULL, NULL, NULL), + (410302, 4103, 2, '老城', 'lao cheng', 'lac', '老城区', NULL, NULL, NULL, NULL), + (410303, 4103, 2, '西工', 'xi gong', 'xig', '西工区', NULL, NULL, NULL, NULL), + (410304, 4103, 2, '瀍河回族', 'chan he hui zu', 'chhh', '瀍河回族区', NULL, NULL, NULL, NULL), + (410305, 4103, 2, '涧西', 'jian xi', 'jix', '涧西区', NULL, NULL, NULL, NULL), + (410306, 4103, 2, '吉利', 'ji li', 'jil', '吉利区', NULL, NULL, NULL, NULL), + (410311, 4103, 2, '洛龙', 'luo long', 'lul', '洛龙区', NULL, NULL, NULL, NULL), + (410322, 4103, 2, '孟津', 'meng jin', 'mej', '孟津县', NULL, NULL, NULL, NULL), + (410323, 4103, 2, '新安', 'xin an', 'xia', '新安县', NULL, NULL, NULL, NULL), + (410324, 4103, 2, '栾川', 'luan chuan', 'luc', '栾川县', NULL, NULL, NULL, NULL), + (410325, 4103, 2, '嵩县', 'song xian', 'sox', '嵩县', NULL, NULL, NULL, NULL), + (410326, 4103, 2, '汝阳', 'ru yang', 'ruy', '汝阳县', NULL, NULL, NULL, NULL), + (410327, 4103, 2, '宜阳', 'yi yang', 'yiy', '宜阳县', NULL, NULL, NULL, NULL), + (410328, 4103, 2, '洛宁', 'luo ning', 'lun', '洛宁县', NULL, NULL, NULL, NULL), + (410329, 4103, 2, '伊川', 'yi chuan', 'yic', '伊川县', NULL, NULL, NULL, NULL), + (410371, 4103, 2, '洛阳高新技术产业开发区', 'luo yang gao xin ji shu chan ye kai fa qu', 'luyg', '洛阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (410381, 4103, 2, '偃师', 'yan shi', 'yas', '偃师市', NULL, NULL, NULL, NULL), + (410402, 4104, 2, '新华', 'xin hua', 'xih', '新华区', NULL, NULL, NULL, NULL), + (410403, 4104, 2, '卫东', 'wei dong', 'wed', '卫东区', NULL, NULL, NULL, NULL), + (410404, 4104, 2, '石龙', 'shi long', 'shl', '石龙区', NULL, NULL, NULL, NULL), + (410411, 4104, 2, '湛河', 'zhan he', 'zhh', '湛河区', NULL, NULL, NULL, NULL), + (410421, 4104, 2, '宝丰', 'bao feng', 'baf', '宝丰县', NULL, NULL, NULL, NULL), + (410422, 4104, 2, '叶县', 'ye xian', 'yex', '叶县', NULL, NULL, NULL, NULL), + (410423, 4104, 2, '鲁山', 'lu shan', 'lus', '鲁山县', NULL, NULL, NULL, NULL), + (410425, 4104, 2, '郏县', 'jia xian', 'jix', '郏县', NULL, NULL, NULL, NULL), + (410471, 4104, 2, '平顶山高新技术产业开发区', 'ping ding shan gao xin ji shu chan ye kai fa qu', 'pids', '平顶山高新技术产业开发区', NULL, NULL, NULL, NULL), + (410472, 4104, 2, '平顶山市新城', 'ping ding shan shi xin cheng', 'pids', '平顶山市新城区', NULL, NULL, NULL, NULL), + (410481, 4104, 2, '舞钢', 'wu gang', 'wug', '舞钢市', NULL, NULL, NULL, NULL), + (410482, 4104, 2, '汝州', 'ru zhou', 'ruz', '汝州市', NULL, NULL, NULL, NULL), + (410502, 4105, 2, '文峰', 'wen feng', 'wef', '文峰区', NULL, NULL, NULL, NULL), + (410503, 4105, 2, '北关', 'bei guan', 'beg', '北关区', NULL, NULL, NULL, NULL), + (410505, 4105, 2, '殷都', 'yin du', 'yid', '殷都区', NULL, NULL, NULL, NULL), + (410506, 4105, 2, '龙安', 'long an', 'loa', '龙安区', NULL, NULL, NULL, NULL), + (410522, 4105, 2, '安阳', 'an yang', 'any', '安阳县', NULL, NULL, NULL, NULL), + (410523, 4105, 2, '汤阴', 'tang yin', 'tay', '汤阴县', NULL, NULL, NULL, NULL), + (410526, 4105, 2, '滑县', 'hua xian', 'hux', '滑县', NULL, NULL, NULL, NULL), + (410527, 4105, 2, '内黄', 'nei huang', 'neh', '内黄县', NULL, NULL, NULL, NULL), + (410571, 4105, 2, '安阳高新技术产业开发区', 'an yang gao xin ji shu chan ye kai fa qu', 'anyg', '安阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (410581, 4105, 2, '林州', 'lin zhou', 'liz', '林州市', NULL, NULL, NULL, NULL), + (410602, 4106, 2, '鹤山', 'he shan', 'hes', '鹤山区', NULL, NULL, NULL, NULL), + (410603, 4106, 2, '山城', 'shan cheng', 'shc', '山城区', NULL, NULL, NULL, NULL), + (410611, 4106, 2, '淇滨', 'qi bin', 'qib', '淇滨区', NULL, NULL, NULL, NULL), + (410621, 4106, 2, '浚县', 'xun xian', 'xux', '浚县', NULL, NULL, NULL, NULL), + (410622, 4106, 2, '淇县', 'qi xian', 'qix', '淇县', NULL, NULL, NULL, NULL), + (410671, 4106, 2, '鹤壁经济技术开发区', 'he bi jing ji ji shu kai fa qu', 'hebj', '鹤壁经济技术开发区', NULL, NULL, NULL, NULL), + (410702, 4107, 2, '红旗', 'hong qi', 'hoq', '红旗区', NULL, NULL, NULL, NULL), + (410703, 4107, 2, '卫滨', 'wei bin', 'web', '卫滨区', NULL, NULL, NULL, NULL), + (410704, 4107, 2, '凤泉', 'feng quan', 'feq', '凤泉区', NULL, NULL, NULL, NULL), + (410711, 4107, 2, '牧野', 'mu ye', 'muy', '牧野区', NULL, NULL, NULL, NULL), + (410721, 4107, 2, '新乡', 'xin xiang', 'xix', '新乡县', NULL, NULL, NULL, NULL), + (410724, 4107, 2, '获嘉', 'huo jia', 'huj', '获嘉县', NULL, NULL, NULL, NULL), + (410725, 4107, 2, '原阳', 'yuan yang', 'yuy', '原阳县', NULL, NULL, NULL, NULL), + (410726, 4107, 2, '延津', 'yan jin', 'yaj', '延津县', NULL, NULL, NULL, NULL), + (410727, 4107, 2, '封丘', 'feng qiu', 'feq', '封丘县', NULL, NULL, NULL, NULL), + (410728, 4107, 2, '长垣', 'chang yuan', 'chy', '长垣县', NULL, NULL, NULL, NULL), + (410771, 4107, 2, '新乡高新技术产业开发区', 'xin xiang gao xin ji shu chan ye kai fa qu', 'xixg', '新乡高新技术产业开发区', NULL, NULL, NULL, NULL), + (410772, 4107, 2, '新乡经济技术开发区', 'xin xiang jing ji ji shu kai fa qu', 'xixj', '新乡经济技术开发区', NULL, NULL, NULL, NULL), + (410773, 4107, 2, '新乡市平原城乡一体化示范区', 'xin xiang shi ping yuan cheng xiang yi ti hua shi fan qu', 'xixs', '新乡市平原城乡一体化示范区', NULL, NULL, NULL, NULL), + (410781, 4107, 2, '卫辉', 'wei hui', 'weh', '卫辉市', NULL, NULL, NULL, NULL), + (410782, 4107, 2, '辉县', 'hui xian', 'hux', '辉县市', NULL, NULL, NULL, NULL), + (410802, 4108, 2, '解放', 'jie fang', 'jif', '解放区', NULL, NULL, NULL, NULL), + (410803, 4108, 2, '中站', 'zhong zhan', 'zhz', '中站区', NULL, NULL, NULL, NULL), + (410804, 4108, 2, '马村', 'ma cun', 'mac', '马村区', NULL, NULL, NULL, NULL), + (410811, 4108, 2, '山阳', 'shan yang', 'shy', '山阳区', NULL, NULL, NULL, NULL), + (410821, 4108, 2, '修武', 'xiu wu', 'xiw', '修武县', NULL, NULL, NULL, NULL), + (410822, 4108, 2, '博爱', 'bo ai', 'boa', '博爱县', NULL, NULL, NULL, NULL), + (410823, 4108, 2, '武陟', 'wu zhi', 'wuz', '武陟县', NULL, NULL, NULL, NULL), + (410825, 4108, 2, '温县', 'wen xian', 'wex', '温县', NULL, NULL, NULL, NULL), + (410871, 4108, 2, '焦作城乡一体化示范区', 'jiao zuo cheng xiang yi ti hua shi fan qu', 'jizc', '焦作城乡一体化示范区', NULL, NULL, NULL, NULL), + (410882, 4108, 2, '沁阳', 'qin yang', 'qiy', '沁阳市', NULL, NULL, NULL, NULL), + (410883, 4108, 2, '孟州', 'meng zhou', 'mez', '孟州市', NULL, NULL, NULL, NULL), + (410902, 4109, 2, '华龙', 'hua long', 'hul', '华龙区', NULL, NULL, NULL, NULL), + (410922, 4109, 2, '清丰', 'qing feng', 'qif', '清丰县', NULL, NULL, NULL, NULL), + (410923, 4109, 2, '南乐', 'nan le', 'nal', '南乐县', NULL, NULL, NULL, NULL), + (410926, 4109, 2, '范县', 'fan xian', 'fax', '范县', NULL, NULL, NULL, NULL), + (410927, 4109, 2, '台前', 'tai qian', 'taq', '台前县', NULL, NULL, NULL, NULL), + (410928, 4109, 2, '濮阳', 'pu yang', 'puy', '濮阳县', NULL, NULL, NULL, NULL), + (410971, 4109, 2, '河南濮阳工业园', 'he nan pu yang gong ye yuan', 'henp', '河南濮阳工业园区', NULL, NULL, NULL, NULL), + (410972, 4109, 2, '濮阳经济技术开发区', 'pu yang jing ji ji shu kai fa qu', 'puyj', '濮阳经济技术开发区', NULL, NULL, NULL, NULL), + (411002, 4110, 2, '魏都', 'wei du', 'wed', '魏都区', NULL, NULL, NULL, NULL), + (411003, 4110, 2, '建安', 'jian an', 'jia', '建安区', NULL, NULL, NULL, NULL), + (411024, 4110, 2, '鄢陵', 'yan ling', 'yal', '鄢陵县', NULL, NULL, NULL, NULL), + (411025, 4110, 2, '襄城', 'xiang cheng', 'xic', '襄城县', NULL, NULL, NULL, NULL), + (411071, 4110, 2, '许昌经济技术开发区', 'xu chang jing ji ji shu kai fa qu', 'xucj', '许昌经济技术开发区', NULL, NULL, NULL, NULL), + (411081, 4110, 2, '禹州', 'yu zhou', 'yuz', '禹州市', NULL, NULL, NULL, NULL), + (411082, 4110, 2, '长葛', 'chang ge', 'chg', '长葛市', NULL, NULL, NULL, NULL), + (411102, 4111, 2, '源汇', 'yuan hui', 'yuh', '源汇区', NULL, NULL, NULL, NULL), + (411103, 4111, 2, '郾城', 'yan cheng', 'yac', '郾城区', NULL, NULL, NULL, NULL), + (411104, 4111, 2, '召陵', 'shao ling', 'shl', '召陵区', NULL, NULL, NULL, NULL), + (411121, 4111, 2, '舞阳', 'wu yang', 'wuy', '舞阳县', NULL, NULL, NULL, NULL), + (411122, 4111, 2, '临颍', 'lin ying', 'liy', '临颍县', NULL, NULL, NULL, NULL), + (411171, 4111, 2, '漯河经济技术开发区', 'luo he jing ji ji shu kai fa qu', 'luhj', '漯河经济技术开发区', NULL, NULL, NULL, NULL), + (411202, 4112, 2, '湖滨', 'hu bin', 'hub', '湖滨区', NULL, NULL, NULL, NULL), + (411203, 4112, 2, '陕州', 'shan zhou', 'shz', '陕州区', NULL, NULL, NULL, NULL), + (411221, 4112, 2, '渑池', 'mian chi', 'mic', '渑池县', NULL, NULL, NULL, NULL), + (411224, 4112, 2, '卢氏', 'lu shi', 'lus', '卢氏县', NULL, NULL, NULL, NULL), + (411271, 4112, 2, '河南三门峡经济开发区', 'he nan san men xia jing ji kai fa qu', 'hens', '河南三门峡经济开发区', NULL, NULL, NULL, NULL), + (411281, 4112, 2, '义马', 'yi ma', 'yim', '义马市', NULL, NULL, NULL, NULL), + (411282, 4112, 2, '灵宝', 'ling bao', 'lib', '灵宝市', NULL, NULL, NULL, NULL), + (411302, 4113, 2, '宛城', 'wan cheng', 'wac', '宛城区', NULL, NULL, NULL, NULL), + (411303, 4113, 2, '卧龙', 'wo long', 'wol', '卧龙区', NULL, NULL, NULL, NULL), + (411321, 4113, 2, '南召', 'nan zhao', 'naz', '南召县', NULL, NULL, NULL, NULL), + (411322, 4113, 2, '方城', 'fang cheng', 'fac', '方城县', NULL, NULL, NULL, NULL), + (411323, 4113, 2, '西峡', 'xi xia', 'xix', '西峡县', NULL, NULL, NULL, NULL), + (411324, 4113, 2, '镇平', 'zhen ping', 'zhp', '镇平县', NULL, NULL, NULL, NULL), + (411325, 4113, 2, '内乡', 'nei xiang', 'nex', '内乡县', NULL, NULL, NULL, NULL), + (411326, 4113, 2, '淅川', 'xi chuan', 'xic', '淅川县', NULL, NULL, NULL, NULL), + (411327, 4113, 2, '社旗', 'she qi', 'shq', '社旗县', NULL, NULL, NULL, NULL), + (411328, 4113, 2, '唐河', 'tang he', 'tah', '唐河县', NULL, NULL, NULL, NULL), + (411329, 4113, 2, '新野', 'xin ye', 'xiy', '新野县', NULL, NULL, NULL, NULL), + (411330, 4113, 2, '桐柏', 'tong bai', 'tob', '桐柏县', NULL, NULL, NULL, NULL), + (411371, 4113, 2, '南阳高新技术产业开发区', 'nan yang gao xin ji shu chan ye kai fa qu', 'nayg', '南阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (411372, 4113, 2, '南阳市城乡一体化示范区', 'nan yang shi cheng xiang yi ti hua shi fan qu', 'nays', '南阳市城乡一体化示范区', NULL, NULL, NULL, NULL), + (411381, 4113, 2, '邓州', 'deng zhou', 'dez', '邓州市', NULL, NULL, NULL, NULL), + (411402, 4114, 2, '梁园', 'liang yuan', 'liy', '梁园区', NULL, NULL, NULL, NULL), + (411403, 4114, 2, '睢阳', 'sui yang', 'suy', '睢阳区', NULL, NULL, NULL, NULL), + (411421, 4114, 2, '民权', 'min quan', 'miq', '民权县', NULL, NULL, NULL, NULL), + (411422, 4114, 2, '睢县', 'sui xian', 'sux', '睢县', NULL, NULL, NULL, NULL), + (411423, 4114, 2, '宁陵', 'ning ling', 'nil', '宁陵县', NULL, NULL, NULL, NULL), + (411424, 4114, 2, '柘城', 'zhe cheng', 'zhc', '柘城县', NULL, NULL, NULL, NULL), + (411425, 4114, 2, '虞城', 'yu cheng', 'yuc', '虞城县', NULL, NULL, NULL, NULL), + (411426, 4114, 2, '夏邑', 'xia yi', 'xiy', '夏邑县', NULL, NULL, NULL, NULL), + (411471, 4114, 2, '豫东综合物流产业聚集', 'yu dong zong he wu liu chan ye ju ji', 'yudz', '豫东综合物流产业聚集区', NULL, NULL, NULL, NULL), + (411472, 4114, 2, '河南商丘经济开发区', 'he nan shang qiu jing ji kai fa qu', 'hens', '河南商丘经济开发区', NULL, NULL, NULL, NULL), + (411481, 4114, 2, '永城', 'yong cheng', 'yoc', '永城市', NULL, NULL, NULL, NULL), + (411502, 4115, 2, '浉河', 'shi he', 'shh', '浉河区', NULL, NULL, NULL, NULL), + (411503, 4115, 2, '平桥', 'ping qiao', 'piq', '平桥区', NULL, NULL, NULL, NULL), + (411521, 4115, 2, '罗山', 'luo shan', 'lus', '罗山县', NULL, NULL, NULL, NULL), + (411522, 4115, 2, '光山', 'guang shan', 'gus', '光山县', NULL, NULL, NULL, NULL), + (411523, 4115, 2, '新县', 'xin xian', 'xix', '新县', NULL, NULL, NULL, NULL), + (411524, 4115, 2, '商城', 'shang cheng', 'shc', '商城县', NULL, NULL, NULL, NULL), + (411525, 4115, 2, '固始', 'gu shi', 'gus', '固始县', NULL, NULL, NULL, NULL), + (411526, 4115, 2, '潢川', 'huang chuan', 'huc', '潢川县', NULL, NULL, NULL, NULL), + (411527, 4115, 2, '淮滨', 'huai bin', 'hub', '淮滨县', NULL, NULL, NULL, NULL), + (411528, 4115, 2, '息县', 'xi xian', 'xix', '息县', NULL, NULL, NULL, NULL), + (411571, 4115, 2, '信阳高新技术产业开发区', 'xin yang gao xin ji shu chan ye kai fa qu', 'xiyg', '信阳高新技术产业开发区', NULL, NULL, NULL, NULL), + (411602, 4116, 2, '川汇', 'chuan hui', 'chh', '川汇区', NULL, NULL, NULL, NULL), + (411621, 4116, 2, '扶沟', 'fu gou', 'fug', '扶沟县', NULL, NULL, NULL, NULL), + (411622, 4116, 2, '西华', 'xi hua', 'xih', '西华县', NULL, NULL, NULL, NULL), + (411623, 4116, 2, '商水', 'shang shui', 'shs', '商水县', NULL, NULL, NULL, NULL), + (411624, 4116, 2, '沈丘', 'shen qiu', 'shq', '沈丘县', NULL, NULL, NULL, NULL), + (411625, 4116, 2, '郸城', 'dan cheng', 'dac', '郸城县', NULL, NULL, NULL, NULL), + (411626, 4116, 2, '淮阳', 'huai yang', 'huy', '淮阳县', NULL, NULL, NULL, NULL), + (411627, 4116, 2, '太康', 'tai kang', 'tak', '太康县', NULL, NULL, NULL, NULL), + (411628, 4116, 2, '鹿邑', 'lu yi', 'luy', '鹿邑县', NULL, NULL, NULL, NULL), + (411671, 4116, 2, '河南周口经济开发区', 'he nan zhou kou jing ji kai fa qu', 'henz', '河南周口经济开发区', NULL, NULL, NULL, NULL), + (411681, 4116, 2, '项城', 'xiang cheng', 'xic', '项城市', NULL, NULL, NULL, NULL), + (411702, 4117, 2, '驿城', 'yi cheng', 'yic', '驿城区', NULL, NULL, NULL, NULL), + (411721, 4117, 2, '西平', 'xi ping', 'xip', '西平县', NULL, NULL, NULL, NULL), + (411722, 4117, 2, '上蔡', 'shang cai', 'shc', '上蔡县', NULL, NULL, NULL, NULL), + (411723, 4117, 2, '平舆', 'ping yu', 'piy', '平舆县', NULL, NULL, NULL, NULL), + (411724, 4117, 2, '正阳', 'zheng yang', 'zhy', '正阳县', NULL, NULL, NULL, NULL), + (411725, 4117, 2, '确山', 'que shan', 'qus', '确山县', NULL, NULL, NULL, NULL), + (411726, 4117, 2, '泌阳', 'bi yang', 'biy', '泌阳县', NULL, NULL, NULL, NULL), + (411727, 4117, 2, '汝南', 'ru nan', 'run', '汝南县', NULL, NULL, NULL, NULL), + (411728, 4117, 2, '遂平', 'sui ping', 'sup', '遂平县', NULL, NULL, NULL, NULL), + (411729, 4117, 2, '新蔡', 'xin cai', 'xic', '新蔡县', NULL, NULL, NULL, NULL), + (411771, 4117, 2, '河南驻马店经济开发区', 'he nan zhu ma dian jing ji kai fa qu', 'henz', '河南驻马店经济开发区', NULL, NULL, NULL, NULL), + (419001, 4190, 2, '济源', 'ji yuan', 'jiy', '济源市', NULL, NULL, NULL, NULL), + (420102, 4201, 2, '江岸', 'jiang an', 'jia', '江岸区', NULL, NULL, NULL, NULL), + (420103, 4201, 2, '江汉', 'jiang han', 'jih', '江汉区', NULL, NULL, NULL, NULL), + (420104, 4201, 2, '硚口', 'qiao kou', 'qik', '硚口区', NULL, NULL, NULL, NULL), + (420105, 4201, 2, '汉阳', 'han yang', 'hay', '汉阳区', NULL, NULL, NULL, NULL), + (420106, 4201, 2, '武昌', 'wu chang', 'wuc', '武昌区', NULL, NULL, NULL, NULL), + (420107, 4201, 2, '青山', 'qing shan', 'qis', '青山区', NULL, NULL, NULL, NULL), + (420111, 4201, 2, '洪山', 'hong shan', 'hos', '洪山区', NULL, NULL, NULL, NULL), + (420112, 4201, 2, '东西湖', 'dong xi hu', 'doxh', '东西湖区', NULL, NULL, NULL, NULL), + (420113, 4201, 2, '汉南', 'han nan', 'han', '汉南区', NULL, NULL, NULL, NULL), + (420114, 4201, 2, '蔡甸', 'cai dian', 'cad', '蔡甸区', NULL, NULL, NULL, NULL), + (420115, 4201, 2, '江夏', 'jiang xia', 'jix', '江夏区', NULL, NULL, NULL, NULL), + (420116, 4201, 2, '黄陂', 'huang pi', 'hup', '黄陂区', NULL, NULL, NULL, NULL), + (420117, 4201, 2, '新洲', 'xin zhou', 'xiz', '新洲区', NULL, NULL, NULL, NULL), + (420202, 4202, 2, '黄石港', 'huang shi gang', 'husg', '黄石港区', NULL, NULL, NULL, NULL), + (420203, 4202, 2, '西塞山', 'xi sai shan', 'xiss', '西塞山区', NULL, NULL, NULL, NULL), + (420204, 4202, 2, '下陆', 'xia lu', 'xil', '下陆区', NULL, NULL, NULL, NULL), + (420205, 4202, 2, '铁山', 'tie shan', 'tis', '铁山区', NULL, NULL, NULL, NULL), + (420222, 4202, 2, '阳新', 'yang xin', 'yax', '阳新县', NULL, NULL, NULL, NULL), + (420281, 4202, 2, '大冶', 'da ye', 'day', '大冶市', NULL, NULL, NULL, NULL), + (420302, 4203, 2, '茅箭', 'mao jian', 'maj', '茅箭区', NULL, NULL, NULL, NULL), + (420303, 4203, 2, '张湾', 'zhang wan', 'zhw', '张湾区', NULL, NULL, NULL, NULL), + (420304, 4203, 2, '郧阳', 'yun yang', 'yuy', '郧阳区', NULL, NULL, NULL, NULL), + (420322, 4203, 2, '郧西', 'yun xi', 'yux', '郧西县', NULL, NULL, NULL, NULL), + (420323, 4203, 2, '竹山', 'zhu shan', 'zhs', '竹山县', NULL, NULL, NULL, NULL), + (420324, 4203, 2, '竹溪', 'zhu xi', 'zhx', '竹溪县', NULL, NULL, NULL, NULL), + (420325, 4203, 2, '房县', 'fang xian', 'fax', '房县', NULL, NULL, NULL, NULL), + (420381, 4203, 2, '丹江口', 'dan jiang kou', 'dajk', '丹江口市', NULL, NULL, NULL, NULL), + (420502, 4205, 2, '西陵', 'xi ling', 'xil', '西陵区', NULL, NULL, NULL, NULL), + (420503, 4205, 2, '伍家岗', 'wu jia gang', 'wujg', '伍家岗区', NULL, NULL, NULL, NULL), + (420504, 4205, 2, '点军', 'dian jun', 'dij', '点军区', NULL, NULL, NULL, NULL), + (420505, 4205, 2, '猇亭', 'xiao ting', 'xit', '猇亭区', NULL, NULL, NULL, NULL), + (420506, 4205, 2, '夷陵', 'yi ling', 'yil', '夷陵区', NULL, NULL, NULL, NULL), + (420525, 4205, 2, '远安', 'yuan an', 'yua', '远安县', NULL, NULL, NULL, NULL), + (420526, 4205, 2, '兴山', 'xing shan', 'xis', '兴山县', NULL, NULL, NULL, NULL), + (420527, 4205, 2, '秭归', 'zi gui', 'zig', '秭归县', NULL, NULL, NULL, NULL), + (420528, 4205, 2, '长阳土家族自治县', 'chang yang tu jia zu zi zhi xian', 'chyt', '长阳土家族自治县', NULL, NULL, NULL, NULL), + (420529, 4205, 2, '五峰土家族自治县', 'wu feng tu jia zu zi zhi xian', 'wuft', '五峰土家族自治县', NULL, NULL, NULL, NULL), + (420581, 4205, 2, '宜都', 'yi du', 'yid', '宜都市', NULL, NULL, NULL, NULL), + (420582, 4205, 2, '当阳', 'dang yang', 'day', '当阳市', NULL, NULL, NULL, NULL), + (420583, 4205, 2, '枝江', 'zhi jiang', 'zhj', '枝江市', NULL, NULL, NULL, NULL), + (420602, 4206, 2, '襄城', 'xiang cheng', 'xic', '襄城区', NULL, NULL, NULL, NULL), + (420606, 4206, 2, '樊城', 'fan cheng', 'fac', '樊城区', NULL, NULL, NULL, NULL), + (420607, 4206, 2, '襄州', 'xiang zhou', 'xiz', '襄州区', NULL, NULL, NULL, NULL), + (420624, 4206, 2, '南漳', 'nan zhang', 'naz', '南漳县', NULL, NULL, NULL, NULL), + (420625, 4206, 2, '谷城', 'gu cheng', 'guc', '谷城县', NULL, NULL, NULL, NULL), + (420626, 4206, 2, '保康', 'bao kang', 'bak', '保康县', NULL, NULL, NULL, NULL), + (420682, 4206, 2, '老河口', 'lao he kou', 'lahk', '老河口市', NULL, NULL, NULL, NULL), + (420683, 4206, 2, '枣阳', 'zao yang', 'zay', '枣阳市', NULL, NULL, NULL, NULL), + (420684, 4206, 2, '宜城', 'yi cheng', 'yic', '宜城市', NULL, NULL, NULL, NULL), + (420702, 4207, 2, '梁子湖', 'liang zi hu', 'lizh', '梁子湖区', NULL, NULL, NULL, NULL), + (420703, 4207, 2, '华容', 'hua rong', 'hur', '华容区', NULL, NULL, NULL, NULL), + (420704, 4207, 2, '鄂城', 'e cheng', 'ec', '鄂城区', NULL, NULL, NULL, NULL), + (420802, 4208, 2, '东宝', 'dong bao', 'dob', '东宝区', NULL, NULL, NULL, NULL), + (420804, 4208, 2, '掇刀', 'duo dao', 'dud', '掇刀区', NULL, NULL, NULL, NULL), + (420821, 4208, 2, '京山', 'jing shan', 'jis', '京山县', NULL, NULL, NULL, NULL), + (420822, 4208, 2, '沙洋', 'sha yang', 'shy', '沙洋县', NULL, NULL, NULL, NULL), + (420881, 4208, 2, '钟祥', 'zhong xiang', 'zhx', '钟祥市', NULL, NULL, NULL, NULL), + (420902, 4209, 2, '孝南', 'xiao nan', 'xin', '孝南区', NULL, NULL, NULL, NULL), + (420921, 4209, 2, '孝昌', 'xiao chang', 'xic', '孝昌县', NULL, NULL, NULL, NULL), + (420922, 4209, 2, '大悟', 'da wu', 'daw', '大悟县', NULL, NULL, NULL, NULL), + (420923, 4209, 2, '云梦', 'yun meng', 'yum', '云梦县', NULL, NULL, NULL, NULL), + (420981, 4209, 2, '应城', 'ying cheng', 'yic', '应城市', NULL, NULL, NULL, NULL), + (420982, 4209, 2, '安陆', 'an lu', 'anl', '安陆市', NULL, NULL, NULL, NULL), + (420984, 4209, 2, '汉川', 'han chuan', 'hac', '汉川市', NULL, NULL, NULL, NULL), + (421002, 4210, 2, '沙市', 'sha shi', 'shs', '沙市区', NULL, NULL, NULL, NULL), + (421003, 4210, 2, '荆州', 'jing zhou', 'jiz', '荆州区', NULL, NULL, NULL, NULL), + (421022, 4210, 2, '公安', 'gong an', 'goa', '公安县', NULL, NULL, NULL, NULL), + (421023, 4210, 2, '监利', 'jian li', 'jil', '监利县', NULL, NULL, NULL, NULL), + (421024, 4210, 2, '江陵', 'jiang ling', 'jil', '江陵县', NULL, NULL, NULL, NULL), + (421071, 4210, 2, '荆州经济技术开发区', 'jing zhou jing ji ji shu kai fa qu', 'jizj', '荆州经济技术开发区', NULL, NULL, NULL, NULL), + (421081, 4210, 2, '石首', 'shi shou', 'shs', '石首市', NULL, NULL, NULL, NULL), + (421083, 4210, 2, '洪湖', 'hong hu', 'hoh', '洪湖市', NULL, NULL, NULL, NULL), + (421087, 4210, 2, '松滋', 'song zi', 'soz', '松滋市', NULL, NULL, NULL, NULL), + (421102, 4211, 2, '黄州', 'huang zhou', 'huz', '黄州区', NULL, NULL, NULL, NULL), + (421121, 4211, 2, '团风', 'tuan feng', 'tuf', '团风县', NULL, NULL, NULL, NULL), + (421122, 4211, 2, '红安', 'hong an', 'hoa', '红安县', NULL, NULL, NULL, NULL), + (421123, 4211, 2, '罗田', 'luo tian', 'lut', '罗田县', NULL, NULL, NULL, NULL), + (421124, 4211, 2, '英山', 'ying shan', 'yis', '英山县', NULL, NULL, NULL, NULL), + (421125, 4211, 2, '浠水', 'xi shui', 'xis', '浠水县', NULL, NULL, NULL, NULL), + (421126, 4211, 2, '蕲春', 'qi chun', 'qic', '蕲春县', NULL, NULL, NULL, NULL), + (421127, 4211, 2, '黄梅', 'huang mei', 'hum', '黄梅县', NULL, NULL, NULL, NULL), + (421171, 4211, 2, '龙感湖管理区', 'long gan hu guan li qu', 'logh', '龙感湖管理区', NULL, NULL, NULL, NULL), + (421181, 4211, 2, '麻城', 'ma cheng', 'mac', '麻城市', NULL, NULL, NULL, NULL), + (421182, 4211, 2, '武穴', 'wu xue', 'wux', '武穴市', NULL, NULL, NULL, NULL), + (421202, 4212, 2, '咸安', 'xian an', 'xia', '咸安区', NULL, NULL, NULL, NULL), + (421221, 4212, 2, '嘉鱼', 'jia yu', 'jiy', '嘉鱼县', NULL, NULL, NULL, NULL), + (421222, 4212, 2, '通城', 'tong cheng', 'toc', '通城县', NULL, NULL, NULL, NULL), + (421223, 4212, 2, '崇阳', 'chong yang', 'chy', '崇阳县', NULL, NULL, NULL, NULL), + (421224, 4212, 2, '通山', 'tong shan', 'tos', '通山县', NULL, NULL, NULL, NULL), + (421281, 4212, 2, '赤壁', 'chi bi', 'chb', '赤壁市', NULL, NULL, NULL, NULL), + (421303, 4213, 2, '曾都', 'zeng du', 'zed', '曾都区', NULL, NULL, NULL, NULL), + (421321, 4213, 2, '随县', 'sui xian', 'sux', '随县', NULL, NULL, NULL, NULL), + (421381, 4213, 2, '广水', 'guang shui', 'gus', '广水市', NULL, NULL, NULL, NULL), + (422801, 4228, 2, '恩施', 'en shi', 'ens', '恩施市', NULL, NULL, NULL, NULL), + (422802, 4228, 2, '利川', 'li chuan', 'lic', '利川市', NULL, NULL, NULL, NULL), + (422822, 4228, 2, '建始', 'jian shi', 'jis', '建始县', NULL, NULL, NULL, NULL), + (422823, 4228, 2, '巴东', 'ba dong', 'bad', '巴东县', NULL, NULL, NULL, NULL), + (422825, 4228, 2, '宣恩', 'xuan en', 'xue', '宣恩县', NULL, NULL, NULL, NULL), + (422826, 4228, 2, '咸丰', 'xian feng', 'xif', '咸丰县', NULL, NULL, NULL, NULL), + (422827, 4228, 2, '来凤', 'lai feng', 'laf', '来凤县', NULL, NULL, NULL, NULL), + (422828, 4228, 2, '鹤峰', 'he feng', 'hef', '鹤峰县', NULL, NULL, NULL, NULL), + (429004, 4290, 2, '仙桃', 'xian tao', 'xit', '仙桃市', NULL, NULL, NULL, NULL), + (429005, 4290, 2, '潜江', 'qian jiang', 'qij', '潜江市', NULL, NULL, NULL, NULL), + (429006, 4290, 2, '天门', 'tian men', 'tim', '天门市', NULL, NULL, NULL, NULL), + (429021, 4290, 2, '神农架林', 'shen nong jia lin', 'shnj', '神农架林区', NULL, NULL, NULL, NULL), + (430102, 4301, 2, '芙蓉', 'fu rong', 'fur', '芙蓉区', NULL, NULL, NULL, NULL), + (430103, 4301, 2, '天心', 'tian xin', 'tix', '天心区', NULL, NULL, NULL, NULL), + (430104, 4301, 2, '岳麓', 'yue lu', 'yul', '岳麓区', NULL, NULL, NULL, NULL), + (430105, 4301, 2, '开福', 'kai fu', 'kaf', '开福区', NULL, NULL, NULL, NULL), + (430111, 4301, 2, '雨花', 'yu hua', 'yuh', '雨花区', NULL, NULL, NULL, NULL), + (430112, 4301, 2, '望城', 'wang cheng', 'wac', '望城区', NULL, NULL, NULL, NULL), + (430121, 4301, 2, '长沙', 'chang sha', 'chs', '长沙县', NULL, NULL, NULL, NULL), + (430181, 4301, 2, '浏阳', 'liu yang', 'liy', '浏阳市', NULL, NULL, NULL, NULL), + (430182, 4301, 2, '宁乡', 'ning xiang', 'nix', '宁乡市', NULL, NULL, NULL, NULL), + (430202, 4302, 2, '荷塘', 'he tang', 'het', '荷塘区', NULL, NULL, NULL, NULL), + (430203, 4302, 2, '芦淞', 'lu song', 'lus', '芦淞区', NULL, NULL, NULL, NULL), + (430204, 4302, 2, '石峰', 'shi feng', 'shf', '石峰区', NULL, NULL, NULL, NULL), + (430211, 4302, 2, '天元', 'tian yuan', 'tiy', '天元区', NULL, NULL, NULL, NULL), + (430221, 4302, 2, '株洲', 'zhu zhou', 'zhz', '株洲县', NULL, NULL, NULL, NULL), + (430223, 4302, 2, '攸县', 'you xian', 'yox', '攸县', NULL, NULL, NULL, NULL), + (430224, 4302, 2, '茶陵', 'cha ling', 'chl', '茶陵县', NULL, NULL, NULL, NULL), + (430225, 4302, 2, '炎陵', 'yan ling', 'yal', '炎陵县', NULL, NULL, NULL, NULL), + (430271, 4302, 2, '云龙示范区', 'yun long shi fan qu', 'yuls', '云龙示范区', NULL, NULL, NULL, NULL), + (430281, 4302, 2, '醴陵', 'li ling', 'lil', '醴陵市', NULL, NULL, NULL, NULL), + (430302, 4303, 2, '雨湖', 'yu hu', 'yuh', '雨湖区', NULL, NULL, NULL, NULL), + (430304, 4303, 2, '岳塘', 'yue tang', 'yut', '岳塘区', NULL, NULL, NULL, NULL), + (430321, 4303, 2, '湘潭', 'xiang tan', 'xit', '湘潭县', NULL, NULL, NULL, NULL), + (430371, 4303, 2, '湖南湘潭高新技术产业园', 'hu nan xiang tan gao xin ji shu chan ye yuan', 'hunx', '湖南湘潭高新技术产业园区', NULL, NULL, NULL, NULL), + (430372, 4303, 2, '湘潭昭山示范区', 'xiang tan zhao shan shi fan qu', 'xitz', '湘潭昭山示范区', NULL, NULL, NULL, NULL), + (430373, 4303, 2, '湘潭九华示范区', 'xiang tan jiu hua shi fan qu', 'xitj', '湘潭九华示范区', NULL, NULL, NULL, NULL), + (430381, 4303, 2, '湘乡', 'xiang xiang', 'xix', '湘乡市', NULL, NULL, NULL, NULL), + (430382, 4303, 2, '韶山', 'shao shan', 'shs', '韶山市', NULL, NULL, NULL, NULL), + (430405, 4304, 2, '珠晖', 'zhu hui', 'zhh', '珠晖区', NULL, NULL, NULL, NULL), + (430406, 4304, 2, '雁峰', 'yan feng', 'yaf', '雁峰区', NULL, NULL, NULL, NULL), + (430407, 4304, 2, '石鼓', 'shi gu', 'shg', '石鼓区', NULL, NULL, NULL, NULL), + (430408, 4304, 2, '蒸湘', 'zheng xiang', 'zhx', '蒸湘区', NULL, NULL, NULL, NULL), + (430412, 4304, 2, '南岳', 'nan yue', 'nay', '南岳区', NULL, NULL, NULL, NULL), + (430421, 4304, 2, '衡阳', 'heng yang', 'hey', '衡阳县', NULL, NULL, NULL, NULL), + (430422, 4304, 2, '衡南', 'heng nan', 'hen', '衡南县', NULL, NULL, NULL, NULL), + (430423, 4304, 2, '衡山', 'heng shan', 'hes', '衡山县', NULL, NULL, NULL, NULL), + (430424, 4304, 2, '衡东', 'heng dong', 'hed', '衡东县', NULL, NULL, NULL, NULL), + (430426, 4304, 2, '祁东', 'qi dong', 'qid', '祁东县', NULL, NULL, NULL, NULL), + (430471, 4304, 2, '衡阳综合保税', 'heng yang zong he bao shui', 'heyz', '衡阳综合保税区', NULL, NULL, NULL, NULL), + (430472, 4304, 2, '湖南衡阳高新技术产业园', 'hu nan heng yang gao xin ji shu chan ye yuan', 'hunh', '湖南衡阳高新技术产业园区', NULL, NULL, NULL, NULL), + (430473, 4304, 2, '湖南衡阳松木经济开发区', 'hu nan heng yang song mu jing ji kai fa qu', 'hunh', '湖南衡阳松木经济开发区', NULL, NULL, NULL, NULL), + (430481, 4304, 2, '耒阳', 'lei yang', 'ley', '耒阳市', NULL, NULL, NULL, NULL), + (430482, 4304, 2, '常宁', 'chang ning', 'chn', '常宁市', NULL, NULL, NULL, NULL), + (430502, 4305, 2, '双清', 'shuang qing', 'shq', '双清区', NULL, NULL, NULL, NULL), + (430503, 4305, 2, '大祥', 'da xiang', 'dax', '大祥区', NULL, NULL, NULL, NULL), + (430511, 4305, 2, '北塔', 'bei ta', 'bet', '北塔区', NULL, NULL, NULL, NULL), + (430521, 4305, 2, '邵东', 'shao dong', 'shd', '邵东县', NULL, NULL, NULL, NULL), + (430522, 4305, 2, '新邵', 'xin shao', 'xis', '新邵县', NULL, NULL, NULL, NULL), + (430523, 4305, 2, '邵阳', 'shao yang', 'shy', '邵阳县', NULL, NULL, NULL, NULL), + (430524, 4305, 2, '隆回', 'long hui', 'loh', '隆回县', NULL, NULL, NULL, NULL), + (430525, 4305, 2, '洞口', 'dong kou', 'dok', '洞口县', NULL, NULL, NULL, NULL), + (430527, 4305, 2, '绥宁', 'sui ning', 'sun', '绥宁县', NULL, NULL, NULL, NULL), + (430528, 4305, 2, '新宁', 'xin ning', 'xin', '新宁县', NULL, NULL, NULL, NULL), + (430529, 4305, 2, '城步苗族自治县', 'cheng bu miao zu zi zhi xian', 'chbm', '城步苗族自治县', NULL, NULL, NULL, NULL), + (430581, 4305, 2, '武冈', 'wu gang', 'wug', '武冈市', NULL, NULL, NULL, NULL), + (430602, 4306, 2, '岳阳楼', 'yue yang lou', 'yuyl', '岳阳楼区', NULL, NULL, NULL, NULL), + (430603, 4306, 2, '云溪', 'yun xi', 'yux', '云溪区', NULL, NULL, NULL, NULL), + (430611, 4306, 2, '君山', 'jun shan', 'jus', '君山区', NULL, NULL, NULL, NULL), + (430621, 4306, 2, '岳阳', 'yue yang', 'yuy', '岳阳县', NULL, NULL, NULL, NULL), + (430623, 4306, 2, '华容', 'hua rong', 'hur', '华容县', NULL, NULL, NULL, NULL), + (430624, 4306, 2, '湘阴', 'xiang yin', 'xiy', '湘阴县', NULL, NULL, NULL, NULL), + (430626, 4306, 2, '平江', 'ping jiang', 'pij', '平江县', NULL, NULL, NULL, NULL), + (430671, 4306, 2, '岳阳市屈原管理区', 'yue yang shi qu yuan guan li qu', 'yuys', '岳阳市屈原管理区', NULL, NULL, NULL, NULL), + (430681, 4306, 2, '汨罗', 'mi luo', 'mil', '汨罗市', NULL, NULL, NULL, NULL), + (430682, 4306, 2, '临湘', 'lin xiang', 'lix', '临湘市', NULL, NULL, NULL, NULL), + (430702, 4307, 2, '武陵', 'wu ling', 'wul', '武陵区', NULL, NULL, NULL, NULL), + (430703, 4307, 2, '鼎城', 'ding cheng', 'dic', '鼎城区', NULL, NULL, NULL, NULL), + (430721, 4307, 2, '安乡', 'an xiang', 'anx', '安乡县', NULL, NULL, NULL, NULL), + (430722, 4307, 2, '汉寿', 'han shou', 'has', '汉寿县', NULL, NULL, NULL, NULL), + (430723, 4307, 2, '澧县', 'li xian', 'lix', '澧县', NULL, NULL, NULL, NULL), + (430724, 4307, 2, '临澧', 'lin li', 'lil', '临澧县', NULL, NULL, NULL, NULL), + (430725, 4307, 2, '桃源', 'tao yuan', 'tay', '桃源县', NULL, NULL, NULL, NULL), + (430726, 4307, 2, '石门', 'shi men', 'shm', '石门县', NULL, NULL, NULL, NULL), + (430771, 4307, 2, '常德市西洞庭管理区', 'chang de shi xi dong ting guan li qu', 'chds', '常德市西洞庭管理区', NULL, NULL, NULL, NULL), + (430781, 4307, 2, '津市', 'jin shi', 'jis', '津市市', NULL, NULL, NULL, NULL), + (430802, 4308, 2, '永定', 'yong ding', 'yod', '永定区', NULL, NULL, NULL, NULL), + (430811, 4308, 2, '武陵源', 'wu ling yuan', 'wuly', '武陵源区', NULL, NULL, NULL, NULL), + (430821, 4308, 2, '慈利', 'ci li', 'cil', '慈利县', NULL, NULL, NULL, NULL), + (430822, 4308, 2, '桑植', 'sang zhi', 'saz', '桑植县', NULL, NULL, NULL, NULL), + (430902, 4309, 2, '资阳', 'zi yang', 'ziy', '资阳区', NULL, NULL, NULL, NULL), + (430903, 4309, 2, '赫山', 'he shan', 'hes', '赫山区', NULL, NULL, NULL, NULL), + (430921, 4309, 2, '南县', 'nan xian', 'nax', '南县', NULL, NULL, NULL, NULL), + (430922, 4309, 2, '桃江', 'tao jiang', 'taj', '桃江县', NULL, NULL, NULL, NULL), + (430923, 4309, 2, '安化', 'an hua', 'anh', '安化县', NULL, NULL, NULL, NULL), + (430971, 4309, 2, '益阳市大通湖管理区', 'yi yang shi da tong hu guan li qu', 'yiys', '益阳市大通湖管理区', NULL, NULL, NULL, NULL), + (430972, 4309, 2, '湖南益阳高新技术产业园', 'hu nan yi yang gao xin ji shu chan ye yuan', 'huny', '湖南益阳高新技术产业园区', NULL, NULL, NULL, NULL), + (430981, 4309, 2, '沅江', 'yuan jiang', 'yuj', '沅江市', NULL, NULL, NULL, NULL), + (431002, 4310, 2, '北湖', 'bei hu', 'beh', '北湖区', NULL, NULL, NULL, NULL), + (431003, 4310, 2, '苏仙', 'su xian', 'sux', '苏仙区', NULL, NULL, NULL, NULL), + (431021, 4310, 2, '桂阳', 'gui yang', 'guy', '桂阳县', NULL, NULL, NULL, NULL), + (431022, 4310, 2, '宜章', 'yi zhang', 'yiz', '宜章县', NULL, NULL, NULL, NULL), + (431023, 4310, 2, '永兴', 'yong xing', 'yox', '永兴县', NULL, NULL, NULL, NULL), + (431024, 4310, 2, '嘉禾', 'jia he', 'jih', '嘉禾县', NULL, NULL, NULL, NULL), + (431025, 4310, 2, '临武', 'lin wu', 'liw', '临武县', NULL, NULL, NULL, NULL), + (431026, 4310, 2, '汝城', 'ru cheng', 'ruc', '汝城县', NULL, NULL, NULL, NULL), + (431027, 4310, 2, '桂东', 'gui dong', 'gud', '桂东县', NULL, NULL, NULL, NULL), + (431028, 4310, 2, '安仁', 'an ren', 'anr', '安仁县', NULL, NULL, NULL, NULL), + (431081, 4310, 2, '资兴', 'zi xing', 'zix', '资兴市', NULL, NULL, NULL, NULL), + (431102, 4311, 2, '零陵', 'ling ling', 'lil', '零陵区', NULL, NULL, NULL, NULL), + (431103, 4311, 2, '冷水滩', 'leng shui tan', 'lest', '冷水滩区', NULL, NULL, NULL, NULL), + (431121, 4311, 2, '祁阳', 'qi yang', 'qiy', '祁阳县', NULL, NULL, NULL, NULL), + (431122, 4311, 2, '东安', 'dong an', 'doa', '东安县', NULL, NULL, NULL, NULL), + (431123, 4311, 2, '双牌', 'shuang pai', 'shp', '双牌县', NULL, NULL, NULL, NULL), + (431124, 4311, 2, '道县', 'dao xian', 'dax', '道县', NULL, NULL, NULL, NULL), + (431125, 4311, 2, '江永', 'jiang yong', 'jiy', '江永县', NULL, NULL, NULL, NULL), + (431126, 4311, 2, '宁远', 'ning yuan', 'niy', '宁远县', NULL, NULL, NULL, NULL), + (431127, 4311, 2, '蓝山', 'lan shan', 'las', '蓝山县', NULL, NULL, NULL, NULL), + (431128, 4311, 2, '新田', 'xin tian', 'xit', '新田县', NULL, NULL, NULL, NULL), + (431129, 4311, 2, '江华瑶族自治县', 'jiang hua yao zu zi zhi xian', 'jihy', '江华瑶族自治县', NULL, NULL, NULL, NULL), + (431171, 4311, 2, '永州经济技术开发区', 'yong zhou jing ji ji shu kai fa qu', 'yozj', '永州经济技术开发区', NULL, NULL, NULL, NULL), + (431172, 4311, 2, '永州市金洞管理区', 'yong zhou shi jin dong guan li qu', 'yozs', '永州市金洞管理区', NULL, NULL, NULL, NULL), + (431173, 4311, 2, '永州市回龙圩管理区', 'yong zhou shi hui long xu guan li qu', 'yozs', '永州市回龙圩管理区', NULL, NULL, NULL, NULL), + (431202, 4312, 2, '鹤城', 'he cheng', 'hec', '鹤城区', NULL, NULL, NULL, NULL), + (431221, 4312, 2, '中方', 'zhong fang', 'zhf', '中方县', NULL, NULL, NULL, NULL), + (431222, 4312, 2, '沅陵', 'yuan ling', 'yul', '沅陵县', NULL, NULL, NULL, NULL), + (431223, 4312, 2, '辰溪', 'chen xi', 'chx', '辰溪县', NULL, NULL, NULL, NULL), + (431224, 4312, 2, '溆浦', 'xu pu', 'xup', '溆浦县', NULL, NULL, NULL, NULL), + (431225, 4312, 2, '会同', 'hui tong', 'hut', '会同县', NULL, NULL, NULL, NULL), + (431226, 4312, 2, '麻阳苗族自治县', 'ma yang miao zu zi zhi xian', 'maym', '麻阳苗族自治县', NULL, NULL, NULL, NULL), + (431227, 4312, 2, '新晃侗族自治县', 'xin huang dong zu zi zhi xian', 'xihd', '新晃侗族自治县', NULL, NULL, NULL, NULL), + (431228, 4312, 2, '芷江侗族自治县', 'zhi jiang dong zu zi zhi xian', 'zhjd', '芷江侗族自治县', NULL, NULL, NULL, NULL), + (431229, 4312, 2, '靖州苗族侗族自治县', 'jing zhou miao zu dong zu zi zhi xian', 'jizm', '靖州苗族侗族自治县', NULL, NULL, NULL, NULL), + (431230, 4312, 2, '通道侗族自治县', 'tong dao dong zu zi zhi xian', 'todd', '通道侗族自治县', NULL, NULL, NULL, NULL), + (431271, 4312, 2, '怀化市洪江管理区', 'huai hua shi hong jiang guan li qu', 'huhs', '怀化市洪江管理区', NULL, NULL, NULL, NULL), + (431281, 4312, 2, '洪江', 'hong jiang', 'hoj', '洪江市', NULL, NULL, NULL, NULL), + (431302, 4313, 2, '娄星', 'lou xing', 'lox', '娄星区', NULL, NULL, NULL, NULL), + (431321, 4313, 2, '双峰', 'shuang feng', 'shf', '双峰县', NULL, NULL, NULL, NULL), + (431322, 4313, 2, '新化', 'xin hua', 'xih', '新化县', NULL, NULL, NULL, NULL), + (431381, 4313, 2, '冷水江', 'leng shui jiang', 'lesj', '冷水江市', NULL, NULL, NULL, NULL), + (431382, 4313, 2, '涟源', 'lian yuan', 'liy', '涟源市', NULL, NULL, NULL, NULL), + (433101, 4331, 2, '吉首', 'ji shou', 'jis', '吉首市', NULL, NULL, NULL, NULL), + (433122, 4331, 2, '泸溪', 'lu xi', 'lux', '泸溪县', NULL, NULL, NULL, NULL), + (433123, 4331, 2, '凤凰', 'feng huang', 'feh', '凤凰县', NULL, NULL, NULL, NULL), + (433124, 4331, 2, '花垣', 'hua yuan', 'huy', '花垣县', NULL, NULL, NULL, NULL), + (433125, 4331, 2, '保靖', 'bao jing', 'baj', '保靖县', NULL, NULL, NULL, NULL), + (433126, 4331, 2, '古丈', 'gu zhang', 'guz', '古丈县', NULL, NULL, NULL, NULL), + (433127, 4331, 2, '永顺', 'yong shun', 'yos', '永顺县', NULL, NULL, NULL, NULL), + (433130, 4331, 2, '龙山', 'long shan', 'los', '龙山县', NULL, NULL, NULL, NULL), + (433172, 4331, 2, '湖南吉首经济开发区', 'hu nan ji shou jing ji kai fa qu', 'hunj', '湖南吉首经济开发区', NULL, NULL, NULL, NULL), + (433173, 4331, 2, '湖南永顺经济开发区', 'hu nan yong shun jing ji kai fa qu', 'huny', '湖南永顺经济开发区', NULL, NULL, NULL, NULL), + (440103, 4401, 2, '荔湾', 'li wan', 'liw', '荔湾区', NULL, NULL, NULL, NULL), + (440104, 4401, 2, '越秀', 'yue xiu', 'yux', '越秀区', NULL, NULL, NULL, NULL), + (440105, 4401, 2, '海珠', 'hai zhu', 'haz', '海珠区', NULL, NULL, NULL, NULL), + (440106, 4401, 2, '天河', 'tian he', 'tih', '天河区', NULL, NULL, NULL, NULL), + (440111, 4401, 2, '白云', 'bai yun', 'bay', '白云区', NULL, NULL, NULL, NULL), + (440112, 4401, 2, '黄埔', 'huang pu', 'hup', '黄埔区', NULL, NULL, NULL, NULL), + (440113, 4401, 2, '番禺', 'pan yu', 'pay', '番禺区', NULL, NULL, NULL, NULL), + (440114, 4401, 2, '花都', 'hua du', 'hud', '花都区', NULL, NULL, NULL, NULL), + (440115, 4401, 2, '南沙', 'nan sha', 'nas', '南沙区', NULL, NULL, NULL, NULL), + (440117, 4401, 2, '从化', 'cong hua', 'coh', '从化区', NULL, NULL, NULL, NULL), + (440118, 4401, 2, '增城', 'zeng cheng', 'zec', '增城区', NULL, NULL, NULL, NULL), + (440203, 4402, 2, '武江', 'wu jiang', 'wuj', '武江区', NULL, NULL, NULL, NULL), + (440204, 4402, 2, '浈江', 'zhen jiang', 'zhj', '浈江区', NULL, NULL, NULL, NULL), + (440205, 4402, 2, '曲江', 'qu jiang', 'quj', '曲江区', NULL, NULL, NULL, NULL), + (440222, 4402, 2, '始兴', 'shi xing', 'shx', '始兴县', NULL, NULL, NULL, NULL), + (440224, 4402, 2, '仁化', 'ren hua', 'reh', '仁化县', NULL, NULL, NULL, NULL), + (440229, 4402, 2, '翁源', 'weng yuan', 'wey', '翁源县', NULL, NULL, NULL, NULL), + (440232, 4402, 2, '乳源瑶族自治县', 'ru yuan yao zu zi zhi xian', 'ruyy', '乳源瑶族自治县', NULL, NULL, NULL, NULL), + (440233, 4402, 2, '新丰', 'xin feng', 'xif', '新丰县', NULL, NULL, NULL, NULL), + (440281, 4402, 2, '乐昌', 'le chang', 'lec', '乐昌市', NULL, NULL, NULL, NULL), + (440282, 4402, 2, '南雄', 'nan xiong', 'nax', '南雄市', NULL, NULL, NULL, NULL), + (440303, 4403, 2, '罗湖', 'luo hu', 'luh', '罗湖区', NULL, NULL, NULL, NULL), + (440304, 4403, 2, '福田', 'fu tian', 'fut', '福田区', NULL, NULL, NULL, NULL), + (440305, 4403, 2, '南山', 'nan shan', 'nas', '南山区', NULL, NULL, NULL, NULL), + (440306, 4403, 2, '宝安', 'bao an', 'baa', '宝安区', NULL, NULL, NULL, NULL), + (440307, 4403, 2, '龙岗', 'long gang', 'log', '龙岗区', NULL, NULL, NULL, NULL), + (440308, 4403, 2, '盐田', 'yan tian', 'yat', '盐田区', NULL, NULL, NULL, NULL), + (440309, 4403, 2, '龙华', 'long hua', 'loh', '龙华区', NULL, NULL, NULL, NULL), + (440310, 4403, 2, '坪山', 'ping shan', 'pis', '坪山区', NULL, NULL, NULL, NULL), + (440402, 4404, 2, '香洲', 'xiang zhou', 'xiz', '香洲区', NULL, NULL, NULL, NULL), + (440403, 4404, 2, '斗门', 'dou men', 'dom', '斗门区', NULL, NULL, NULL, NULL), + (440404, 4404, 2, '金湾', 'jin wan', 'jiw', '金湾区', NULL, NULL, NULL, NULL), + (440507, 4405, 2, '龙湖', 'long hu', 'loh', '龙湖区', NULL, NULL, NULL, NULL), + (440511, 4405, 2, '金平', 'jin ping', 'jip', '金平区', NULL, NULL, NULL, NULL), + (440512, 4405, 2, '濠江', 'hao jiang', 'haj', '濠江区', NULL, NULL, NULL, NULL), + (440513, 4405, 2, '潮阳', 'chao yang', 'chy', '潮阳区', NULL, NULL, NULL, NULL), + (440514, 4405, 2, '潮南', 'chao nan', 'chn', '潮南区', NULL, NULL, NULL, NULL), + (440515, 4405, 2, '澄海', 'cheng hai', 'chh', '澄海区', NULL, NULL, NULL, NULL), + (440523, 4405, 2, '南澳', 'nan ao', 'naa', '南澳县', NULL, NULL, NULL, NULL), + (440604, 4406, 2, '禅城', 'chan cheng', 'chc', '禅城区', NULL, NULL, NULL, NULL), + (440605, 4406, 2, '南海', 'nan hai', 'nah', '南海区', NULL, NULL, NULL, NULL), + (440606, 4406, 2, '顺德', 'shun de', 'shd', '顺德区', NULL, NULL, NULL, NULL), + (440607, 4406, 2, '三水', 'san shui', 'sas', '三水区', NULL, NULL, NULL, NULL), + (440608, 4406, 2, '高明', 'gao ming', 'gam', '高明区', NULL, NULL, NULL, NULL), + (440703, 4407, 2, '蓬江', 'peng jiang', 'pej', '蓬江区', NULL, NULL, NULL, NULL), + (440704, 4407, 2, '江海', 'jiang hai', 'jih', '江海区', NULL, NULL, NULL, NULL), + (440705, 4407, 2, '新会', 'xin hui', 'xih', '新会区', NULL, NULL, NULL, NULL), + (440781, 4407, 2, '台山', 'tai shan', 'tas', '台山市', NULL, NULL, NULL, NULL), + (440783, 4407, 2, '开平', 'kai ping', 'kap', '开平市', NULL, NULL, NULL, NULL), + (440784, 4407, 2, '鹤山', 'he shan', 'hes', '鹤山市', NULL, NULL, NULL, NULL), + (440785, 4407, 2, '恩平', 'en ping', 'enp', '恩平市', NULL, NULL, NULL, NULL), + (440802, 4408, 2, '赤坎', 'chi kan', 'chk', '赤坎区', NULL, NULL, NULL, NULL), + (440803, 4408, 2, '霞山', 'xia shan', 'xis', '霞山区', NULL, NULL, NULL, NULL), + (440804, 4408, 2, '坡头', 'po tou', 'pot', '坡头区', NULL, NULL, NULL, NULL), + (440811, 4408, 2, '麻章', 'ma zhang', 'maz', '麻章区', NULL, NULL, NULL, NULL), + (440823, 4408, 2, '遂溪', 'sui xi', 'sux', '遂溪县', NULL, NULL, NULL, NULL), + (440825, 4408, 2, '徐闻', 'xu wen', 'xuw', '徐闻县', NULL, NULL, NULL, NULL), + (440881, 4408, 2, '廉江', 'lian jiang', 'lij', '廉江市', NULL, NULL, NULL, NULL), + (440882, 4408, 2, '雷州', 'lei zhou', 'lez', '雷州市', NULL, NULL, NULL, NULL), + (440883, 4408, 2, '吴川', 'wu chuan', 'wuc', '吴川市', NULL, NULL, NULL, NULL), + (440902, 4409, 2, '茂南', 'mao nan', 'man', '茂南区', NULL, NULL, NULL, NULL), + (440904, 4409, 2, '电白', 'dian bai', 'dib', '电白区', NULL, NULL, NULL, NULL), + (440981, 4409, 2, '高州', 'gao zhou', 'gaz', '高州市', NULL, NULL, NULL, NULL), + (440982, 4409, 2, '化州', 'hua zhou', 'huz', '化州市', NULL, NULL, NULL, NULL), + (440983, 4409, 2, '信宜', 'xin yi', 'xiy', '信宜市', NULL, NULL, NULL, NULL), + (441202, 4412, 2, '端州', 'duan zhou', 'duz', '端州区', NULL, NULL, NULL, NULL), + (441203, 4412, 2, '鼎湖', 'ding hu', 'dih', '鼎湖区', NULL, NULL, NULL, NULL), + (441204, 4412, 2, '高要', 'gao yao', 'gay', '高要区', NULL, NULL, NULL, NULL), + (441223, 4412, 2, '广宁', 'guang ning', 'gun', '广宁县', NULL, NULL, NULL, NULL), + (441224, 4412, 2, '怀集', 'huai ji', 'huj', '怀集县', NULL, NULL, NULL, NULL), + (441225, 4412, 2, '封开', 'feng kai', 'fek', '封开县', NULL, NULL, NULL, NULL), + (441226, 4412, 2, '德庆', 'de qing', 'deq', '德庆县', NULL, NULL, NULL, NULL), + (441284, 4412, 2, '四会', 'si hui', 'sih', '四会市', NULL, NULL, NULL, NULL), + (441302, 4413, 2, '惠城', 'hui cheng', 'huc', '惠城区', NULL, NULL, NULL, NULL), + (441303, 4413, 2, '惠阳', 'hui yang', 'huy', '惠阳区', NULL, NULL, NULL, NULL), + (441322, 4413, 2, '博罗', 'bo luo', 'bol', '博罗县', NULL, NULL, NULL, NULL), + (441323, 4413, 2, '惠东', 'hui dong', 'hud', '惠东县', NULL, NULL, NULL, NULL), + (441324, 4413, 2, '龙门', 'long men', 'lom', '龙门县', NULL, NULL, NULL, NULL), + (441402, 4414, 2, '梅江', 'mei jiang', 'mej', '梅江区', NULL, NULL, NULL, NULL), + (441403, 4414, 2, '梅县', 'mei xian', 'mex', '梅县区', NULL, NULL, NULL, NULL), + (441422, 4414, 2, '大埔', 'da bu', 'dab', '大埔县', NULL, NULL, NULL, NULL), + (441423, 4414, 2, '丰顺', 'feng shun', 'fes', '丰顺县', NULL, NULL, NULL, NULL), + (441424, 4414, 2, '五华', 'wu hua', 'wuh', '五华县', NULL, NULL, NULL, NULL), + (441426, 4414, 2, '平远', 'ping yuan', 'piy', '平远县', NULL, NULL, NULL, NULL), + (441427, 4414, 2, '蕉岭', 'jiao ling', 'jil', '蕉岭县', NULL, NULL, NULL, NULL), + (441481, 4414, 2, '兴宁', 'xing ning', 'xin', '兴宁市', NULL, NULL, NULL, NULL), + (441502, 4415, 2, '城区', 'cheng qu', 'chq', '城区', NULL, NULL, NULL, NULL), + (441521, 4415, 2, '海丰', 'hai feng', 'haf', '海丰县', NULL, NULL, NULL, NULL), + (441523, 4415, 2, '陆河', 'lu he', 'luh', '陆河县', NULL, NULL, NULL, NULL), + (441581, 4415, 2, '陆丰', 'lu feng', 'luf', '陆丰市', NULL, NULL, NULL, NULL), + (441602, 4416, 2, '源城', 'yuan cheng', 'yuc', '源城区', NULL, NULL, NULL, NULL), + (441621, 4416, 2, '紫金', 'zi jin', 'zij', '紫金县', NULL, NULL, NULL, NULL), + (441622, 4416, 2, '龙川', 'long chuan', 'loc', '龙川县', NULL, NULL, NULL, NULL), + (441623, 4416, 2, '连平', 'lian ping', 'lip', '连平县', NULL, NULL, NULL, NULL), + (441624, 4416, 2, '和平', 'he ping', 'hep', '和平县', NULL, NULL, NULL, NULL), + (441625, 4416, 2, '东源', 'dong yuan', 'doy', '东源县', NULL, NULL, NULL, NULL), + (441702, 4417, 2, '江城', 'jiang cheng', 'jic', '江城区', NULL, NULL, NULL, NULL), + (441704, 4417, 2, '阳东', 'yang dong', 'yad', '阳东区', NULL, NULL, NULL, NULL), + (441721, 4417, 2, '阳西', 'yang xi', 'yax', '阳西县', NULL, NULL, NULL, NULL), + (441781, 4417, 2, '阳春', 'yang chun', 'yac', '阳春市', NULL, NULL, NULL, NULL), + (441802, 4418, 2, '清城', 'qing cheng', 'qic', '清城区', NULL, NULL, NULL, NULL), + (441803, 4418, 2, '清新区', 'qing xin qu', 'qixq', '清新区', NULL, NULL, NULL, NULL), + (441821, 4418, 2, '佛冈', 'fo gang', 'fog', '佛冈县', NULL, NULL, NULL, NULL), + (441823, 4418, 2, '阳山', 'yang shan', 'yas', '阳山县', NULL, NULL, NULL, NULL), + (441825, 4418, 2, '连山壮族瑶族自治县', 'lian shan zhuang zu yao zu zi zhi xian', 'lisz', '连山壮族瑶族自治县', NULL, NULL, NULL, NULL), + (441826, 4418, 2, '连南瑶族自治县', 'lian nan yao zu zi zhi xian', 'liny', '连南瑶族自治县', NULL, NULL, NULL, NULL), + (441881, 4418, 2, '英德', 'ying de', 'yid', '英德市', NULL, NULL, NULL, NULL), + (441882, 4418, 2, '连州', 'lian zhou', 'liz', '连州市', NULL, NULL, NULL, NULL), + (445102, 4451, 2, '湘桥', 'xiang qiao', 'xiq', '湘桥区', NULL, NULL, NULL, NULL), + (445103, 4451, 2, '潮安', 'chao an', 'cha', '潮安区', NULL, NULL, NULL, NULL), + (445122, 4451, 2, '饶平', 'rao ping', 'rap', '饶平县', NULL, NULL, NULL, NULL), + (445202, 4452, 2, '榕城', 'rong cheng', 'roc', '榕城区', NULL, NULL, NULL, NULL), + (445203, 4452, 2, '揭东', 'jie dong', 'jid', '揭东区', NULL, NULL, NULL, NULL), + (445222, 4452, 2, '揭西', 'jie xi', 'jix', '揭西县', NULL, NULL, NULL, NULL), + (445224, 4452, 2, '惠来', 'hui lai', 'hul', '惠来县', NULL, NULL, NULL, NULL), + (445281, 4452, 2, '普宁', 'pu ning', 'pun', '普宁市', NULL, NULL, NULL, NULL), + (445302, 4453, 2, '云城', 'yun cheng', 'yuc', '云城区', NULL, NULL, NULL, NULL), + (445303, 4453, 2, '云安', 'yun an', 'yua', '云安区', NULL, NULL, NULL, NULL), + (445321, 4453, 2, '新兴', 'xin xing', 'xix', '新兴县', NULL, NULL, NULL, NULL), + (445322, 4453, 2, '郁南', 'yu nan', 'yun', '郁南县', NULL, NULL, NULL, NULL), + (445381, 4453, 2, '罗定', 'luo ding', 'lud', '罗定市', NULL, NULL, NULL, NULL), + (450102, 4501, 2, '兴宁', 'xing ning', 'xin', '兴宁区', NULL, NULL, NULL, NULL), + (450103, 4501, 2, '青秀', 'qing xiu', 'qix', '青秀区', NULL, NULL, NULL, NULL), + (450105, 4501, 2, '江南', 'jiang nan', 'jin', '江南区', NULL, NULL, NULL, NULL), + (450107, 4501, 2, '西乡塘', 'xi xiang tang', 'xixt', '西乡塘区', NULL, NULL, NULL, NULL), + (450108, 4501, 2, '良庆', 'liang qing', 'liq', '良庆区', NULL, NULL, NULL, NULL), + (450109, 4501, 2, '邕宁', 'yong ning', 'yon', '邕宁区', NULL, NULL, NULL, NULL), + (450110, 4501, 2, '武鸣', 'wu ming', 'wum', '武鸣区', NULL, NULL, NULL, NULL), + (450123, 4501, 2, '隆安', 'long an', 'loa', '隆安县', NULL, NULL, NULL, NULL), + (450124, 4501, 2, '马山', 'ma shan', 'mas', '马山县', NULL, NULL, NULL, NULL), + (450125, 4501, 2, '上林', 'shang lin', 'shl', '上林县', NULL, NULL, NULL, NULL), + (450126, 4501, 2, '宾阳', 'bin yang', 'biy', '宾阳县', NULL, NULL, NULL, NULL), + (450127, 4501, 2, '横县', 'heng xian', 'hex', '横县', NULL, NULL, NULL, NULL), + (450202, 4502, 2, '城中', 'cheng zhong', 'chz', '城中区', NULL, NULL, NULL, NULL), + (450203, 4502, 2, '鱼峰', 'yu feng', 'yuf', '鱼峰区', NULL, NULL, NULL, NULL), + (450204, 4502, 2, '柳南', 'liu nan', 'lin', '柳南区', NULL, NULL, NULL, NULL), + (450205, 4502, 2, '柳北', 'liu bei', 'lib', '柳北区', NULL, NULL, NULL, NULL), + (450206, 4502, 2, '柳江', 'liu jiang', 'lij', '柳江区', NULL, NULL, NULL, NULL), + (450222, 4502, 2, '柳城', 'liu cheng', 'lic', '柳城县', NULL, NULL, NULL, NULL), + (450223, 4502, 2, '鹿寨', 'lu zhai', 'luz', '鹿寨县', NULL, NULL, NULL, NULL), + (450224, 4502, 2, '融安', 'rong an', 'roa', '融安县', NULL, NULL, NULL, NULL), + (450225, 4502, 2, '融水苗族自治县', 'rong shui miao zu zi zhi xian', 'rosm', '融水苗族自治县', NULL, NULL, NULL, NULL), + (450226, 4502, 2, '三江侗族自治县', 'san jiang dong zu zi zhi xian', 'sajd', '三江侗族自治县', NULL, NULL, NULL, NULL), + (450302, 4503, 2, '秀峰', 'xiu feng', 'xif', '秀峰区', NULL, NULL, NULL, NULL), + (450303, 4503, 2, '叠彩', 'die cai', 'dic', '叠彩区', NULL, NULL, NULL, NULL), + (450304, 4503, 2, '象山', 'xiang shan', 'xis', '象山区', NULL, NULL, NULL, NULL), + (450305, 4503, 2, '七星', 'qi xing', 'qix', '七星区', NULL, NULL, NULL, NULL), + (450311, 4503, 2, '雁山', 'yan shan', 'yas', '雁山区', NULL, NULL, NULL, NULL), + (450312, 4503, 2, '临桂', 'lin gui', 'lig', '临桂区', NULL, NULL, NULL, NULL), + (450321, 4503, 2, '阳朔', 'yang shuo', 'yas', '阳朔县', NULL, NULL, NULL, NULL), + (450323, 4503, 2, '灵川', 'ling chuan', 'lic', '灵川县', NULL, NULL, NULL, NULL), + (450324, 4503, 2, '全州', 'quan zhou', 'quz', '全州县', NULL, NULL, NULL, NULL), + (450325, 4503, 2, '兴安', 'xing an', 'xia', '兴安县', NULL, NULL, NULL, NULL), + (450326, 4503, 2, '永福', 'yong fu', 'yof', '永福县', NULL, NULL, NULL, NULL), + (450327, 4503, 2, '灌阳', 'guan yang', 'guy', '灌阳县', NULL, NULL, NULL, NULL), + (450328, 4503, 2, '龙胜各族自治县', 'long sheng ge zu zi zhi xian', 'losg', '龙胜各族自治县', NULL, NULL, NULL, NULL), + (450329, 4503, 2, '资源', 'zi yuan', 'ziy', '资源县', NULL, NULL, NULL, NULL), + (450330, 4503, 2, '平乐', 'ping le', 'pil', '平乐县', NULL, NULL, NULL, NULL), + (450331, 4503, 2, '荔浦', 'li pu', 'lip', '荔浦县', NULL, NULL, NULL, NULL), + (450332, 4503, 2, '恭城瑶族自治县', 'gong cheng yao zu zi zhi xian', 'gocy', '恭城瑶族自治县', NULL, NULL, NULL, NULL), + (450403, 4504, 2, '万秀', 'wan xiu', 'wax', '万秀区', NULL, NULL, NULL, NULL), + (450405, 4504, 2, '长洲', 'chang zhou', 'chz', '长洲区', NULL, NULL, NULL, NULL), + (450406, 4504, 2, '龙圩', 'long xu', 'lox', '龙圩区', NULL, NULL, NULL, NULL), + (450421, 4504, 2, '苍梧', 'cang wu', 'caw', '苍梧县', NULL, NULL, NULL, NULL), + (450422, 4504, 2, '藤县', 'teng xian', 'tex', '藤县', NULL, NULL, NULL, NULL), + (450423, 4504, 2, '蒙山', 'meng shan', 'mes', '蒙山县', NULL, NULL, NULL, NULL), + (450481, 4504, 2, '岑溪', 'cen xi', 'cex', '岑溪市', NULL, NULL, NULL, NULL), + (450502, 4505, 2, '海城', 'hai cheng', 'hac', '海城区', NULL, NULL, NULL, NULL), + (450503, 4505, 2, '银海', 'yin hai', 'yih', '银海区', NULL, NULL, NULL, NULL), + (450512, 4505, 2, '铁山港', 'tie shan gang', 'tisg', '铁山港区', NULL, NULL, NULL, NULL), + (450521, 4505, 2, '合浦', 'he pu', 'hep', '合浦县', NULL, NULL, NULL, NULL), + (450602, 4506, 2, '港口', 'gang kou', 'gak', '港口区', NULL, NULL, NULL, NULL), + (450603, 4506, 2, '防城', 'fang cheng', 'fac', '防城区', NULL, NULL, NULL, NULL), + (450621, 4506, 2, '上思', 'shang si', 'shs', '上思县', NULL, NULL, NULL, NULL), + (450681, 4506, 2, '东兴', 'dong xing', 'dox', '东兴市', NULL, NULL, NULL, NULL), + (450702, 4507, 2, '钦南', 'qin nan', 'qin', '钦南区', NULL, NULL, NULL, NULL), + (450703, 4507, 2, '钦北', 'qin bei', 'qib', '钦北区', NULL, NULL, NULL, NULL), + (450721, 4507, 2, '灵山', 'ling shan', 'lis', '灵山县', NULL, NULL, NULL, NULL), + (450722, 4507, 2, '浦北', 'pu bei', 'pub', '浦北县', NULL, NULL, NULL, NULL), + (450802, 4508, 2, '港北', 'gang bei', 'gab', '港北区', NULL, NULL, NULL, NULL), + (450803, 4508, 2, '港南', 'gang nan', 'gan', '港南区', NULL, NULL, NULL, NULL), + (450804, 4508, 2, '覃塘', 'qin tang', 'qit', '覃塘区', NULL, NULL, NULL, NULL), + (450821, 4508, 2, '平南', 'ping nan', 'pin', '平南县', NULL, NULL, NULL, NULL), + (450881, 4508, 2, '桂平', 'gui ping', 'gup', '桂平市', NULL, NULL, NULL, NULL), + (450902, 4509, 2, '玉州', 'yu zhou', 'yuz', '玉州区', NULL, NULL, NULL, NULL), + (450903, 4509, 2, '福绵', 'fu mian', 'fum', '福绵区', NULL, NULL, NULL, NULL), + (450921, 4509, 2, '容县', 'rong xian', 'rox', '容县', NULL, NULL, NULL, NULL), + (450922, 4509, 2, '陆川', 'lu chuan', 'luc', '陆川县', NULL, NULL, NULL, NULL), + (450923, 4509, 2, '博白', 'bo bai', 'bob', '博白县', NULL, NULL, NULL, NULL), + (450924, 4509, 2, '兴业', 'xing ye', 'xiy', '兴业县', NULL, NULL, NULL, NULL), + (450981, 4509, 2, '北流', 'bei liu', 'bel', '北流市', NULL, NULL, NULL, NULL), + (451002, 4510, 2, '右江', 'you jiang', 'yoj', '右江区', NULL, NULL, NULL, NULL), + (451021, 4510, 2, '田阳', 'tian yang', 'tiy', '田阳县', NULL, NULL, NULL, NULL), + (451022, 4510, 2, '田东', 'tian dong', 'tid', '田东县', NULL, NULL, NULL, NULL), + (451023, 4510, 2, '平果', 'ping guo', 'pig', '平果县', NULL, NULL, NULL, NULL), + (451024, 4510, 2, '德保', 'de bao', 'deb', '德保县', NULL, NULL, NULL, NULL), + (451026, 4510, 2, '那坡', 'na po', 'nap', '那坡县', NULL, NULL, NULL, NULL), + (451027, 4510, 2, '凌云', 'ling yun', 'liy', '凌云县', NULL, NULL, NULL, NULL), + (451028, 4510, 2, '乐业', 'le ye', 'ley', '乐业县', NULL, NULL, NULL, NULL), + (451029, 4510, 2, '田林', 'tian lin', 'til', '田林县', NULL, NULL, NULL, NULL), + (451030, 4510, 2, '西林', 'xi lin', 'xil', '西林县', NULL, NULL, NULL, NULL), + (451031, 4510, 2, '隆林各族自治县', 'long lin ge zu zi zhi xian', 'lolg', '隆林各族自治县', NULL, NULL, NULL, NULL), + (451081, 4510, 2, '靖西', 'jing xi', 'jix', '靖西市', NULL, NULL, NULL, NULL), + (451102, 4511, 2, '八步', 'ba bu', 'bab', '八步区', NULL, NULL, NULL, NULL), + (451103, 4511, 2, '平桂', 'ping gui', 'pig', '平桂区', NULL, NULL, NULL, NULL), + (451121, 4511, 2, '昭平', 'zhao ping', 'zhp', '昭平县', NULL, NULL, NULL, NULL), + (451122, 4511, 2, '钟山', 'zhong shan', 'zhs', '钟山县', NULL, NULL, NULL, NULL), + (451123, 4511, 2, '富川瑶族自治县', 'fu chuan yao zu zi zhi xian', 'fucy', '富川瑶族自治县', NULL, NULL, NULL, NULL), + (451202, 4512, 2, '金城江', 'jin cheng jiang', 'jicj', '金城江区', NULL, NULL, NULL, NULL), + (451203, 4512, 2, '宜州', 'yi zhou', 'yiz', '宜州区', NULL, NULL, NULL, NULL), + (451221, 4512, 2, '南丹', 'nan dan', 'nad', '南丹县', NULL, NULL, NULL, NULL), + (451222, 4512, 2, '天峨', 'tian e', 'tie', '天峨县', NULL, NULL, NULL, NULL), + (451223, 4512, 2, '凤山', 'feng shan', 'fes', '凤山县', NULL, NULL, NULL, NULL), + (451224, 4512, 2, '东兰', 'dong lan', 'dol', '东兰县', NULL, NULL, NULL, NULL), + (451225, 4512, 2, '罗城仫佬族自治县', 'luo cheng mu lao zu zi zhi xian', 'lucm', '罗城仫佬族自治县', NULL, NULL, NULL, NULL), + (451226, 4512, 2, '环江毛南族自治县', 'huan jiang mao nan zu zi zhi xian', 'hujm', '环江毛南族自治县', NULL, NULL, NULL, NULL), + (451227, 4512, 2, '巴马瑶族自治县', 'ba ma yao zu zi zhi xian', 'bamy', '巴马瑶族自治县', NULL, NULL, NULL, NULL), + (451228, 4512, 2, '都安瑶族自治县', 'du an yao zu zi zhi xian', 'duay', '都安瑶族自治县', NULL, NULL, NULL, NULL), + (451229, 4512, 2, '大化瑶族自治县', 'da hua yao zu zi zhi xian', 'dahy', '大化瑶族自治县', NULL, NULL, NULL, NULL), + (451302, 4513, 2, '兴宾', 'xing bin', 'xib', '兴宾区', NULL, NULL, NULL, NULL), + (451321, 4513, 2, '忻城', 'xin cheng', 'xic', '忻城县', NULL, NULL, NULL, NULL), + (451322, 4513, 2, '象州', 'xiang zhou', 'xiz', '象州县', NULL, NULL, NULL, NULL), + (451323, 4513, 2, '武宣', 'wu xuan', 'wux', '武宣县', NULL, NULL, NULL, NULL), + (451324, 4513, 2, '金秀瑶族自治县', 'jin xiu yao zu zi zhi xian', 'jixy', '金秀瑶族自治县', NULL, NULL, NULL, NULL), + (451381, 4513, 2, '合山', 'he shan', 'hes', '合山市', NULL, NULL, NULL, NULL), + (451402, 4514, 2, '江州', 'jiang zhou', 'jiz', '江州区', NULL, NULL, NULL, NULL), + (451421, 4514, 2, '扶绥', 'fu sui', 'fus', '扶绥县', NULL, NULL, NULL, NULL), + (451422, 4514, 2, '宁明', 'ning ming', 'nim', '宁明县', NULL, NULL, NULL, NULL), + (451423, 4514, 2, '龙州', 'long zhou', 'loz', '龙州县', NULL, NULL, NULL, NULL), + (451424, 4514, 2, '大新', 'da xin', 'dax', '大新县', NULL, NULL, NULL, NULL), + (451425, 4514, 2, '天等', 'tian deng', 'tid', '天等县', NULL, NULL, NULL, NULL), + (451481, 4514, 2, '凭祥', 'ping xiang', 'pix', '凭祥市', NULL, NULL, NULL, NULL), + (460105, 4601, 2, '秀英', 'xiu ying', 'xiy', '秀英区', NULL, NULL, NULL, NULL), + (460106, 4601, 2, '龙华', 'long hua', 'loh', '龙华区', NULL, NULL, NULL, NULL), + (460107, 4601, 2, '琼山', 'qiong shan', 'qis', '琼山区', NULL, NULL, NULL, NULL), + (460108, 4601, 2, '美兰', 'mei lan', 'mel', '美兰区', NULL, NULL, NULL, NULL), + (460202, 4602, 2, '海棠', 'hai tang', 'hat', '海棠区', NULL, NULL, NULL, NULL), + (460203, 4602, 2, '吉阳', 'ji yang', 'jiy', '吉阳区', NULL, NULL, NULL, NULL), + (460204, 4602, 2, '天涯', 'tian ya', 'tiy', '天涯区', NULL, NULL, NULL, NULL), + (460205, 4602, 2, '崖州', 'ya zhou', 'yaz', '崖州区', NULL, NULL, NULL, NULL), + (460321, 4603, 2, '西沙群岛', 'xi sha qun dao', 'xisq', '西沙群岛', NULL, NULL, NULL, NULL), + (460322, 4603, 2, '南沙群岛', 'nan sha qun dao', 'nasq', '南沙群岛', NULL, NULL, NULL, NULL), + (460323, 4603, 2, '中沙群岛的岛礁及其海域', 'zhong sha qun dao de dao jiao ji qi hai yu', 'zhsq', '中沙群岛的岛礁及其海域', NULL, NULL, NULL, NULL), + (469001, 4690, 2, '五指山', 'wu zhi shan', 'wuzs', '五指山市', NULL, NULL, NULL, NULL), + (469002, 4690, 2, '琼海', 'qiong hai', 'qih', '琼海市', NULL, NULL, NULL, NULL), + (469005, 4690, 2, '文昌', 'wen chang', 'wec', '文昌市', NULL, NULL, NULL, NULL), + (469006, 4690, 2, '万宁', 'wan ning', 'wan', '万宁市', NULL, NULL, NULL, NULL), + (469007, 4690, 2, '东方', 'dong fang', 'dof', '东方市', NULL, NULL, NULL, NULL), + (469021, 4690, 2, '定安', 'ding an', 'dia', '定安县', NULL, NULL, NULL, NULL), + (469022, 4690, 2, '屯昌', 'tun chang', 'tuc', '屯昌县', NULL, NULL, NULL, NULL), + (469023, 4690, 2, '澄迈', 'cheng mai', 'chm', '澄迈县', NULL, NULL, NULL, NULL), + (469024, 4690, 2, '临高', 'lin gao', 'lig', '临高县', NULL, NULL, NULL, NULL), + (469025, 4690, 2, '白沙黎族自治县', 'bai sha li zu zi zhi xian', 'basl', '白沙黎族自治县', NULL, NULL, NULL, NULL), + (469026, 4690, 2, '昌江黎族自治县', 'chang jiang li zu zi zhi xian', 'chjl', '昌江黎族自治县', NULL, NULL, NULL, NULL), + (469027, 4690, 2, '乐东黎族自治县', 'le dong li zu zi zhi xian', 'ledl', '乐东黎族自治县', NULL, NULL, NULL, NULL), + (469028, 4690, 2, '陵水黎族自治县', 'ling shui li zu zi zhi xian', 'lisl', '陵水黎族自治县', NULL, NULL, NULL, NULL), + (469029, 4690, 2, '保亭黎族苗族自治县', 'bao ting li zu miao zu zi zhi xian', 'batl', '保亭黎族苗族自治县', NULL, NULL, NULL, NULL), + (469030, 4690, 2, '琼中黎族苗族自治县', 'qiong zhong li zu miao zu zi zhi xian', 'qizl', '琼中黎族苗族自治县', NULL, NULL, NULL, NULL), + (500101, 5001, 2, '万州', 'wan zhou', 'waz', '万州区', NULL, NULL, NULL, NULL), + (500102, 5001, 2, '涪陵', 'fu ling', 'ful', '涪陵区', NULL, NULL, NULL, NULL), + (500103, 5001, 2, '渝中', 'yu zhong', 'yuz', '渝中区', NULL, NULL, NULL, NULL), + (500104, 5001, 2, '大渡口', 'da du kou', 'dadk', '大渡口区', NULL, NULL, NULL, NULL), + (500105, 5001, 2, '江北', 'jiang bei', 'jib', '江北区', NULL, NULL, NULL, NULL), + (500106, 5001, 2, '沙坪坝', 'sha ping ba', 'shpb', '沙坪坝区', NULL, NULL, NULL, NULL), + (500107, 5001, 2, '九龙坡', 'jiu long po', 'jilp', '九龙坡区', NULL, NULL, NULL, NULL), + (500108, 5001, 2, '南岸', 'nan an', 'naa', '南岸区', NULL, NULL, NULL, NULL), + (500109, 5001, 2, '北碚', 'bei bei', 'beb', '北碚区', NULL, NULL, NULL, NULL), + (500110, 5001, 2, '綦江', 'qi jiang', 'qij', '綦江区', NULL, NULL, NULL, NULL), + (500111, 5001, 2, '大足', 'da zu', 'daz', '大足区', NULL, NULL, NULL, NULL), + (500112, 5001, 2, '渝北', 'yu bei', 'yub', '渝北区', NULL, NULL, NULL, NULL), + (500113, 5001, 2, '巴南', 'ba nan', 'ban', '巴南区', NULL, NULL, NULL, NULL), + (500114, 5001, 2, '黔江', 'qian jiang', 'qij', '黔江区', NULL, NULL, NULL, NULL), + (500115, 5001, 2, '长寿', 'chang shou', 'chs', '长寿区', NULL, NULL, NULL, NULL), + (500116, 5001, 2, '江津', 'jiang jin', 'jij', '江津区', NULL, NULL, NULL, NULL), + (500117, 5001, 2, '合川', 'he chuan', 'hec', '合川区', NULL, NULL, NULL, NULL), + (500118, 5001, 2, '永川', 'yong chuan', 'yoc', '永川区', NULL, NULL, NULL, NULL), + (500119, 5001, 2, '南川', 'nan chuan', 'nac', '南川区', NULL, NULL, NULL, NULL), + (500120, 5001, 2, '璧山', 'bi shan', 'bis', '璧山区', NULL, NULL, NULL, NULL), + (500151, 5001, 2, '铜梁', 'tong liang', 'tol', '铜梁区', NULL, NULL, NULL, NULL), + (500152, 5001, 2, '潼南', 'tong nan', 'ton', '潼南区', NULL, NULL, NULL, NULL), + (500153, 5001, 2, '荣昌', 'rong chang', 'roc', '荣昌区', NULL, NULL, NULL, NULL), + (500154, 5001, 2, '开州', 'kai zhou', 'kaz', '开州区', NULL, NULL, NULL, NULL), + (500155, 5001, 2, '梁平', 'liang ping', 'lip', '梁平区', NULL, NULL, NULL, NULL), + (500156, 5001, 2, '武隆', 'wu long', 'wul', '武隆区', NULL, NULL, NULL, NULL), + (500229, 5002, 2, '城口', 'cheng kou', 'chk', '城口县', NULL, NULL, NULL, NULL), + (500230, 5002, 2, '丰都', 'feng du', 'fed', '丰都县', NULL, NULL, NULL, NULL), + (500231, 5002, 2, '垫江', 'dian jiang', 'dij', '垫江县', NULL, NULL, NULL, NULL), + (500233, 5002, 2, '忠县', 'zhong xian', 'zhx', '忠县', NULL, NULL, NULL, NULL), + (500235, 5002, 2, '云阳', 'yun yang', 'yuy', '云阳县', NULL, NULL, NULL, NULL), + (500236, 5002, 2, '奉节', 'feng jie', 'fej', '奉节县', NULL, NULL, NULL, NULL), + (500237, 5002, 2, '巫山', 'wu shan', 'wus', '巫山县', NULL, NULL, NULL, NULL), + (500238, 5002, 2, '巫溪', 'wu xi', 'wux', '巫溪县', NULL, NULL, NULL, NULL), + (500240, 5002, 2, '石柱土家族自治县', 'shi zhu tu jia zu zi zhi xian', 'shzt', '石柱土家族自治县', NULL, NULL, NULL, NULL), + (500241, 5002, 2, '秀山土家族苗族自治县', 'xiu shan tu jia zu miao zu zi zhi xian', 'xist', '秀山土家族苗族自治县', NULL, NULL, NULL, NULL), + (500242, 5002, 2, '酉阳土家族苗族自治县', 'you yang tu jia zu miao zu zi zhi xian', 'yoyt', '酉阳土家族苗族自治县', NULL, NULL, NULL, NULL), + (500243, 5002, 2, '彭水苗族土家族自治县', 'peng shui miao zu tu jia zu zi zhi xian', 'pesm', '彭水苗族土家族自治县', NULL, NULL, NULL, NULL), + (510104, 5101, 2, '锦江', 'jin jiang', 'jij', '锦江区', NULL, NULL, NULL, NULL), + (510105, 5101, 2, '青羊', 'qing yang', 'qiy', '青羊区', NULL, NULL, NULL, NULL), + (510106, 5101, 2, '金牛', 'jin niu', 'jin', '金牛区', NULL, NULL, NULL, NULL), + (510107, 5101, 2, '武侯', 'wu hou', 'wuh', '武侯区', NULL, NULL, NULL, NULL), + (510108, 5101, 2, '成华', 'cheng hua', 'chh', '成华区', NULL, NULL, NULL, NULL), + (510112, 5101, 2, '龙泉驿', 'long quan yi', 'loqy', '龙泉驿区', NULL, NULL, NULL, NULL), + (510113, 5101, 2, '青白江', 'qing bai jiang', 'qibj', '青白江区', NULL, NULL, NULL, NULL), + (510114, 5101, 2, '新都', 'xin du', 'xid', '新都区', NULL, NULL, NULL, NULL), + (510115, 5101, 2, '温江', 'wen jiang', 'wej', '温江区', NULL, NULL, NULL, NULL), + (510116, 5101, 2, '双流', 'shuang liu', 'shl', '双流区', NULL, NULL, NULL, NULL), + (510117, 5101, 2, '郫都', 'pi du', 'pid', '郫都区', NULL, NULL, NULL, NULL), + (510121, 5101, 2, '金堂', 'jin tang', 'jit', '金堂县', NULL, NULL, NULL, NULL), + (510129, 5101, 2, '大邑', 'da yi', 'day', '大邑县', NULL, NULL, NULL, NULL), + (510131, 5101, 2, '蒲江', 'pu jiang', 'puj', '蒲江县', NULL, NULL, NULL, NULL), + (510132, 5101, 2, '新津', 'xin jin', 'xij', '新津县', NULL, NULL, NULL, NULL), + (510181, 5101, 2, '都江堰', 'du jiang yan', 'dujy', '都江堰市', NULL, NULL, NULL, NULL), + (510182, 5101, 2, '彭州', 'peng zhou', 'pez', '彭州市', NULL, NULL, NULL, NULL), + (510183, 5101, 2, '邛崃', 'qiong lai', 'qil', '邛崃市', NULL, NULL, NULL, NULL), + (510184, 5101, 2, '崇州', 'chong zhou', 'chz', '崇州市', NULL, NULL, NULL, NULL), + (510185, 5101, 2, '简阳', 'jian yang', 'jiy', '简阳市', NULL, NULL, NULL, NULL), + (510302, 5103, 2, '自流井', 'zi liu jing', 'zilj', '自流井区', NULL, NULL, NULL, NULL), + (510303, 5103, 2, '贡井', 'gong jing', 'goj', '贡井区', NULL, NULL, NULL, NULL), + (510304, 5103, 2, '大安', 'da an', 'daa', '大安区', NULL, NULL, NULL, NULL), + (510311, 5103, 2, '沿滩', 'yan tan', 'yat', '沿滩区', NULL, NULL, NULL, NULL), + (510321, 5103, 2, '荣县', 'rong xian', 'rox', '荣县', NULL, NULL, NULL, NULL), + (510322, 5103, 2, '富顺', 'fu shun', 'fus', '富顺县', NULL, NULL, NULL, NULL), + (510402, 5104, 2, '东区', 'dong qu', 'doq', '东区', NULL, NULL, NULL, NULL), + (510403, 5104, 2, '西区', 'xi qu', 'xiq', '西区', NULL, NULL, NULL, NULL), + (510411, 5104, 2, '仁和', 'ren he', 'reh', '仁和区', NULL, NULL, NULL, NULL), + (510421, 5104, 2, '米易', 'mi yi', 'miy', '米易县', NULL, NULL, NULL, NULL), + (510422, 5104, 2, '盐边', 'yan bian', 'yab', '盐边县', NULL, NULL, NULL, NULL), + (510502, 5105, 2, '江阳', 'jiang yang', 'jiy', '江阳区', NULL, NULL, NULL, NULL), + (510503, 5105, 2, '纳溪', 'na xi', 'nax', '纳溪区', NULL, NULL, NULL, NULL), + (510504, 5105, 2, '龙马潭', 'long ma tan', 'lomt', '龙马潭区', NULL, NULL, NULL, NULL), + (510521, 5105, 2, '泸县', 'lu xian', 'lux', '泸县', NULL, NULL, NULL, NULL), + (510522, 5105, 2, '合江', 'he jiang', 'hej', '合江县', NULL, NULL, NULL, NULL), + (510524, 5105, 2, '叙永', 'xu yong', 'xuy', '叙永县', NULL, NULL, NULL, NULL), + (510525, 5105, 2, '古蔺', 'gu lin', 'gul', '古蔺县', NULL, NULL, NULL, NULL), + (510603, 5106, 2, '旌阳', 'jing yang', 'jiy', '旌阳区', NULL, NULL, NULL, NULL), + (510604, 5106, 2, '罗江', 'luo jiang', 'luj', '罗江区', NULL, NULL, NULL, NULL), + (510623, 5106, 2, '中江', 'zhong jiang', 'zhj', '中江县', NULL, NULL, NULL, NULL), + (510681, 5106, 2, '广汉', 'guang han', 'guh', '广汉市', NULL, NULL, NULL, NULL), + (510682, 5106, 2, '什邡', 'shi fang', 'shf', '什邡市', NULL, NULL, NULL, NULL), + (510683, 5106, 2, '绵竹', 'mian zhu', 'miz', '绵竹市', NULL, NULL, NULL, NULL), + (510703, 5107, 2, '涪城', 'fu cheng', 'fuc', '涪城区', NULL, NULL, NULL, NULL), + (510704, 5107, 2, '游仙', 'you xian', 'yox', '游仙区', NULL, NULL, NULL, NULL), + (510705, 5107, 2, '安州', 'an zhou', 'anz', '安州区', NULL, NULL, NULL, NULL), + (510722, 5107, 2, '三台', 'san tai', 'sat', '三台县', NULL, NULL, NULL, NULL), + (510723, 5107, 2, '盐亭', 'yan ting', 'yat', '盐亭县', NULL, NULL, NULL, NULL), + (510725, 5107, 2, '梓潼', 'zi tong', 'zit', '梓潼县', NULL, NULL, NULL, NULL), + (510726, 5107, 2, '北川羌族自治县', 'bei chuan qiang zu zi zhi xian', 'becq', '北川羌族自治县', NULL, NULL, NULL, NULL), + (510727, 5107, 2, '平武', 'ping wu', 'piw', '平武县', NULL, NULL, NULL, NULL), + (510781, 5107, 2, '江油', 'jiang you', 'jiy', '江油市', NULL, NULL, NULL, NULL), + (510802, 5108, 2, '利州', 'li zhou', 'liz', '利州区', NULL, NULL, NULL, NULL), + (510811, 5108, 2, '昭化', 'zhao hua', 'zhh', '昭化区', NULL, NULL, NULL, NULL), + (510812, 5108, 2, '朝天', 'chao tian', 'cht', '朝天区', NULL, NULL, NULL, NULL), + (510821, 5108, 2, '旺苍', 'wang cang', 'wac', '旺苍县', NULL, NULL, NULL, NULL), + (510822, 5108, 2, '青川', 'qing chuan', 'qic', '青川县', NULL, NULL, NULL, NULL), + (510823, 5108, 2, '剑阁', 'jian ge', 'jig', '剑阁县', NULL, NULL, NULL, NULL), + (510824, 5108, 2, '苍溪', 'cang xi', 'cax', '苍溪县', NULL, NULL, NULL, NULL), + (510903, 5109, 2, '船山', 'chuan shan', 'chs', '船山区', NULL, NULL, NULL, NULL), + (510904, 5109, 2, '安居', 'an ju', 'anj', '安居区', NULL, NULL, NULL, NULL), + (510921, 5109, 2, '蓬溪', 'peng xi', 'pex', '蓬溪县', NULL, NULL, NULL, NULL), + (510922, 5109, 2, '射洪', 'she hong', 'shh', '射洪县', NULL, NULL, NULL, NULL), + (510923, 5109, 2, '大英', 'da ying', 'day', '大英县', NULL, NULL, NULL, NULL), + (511002, 5110, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (511011, 5110, 2, '东兴', 'dong xing', 'dox', '东兴区', NULL, NULL, NULL, NULL), + (511024, 5110, 2, '威远', 'wei yuan', 'wey', '威远县', NULL, NULL, NULL, NULL), + (511025, 5110, 2, '资中', 'zi zhong', 'ziz', '资中县', NULL, NULL, NULL, NULL), + (511071, 5110, 2, '内江经济开发区', 'nei jiang jing ji kai fa qu', 'nejj', '内江经济开发区', NULL, NULL, NULL, NULL), + (511083, 5110, 2, '隆昌', 'long chang', 'loc', '隆昌市', NULL, NULL, NULL, NULL), + (511102, 5111, 2, '市中', 'shi zhong', 'shz', '市中区', NULL, NULL, NULL, NULL), + (511111, 5111, 2, '沙湾', 'sha wan', 'shw', '沙湾区', NULL, NULL, NULL, NULL), + (511112, 5111, 2, '五通桥', 'wu tong qiao', 'wutq', '五通桥区', NULL, NULL, NULL, NULL), + (511113, 5111, 2, '金口河', 'jin kou he', 'jikh', '金口河区', NULL, NULL, NULL, NULL), + (511123, 5111, 2, '犍为', 'qian wei', 'qiw', '犍为县', NULL, NULL, NULL, NULL), + (511124, 5111, 2, '井研', 'jing yan', 'jiy', '井研县', NULL, NULL, NULL, NULL), + (511126, 5111, 2, '夹江', 'jia jiang', 'jij', '夹江县', NULL, NULL, NULL, NULL), + (511129, 5111, 2, '沐川', 'mu chuan', 'muc', '沐川县', NULL, NULL, NULL, NULL), + (511132, 5111, 2, '峨边彝族自治县', 'e bian yi zu zi zhi xian', 'eby', '峨边彝族自治县', NULL, NULL, NULL, NULL), + (511133, 5111, 2, '马边彝族自治县', 'ma bian yi zu zi zhi xian', 'maby', '马边彝族自治县', NULL, NULL, NULL, NULL), + (511181, 5111, 2, '峨眉山', 'e mei shan', 'ems', '峨眉山市', NULL, NULL, NULL, NULL), + (511302, 5113, 2, '顺庆', 'shun qing', 'shq', '顺庆区', NULL, NULL, NULL, NULL), + (511303, 5113, 2, '高坪', 'gao ping', 'gap', '高坪区', NULL, NULL, NULL, NULL), + (511304, 5113, 2, '嘉陵', 'jia ling', 'jil', '嘉陵区', NULL, NULL, NULL, NULL), + (511321, 5113, 2, '南部', 'nan bu', 'nab', '南部县', NULL, NULL, NULL, NULL), + (511322, 5113, 2, '营山', 'ying shan', 'yis', '营山县', NULL, NULL, NULL, NULL), + (511323, 5113, 2, '蓬安', 'peng an', 'pea', '蓬安县', NULL, NULL, NULL, NULL), + (511324, 5113, 2, '仪陇', 'yi long', 'yil', '仪陇县', NULL, NULL, NULL, NULL), + (511325, 5113, 2, '西充', 'xi chong', 'xic', '西充县', NULL, NULL, NULL, NULL), + (511381, 5113, 2, '阆中', 'lang zhong', 'laz', '阆中市', NULL, NULL, NULL, NULL), + (511402, 5114, 2, '东坡', 'dong po', 'dop', '东坡区', NULL, NULL, NULL, NULL), + (511403, 5114, 2, '彭山', 'peng shan', 'pes', '彭山区', NULL, NULL, NULL, NULL), + (511421, 5114, 2, '仁寿', 'ren shou', 'res', '仁寿县', NULL, NULL, NULL, NULL), + (511423, 5114, 2, '洪雅', 'hong ya', 'hoy', '洪雅县', NULL, NULL, NULL, NULL), + (511424, 5114, 2, '丹棱', 'dan leng', 'dal', '丹棱县', NULL, NULL, NULL, NULL), + (511425, 5114, 2, '青神', 'qing shen', 'qis', '青神县', NULL, NULL, NULL, NULL), + (511502, 5115, 2, '翠屏', 'cui ping', 'cup', '翠屏区', NULL, NULL, NULL, NULL), + (511503, 5115, 2, '南溪', 'nan xi', 'nax', '南溪区', NULL, NULL, NULL, NULL), + (511521, 5115, 2, '宜宾', 'yi bin', 'yib', '宜宾县', NULL, NULL, NULL, NULL), + (511523, 5115, 2, '江安', 'jiang an', 'jia', '江安县', NULL, NULL, NULL, NULL), + (511524, 5115, 2, '长宁', 'chang ning', 'chn', '长宁县', NULL, NULL, NULL, NULL), + (511525, 5115, 2, '高县', 'gao xian', 'gax', '高县', NULL, NULL, NULL, NULL), + (511526, 5115, 2, '珙县', 'gong xian', 'gox', '珙县', NULL, NULL, NULL, NULL), + (511527, 5115, 2, '筠连', 'jun lian', 'jul', '筠连县', NULL, NULL, NULL, NULL), + (511528, 5115, 2, '兴文', 'xing wen', 'xiw', '兴文县', NULL, NULL, NULL, NULL), + (511529, 5115, 2, '屏山', 'ping shan', 'pis', '屏山县', NULL, NULL, NULL, NULL), + (511602, 5116, 2, '广安', 'guang an', 'gua', '广安区', NULL, NULL, NULL, NULL), + (511603, 5116, 2, '前锋', 'qian feng', 'qif', '前锋区', NULL, NULL, NULL, NULL), + (511621, 5116, 2, '岳池', 'yue chi', 'yuc', '岳池县', NULL, NULL, NULL, NULL), + (511622, 5116, 2, '武胜', 'wu sheng', 'wus', '武胜县', NULL, NULL, NULL, NULL), + (511623, 5116, 2, '邻水', 'lin shui', 'lis', '邻水县', NULL, NULL, NULL, NULL), + (511681, 5116, 2, '华蓥', 'hua ying', 'huy', '华蓥市', NULL, NULL, NULL, NULL), + (511702, 5117, 2, '通川', 'tong chuan', 'toc', '通川区', NULL, NULL, NULL, NULL), + (511703, 5117, 2, '达川', 'da chuan', 'dac', '达川区', NULL, NULL, NULL, NULL), + (511722, 5117, 2, '宣汉', 'xuan han', 'xuh', '宣汉县', NULL, NULL, NULL, NULL), + (511723, 5117, 2, '开江', 'kai jiang', 'kaj', '开江县', NULL, NULL, NULL, NULL), + (511724, 5117, 2, '大竹', 'da zhu', 'daz', '大竹县', NULL, NULL, NULL, NULL), + (511725, 5117, 2, '渠县', 'qu xian', 'qux', '渠县', NULL, NULL, NULL, NULL), + (511771, 5117, 2, '达州经济开发区', 'da zhou jing ji kai fa qu', 'dazj', '达州经济开发区', NULL, NULL, NULL, NULL), + (511781, 5117, 2, '万源', 'wan yuan', 'way', '万源市', NULL, NULL, NULL, NULL), + (511802, 5118, 2, '雨城', 'yu cheng', 'yuc', '雨城区', NULL, NULL, NULL, NULL), + (511803, 5118, 2, '名山', 'ming shan', 'mis', '名山区', NULL, NULL, NULL, NULL), + (511822, 5118, 2, '荥经', 'ying jing', 'yij', '荥经县', NULL, NULL, NULL, NULL), + (511823, 5118, 2, '汉源', 'han yuan', 'hay', '汉源县', NULL, NULL, NULL, NULL), + (511824, 5118, 2, '石棉', 'shi mian', 'shm', '石棉县', NULL, NULL, NULL, NULL), + (511825, 5118, 2, '天全', 'tian quan', 'tiq', '天全县', NULL, NULL, NULL, NULL), + (511826, 5118, 2, '芦山', 'lu shan', 'lus', '芦山县', NULL, NULL, NULL, NULL), + (511827, 5118, 2, '宝兴', 'bao xing', 'bax', '宝兴县', NULL, NULL, NULL, NULL), + (511902, 5119, 2, '巴州', 'ba zhou', 'baz', '巴州区', NULL, NULL, NULL, NULL), + (511903, 5119, 2, '恩阳', 'en yang', 'eny', '恩阳区', NULL, NULL, NULL, NULL), + (511921, 5119, 2, '通江', 'tong jiang', 'toj', '通江县', NULL, NULL, NULL, NULL), + (511922, 5119, 2, '南江', 'nan jiang', 'naj', '南江县', NULL, NULL, NULL, NULL), + (511923, 5119, 2, '平昌', 'ping chang', 'pic', '平昌县', NULL, NULL, NULL, NULL), + (511971, 5119, 2, '巴中经济开发区', 'ba zhong jing ji kai fa qu', 'bazj', '巴中经济开发区', NULL, NULL, NULL, NULL), + (512002, 5120, 2, '雁江', 'yan jiang', 'yaj', '雁江区', NULL, NULL, NULL, NULL), + (512021, 5120, 2, '安岳', 'an yue', 'any', '安岳县', NULL, NULL, NULL, NULL), + (512022, 5120, 2, '乐至', 'le zhi', 'lez', '乐至县', NULL, NULL, NULL, NULL), + (513201, 5132, 2, '马尔康', 'ma er kang', 'maek', '马尔康市', NULL, NULL, NULL, NULL), + (513221, 5132, 2, '汶川', 'wen chuan', 'wec', '汶川县', NULL, NULL, NULL, NULL), + (513222, 5132, 2, '理县', 'li xian', 'lix', '理县', NULL, NULL, NULL, NULL), + (513223, 5132, 2, '茂县', 'mao xian', 'max', '茂县', NULL, NULL, NULL, NULL), + (513224, 5132, 2, '松潘', 'song pan', 'sop', '松潘县', NULL, NULL, NULL, NULL), + (513225, 5132, 2, '九寨沟', 'jiu zhai gou', 'jizg', '九寨沟县', NULL, NULL, NULL, NULL), + (513226, 5132, 2, '金川', 'jin chuan', 'jic', '金川县', NULL, NULL, NULL, NULL), + (513227, 5132, 2, '小金', 'xiao jin', 'xij', '小金县', NULL, NULL, NULL, NULL), + (513228, 5132, 2, '黑水', 'hei shui', 'hes', '黑水县', NULL, NULL, NULL, NULL), + (513230, 5132, 2, '壤塘', 'rang tang', 'rat', '壤塘县', NULL, NULL, NULL, NULL), + (513231, 5132, 2, '阿坝', 'a ba', 'ab', '阿坝县', NULL, NULL, NULL, NULL), + (513232, 5132, 2, '若尔盖', 'ruo er gai', 'rueg', '若尔盖县', NULL, NULL, NULL, NULL), + (513233, 5132, 2, '红原', 'hong yuan', 'hoy', '红原县', NULL, NULL, NULL, NULL), + (513301, 5133, 2, '康定', 'kang ding', 'kad', '康定市', NULL, NULL, NULL, NULL), + (513322, 5133, 2, '泸定', 'lu ding', 'lud', '泸定县', NULL, NULL, NULL, NULL), + (513323, 5133, 2, '丹巴', 'dan ba', 'dab', '丹巴县', NULL, NULL, NULL, NULL), + (513324, 5133, 2, '九龙', 'jiu long', 'jil', '九龙县', NULL, NULL, NULL, NULL), + (513325, 5133, 2, '雅江', 'ya jiang', 'yaj', '雅江县', NULL, NULL, NULL, NULL), + (513326, 5133, 2, '道孚', 'dao fu', 'daf', '道孚县', NULL, NULL, NULL, NULL), + (513327, 5133, 2, '炉霍', 'lu huo', 'luh', '炉霍县', NULL, NULL, NULL, NULL), + (513328, 5133, 2, '甘孜', 'gan zi', 'gaz', '甘孜县', NULL, NULL, NULL, NULL), + (513329, 5133, 2, '新龙', 'xin long', 'xil', '新龙县', NULL, NULL, NULL, NULL), + (513330, 5133, 2, '德格', 'de ge', 'deg', '德格县', NULL, NULL, NULL, NULL), + (513331, 5133, 2, '白玉', 'bai yu', 'bay', '白玉县', NULL, NULL, NULL, NULL), + (513332, 5133, 2, '石渠', 'shi qu', 'shq', '石渠县', NULL, NULL, NULL, NULL), + (513333, 5133, 2, '色达', 'se da', 'sed', '色达县', NULL, NULL, NULL, NULL), + (513334, 5133, 2, '理塘', 'li tang', 'lit', '理塘县', NULL, NULL, NULL, NULL), + (513335, 5133, 2, '巴塘', 'ba tang', 'bat', '巴塘县', NULL, NULL, NULL, NULL), + (513336, 5133, 2, '乡城', 'xiang cheng', 'xic', '乡城县', NULL, NULL, NULL, NULL), + (513337, 5133, 2, '稻城', 'dao cheng', 'dac', '稻城县', NULL, NULL, NULL, NULL), + (513338, 5133, 2, '得荣', 'de rong', 'der', '得荣县', NULL, NULL, NULL, NULL), + (513401, 5134, 2, '西昌', 'xi chang', 'xic', '西昌市', NULL, NULL, NULL, NULL), + (513422, 5134, 2, '木里藏族自治县', 'mu li zang zu zi zhi xian', 'mulz', '木里藏族自治县', NULL, NULL, NULL, NULL), + (513423, 5134, 2, '盐源', 'yan yuan', 'yay', '盐源县', NULL, NULL, NULL, NULL), + (513424, 5134, 2, '德昌', 'de chang', 'dec', '德昌县', NULL, NULL, NULL, NULL), + (513425, 5134, 2, '会理', 'hui li', 'hul', '会理县', NULL, NULL, NULL, NULL), + (513426, 5134, 2, '会东', 'hui dong', 'hud', '会东县', NULL, NULL, NULL, NULL), + (513427, 5134, 2, '宁南', 'ning nan', 'nin', '宁南县', NULL, NULL, NULL, NULL), + (513428, 5134, 2, '普格', 'pu ge', 'pug', '普格县', NULL, NULL, NULL, NULL), + (513429, 5134, 2, '布拖', 'bu tuo', 'but', '布拖县', NULL, NULL, NULL, NULL), + (513430, 5134, 2, '金阳', 'jin yang', 'jiy', '金阳县', NULL, NULL, NULL, NULL), + (513431, 5134, 2, '昭觉', 'zhao jue', 'zhj', '昭觉县', NULL, NULL, NULL, NULL), + (513432, 5134, 2, '喜德', 'xi de', 'xid', '喜德县', NULL, NULL, NULL, NULL), + (513433, 5134, 2, '冕宁', 'mian ning', 'min', '冕宁县', NULL, NULL, NULL, NULL), + (513434, 5134, 2, '越西', 'yue xi', 'yux', '越西县', NULL, NULL, NULL, NULL), + (513435, 5134, 2, '甘洛', 'gan luo', 'gal', '甘洛县', NULL, NULL, NULL, NULL), + (513436, 5134, 2, '美姑', 'mei gu', 'meg', '美姑县', NULL, NULL, NULL, NULL), + (513437, 5134, 2, '雷波', 'lei bo', 'leb', '雷波县', NULL, NULL, NULL, NULL), + (520102, 5201, 2, '南明', 'nan ming', 'nam', '南明区', NULL, NULL, NULL, NULL), + (520103, 5201, 2, '云岩', 'yun yan', 'yuy', '云岩区', NULL, NULL, NULL, NULL), + (520111, 5201, 2, '花溪', 'hua xi', 'hux', '花溪区', NULL, NULL, NULL, NULL), + (520112, 5201, 2, '乌当', 'wu dang', 'wud', '乌当区', NULL, NULL, NULL, NULL), + (520113, 5201, 2, '白云', 'bai yun', 'bay', '白云区', NULL, NULL, NULL, NULL), + (520115, 5201, 2, '观山湖', 'guan shan hu', 'gush', '观山湖区', NULL, NULL, NULL, NULL), + (520121, 5201, 2, '开阳', 'kai yang', 'kay', '开阳县', NULL, NULL, NULL, NULL), + (520122, 5201, 2, '息烽', 'xi feng', 'xif', '息烽县', NULL, NULL, NULL, NULL), + (520123, 5201, 2, '修文', 'xiu wen', 'xiw', '修文县', NULL, NULL, NULL, NULL), + (520181, 5201, 2, '清镇', 'qing zhen', 'qiz', '清镇市', NULL, NULL, NULL, NULL), + (520201, 5202, 2, '钟山', 'zhong shan', 'zhs', '钟山区', NULL, NULL, NULL, NULL), + (520203, 5202, 2, '六枝特', 'liu zhi te', 'lizt', '六枝特区', NULL, NULL, NULL, NULL), + (520221, 5202, 2, '水城', 'shui cheng', 'shc', '水城县', NULL, NULL, NULL, NULL), + (520281, 5202, 2, '盘州', 'pan zhou', 'paz', '盘州市', NULL, NULL, NULL, NULL), + (520302, 5203, 2, '红花岗', 'hong hua gang', 'hohg', '红花岗区', NULL, NULL, NULL, NULL), + (520303, 5203, 2, '汇川', 'hui chuan', 'huc', '汇川区', NULL, NULL, NULL, NULL), + (520304, 5203, 2, '播州', 'bo zhou', 'boz', '播州区', NULL, NULL, NULL, NULL), + (520322, 5203, 2, '桐梓', 'tong zi', 'toz', '桐梓县', NULL, NULL, NULL, NULL), + (520323, 5203, 2, '绥阳', 'sui yang', 'suy', '绥阳县', NULL, NULL, NULL, NULL), + (520324, 5203, 2, '正安', 'zheng an', 'zha', '正安县', NULL, NULL, NULL, NULL), + (520325, 5203, 2, '道真仡佬族苗族自治县', 'dao zhen ge lao zu miao zu zi zhi xian', 'dazg', '道真仡佬族苗族自治县', NULL, NULL, NULL, NULL), + (520326, 5203, 2, '务川仡佬族苗族自治县', 'wu chuan ge lao zu miao zu zi zhi xian', 'wucg', '务川仡佬族苗族自治县', NULL, NULL, NULL, NULL), + (520327, 5203, 2, '凤冈', 'feng gang', 'feg', '凤冈县', NULL, NULL, NULL, NULL), + (520328, 5203, 2, '湄潭', 'mei tan', 'met', '湄潭县', NULL, NULL, NULL, NULL), + (520329, 5203, 2, '余庆', 'yu qing', 'yuq', '余庆县', NULL, NULL, NULL, NULL), + (520330, 5203, 2, '习水', 'xi shui', 'xis', '习水县', NULL, NULL, NULL, NULL), + (520381, 5203, 2, '赤水', 'chi shui', 'chs', '赤水市', NULL, NULL, NULL, NULL), + (520382, 5203, 2, '仁怀', 'ren huai', 'reh', '仁怀市', NULL, NULL, NULL, NULL), + (520402, 5204, 2, '西秀', 'xi xiu', 'xix', '西秀区', NULL, NULL, NULL, NULL), + (520403, 5204, 2, '平坝', 'ping ba', 'pib', '平坝区', NULL, NULL, NULL, NULL), + (520422, 5204, 2, '普定', 'pu ding', 'pud', '普定县', NULL, NULL, NULL, NULL), + (520423, 5204, 2, '镇宁布依族苗族自治县', 'zhen ning bu yi zu miao zu zi zhi xian', 'zhnb', '镇宁布依族苗族自治县', NULL, NULL, NULL, NULL), + (520424, 5204, 2, '关岭布依族苗族自治县', 'guan ling bu yi zu miao zu zi zhi xian', 'gulb', '关岭布依族苗族自治县', NULL, NULL, NULL, NULL), + (520425, 5204, 2, '紫云苗族布依族自治县', 'zi yun miao zu bu yi zu zi zhi xian', 'ziym', '紫云苗族布依族自治县', NULL, NULL, NULL, NULL), + (520502, 5205, 2, '七星关', 'qi xing guan', 'qixg', '七星关区', NULL, NULL, NULL, NULL), + (520521, 5205, 2, '大方', 'da fang', 'daf', '大方县', NULL, NULL, NULL, NULL), + (520522, 5205, 2, '黔西', 'qian xi', 'qix', '黔西县', NULL, NULL, NULL, NULL), + (520523, 5205, 2, '金沙', 'jin sha', 'jis', '金沙县', NULL, NULL, NULL, NULL), + (520524, 5205, 2, '织金', 'zhi jin', 'zhj', '织金县', NULL, NULL, NULL, NULL), + (520525, 5205, 2, '纳雍', 'na yong', 'nay', '纳雍县', NULL, NULL, NULL, NULL), + (520526, 5205, 2, '威宁彝族回族苗族自治县', 'wei ning yi zu hui zu miao zu zi zhi xian', 'weny', '威宁彝族回族苗族自治县', NULL, NULL, NULL, NULL), + (520527, 5205, 2, '赫章', 'he zhang', 'hez', '赫章县', NULL, NULL, NULL, NULL), + (520602, 5206, 2, '碧江', 'bi jiang', 'bij', '碧江区', NULL, NULL, NULL, NULL), + (520603, 5206, 2, '万山', 'wan shan', 'was', '万山区', NULL, NULL, NULL, NULL), + (520621, 5206, 2, '江口', 'jiang kou', 'jik', '江口县', NULL, NULL, NULL, NULL), + (520622, 5206, 2, '玉屏侗族自治县', 'yu ping dong zu zi zhi xian', 'yupd', '玉屏侗族自治县', NULL, NULL, NULL, NULL), + (520623, 5206, 2, '石阡', 'shi qian', 'shq', '石阡县', NULL, NULL, NULL, NULL), + (520624, 5206, 2, '思南', 'si nan', 'sin', '思南县', NULL, NULL, NULL, NULL), + (520625, 5206, 2, '印江土家族苗族自治县', 'yin jiang tu jia zu miao zu zi zhi xian', 'yijt', '印江土家族苗族自治县', NULL, NULL, NULL, NULL), + (520626, 5206, 2, '德江', 'de jiang', 'dej', '德江县', NULL, NULL, NULL, NULL), + (520627, 5206, 2, '沿河土家族自治县', 'yan he tu jia zu zi zhi xian', 'yaht', '沿河土家族自治县', NULL, NULL, NULL, NULL), + (520628, 5206, 2, '松桃苗族自治县', 'song tao miao zu zi zhi xian', 'sotm', '松桃苗族自治县', NULL, NULL, NULL, NULL), + (522301, 5223, 2, '兴义', 'xing yi', 'xiy', '兴义市', NULL, NULL, NULL, NULL), + (522322, 5223, 2, '兴仁', 'xing ren', 'xir', '兴仁县', NULL, NULL, NULL, NULL), + (522323, 5223, 2, '普安', 'pu an', 'pua', '普安县', NULL, NULL, NULL, NULL), + (522324, 5223, 2, '晴隆', 'qing long', 'qil', '晴隆县', NULL, NULL, NULL, NULL), + (522325, 5223, 2, '贞丰', 'zhen feng', 'zhf', '贞丰县', NULL, NULL, NULL, NULL), + (522326, 5223, 2, '望谟', 'wang mo', 'wam', '望谟县', NULL, NULL, NULL, NULL), + (522327, 5223, 2, '册亨', 'ce heng', 'ceh', '册亨县', NULL, NULL, NULL, NULL), + (522328, 5223, 2, '安龙', 'an long', 'anl', '安龙县', NULL, NULL, NULL, NULL), + (522601, 5226, 2, '凯里', 'kai li', 'kal', '凯里市', NULL, NULL, NULL, NULL), + (522622, 5226, 2, '黄平', 'huang ping', 'hup', '黄平县', NULL, NULL, NULL, NULL), + (522623, 5226, 2, '施秉', 'shi bing', 'shb', '施秉县', NULL, NULL, NULL, NULL), + (522624, 5226, 2, '三穗', 'san sui', 'sas', '三穗县', NULL, NULL, NULL, NULL), + (522625, 5226, 2, '镇远', 'zhen yuan', 'zhy', '镇远县', NULL, NULL, NULL, NULL), + (522626, 5226, 2, '岑巩', 'cen gong', 'ceg', '岑巩县', NULL, NULL, NULL, NULL), + (522627, 5226, 2, '天柱', 'tian zhu', 'tiz', '天柱县', NULL, NULL, NULL, NULL), + (522628, 5226, 2, '锦屏', 'jin ping', 'jip', '锦屏县', NULL, NULL, NULL, NULL), + (522629, 5226, 2, '剑河', 'jian he', 'jih', '剑河县', NULL, NULL, NULL, NULL), + (522630, 5226, 2, '台江', 'tai jiang', 'taj', '台江县', NULL, NULL, NULL, NULL), + (522631, 5226, 2, '黎平', 'li ping', 'lip', '黎平县', NULL, NULL, NULL, NULL), + (522632, 5226, 2, '榕江', 'rong jiang', 'roj', '榕江县', NULL, NULL, NULL, NULL), + (522633, 5226, 2, '从江', 'cong jiang', 'coj', '从江县', NULL, NULL, NULL, NULL), + (522634, 5226, 2, '雷山', 'lei shan', 'les', '雷山县', NULL, NULL, NULL, NULL), + (522635, 5226, 2, '麻江', 'ma jiang', 'maj', '麻江县', NULL, NULL, NULL, NULL), + (522636, 5226, 2, '丹寨', 'dan zhai', 'daz', '丹寨县', NULL, NULL, NULL, NULL), + (522701, 5227, 2, '都匀', 'du yun', 'duy', '都匀市', NULL, NULL, NULL, NULL), + (522702, 5227, 2, '福泉', 'fu quan', 'fuq', '福泉市', NULL, NULL, NULL, NULL), + (522722, 5227, 2, '荔波', 'li bo', 'lib', '荔波县', NULL, NULL, NULL, NULL), + (522723, 5227, 2, '贵定', 'gui ding', 'gud', '贵定县', NULL, NULL, NULL, NULL), + (522725, 5227, 2, '瓮安', 'weng an', 'wea', '瓮安县', NULL, NULL, NULL, NULL), + (522726, 5227, 2, '独山', 'du shan', 'dus', '独山县', NULL, NULL, NULL, NULL), + (522727, 5227, 2, '平塘', 'ping tang', 'pit', '平塘县', NULL, NULL, NULL, NULL), + (522728, 5227, 2, '罗甸', 'luo dian', 'lud', '罗甸县', NULL, NULL, NULL, NULL), + (522729, 5227, 2, '长顺', 'chang shun', 'chs', '长顺县', NULL, NULL, NULL, NULL), + (522730, 5227, 2, '龙里', 'long li', 'lol', '龙里县', NULL, NULL, NULL, NULL), + (522731, 5227, 2, '惠水', 'hui shui', 'hus', '惠水县', NULL, NULL, NULL, NULL), + (522732, 5227, 2, '三都水族自治县', 'san du shui zu zi zhi xian', 'sads', '三都水族自治县', NULL, NULL, NULL, NULL), + (530102, 5301, 2, '五华', 'wu hua', 'wuh', '五华区', NULL, NULL, NULL, NULL), + (530103, 5301, 2, '盘龙', 'pan long', 'pal', '盘龙区', NULL, NULL, NULL, NULL), + (530111, 5301, 2, '官渡', 'guan du', 'gud', '官渡区', NULL, NULL, NULL, NULL), + (530112, 5301, 2, '西山', 'xi shan', 'xis', '西山区', NULL, NULL, NULL, NULL), + (530113, 5301, 2, '东川', 'dong chuan', 'doc', '东川区', NULL, NULL, NULL, NULL), + (530114, 5301, 2, '呈贡', 'cheng gong', 'chg', '呈贡区', NULL, NULL, NULL, NULL), + (530115, 5301, 2, '晋宁', 'jin ning', 'jin', '晋宁区', NULL, NULL, NULL, NULL), + (530124, 5301, 2, '富民', 'fu min', 'fum', '富民县', NULL, NULL, NULL, NULL), + (530125, 5301, 2, '宜良', 'yi liang', 'yil', '宜良县', NULL, NULL, NULL, NULL), + (530126, 5301, 2, '石林彝族自治县', 'shi lin yi zu zi zhi xian', 'shly', '石林彝族自治县', NULL, NULL, NULL, NULL), + (530127, 5301, 2, '嵩明', 'song ming', 'som', '嵩明县', NULL, NULL, NULL, NULL), + (530128, 5301, 2, '禄劝彝族苗族自治县', 'lu quan yi zu miao zu zi zhi xian', 'luqy', '禄劝彝族苗族自治县', NULL, NULL, NULL, NULL), + (530129, 5301, 2, '寻甸回族彝族自治县', 'xun dian hui zu yi zu zi zhi xian', 'xudh', '寻甸回族彝族自治县', NULL, NULL, NULL, NULL), + (530181, 5301, 2, '安宁', 'an ning', 'ann', '安宁市', NULL, NULL, NULL, NULL), + (530302, 5303, 2, '麒麟', 'qi lin', 'qil', '麒麟区', NULL, NULL, NULL, NULL), + (530303, 5303, 2, '沾益', 'zhan yi', 'zhy', '沾益区', NULL, NULL, NULL, NULL), + (530321, 5303, 2, '马龙', 'ma long', 'mal', '马龙县', NULL, NULL, NULL, NULL), + (530322, 5303, 2, '陆良', 'lu liang', 'lul', '陆良县', NULL, NULL, NULL, NULL), + (530323, 5303, 2, '师宗', 'shi zong', 'shz', '师宗县', NULL, NULL, NULL, NULL), + (530324, 5303, 2, '罗平', 'luo ping', 'lup', '罗平县', NULL, NULL, NULL, NULL), + (530325, 5303, 2, '富源', 'fu yuan', 'fuy', '富源县', NULL, NULL, NULL, NULL), + (530326, 5303, 2, '会泽', 'hui ze', 'huz', '会泽县', NULL, NULL, NULL, NULL), + (530381, 5303, 2, '宣威', 'xuan wei', 'xuw', '宣威市', NULL, NULL, NULL, NULL), + (530402, 5304, 2, '红塔', 'hong ta', 'hot', '红塔区', NULL, NULL, NULL, NULL), + (530403, 5304, 2, '江川', 'jiang chuan', 'jic', '江川区', NULL, NULL, NULL, NULL), + (530422, 5304, 2, '澄江', 'cheng jiang', 'chj', '澄江县', NULL, NULL, NULL, NULL), + (530423, 5304, 2, '通海', 'tong hai', 'toh', '通海县', NULL, NULL, NULL, NULL), + (530424, 5304, 2, '华宁', 'hua ning', 'hun', '华宁县', NULL, NULL, NULL, NULL), + (530425, 5304, 2, '易门', 'yi men', 'yim', '易门县', NULL, NULL, NULL, NULL), + (530426, 5304, 2, '峨山彝族自治县', 'e shan yi zu zi zhi xian', 'esy', '峨山彝族自治县', NULL, NULL, NULL, NULL), + (530427, 5304, 2, '新平彝族傣族自治县', 'xin ping yi zu dai zu zi zhi xian', 'xipy', '新平彝族傣族自治县', NULL, NULL, NULL, NULL), + (530428, 5304, 2, '元江哈尼族彝族傣族自治县', 'yuan jiang ha ni zu yi zu dai zu zi zhi xian', 'yujh', '元江哈尼族彝族傣族自治县', NULL, NULL, NULL, NULL), + (530502, 5305, 2, '隆阳', 'long yang', 'loy', '隆阳区', NULL, NULL, NULL, NULL), + (530521, 5305, 2, '施甸', 'shi dian', 'shd', '施甸县', NULL, NULL, NULL, NULL), + (530523, 5305, 2, '龙陵', 'long ling', 'lol', '龙陵县', NULL, NULL, NULL, NULL), + (530524, 5305, 2, '昌宁', 'chang ning', 'chn', '昌宁县', NULL, NULL, NULL, NULL), + (530581, 5305, 2, '腾冲', 'teng chong', 'tec', '腾冲市', NULL, NULL, NULL, NULL), + (530602, 5306, 2, '昭阳', 'zhao yang', 'zhy', '昭阳区', NULL, NULL, NULL, NULL), + (530621, 5306, 2, '鲁甸', 'lu dian', 'lud', '鲁甸县', NULL, NULL, NULL, NULL), + (530622, 5306, 2, '巧家', 'qiao jia', 'qij', '巧家县', NULL, NULL, NULL, NULL), + (530623, 5306, 2, '盐津', 'yan jin', 'yaj', '盐津县', NULL, NULL, NULL, NULL), + (530624, 5306, 2, '大关', 'da guan', 'dag', '大关县', NULL, NULL, NULL, NULL), + (530625, 5306, 2, '永善', 'yong shan', 'yos', '永善县', NULL, NULL, NULL, NULL), + (530626, 5306, 2, '绥江', 'sui jiang', 'suj', '绥江县', NULL, NULL, NULL, NULL), + (530627, 5306, 2, '镇雄', 'zhen xiong', 'zhx', '镇雄县', NULL, NULL, NULL, NULL), + (530628, 5306, 2, '彝良', 'yi liang', 'yil', '彝良县', NULL, NULL, NULL, NULL), + (530629, 5306, 2, '威信', 'wei xin', 'wex', '威信县', NULL, NULL, NULL, NULL), + (530630, 5306, 2, '水富', 'shui fu', 'shf', '水富县', NULL, NULL, NULL, NULL), + (530702, 5307, 2, '古城', 'gu cheng', 'guc', '古城区', NULL, NULL, NULL, NULL), + (530721, 5307, 2, '玉龙纳西族自治县', 'yu long na xi zu zi zhi xian', 'yuln', '玉龙纳西族自治县', NULL, NULL, NULL, NULL), + (530722, 5307, 2, '永胜', 'yong sheng', 'yos', '永胜县', NULL, NULL, NULL, NULL), + (530723, 5307, 2, '华坪', 'hua ping', 'hup', '华坪县', NULL, NULL, NULL, NULL), + (530724, 5307, 2, '宁蒗彝族自治县', 'ning lang yi zu zi zhi xian', 'nily', '宁蒗彝族自治县', NULL, NULL, NULL, NULL), + (530802, 5308, 2, '思茅', 'si mao', 'sim', '思茅区', NULL, NULL, NULL, NULL), + (530821, 5308, 2, '宁洱哈尼族彝族自治县', 'ning er ha ni zu yi zu zi zhi xian', 'nieh', '宁洱哈尼族彝族自治县', NULL, NULL, NULL, NULL), + (530822, 5308, 2, '墨江哈尼族自治县', 'mo jiang ha ni zu zi zhi xian', 'mojh', '墨江哈尼族自治县', NULL, NULL, NULL, NULL), + (530823, 5308, 2, '景东彝族自治县', 'jing dong yi zu zi zhi xian', 'jidy', '景东彝族自治县', NULL, NULL, NULL, NULL), + (530824, 5308, 2, '景谷傣族彝族自治县', 'jing gu dai zu yi zu zi zhi xian', 'jigd', '景谷傣族彝族自治县', NULL, NULL, NULL, NULL), + (530825, 5308, 2, '镇沅彝族哈尼族拉祜族自治县', 'zhen yuan yi zu ha ni zu la hu zu zi zhi xian', 'zhyy', '镇沅彝族哈尼族拉祜族自治县', NULL, NULL, NULL, NULL), + (530826, 5308, 2, '江城哈尼族彝族自治县', 'jiang cheng ha ni zu yi zu zi zhi xian', 'jich', '江城哈尼族彝族自治县', NULL, NULL, NULL, NULL), + (530827, 5308, 2, '孟连傣族拉祜族佤族自治县', 'meng lian dai zu la hu zu wa zu zi zhi xian', 'meld', '孟连傣族拉祜族佤族自治县', NULL, NULL, NULL, NULL), + (530828, 5308, 2, '澜沧拉祜族自治县', 'lan cang la hu zu zi zhi xian', 'lacl', '澜沧拉祜族自治县', NULL, NULL, NULL, NULL), + (530829, 5308, 2, '西盟佤族自治县', 'xi meng wa zu zi zhi xian', 'ximw', '西盟佤族自治县', NULL, NULL, NULL, NULL), + (530902, 5309, 2, '临翔', 'lin xiang', 'lix', '临翔区', NULL, NULL, NULL, NULL), + (530921, 5309, 2, '凤庆', 'feng qing', 'feq', '凤庆县', NULL, NULL, NULL, NULL), + (530922, 5309, 2, '云县', 'yun xian', 'yux', '云县', NULL, NULL, NULL, NULL), + (530923, 5309, 2, '永德', 'yong de', 'yod', '永德县', NULL, NULL, NULL, NULL), + (530924, 5309, 2, '镇康', 'zhen kang', 'zhk', '镇康县', NULL, NULL, NULL, NULL), + (530925, 5309, 2, '双江拉祜族佤族布朗族傣族自治县', 'shuang jiang la hu zu wa zu bu lang zu dai zu zi zhi xian', 'shjl', '双江拉祜族佤族布朗族傣族自治县', NULL, NULL, NULL, NULL), + (530926, 5309, 2, '耿马傣族佤族自治县', 'geng ma dai zu wa zu zi zhi xian', 'gemd', '耿马傣族佤族自治县', NULL, NULL, NULL, NULL), + (530927, 5309, 2, '沧源佤族自治县', 'cang yuan wa zu zi zhi xian', 'cayw', '沧源佤族自治县', NULL, NULL, NULL, NULL), + (532301, 5323, 2, '楚雄', 'chu xiong', 'chx', '楚雄市', NULL, NULL, NULL, NULL), + (532322, 5323, 2, '双柏', 'shuang bai', 'shb', '双柏县', NULL, NULL, NULL, NULL), + (532323, 5323, 2, '牟定', 'mou ding', 'mod', '牟定县', NULL, NULL, NULL, NULL), + (532324, 5323, 2, '南华', 'nan hua', 'nah', '南华县', NULL, NULL, NULL, NULL), + (532325, 5323, 2, '姚安', 'yao an', 'yaa', '姚安县', NULL, NULL, NULL, NULL), + (532326, 5323, 2, '大姚', 'da yao', 'day', '大姚县', NULL, NULL, NULL, NULL), + (532327, 5323, 2, '永仁', 'yong ren', 'yor', '永仁县', NULL, NULL, NULL, NULL), + (532328, 5323, 2, '元谋', 'yuan mou', 'yum', '元谋县', NULL, NULL, NULL, NULL), + (532329, 5323, 2, '武定', 'wu ding', 'wud', '武定县', NULL, NULL, NULL, NULL), + (532331, 5323, 2, '禄丰', 'lu feng', 'luf', '禄丰县', NULL, NULL, NULL, NULL), + (532501, 5325, 2, '个旧', 'ge jiu', 'gej', '个旧市', NULL, NULL, NULL, NULL), + (532502, 5325, 2, '开远', 'kai yuan', 'kay', '开远市', NULL, NULL, NULL, NULL), + (532503, 5325, 2, '蒙自', 'meng zi', 'mez', '蒙自市', NULL, NULL, NULL, NULL), + (532504, 5325, 2, '弥勒', 'mi le', 'mil', '弥勒市', NULL, NULL, NULL, NULL), + (532523, 5325, 2, '屏边苗族自治县', 'ping bian miao zu zi zhi xian', 'pibm', '屏边苗族自治县', NULL, NULL, NULL, NULL), + (532524, 5325, 2, '建水', 'jian shui', 'jis', '建水县', NULL, NULL, NULL, NULL), + (532525, 5325, 2, '石屏', 'shi ping', 'shp', '石屏县', NULL, NULL, NULL, NULL), + (532527, 5325, 2, '泸西', 'lu xi', 'lux', '泸西县', NULL, NULL, NULL, NULL), + (532528, 5325, 2, '元阳', 'yuan yang', 'yuy', '元阳县', NULL, NULL, NULL, NULL), + (532529, 5325, 2, '红河', 'hong he', 'hoh', '红河县', NULL, NULL, NULL, NULL), + (532530, 5325, 2, '金平苗族瑶族傣族自治县', 'jin ping miao zu yao zu dai zu zi zhi xian', 'jipm', '金平苗族瑶族傣族自治县', NULL, NULL, NULL, NULL), + (532531, 5325, 2, '绿春', 'lv chun', 'lvc', '绿春县', NULL, NULL, NULL, NULL), + (532532, 5325, 2, '河口瑶族自治县', 'he kou yao zu zi zhi xian', 'heky', '河口瑶族自治县', NULL, NULL, NULL, NULL), + (532601, 5326, 2, '文山', 'wen shan', 'wes', '文山市', NULL, NULL, NULL, NULL), + (532622, 5326, 2, '砚山', 'yan shan', 'yas', '砚山县', NULL, NULL, NULL, NULL), + (532623, 5326, 2, '西畴', 'xi chou', 'xic', '西畴县', NULL, NULL, NULL, NULL), + (532624, 5326, 2, '麻栗坡', 'ma li po', 'malp', '麻栗坡县', NULL, NULL, NULL, NULL), + (532625, 5326, 2, '马关', 'ma guan', 'mag', '马关县', NULL, NULL, NULL, NULL), + (532626, 5326, 2, '丘北', 'qiu bei', 'qib', '丘北县', NULL, NULL, NULL, NULL), + (532627, 5326, 2, '广南', 'guang nan', 'gun', '广南县', NULL, NULL, NULL, NULL), + (532628, 5326, 2, '富宁', 'fu ning', 'fun', '富宁县', NULL, NULL, NULL, NULL), + (532801, 5328, 2, '景洪', 'jing hong', 'jih', '景洪市', NULL, NULL, NULL, NULL), + (532822, 5328, 2, '勐海', 'meng hai', 'meh', '勐海县', NULL, NULL, NULL, NULL), + (532823, 5328, 2, '勐腊', 'meng la', 'mel', '勐腊县', NULL, NULL, NULL, NULL), + (532901, 5329, 2, '大理', 'da li', 'dal', '大理市', NULL, NULL, NULL, NULL), + (532922, 5329, 2, '漾濞彝族自治县', 'yang bi yi zu zi zhi xian', 'yaby', '漾濞彝族自治县', NULL, NULL, NULL, NULL), + (532923, 5329, 2, '祥云', 'xiang yun', 'xiy', '祥云县', NULL, NULL, NULL, NULL), + (532924, 5329, 2, '宾川', 'bin chuan', 'bic', '宾川县', NULL, NULL, NULL, NULL), + (532925, 5329, 2, '弥渡', 'mi du', 'mid', '弥渡县', NULL, NULL, NULL, NULL), + (532926, 5329, 2, '南涧彝族自治县', 'nan jian yi zu zi zhi xian', 'najy', '南涧彝族自治县', NULL, NULL, NULL, NULL), + (532927, 5329, 2, '巍山彝族回族自治县', 'wei shan yi zu hui zu zi zhi xian', 'wesy', '巍山彝族回族自治县', NULL, NULL, NULL, NULL), + (532928, 5329, 2, '永平', 'yong ping', 'yop', '永平县', NULL, NULL, NULL, NULL), + (532929, 5329, 2, '云龙', 'yun long', 'yul', '云龙县', NULL, NULL, NULL, NULL), + (532930, 5329, 2, '洱源', 'er yuan', 'ery', '洱源县', NULL, NULL, NULL, NULL), + (532931, 5329, 2, '剑川', 'jian chuan', 'jic', '剑川县', NULL, NULL, NULL, NULL), + (532932, 5329, 2, '鹤庆', 'he qing', 'heq', '鹤庆县', NULL, NULL, NULL, NULL), + (533102, 5331, 2, '瑞丽', 'rui li', 'rul', '瑞丽市', NULL, NULL, NULL, NULL), + (533103, 5331, 2, '芒市', 'mang shi', 'mas', '芒市', NULL, NULL, NULL, NULL), + (533122, 5331, 2, '梁河', 'liang he', 'lih', '梁河县', NULL, NULL, NULL, NULL), + (533123, 5331, 2, '盈江', 'ying jiang', 'yij', '盈江县', NULL, NULL, NULL, NULL), + (533124, 5331, 2, '陇川', 'long chuan', 'loc', '陇川县', NULL, NULL, NULL, NULL), + (533301, 5333, 2, '泸水', 'lu shui', 'lus', '泸水市', NULL, NULL, NULL, NULL), + (533323, 5333, 2, '福贡', 'fu gong', 'fug', '福贡县', NULL, NULL, NULL, NULL), + (533324, 5333, 2, '贡山独龙族怒族自治县', 'gong shan du long zu nu zu zi zhi xian', 'gosd', '贡山独龙族怒族自治县', NULL, NULL, NULL, NULL), + (533325, 5333, 2, '兰坪白族普米族自治县', 'lan ping bai zu pu mi zu zi zhi xian', 'lapb', '兰坪白族普米族自治县', NULL, NULL, NULL, NULL), + (533401, 5334, 2, '香格里拉', 'xiang ge li la', 'xigl', '香格里拉市', NULL, NULL, NULL, NULL), + (533422, 5334, 2, '德钦', 'de qin', 'deq', '德钦县', NULL, NULL, NULL, NULL), + (533423, 5334, 2, '维西傈僳族自治县', 'wei xi li su zu zi zhi xian', 'wexl', '维西傈僳族自治县', NULL, NULL, NULL, NULL), + (540102, 5401, 2, '城关', 'cheng guan', 'chg', '城关区', NULL, NULL, NULL, NULL), + (540103, 5401, 2, '堆龙德庆', 'dui long de qing', 'duld', '堆龙德庆区', NULL, NULL, NULL, NULL), + (540121, 5401, 2, '林周', 'lin zhou', 'liz', '林周县', NULL, NULL, NULL, NULL), + (540122, 5401, 2, '当雄', 'dang xiong', 'dax', '当雄县', NULL, NULL, NULL, NULL), + (540123, 5401, 2, '尼木', 'ni mu', 'nim', '尼木县', NULL, NULL, NULL, NULL), + (540124, 5401, 2, '曲水', 'qu shui', 'qus', '曲水县', NULL, NULL, NULL, NULL), + (540126, 5401, 2, '达孜', 'da zi', 'daz', '达孜县', NULL, NULL, NULL, NULL), + (540127, 5401, 2, '墨竹工卡', 'mo zhu gong ka', 'mozg', '墨竹工卡县', NULL, NULL, NULL, NULL), + (540171, 5401, 2, '格尔木藏青工业园', 'ge er mu zang qing gong ye yuan', 'geem', '格尔木藏青工业园区', NULL, NULL, NULL, NULL), + (540172, 5401, 2, '拉萨经济技术开发区', 'la sa jing ji ji shu kai fa qu', 'lasj', '拉萨经济技术开发区', NULL, NULL, NULL, NULL), + (540173, 5401, 2, '西藏文化旅游创意园', 'xi zang wen hua lv you chuang yi yuan', 'xizw', '西藏文化旅游创意园区', NULL, NULL, NULL, NULL), + (540174, 5401, 2, '达孜工业园', 'da zi gong ye yuan', 'dazg', '达孜工业园区', NULL, NULL, NULL, NULL), + (540202, 5402, 2, '桑珠孜', 'sang zhu zi', 'sazz', '桑珠孜区', NULL, NULL, NULL, NULL), + (540221, 5402, 2, '南木林', 'nan mu lin', 'naml', '南木林县', NULL, NULL, NULL, NULL), + (540222, 5402, 2, '江孜', 'jiang zi', 'jiz', '江孜县', NULL, NULL, NULL, NULL), + (540223, 5402, 2, '定日', 'ding ri', 'dir', '定日县', NULL, NULL, NULL, NULL), + (540224, 5402, 2, '萨迦', 'sa jia', 'saj', '萨迦县', NULL, NULL, NULL, NULL), + (540225, 5402, 2, '拉孜', 'la zi', 'laz', '拉孜县', NULL, NULL, NULL, NULL), + (540226, 5402, 2, '昂仁', 'ang ren', 'anr', '昂仁县', NULL, NULL, NULL, NULL), + (540227, 5402, 2, '谢通门', 'xie tong men', 'xitm', '谢通门县', NULL, NULL, NULL, NULL), + (540228, 5402, 2, '白朗', 'bai lang', 'bal', '白朗县', NULL, NULL, NULL, NULL), + (540229, 5402, 2, '仁布', 'ren bu', 'reb', '仁布县', NULL, NULL, NULL, NULL), + (540230, 5402, 2, '康马', 'kang ma', 'kam', '康马县', NULL, NULL, NULL, NULL), + (540231, 5402, 2, '定结', 'ding jie', 'dij', '定结县', NULL, NULL, NULL, NULL), + (540232, 5402, 2, '仲巴', 'zhong ba', 'zhb', '仲巴县', NULL, NULL, NULL, NULL), + (540233, 5402, 2, '亚东', 'ya dong', 'yad', '亚东县', NULL, NULL, NULL, NULL), + (540234, 5402, 2, '吉隆', 'ji long', 'jil', '吉隆县', NULL, NULL, NULL, NULL), + (540235, 5402, 2, '聂拉木', 'nie la mu', 'nilm', '聂拉木县', NULL, NULL, NULL, NULL), + (540236, 5402, 2, '萨嘎', 'sa ga', 'sag', '萨嘎县', NULL, NULL, NULL, NULL), + (540237, 5402, 2, '岗巴', 'gang ba', 'gab', '岗巴县', NULL, NULL, NULL, NULL), + (540302, 5403, 2, '卡若', 'ka ruo', 'kar', '卡若区', NULL, NULL, NULL, NULL), + (540321, 5403, 2, '江达', 'jiang da', 'jid', '江达县', NULL, NULL, NULL, NULL), + (540322, 5403, 2, '贡觉', 'gong jue', 'goj', '贡觉县', NULL, NULL, NULL, NULL), + (540323, 5403, 2, '类乌齐', 'lei wu qi', 'lewq', '类乌齐县', NULL, NULL, NULL, NULL), + (540324, 5403, 2, '丁青', 'ding qing', 'diq', '丁青县', NULL, NULL, NULL, NULL), + (540325, 5403, 2, '察雅', 'cha ya', 'chy', '察雅县', NULL, NULL, NULL, NULL), + (540326, 5403, 2, '八宿', 'ba su', 'bas', '八宿县', NULL, NULL, NULL, NULL), + (540327, 5403, 2, '左贡', 'zuo gong', 'zug', '左贡县', NULL, NULL, NULL, NULL), + (540328, 5403, 2, '芒康', 'mang kang', 'mak', '芒康县', NULL, NULL, NULL, NULL), + (540329, 5403, 2, '洛隆', 'luo long', 'lul', '洛隆县', NULL, NULL, NULL, NULL), + (540330, 5403, 2, '边坝', 'bian ba', 'bib', '边坝县', NULL, NULL, NULL, NULL), + (540402, 5404, 2, '巴宜', 'ba yi', 'bay', '巴宜区', NULL, NULL, NULL, NULL), + (540421, 5404, 2, '工布江达', 'gong bu jiang da', 'gobj', '工布江达县', NULL, NULL, NULL, NULL), + (540422, 5404, 2, '米林', 'mi lin', 'mil', '米林县', NULL, NULL, NULL, NULL), + (540423, 5404, 2, '墨脱', 'mo tuo', 'mot', '墨脱县', NULL, NULL, NULL, NULL), + (540424, 5404, 2, '波密', 'bo mi', 'bom', '波密县', NULL, NULL, NULL, NULL), + (540425, 5404, 2, '察隅', 'cha yu', 'chy', '察隅县', NULL, NULL, NULL, NULL), + (540426, 5404, 2, '朗县', 'lang xian', 'lax', '朗县', NULL, NULL, NULL, NULL), + (540502, 5405, 2, '乃东', 'nai dong', 'nad', '乃东区', NULL, NULL, NULL, NULL), + (540521, 5405, 2, '扎囊', 'zha nang', 'zhn', '扎囊县', NULL, NULL, NULL, NULL), + (540522, 5405, 2, '贡嘎', 'gong ga', 'gog', '贡嘎县', NULL, NULL, NULL, NULL), + (540523, 5405, 2, '桑日', 'sang ri', 'sar', '桑日县', NULL, NULL, NULL, NULL), + (540524, 5405, 2, '琼结', 'qiong jie', 'qij', '琼结县', NULL, NULL, NULL, NULL), + (540525, 5405, 2, '曲松', 'qu song', 'qus', '曲松县', NULL, NULL, NULL, NULL), + (540526, 5405, 2, '措美', 'cuo mei', 'cum', '措美县', NULL, NULL, NULL, NULL), + (540527, 5405, 2, '洛扎', 'luo zha', 'luz', '洛扎县', NULL, NULL, NULL, NULL), + (540528, 5405, 2, '加查', 'jia cha', 'jic', '加查县', NULL, NULL, NULL, NULL), + (540529, 5405, 2, '隆子', 'long zi', 'loz', '隆子县', NULL, NULL, NULL, NULL), + (540530, 5405, 2, '错那', 'cuo na', 'cun', '错那县', NULL, NULL, NULL, NULL), + (540531, 5405, 2, '浪卡子', 'lang qia zi', 'laqz', '浪卡子县', NULL, NULL, NULL, NULL), + (542421, 5424, 2, '那曲', 'na qu', 'naq', '那曲县', NULL, NULL, NULL, NULL), + (542422, 5424, 2, '嘉黎', 'jia li', 'jil', '嘉黎县', NULL, NULL, NULL, NULL), + (542423, 5424, 2, '比如', 'bi ru', 'bir', '比如县', NULL, NULL, NULL, NULL), + (542424, 5424, 2, '聂荣', 'nie rong', 'nir', '聂荣县', NULL, NULL, NULL, NULL), + (542425, 5424, 2, '安多', 'an duo', 'and', '安多县', NULL, NULL, NULL, NULL), + (542426, 5424, 2, '申扎', 'shen zha', 'shz', '申扎县', NULL, NULL, NULL, NULL), + (542427, 5424, 2, '索县', 'suo xian', 'sux', '索县', NULL, NULL, NULL, NULL), + (542428, 5424, 2, '班戈', 'ban ge', 'bag', '班戈县', NULL, NULL, NULL, NULL), + (542429, 5424, 2, '巴青', 'ba qing', 'baq', '巴青县', NULL, NULL, NULL, NULL), + (542430, 5424, 2, '尼玛', 'ni ma', 'nim', '尼玛县', NULL, NULL, NULL, NULL), + (542431, 5424, 2, '双湖', 'shuang hu', 'shh', '双湖县', NULL, NULL, NULL, NULL), + (542521, 5425, 2, '普兰', 'pu lan', 'pul', '普兰县', NULL, NULL, NULL, NULL), + (542522, 5425, 2, '札达', 'zha da', 'zhd', '札达县', NULL, NULL, NULL, NULL), + (542523, 5425, 2, '噶尔', 'ga er', 'gae', '噶尔县', NULL, NULL, NULL, NULL), + (542524, 5425, 2, '日土', 'ri tu', 'rit', '日土县', NULL, NULL, NULL, NULL), + (542525, 5425, 2, '革吉', 'ge ji', 'gej', '革吉县', NULL, NULL, NULL, NULL), + (542526, 5425, 2, '改则', 'gai ze', 'gaz', '改则县', NULL, NULL, NULL, NULL), + (542527, 5425, 2, '措勤', 'cuo qin', 'cuq', '措勤县', NULL, NULL, NULL, NULL), + (610102, 6101, 2, '新城', 'xin cheng', 'xic', '新城区', NULL, NULL, NULL, NULL), + (610103, 6101, 2, '碑林', 'bei lin', 'bel', '碑林区', NULL, NULL, NULL, NULL), + (610104, 6101, 2, '莲湖', 'lian hu', 'lih', '莲湖区', NULL, NULL, NULL, NULL), + (610111, 6101, 2, '灞桥', 'ba qiao', 'baq', '灞桥区', NULL, NULL, NULL, NULL), + (610112, 6101, 2, '未央', 'wei yang', 'wey', '未央区', NULL, NULL, NULL, NULL), + (610113, 6101, 2, '雁塔', 'yan ta', 'yat', '雁塔区', NULL, NULL, NULL, NULL), + (610114, 6101, 2, '阎良', 'yan liang', 'yal', '阎良区', NULL, NULL, NULL, NULL), + (610115, 6101, 2, '临潼', 'lin tong', 'lit', '临潼区', NULL, NULL, NULL, NULL), + (610116, 6101, 2, '长安', 'chang an', 'cha', '长安区', NULL, NULL, NULL, NULL), + (610117, 6101, 2, '高陵', 'gao ling', 'gal', '高陵区', NULL, NULL, NULL, NULL), + (610118, 6101, 2, '鄠邑', 'hu yi', 'huy', '鄠邑区', NULL, NULL, NULL, NULL), + (610122, 6101, 2, '蓝田', 'lan tian', 'lat', '蓝田县', NULL, NULL, NULL, NULL), + (610124, 6101, 2, '周至', 'zhou zhi', 'zhz', '周至县', NULL, NULL, NULL, NULL), + (610202, 6102, 2, '王益', 'wang yi', 'way', '王益区', NULL, NULL, NULL, NULL), + (610203, 6102, 2, '印台', 'yin tai', 'yit', '印台区', NULL, NULL, NULL, NULL), + (610204, 6102, 2, '耀州', 'yao zhou', 'yaz', '耀州区', NULL, NULL, NULL, NULL), + (610222, 6102, 2, '宜君', 'yi jun', 'yij', '宜君县', NULL, NULL, NULL, NULL), + (610302, 6103, 2, '渭滨', 'wei bin', 'web', '渭滨区', NULL, NULL, NULL, NULL), + (610303, 6103, 2, '金台', 'jin tai', 'jit', '金台区', NULL, NULL, NULL, NULL), + (610304, 6103, 2, '陈仓', 'chen cang', 'chc', '陈仓区', NULL, NULL, NULL, NULL), + (610322, 6103, 2, '凤翔', 'feng xiang', 'fex', '凤翔县', NULL, NULL, NULL, NULL), + (610323, 6103, 2, '岐山', 'qi shan', 'qis', '岐山县', NULL, NULL, NULL, NULL), + (610324, 6103, 2, '扶风', 'fu feng', 'fuf', '扶风县', NULL, NULL, NULL, NULL), + (610326, 6103, 2, '眉县', 'mei xian', 'mex', '眉县', NULL, NULL, NULL, NULL), + (610327, 6103, 2, '陇县', 'long xian', 'lox', '陇县', NULL, NULL, NULL, NULL), + (610328, 6103, 2, '千阳', 'qian yang', 'qiy', '千阳县', NULL, NULL, NULL, NULL), + (610329, 6103, 2, '麟游', 'lin you', 'liy', '麟游县', NULL, NULL, NULL, NULL), + (610330, 6103, 2, '凤县', 'feng xian', 'fex', '凤县', NULL, NULL, NULL, NULL), + (610331, 6103, 2, '太白', 'tai bai', 'tab', '太白县', NULL, NULL, NULL, NULL), + (610402, 6104, 2, '秦都', 'qin du', 'qid', '秦都区', NULL, NULL, NULL, NULL), + (610403, 6104, 2, '杨陵', 'yang ling', 'yal', '杨陵区', NULL, NULL, NULL, NULL), + (610404, 6104, 2, '渭城', 'wei cheng', 'wec', '渭城区', NULL, NULL, NULL, NULL), + (610422, 6104, 2, '三原', 'san yuan', 'say', '三原县', NULL, NULL, NULL, NULL), + (610423, 6104, 2, '泾阳', 'jing yang', 'jiy', '泾阳县', NULL, NULL, NULL, NULL), + (610424, 6104, 2, '乾县', 'qian xian', 'qix', '乾县', NULL, NULL, NULL, NULL), + (610425, 6104, 2, '礼泉', 'li quan', 'liq', '礼泉县', NULL, NULL, NULL, NULL), + (610426, 6104, 2, '永寿', 'yong shou', 'yos', '永寿县', NULL, NULL, NULL, NULL), + (610427, 6104, 2, '彬县', 'bin xian', 'bix', '彬县', NULL, NULL, NULL, NULL), + (610428, 6104, 2, '长武', 'chang wu', 'chw', '长武县', NULL, NULL, NULL, NULL), + (610429, 6104, 2, '旬邑', 'xun yi', 'xuy', '旬邑县', NULL, NULL, NULL, NULL), + (610430, 6104, 2, '淳化', 'chun hua', 'chh', '淳化县', NULL, NULL, NULL, NULL), + (610431, 6104, 2, '武功', 'wu gong', 'wug', '武功县', NULL, NULL, NULL, NULL), + (610481, 6104, 2, '兴平', 'xing ping', 'xip', '兴平市', NULL, NULL, NULL, NULL), + (610502, 6105, 2, '临渭', 'lin wei', 'liw', '临渭区', NULL, NULL, NULL, NULL), + (610503, 6105, 2, '华州', 'hua zhou', 'huz', '华州区', NULL, NULL, NULL, NULL), + (610522, 6105, 2, '潼关', 'tong guan', 'tog', '潼关县', NULL, NULL, NULL, NULL), + (610523, 6105, 2, '大荔', 'da li', 'dal', '大荔县', NULL, NULL, NULL, NULL), + (610524, 6105, 2, '合阳', 'he yang', 'hey', '合阳县', NULL, NULL, NULL, NULL), + (610525, 6105, 2, '澄城', 'cheng cheng', 'chc', '澄城县', NULL, NULL, NULL, NULL), + (610526, 6105, 2, '蒲城', 'pu cheng', 'puc', '蒲城县', NULL, NULL, NULL, NULL), + (610527, 6105, 2, '白水', 'bai shui', 'bas', '白水县', NULL, NULL, NULL, NULL), + (610528, 6105, 2, '富平', 'fu ping', 'fup', '富平县', NULL, NULL, NULL, NULL), + (610581, 6105, 2, '韩城', 'han cheng', 'hac', '韩城市', NULL, NULL, NULL, NULL), + (610582, 6105, 2, '华阴', 'hua yin', 'huy', '华阴市', NULL, NULL, NULL, NULL), + (610602, 6106, 2, '宝塔', 'bao ta', 'bat', '宝塔区', NULL, NULL, NULL, NULL), + (610603, 6106, 2, '安塞', 'an sai', 'ans', '安塞区', NULL, NULL, NULL, NULL), + (610621, 6106, 2, '延长', 'yan chang', 'yac', '延长县', NULL, NULL, NULL, NULL), + (610622, 6106, 2, '延川', 'yan chuan', 'yac', '延川县', NULL, NULL, NULL, NULL), + (610623, 6106, 2, '子长', 'zi chang', 'zic', '子长县', NULL, NULL, NULL, NULL), + (610625, 6106, 2, '志丹', 'zhi dan', 'zhd', '志丹县', NULL, NULL, NULL, NULL), + (610626, 6106, 2, '吴起', 'wu qi', 'wuq', '吴起县', NULL, NULL, NULL, NULL), + (610627, 6106, 2, '甘泉', 'gan quan', 'gaq', '甘泉县', NULL, NULL, NULL, NULL), + (610628, 6106, 2, '富县', 'fu xian', 'fux', '富县', NULL, NULL, NULL, NULL), + (610629, 6106, 2, '洛川', 'luo chuan', 'luc', '洛川县', NULL, NULL, NULL, NULL), + (610630, 6106, 2, '宜川', 'yi chuan', 'yic', '宜川县', NULL, NULL, NULL, NULL), + (610631, 6106, 2, '黄龙', 'huang long', 'hul', '黄龙县', NULL, NULL, NULL, NULL), + (610632, 6106, 2, '黄陵', 'huang ling', 'hul', '黄陵县', NULL, NULL, NULL, NULL), + (610702, 6107, 2, '汉台', 'han tai', 'hat', '汉台区', NULL, NULL, NULL, NULL), + (610703, 6107, 2, '南郑', 'nan zheng', 'naz', '南郑区', NULL, NULL, NULL, NULL), + (610722, 6107, 2, '城固', 'cheng gu', 'chg', '城固县', NULL, NULL, NULL, NULL), + (610723, 6107, 2, '洋县', 'yang xian', 'yax', '洋县', NULL, NULL, NULL, NULL), + (610724, 6107, 2, '西乡', 'xi xiang', 'xix', '西乡县', NULL, NULL, NULL, NULL), + (610725, 6107, 2, '勉县', 'mian xian', 'mix', '勉县', NULL, NULL, NULL, NULL), + (610726, 6107, 2, '宁强', 'ning qiang', 'niq', '宁强县', NULL, NULL, NULL, NULL), + (610727, 6107, 2, '略阳', 'lve yang', 'lvy', '略阳县', NULL, NULL, NULL, NULL), + (610728, 6107, 2, '镇巴', 'zhen ba', 'zhb', '镇巴县', NULL, NULL, NULL, NULL), + (610729, 6107, 2, '留坝', 'liu ba', 'lib', '留坝县', NULL, NULL, NULL, NULL), + (610730, 6107, 2, '佛坪', 'fo ping', 'fop', '佛坪县', NULL, NULL, NULL, NULL), + (610802, 6108, 2, '榆阳', 'yu yang', 'yuy', '榆阳区', NULL, NULL, NULL, NULL), + (610803, 6108, 2, '横山', 'heng shan', 'hes', '横山区', NULL, NULL, NULL, NULL), + (610822, 6108, 2, '府谷', 'fu gu', 'fug', '府谷县', NULL, NULL, NULL, NULL), + (610824, 6108, 2, '靖边', 'jing bian', 'jib', '靖边县', NULL, NULL, NULL, NULL), + (610825, 6108, 2, '定边', 'ding bian', 'dib', '定边县', NULL, NULL, NULL, NULL), + (610826, 6108, 2, '绥德', 'sui de', 'sud', '绥德县', NULL, NULL, NULL, NULL), + (610827, 6108, 2, '米脂', 'mi zhi', 'miz', '米脂县', NULL, NULL, NULL, NULL), + (610828, 6108, 2, '佳县', 'jia xian', 'jix', '佳县', NULL, NULL, NULL, NULL), + (610829, 6108, 2, '吴堡', 'wu bu', 'wub', '吴堡县', NULL, NULL, NULL, NULL), + (610830, 6108, 2, '清涧', 'qing jian', 'qij', '清涧县', NULL, NULL, NULL, NULL), + (610831, 6108, 2, '子洲', 'zi zhou', 'ziz', '子洲县', NULL, NULL, NULL, NULL), + (610881, 6108, 2, '神木', 'shen mu', 'shm', '神木市', NULL, NULL, NULL, NULL), + (610902, 6109, 2, '汉滨', 'han bin', 'hab', '汉滨区', NULL, NULL, NULL, NULL), + (610921, 6109, 2, '汉阴', 'han yin', 'hay', '汉阴县', NULL, NULL, NULL, NULL), + (610922, 6109, 2, '石泉', 'shi quan', 'shq', '石泉县', NULL, NULL, NULL, NULL), + (610923, 6109, 2, '宁陕', 'ning shan', 'nis', '宁陕县', NULL, NULL, NULL, NULL), + (610924, 6109, 2, '紫阳', 'zi yang', 'ziy', '紫阳县', NULL, NULL, NULL, NULL), + (610925, 6109, 2, '岚皋', 'lan gao', 'lag', '岚皋县', NULL, NULL, NULL, NULL), + (610926, 6109, 2, '平利', 'ping li', 'pil', '平利县', NULL, NULL, NULL, NULL), + (610927, 6109, 2, '镇坪', 'zhen ping', 'zhp', '镇坪县', NULL, NULL, NULL, NULL), + (610928, 6109, 2, '旬阳', 'xun yang', 'xuy', '旬阳县', NULL, NULL, NULL, NULL), + (610929, 6109, 2, '白河', 'bai he', 'bah', '白河县', NULL, NULL, NULL, NULL), + (611002, 6110, 2, '商州', 'shang zhou', 'shz', '商州区', NULL, NULL, NULL, NULL), + (611021, 6110, 2, '洛南', 'luo nan', 'lun', '洛南县', NULL, NULL, NULL, NULL), + (611022, 6110, 2, '丹凤', 'dan feng', 'daf', '丹凤县', NULL, NULL, NULL, NULL), + (611023, 6110, 2, '商南', 'shang nan', 'shn', '商南县', NULL, NULL, NULL, NULL), + (611024, 6110, 2, '山阳', 'shan yang', 'shy', '山阳县', NULL, NULL, NULL, NULL), + (611025, 6110, 2, '镇安', 'zhen an', 'zha', '镇安县', NULL, NULL, NULL, NULL), + (611026, 6110, 2, '柞水', 'zha shui', 'zhs', '柞水县', NULL, NULL, NULL, NULL), + (620102, 6201, 2, '城关', 'cheng guan', 'chg', '城关区', NULL, NULL, NULL, NULL), + (620103, 6201, 2, '七里河', 'qi li he', 'qilh', '七里河区', NULL, NULL, NULL, NULL), + (620104, 6201, 2, '西固', 'xi gu', 'xig', '西固区', NULL, NULL, NULL, NULL), + (620105, 6201, 2, '安宁', 'an ning', 'ann', '安宁区', NULL, NULL, NULL, NULL), + (620111, 6201, 2, '红古', 'hong gu', 'hog', '红古区', NULL, NULL, NULL, NULL), + (620121, 6201, 2, '永登', 'yong deng', 'yod', '永登县', NULL, NULL, NULL, NULL), + (620122, 6201, 2, '皋兰', 'gao lan', 'gal', '皋兰县', NULL, NULL, NULL, NULL), + (620123, 6201, 2, '榆中', 'yu zhong', 'yuz', '榆中县', NULL, NULL, NULL, NULL), + (620171, 6201, 2, '兰州新区', 'lan zhou xin qu', 'lazx', '兰州新区', NULL, NULL, NULL, NULL), + (620201, 6202, 2, '市辖区', 'shi xia qu', 'shxq', '市辖区', NULL, NULL, NULL, NULL), + (620302, 6203, 2, '金川', 'jin chuan', 'jic', '金川区', NULL, NULL, NULL, NULL), + (620321, 6203, 2, '永昌', 'yong chang', 'yoc', '永昌县', NULL, NULL, NULL, NULL), + (620402, 6204, 2, '白银', 'bai yin', 'bay', '白银区', NULL, NULL, NULL, NULL), + (620403, 6204, 2, '平川', 'ping chuan', 'pic', '平川区', NULL, NULL, NULL, NULL), + (620421, 6204, 2, '靖远', 'jing yuan', 'jiy', '靖远县', NULL, NULL, NULL, NULL), + (620422, 6204, 2, '会宁', 'hui ning', 'hun', '会宁县', NULL, NULL, NULL, NULL), + (620423, 6204, 2, '景泰', 'jing tai', 'jit', '景泰县', NULL, NULL, NULL, NULL), + (620502, 6205, 2, '秦州', 'qin zhou', 'qiz', '秦州区', NULL, NULL, NULL, NULL), + (620503, 6205, 2, '麦积', 'mai ji', 'maj', '麦积区', NULL, NULL, NULL, NULL), + (620521, 6205, 2, '清水', 'qing shui', 'qis', '清水县', NULL, NULL, NULL, NULL), + (620522, 6205, 2, '秦安', 'qin an', 'qia', '秦安县', NULL, NULL, NULL, NULL), + (620523, 6205, 2, '甘谷', 'gan gu', 'gag', '甘谷县', NULL, NULL, NULL, NULL), + (620524, 6205, 2, '武山', 'wu shan', 'wus', '武山县', NULL, NULL, NULL, NULL), + (620525, 6205, 2, '张家川回族自治县', 'zhang jia chuan hui zu zi zhi xian', 'zhjc', '张家川回族自治县', NULL, NULL, NULL, NULL), + (620602, 6206, 2, '凉州', 'liang zhou', 'liz', '凉州区', NULL, NULL, NULL, NULL), + (620621, 6206, 2, '民勤', 'min qin', 'miq', '民勤县', NULL, NULL, NULL, NULL), + (620622, 6206, 2, '古浪', 'gu lang', 'gul', '古浪县', NULL, NULL, NULL, NULL), + (620623, 6206, 2, '天祝藏族自治县', 'tian zhu zang zu zi zhi xian', 'tizz', '天祝藏族自治县', NULL, NULL, NULL, NULL), + (620702, 6207, 2, '甘州', 'gan zhou', 'gaz', '甘州区', NULL, NULL, NULL, NULL), + (620721, 6207, 2, '肃南裕固族自治县', 'su nan yu gu zu zi zhi xian', 'suny', '肃南裕固族自治县', NULL, NULL, NULL, NULL), + (620722, 6207, 2, '民乐', 'min yue', 'miy', '民乐县', NULL, NULL, NULL, NULL), + (620723, 6207, 2, '临泽', 'lin ze', 'liz', '临泽县', NULL, NULL, NULL, NULL), + (620724, 6207, 2, '高台', 'gao tai', 'gat', '高台县', NULL, NULL, NULL, NULL), + (620725, 6207, 2, '山丹', 'shan dan', 'shd', '山丹县', NULL, NULL, NULL, NULL), + (620802, 6208, 2, '崆峒', 'kong tong', 'kot', '崆峒区', NULL, NULL, NULL, NULL), + (620821, 6208, 2, '泾川', 'jing chuan', 'jic', '泾川县', NULL, NULL, NULL, NULL), + (620822, 6208, 2, '灵台', 'ling tai', 'lit', '灵台县', NULL, NULL, NULL, NULL), + (620823, 6208, 2, '崇信', 'chong xin', 'chx', '崇信县', NULL, NULL, NULL, NULL), + (620824, 6208, 2, '华亭', 'hua ting', 'hut', '华亭县', NULL, NULL, NULL, NULL), + (620825, 6208, 2, '庄浪', 'zhuang lang', 'zhl', '庄浪县', NULL, NULL, NULL, NULL), + (620826, 6208, 2, '静宁', 'jing ning', 'jin', '静宁县', NULL, NULL, NULL, NULL), + (620871, 6208, 2, '平凉工业园', 'ping liang gong ye yuan', 'pilg', '平凉工业园区', NULL, NULL, NULL, NULL), + (620902, 6209, 2, '肃州', 'su zhou', 'suz', '肃州区', NULL, NULL, NULL, NULL), + (620921, 6209, 2, '金塔', 'jin ta', 'jit', '金塔县', NULL, NULL, NULL, NULL), + (620922, 6209, 2, '瓜州', 'gua zhou', 'guz', '瓜州县', NULL, NULL, NULL, NULL), + (620923, 6209, 2, '肃北蒙古族自治县', 'su bei meng gu zu zi zhi xian', 'subm', '肃北蒙古族自治县', NULL, NULL, NULL, NULL), + (620924, 6209, 2, '阿克塞哈萨克族自治县', 'a ke sai ha sa ke zu zi zhi xian', 'aks', '阿克塞哈萨克族自治县', NULL, NULL, NULL, NULL), + (620981, 6209, 2, '玉门', 'yu men', 'yum', '玉门市', NULL, NULL, NULL, NULL), + (620982, 6209, 2, '敦煌', 'dun huang', 'duh', '敦煌市', NULL, NULL, NULL, NULL), + (621002, 6210, 2, '西峰', 'xi feng', 'xif', '西峰区', NULL, NULL, NULL, NULL), + (621021, 6210, 2, '庆城', 'qing cheng', 'qic', '庆城县', NULL, NULL, NULL, NULL), + (621022, 6210, 2, '环县', 'huan xian', 'hux', '环县', NULL, NULL, NULL, NULL), + (621023, 6210, 2, '华池', 'hua chi', 'huc', '华池县', NULL, NULL, NULL, NULL), + (621024, 6210, 2, '合水', 'he shui', 'hes', '合水县', NULL, NULL, NULL, NULL), + (621025, 6210, 2, '正宁', 'zheng ning', 'zhn', '正宁县', NULL, NULL, NULL, NULL), + (621026, 6210, 2, '宁县', 'ning xian', 'nix', '宁县', NULL, NULL, NULL, NULL), + (621027, 6210, 2, '镇原', 'zhen yuan', 'zhy', '镇原县', NULL, NULL, NULL, NULL), + (621102, 6211, 2, '安定', 'an ding', 'and', '安定区', NULL, NULL, NULL, NULL), + (621121, 6211, 2, '通渭', 'tong wei', 'tow', '通渭县', NULL, NULL, NULL, NULL), + (621122, 6211, 2, '陇西', 'long xi', 'lox', '陇西县', NULL, NULL, NULL, NULL), + (621123, 6211, 2, '渭源', 'wei yuan', 'wey', '渭源县', NULL, NULL, NULL, NULL), + (621124, 6211, 2, '临洮', 'lin tao', 'lit', '临洮县', NULL, NULL, NULL, NULL), + (621125, 6211, 2, '漳县', 'zhang xian', 'zhx', '漳县', NULL, NULL, NULL, NULL), + (621126, 6211, 2, '岷县', 'min xian', 'mix', '岷县', NULL, NULL, NULL, NULL), + (621202, 6212, 2, '武都', 'wu du', 'wud', '武都区', NULL, NULL, NULL, NULL), + (621221, 6212, 2, '成县', 'cheng xian', 'chx', '成县', NULL, NULL, NULL, NULL), + (621222, 6212, 2, '文县', 'wen xian', 'wex', '文县', NULL, NULL, NULL, NULL), + (621223, 6212, 2, '宕昌', 'dang chang', 'dac', '宕昌县', NULL, NULL, NULL, NULL), + (621224, 6212, 2, '康县', 'kang xian', 'kax', '康县', NULL, NULL, NULL, NULL), + (621225, 6212, 2, '西和', 'xi he', 'xih', '西和县', NULL, NULL, NULL, NULL), + (621226, 6212, 2, '礼县', 'li xian', 'lix', '礼县', NULL, NULL, NULL, NULL), + (621227, 6212, 2, '徽县', 'hui xian', 'hux', '徽县', NULL, NULL, NULL, NULL), + (621228, 6212, 2, '两当', 'liang dang', 'lid', '两当县', NULL, NULL, NULL, NULL), + (622901, 6229, 2, '临夏市', 'lin xia shi', 'lixs', '临夏市', NULL, NULL, NULL, NULL), + (622921, 6229, 2, '临夏县', 'lin xia xian', 'lixx', '临夏县', NULL, NULL, NULL, NULL), + (622922, 6229, 2, '康乐', 'kang le', 'kal', '康乐县', NULL, NULL, NULL, NULL), + (622923, 6229, 2, '永靖', 'yong jing', 'yoj', '永靖县', NULL, NULL, NULL, NULL), + (622924, 6229, 2, '广河', 'guang he', 'guh', '广河县', NULL, NULL, NULL, NULL), + (622925, 6229, 2, '和政', 'he zheng', 'hez', '和政县', NULL, NULL, NULL, NULL), + (622926, 6229, 2, '东乡族自治县', 'dong xiang zu zi zhi xian', 'doxz', '东乡族自治县', NULL, NULL, NULL, NULL), + (622927, 6229, 2, '积石山保安族东乡族撒拉族自治县', 'ji shi shan bao an zu dong xiang zu sa la zu zi zhi xian', 'jiss', '积石山保安族东乡族撒拉族自治县', NULL, NULL, NULL, NULL), + (623001, 6230, 2, '合作', 'he zuo', 'hez', '合作市', NULL, NULL, NULL, NULL), + (623021, 6230, 2, '临潭', 'lin tan', 'lit', '临潭县', NULL, NULL, NULL, NULL), + (623022, 6230, 2, '卓尼', 'zhuo ni', 'zhn', '卓尼县', NULL, NULL, NULL, NULL), + (623023, 6230, 2, '舟曲', 'zhou qu', 'zhq', '舟曲县', NULL, NULL, NULL, NULL), + (623024, 6230, 2, '迭部', 'die bu', 'dib', '迭部县', NULL, NULL, NULL, NULL), + (623025, 6230, 2, '玛曲', 'ma qu', 'maq', '玛曲县', NULL, NULL, NULL, NULL), + (623026, 6230, 2, '碌曲', 'lu qu', 'luq', '碌曲县', NULL, NULL, NULL, NULL), + (623027, 6230, 2, '夏河', 'xia he', 'xih', '夏河县', NULL, NULL, NULL, NULL), + (630102, 6301, 2, '城东', 'cheng dong', 'chd', '城东区', NULL, NULL, NULL, NULL), + (630103, 6301, 2, '城中', 'cheng zhong', 'chz', '城中区', NULL, NULL, NULL, NULL), + (630104, 6301, 2, '城西', 'cheng xi', 'chx', '城西区', NULL, NULL, NULL, NULL), + (630105, 6301, 2, '城北', 'cheng bei', 'chb', '城北区', NULL, NULL, NULL, NULL), + (630121, 6301, 2, '大通回族土族自治县', 'da tong hui zu tu zu zi zhi xian', 'dath', '大通回族土族自治县', NULL, NULL, NULL, NULL), + (630122, 6301, 2, '湟中', 'huang zhong', 'huz', '湟中县', NULL, NULL, NULL, NULL), + (630123, 6301, 2, '湟源', 'huang yuan', 'huy', '湟源县', NULL, NULL, NULL, NULL), + (630202, 6302, 2, '乐都', 'le du', 'led', '乐都区', NULL, NULL, NULL, NULL), + (630203, 6302, 2, '平安', 'ping an', 'pia', '平安区', NULL, NULL, NULL, NULL), + (630222, 6302, 2, '民和回族土族自治县', 'min he hui zu tu zu zi zhi xian', 'mihh', '民和回族土族自治县', NULL, NULL, NULL, NULL), + (630223, 6302, 2, '互助土族自治县', 'hu zhu tu zu zi zhi xian', 'huzt', '互助土族自治县', NULL, NULL, NULL, NULL), + (630224, 6302, 2, '化隆回族自治县', 'hua long hui zu zi zhi xian', 'hulh', '化隆回族自治县', NULL, NULL, NULL, NULL), + (630225, 6302, 2, '循化撒拉族自治县', 'xun hua sa la zu zi zhi xian', 'xuhs', '循化撒拉族自治县', NULL, NULL, NULL, NULL), + (632221, 6322, 2, '门源回族自治县', 'men yuan hui zu zi zhi xian', 'meyh', '门源回族自治县', NULL, NULL, NULL, NULL), + (632222, 6322, 2, '祁连', 'qi lian', 'qil', '祁连县', NULL, NULL, NULL, NULL), + (632223, 6322, 2, '海晏', 'hai yan', 'hay', '海晏县', NULL, NULL, NULL, NULL), + (632224, 6322, 2, '刚察', 'gang cha', 'gac', '刚察县', NULL, NULL, NULL, NULL), + (632321, 6323, 2, '同仁', 'tong ren', 'tor', '同仁县', NULL, NULL, NULL, NULL), + (632322, 6323, 2, '尖扎', 'jian zha', 'jiz', '尖扎县', NULL, NULL, NULL, NULL), + (632323, 6323, 2, '泽库', 'ze ku', 'zek', '泽库县', NULL, NULL, NULL, NULL), + (632324, 6323, 2, '河南蒙古族自治县', 'he nan meng gu zu zi zhi xian', 'henm', '河南蒙古族自治县', NULL, NULL, NULL, NULL), + (632521, 6325, 2, '共和', 'gong he', 'goh', '共和县', NULL, NULL, NULL, NULL), + (632522, 6325, 2, '同德', 'tong de', 'tod', '同德县', NULL, NULL, NULL, NULL), + (632523, 6325, 2, '贵德', 'gui de', 'gud', '贵德县', NULL, NULL, NULL, NULL), + (632524, 6325, 2, '兴海', 'xing hai', 'xih', '兴海县', NULL, NULL, NULL, NULL), + (632525, 6325, 2, '贵南', 'gui nan', 'gun', '贵南县', NULL, NULL, NULL, NULL), + (632621, 6326, 2, '玛沁', 'ma qin', 'maq', '玛沁县', NULL, NULL, NULL, NULL), + (632622, 6326, 2, '班玛', 'ban ma', 'bam', '班玛县', NULL, NULL, NULL, NULL), + (632623, 6326, 2, '甘德', 'gan de', 'gad', '甘德县', NULL, NULL, NULL, NULL), + (632624, 6326, 2, '达日', 'da ri', 'dar', '达日县', NULL, NULL, NULL, NULL), + (632625, 6326, 2, '久治', 'jiu zhi', 'jiz', '久治县', NULL, NULL, NULL, NULL), + (632626, 6326, 2, '玛多', 'ma duo', 'mad', '玛多县', NULL, NULL, NULL, NULL), + (632701, 6327, 2, '玉树', 'yu shu', 'yus', '玉树市', NULL, NULL, NULL, NULL), + (632722, 6327, 2, '杂多', 'za duo', 'zad', '杂多县', NULL, NULL, NULL, NULL), + (632723, 6327, 2, '称多', 'cheng duo', 'chd', '称多县', NULL, NULL, NULL, NULL), + (632724, 6327, 2, '治多', 'zhi duo', 'zhd', '治多县', NULL, NULL, NULL, NULL), + (632725, 6327, 2, '囊谦', 'nang qian', 'naq', '囊谦县', NULL, NULL, NULL, NULL), + (632726, 6327, 2, '曲麻莱', 'qu ma lai', 'quml', '曲麻莱县', NULL, NULL, NULL, NULL), + (632801, 6328, 2, '格尔木', 'ge er mu', 'geem', '格尔木市', NULL, NULL, NULL, NULL), + (632802, 6328, 2, '德令哈', 'de ling ha', 'delh', '德令哈市', NULL, NULL, NULL, NULL), + (632821, 6328, 2, '乌兰', 'wu lan', 'wul', '乌兰县', NULL, NULL, NULL, NULL), + (632822, 6328, 2, '都兰', 'du lan', 'dul', '都兰县', NULL, NULL, NULL, NULL), + (632823, 6328, 2, '天峻', 'tian jun', 'tij', '天峻县', NULL, NULL, NULL, NULL), + (632857, 6328, 2, '大柴旦行政委员会', 'da chai dan xing zheng wei yuan hui', 'dacd', '大柴旦行政委员会', NULL, NULL, NULL, NULL), + (632858, 6328, 2, '冷湖行政委员会', 'leng hu xing zheng wei yuan hui', 'lehx', '冷湖行政委员会', NULL, NULL, NULL, NULL), + (632859, 6328, 2, '茫崖行政委员会', 'mang ya xing zheng wei yuan hui', 'mayx', '茫崖行政委员会', NULL, NULL, NULL, NULL), + (640104, 6401, 2, '兴庆', 'xing qing', 'xiq', '兴庆区', NULL, NULL, NULL, NULL), + (640105, 6401, 2, '西夏', 'xi xia', 'xix', '西夏区', NULL, NULL, NULL, NULL), + (640106, 6401, 2, '金凤', 'jin feng', 'jif', '金凤区', NULL, NULL, NULL, NULL), + (640121, 6401, 2, '永宁', 'yong ning', 'yon', '永宁县', NULL, NULL, NULL, NULL), + (640122, 6401, 2, '贺兰', 'he lan', 'hel', '贺兰县', NULL, NULL, NULL, NULL), + (640181, 6401, 2, '灵武', 'ling wu', 'liw', '灵武市', NULL, NULL, NULL, NULL), + (640202, 6402, 2, '大武口', 'da wu kou', 'dawk', '大武口区', NULL, NULL, NULL, NULL), + (640205, 6402, 2, '惠农', 'hui nong', 'hun', '惠农区', NULL, NULL, NULL, NULL), + (640221, 6402, 2, '平罗', 'ping luo', 'pil', '平罗县', NULL, NULL, NULL, NULL), + (640302, 6403, 2, '利通', 'li tong', 'lit', '利通区', NULL, NULL, NULL, NULL), + (640303, 6403, 2, '红寺堡', 'hong si bu', 'hosb', '红寺堡区', NULL, NULL, NULL, NULL), + (640323, 6403, 2, '盐池', 'yan chi', 'yac', '盐池县', NULL, NULL, NULL, NULL), + (640324, 6403, 2, '同心', 'tong xin', 'tox', '同心县', NULL, NULL, NULL, NULL), + (640381, 6403, 2, '青铜峡', 'qing tong xia', 'qitx', '青铜峡市', NULL, NULL, NULL, NULL), + (640402, 6404, 2, '原州', 'yuan zhou', 'yuz', '原州区', NULL, NULL, NULL, NULL), + (640422, 6404, 2, '西吉', 'xi ji', 'xij', '西吉县', NULL, NULL, NULL, NULL), + (640423, 6404, 2, '隆德', 'long de', 'lod', '隆德县', NULL, NULL, NULL, NULL), + (640424, 6404, 2, '泾源', 'jing yuan', 'jiy', '泾源县', NULL, NULL, NULL, NULL), + (640425, 6404, 2, '彭阳', 'peng yang', 'pey', '彭阳县', NULL, NULL, NULL, NULL), + (640502, 6405, 2, '沙坡头', 'sha po tou', 'shpt', '沙坡头区', NULL, NULL, NULL, NULL), + (640521, 6405, 2, '中宁', 'zhong ning', 'zhn', '中宁县', NULL, NULL, NULL, NULL), + (640522, 6405, 2, '海原', 'hai yuan', 'hay', '海原县', NULL, NULL, NULL, NULL), + (650102, 6501, 2, '天山', 'tian shan', 'tis', '天山区', NULL, NULL, NULL, NULL), + (650103, 6501, 2, '沙依巴克', 'sha yi ba ke', 'shyb', '沙依巴克区', NULL, NULL, NULL, NULL), + (650104, 6501, 2, '新市', 'xin shi', 'xis', '新市区', NULL, NULL, NULL, NULL), + (650105, 6501, 2, '水磨沟', 'shui mo gou', 'shmg', '水磨沟区', NULL, NULL, NULL, NULL), + (650106, 6501, 2, '头屯河', 'tou tun he', 'toth', '头屯河区', NULL, NULL, NULL, NULL), + (650107, 6501, 2, '达坂城', 'da ban cheng', 'dabc', '达坂城区', NULL, NULL, NULL, NULL), + (650109, 6501, 2, '米东', 'mi dong', 'mid', '米东区', NULL, NULL, NULL, NULL), + (650121, 6501, 2, '乌鲁木齐', 'wu lu mu qi', 'wulm', '乌鲁木齐县', NULL, NULL, NULL, NULL), + (650171, 6501, 2, '乌鲁木齐经济技术开发区', 'wu lu mu qi jing ji ji shu kai fa qu', 'wulm', '乌鲁木齐经济技术开发区', NULL, NULL, NULL, NULL), + (650172, 6501, 2, '乌鲁木齐高新技术产业开发区', 'wu lu mu qi gao xin ji shu chan ye kai fa qu', 'wulm', '乌鲁木齐高新技术产业开发区', NULL, NULL, NULL, NULL), + (650202, 6502, 2, '独山子', 'du shan zi', 'dusz', '独山子区', NULL, NULL, NULL, NULL), + (650203, 6502, 2, '克拉玛依', 'ke la ma yi', 'kelm', '克拉玛依区', NULL, NULL, NULL, NULL), + (650204, 6502, 2, '白碱滩', 'bai jian tan', 'bajt', '白碱滩区', NULL, NULL, NULL, NULL), + (650205, 6502, 2, '乌尔禾', 'wu er he', 'wueh', '乌尔禾区', NULL, NULL, NULL, NULL), + (650402, 6504, 2, '高昌', 'gao chang', 'gac', '高昌区', NULL, NULL, NULL, NULL), + (650421, 6504, 2, '鄯善', 'shan shan', 'shs', '鄯善县', NULL, NULL, NULL, NULL), + (650422, 6504, 2, '托克逊', 'tuo ke xun', 'tukx', '托克逊县', NULL, NULL, NULL, NULL), + (650502, 6505, 2, '伊州', 'yi zhou', 'yiz', '伊州区', NULL, NULL, NULL, NULL), + (650521, 6505, 2, '巴里坤哈萨克自治县', 'ba li kun ha sa ke zi zhi xian', 'balk', '巴里坤哈萨克自治县', NULL, NULL, NULL, NULL), + (650522, 6505, 2, '伊吾', 'yi wu', 'yiw', '伊吾县', NULL, NULL, NULL, NULL), + (652301, 6523, 2, '昌吉', 'chang ji', 'chj', '昌吉市', NULL, NULL, NULL, NULL), + (652302, 6523, 2, '阜康', 'fu kang', 'fuk', '阜康市', NULL, NULL, NULL, NULL), + (652323, 6523, 2, '呼图壁', 'hu tu bi', 'hutb', '呼图壁县', NULL, NULL, NULL, NULL), + (652324, 6523, 2, '玛纳斯', 'ma na si', 'mans', '玛纳斯县', NULL, NULL, NULL, NULL), + (652325, 6523, 2, '奇台', 'qi tai', 'qit', '奇台县', NULL, NULL, NULL, NULL), + (652327, 6523, 2, '吉木萨尔', 'ji mu sa er', 'jims', '吉木萨尔县', NULL, NULL, NULL, NULL), + (652328, 6523, 2, '木垒哈萨克自治县', 'mu lei ha sa ke zi zhi xian', 'mulh', '木垒哈萨克自治县', NULL, NULL, NULL, NULL), + (652701, 6527, 2, '博乐', 'bo le', 'bol', '博乐市', NULL, NULL, NULL, NULL), + (652702, 6527, 2, '阿拉山口', 'a la shan kou', 'als', '阿拉山口市', NULL, NULL, NULL, NULL), + (652722, 6527, 2, '精河', 'jing he', 'jih', '精河县', NULL, NULL, NULL, NULL), + (652723, 6527, 2, '温泉', 'wen quan', 'weq', '温泉县', NULL, NULL, NULL, NULL), + (652801, 6528, 2, '库尔勒', 'ku er le', 'kuel', '库尔勒市', NULL, NULL, NULL, NULL), + (652822, 6528, 2, '轮台', 'lun tai', 'lut', '轮台县', NULL, NULL, NULL, NULL), + (652823, 6528, 2, '尉犁', 'yu li', 'yul', '尉犁县', NULL, NULL, NULL, NULL), + (652824, 6528, 2, '若羌', 'ruo qiang', 'ruq', '若羌县', NULL, NULL, NULL, NULL), + (652825, 6528, 2, '且末', 'qie mo', 'qim', '且末县', NULL, NULL, NULL, NULL), + (652826, 6528, 2, '焉耆回族自治县', 'yan qi hui zu zi zhi xian', 'yaqh', '焉耆回族自治县', NULL, NULL, NULL, NULL), + (652827, 6528, 2, '和静', 'he jing', 'hej', '和静县', NULL, NULL, NULL, NULL), + (652828, 6528, 2, '和硕', 'he shuo', 'hes', '和硕县', NULL, NULL, NULL, NULL), + (652829, 6528, 2, '博湖', 'bo hu', 'boh', '博湖县', NULL, NULL, NULL, NULL), + (652871, 6528, 2, '库尔勒经济技术开发区', 'ku er le jing ji ji shu kai fa qu', 'kuel', '库尔勒经济技术开发区', NULL, NULL, NULL, NULL), + (652901, 6529, 2, '阿克苏', 'a ke su', 'aks', '阿克苏市', NULL, NULL, NULL, NULL), + (652922, 6529, 2, '温宿', 'wen su', 'wes', '温宿县', NULL, NULL, NULL, NULL), + (652923, 6529, 2, '库车', 'ku che', 'kuc', '库车县', NULL, NULL, NULL, NULL), + (652924, 6529, 2, '沙雅', 'sha ya', 'shy', '沙雅县', NULL, NULL, NULL, NULL), + (652925, 6529, 2, '新和', 'xin he', 'xih', '新和县', NULL, NULL, NULL, NULL), + (652926, 6529, 2, '拜城', 'bai cheng', 'bac', '拜城县', NULL, NULL, NULL, NULL), + (652927, 6529, 2, '乌什', 'wu shi', 'wus', '乌什县', NULL, NULL, NULL, NULL), + (652928, 6529, 2, '阿瓦提', 'a wa ti', 'awt', '阿瓦提县', NULL, NULL, NULL, NULL), + (652929, 6529, 2, '柯坪', 'ke ping', 'kep', '柯坪县', NULL, NULL, NULL, NULL), + (653001, 6530, 2, '阿图什', 'a tu shi', 'ats', '阿图什市', NULL, NULL, NULL, NULL), + (653022, 6530, 2, '阿克陶', 'a ke tao', 'akt', '阿克陶县', NULL, NULL, NULL, NULL), + (653023, 6530, 2, '阿合奇', 'a he qi', 'ahq', '阿合奇县', NULL, NULL, NULL, NULL), + (653024, 6530, 2, '乌恰', 'wu qia', 'wuq', '乌恰县', NULL, NULL, NULL, NULL), + (653101, 6531, 2, '喀什', 'ka shi', 'kas', '喀什市', NULL, NULL, NULL, NULL), + (653121, 6531, 2, '疏附', 'shu fu', 'shf', '疏附县', NULL, NULL, NULL, NULL), + (653122, 6531, 2, '疏勒', 'shu le', 'shl', '疏勒县', NULL, NULL, NULL, NULL), + (653123, 6531, 2, '英吉沙', 'ying ji sha', 'yijs', '英吉沙县', NULL, NULL, NULL, NULL), + (653124, 6531, 2, '泽普', 'ze pu', 'zep', '泽普县', NULL, NULL, NULL, NULL), + (653125, 6531, 2, '莎车', 'sha che', 'shc', '莎车县', NULL, NULL, NULL, NULL), + (653126, 6531, 2, '叶城', 'ye cheng', 'yec', '叶城县', NULL, NULL, NULL, NULL), + (653127, 6531, 2, '麦盖提', 'mai gai ti', 'magt', '麦盖提县', NULL, NULL, NULL, NULL), + (653128, 6531, 2, '岳普湖', 'yue pu hu', 'yuph', '岳普湖县', NULL, NULL, NULL, NULL), + (653129, 6531, 2, '伽师', 'jia shi', 'jis', '伽师县', NULL, NULL, NULL, NULL), + (653130, 6531, 2, '巴楚', 'ba chu', 'bac', '巴楚县', NULL, NULL, NULL, NULL), + (653131, 6531, 2, '塔什库尔干塔吉克自治县', 'ta shi ku er gan ta ji ke zi zhi xian', 'task', '塔什库尔干塔吉克自治县', NULL, NULL, NULL, NULL), + (653201, 6532, 2, '和田市', 'he tian shi', 'hets', '和田市', NULL, NULL, NULL, NULL), + (653221, 6532, 2, '和田县', 'he tian xian', 'hetx', '和田县', NULL, NULL, NULL, NULL), + (653222, 6532, 2, '墨玉', 'mo yu', 'moy', '墨玉县', NULL, NULL, NULL, NULL), + (653223, 6532, 2, '皮山', 'pi shan', 'pis', '皮山县', NULL, NULL, NULL, NULL), + (653224, 6532, 2, '洛浦', 'luo pu', 'lup', '洛浦县', NULL, NULL, NULL, NULL), + (653225, 6532, 2, '策勒', 'ce le', 'cel', '策勒县', NULL, NULL, NULL, NULL), + (653226, 6532, 2, '于田', 'yu tian', 'yut', '于田县', NULL, NULL, NULL, NULL), + (653227, 6532, 2, '民丰', 'min feng', 'mif', '民丰县', NULL, NULL, NULL, NULL), + (654002, 6540, 2, '伊宁市', 'yi ning shi', 'yins', '伊宁市', NULL, NULL, NULL, NULL), + (654003, 6540, 2, '奎屯', 'kui tun', 'kut', '奎屯市', NULL, NULL, NULL, NULL), + (654004, 6540, 2, '霍尔果斯', 'huo er guo si', 'hueg', '霍尔果斯市', NULL, NULL, NULL, NULL), + (654021, 6540, 2, '伊宁县', 'yi ning xian', 'yinx', '伊宁县', NULL, NULL, NULL, NULL), + (654022, 6540, 2, '察布查尔锡伯自治县', 'cha bu cha er xi bo zi zhi xian', 'chbc', '察布查尔锡伯自治县', NULL, NULL, NULL, NULL), + (654023, 6540, 2, '霍城', 'huo cheng', 'huc', '霍城县', NULL, NULL, NULL, NULL), + (654024, 6540, 2, '巩留', 'gong liu', 'gol', '巩留县', NULL, NULL, NULL, NULL), + (654025, 6540, 2, '新源', 'xin yuan', 'xiy', '新源县', NULL, NULL, NULL, NULL), + (654026, 6540, 2, '昭苏', 'zhao su', 'zhs', '昭苏县', NULL, NULL, NULL, NULL), + (654027, 6540, 2, '特克斯', 'te ke si', 'teks', '特克斯县', NULL, NULL, NULL, NULL), + (654028, 6540, 2, '尼勒克', 'ni le ke', 'nilk', '尼勒克县', NULL, NULL, NULL, NULL), + (654201, 6542, 2, '塔城', 'ta cheng', 'tac', '塔城市', NULL, NULL, NULL, NULL), + (654202, 6542, 2, '乌苏', 'wu su', 'wus', '乌苏市', NULL, NULL, NULL, NULL), + (654221, 6542, 2, '额敏', 'e min', 'em', '额敏县', NULL, NULL, NULL, NULL), + (654223, 6542, 2, '沙湾', 'sha wan', 'shw', '沙湾县', NULL, NULL, NULL, NULL), + (654224, 6542, 2, '托里', 'tuo li', 'tul', '托里县', NULL, NULL, NULL, NULL), + (654225, 6542, 2, '裕民', 'yu min', 'yum', '裕民县', NULL, NULL, NULL, NULL), + (654226, 6542, 2, '和布克赛尔蒙古自治县', 'he bu ke sai er meng gu zi zhi xian', 'hebk', '和布克赛尔蒙古自治县', NULL, NULL, NULL, NULL), + (654301, 6543, 2, '阿勒泰', 'a le tai', 'alt', '阿勒泰市', NULL, NULL, NULL, NULL), + (654321, 6543, 2, '布尔津', 'bu er jin', 'buej', '布尔津县', NULL, NULL, NULL, NULL), + (654322, 6543, 2, '富蕴', 'fu yun', 'fuy', '富蕴县', NULL, NULL, NULL, NULL), + (654323, 6543, 2, '福海', 'fu hai', 'fuh', '福海县', NULL, NULL, NULL, NULL), + (654324, 6543, 2, '哈巴河', 'ha ba he', 'habh', '哈巴河县', NULL, NULL, NULL, NULL), + (654325, 6543, 2, '青河', 'qing he', 'qih', '青河县', NULL, NULL, NULL, NULL), + (654326, 6543, 2, '吉木乃', 'ji mu nai', 'jimn', '吉木乃县', NULL, NULL, NULL, NULL), + (659001, 6590, 2, '石河子', 'shi he zi', 'shhz', '石河子市', NULL, NULL, NULL, NULL), + (659002, 6590, 2, '阿拉尔', 'a la er', 'ale', '阿拉尔市', NULL, NULL, NULL, NULL), + (659003, 6590, 2, '图木舒克', 'tu mu shu ke', 'tums', '图木舒克市', NULL, NULL, NULL, NULL), + (659004, 6590, 2, '五家渠', 'wu jia qu', 'wujq', '五家渠市', NULL, NULL, NULL, NULL), + (659006, 6590, 2, '铁门关', 'tie men guan', 'timg', '铁门关市', NULL, NULL, NULL, NULL), + (900100, 9001, 2, '香港', 'xiang gang', 'xig', '', NULL, NULL, NULL, NULL), + (900200, 9002, 2, '澳门', 'ao men', 'aom', '', NULL, NULL, NULL, NULL), + (900300, 9003, 2, '台湾', 'tai wan', 'taw', '', NULL, NULL, NULL, NULL), + (910100, 9101, 2, '海外', 'hai wai', 'haw', '', NULL, NULL, NULL, NULL); +/*!40000 ALTER TABLE `sys_districts` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_job +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE IF NOT EXISTS `sys_job` ( + `job_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='定时任务调度表'; + +-- Dumping data for table opl2.sys_job: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_job` DISABLE KEYS */; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:09:11', ''), + (2, '系统默认(有参)', 'DEFAULT', 'myTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-07-23 16:29:30', ''), + (3, '系统默认(多参)', 'DEFAULT', 'myTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11:33:00', 'admin', '2019-07-23 16:29:39', ''); +/*!40000 ALTER TABLE `sys_job` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_job_log +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE IF NOT EXISTS `sys_job_log` ( + `job_log_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) NOT NULL COMMENT '任务名称', + `job_group` varchar(64) NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) DEFAULT NULL COMMENT '日志信息', + `status` char(1) DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='定时任务调度日志表'; + +-- Dumping data for table opl2.sys_job_log: ~6 rows (大约) +/*!40000 ALTER TABLE `sys_job_log` DISABLE KEYS */; +INSERT INTO `sys_job_log` (`job_log_id`, `job_name`, `job_group`, `invoke_target`, `job_message`, `status`, `exception_info`, `create_time`) VALUES + (1, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:26毫秒', '1', 'org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named \'myTask\' available\r\n at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:775)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1221)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:294)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)\r\n at com.ak.common.utils.spring.SpringUtils.getBean(SpringUtils.java:35)\r\n at com.ak.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:29)\r\n at com.ak.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:17)\r\n at com.ak.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:37)\r\n at org.quartz.core.JobRunShell.run(JobRunShell.java:202)\r\n at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)\r\n', '2019-07-24 10:29:12'), + (2, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:1毫秒', '1', 'org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named \'myTask\' available\r\n at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:775)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1221)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:294)\r\n at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)\r\n at com.ak.common.utils.spring.SpringUtils.getBean(SpringUtils.java:35)\r\n at com.ak.quartz.util.JobInvokeUtil.invokeMethod(JobInvokeUtil.java:29)\r\n at com.ak.quartz.util.QuartzDisallowConcurrentExecution.doExecute(QuartzDisallowConcurrentExecution.java:17)\r\n at com.ak.quartz.util.AbstractQuartzJob.execute(AbstractQuartzJob.java:37)\r\n at org.quartz.core.JobRunShell.run(JobRunShell.java:202)\r\n at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)\r\n', '2019-07-24 10:30:17'), + (3, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:2毫秒', '0', '', '2019-07-24 10:31:21'), + (4, '系统默认(有参)', 'DEFAULT', 'myTask.ryParams(\'ry\')', '系统默认(有参) 总共耗时:1毫秒', '0', '', '2019-07-24 10:31:35'), + (5, '系统默认(多参)', 'DEFAULT', 'myTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '系统默认(多参) 总共耗时:1毫秒', '0', '', '2019-07-24 10:31:38'), + (6, '系统默认(无参)', 'DEFAULT', 'myTask.ryNoParams', '系统默认(无参) 总共耗时:6毫秒', '0', '', '2019-10-11 11:09:07'); +/*!40000 ALTER TABLE `sys_job_log` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_logininfor +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE IF NOT EXISTS `sys_logininfor` ( + `info_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `login_name` varchar(50) DEFAULT '' COMMENT '登录账号', + `ipaddr` varchar(50) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=544 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统访问记录'; + +-- Dumping data for table opl2.sys_logininfor: ~90 rows (大约) +/*!40000 ALTER TABLE `sys_logininfor` DISABLE KEYS */; +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES + (535, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 16:27:03'), + (536, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 17:23:13'), + (537, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:15:20'), + (538, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:19:25'), + (539, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:24:14'), + (540, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:54:57'), + (541, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:57:35'), + (542, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 18:59:21'), + (543, 'admin', '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', '0', '登录成功', '2019-10-11 19:04:15'); +/*!40000 ALTER TABLE `sys_logininfor` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_menu +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE IF NOT EXISTS `sys_menu` ( + `menu_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `app_code` varchar(16) NOT NULL COMMENT '子系统Code', + `parent_id` int(16) DEFAULT 0 COMMENT '父菜单ID', + `order_num` int(4) DEFAULT 0 COMMENT '显示顺序', + `url` varchar(200) DEFAULT '#' COMMENT '请求地址', + `target` varchar(20) DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2017 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='菜单权限表'; + +-- Dumping data for table opl2.sys_menu: ~96 rows (大约) +/*!40000 ALTER TABLE `sys_menu` DISABLE KEYS */; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `app_code`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '租户管理', 'PlatformTenant', 0, 2, '#', 'menuItem', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-16 13:42:55', ''), + (2, '统一监控', 'PlatformMonitor', 0, 7, '#', 'menuItem', 'M', '0', '', 'fa fa-video-camera', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:58:56', ''), + (3, '开放接口', 'TenantApi', 0, 4, '#', 'menuItem', 'M', '0', '', 'fa fa-bars', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:59:06', ''), + (4, '任务调度', 'PlatformQuartz', 0, 3, '#', 'menuItem', 'M', '0', '', 'fa fa-bars', 'admin', '2019-07-30 10:50:44', 'admin', '2019-08-07 10:59:01', ''), + (5, '日志查询', 'TenantLog', 0, 6, '#', 'menuItem', 'M', '0', '', 'fa fa-gear', 'admin', '2018-03-16 11:33:00', 'admin', '2019-08-07 10:59:21', '日志管理菜单'), + (100, '用户管理', 'TenantBasedate', 2000, 1, '/basedata/user', 'menuItem', 'C', '0', 'basedata:user:view', 'fa fa-user', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:26:47', '用户管理菜单'), + (101, '角色管理', 'TenantBasedate', 2000, 2, '/basedata/role', 'menuItem', 'C', '0', 'basedata:role:view', 'fa fa-user-plus', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:09', '角色管理菜单'), + (102, '菜单管理', 'TenantBasedate', 2000, 4, '/basedata/menu', 'menuItem', 'C', '0', 'basedata:menu:view', 'fa fa-sort-amount-asc', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:25', '菜单管理菜单'), + (103, '部门管理', 'TenantBasedate', 2000, 4, '/basedata/dept', 'menuItem', 'C', '0', 'basedata:dept:view', 'fa fa-users', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:43', '部门管理菜单'), + (104, '岗位管理', 'TenantBasedate', 2000, 5, '/basedata/post', 'menuItem', 'C', '0', 'basedata:post:view', 'fa fa-street-view', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:27:55', '岗位管理菜单'), + (105, '字典管理', 'TenantBasedate', 2000, 6, '/system/dict', 'menuItem', 'C', '0', 'system:dict:view', 'fa fa-code-fork', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:28:24', '字典管理菜单'), + (106, '参数设置', 'TenantBasedate', 2000, 7, '/system/config', 'menuItem', 'C', '0', 'system:config:view', 'fa fa-paper-plane-o', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:28:45', '参数设置菜单'), + (107, '通知公告', 'TenantMessage', 2001, 8, '/message/notice', '', 'C', '0', 'message:notice:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '通知公告菜单'), + (109, '在线用户', 'PlatformMonitor', 2, 1, '/monitor/online', '', 'C', '0', 'monitor:online:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '在线用户菜单'), + (110, '定时任务', 'PlatformQuartz', 4, 2, '/monitor/job', '', 'C', '0', 'monitor:job:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '定时任务菜单'), + (111, '数据监控', 'PlatformMonitor', 2, 3, '/monitor/data', '', 'C', '0', 'monitor:data:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '数据监控菜单'), + (112, '服务监控', 'PlatformMonitor', 2, 3, '/monitor/server', '', 'C', '0', 'monitor:server:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '服务监控菜单'), + (115, '系统接口', 'TenantApi', 3, 3, '/tool/swagger', 'menuItem', 'C', '0', 'tool:swagger:view', 'fa fa-at', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 11:26:14', '系统接口菜单'), + (500, '操作日志', 'TenantLog', 5, 1, '/log/operlog', '', 'C', '0', 'log:operlog:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '操作日志菜单'), + (501, '登录日志', 'TenantLog', 5, 2, '/log/logininfor', '', 'C', '0', 'log:logininfor:view', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '登录日志菜单'), + (1000, '用户查询', 'TenantBasedate', 100, 1, '#', '', 'F', '0', 'basedata:user:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1001, '用户新增', 'TenantBasedate', 100, 2, '#', '', 'F', '0', 'basedata:user:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1002, '用户修改', 'TenantBasedate', 100, 3, '#', '', 'F', '0', 'basedata:user:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1003, '用户删除', 'TenantBasedate', 100, 4, '#', '', 'F', '0', 'basedata:user:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1004, '用户导出', 'TenantBasedate', 100, 5, '#', '', 'F', '0', 'basedata:user:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1005, '用户导入', 'TenantBasedate', 100, 6, '#', '', 'F', '0', 'basedata:user:import', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1006, '重置密码', 'TenantBasedate', 100, 7, '#', '', 'F', '0', 'basedata:user:resetPwd', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1007, '角色查询', 'TenantBasedate', 101, 1, '#', '', 'F', '0', 'basedata:role:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1008, '角色新增', 'TenantBasedate', 101, 2, '#', '', 'F', '0', 'basedata:role:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1009, '角色修改', 'TenantBasedate', 101, 3, '#', '', 'F', '0', 'basedata:role:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1010, '角色删除', 'TenantBasedate', 101, 4, '#', '', 'F', '0', 'basedata:role:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1011, '角色导出', 'TenantBasedate', 101, 5, '#', '', 'F', '0', 'basedata:role:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1012, '菜单查询', 'TenantBasedate', 102, 1, '#', '', 'F', '0', 'basedata:menu:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1013, '菜单新增', 'TenantBasedate', 102, 2, '#', '', 'F', '0', 'basedata:menu:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1014, '菜单修改', 'TenantBasedate', 102, 3, '#', '', 'F', '0', 'basedata:menu:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1015, '菜单删除', 'TenantBasedate', 102, 4, '#', '', 'F', '0', 'basedata:menu:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1016, '部门查询', 'TenantBasedate', 103, 1, '#', '', 'F', '0', 'basedata:dept:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1017, '部门新增', 'TenantBasedate', 103, 2, '#', '', 'F', '0', 'basedata:dept:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1018, '部门修改', 'TenantBasedate', 103, 3, '#', '', 'F', '0', 'basedata:dept:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1019, '部门删除', 'TenantBasedate', 103, 4, '#', '', 'F', '0', 'basedata:dept:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1020, '岗位查询', 'TenantBasedate', 104, 1, '#', '', 'F', '0', 'basedata:post:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1021, '岗位新增', 'TenantBasedate', 104, 2, '#', '', 'F', '0', 'basedata:post:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1022, '岗位修改', 'TenantBasedate', 104, 3, '#', '', 'F', '0', 'basedata:post:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1023, '岗位删除', 'TenantBasedate', 104, 4, '#', '', 'F', '0', 'basedata:post:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1024, '岗位导出', 'TenantBasedate', 104, 5, '#', '', 'F', '0', 'basedata:post:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1025, '字典查询', 'TenantBasedate', 105, 1, '#', '', 'F', '0', 'system:dict:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1026, '字典新增', 'TenantBasedate', 105, 2, '#', '', 'F', '0', 'system:dict:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1027, '字典修改', 'TenantBasedate', 105, 3, '#', '', 'F', '0', 'system:dict:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1028, '字典删除', 'TenantBasedate', 105, 4, '#', '', 'F', '0', 'system:dict:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1029, '字典导出', 'TenantBasedate', 105, 5, '#', '', 'F', '0', 'system:dict:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1030, '参数查询', 'TenantBasedate', 106, 1, '#', '', 'F', '0', 'system:config:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1031, '参数新增', 'TenantBasedate', 106, 2, '#', '', 'F', '0', 'system:config:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1032, '参数修改', 'TenantBasedate', 106, 3, '#', '', 'F', '0', 'system:config:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1033, '参数删除', 'TenantBasedate', 106, 4, '#', '', 'F', '0', 'system:config:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1034, '参数导出', 'TenantBasedate', 106, 5, '#', '', 'F', '0', 'system:config:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1035, '公告查询', 'TenantMessage', 107, 1, '#', '', 'F', '0', 'message:notice:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1036, '公告新增', 'TenantMessage', 107, 2, '#', '', 'F', '0', 'message:notice:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1037, '公告修改', 'TenantMessage', 107, 3, '#', '', 'F', '0', 'message:notice:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1038, '公告删除', 'TenantMessage', 107, 4, '#', '', 'F', '0', 'message:notice:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1039, '操作查询', 'TenantLog', 500, 1, '#', '', 'F', '0', 'log:operlog:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1040, '操作删除', 'TenantLog', 500, 2, '#', '', 'F', '0', 'log:operlog:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1041, '详细信息', 'TenantLog', 500, 3, '#', '', 'F', '0', 'log:operlog:detail', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1042, '日志导出', 'TenantLog', 500, 4, '#', '', 'F', '0', 'log:operlog:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1043, '登录查询', 'TenantLog', 501, 1, '#', '', 'F', '0', 'log:logininfor:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1044, '登录删除', 'TenantLog', 501, 2, '#', '', 'F', '0', 'log:logininfor:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1045, '日志导出', 'TenantLog', 501, 3, '#', '', 'F', '0', 'log:logininfor:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1046, '在线查询', 'PlatformMonitor', 109, 1, '#', '', 'F', '0', 'monitor:online:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1047, '批量强退', 'PlatformMonitor', 109, 2, '#', '', 'F', '0', 'monitor:online:batchForceLogout', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1048, '单条强退', 'PlatformMonitor', 109, 3, '#', '', 'F', '0', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1049, '任务查询', 'PlatformQuartz', 110, 1, '#', '', 'F', '0', 'monitor:job:list', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1050, '任务新增', 'PlatformQuartz', 110, 2, '#', '', 'F', '0', 'monitor:job:add', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1051, '任务修改', 'PlatformQuartz', 110, 3, '#', '', 'F', '0', 'monitor:job:edit', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1052, '任务删除', 'PlatformQuartz', 110, 4, '#', '', 'F', '0', 'monitor:job:remove', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1053, '状态修改', 'PlatformQuartz', 110, 5, '#', '', 'F', '0', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1054, '任务详细', 'PlatformQuartz', 110, 6, '#', '', 'F', '0', 'monitor:job:detail', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1055, '任务导出', 'PlatformQuartz', 110, 7, '#', '', 'F', '0', 'monitor:job:export', '#', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', ''), + (1059, '租户管理', 'PlatformTenant', 1, 2, '/system/tenant', 'menuItem', 'C', '0', 'system:tenant:view', '#', 'admin', '2019-07-31 17:26:08', '', NULL, ''), + (1060, '子系统管理', 'PlatformTenant', 1, 1, '/system/application', 'menuItem', 'C', '0', 'system:application:view', '#', 'admin', '2019-07-31 17:26:08', '', NULL, ''), + (1061, '数据源管理', 'PlatformTenant', 1, 3, '/system/datasource', '', 'C', '0', 'system:datasource:view', '#', 'admin', '2019-08-01 15:02:56', 'admin', '2019-08-01 15:03:03', ''), + (2000, '基础数据', 'TenantBasedate', 0, 1, '#', 'menuItem', 'M', '0', '', 'fa fa-group', 'admin', '2019-08-02 15:15:59', 'admin', '2019-08-16 13:43:08', ''), + (2001, '消息中心', 'TenantMessage', 0, 6, '#', 'menuItem', 'M', '0', '', 'fa fa-envelope', 'admin', '2019-08-02 15:16:47', 'admin', '2019-08-07 10:59:17', ''), + (2002, '地区管理', 'TenantBasedate', 2000, 8, '/basedata/districts', 'menuItem', 'C', '0', 'basedata:districts:view', 'fa fa-map-o', 'admin', '2019-08-16 09:13:41', '', NULL, ''), + (2003, '地区查询', 'TenantBasedate', 2002, 1, '#', 'menuItem', 'F', '0', 'basedata:districts:list', '#', 'admin', '2019-08-16 09:14:48', '', NULL, ''), + (2004, '导出', 'TenantBasedate', 2002, 2, '#', 'menuItem', 'F', '0', 'basedata:districts:export', '#', 'admin', '2019-08-16 09:15:34', '', NULL, ''), + (2005, '添加', 'TenantBasedate', 2002, 3, '#', 'menuItem', 'F', '0', 'basedata:districts:add', '#', 'admin', '2019-08-16 09:16:11', 'admin', '2019-08-16 09:17:33', ''), + (2006, '编辑', 'TenantBasedate', 2002, 4, '#', 'menuItem', 'F', '0', 'basedata:districts:edit', '#', 'admin', '2019-08-16 09:16:46', '', NULL, ''), + (2007, '删除', 'TenantBasedate', 2002, 5, '#', 'menuItem', 'F', '0', 'basedata:districts:remove', '#', 'admin', '2019-08-16 09:17:21', '', NULL, ''), + (2008, '运营管理', 'TanantOperat', 0, 4, '#', 'menuItem', 'M', '0', NULL, 'fa fa-filter', 'admin', '2019-10-11 11:16:44', '', NULL, ''), + (2009, '放款对账', 'TanantOperat', 2008, 3, '/operat/loanRecon', 'menuItem', 'C', '0', 'operat:loan:recon', 'fa fa-plane', 'admin', '2019-10-11 11:19:14', 'admin', '2019-10-11 11:21:21', ''), + (2010, '进件查询', 'TanantOperat', 2008, 1, '/operat/order', 'menuItem', 'C', '0', 'operat:loan:list', 'fa fa-bullseye', 'admin', '2019-10-11 11:22:41', '', NULL, ''), + (2011, '还款查询', 'TanantOperat', 2008, 2, '/operat/incomList', 'menuItem', 'C', '0', 'operat:loan:repay', 'fa fa-briefcase', 'admin', '2019-10-11 11:24:38', '', NULL, ''), + (2012, '还款对账', 'TanantOperat', 2008, 4, '/operat/repayRecon', 'menuItem', 'C', '0', 'operat:loan:repay', 'fa fa-circle-o-notch', 'admin', '2019-10-11 11:25:59', '', NULL, ''), + (2013, '扣款对账', 'TanantOperat', 2008, 5, '/operat/debitList', 'menuItem', 'C', '0', 'operat:loan:debit', 'fa fa-assistive-listening-systems', 'admin', '2019-10-11 11:30:39', '', NULL, ''), + (2014, '运营配置', 'TenantConfig', 0, 5, '#', 'menuItem', 'M', '0', NULL, 'fa fa-microchip', 'admin', '2019-10-11 11:36:27', '', NULL, ''), + (2015, '密钥管理', 'TenantConfig', 2014, 0, '/config/secretList', 'menuItem', 'C', '0', 'config:secre:list', 'fa fa-key', 'admin', '2019-10-11 11:38:20', '', NULL, ''), + (2016, '操作审计', 'TenantConfig', 2014, 2, '/config/operatList', 'menuItem', 'C', '0', 'config:operat:audit', 'fa fa-map-signs', 'admin', '2019-10-11 11:40:07', '', NULL, ''); +/*!40000 ALTER TABLE `sys_menu` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_notice +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE IF NOT EXISTS `sys_notice` ( + `notice_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` varchar(2000) DEFAULT NULL COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='通知公告表'; + +-- Dumping data for table opl2.sys_notice: ~2 rows (大约) +/*!40000 ALTER TABLE `sys_notice` DISABLE KEYS */; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '温馨提醒', '2', '内容', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '管理员'), + (2, '维护通知', '1', '内容', '0', 'admin', '2018-03-16 11:33:00', 'admin', '2018-03-16 11:33:00', '管理员'); +/*!40000 ALTER TABLE `sys_notice` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_oper_log +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE IF NOT EXISTS `sys_oper_log` ( + `oper_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int(2) DEFAULT 0 COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int(1) DEFAULT 0 COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(50) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数', + `status` int(1) DEFAULT 0 COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + PRIMARY KEY (`oper_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=433 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='操作日志记录'; + +-- Dumping data for table opl2.sys_oper_log: ~34 rows (大约) +/*!40000 ALTER TABLE `sys_oper_log` DISABLE KEYS */; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `status`, `error_msg`, `oper_time`) VALUES + (419, '个人信息', 2, 'com.opl.operating.platform.controller.basedata.SysProfileController.update()', 'POST', 1, 'admin', '研发部门', '/basedata/user/profile/update', '127.0.0.1', '内网IP', '{\r\n "phonenumber" : [ "15888888888" ],\r\n "id" : [ "" ],\r\n "userName" : [ "kingrom" ],\r\n "email" : [ "d.vean@163.com" ],\r\n "sex" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 16:10:50'), + (420, '个人信息', 2, 'com.opl.operating.platform.controller.basedata.SysProfileController.update()', 'POST', 1, 'admin', '研发部门', '/basedata/user/profile/update', '127.0.0.1', '内网IP', '{\r\n "phonenumber" : [ "15000029865" ],\r\n "id" : [ "" ],\r\n "userName" : [ "kingrom" ],\r\n "email" : [ "kingrom@163.com" ],\r\n "sex" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 16:11:05'), + (421, '字典类型', 1, 'com.opl.operating.platform.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\r\n "dictName" : [ "tenant_channel_code" ],\r\n "remark" : [ "商户渠道号" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:40:17'), + (422, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "用钱宝_SZSZ" ],\r\n "dictValue" : [ "1" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "0" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:41:49'), + (423, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_3_SZSZ" ],\r\n "dictValue" : [ "2" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "2" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:42:37'), + (424, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "即有_3_SZSZ" ],\r\n "dictValue" : [ "3" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "3" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:42:56'), + (425, '字典数据', 2, 'com.opl.operating.platform.controller.system.SysDictDataController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/edit', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "用钱宝_SZSZ" ],\r\n "dictValue" : [ "1" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictCode" : [ "104" ],\r\n "dictSort" : [ "1" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:01'), + (426, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "即有_6_SZSZ" ],\r\n "dictValue" : [ "4" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "4" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:19'), + (427, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_6_SZSZ" ],\r\n "dictValue" : [ "5" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "5" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:32'), + (428, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "冰闪_3_SZSX" ],\r\n "dictValue" : [ "6" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "6" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:43:58'), + (429, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "冰闪_6_SZSX" ],\r\n "dictValue" : [ "7" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "7" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:17'), + (430, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_3_SZSX" ],\r\n "dictValue" : [ "8" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "8" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:32'), + (431, '字典数据', 1, 'com.opl.operating.platform.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\r\n "dictLabel" : [ "快牛_6_SZSX" ],\r\n "dictValue" : [ "8" ],\r\n "listClass" : [ "" ],\r\n "isDefault" : [ "Y" ],\r\n "cssClass" : [ "" ],\r\n "dictSort" : [ "8" ],\r\n "remark" : [ "" ],\r\n "dictType" : [ "商户渠道号" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:44:45'), + (432, '字典类型', 2, 'com.opl.operating.platform.controller.system.SysDictTypeController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/edit', '127.0.0.1', '内网IP', '{\r\n "dictName" : [ "商户渠道号" ],\r\n "remark" : [ "商户渠道号" ],\r\n "dictId" : [ "102" ],\r\n "dictType" : [ "tenant_channel_code" ],\r\n "status" : [ "0" ]\r\n}', 0, NULL, '2019-10-11 17:45:09'); +/*!40000 ALTER TABLE `sys_oper_log` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_post +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE IF NOT EXISTS `sys_post` ( + `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `tenant_code` varchar(16) NOT NULL COMMENT '所属租户', + `post_sort` int(4) NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='岗位信息表'; + +-- Dumping data for table opl2.sys_post: ~1 rows (大约) +/*!40000 ALTER TABLE `sys_post` DISABLE KEYS */; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `tenant_code`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, '10000', '系统管理员', '000000', 1, '0', 'admin', '2019-10-11 10:43:46', '', NULL, '1'); +/*!40000 ALTER TABLE `sys_post` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE IF NOT EXISTS `sys_role` ( + `role_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int(4) NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='角色信息表'; + +-- Dumping data for table opl2.sys_role: ~1 rows (大约) +/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `tenant_code`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (2, '系统管理员', 'data:update', 0, '1', '000000', '0', '0', 'admin', '2019-10-11 10:19:23', 'admin', '2019-10-11 15:59:14', ''); +/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role_dept +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE IF NOT EXISTS `sys_role_dept` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表'; + +-- Dumping data for table opl2.sys_role_dept: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_role_dept` DISABLE KEYS */; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES + (2, 100), + (2, 101), + (2, 105); +/*!40000 ALTER TABLE `sys_role_dept` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_role_menu +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE IF NOT EXISTS `sys_role_menu` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表'; + +-- Dumping data for table opl2.sys_role_menu: ~113 rows (大约) +/*!40000 ALTER TABLE `sys_role_menu` DISABLE KEYS */; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES + (2, 1), + (2, 2), + (2, 3), + (2, 100), + (2, 101), + (2, 102), + (2, 103), + (2, 104), + (2, 105), + (2, 106), + (2, 107), + (2, 108), + (2, 109), + (2, 110), + (2, 111), + (2, 112), + (2, 113), + (2, 114), + (2, 115), + (2, 500), + (2, 501), + (2, 1000), + (2, 1001), + (2, 1002), + (2, 1003), + (2, 1004), + (2, 1005), + (2, 1006), + (2, 1007), + (2, 1008), + (2, 1009), + (2, 1010), + (2, 1011), + (2, 1012), + (2, 1013), + (2, 1014), + (2, 1015), + (2, 1016), + (2, 1017), + (2, 1018), + (2, 1019), + (2, 1020), + (2, 1021), + (2, 1022), + (2, 1023), + (2, 1024), + (2, 1025), + (2, 1026), + (2, 1027), + (2, 1028), + (2, 1029), + (2, 1030), + (2, 1031), + (2, 1032), + (2, 1033), + (2, 1034), + (2, 1035), + (2, 1036), + (2, 1037), + (2, 1038), + (2, 1039), + (2, 1040), + (2, 1041), + (2, 1042), + (2, 1043), + (2, 1044), + (2, 1045), + (2, 1046), + (2, 1047), + (2, 1048), + (2, 1049), + (2, 1050), + (2, 1051), + (2, 1052), + (2, 1053), + (2, 1054), + (2, 1055), + (2, 1056), + (2, 1057), + (2, 1058), + (2, 1059), + (2, 1060); +/*!40000 ALTER TABLE `sys_role_menu` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_tenant +DROP TABLE IF EXISTS `sys_tenant`; +CREATE TABLE IF NOT EXISTS `sys_tenant` ( + `tenant_code` varchar(16) NOT NULL COMMENT '租户编号', + `tenant_name` varchar(64) NOT NULL COMMENT '租户名称', + `contact_man` varchar(32) NOT NULL COMMENT '联系人', + `contact_number` varchar(16) NOT NULL COMMENT '联系电话', + `channel_id` varchar(10) NOT NULL COMMENT '渠道编号', + `address` varchar(255) DEFAULT NULL COMMENT '联系地址', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '修改人', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '是否删除(0代表存在 2代表删除)', + `remark` varchar(255) DEFAULT NULL COMMENT '备注说明', + PRIMARY KEY (`tenant_code`) USING BTREE, + UNIQUE KEY `UNIQUE_TENANT_CODE` (`tenant_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_tenant: ~3 rows (大约) +/*!40000 ALTER TABLE `sys_tenant` DISABLE KEYS */; +INSERT INTO `sys_tenant` (`tenant_code`, `tenant_name`, `contact_man`, `contact_number`, `channel_id`, `address`, `create_by`, `create_time`, `update_by`, `update_time`, `status`, `del_flag`, `remark`) VALUES + ('000000', '运营平台方', '刘伟', '15000029865', '1,2', '上海市杨浦区', 'admin', '2019-08-08 15:08:24', 'admin', '2019-10-11 15:55:33', '0', '0', '平台方,系统内置租户,属于基础数据'); +/*!40000 ALTER TABLE `sys_tenant` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_tenant_application +DROP TABLE IF EXISTS `sys_tenant_application`; +CREATE TABLE IF NOT EXISTS `sys_tenant_application` ( + `tenant_code` varchar(16) NOT NULL, + `app_code` varchar(16) NOT NULL, + PRIMARY KEY (`tenant_code`,`app_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- Dumping data for table opl2.sys_tenant_application: ~6 rows (大约) +/*!40000 ALTER TABLE `sys_tenant_application` DISABLE KEYS */; +/*!40000 ALTER TABLE `sys_tenant_application` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE IF NOT EXISTS `sys_user` ( + `user_id` int(16) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` int(16) DEFAULT NULL COMMENT '部门ID', + `login_name` varchar(32) NOT NULL COMMENT '登录账号', + `user_name` varchar(32) NOT NULL COMMENT '用户昵称', + `tenant_code` varchar(16) NOT NULL DEFAULT '000000' COMMENT '所属租户', + `user_type` char(1) DEFAULT '1' COMMENT '用户类型(0平台用户,1租户用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) DEFAULT '' COMMENT '头像路径', + `password` varchar(50) DEFAULT '' COMMENT '密码', + `salt` varchar(20) DEFAULT '' COMMENT '盐加密', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(32) DEFAULT '' COMMENT '最后登陆IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登陆时间', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户信息表'; + +-- Dumping data for table opl2.sys_user: ~8 rows (大约) +/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `tenant_code`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES + (1, 103, 'admin', 'kingrom', '000000', '0', 'kingrom@163.com', '15000029865', '0', '/img/profile.jpg', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2019-10-11 19:04:38', 'admin', '2018-03-16 11:33:00', 'admin', '2019-10-11 19:04:16', '管理员'); +/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_online +DROP TABLE IF EXISTS `sys_user_online`; +CREATE TABLE IF NOT EXISTS `sys_user_online` ( + `sessionId` varchar(64) NOT NULL DEFAULT '' COMMENT '用户会话id', + `login_name` varchar(32) DEFAULT '' COMMENT '登录账号', + `dept_name` varchar(32) DEFAULT '' COMMENT '部门名称', + `tenant_name` varchar(32) DEFAULT NULL COMMENT '租户名称', + `ipaddr` varchar(32) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(64) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(43) DEFAULT '' COMMENT '操作系统', + `status` varchar(10) DEFAULT '' COMMENT '在线状态on_line在线off_line离线', + `start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间', + `last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间', + `expire_time` int(5) DEFAULT 0 COMMENT '超时时间,单位为分钟', + PRIMARY KEY (`sessionId`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='在线用户记录'; + +-- Dumping data for table opl2.sys_user_online: ~2 rows (大约) +/*!40000 ALTER TABLE `sys_user_online` DISABLE KEYS */; +INSERT INTO `sys_user_online` (`sessionId`, `login_name`, `dept_name`, `tenant_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `start_timestamp`, `last_access_time`, `expire_time`) VALUES + ('81cf8173-8f03-4f90-831e-1bd29f8ca608', 'admin', '研发部门', NULL, '127.0.0.1', '内网IP', 'Chrome', 'Windows 10', 'on_line', '2019-10-11 17:22:22', '2019-10-11 19:09:26', 1800000); +/*!40000 ALTER TABLE `sys_user_online` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_post +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE IF NOT EXISTS `sys_user_post` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户与岗位关联表'; + +-- Dumping data for table opl2.sys_user_post: ~4 rows (大约) +/*!40000 ALTER TABLE `sys_user_post` DISABLE KEYS */; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES + (1, 1); +/*!40000 ALTER TABLE `sys_user_post` ENABLE KEYS */; + +-- Dumping structure for table opl2.sys_user_role +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE IF NOT EXISTS `sys_user_role` ( + `user_id` int(16) NOT NULL COMMENT '用户ID', + `role_id` int(16) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户和角色关联表'; + +-- Dumping data for table opl2.sys_user_role: ~8 rows (大约) +/*!40000 ALTER TABLE `sys_user_role` DISABLE KEYS */; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES + (1, 1); +/*!40000 ALTER TABLE `sys_user_role` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; +/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;