From 2ea30c17460f2f3cdff49e6dc78c7c20ab114c09 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 13 六月 2024 09:54:06 +0800 Subject: [PATCH] 大理片笼:进片逻辑问题修复 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 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 40d8dd9..02228b4 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 @@ -31,6 +31,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -257,6 +258,12 @@ computeTargetByLine(outLine, d02GoAdress, d05GoAdress); } + @Scheduled(fixedDelay = 5000) + public void plcToHomeEdgOutTask() { + + } + + /** * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩 */ @@ -316,10 +323,10 @@ * * @return */ - private Integer getStartLine() { + public Integer getStartLine() { List<BigStorageCageFeedTask> taskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>() .inSql(BigStorageCageFeedTask::getId, "select min(id) from big_storage_cage_feed_task where task_state = 2 group by line")); - Assert.isTrue(CollectionUtils.isEmpty(taskList), "鍗ц浆绔嬩袱鏉$嚎閮芥病鏈夌幓鐠冭繘鐗囦换鍔�"); + Assert.isFalse(CollectionUtils.isEmpty(taskList), "鍗ц浆绔嬩袱鏉$嚎閮芥病鏈夌幓鐠冭繘鐗囦换鍔�"); Map<String, Integer> taskMap = taskList.stream().collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, BigStorageCageFeedTask::getLine)); GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() @@ -333,7 +340,7 @@ /** * 璁$畻浠诲姟琛ㄨ繘鐗囩嚎璺殑鐩爣鏍煎瓙锛屽苟鍚姩浠诲姟 */ - private boolean computeTargetByLine(Integer line, String d02GoAdress, String d05GoAdress) { + public boolean computeTargetByLine(Integer line, String d02GoAdress, String d05GoAdress) { //1銆佽幏鍙栦换鍔¤〃涓殑鎵�鏈夌幓鐠冿紙鎸囧畾绾胯矾涓斿凡缁忚繘鍗ц浆绔嬪畬鎴愶級 List<BigStorageCageFeedTask> taskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>() .eq(BigStorageCageFeedTask::getLine, line) @@ -347,6 +354,7 @@ AtomicReference<BigStorageDTO> bigStorageDTO = new AtomicReference<>(new BigStorageDTO()); Map<String, GlassInfo> glassInfoMap = glassInfos.stream().collect(Collectors.toMap(GlassInfo::getGlassId, p -> p)); List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>(); + AtomicBoolean taskFlag = new AtomicBoolean(Boolean.TRUE); taskList.stream().forEach(e -> { BigStorageCageDetails cageDetails = new BigStorageCageDetails(); //鎸夌収鐗堝浘淇℃伅鑾峰彇杩涚墖绗煎瓙鏍煎瓙鍙� @@ -359,21 +367,25 @@ } else { bigStorageDTO.set(bigStorageCageDetailsService.queryTargetSlotByTempering(info)); } - e.setTragetSlot(bigStorageDTO.get().getSlot()); + e.setTargetSlot(bigStorageDTO.get().getSlot()); cageDetails.setSlot(bigStorageDTO.get().getSlot()); cageDetails.setState(Const.GLASS_STATE_IN); temperingLayoutIdTemp.set(info.getTemperingLayoutId()); temperingFeedSequenceTemp.set(info.getTemperingFeedSequence()); bigStorageCageDetailsList.add(cageDetails); + taskFlag.set(bigStorageCageFeedTaskService.updateById(e)); + if (!taskFlag.get()) { + return; + } }); - //3銆佹洿鏂拌繘鐗囦换鍔¤〃 - boolean taskFlag = bigStorageCageFeedTaskService.updateBatchById(taskList); + //3銆佹洿鏂拌繘鐗囦换鍔¤〃 閬囧埌闂锛氭棤娉曟壒閲忔洿鏂帮紝鎵归噺鏇存柊鏃犳硶璧版寚瀹氫粠搴� + //4銆佸湪璇︽儏琛ㄤ腑鍔犲叆杩涚墖鐜荤拑淇℃伅 bigStorageCageDetailsService.saveBatch(bigStorageCageDetailsList); - if (taskFlag) { + if (taskFlag.get()) { String lineAddress = line.equals(Const.A09_OUT_TARGET_POSITION) ? d02GoAdress : d05GoAdress; - S7object.getinstance().plccontrol.writeWord(lineAddress, (short) 1); +// S7object.getinstance().plccontrol.writeWord(lineAddress, (short) 1); } - return taskFlag; + return taskFlag.get(); } } \ No newline at end of file -- Gitblit v1.8.0