package org.jeecg.modules.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.mapper.BaseFactoryUserMapper; import org.jeecg.modules.system.model.EamBaseFactoryIdModel; import org.jeecg.modules.system.model.EamBaseFactoryIdModel; import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.IBaseFactoryUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.ArrayList; import java.util.List; /** * @Description: 设备车间管理与用户 * @Author: jeecg-boot * @Date: 2025-06-30 * @Version: V1.0 */ @Service public class BaseFactoryUserServiceImpl extends ServiceImpl implements IBaseFactoryUserService { @Autowired private IBaseFactoryService iBaseFactoryService; /** * 根据指定用户id查询产线信息 */ @Override public List queryEamBaseFactoryIdsOfUser(String userId){ LambdaQueryWrapper queryUserRepDep = new LambdaQueryWrapper<>(); LambdaQueryWrapper queryRepDep = new LambdaQueryWrapper<>(); try { queryUserRepDep.eq(BaseFactoryUser::getUserId, userId); List repRepDepIdList = new ArrayList<>(); List repDepIdModelList = new ArrayList<>(); List userRepDepList = this.list(queryUserRepDep); if (userRepDepList != null && !userRepDepList.isEmpty()) { for (BaseFactoryUser BaseFactoryUser : userRepDepList) { repRepDepIdList.add(BaseFactoryUser.getFactoryId()); } queryRepDep.in(BaseFactory::getId, repRepDepIdList); List repDepList = iBaseFactoryService.list(queryRepDep); if (repDepList != null && !repDepList.isEmpty()) { for (BaseFactory BaseFactory : repDepList) { repDepIdModelList.add(new EamBaseFactoryIdModel().convertByUserProduction(BaseFactory)); } } return repDepIdModelList; } } catch (Exception e) { e.fillInStackTrace(); } return null; } /** * 根据指定用户id查询EAM中心信息 */ @Override public List queryEamCenterIdsByUserId(String userId){ LambdaQueryWrapper 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 baseFactoryUsers=this.list(factoryUserLambdaQueryWrapper); List 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 eamCenterIds=this.queryEamCenterIdsByUserId(userId); if (eamCenterIds != null && !eamCenterIds.isEmpty()) { for (String eamCenterId : eamCenterIds) { this.remove(new LambdaQueryWrapper().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); } } } }