hy %!s(int64=6) %!d(string=hai) anos
pai
achega
9bfc9e979b

+ 28 - 9
bi-server/src/main/java/com/usoftchina/bi/server/dao/common/UASMapper.java

@@ -55,15 +55,34 @@ public interface UASMapper {
     void insertDataBase(@Param("name") String name ,@Param("sob") String sob ,@Param("mainid") int mainid);
 
     //获取所有单个数据链接的报表 且编号符合  xxxx_xxxx_账套str
-    @Select({ "select DASHBOARD_ID dashboardId,ID dataSourceId,'_副本' lastName,BD_CODE newCode  from (select MAX(BD_CODE) BD_CODE,DASHBOARD_ID,count(*),max(BI_DATABASES.id) id,max(BI_DATABASES.USER_NAME) USER_NAME " +
-            "from BI_DATABASES " +
-            "left join BI_DATA_CONNECTORS on DB_CONFIG = BI_DATABASES.id  " +
-            "left join BI_CHARTS on BI_CHARTS.BD_DATA_ID = BI_DATA_CONNECTORS.ID " +
-            "left join BI_DASHBOARDS_CHART on BI_DASHBOARDS_CHART.CHART_ID = BI_CHARTS.id " +
-            "LEFT JOIN BI_DASHBOARDS ON BI_DASHBOARDS.ID = BI_DASHBOARDS_CHART.DASHBOARD_ID " +
-            "group by DASHBOARD_ID " +
-            "having count(*)=1) x " +
-            "where X.USER_NAME = #{from} AND REGEXP_LIKE (nvl(BD_CODE,' '), '([[:alnum:]]+_){2}')" })
+    @Select({ "SELECT DASHBOARD_ID dashboardId, " +
+            "  ID dataSourceId, " +
+            "  '_副本' lastName, " +
+            "  BD_CODE newCode " +
+            "FROM " +
+            "  (SELECT MAX(BD_CODE) BD_CODE, " +
+            "    DASHBOARD_ID, " +
+            "    COUNT(*), " +
+            "    MAX(id) id, " +
+            "    MAX(USER_NAME) USER_NAME " +
+            "  FROM (SELECT DISTINCT BD_CODE, " +
+            "    DASHBOARD_ID, " +
+            "    BI_DATABASES.id, " +
+            "    BI_DATABASES.USER_NAME " +
+            "  FROM BI_DATABASES " +
+            "  LEFT JOIN BI_DATA_CONNECTORS " +
+            "  ON DB_CONFIG = BI_DATABASES.id " +
+            "  LEFT JOIN BI_CHARTS " +
+            "  ON BI_CHARTS.BD_DATA_ID = BI_DATA_CONNECTORS.ID " +
+            "  LEFT JOIN BI_DASHBOARDS_CHART " +
+            "  ON BI_DASHBOARDS_CHART.CHART_ID = BI_CHARTS.id " +
+            "  LEFT JOIN BI_DASHBOARDS " +
+            "  ON BI_DASHBOARDS.ID = BI_DASHBOARDS_CHART.DASHBOARD_ID) " +
+            "  GROUP BY DASHBOARD_ID " +
+            "  HAVING COUNT(*)=1 " +
+            "  ) x " +
+            "WHERE X.USER_NAME = #{from} " +
+            "AND REGEXP_LIKE (NVL(BD_CODE,' '), '([[:alnum:]]+_){2}')" })
     List<DashboardCopyInfo> getFromSobDashboard(@Param("from") String from);
 
     /**

+ 1 - 1
bi-server/src/main/java/com/usoftchina/bi/server/service/common/UASService.java

@@ -45,7 +45,7 @@ public class UASService {
         dataBasesService.addDataSource(databasesInfo);
         //把人员信息重新插入一遍
         //切换到主账套
-        DynamicDataSourceContextHolder.setDataSourceType(BI_DATABASES_ID);
+        DynamicDataSourceContextHolder.setDataSourceType(Integer.valueOf(BI_DATABASES_ID));
         List<User> userList = userMapper.getUASEmployee();
         DynamicDataSourceContextHolder.clearDataSourceType();
         userMapper.batchInsert(userList);