package com.mes.hollowqueue.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.common.config.Const; import com.mes.hollow.entity.HollowBigStorageCageDetails; import com.mes.hollow.entity.HollowGlassOutRelationInfo; import com.mes.hollow.service.HollowBigStorageCageDetailsService; import com.mes.hollow.service.HollowGlassOutRelationInfoService; import com.mes.hollowqueue.entity.HollowGlassQueueInfo; import com.mes.hollowqueue.mapper.HollowGlassQueueInfoMapper; import com.mes.hollowqueue.service.HollowGlassQueueInfoService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; /** * (HollowGlassQueueInfo)表服务实现类 * * @author makejava * @since 2024-11-30 10:19:56 */ @Service public class HollowGlassQueueInfoServiceImpl extends ServiceImpl implements HollowGlassQueueInfoService { @Resource HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService; @Resource HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService; @Override public void forceOutGlass(String flowCardId, int cell, int totalPairQuantity) { hollowGlassOutRelationInfoService.receiveTask(flowCardId, cell, totalPairQuantity); hollowGlassOutRelationInfoService.update(new LambdaUpdateWrapper() .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId) .set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START) ); List hollowBigStorageCageDetailsList = hollowBigStorageCageDetailsService.queryOutGlassList(flowCardId, cell); List hollowQueues = hollowBigStorageCageDetailsList.stream().map(queue -> { HollowGlassQueueInfo queueInfo = new HollowGlassQueueInfo(); BeanUtils.copyProperties(queue, queueInfo); queueInfo.setState(Const.TEMPERING_NEW); queueInfo.setCell(cell); return queueInfo; }).collect(Collectors.toList()); this.saveBatch(hollowQueues); } @Override public List queryHollowGlassQueueInfo(int cell) { HollowGlassOutRelationInfo one = hollowGlassOutRelationInfoService.getOne(new LambdaUpdateWrapper() .eq(HollowGlassOutRelationInfo::getCell, cell) .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START) ); this.list(new LambdaQueryWrapper() .eq(HollowGlassQueueInfo::getFlowCardId, one.getFlowCardId()) .eq(HollowGlassQueueInfo::getCell, one.getCell()) ); return null; } }