From 21092d29c1c0cd1003bb32bf91fddae265a8baea Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 20 十一月 2024 08:41:11 +0800 Subject: [PATCH] 1、卧理单条磨边线对接完成,另一条线等待IP确认 2、大理片笼提交部分代码 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java | 79 ++++++++++++++------------------------- 1 files changed, 28 insertions(+), 51 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java index b51000b..076ad78 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java @@ -5,10 +5,10 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.kangaroohy.milo.runner.subscription.SubscriptionCallback; import com.kangaroohy.milo.service.MiloService; -import com.mes.bigstorage.entity.BigStorageCage; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; -import com.mes.bigstorage.service.BigStorageCageService; +import com.mes.bigstoragecageIntask.entity.BigStorageCageInTask; +import com.mes.bigstoragecageIntask.service.BigStorageCageInTaskService; import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO; @@ -17,19 +17,20 @@ import com.mes.common.config.Const; import com.mes.damage.entity.Damage; import com.mes.damage.service.DamageService; -import com.mes.edgglasstask.service.EdgGlassTaskInfoService; -import com.mes.glassinfo.service.GlassInfoService; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.service.TemperingGlassInfoService; +import com.mes.tools.service.BigStorageBaseService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; import java.util.stream.Collectors; /** @@ -38,23 +39,21 @@ @Component @Slf4j public class OpcPlcStorageCageTask { - - @Resource - private BigStorageCageService bigStorageCageService; @Resource private BigStorageCageDetailsService bigStorageCageDetailsService; - @Resource - private GlassInfoService glassInfoService; @Resource private BigStorageCageFeedTaskService bigStorageCageFeedTaskService; @Resource private BigStorageCageOutTaskService bigStorageCageOutTaskService; @Resource - private EdgGlassTaskInfoService edgGlassTaskInfoService; - @Resource private TemperingGlassInfoService temperingGlassInfoService; @Resource private DamageService damageService; + + @Resource + private BigStorageBaseService baseService; + @Resource + private BigStorageCageInTaskService bigStorageBaseInTaskService; @Autowired(required = false) MiloService miloService; @@ -62,14 +61,6 @@ @Resource(name = "bigStorageStartCallback") SubscriptionCallback bigStorageStartCallback; - @Value("${mes.carWidth}") - private Integer carWidth; - - @Value("${mes.slotWidth}") - private Integer slotWidth; - - @Value("${mes.glassGap}") - private Integer glassGap; @Scheduled(fixedDelay = Long.MAX_VALUE) public void startOpcTask() throws Exception { @@ -81,6 +72,17 @@ public void outOpcTask() throws Exception { //璁惧1鐨勫嚭鐗囪姹� miloService.subscriptionFromOpcUa(Arrays.asList("my.device03.x1"), bigStorageStartCallback); + } + + + @Scheduled(fixedDelay = 200) + public void inBigStorageTask() { + //todo:鑾峰彇杩涚墖浠诲姟琛� + List<BigStorageCageInTask> inTaskList = bigStorageBaseInTaskService.queryTaskMessage("big_storage_cage_in_one_task"); + if (CollectionUtils.isEmpty(inTaskList)) { + log.info("褰撳墠澶ц溅鏃犺繘鐗囦换鍔★紝缁撴潫鏈湴瀹氭椂浠诲姟"); + } + inTaskList } @@ -108,7 +110,7 @@ bigStorageCageDetailsService.updateBySlot(storageCageDTOList, Const.GLASS_STATE_IN); log.info("4銆佸ぇ鐞嗙墖绗艰繘鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", inSuccessGlass); //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵� - updateSlotRemainBySlots(inSuccessGlassSlot); + baseService.updateSlotRemainBySlots(inSuccessGlassSlot); log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�"); } @@ -153,7 +155,7 @@ List<Integer> outSuccessSlotList = outSuccessGlass.stream().map(BigStorageCageOutTask::getStartSlot).collect(Collectors.toList()); log.info("4銆佸ぇ鐞嗙墖绗煎嚭鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", outSuccessGlass); //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵� - updateSlotRemainBySlots(outSuccessSlotList); + baseService.updateSlotRemainBySlots(outSuccessSlotList); log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�"); } } @@ -190,7 +192,7 @@ //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵� List<Integer> slotList = scheduleSuccessGlass.stream().map(BigStorageCageOutTask::getStartSlot).distinct().collect(Collectors.toList()); slotList.addAll(scheduleSuccessGlass.stream().map(BigStorageCageOutTask::getEndSlot).distinct().collect(Collectors.toList())); - updateSlotRemainBySlots(slotList); + baseService.updateSlotRemainBySlots(slotList); log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�"); } } @@ -230,7 +232,7 @@ slotList.add(bigStorageCageFeedTask.getTargetSlot()); } //鏇存柊鏍煎瓙鍓╀綑瀹藉害 - updateSlotRemainBySlots(slotList); + baseService.updateSlotRemainBySlots(slotList); log.info("杩涚墖浠诲姟鎵ц瀹屾垚"); } //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹� @@ -258,37 +260,12 @@ slotList.add(bigStorageCageOutTask.getStartSlot()); } //鏇存柊鏍煎瓙鍓╀綑瀹藉害 - updateSlotRemainBySlots(slotList); + baseService.updateSlotRemainBySlots(slotList); log.info("鍑虹墖浠诲姟鎵ц瀹屾垚"); } Date endDate = new Date(); log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime()); return; - } - - public void updateSlotRemainBySlots(List<Integer> slotList) { - //鑾峰彇鏍煎瓙鍐呮墍鏈夌殑鐜荤拑淇℃伅 - List<BigStorageCageDetails> inSlotGlassList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>() - .in(BigStorageCageDetails::getSlot, slotList).in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); - Map<Integer, Double> slotRemainMap = new HashMap<>(); - //鏄惁瀛樺湪鏈夋牸瀛愰潪绌虹殑鐜荤拑 - if (CollectionUtils.isNotEmpty(inSlotGlassList)) { - //瀛樺湪 灏嗘牸瀛愬唴鐨勭幓鐠冨垎鍒繘琛屾洿鏂� - slotRemainMap = inSlotGlassList.stream() - .collect(Collectors.groupingBy(BigStorageCageDetails::getSlot, Collectors.summingDouble(item -> Math.max(item.getWidth(), item.getHeight()) + glassGap))); - slotRemainMap.forEach((e, v) -> { - double remainWidth = slotWidth - v >= 0 ? slotWidth - v : 0; - bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, remainWidth) - .eq(BigStorageCage::getSlot, e)); - }); - } - //杩囨护涓嶅瓨鍦ㄧ幓鐠冪殑鏍煎瓙 灏嗗搴﹂噸缃负鍘熷瀹藉害5000 - Set<Integer> remainSlotList = slotRemainMap.keySet(); - slotList.removeAll(remainSlotList); - if (CollectionUtils.isNotEmpty(slotList)) { - bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, slotWidth) - .in(BigStorageCage::getSlot, slotList)); - } } -- Gitblit v1.8.0