From c5736834f88a5fd43abadaec50dd2b1e6dceb4ba Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 15 九月 2022 10:36:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 13 ++---- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 26 +++++-------- src/main/java/com/zy/core/enums/SteTaskModeType.java | 68 +++++++++++++++++++++++++++++----- 3 files changed, 73 insertions(+), 34 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 5af651e..9cb939d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -483,7 +483,7 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { - this.letCarBeReady(wrkMast, steNo); + this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); } // 灏忚溅鎼蛋 if (wrkMast.getWrkSts() == 3L) { @@ -539,7 +539,7 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { - this.letCarBeReady(wrkMast, steNo); + this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); } // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓� if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) { @@ -587,7 +587,7 @@ SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� - this.letCarBeReady(wrkMast, steThread.getSlave().getId()); + this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo()); } } // 鍫嗗灈鏈烘惉杩愬皬杞� @@ -681,7 +681,7 @@ // 涓嶆槸鏈�澶栧眰搴撲綅锛岄渶瑕佷娇鐢ㄧ┛姊溅鎼繍鍚庯紝鍐嶅爢鍨涙満鍑哄簱 } else { // 褰撳墠缁勫簱浣嶆槸鍚︽湁绌挎杞� - Integer steNo = this.hasCarOfIdle(wrkMast.getLocNo()); + Integer steNo = this.hasCarOfIdle(wrkMast.getSourceLocNo()); // 鏈夊皬杞� if (steNo != null) { if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) { @@ -696,12 +696,8 @@ SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� + steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� - SteABType ab = Utils.selectAB(steProtocol.getRow().intValue()); - - - // todo:luxiaotao if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { @@ -757,7 +753,7 @@ SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� - this.letCarBeReady(wrkMast, steThread.getSlave().getId()); + this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); } } // 鍫嗗灈鏈烘惉杩愬皬杞� @@ -811,7 +807,7 @@ * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐� * 绛夊緟鍫嗗灈鏈烘惉杩� */ - public void letCarBeReady(WrkMast wrkMast, Integer steNo) { + public void letCarBeReady(WrkMast wrkMast, Integer steNo, String locNo) { // 鑾峰彇绌挎杞︿俊鎭� SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); SteProtocol steProtocol = steThread.getSteProtocol(); @@ -822,7 +818,7 @@ SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� + steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(locNo)); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); steCommand.setBay(steProtocol.getBay()); @@ -1014,8 +1010,7 @@ SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� - // todo:luxiaotao + steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴� if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { @@ -1087,8 +1082,7 @@ SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� - // todo:luxiaotao + steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴� if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index f67c4fc..2fd4f42 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -37,6 +37,11 @@ } } + public static Integer getGroupRow(String locNo){ + int row = getRow(locNo); + return getGroupRow(row); + } + public static Integer getGroupRow(Integer row) { switch (row) { case 1: @@ -70,14 +75,6 @@ throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); } } - - - public static Integer getGroupRow(String locNo){ - int row = getRow(locNo); - return getGroupRow(row); - } - - public static SteABType selectAB(Integer row) { switch (row) { diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java index 01e51b4..5e1af9e 100644 --- a/src/main/java/com/zy/core/enums/SteTaskModeType.java +++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java @@ -1,5 +1,8 @@ package com.zy.core.enums; +import com.core.exception.CoolException; +import com.zy.asrs.utils.Utils; + public enum SteTaskModeType { INIT(0, "鍒濆"), // 鍒濆 @@ -7,17 +10,17 @@ OUT_RIGHT(2, "鍙冲嚭搴�"), // 鍙冲嚭搴� IN_LEFT(3, "宸﹀叆搴�"), // 宸﹀叆搴� IN_RIGHT(4, "鍙冲叆搴�"), // 鍙冲叆搴� - MOVE_LEFT(5, "宸︾Щ搴�"), // 宸︾Щ搴� - MOVE_RIGHT(6, "鍙崇Щ搴�"), // 鍙崇Щ搴� - GO_ORIGIN(7, "鍥炲師鐐�"), // 鍥炲師鐐� - BACK_ORIGIN(8, "鍥炲弽鍘熺偣"), // 鍥炲弽鍘熺偣 - TO_A(9, "A鐐�"), // A鐐� - TO_B(10, "B鐐�"), // B鐐� - FIT_LEFT(11, "宸︽惉绉�"), // 宸︽惉绉� - FIT_RIGHT(12, "鍙虫惉绉�"), // 鍙虫惉绉� +// MOVE_LEFT(5, "宸︾Щ搴�"), // 宸︾Щ搴� +// MOVE_RIGHT(6, "鍙崇Щ搴�"), // 鍙崇Щ搴� + GO_ORIGIN(7, "鍘诲彸绔�"), // 鍥炲師鐐� + BACK_ORIGIN(8, "鍘诲乏绔�"), // 鍥炲弽鍘熺偣 +// TO_A(9, "A鐐�"), // A鐐� +// TO_B(10, "B鐐�"), // B鐐� +// FIT_LEFT(11, "宸︽惉绉�"), // 宸︽惉绉� +// FIT_RIGHT(12, "鍙虫惉绉�"), // 鍙虫惉绉� CHARGE(13, "鍏呯數"), // 鍏呯數 - CHECK_LEFT(14, "宸︾洏鐐�"), // 宸︾洏鐐� - CHECK_RIGHT(15, "鍙崇洏鐐�"), // 鍙崇洏鐐� +// CHECK_LEFT(14, "宸︾洏鐐�"), // 宸︾洏鐐� +// CHECK_RIGHT(15, "鍙崇洏鐐�"), // 鍙崇洏鐐� ; public Integer id; @@ -51,4 +54,49 @@ return null; } + public static SteTaskModeType findOriginByLoc(String locNo) { + switch (Utils.getGroupRow(locNo)) { + case 3: + case 11: + case 18: + return SteTaskModeType.GO_ORIGIN; // 鍙� + case 4: + case 12: + case 19: + return SteTaskModeType.BACK_ORIGIN; // 宸� + default: + throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�"); + } + } + + public static SteTaskModeType findInByLoc(String locNo) { + switch (Utils.getGroupRow(locNo)) { + case 3: + case 11: + case 18: + return SteTaskModeType.IN_RIGHT; // 鍙� + case 4: + case 12: + case 19: + return SteTaskModeType.IN_LEFT; // 宸� + default: + throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�"); + } + } + + public static SteTaskModeType findOutByLoc(String locNo) { + switch (Utils.getGroupRow(locNo)) { + case 3: + case 11: + case 18: + return SteTaskModeType.OUT_RIGHT; // 鍙� + case 4: + case 12: + case 19: + return SteTaskModeType.OUT_LEFT; // 宸� + default: + throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�"); + } + } + } -- Gitblit v1.9.1