package org.jeecg.modules.mdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.base.entity.Factory; import org.jeecg.modules.base.model.FactoryIdModel; import org.jeecg.modules.base.service.IFactoryService; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.FactoryEquipment; import org.jeecg.modules.mdc.mapper.FactoryEquipmentMapper; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IFactoryEquipmentService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * @author: LiuS * @create: 2023-03-28 10:31 */ @Service public class FactoryEquipmentServiceImpl extends ServiceImpl implements IFactoryEquipmentService { @Resource private IFactoryService mdcFactoryService; @Resource private IMdcEquipmentService mdcEquipmentService; /** * 根据设备id查询产线信息 */ @Override public List queryFactoryIdsOfEquipment(String equipmentId) { LambdaQueryWrapper queryEquipmentFac = new LambdaQueryWrapper<>(); LambdaQueryWrapper queryFac = new LambdaQueryWrapper<>(); try { queryEquipmentFac.eq(FactoryEquipment::getEquipmentId, equipmentId); List facIdList = new ArrayList<>(); List facIdModelList = new ArrayList<>(); List equipmentProList = this.list(queryEquipmentFac); if (equipmentProList != null && !equipmentProList.isEmpty()) { for (FactoryEquipment factoryEquipment : equipmentProList) { facIdList.add(factoryEquipment.getFactoryId()); } queryFac.in(Factory::getId, facIdList); List proList = mdcFactoryService.list(queryFac); if (proList != null && !proList.isEmpty()) { for (Factory mdcFactory : proList) { facIdModelList.add(new FactoryIdModel().convertByUserFactory(mdcFactory)); } } return facIdModelList; } } catch (Exception e) { e.fillInStackTrace(); } return null; } /** * 根据指定产线id查询设备信息 */ @Override public List queryEquipmentsOfFactory(String factoryId){ List equipmentIds = this.list(new LambdaQueryWrapper().eq(FactoryEquipment::getFactoryId, factoryId)) .stream().map(FactoryEquipment::getEquipmentId).collect(Collectors.toList()); if (!equipmentIds.isEmpty()) { return mdcEquipmentService.list(new LambdaQueryWrapper().in(MdcEquipment::getId, equipmentIds)); } return null; } /** * 根据指定产线ids查询设备信息 */ @Override public List queryEquipmentsOfFactorys(List factoryIds){ List equipmentIds = this.list(new LambdaQueryWrapper() .in(FactoryEquipment::getFactoryId, factoryIds)).stream().map(FactoryEquipment::getEquipmentId).collect(Collectors.toList()); if (!equipmentIds.isEmpty()) { return mdcEquipmentService.list(new LambdaQueryWrapper().in(MdcEquipment::getId, equipmentIds)); } return null; } }