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<BaseFactoryUserMapper, BaseFactoryUser> implements IBaseFactoryUserService {
|
@Autowired
|
private IBaseFactoryService iBaseFactoryService;
|
|
/**
|
* 根据指定用户id查询产线信息
|
*/
|
@Override
|
public List<EamBaseFactoryIdModel> queryEamBaseFactoryIdsOfUser(String userId){
|
LambdaQueryWrapper<BaseFactoryUser> queryUserRepDep = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BaseFactory> queryRepDep = new LambdaQueryWrapper<>();
|
try {
|
queryUserRepDep.eq(BaseFactoryUser::getUserId, userId);
|
List<String> repRepDepIdList = new ArrayList<>();
|
List<EamBaseFactoryIdModel> repDepIdModelList = new ArrayList<>();
|
List<BaseFactoryUser> userRepDepList = this.list(queryUserRepDep);
|
if (userRepDepList != null && !userRepDepList.isEmpty()) {
|
for (BaseFactoryUser BaseFactoryUser : userRepDepList) {
|
repRepDepIdList.add(BaseFactoryUser.getFactoryId());
|
}
|
queryRepDep.in(BaseFactory::getId, repRepDepIdList);
|
List<BaseFactory> 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<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);
|
}
|
}
|
}
|
}
|