From 382d9f2df47c0e26b9a86077ad70c1c317f3d52d Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期一, 11 八月 2025 10:07:03 +0800
Subject: [PATCH] 优化界面
---
src/main/java/com/zy/core/enums/RgvStatusType.java | 32 ++++++----
src/main/java/com/zy/core/enums/RgvModeType.java | 10 +-
src/main/java/com/zy/asrs/controller/RgvController.java | 35 +++++++++--
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 65 +++------------------
src/main/webapp/views/index.html | 4
5 files changed, 63 insertions(+), 83 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 35fe0b3..10af29a 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,10 +11,7 @@
import com.zy.asrs.domain.vo.RgvStateTableVo;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasRgvErrMapper;
-import com.zy.asrs.service.BasCircularShuttleService;
-import com.zy.asrs.service.BasDevpPositionService;
-import com.zy.asrs.service.BasRgvService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.Utils;
import com.zy.core.cache.MessageQueue;
@@ -60,6 +57,8 @@
private BasRgvErrMapper basRgvErrMapper;
@Autowired
private BasRgvService basRgvService;
+ @Autowired
+ private BasDevpService basDevpService;
@Autowired
private MainServiceImpl mainService;
@Autowired
@@ -371,10 +370,32 @@
List<RingThroughParam> result = new ArrayList<>();
List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
for (BasDevpPosition basDevpPosition : basDevpPositions){
- if (basDevpPosition.getDevNo() == 134){
- continue;
- }
RingThroughParam ringThroughParam = new RingThroughParam();
+
+ ringThroughParam.setModeColor("#FFFFFF");
+ ringThroughParam.setStatusColor("#FFFFFF");
+ try{
+ BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no",basDevpPosition.getDevNo()));
+ if (basDevp.getAutoing().equals("Y")){
+ if (basDevp.getLoading().equals("Y")){
+ ringThroughParam.setModeColor("#ab1839");
+ ringThroughParam.setStatusColor("#ab1839");
+ }
+ if (basDevp.getLoading().equals("N")){
+ ringThroughParam.setModeColor("#27AE60");
+ ringThroughParam.setStatusColor("#27AE60");
+ }
+ } else {
+ ringThroughParam.setModeColor("#C0392B");
+ ringThroughParam.setStatusColor("#C0392B");
+ }
+
+ } catch (Exception e){
+ System.out.println(e.getMessage());
+ ringThroughParam.setModeColor("#000000");
+ ringThroughParam.setStatusColor("#000000");
+
+ }
ringThroughParam.setIndex(basDevpPosition.getDevNo());
// double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
// ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
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 9417bed..79458bd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -380,10 +380,6 @@
runRgv:
for (WrkMast wrkMast : wrkMasts) {
Integer rgvSstaNo = wrkMast.getRgvSstaNo();
- // 1090锛�1089,1086,1083 鎸�1083绔欑偣浣嶇疆璁$畻锛岃兘鍙�1083锛屽氨鑳藉彇1090锛�1089锛�1086锛岄伩鍏嶄换鍔″欢杩熶笅鍙戞柟妗堜竴鐩寸粰1083鍙�
-// if (rgvSstaNo == 1090 || rgvSstaNo == 1089 || rgvSstaNo == 1086 || rgvSstaNo == 1105) {
-// rgvSstaNo = 1083;
-// }
BasDevpPosition basDevpPositions = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", rgvSstaNo)); // 绔欑偣
long position = basDevpPositions.getPlcPosition(); // 璧峰绔欎綅缃�
position += 50; // 灏忚溅鍙栬揣瀹氫綅绮惧害 +- 50,绔欑偣浣嶇疆10000锛屽皬杞﹀湪10050涔熸槸鍙互鍙栫殑
@@ -397,6 +393,7 @@
}
map.put(distance, rgvProtocol);
}
+ position -= 50;
log.info("鍙栬揣绔欑偣锛歿}锛屽悗闈㈠皬杞︽帓搴�", basDevpPositions.getDevNo());
StringBuilder sb = new StringBuilder();
for (Map.Entry<Long, RgvProtocol> rgvProtocolMap : map.entrySet()) {
@@ -409,7 +406,6 @@
RgvProtocol rgvProtocol = rgvProtocolMap.getValue(); // 鏈�杩戣窛绂诲皬杞�
// log.info("鍙栬揣绔欑偣锛歿}锛屽悗闈㈡渶杩戝皬杞︼細{},鐘舵��:{}", basDevpPositions.getDevNo(), rgvProtocol.getRgvNo(), rgvProtocol.getStatusType().desc);
int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()).eq("wrk_sts", 10));
- if(wrkMast.getIoType() == 10 || wrkMast.getIoType() == 110 || wrkMast.getSourceStaNo() == 1034) {
if (rgvProtocol.modeType == RgvModeType.AUTO
&& (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
&& rgvProtocol.getTaskNo1() == 0
@@ -444,64 +440,23 @@
// 褰撳墠rgv浠诲姟鐩爣绔欑偣
BasDevpPosition rgvDstaNoDevPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast1.getRgvDstaNo()));
long rgvDstaNoPosition = rgvDstaNoDevPosition.getPlcPosition(); // 褰撳墠rgv浠诲姟鐩爣绔欑偣浣嶇疆
- if(rgvProtocol.getRgvPos() < rgvDstaNoPosition || Math.abs(rgvProtocol.getRgvPos() - rgvDstaNoPosition) <= 50) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
- if(!(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
+ // 鑾峰彇RGV褰撳墠浣嶇疆鍜岀姸鎬�
+ long currentRgvPos = rgvProtocol.getRgvPos();
+ int rgvStatus = rgvProtocol.getStatusType().id;
+
+ // 瀹氫箟娴姩鑼冨洿锛堜粎鍋滈潬鐘舵�侀�傜敤锛�
+ long posTolerance = (rgvStatus == 0 || rgvStatus == 2 || rgvStatus == 3 || rgvStatus == 6 || rgvStatus == 7 || rgvStatus == 8 || rgvStatus == 100) ? 50 : 0;
+ if(currentRgvPos < rgvDstaNoPosition + posTolerance) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
+ if(!(currentRgvPos - posTolerance < position && position < rgvDstaNoPosition + posTolerance)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
break; // 褰撳墠rgv鏀捐揣瀹屾垚鍚庯紝鍙互鍙栧綋鍓嶄换鍔�
}
} else {
- if(!(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition)) {
+ if(!(currentRgvPos + posTolerance < position || position < rgvDstaNoPosition - posTolerance)) {
break;
}
}
}
}
- } else {
- if (rgvProtocol.modeType == RgvModeType.AUTO
- && (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
- && rgvProtocol.getTaskNo1() == 0
- && rgvProtocol.getAlarm() == 0) {
- if (count != 0) {
- log.error("{}鍛煎彨灏忚溅锛歿}鍙峰皬杞︾┖闂诧紝浣嗗伐浣滄。鏄剧ず璇ュ皬杞︽湁浠诲姟",wrkMast.getWrkNo(),rgvProtocol.getRgvNo());
- break;
- }
- RgvCommand rgvCommand = new RgvCommand();
- rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
- rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
- rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
- rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐�
- rgvCommand.setSourceStaNo1(wrkMast.getRgvSstaNo().shortValue()); //宸ヤ綅1璧风偣
- rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //宸ヤ綅1鐩爣绔欑偣
- rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭
- if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(2, rgvCommand))) {
- log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand));
- break runRgv;
- }
- log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand));
- Date now = new Date();
- wrkMast.setRgvNo(rgvProtocol.getRgvNo());
- wrkMast.setWrkSts(10L);
- wrkMast.setRgvCreateTime(now);
- wrkMastService.updateById(wrkMast);
- break runRgv;
- } else if(rgvProtocol.modeType == RgvModeType.AUTO
- && rgvProtocol.getTaskNo1() != 0){ // 褰撳墠灏忚溅鏀捐揣鐩爣浣嶇疆鍦ㄥ綋鍓嶄换鍔″彇璐х偣涔嬪悗锛岃烦杩囦换鍔″垎閰嶏紝涓嶅啀鍒欏垽鏂笅涓皬杞︾洰鏍囦綅缃�
- WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1())); // 褰撳墠rgv浠诲姟
- if(wrkMast1!= null && !Cools.isEmpty(wrkMast1.getRgvDstaNo())) {
- // 褰撳墠rgv浠诲姟鐩爣绔欑偣
- BasDevpPosition rgvDstaNoDevPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast1.getRgvDstaNo()));
- long rgvDstaNoPosition = rgvDstaNoDevPosition.getPlcPosition(); // 褰撳墠rgv浠诲姟鐩爣绔欑偣浣嶇疆
- if(rgvProtocol.getRgvPos() <= rgvDstaNoPosition || Math.abs(rgvProtocol.getRgvPos() - rgvDstaNoPosition) <= 50) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
- if(!(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
- break; // 褰撳墠rgv鏀捐揣瀹屾垚鍚庯紝鍙互鍙栧綋鍓嶄换鍔�
- }
- } else {
- if(!(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition)) {
- break;
- }
- }
- }
- }
- }
}
}
} catch (Exception e) {
diff --git a/src/main/java/com/zy/core/enums/RgvModeType.java b/src/main/java/com/zy/core/enums/RgvModeType.java
index 337eaa1..17802e1 100644
--- a/src/main/java/com/zy/core/enums/RgvModeType.java
+++ b/src/main/java/com/zy/core/enums/RgvModeType.java
@@ -3,12 +3,12 @@
public enum RgvModeType {
NONE(-1, "绂荤嚎","#4A4035"),
- STOP(0, "缁翠慨","#E2C027"),
- HAND(1, "鎵嬪姩","#2196F3"),
- HALF_AUTO(2, "鍗婅嚜鍔�","#E2C027"),
- AUTO(3, "鑷姩","#4B5CC4"),
+ STOP(0, "缁翠慨","#FFA500"),
+ HAND(1, "鎵嬪姩","#FFD700"),
+ HALF_AUTO(2, "鍗婅嚜鍔�","#20B2AA"),
+ AUTO(3, "鑷姩","#4169E1"),
AUTO2(100, "鍏跺畠","#2196F3"),
- SOS(999, "鍏跺畠","#2196F3")
+ SOS(999, "鍏跺畠","#FF0000")
;
public Integer id;
diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java
index 6c93c3a..5881d15 100644
--- a/src/main/java/com/zy/core/enums/RgvStatusType.java
+++ b/src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -2,21 +2,25 @@
public enum RgvStatusType {
- NONE(-1, "绂荤嚎","#4A4035"),
- IDLE(0, "鏃犱换鍔�","#1F3696"),
- PICK_UP_WALK(1, "鍙栬揣琛岃蛋","#2196F3"),
- IN_STATION_OPERATION(2, "杩涚珯杩愯涓�","#2196F3"),
- STATION_ENTRY_COMPLETED(3, "杩涚珯瀹屾垚","#2196F3"),
- There_IS_something_waiting_to_leave_the_station(4, "鏈夌墿寰呭嚭绔�","#2196F3"),
- Exit_walking(5, "鍑虹珯琛岃蛋","#E2C027"),
- Outbound_request(6, "鍑虹珯璇锋眰","#2196F3"),
- Outbound_operation_in_progress(7, "鍑虹珯杩愯涓�","#2196F3"),
- Outbound_completed(8, "鍑虹珯瀹屾垚","#2196F3"),
PICK_UP_OFFSIDE(9, "灏忚溅鍙栬揣瓒婁綅","#2196F3"),
- ROAM(11, "婕父","#2196F3"),
- WAITING(100, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#2196F3"),
- SOS110(110, "鎶ヨ","#2196F3"),
- SOS(999, "鏈煡","#2196F3")
+
+ NONE(-1, "绂荤嚎","#C0392B"),
+ IDLE(0, "鏃犱换鍔�","#27AE60"),
+ PICK_UP_WALK(1, "鍙栬揣琛岃蛋","#F39C12"),
+ IN_STATION_OPERATION(2, "杩涚珯杩愯涓�","#3498DB"),
+ STATION_ENTRY_COMPLETED(3, "杩涚珯瀹屾垚","#2980B9"),
+ There_IS_something_waiting_to_leave_the_station(4, "鏈夌墿寰呭嚭绔�","#5DADE2"),
+ Exit_walking(5, "鍑虹珯琛岃蛋","#E67E22"),
+ Outbound_request(6, "鍑虹珯璇锋眰","#2196F3"),
+ Outbound_operation_in_progress(7, "鍑虹珯杩愯涓�","#21618C"),
+ Outbound_completed(8, "鍑虹珯瀹屾垚","#85C1E9"),
+ ROAM(11, "婕父","#95A5A6"),
+ CANCEL(12, "绛夊緟鍙栨秷","#95A5A6"),
+ WALK(20, "璧拌","#F1C40F"),
+ WAITING(100, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"),
+ WAITING101(101, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"),
+ SOS110(110, "鎶ヨ","#E74C3C"),
+ SOS(999, "鏈煡","#FF0000")
;
public Integer id;
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index b39d309..6cced2e 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -59,7 +59,7 @@
}
.station {
position: absolute;
- width: 20px;
+ width: 26px;
height: 14px;
text-align: center;
line-height: 1.5; /* 璋冩暣琛岄珮涓庡瓧浣撳ぇ灏忕殑姣斿�� */
@@ -230,7 +230,7 @@
<!-- <div v-for="(item,i) in devpPos3" class="bus-item-left2" :style="'top:' + (100 + i * 10) + 'px'">{{item.dev_no}}</div>-->
<!-- </div>-->
<!-- Stations on outer ring-->
- <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueY + 'px', left: station.valueX + 'px' }">{{ station.index }}</div>
+ <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueY + 'px', left: station.valueX + 'px' , backgroundColor: station.modeColor}">{{ station.index }}</div>
<!-- <div>-->
<!-- <el-switch-->
<!-- style="display: block"-->
--
Gitblit v1.9.1