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