package com.mes.bigstorage.service.impl; 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 org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** *

* 服务实现类 *

* * @author zhoush * @since 2024-03-27 */ @Service public class BigStorageCageServiceImpl extends ServiceImpl implements BigStorageCageService { @Autowired private BigStorageCageMapper bigStorageCageMapper; @Autowired private BigStorageCageDetailsMapper bigStorageCageDetailsMapper; public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) { //获取同钢化版图id可进片的格子 BigStorageCageDetails layoutSlotInfo =bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo); //有符合条件的格子时 if (layoutSlotInfo!=null) { //将玻璃信息填入理片笼详情表 bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); }else{ //获取不到时: //获取可进片格子信息 BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot(); if (EmptySlotInfo!=null){ bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot()); }else{ //获取其他笼格子- BigStorageCageDetails OtherSlotInfo=bigStorageCageMapper.SelectOtherFeedSlot(); bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot()); } //将玻璃信息放入该格子 } updateRemainWidth(bigStorageCageDetails.getSlot()); return bigStorageCageDetails; } //修改格子剩余宽度 private void updateRemainWidth(int Slot){ //获取该格子内玻璃信息 int width=5000; List bigStorageCageDetailsList= Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot)); for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList ) { width-=Integer.parseInt(bigStorageCageDetails.getWidth().toString())+bigStorageCageDetails.getGap(); } //修改格子剩余宽度 bigStorageCageMapper.UpdateRemainWidth(Slot,width); } }