Browse Source

修改 是否负责人

zhuwei 2 years ago
parent
commit
fba22dcdab

+ 0 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -188,7 +188,6 @@ public class UserController {
     @ApiOperation(value = "修改", notes = "传入User")
     public R update(@Valid @RequestBody UserDTO user) {
         CacheUtil.clear(USER_CACHE);
-        // 内控系统拆分
         return R.status(userService.updateUser(user));
     }
 

+ 22 - 2
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -121,8 +121,16 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         }
 
         // 内控修改  当为部门负责人不为空时 执行
-        if (StringUtil.isBlank(user.getIsLeader())){
-            // 由于一个部门只有一个负责人  只能
+        if (StringUtil.isNotBlank(user.getIsLeader())){
+            // 由于一个部门只有一个负责人  需要修改 之前的部门负责人
+            String [] leader = Func.toStrArray(user.getIsLeader());
+            for (String deptId : leader){
+                String reData = deptId+",";
+                String eqSql = "update blade_user set is_leader = null where  is_leader='"+deptId+"' ";
+                String fiSql = "update blade_user set is_leader = REPLACE(is_leader,"+reData+",'') where  FIND_IN_SET('"+deptId+"',is_leader) ";
+                jdbcTemplate.execute(eqSql);
+                jdbcTemplate.execute(fiSql);
+            }
         }
 
         return save(user) && submitUserDept(user);
@@ -224,6 +232,18 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         if (userCount > 0L) {
             throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
         }
+        // 内控修改  当为部门负责人不为空时 执行
+        if (StringUtil.isNotBlank(user.getIsLeader())){
+            // 由于一个部门只有一个负责人  需要修改 之前的部门负责人
+            String [] leader = Func.toStrArray(user.getIsLeader());
+            for (String deptId : leader){
+                String reData = deptId+",";
+                String eqSql = "update blade_user set is_leader = REPLACE(is_leader,'"+deptId+"','') where  FIND_IN_SET('"+deptId+"',is_leader) ";
+                String fiSql = "update blade_user set is_leader = REPLACE(is_leader,'"+reData+"','') where  FIND_IN_SET('"+deptId+"',is_leader) ";
+                jdbcTemplate.execute(fiSql);
+                jdbcTemplate.execute(eqSql);
+            }
+        }
         return updateUserInfo(user) && submitUserDept(user);
     }