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<HollowGlassQueueInfoMapper, HollowGlassQueueInfo> implements HollowGlassQueueInfoService {
|
|
@Resource
|
HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
|
|
@Resource
|
HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService;
|
|
@Override
|
public void forceOutGlass(String flowCardId, int cell) {
|
hollowGlassOutRelationInfoService.receiveTask(flowCardId, cell);
|
hollowGlassOutRelationInfoService.update(new LambdaUpdateWrapper<HollowGlassOutRelationInfo>()
|
.eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId)
|
.set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
|
);
|
List<HollowBigStorageCageDetails> hollowBigStorageCageDetailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
|
.eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
|
.eq(HollowBigStorageCageDetails::getFlowCardId, flowCardId)
|
.orderByAsc(HollowBigStorageCageDetails::getVirtualSlot)
|
.orderBy(Boolean.TRUE, cell != 931, HollowBigStorageCageDetails::getSequence)
|
.orderByAsc(HollowBigStorageCageDetails::getHollowSequence)
|
);
|
|
List<HollowGlassQueueInfo> 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 void changeForceOutGlass(String flowCardId, int cell) {
|
hollowGlassOutRelationInfoService.update(new LambdaUpdateWrapper<HollowGlassOutRelationInfo>()
|
.eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId)
|
.set(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
|
);
|
//情况历史任务中未做完的玻璃信息
|
this.remove(new LambdaQueryWrapper<HollowGlassQueueInfo>()
|
.eq(HollowGlassQueueInfo::getFlowCardId, flowCardId)
|
.eq(HollowGlassQueueInfo::getCell, cell)
|
.eq(HollowGlassQueueInfo::getState, Const.TEMPERING_NEW)
|
);
|
//按照线路重新去理片笼查询玻璃信息
|
List<HollowBigStorageCageDetails> hollowBigStorageCageDetailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
|
.eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
|
.eq(HollowBigStorageCageDetails::getFlowCardId, flowCardId)
|
.orderByAsc(HollowBigStorageCageDetails::getVirtualSlot)
|
.orderBy(Boolean.TRUE, cell != 931, HollowBigStorageCageDetails::getSequence)
|
.orderByAsc(HollowBigStorageCageDetails::getHollowSequence)
|
);
|
|
List<HollowGlassQueueInfo> 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<HollowGlassQueueInfo> queryHollowGlassQueueInfo(int cell) {
|
HollowGlassOutRelationInfo one = hollowGlassOutRelationInfoService.getOne(new LambdaUpdateWrapper<HollowGlassOutRelationInfo>()
|
.eq(HollowGlassOutRelationInfo::getCell, cell)
|
.eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
|
);
|
this.list(new LambdaQueryWrapper<HollowGlassQueueInfo>()
|
.eq(HollowGlassQueueInfo::getFlowCardId, one.getFlowCardId())
|
.eq(HollowGlassQueueInfo::getCell, one.getCell())
|
);
|
return null;
|
}
|
}
|