| | |
| | | package com.mes.bigstorage.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.mes.bigstorage.entity.BigStorageCage; |
| | | import com.mes.bigstorage.entity.BigStorageCageDetails; |
| | | import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper; |
| | | import com.mes.bigstorage.mapper.BigStorageCageMapper; |
| | | import com.mes.bigstorage.service.BigStorageCageService; |
| | | import com.mes.uppattenusage.entity.GlassInfo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.mes.glassinfo.entity.GlassInfo; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import javax.annotation.Resource; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * <p> |
| | | * 服务实现类 |
| | | * 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author zhoush |
| | |
| | | */ |
| | | @Service |
| | | public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService { |
| | | @Autowired |
| | | @Resource |
| | | private BigStorageCageMapper bigStorageCageMapper; |
| | | @Autowired |
| | | @Resource |
| | | private BigStorageCageDetailsMapper bigStorageCageDetailsMapper; |
| | | |
| | | @Override |
| | | public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) { |
| | | |
| | | |
| | | //获取同钢化版图id可进片的格子 |
| | | BigStorageCageDetails layoutSlotInfo =bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo); |
| | | //有符合条件的格子时 |
| | | if (layoutSlotInfo!=null) { |
| | | //1、查询理片笼内玻璃片序等于当前玻璃片序-1的玻璃 |
| | | LambdaQueryWrapper<BigStorageCageDetails> wapper = new LambdaQueryWrapper<>(); |
| | | wapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId()) |
| | | .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1); |
| | | BigStorageCageDetails layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wapper); |
| | | bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); |
| | | bigStorageCageDetails.setGlassId(bigStorageCageDetails.getGlassId()); |
| | | bigStorageCageDetails.setFlowCardId(glassInfo.getFlowcardId()); |
| | | bigStorageCageDetails.setGlassType(glassInfo.getGlassType()); |
| | | bigStorageCageDetails.setWidth(glassInfo.getWidth()); |
| | | bigStorageCageDetails.setHeight(glassInfo.getHeight()); |
| | | bigStorageCageDetails.setThickness(glassInfo.getThickness()); |
| | | bigStorageCageDetails.setTemperingLayoutId(glassInfo.getTemperingLayoutId()); |
| | | bigStorageCageDetails.setTemperingFeedSequence(glassInfo.getTemperingFeedSequence()); |
| | | |
| | | |
| | | //2、有符合条件的格子活片序为1时 |
| | | if (layoutSlotInfo.getSlot() != null ) { |
| | | //将玻璃信息填入理片笼详情表 |
| | | bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); |
| | | }else{ |
| | | |
| | | |
| | | bigStorageCageDetailsMapper.updateById(bigStorageCageDetails); |
| | | } else { |
| | | //获取不到时: |
| | | |
| | | //获取可进片格子信息 |
| | | BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot(); |
| | | if (EmptySlotInfo!=null){ |
| | | BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.SelectEmptyFeedSlot(); |
| | | if (EmptySlotInfo != null) { |
| | | bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot()); |
| | | }else{ |
| | | } else { |
| | | //获取其他笼格子- |
| | | BigStorageCageDetails OtherSlotInfo=bigStorageCageMapper.SelectOtherFeedSlot(); |
| | | BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.SelectOtherFeedSlot(); |
| | | bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot()); |
| | | } |
| | | //将玻璃信息放入该格子 |
| | |
| | | } |
| | | |
| | | //修改格子剩余宽度 |
| | | private void updateRemainWidth(int Slot){ |
| | | @Override |
| | | public void updateRemainWidth(int Slot) { |
| | | //获取该格子内玻璃信息 |
| | | int width=5000; |
| | | List<BigStorageCageDetails> bigStorageCageDetailsList= Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot)); |
| | | for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList |
| | | int width = 5000; |
| | | List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot)); |
| | | for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList |
| | | ) { |
| | | width-=Integer.parseInt(bigStorageCageDetails.getWidth().toString())+bigStorageCageDetails.getGap(); |
| | | width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap(); |
| | | } |
| | | //修改格子剩余宽度 |
| | | bigStorageCageMapper.UpdateRemainWidth(Slot,width); |
| | | bigStorageCageMapper.UpdateRemainWidth(Slot, width); |
| | | } |
| | | |
| | | } |