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 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 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 3e6f610..5fc5a05 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,10 +1,16 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.zy.asrs.entity.BasCircularShuttle;
+import com.zy.asrs.entity.BasDevpPosition;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasSte;
+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;
@@ -29,7 +35,9 @@
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;
/**
@@ -47,11 +55,54 @@
private BasDevpService basDevpService;
@Autowired
private BasRgvServiceImpl basRgvService;
+ @Autowired
+ private BasDevpPositionService basDevpPositionService;
+ @Autowired
+ private BasCircularShuttleService basCircularShuttleService;
/**
* 绔欑偣浠诲姟妫�娴� 涓嬪彂灏忚溅鍙栨斁浠诲姟
*/
public synchronized void updateStePosition() {
+ try{
+ 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.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;
+ }
+ }
+ 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