Browse Source

fix. 用户编辑 手机号和姓名同时更改人员档案的

caozixuan 7 months ago
parent
commit
7fe14fb93b

+ 1 - 1
sop-api/src/main/java/com/qmth/sop/server/api/SysUserController.java

@@ -67,7 +67,7 @@ public class SysUserController {
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
         }
-        return ResultUtil.ok(sysUserService.saveUser(sysUser, null));
+        return ResultUtil.ok(sysUserService.saveUser(sysUser, null, true));
     }
     }
 
 
     @ApiOperation(value = "启用/禁用")
     @ApiOperation(value = "启用/禁用")

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/service/SysUserService.java

@@ -102,9 +102,10 @@ public interface SysUserService extends IService<SysUser> {
      *
      *
      * @param sysUser
      * @param sysUser
      * @param requestUser
      * @param requestUser
+     * @param updateArchive 是否要更新档案(用户管理新增编辑要更新档案,从档案触发的不用)
      * @return
      * @return
      */
      */
-    Boolean saveUser(SysUser sysUser, SysUser requestUser);
+    Boolean saveUser(SysUser sysUser, SysUser requestUser , boolean updateArchive);
 
 
     /**
     /**
      * 启用/禁用用户
      * 启用/禁用用户

+ 15 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -67,6 +67,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Resource
     @Resource
     TBUserArchivesAllocationService tbUserArchivesAllocationService;
     TBUserArchivesAllocationService tbUserArchivesAllocationService;
 
 
+
     @Override
     @Override
     public LoginResult login(String password, SysUser sysUser, AppSourceEnum appSource)
     public LoginResult login(String password, SysUser sysUser, AppSourceEnum appSource)
             throws NoSuchAlgorithmException {
             throws NoSuchAlgorithmException {
@@ -326,7 +327,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      */
      */
     @Override
     @Override
     @Transactional
     @Transactional
-    public Boolean saveUser(SysUser sysUser, SysUser requestUser) {
+    public Boolean saveUser(SysUser sysUser, SysUser requestUser, boolean updateArchive) {
         SysUserService sysUserService = SpringContextHolder.getBean(SysUserService.class);
         SysUserService sysUserService = SpringContextHolder.getBean(SysUserService.class);
         try {
         try {
             requestUser = Objects.isNull(requestUser) ? (SysUser) ServletUtil.getRequestUser() : requestUser;
             requestUser = Objects.isNull(requestUser) ? (SysUser) ServletUtil.getRequestUser() : requestUser;
@@ -393,6 +394,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 } else if (Objects.nonNull(dbUser.getOrgId()) && !dbUser.getOrgId().equals(sysUser.getOrgId())) {
                 } else if (Objects.nonNull(dbUser.getOrgId()) && !dbUser.getOrgId().equals(sysUser.getOrgId())) {
                     sysUserService.removeUserInfo(sysUser.getId(), true);
                     sysUserService.removeUserInfo(sysUser.getId(), true);
                 }
                 }
+                //
+                if (updateArchive) {
+                    TBUserArchives dbUserArchives = tbUserArchivesService.getOne(
+                            new QueryWrapper<TBUserArchives>().lambda().eq(TBUserArchives::getMobileNumber, dbUser.getMobileNumber())
+                                    .last(SystemConstant.LIMIT1));
+                    if (Objects.nonNull(dbUserArchives)) {
+                        dbUserArchives.updateInfo(requestUser.getId());
+                        dbUserArchives.setMobileNumber(sysUser.getMobileNumber());
+                        dbUserArchives.setName(sysUser.getRealName());
+                        tbUserArchivesService.updateById(dbUserArchives);
+                    }
+                }
+
                 //如果修改了机构或手机号,需更新用户缓存
                 //如果修改了机构或手机号,需更新用户缓存
                 if (Objects.nonNull(dbUser.getOrgId()) && (
                 if (Objects.nonNull(dbUser.getOrgId()) && (
                         dbUser.getOrgId().longValue() != sysUser.getOrgId().longValue() || !Objects.equals(
                         dbUser.getOrgId().longValue() != sysUser.getOrgId().longValue() || !Objects.equals(

+ 5 - 3
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBUserArchivesServiceImpl.java

@@ -299,14 +299,15 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
                     .filter(e -> !roleTypeList.contains(e.getType())).map(RoleDto::getId).distinct()
                     .filter(e -> !roleTypeList.contains(e.getType())).map(RoleDto::getId).distinct()
                     .collect(Collectors.toList());
                     .collect(Collectors.toList());
             roleIds.addAll(sysRoleIds);
             roleIds.addAll(sysRoleIds);
+        } else {
+            sysUser.setLoginName(mobileNumber);
         }
         }
-        sysUser.setLoginName(mobileNumber);
         sysUser.setRealName(name);
         sysUser.setRealName(name);
         sysUser.setMobileNumber(mobileNumber);
         sysUser.setMobileNumber(mobileNumber);
         sysUser.setGender(gender);
         sysUser.setGender(gender);
         sysUser.setRoleIds(roleIds.stream().distinct().toArray(Long[]::new));
         sysUser.setRoleIds(roleIds.stream().distinct().toArray(Long[]::new));
         sysUser.setSource(UserSourceEnum.ARCHIVES);
         sysUser.setSource(UserSourceEnum.ARCHIVES);
-        sysUserService.saveUser(sysUser, requestUser);
+        sysUserService.saveUser(sysUser, requestUser, false);
         return id;
         return id;
     }
     }
 
 
@@ -655,7 +656,8 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
             result.setMobileNumber(dto.getMobileNumber());
             result.setMobileNumber(dto.getMobileNumber());
             result.setSupplierName(dto.getSupplierName());
             result.setSupplierName(dto.getSupplierName());
             result.setName(dto.getName());
             result.setName(dto.getName());
-            result.setArchivesRoleName(dto.getRoleInfoList().stream().map(RoleResult::getRoleName).collect(Collectors.joining(",")));
+            result.setArchivesRoleName(
+                    dto.getRoleInfoList().stream().map(RoleResult::getRoleName).collect(Collectors.joining(",")));
         } catch (Exception ignored) {
         } catch (Exception ignored) {
 
 
         }
         }