From 303ae4174c4aa9bbe0565cc7a25ceb876b6979a5 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 13 六月 2024 17:03:50 +0800 Subject: [PATCH] 大理片笼出片逻辑优化 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java index 02228b4..3e13554 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java @@ -3,11 +3,14 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.entity.BigStorageDTO; +import com.mes.bigstorage.entity.dto.TemperingLayoutDTO; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; +import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService; import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; import com.mes.common.S7object; @@ -17,6 +20,7 @@ import com.mes.edgglasstask.service.EdgGlassTaskInfoService; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; +import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.service.TemperingGlassInfoService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -24,7 +28,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -260,7 +263,36 @@ @Scheduled(fixedDelay = 5000) public void plcToHomeEdgOutTask() { + //todo:鏄惁鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟 + List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>() + .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW) + .orderBy(Boolean.TRUE, sequenceOrder, TemperingGlassInfo::getTemperingFeedSequence)); + //浠诲姟鏁版嵁 鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲� 鐜荤拑闂撮殧 + List<BigStorageCageOutTask> bigStorageCageOutTaskList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) { + log.info("鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟"); + //鎵撹溅鍓╀綑灏哄 + AtomicReference<Integer> remainWidth = new AtomicReference<>(Const.BIG_STORAGE_WIDTH); + temperingGlassInfoList.stream().forEach(e -> { + if (bigStorageCageOutTaskList.size() > 5 || e.getWidth() > remainWidth.get()) { + return; + } + remainWidth.set(remainWidth.get() - e.getWidth().intValue() - Const.BIG_STORAGE_GAP); + bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getState(), Const.A09_OUT_TARGET_POSITION, + 0, 0, 1)); + }); + bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList); + return; + } + //todo:鑾峰彇鐘舵�佸瓧 閽㈠寲浼樺厛 or 浜哄伐涓嬬墖浼樺厛 + if (true) { + //todo:閽㈠寲浼樺厛锛氳幏鍙栫悊鐗囩 鐜荤拑灏忕墖 鐮存崯琛� 鏁伴噺 鍒ゆ柇绗煎唴鐗堝浘鏄惁鍒伴綈 + //todo: 鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟 缁撴潫 + //todo: 鏈埌榻� 鎵ц鍐呴儴璋冨害浠诲姟 缁撴潫 + } + //todo:绗煎唴鏄惁鏈変汉宸ヤ笅鐗囩幓鐠� 鏈夌洿鎺ュ嚭 鏃� 缁撴潫 + List<TemperingLayoutDTO> list = bigStorageCageDetailsService.listAllTemperingCount(); } -- Gitblit v1.8.0