diff --git a/epmet-module/data-statistician/data-statistician-client/src/main/java/com/epmet/constant/DataSourceConstant.java b/epmet-module/data-statistician/data-statistician-client/src/main/java/com/epmet/constant/DataSourceConstant.java
new file mode 100644
index 0000000000..65b235f5e0
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-client/src/main/java/com/epmet/constant/DataSourceConstant.java
@@ -0,0 +1,9 @@
+package com.epmet.constant;
+
+public interface DataSourceConstant {
+
+    String GOV_ORG = "govOrg";
+    String STATS = "stats";
+    String GOV_ISSUE = "govIssue";
+
+}
diff --git a/epmet-module/data-statistician/data-statistician-server/pom.xml b/epmet-module/data-statistician/data-statistician-server/pom.xml
index b7a198a7f5..fc9e01fa0f 100644
--- a/epmet-module/data-statistician/data-statistician-server/pom.xml
+++ b/epmet-module/data-statistician/data-statistician-server/pom.xml
@@ -118,8 +118,8 @@
 
                 
                 0 
-                192.168.1.130 
-                6379 
+                118.190.150.119 
+                47379 
                 123456 
                 
                 false 
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/controller/DemoController.java
index e1b4ab1591..08b6880295 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/controller/DemoController.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/controller/DemoController.java
@@ -1,6 +1,6 @@
 package com.epmet.controller;
 
-import com.epmet.service.stats.StatsDemoService;
+import com.epmet.service.StatsDemoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,9 +13,14 @@ public class DemoController {
     @Autowired
     private StatsDemoService demoService;
 
-    @GetMapping("demo")
-    public void demo() {
-        demoService.demo();
+    @GetMapping("testlist")
+    public void testList() {
+        demoService.testList();
+    }
+
+    @GetMapping("testtx")
+    public void testTx() {
+        demoService.testTx();
     }
 
 
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
index 68cb137337..6b44fc5c5e 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java
@@ -1,7 +1,7 @@
 package com.epmet.dao.issue;
 
 import com.epmet.commons.mybatis.dao.BaseDao;
-import com.epmet.entity.IssueEntity;
+import com.epmet.entity.issue.IssueEntity;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java
index 8349bd843a..8e6b2330bd 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/org/StatsCustomerAgencyDao.java
@@ -1,7 +1,7 @@
 package com.epmet.dao.org;
 
 import com.epmet.commons.mybatis.dao.BaseDao;
-import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.entity.org.CustomerAgencyEntity;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/stats/DimYearDao.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/stats/DimYearDao.java
new file mode 100755
index 0000000000..7cfbedc4bf
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/dao/stats/DimYearDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ * 
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see  {
+	int insertOne(DimYearEntity entity);
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/IssueEntity.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/issue/IssueEntity.java
similarity index 98%
rename from epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/IssueEntity.java
rename to epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/issue/IssueEntity.java
index 0fadf1f454..ffaba77c09 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/IssueEntity.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/entity/issue/IssueEntity.java
@@ -15,7 +15,7 @@
  * along with this program.  If not, see 
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see  listAllEntities();
-
 }
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/Issue/impl/DemoIssueServiceImpl.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/Issue/impl/DemoIssueServiceImpl.java
index 494cd26351..423e9fc91f 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/Issue/impl/DemoIssueServiceImpl.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/Issue/impl/DemoIssueServiceImpl.java
@@ -1,16 +1,18 @@
 package com.epmet.service.Issue.impl;
 
 import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
 import com.epmet.dao.issue.StatsIssueDao;
-import com.epmet.entity.IssueEntity;
+import com.epmet.entity.issue.IssueEntity;
 import com.epmet.service.Issue.DemoIssueService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+
 @Service
-@DataSource("govIssue")
+@DataSource(DataSourceConstant.GOV_ISSUE)
 public class DemoIssueServiceImpl implements DemoIssueService {
 
     @Autowired
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/StatsDemoService.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/StatsDemoService.java
new file mode 100644
index 0000000000..1952ade8bf
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/StatsDemoService.java
@@ -0,0 +1,8 @@
+package com.epmet.service;
+
+public interface StatsDemoService {
+
+    void testList();
+    void testTx();
+
+}
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/StatsDemoServiceImpl.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/impl/StatsDemoServiceImpl.java
similarity index 51%
rename from epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/StatsDemoServiceImpl.java
rename to epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/impl/StatsDemoServiceImpl.java
index d80c8b30b7..d6805f2833 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/StatsDemoServiceImpl.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/impl/StatsDemoServiceImpl.java
@@ -1,17 +1,20 @@
-package com.epmet.service.stats.impl;
+package com.epmet.service.impl;
 
-import com.epmet.entity.CustomerAgencyEntity;
-import com.epmet.entity.IssueEntity;
+import com.epmet.dao.stats.DimYearDao;
+import com.epmet.entity.issue.IssueEntity;
+import com.epmet.entity.org.CustomerAgencyEntity;
+import com.epmet.entity.stats.DimYearEntity;
 import com.epmet.service.Issue.DemoIssueService;
+import com.epmet.service.StatsDemoService;
 import com.epmet.service.org.DemoGovOrgService;
-import com.epmet.service.stats.StatsDemoService;
+import com.epmet.service.stats.DemoDataStatsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 /**
- * 综合业务的service,不指定数据源,不加事务,因为不支持。。。
+ * 独立于任何具体数据源外层的service
  */
 @Service
 public class StatsDemoServiceImpl implements StatsDemoService {
@@ -22,10 +25,18 @@ public class StatsDemoServiceImpl implements StatsDemoService {
     @Autowired
     private DemoIssueService demoIssueService;
 
-    public void demo() {
+    @Autowired
+    private DemoDataStatsService demoDataStatsService;
+
+    public void testList() {
         List agencies = demoGovOrgService.listAllEntities();
         List issues = demoIssueService.listAllEntities();
         System.out.println(666);
     }
 
+    //该service不加事务
+    //@Transactional(rollbackFor = Exception.class)
+    public void testTx() {
+        demoDataStatsService.testTx();
+    }
 }
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/DemoGovOrgService.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/DemoGovOrgService.java
index 628809bb77..e0f0c7369a 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/DemoGovOrgService.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/DemoGovOrgService.java
@@ -1,6 +1,6 @@
 package com.epmet.service.org;
 
-import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.entity.org.CustomerAgencyEntity;
 
 import java.util.List;
 
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/impl/DemoGovOrgServiceImpl.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/impl/DemoGovOrgServiceImpl.java
index 8d26d7a4b7..643510086b 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/impl/DemoGovOrgServiceImpl.java
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/org/impl/DemoGovOrgServiceImpl.java
@@ -1,8 +1,9 @@
 package com.epmet.service.org.impl;
 
 import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
 import com.epmet.dao.org.StatsCustomerAgencyDao;
-import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.entity.org.CustomerAgencyEntity;
 import com.epmet.service.org.DemoGovOrgService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -10,7 +11,7 @@ import org.springframework.stereotype.Service;
 import java.util.List;
 
 @Service
-@DataSource("govOrg")
+@DataSource(DataSourceConstant.GOV_ORG)
 public class DemoGovOrgServiceImpl implements DemoGovOrgService {
     @Autowired
     private StatsCustomerAgencyDao govOrgDao;
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/DemoDataStatsService.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/DemoDataStatsService.java
new file mode 100644
index 0000000000..3c279b489a
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/DemoDataStatsService.java
@@ -0,0 +1,7 @@
+package com.epmet.service.stats;
+
+public interface DemoDataStatsService {
+
+    void testTx();
+
+}
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/StatsDemoService.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/StatsDemoService.java
deleted file mode 100644
index 0ec0a634a0..0000000000
--- a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/StatsDemoService.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.epmet.service.stats;
-
-public interface StatsDemoService {
-    void demo();
-}
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/DemoDataStatsServiceImpl.java b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/DemoDataStatsServiceImpl.java
new file mode 100644
index 0000000000..1e5e731459
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/java/com/epmet/service/stats/impl/DemoDataStatsServiceImpl.java
@@ -0,0 +1,38 @@
+package com.epmet.service.stats.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.dao.stats.DimYearDao;
+import com.epmet.entity.stats.DimYearEntity;
+import com.epmet.service.stats.DemoDataStatsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+
+@DataSource(value = DataSourceConstant.STATS)
+@Service
+public class DemoDataStatsServiceImpl implements DemoDataStatsService {
+
+    @Autowired
+    private DimYearDao dimYearDao;
+
+    /**
+     * 此service可以加事务
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void testTx() {
+        DimYearEntity dimYearEntity = new DimYearEntity();
+        dimYearEntity.setYearName("1");
+        dimYearEntity.setId("aaa");
+        dimYearEntity.setCreatedBy("");
+        dimYearEntity.setDelFlag("");
+        dimYearEntity.setRevision(0);
+        dimYearEntity.setUpdatedBy("");
+        dimYearEntity.setUpdatedTime(new Date());
+        dimYearDao.insert(dimYearEntity);
+        dimYearDao.insert(dimYearEntity);
+    }
+}
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistician/data-statistician-server/src/main/resources/bootstrap.yml
index 38d72902a7..cdba6bcc46 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/resources/bootstrap.yml
@@ -24,7 +24,7 @@ spring:
     druid:
       #MySQL
       driver-class-name: com.mysql.cj.jdbc.Driver
-      url: jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+      url: jdbc:mysql://118.190.150.119:47306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
       username: epmet_dba
       password: EpmEt-dbA-UsEr
   cloud:
@@ -55,7 +55,7 @@ spring:
   flyway:
     enabled: false
     locations: classpath:db/migration
-    url: jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://118.190.150.119:47306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     user: epmet_dba
     password: EpmEt-dbA-UsEr
     baseline-on-migrate: true
@@ -91,7 +91,7 @@ mybatis-plus:
     #数据库相关配置
     db-config:
       #主键类型  AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
-      id-type: ID_WORKER
+      id-type: INPUT
       #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
       field-strategy: NOT_NULL
       #驼峰下划线转换
@@ -133,18 +133,13 @@ pagehelper:
 
 dynamic:
   datasource:
-#    stats:
-#      driver-class-name: com.mysql.cj.jdbc.Driver
-#      url: @datasource.druid.stats.url@
-#      username: @datasource.druid.stats.username@
-#      password: @datasource.druid.stats.password@
     govOrg:
       driver-class-name: com.mysql.cj.jdbc.Driver
-      url: jdbc:mysql://192.168.1.130:3306/epmet_gov_org?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+      url: jdbc:mysql://118.190.150.119:47306/epmet_gov_org?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
       username: epmet_gov_org_user
       password: EpmEt-db-UsEr
     govIssue:
       driver-class-name: com.mysql.cj.jdbc.Driver
-      url: jdbc:mysql://192.168.1.130:3306/epmet_gov_issue?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+      url: jdbc:mysql://118.190.150.119:47306/epmet_gov_issue?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
       username: epmet_gov_issue_user
       password: EpmEt-db-UsEr
\ No newline at end of file
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsIssueDao.xml b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/issue/StatsIssueDao.xml
similarity index 72%
rename from epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsIssueDao.xml
rename to epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/issue/StatsIssueDao.xml
index ff33872b14..6a0a0c8e2f 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsIssueDao.xml
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/issue/StatsIssueDao.xml
@@ -2,7 +2,7 @@
 
 
 
-    
+    
         select * from issue
      
   
\ No newline at end of file
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsCustomerAgencyDao.xml b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml
similarity index 80%
rename from epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsCustomerAgencyDao.xml
rename to epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml
index 0cb802030a..789a79dfe1 100644
--- a/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/StatsCustomerAgencyDao.xml
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml
@@ -7,7 +7,7 @@
         select * from customer_agency
     -->
 
-    
+    
         select * from customer_agency
      
 
\ No newline at end of file
diff --git a/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/stats/DimYearDao.xml b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/stats/DimYearDao.xml
new file mode 100755
index 0000000000..688aa8dc43
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/main/resources/mapper/stats/DimYearDao.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+    
+         
+
+    
+        INSERT INTO dim_year
+        (ID, YEAR_NAME, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME)
+        VALUES
+        (#{ID}, #{YEAR_NAME}, #{DEL_FLAG}, #{REVISION}, #{CREATED_BY}, #{CREATED_TIME}, #{UPDATED_BY}, #{UPDATED_TIME})
+     
+
+
+ 
\ No newline at end of file
diff --git a/epmet-module/data-statistician/data-statistician-server/src/test/java/com/epmet/stats/test/TestTx.java b/epmet-module/data-statistician/data-statistician-server/src/test/java/com/epmet/stats/test/TestTx.java
new file mode 100644
index 0000000000..df60de5072
--- /dev/null
+++ b/epmet-module/data-statistician/data-statistician-server/src/test/java/com/epmet/stats/test/TestTx.java
@@ -0,0 +1,23 @@
+package com.epmet.stats.test;
+
+import com.epmet.DataStatsApplication;
+import com.epmet.service.StatsDemoService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(value = SpringRunner.class)
+@SpringBootTest(classes = {DataStatsApplication.class})
+public class TestTx {
+
+    @Autowired
+    private StatsDemoService statsDemoService;
+
+    @Test
+    public void testTx() {
+        statsDemoService.testTx();
+    }
+
+}