Browse Source

图表列筛选BUG修复

chenw 7 years ago
parent
commit
22c1dac65b

+ 2 - 2
bi-server/src/main/java/com/usoftchina/bi/server/dao/chart/ShowChartsMapper.java

@@ -174,7 +174,7 @@ public interface ShowChartsMapper {
     /*
     查询筛选列信息
      */
-    @Select("select * from (select distinct ${columnName} from ${tableName} )where rownum <= 20")
-    List<Object> getScreenData(@Param("columnName") String columnName, @Param("tableName") String tableName);
+    @Select("select * from (select distinct ${columnName} from ${tableName} )where ${columnName} like '%'||#{keyword,jdbcType=VARCHAR}||'%' and rownum <= 20")
+    List<Object> getScreenData(@Param("columnName") String columnName, @Param("tableName") String tableName, @Param("keyword") String keyword);
 
 }

+ 9 - 0
bi-server/src/main/java/com/usoftchina/bi/server/model/vo/configVo/ColumnScreenInfo.java

@@ -3,6 +3,15 @@ package com.usoftchina.bi.server.model.vo.configVo;
 public class ColumnScreenInfo {
     private int id;
     private String columnName;
+    private String keyword;
+
+    public String getKeyword() {
+        return keyword;
+    }
+
+    public void setKeyword(String keyword) {
+        this.keyword = keyword;
+    }
 
     public int getId() {
         return id;

+ 2 - 2
bi-server/src/main/java/com/usoftchina/bi/server/service/dataSource/ColumnScreenService.java

@@ -50,7 +50,7 @@ public class ColumnScreenService {
                 logger.info("使用数据源:{}", String.valueOf(baseId));
                 DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
             }
-            data =  showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName);
+            data =  showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName, columnScreenInfo.getKeyword());
         }catch (Exception e){
             e.printStackTrace();
             logger.error("异常");
@@ -87,7 +87,7 @@ public class ColumnScreenService {
                 logger.info("使用数据源:{}", String.valueOf(baseId));
                 DynamicDataSourceContextHolder.setDataSourceType(String.valueOf(baseId));
             }
-            data =  showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName);
+            data =  showChartsMapper.getScreenData(columnScreenInfo.getColumnName(), tableName, columnScreenInfo.getKeyword());
         }catch (Exception e){
             e.printStackTrace();
             logger.error("异常");