Browse Source

Merge branch 'feature-refactor' of ssh://10.10.100.21/source/platform-bi-server into feature-refactor

zhuth 6 years ago
parent
commit
b79e8ffa96

+ 3 - 3
bi-server/src/main/java/com/usoftchina/bi/server/dao/user/UserPowerMapper.java

@@ -46,13 +46,13 @@ public interface UserPowerMapper {
 
     @Select(  "<script>"
             + "SELECT ID id,BD_NAME dashboardName,CASE NVL(BPU_ID, '1') WHEN 1 THEN 0 ELSE 1 END checked "
-            + "FROM BI_DASHBOARDS LEFT JOIN BI_POWER_USERS ON BPU_DASHBOARDID = ID WHERE CREATE_ID = #{userId, jdbcType=INTEGER} "
+            + "FROM BI_DASHBOARDS LEFT JOIN BI_POWER_USERS ON BPU_DASHBOARDID = ID WHERE "
             + "<choose>"
             +   "<if test=\"type == 0\">"
-            +       " AND BPU_USERGROUPID = #{id,jdbcType=INTEGER}"
+            +       " BPU_USERGROUPID = #{id,jdbcType=INTEGER}"
             +    "</if>"
             +   "<otherwise>"
-            +       " AND BPU_USERID = #{id,jdbcType=INTEGER}"
+            +       " BPU_USERID = #{id,jdbcType=INTEGER}"
             +   "</otherwise>"
             + "</choose>"
             + "</script>")

+ 7 - 7
bi-server/src/main/java/com/usoftchina/bi/server/service/chart/ShowPopulationService.java

@@ -114,7 +114,7 @@ public class ShowPopulationService {
         }else {
             String listOne = groupByList.get(0);
 
-            Iterator operatorsList = operators.iterator();
+            Iterator<String> operatorsList = operators.iterator();
             //获取常规运算列
             List<String> operatorColumn = new ArrayList<>();
             //获取25th,75th算符
@@ -122,16 +122,16 @@ public class ShowPopulationService {
 
             String next = null;
             while (operatorsList.hasNext()){
-                next = String.valueOf(operatorsList.next()).toLowerCase();
+                next = operatorsList.next();
 
                 //计算25th,75th,和百分比
-                if (next.toUpperCase() == "PERCENT" || "PERCENT".equals(next.toUpperCase())){
-                    String op = "count(" + columnName + ")/(select count(1) from " + tableName + ") "+ next;
+                if ("PERCENT".equalsIgnoreCase(next)){
+                    String op = "count(" + columnName + ")/(select count(1) from " + tableName + ") \""+ next + "\"";
                     operatorColumn.add(op);
-                }else if ("25th".equals(next) || "75th".equals(next)){
-                    operatorOther.add(next);
+                }else if ("25th".equalsIgnoreCase(next) || "75th".equalsIgnoreCase(next)){
+                    operatorOther.add("\"" + next + "\"");
                 }else {
-                    String op = next + "(" + columnName + ") as " + next.toLowerCase();
+                    String op = next + "(" + columnName + ") as \"" + next + "\"";
                     operatorColumn.add(op);
                 }
             }

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

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.type.CollectionType;
 import com.usoftchina.bi.core.base.*;
 import com.usoftchina.bi.core.exception.MyException;
+import com.usoftchina.bi.core.jdbc.DynamicDataSourceContextHolder;
 import com.usoftchina.bi.core.utils.CollectionUtils;
 import com.usoftchina.bi.core.utils.EncryUtil;
 import com.usoftchina.bi.server.dao.chart.ChartsConfigMapper;
@@ -451,7 +452,9 @@ public class DashboardsService {
                 String tableName = dataConnector.getLoadObject();
                 List<Screen> screenList = dataInfo.getFilter();
                 String condition = parseFilter(screenList);
+                DynamicDataSourceContextHolder.setDataSourceType(dataConnector.getDbConfig().getId());
                 List<Map<String, Object>> dataList = dataConnectorMapper.getExportData(tableName, condition);
+                DynamicDataSourceContextHolder.clearDataSourceType();
                 List<ColumnRenameInfo> columnRenameInfo = JSON.parseArray(dataConnector.getColumnConfig(), ColumnRenameInfo.class);
                 createExcelSheet(workbook, dataConnector.getDataName(), dataList, columnRenameInfo);
             }

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

@@ -49,7 +49,7 @@ public class DashboardsToChartsUtilService {
     private UserService userService;
 
     public RepEntity getChartsInDash(ChartsToDashInfo chartsToDashInfo, String token) throws SQLException {
-        if (StringUtils.isEmpty(token)) {
+        if (StringUtils.isEmpty(token) || "null".equals(token)) {
             User user = userService.getUserById(chartsToDashInfo.getDashboardCreatorId()).getData();
             LoginInfo loginInfo = new LoginInfo(user.getUserName(), EncryUtil.decryptPassword(user.getPassWord()));
             token = userService.login(loginInfo).getData().getToken();