|  | @@ -90,9 +90,11 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<SysOrg> existOrgList = existAllOrgResult.getData();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        List<FjnxOrg> existFjnxOrgList = ifjnxOrgService.list();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          //将FJNXUser 转换为SysUser 并保存
 | 
	
		
			
				|  |  |          if (ObjectUtil.isEmpty(existUserList)) {
 | 
	
		
			
				|  |  | -            final R<Boolean> booleanR = remoteUserService.batchSaveSyncUser(FjnxUsersConvertToUsers(fjnxXmlUserDto.getUserVos(), existOrgList), SecurityConstants.INNER);
 | 
	
		
			
				|  |  | +            final R<Boolean> booleanR = remoteUserService.batchSaveSyncUser(FjnxUsersConvertToUsers(fjnxXmlUserDto.getUserVos(), existOrgList,existFjnxOrgList), SecurityConstants.INNER);
 | 
	
		
			
				|  |  |              if (booleanR != null && booleanR.getCode() != 200) {
 | 
	
		
			
				|  |  |                  log.error("调用远程服务接口remoteUserService.batchSaveSyncOrg 失败:{}", booleanR.getMsg());
 | 
	
		
			
				|  |  |                  return "remoteUserService.batchSaveSyncUser 调用失败:" + booleanR.getMsg();
 | 
	
	
		
			
				|  | @@ -107,18 +109,27 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |          fjnxXmlUserDto.getUserVos().forEach(fjnxUser -> {
 | 
	
		
			
				|  |  |              String orgCode = fjnxUser.getDepCode();
 | 
	
		
			
				|  |  |              if (!StringUtil.isNullOrEmpty(orgCode) && !StringUtil.isNullOrEmpty(fjnxUser.getUserId())) {
 | 
	
		
			
				|  |  | +                fjnxUserCodeList.add(fjnxUser.getUserId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  Optional<SysOrg> optionalOrg = existOrgList.stream().filter(x -> orgCode.equals(x.getCode())).findFirst();
 | 
	
		
			
				|  |  | -                if (optionalOrg.isPresent()) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                SysOrg userBusinessSysOrg= getUserBusinessFjnxOrg(existFjnxOrgList,existOrgList,fjnxUser);
 | 
	
		
			
				|  |  | +                if (optionalOrg.isPresent() && ObjectUtil.isNotEmpty(userBusinessSysOrg)) {
 | 
	
		
			
				|  |  | +//                    final Optional<SysOrg> businessSysOrgOptional = existOrgList.stream().filter(x -> userBusinessFjnxOrg.getOrgCode().equals(x.getCode())).findFirst();
 | 
	
		
			
				|  |  | +//                    if(!businessSysOrgOptional.isPresent())
 | 
	
		
			
				|  |  | +//                    {
 | 
	
		
			
				|  |  | +//                        return;
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  |                      Optional<SysUser> optionalUser = existUserList.stream().filter(x -> fjnxUser.getUserId().equals(x.getCode())).findFirst();
 | 
	
		
			
				|  |  |                      if (optionalUser.isPresent()) {
 | 
	
		
			
				|  |  | -                        updateList.add(FjnxUserConvertToUser(fjnxUser, optionalUser.get(), optionalOrg.get()));
 | 
	
		
			
				|  |  | +                        updateList.add(FjnxUserConvertToUser(fjnxUser, optionalUser.get(), optionalOrg.get(),userBusinessSysOrg));
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  | -                        addList.add(FjnxUserConvertToUser(fjnxUser, optionalOrg.get()));
 | 
	
		
			
				|  |  | +                        addList.add(FjnxUserConvertToUser(fjnxUser, optionalOrg.get(),userBusinessSysOrg));
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      log.error("同步人员【{}】所属机构编码【{}】在当前数据库中未找到,{}", fjnxUser.getUserId() + fjnxUser.getUserName(), fjnxUser.getDepCode(), fjnxUser);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | -                fjnxUserCodeList.add(fjnxUser.getUserId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -512,13 +523,14 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private List<SysUser> FjnxUsersConvertToUsers(List<FJNXUserDto> fjnxUserDtoList, List<SysOrg> orgList) {
 | 
	
		
			
				|  |  | +    private List<SysUser> FjnxUsersConvertToUsers(List<FJNXUserDto> fjnxUserDtoList, List<SysOrg> orgList,List<FjnxOrg> fjnxOrgList) {
 | 
	
		
			
				|  |  |          List<SysUser> result = new ArrayList<>();
 | 
	
		
			
				|  |  |          if (ObjectUtil.isNotEmpty(fjnxUserDtoList)) {
 | 
	
		
			
				|  |  |              fjnxUserDtoList.forEach(x -> {
 | 
	
		
			
				|  |  | +                SysOrg userBusinessSysOrg= getUserBusinessFjnxOrg(fjnxOrgList,orgList,x);
 | 
	
		
			
				|  |  |                  Optional<SysOrg> optionalOrg = orgList.stream().filter(org -> org.getCode().equals(x.getDepCode())).findFirst();
 | 
	
		
			
				|  |  | -                if (optionalOrg.isPresent()) {
 | 
	
		
			
				|  |  | -                    result.add(FjnxUserConvertToUser(x, optionalOrg.get()));
 | 
	
		
			
				|  |  | +                if (optionalOrg.isPresent() && ObjectUtil.isNotEmpty(userBusinessSysOrg)) {
 | 
	
		
			
				|  |  | +                    result.add(FjnxUserConvertToUser(x, optionalOrg.get(),userBusinessSysOrg));
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      log.error("同步人员【{}】所属机构编码【{}】在当前数据库中未找到,{}", x.getUserId() + x.getUserName(), x.getDepCode(), x);
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -528,7 +540,7 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private SysUser FjnxUserConvertToUser(FJNXUserDto fjnxUserDto, SysOrg org) {
 | 
	
		
			
				|  |  | +    private SysUser FjnxUserConvertToUser(FJNXUserDto fjnxUserDto, SysOrg org,SysOrg businessOrg) {
 | 
	
		
			
				|  |  |          SysUser user = new SysUser();
 | 
	
		
			
				|  |  |          user.setCode(fjnxUserDto.getUserId());
 | 
	
		
			
				|  |  |          user.setName(fjnxUserDto.getUserName());
 | 
	
	
		
			
				|  | @@ -539,9 +551,9 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |          user.setJobNumber(fjnxUserDto.getTeller());
 | 
	
		
			
				|  |  |  //        user.setApproveStatus(ApproveStatus.PASS);
 | 
	
		
			
				|  |  |          user.setUpdateTime(fjnxUserDto.getUpdateTime());
 | 
	
		
			
				|  |  | -        user.setOrgId(org.getId());
 | 
	
		
			
				|  |  | -        user.setOrgName(org.getName());
 | 
	
		
			
				|  |  | -        user.setOrgPath(org.getPath());
 | 
	
		
			
				|  |  | +        user.setOrgId(businessOrg.getId());
 | 
	
		
			
				|  |  | +        user.setOrgName(businessOrg.getName());
 | 
	
		
			
				|  |  | +        user.setOrgPath(businessOrg.getPath());
 | 
	
		
			
				|  |  |          //0 禁用 1 启用已改密码 2 启用未改密码
 | 
	
		
			
				|  |  |          user.setIsLock(fjnxUserDto.getUserStatus());
 | 
	
		
			
				|  |  |          user.setSource(1);
 | 
	
	
		
			
				|  | @@ -551,7 +563,7 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private SysUser FjnxUserConvertToUser(FJNXUserDto fjnxUserDto, SysUser user, SysOrg org) {
 | 
	
		
			
				|  |  | +    private SysUser FjnxUserConvertToUser(FJNXUserDto fjnxUserDto, SysUser user, SysOrg org,SysOrg businessOrg) {
 | 
	
		
			
				|  |  |          user.setCode(fjnxUserDto.getUserId());
 | 
	
		
			
				|  |  |          user.setName(fjnxUserDto.getUserName());
 | 
	
		
			
				|  |  |          user.setUsername(fjnxUserDto.getLoginName());
 | 
	
	
		
			
				|  | @@ -573,6 +585,44 @@ public class FJNXSyncServiceImpl implements IFJNXSyncService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 获取用户的业务机构
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    private SysOrg getUserBusinessFjnxOrg(List<FjnxOrg> fjnxOrgList,List<SysOrg> existOrgList,FJNXUserDto fjnxUserDto){
 | 
	
		
			
				|  |  | +        final Optional<FjnxOrg> fjnxOrgOptional = fjnxOrgList.stream().filter(x -> x.getOrgCode().equals(fjnxUserDto.getDepCode())).findFirst();
 | 
	
		
			
				|  |  | +        if(fjnxOrgOptional.isPresent())
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +           if("0001".equals(fjnxOrgOptional.get().getOrgType()))
 | 
	
		
			
				|  |  | +           {
 | 
	
		
			
				|  |  | +               final Optional<FjnxOrg> corporCodeOptional = fjnxOrgList.stream().filter(x -> x.getOrgCode().equals(fjnxUserDto.getCorporCode())).findFirst();
 | 
	
		
			
				|  |  | +               if(corporCodeOptional.isPresent())
 | 
	
		
			
				|  |  | +               {
 | 
	
		
			
				|  |  | +                   return getSysOrgByFjnxOrg(existOrgList, corporCodeOptional.get());
 | 
	
		
			
				|  |  | +               }else {
 | 
	
		
			
				|  |  | +                   log.error("同步人员【{}】所属法人机构编码【{}】在当前fjnx_org中未找到对应法人机构,{}", fjnxUserDto.getUserId() + fjnxUserDto.getUserName(), fjnxUserDto.getCorporCode(), fjnxUserDto);
 | 
	
		
			
				|  |  | +               }
 | 
	
		
			
				|  |  | +           }
 | 
	
		
			
				|  |  | +           else {
 | 
	
		
			
				|  |  | +               return getSysOrgByFjnxOrg(existOrgList,fjnxOrgOptional.get());
 | 
	
		
			
				|  |  | +//               return fjnxOrgOptional.get();
 | 
	
		
			
				|  |  | +           }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else {
 | 
	
		
			
				|  |  | +            log.error("同步人员【{}】所属机构编码【{}】在当前fjnx_org中未找到对应机构,{}", fjnxUserDto.getUserId() + fjnxUserDto.getUserName(), fjnxUserDto.getDepCode(), fjnxUserDto);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return  null;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private SysOrg getSysOrgByFjnxOrg(List<SysOrg> existOrgList,FjnxOrg fjnxOrg)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        final Optional<SysOrg> businessSysOrgOptional = existOrgList.stream().filter(x -> fjnxOrg.getOrgCode().equals(x.getCode())).findFirst();
 | 
	
		
			
				|  |  | +        if(businessSysOrgOptional.isPresent())
 | 
	
		
			
				|  |  | +            return  businessSysOrgOptional.get();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return null;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      private List<FjnxOrg> ConvertXmlOrgDtoToOrgJinx(List<FJNXOrgDto> list) {
 | 
	
		
			
				|  |  |          if (ObjectUtil.isEmpty(list)) {
 | 
	
		
			
				|  |  |              return new ArrayList<>();
 |