Pārlūkot izejas kodu

BI同步bug修改

hy 6 gadi atpakaļ
vecāks
revīzija
507db3cb79

+ 6 - 0
bi-server/src/main/java/com/usoftchina/bi/server/dao/chart/ChartsConfigMapper.java

@@ -160,6 +160,12 @@ public interface ChartsConfigMapper {
     @Update("update bi_charts set create_by = #{name}, create_id = #{createId} where id = #{baseId}")
     void changeChartOrder(@Param("name") String name, @Param("createId") int userId, @Param("baseId") int baseId);
 
+    /*
+    更新FetchConfig
+     */
+    @Update("update bi_charts set BC_FETCHCONFIG = #{fetch} where id = #{id}")
+    void updateChartFetchConfig(@Param("fetch") String fetch, @Param("id") int id);
+
     /*
     更新图表分组
      */

+ 5 - 0
bi-server/src/main/java/com/usoftchina/bi/server/service/dashboard/DashboardsService.java

@@ -356,10 +356,15 @@ public class DashboardsService {
                 chartConfig.setChartName(chartConfig.getChartName() + dashboardCopyInfo.getLastName());
                 chartConfig.setCreateBy(userName);
                 chartConfig.setCreateId(userId);
+                String oldFetchConfig = chartConfig.getFetchConfig();
                 int dataId = dataConnectorService.copyDataSource(token, new DataSourceCopyInfo(chartConfig.getDataId(), dataSourceId ,dashboardCopyInfo.getLastName())).getData();
                 chartConfig.setDataId(dataId);
                 chartsConfigMapper.insertCharts(chartConfig);
                 int newChartId = chartConfig.getChartId();
+                //新ID更新到FetchConfig
+                JSONArray jsonArray = JSONObject.parseArray("["+oldFetchConfig+"]");
+                jsonArray.getJSONObject(0).put("id",newChartId);
+                chartsConfigMapper.updateChartFetchConfig(JSONObject.toJSONString(jsonArray.getJSONObject(0)),newChartId);
                 idMap.put(String.valueOf(oldChartId), String.valueOf(newChartId));
                 idList.add(String.valueOf(newChartId));
             }

+ 2 - 0
bi-server/src/main/java/com/usoftchina/bi/server/service/dashboard/DashboardsToChartsUtilService.java

@@ -1,5 +1,6 @@
 package com.usoftchina.bi.server.service.dashboard;
 
+import com.alibaba.fastjson.JSONObject;
 import com.usoftchina.bi.core.utils.EncryUtil;
 import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -72,6 +73,7 @@ public class DashboardsToChartsUtilService {
         if (fetchConfig == null || "".equals(fetchConfig)){
             return new RepEntity(RepCode.Null);
         }
+        JSONObject.parseArray("["+fetchConfig+"]").get(0);
         //判断图表类型
         List<Screen> filters = chartsToDashInfo.getFilters();
         if ("Pie".equals(chartType)){

+ 1 - 1
bi-server/src/main/java/com/usoftchina/bi/server/service/dataSource/DataBasesService.java

@@ -241,7 +241,7 @@ public class DataBasesService {
 
             Set<Object> dataSourceIds = DynamicDataSourceContextHolder.getDataSourceIds();
 
-            dataSourceIds.add(String.valueOf(databasesInfo.getId()));
+            dataSourceIds.add(databasesInfo.getId());
 
             DynamicDataSourceContextHolder.setDataSourceIds(dataSourceIds);
         }