lyh
2025-07-09 fa2ea8ba96fe9b52814fcd55f5cebf2b5ce43f9d
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryUserServiceImpl.java
@@ -58,4 +58,47 @@
        }
        return null;
    }
    /**
     * 根据指定用户id查询EAM中心信息
     */
    @Override
    public List<String> queryEamCenterIdsByUserId(String userId){
        LambdaQueryWrapper<BaseFactoryUser> factoryUserLambdaQueryWrapper=new LambdaQueryWrapper<>();
        factoryUserLambdaQueryWrapper.eq(BaseFactoryUser::getUserId, userId);
        factoryUserLambdaQueryWrapper.exists("select 1 from eam_base_factory b where b.id=eam_base_factory_user.factory_id and b.del_flag=0");
        List<BaseFactoryUser> baseFactoryUsers=this.list(factoryUserLambdaQueryWrapper);
        List<String> eamCenterIds=new ArrayList<>();
        if(baseFactoryUsers!=null&& !baseFactoryUsers.isEmpty()) {
            for (BaseFactoryUser baseFactoryUser : baseFactoryUsers) {
                eamCenterIds.add(baseFactoryUser.getFactoryId());
            }
        }
        return eamCenterIds;
    }
    /**
     * 添加单个用户与一组中心
     * @param userId
     * @param factoryIds
     */
    @Override
    public void addUserFactory(String userId, String factoryIds){
        if (factoryIds.contains(",")){
            //先查询
            List<String> eamCenterIds=this.queryEamCenterIdsByUserId(userId);
            if (eamCenterIds != null && !eamCenterIds.isEmpty()) {
                for (String eamCenterId : eamCenterIds) {
                    this.remove(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, userId).eq(BaseFactoryUser::getFactoryId, eamCenterId));
                }
            }
            String [] factoryIdArray=factoryIds.split(",");
            for(String factoryId:factoryIdArray){
                BaseFactoryUser baseFactoryUser=new BaseFactoryUser();
                baseFactoryUser.setUserId(userId);
                baseFactoryUser.setFactoryId(factoryId);
                this.save(baseFactoryUser);
            }
        }
    }
}