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
954e34ca40

+ 3 - 3
bi-core/src/main/java/com/usoftchina/bi/core/base/BaseContextHolder.java

@@ -35,7 +35,7 @@ public class BaseContextHolder {
         return Integer.valueOf(String.valueOf(value));
     }
 
-    public static synchronized void setUserId(int userId) {
+    public static void setUserId(int userId) {
         set("userId", userId);
     }
 
@@ -44,7 +44,7 @@ public class BaseContextHolder {
         return String.valueOf(value);
     }
 
-    public static synchronized void setUserName(String userName) {
+    public static void setUserName(String userName) {
         set("userName", userName);
     }
 
@@ -53,7 +53,7 @@ public class BaseContextHolder {
         return String.valueOf(value);
     }
 
-    public static synchronized void setRole(String role){
+    public static void setRole(String role){
         set("role", role);
     }
 }

+ 13 - 3
bi-server/src/main/java/com/usoftchina/bi/server/aspect/JwtTokenAspect.java

@@ -21,6 +21,8 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 @Aspect
 @Component
@@ -92,9 +94,17 @@ public class JwtTokenAspect {
         } catch (MyException e) {
             throw new MyException(-505, "token过期");
         }
-        BaseContextHolder.setUserId(Integer.valueOf(jwt.getClaim("id").asString()));
-        BaseContextHolder.setUserName(jwt.getClaim("name").asString());
-        BaseContextHolder.setRole(jwt.getClaim("role").asString());
+
+        Lock lock = new ReentrantLock();
+        lock.lock();
+        try {
+            BaseContextHolder.setUserId(Integer.valueOf(jwt.getClaim("id").asString()));
+            BaseContextHolder.setUserName(jwt.getClaim("name").asString());
+            BaseContextHolder.setRole(jwt.getClaim("role").asString());
+        } finally {
+            lock.unlock();
+        }
+
         return jwt.getClaims();
     }
 }

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

@@ -42,7 +42,7 @@ public interface ChartsConfigMapper {
     @Select("select DATA_NAME as name from BI_DATA_CONNECTORS where id = #{id}")
     String getDataNameById(int id);
 
-    @Select("select BD_DATA_ID from BI_CHARTS where FROM_DATA_ID = #{bd_data_id}")
+    @Select("select distinct BD_DATA_ID from BI_CHARTS where FROM_DATA_ID = #{bd_data_id}")
     Integer getDataConnectId(@Param("bd_data_id") int id);
 
     /*

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

@@ -58,7 +58,7 @@ public interface UASMapper {
     @Select({ "SELECT DASHBOARD_ID dashboardId, " +
             "  ID dataSourceId, " +
             "  '_副本' lastName, " +
-            "  BD_CODE newCode " +
+            "  substr(BD_CODE,0,instr(BD_CODE, '_', 1, 2))||#{to} newCode " +
             "FROM " +
             "  (SELECT MAX(BD_CODE) BD_CODE, " +
             "    DASHBOARD_ID, " +
@@ -83,7 +83,7 @@ public interface UASMapper {
             "  ) x " +
             "WHERE X.USER_NAME = #{from} " +
             "AND REGEXP_LIKE (NVL(BD_CODE,' '), '([[:alnum:]]+_){2}')" })
-    List<DashboardCopyInfo> getFromSobDashboard(@Param("from") String from);
+    List<DashboardCopyInfo> getFromSobDashboard(@Param("from") String from,@Param("to") String to);
 
     /**
      * 查询数据链接

+ 7 - 7
bi-server/src/main/java/com/usoftchina/bi/server/dao/user/UserMapper.java

@@ -36,7 +36,7 @@ public interface UserMapper {
      * 查询UAS的人员资料表数据
      * @return
      */
-    @Select("SELECT EM_ID as id,EM_DEFAULTHSNAME as department, EM_TYPE role, EM_DEPART as post, EM_NAME as name, EM_PASSWORD as passWord, "
+    @Select("SELECT EM_ID as id,EM_DEFAULTHSNAME as post, EM_TYPE role, EM_DEPART as department, EM_NAME as name, EM_PASSWORD as passWord, "
             + "EM_MOBILE as phone, EM_CODE as userName,EM_CLASS AS state FROM EMPLOYEE")
     List<User> getUASEmployee();
 
@@ -129,7 +129,7 @@ public interface UserMapper {
      */
     @Select("SELECT BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
             " USER_NAME as userName, PASS_WORD as passWord, BU_PHONE as phone, BU_CLASS as state " +
-            "FROM BI_USERS WHERE USER_NAME = #{userName} AND BU_CLASS <> '离职'")
+            "FROM BI_USERS WHERE USER_NAME = #{userName} AND NVL(BU_CLASS,' ') <> '离职'")
     User getBIUserByName(@Param("userName") String userName);
 
     /**
@@ -139,7 +139,7 @@ public interface UserMapper {
      */
     @Select("SELECT BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
             " USER_NAME as userName, PASS_WORD as passWord, BU_PHONE as phone, BU_CLASS as state " +
-            "FROM BI_USERS WHERE BU_PHONE = #{mobile} AND BU_CLASS <> '离职'")
+            "FROM BI_USERS WHERE BU_PHONE = #{mobile} AND NVL(BU_CLASS,' ') <> '离职'")
     User getBIUserByMobile(@Param("mobile") String mobile);
 
     /*
@@ -159,7 +159,7 @@ public interface UserMapper {
      */
     @Select("select BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
             "user_name as userName, pass_word as passWord, create_date as createDate " +
-            "from bi_users WHERE BU_CLASS <> '离职' AND BU_ROLE <> 'superAdmin'")
+            "from bi_users WHERE NVL(BU_CLASS,' ') <> '离职' AND BU_ROLE <> 'superAdmin'")
     List<User> getUserList();
 
     @Select("select BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role," +
@@ -171,7 +171,7 @@ public interface UserMapper {
     匹配用户20个
      */
     @Select("select BU_ID as id, BU_NAME as name, BU_DEPARTMENT as department, BU_POST as post, BU_ROLE as role " +
-            "from bi_users where bu_name ${condition} AND BU_CLASS <> '离职' AND BU_ROLE <> 'superAdmin' and rownum < #{count, jdbcType=INTEGER}")
+            "from bi_users where bu_name ${condition} AND NVL(BU_CLASS,' ') <> '离职' AND BU_ROLE <> 'superAdmin' and rownum < #{count, jdbcType=INTEGER}")
     List<User> getNameList(@Param("condition") String condition, @Param("count") Long count);
 
     /*
@@ -255,14 +255,14 @@ public interface UserMapper {
      * @return
      */
     @Select("SELECT WM_CONCAT(BU_NAME) FROM BI_USERS WHERE BU_ID IN (${ids})")
-    String getUserByIds(String ids);
+    String getUserByIds(@Param("ids") String ids);
 
     /*
     查询用户组下的用户信息
      */
     @Select("select bu_id as id, bu_name as name, bu_department as department, bu_post as post, bu_role as role " +
             " from bi_users,bi_user_groups,bi_user_rel_groups where bi_users.bu_id=bi_user_rel_groups.br_user_id and " +
-            " bi_user_rel_groups.br_user_group=bi_user_groups.bg_id and bi_user_groups.bg_id = #{id} AND BU_CLASS <> '离职'")
+            " bi_user_rel_groups.br_user_group=bi_user_groups.bg_id and bi_user_groups.bg_id = #{id} AND NVL(BU_CLASS,' ') <> '离职'")
     List<User> getGroupUserList(int id);
 
     /*

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

@@ -79,7 +79,7 @@ public class UASService {
         User user = userMapper.getLogin(syncData.getEmName());
         String token = jwtTokenUtil.createToke(user).getToken();
         //查找所有符合条件的Dashboard
-        List<DashboardCopyInfo> list = uasMapper.getFromSobDashboard(syncData.getFrom());
+        List<DashboardCopyInfo> list = uasMapper.getFromSobDashboard(syncData.getFrom(),syncData.getTo());
         for (  DashboardCopyInfo dashboardCopyInfo : list) {
             dashboardCopyInfo.setLastName("_" + syncData.getToName());
             dashboardCopyInfo.setDataSourceId(Integer.valueOf(to_basedata_id));
@@ -87,7 +87,7 @@ public class UASService {
             dashboardsService.copy(token,dashboardCopyInfo);
         }
         //更新标准的旧报表编号账套后缀
-        uasMapper.sp_sync(syncData.getTo(),"");
+        //uasMapper.sp_sync(syncData.getTo(),"");
         return "true";
     }
 }

+ 1 - 1
bi-server/src/main/java/com/usoftchina/bi/server/service/user/SynchronizeEmpInfo.java

@@ -30,7 +30,7 @@ public class SynchronizeEmpInfo {
                        + "WHEN MATCHED THEN "
                        + "  UPDATE  SET TARGETTABLE.BU_CLASS = SOURCETABLE.EM_CLASS, TARGETTABLE.PASS_WORD = SOURCETABLE.EM_PASSWORD "
                        + "WHEN NOT MATCHED THEN"
-                       + "  INSERT (BU_ID,BU_NAME,BU_DEPARTMENT,BU_POST,BU_USER_GROUP,USER_NAME,PASS_WORD,BU_ROLE,CREATE_DATE,UPDATA_DATE,USER_TOKEN,BU_PHONE,BU_CLASS) "
+                       + "  INSERT (BU_ID,BU_NAME,BU_POST,BU_DEPARTMENT,BU_USER_GROUP,USER_NAME,PASS_WORD,BU_ROLE,CREATE_DATE,UPDATA_DATE,USER_TOKEN,BU_PHONE,BU_CLASS) "
                        + "  VALUES (SOURCETABLE.EM_ID,SOURCETABLE.EM_NAME,SOURCETABLE.EM_DEFAULTHSNAME,SOURCETABLE.EM_DEPART,NULL,SOURCETABLE.EM_CODE,SOURCETABLE.EM_PASSWORD,SOURCETABLE.EM_TYPE,SYSDATE,NULL,NULL,SOURCETABLE.EM_MOBILE,SOURCETABLE.EM_CLASS)";
 
     @Scheduled(cron = "0 0 1 * * ?")