From 2f80aaf62144f6ea315334335ad46fbe0ab911e8 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 18 十月 2024 14:52:02 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 ++++++++++++++++++++++++++++++++---- 1 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 9d634e6..5fc5a05 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -10,6 +10,7 @@ import com.zy.asrs.service.BasCircularShuttleService; import com.zy.asrs.service.BasDevpPositionService; import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil; import com.zy.asrs.utils.Utils; import com.zy.core.DevpThread; import com.zy.core.News; @@ -34,6 +35,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -62,18 +64,44 @@ */ public synchronized void updateStePosition() { try{ - List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().orderBy("ste_id", true)); + boolean sign = false; + Integer rgvNo = 0; + List<BasCircularShuttle> basCircularShuttleList = basCircularShuttleService.selectList(new EntityWrapper<BasCircularShuttle>().orderBy("rgv_id", true)); for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){ - RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getSteNo()); + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basCircularShuttle.getRgvNo()); RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); if (rgvProtocol.modeType != RgvModeType.AUTO || (rgvProtocol.getStatusType() != RgvStatusType.IDLE && rgvProtocol.getStatusType() != RgvStatusType.SOS1001) ){ - + sign = true; } else { + rgvNo = basCircularShuttle.getRgvNo(); break; } } - } catch (Exception e){ + if (sign && rgvNo!=0){ + int[][] ints = new int[basCircularShuttleList.size()][2]; + for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){ + ints[basCircularShuttle.getRgvNo()-1] = new int[]{basCircularShuttle.getRgvNo(),basCircularShuttle.getRgvId()}; + } + String[] oldList = new String[ints.length]; + for (int[] rgv : ints){ + oldList[rgv[0]-1] = Arrays.toString(rgv); + } + int[][] rgvList = SortTheExecutionOfTheCarUtil.ReorderSteId(ints, rgvNo); + String[] newList = new String[rgvList.length]; + for (int[] rgv : rgvList){ + newList[rgv[0]-1] = Arrays.toString(rgv); + } + log.info("鏇存柊灏忚溅鎺掑簭淇℃伅锛氬師濮嬪皬杞﹀彿rgvNo={},灏忚溅閲嶆柊鎺掑簭淇℃伅={},灏忚溅鍘熷鎺掑簭淇℃伅={}",rgvNo,Arrays.toString(newList),Arrays.toString(oldList)); + for (BasCircularShuttle basCircularShuttle : basCircularShuttleList){ + int[] rgv = rgvList[basCircularShuttle.getRgvNo() - 1]; + basCircularShuttle.setRgvId(rgv[1]); + basCircularShuttleService.updateById(basCircularShuttle); + } + } + + } catch (Exception e) { + log.error("鑷姩鏇存柊灏忚溅鎺掑簭淇℃伅澶辫触锛屽紓甯革細"+e); } } /** -- Gitblit v1.9.1