From 8d6708ad6b4353fd1da4d3d950fa61514ed41add Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 11 五月 2023 09:07:22 +0800 Subject: [PATCH] 四向穿梭车命令封装 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 248 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 182 insertions(+), 66 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 e271946..ca20843 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -84,6 +84,8 @@ @Autowired private WrkChargeMapper wrkChargeMapper; @Autowired + private BasMapService basMapService; + @Autowired private ErpService erpService; @Autowired private OrderMapper orderMapper; @@ -544,6 +546,38 @@ } /** + * 鍒濆鍖栧疄鏃跺湴鍥� + */ + public synchronized void initRealtimeBasMap() { + for (int i = 1; i <= 4; i++) {//鎬诲叡鍥涘眰妤� + Object data = redisUtil.get("realtimeBasMap_" + i); + if (data == null) {//redis鍦板浘鏁版嵁涓虹┖锛屼粠鏁版嵁搴撲腑鑾峰彇 + BasMap basMap = basMapService.selectLatestMap(i); + if (basMap == null) { + //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙� + //杞藉叆鍦板浘 + NavigateMapData mapData = new NavigateMapData(i); + List<List<MapNode>> lists = mapData.getJsonData(-1);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱) + + //瀛樺叆鏁版嵁搴� + basMap = new BasMap(); + basMap.setData(JSON.toJSONString(lists)); + basMap.setCreateTime(new Date()); + basMap.setUpdateTime(new Date()); + basMap.setLev(i); + + if (!basMapService.insert(basMap)) { + log.info("鍦板浘鏁版嵁瀛樺偍澶辫触"); + } + } + + //灏嗘暟鎹簱鍦板浘鏁版嵁瀛樺叆redis + redisUtil.set("realtimeBasMap_" + i, JSON.toJSONString(basMap)); + } + } + } + + /** * 浠巖edis涓噸鍚换鍔� */ public synchronized void restartTaskFromRedis() { @@ -570,7 +604,7 @@ liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);//宸ヤ綔鐘舵�� liftProtocol.setLiftLock(true);//鎻愬崌鏈洪攣瀹� - }else {//鍥涘悜绌挎杞︿换鍔� + }else if(key.toString().contains("shuttle_wrk_no_")){//鍥涘悜绌挎杞︿换鍔� ShuttleRedisCommand redisCommand = JSON.parseObject(map.get(key).toString(), ShuttleRedisCommand.class); if (redisCommand == null) { continue; @@ -674,7 +708,7 @@ if (wrkMast.getWrkSts() == 8 || Boolean.parseBoolean(searchIdleShuttle.get("sameLay").toString())) { //鍚屼竴灞傜洿鎺ュ彇璐ф棤闇�缁忚繃鎻愬崌鏈� //鐩存帴璁$畻杞﹀埌鎻愬崌鏈哄彇璐у啀鍒板簱浣嶈矾寰勬寚浠� - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, locNo); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, locNo, assignCommand); if (wrkMast.getWrkSts() == 8) { //姝ゆ椂杞﹀湪鎻愬崌鏈哄唴閮紝闇�瑕佸涓嬭揪涓�姝ユ寚浠よ杞︾Щ鍔ㄥ埌鎻愬崌鏈哄彛 BasDevp basDevp = basDevpService.selectById(109);//鑾峰彇鎻愬崌鏈轰俊鎭� @@ -698,7 +732,7 @@ //涓嶅悓灞傦紝灏嗙洰鏍囧簱浣嶅垎閰嶆垚鎻愬崌鏈哄簱浣嶅彿 //灏忚溅绉诲姩鍒版彁鍗囨満鍙o紝璁$畻璺緞 - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id, assignCommand); //鍒嗛厤鐩爣搴撲綅 shuttleProtocol.setLocNo(liftLocNo); //鐩爣搴撲綅 @@ -722,13 +756,16 @@ } //鑾峰彇璧风偣-缁堢偣鎸囦护銆俶apType锛�1=銆嬫棤璐у湴鍥撅紝2=銆嬫湁璐у湴鍥� - public synchronized List<ShuttleCommand> shuttleAssignCommand(String startLocNo, String locNO,Integer mapType) { + public synchronized List<ShuttleCommand> shuttleAssignCommand(String startLocNo, String locNo, Integer mapType, ShuttleAssignCommand assignCommand) { //璁$畻灏忚溅璧风偣鍒颁腑鐐规墍闇�鍛戒护 - List<NavigateNode> calc = NavigateUtils.calc(startLocNo, locNO, mapType); + List<NavigateNode> calc = NavigateUtils.calc(startLocNo, locNo, mapType); List<ShuttleCommand> commands = new ArrayList<>(); if (calc == null) { return null; } + + List<NavigateNode> allNode = new ArrayList<>(); + allNode.addAll(calc); //鑾峰彇鍒嗘璺緞 ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(calc); @@ -764,17 +801,26 @@ command.setCommandEnd((short) 1); commands.add(command); } + + assignCommand.setNodes(allNode);//褰撳墠浠诲姟鎵�鍗犵敤鐨勮妭鐐筶ist + //鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� + NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(startLocNo)); + navigateMapData.writeNavigateNodeToRedisMap(allNode, true);////鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� + return commands; } //鑾峰彇璧风偣-涓偣-缁堢偣鎸囦护 - public synchronized List<ShuttleCommand> shuttleAssignCommand(String startLocNo, String middleLocNo, String locNO) { + public synchronized List<ShuttleCommand> shuttleAssignCommand(String startLocNo, String middleLocNo, String locNo, ShuttleAssignCommand assignCommand) { //璁$畻灏忚溅璧风偣鍒颁腑鐐规墍闇�鍛戒护 List<NavigateNode> calc = NavigateUtils.calc(startLocNo, middleLocNo, 1);//灏忚溅鏃犺揣锛岃蛋鍏ュ簱鍦板浘 List<ShuttleCommand> commands = new ArrayList<>(); if (calc == null) { return null; } + + List<NavigateNode> allNode = new ArrayList<>(); + allNode.addAll(calc); //鑾峰彇鍒嗘璺緞 ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(calc); @@ -819,10 +865,12 @@ commands.add(command); //璁$畻灏忚溅涓偣鍒扮粓鐐规墍闇�鍛戒护 - List<NavigateNode> calc2 = NavigateUtils.calc(middleLocNo, locNO, 2);//灏忚溅鏈夎揣锛岃蛋鍑哄簱鍦板浘(鍑哄簱鍦板浘鏈変笓鐢ㄨ揣閬�) + List<NavigateNode> calc2 = NavigateUtils.calc(middleLocNo, locNo, 2);//灏忚溅鏈夎揣锛岃蛋鍑哄簱鍦板浘(鍑哄簱鍦板浘鏈変笓鐢ㄨ揣閬�) if (calc2 == null) { return null; } + + allNode.addAll(calc2); //鑾峰彇鍒嗘璺緞 ArrayList<ArrayList<NavigateNode>> data2 = NavigateUtils.getSectionPath(calc2); @@ -864,6 +912,11 @@ command.setPalletLift((short) 2); command.setCommandEnd((short) 1); commands.add(command); + + assignCommand.setNodes(allNode);//褰撳墠浠诲姟鎵�鍗犵敤鐨勮妭鐐筶ist + //鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� + NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(startLocNo)); + navigateMapData.writeNavigateNodeToRedisMap(allNode, true);////鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� return commands; } @@ -948,7 +1001,7 @@ if (Boolean.parseBoolean(searchIdleShuttle.get("sameLay").toString())) { //鍚屼竴灞�(灏嗗皬杞︾Щ鍔ㄥ埌璐х墿浣嶇疆) - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, wrkMast.getSourceLocNo(), liftLocNo); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, wrkMast.getSourceLocNo(), liftLocNo, assignCommand); //鍒嗛厤鐩爣搴撲綅 shuttleProtocol.setLocNo(wrkMast.getSourceLocNo()); //鐩爣搴撲綅 @@ -959,7 +1012,7 @@ //涓嶅悓灞傦紝灏嗙洰鏍囧簱浣嶅垎閰嶆垚鎻愬崌鏈哄簱浣嶅彿(灏嗗皬杞︾Щ鍔ㄥ埌鎻愬崌鏈轰綅缃�) //灏忚溅鍒版彁鍗囨満鍙f寚浠� - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id, assignCommand); shuttleProtocol.setLocNo(liftLocNo); //鐩爣搴撲綅 assignCommand.setLocNo(liftLocNo); @@ -967,7 +1020,7 @@ wrkMast.setWrkSts(22L);//灏忚溅杩佺Щ鐘舵�� } } else if (wrkMast.getWrkSts() == 25) { - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, wrkMast.getSourceLocNo(), liftLocNo); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, wrkMast.getSourceLocNo(), liftLocNo, assignCommand); //姝ゆ椂杞﹀湪鎻愬崌鏈哄唴閮紝闇�瑕佸涓嬭揪涓�姝ユ寚浠よ杞︾Щ鍔ㄥ埌鎻愬崌鏈哄彛 BasDevp basDevp = basDevpService.selectById(109);//鑾峰彇鎻愬崌鏈轰俊鎭� ShuttleCommand moveCommand = new ShuttleCommand(); @@ -1197,7 +1250,7 @@ } //鎼滅储鏄惁鏈夊緟澶勭悊鐨勪换鍔� - WrkMast wrkMast = wrkMastMapper.selectLiftStep62327(); + WrkMast wrkMast = wrkMastMapper.selectLiftStep262327(); if (wrkMast == null) { continue; } @@ -1205,56 +1258,40 @@ //缁欐彁鍗囨満鍒嗛厤浠诲姟 liftProtocol.setLiftLock(true);//閿佸畾鎻愬崌鏈� liftProtocol.setTaskNo(wrkMast.getWrkNo().shortValue());//璁剧疆浠诲姟鍙� - liftProtocol.setShuttleNo(wrkMast.getShuttleNo().shortValue());//璁剧疆鍥涘悜绌挎杞﹀彿 liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);//璁剧疆鎻愬崌鏈虹姸鎬佷负宸ヤ綔涓� - - //鎵惧埌鍥涘悜绌挎杞︾殑绾跨▼ - ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, liftProtocol.getShuttleNo().intValue()); - if (shuttleThread == null) { - continue; - } - ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); - if (shuttleProtocol == null) { - continue; - } //鍛戒护list ArrayList<LiftCommand> commands = new ArrayList<>(); - //褰撳墠绌挎杞﹀簱浣嶅彿 - String currentLocNo = shuttleProtocol.getCurrentLocNo(); - //褰撳墠绌挎杞︽ゼ灞� - int currentLocNoLey = Integer.parseInt(currentLocNo.substring(currentLocNo.length() - 2, currentLocNo.length())); + if (wrkMast.getWrkSts() == 2) { + //宸ヤ綔妗g洰鏍囧簱浣嶅彿 + String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); + //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞� + int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length())); - //宸ヤ綔妗g洰鏍囧簱浣嶅彿 - String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); - //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞� - int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length())); + //鎻愬崌鏈哄綋鍓嶆ゼ灞� + int liftLev = liftProtocol.getLev().intValue(); + if (liftLev != 1) { + //鎻愬崌鏈轰笉鍦�1灞� + LiftCommand command1 = new LiftCommand(); + command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command1.setRun((short) 1);//鍗囬檷 + command1.setDistPosition((short) 1);//鐩爣妤煎眰1灞� + command1.setLiftLock(true);//閿佸畾鎻愬崌鏈� - //鎻愬崌鏈哄綋鍓嶆ゼ灞� - int liftLev = liftProtocol.getLev().intValue(); - if (liftLev != currentLocNoLey) { - //涓嶅悓妤煎眰 - LiftCommand command1 = new LiftCommand(); - command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 - command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� - command1.setRun((short) 1);//鍗囬檷 - command1.setDistPosition((short) currentLocNoLey);//鐩爣妤煎眰(绌挎杞︽墍鍦ㄦゼ灞�) - command1.setLiftLock(true);//閿佸畾鎻愬崌鏈� + commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list + } - commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list - } + //杈撻�佺嚎灏嗚揣鐗╄繍杩涙潵 + LiftCommand command2 = new LiftCommand(); + command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command2.setRun((short) 6);//杈撻�佺嚎杩愪綔 + command2.setLiftLock(true);//閿佸畾鎻愬崌鏈� - //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩杩涙潵 - LiftCommand command2 = new LiftCommand(); - command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 - command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� - command2.setRun((short) 6);//杈撻�佺嚎杩愪綔 - command2.setLiftLock(true);//閿佸畾鎻愬崌鏈� + commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list - commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list - - if (liftLev != currentLocNoLey) { //鎻愬崌鏈哄墠寰�鐩爣妤煎眰 LiftCommand command3 = new LiftCommand(); command3.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 @@ -1264,19 +1301,89 @@ command3.setLiftLock(true);//閿佸畾鎻愬崌鏈� commands.add(command3);//灏嗗懡浠ゆ坊鍔犺繘list + + //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗚揣鐗╃Щ鍑哄幓 + //杈撻�佺嚎灏嗚揣鐗╃Щ鍑哄幓 + LiftCommand command4 = new LiftCommand(); + command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command4.setRun((short) 3);//杈撻�佺嚎杩愪綔 + command4.setLiftLock(true);//閿佸畾鎻愬崌鏈� + + commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list + }else { + liftProtocol.setShuttleNo(wrkMast.getShuttleNo().shortValue());//璁剧疆鍥涘悜绌挎杞﹀彿 + + //鎵惧埌鍥涘悜绌挎杞︾殑绾跨▼ + ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); + if (shuttleThread == null) { + continue; + } + ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol(); + if (shuttleProtocol == null) { + continue; + } + + //褰撳墠绌挎杞﹀簱浣嶅彿 + String currentLocNo = shuttleProtocol.getCurrentLocNo(); + //褰撳墠绌挎杞︽ゼ灞� + int currentLocNoLey = Integer.parseInt(currentLocNo.substring(currentLocNo.length() - 2, currentLocNo.length())); + + //宸ヤ綔妗g洰鏍囧簱浣嶅彿 + String wrkMastLocNo = wrkMast.getIoType() == 101 ? wrkMast.getSourceLocNo() : wrkMast.getLocNo(); + //宸ヤ綔妗g洰鏍囧簱浣嶆ゼ灞� + int wrkMastLocNoLey = Integer.parseInt(wrkMastLocNo.substring(wrkMastLocNo.length() - 2, wrkMastLocNo.length())); + + //鎻愬崌鏈哄綋鍓嶆ゼ灞� + int liftLev = liftProtocol.getLev().intValue(); + if (liftLev != currentLocNoLey) { + //涓嶅悓妤煎眰 + LiftCommand command1 = new LiftCommand(); + command1.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command1.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command1.setRun((short) 1);//鍗囬檷 + command1.setDistPosition((short) currentLocNoLey);//鐩爣妤煎眰(绌挎杞︽墍鍦ㄦゼ灞�) + command1.setLiftLock(true);//閿佸畾鎻愬崌鏈� + + commands.add(command1);//灏嗗懡浠ゆ坊鍔犺繘list + } + + //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩杩涙潵 + LiftCommand command2 = new LiftCommand(); + command2.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command2.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command2.setRun((short) 6);//杈撻�佺嚎杩愪綔 + command2.setLiftLock(true);//閿佸畾鎻愬崌鏈� + + commands.add(command2);//灏嗗懡浠ゆ坊鍔犺繘list + + if (liftLev != currentLocNoLey) { + //鎻愬崌鏈哄墠寰�鐩爣妤煎眰 + LiftCommand command3 = new LiftCommand(); + command3.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command3.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command3.setRun((short) 1);//鍗囬檷 + command3.setDistPosition((short) wrkMastLocNoLey);//宸ヤ綔妗g洰鏍囨ゼ灞� + command3.setLiftLock(true);//閿佸畾鎻愬崌鏈� + + commands.add(command3);//灏嗗懡浠ゆ坊鍔犺繘list + } + + //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲嚭鍘� + //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩鍑哄幓 + LiftCommand command4 = new LiftCommand(); + command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 + command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� + command4.setRun((short) 3);//杈撻�佺嚎杩愪綔 + command4.setLiftLock(true);//閿佸畾鎻愬崌鏈� + + commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list } - //鎻愬崌鏈哄埌杈炬寚瀹氭ゼ灞傦紝杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲嚭鍘� - //杈撻�佺嚎灏嗗洓鍚戠┛姊溅绉诲姩鍑哄幓 - LiftCommand command4 = new LiftCommand(); - command4.setLiftNo(liftProtocol.getLiftNo());//鎻愬崌鏈哄彿 - command4.setTaskNo(liftProtocol.getTaskNo());//浠诲姟鍙� - command4.setRun((short) 3);//杈撻�佺嚎杩愪綔 - command4.setLiftLock(true);//閿佸畾鎻愬崌鏈� - - commands.add(command4);//灏嗗懡浠ゆ坊鍔犺繘list - switch (wrkMast.getWrkSts().intValue()) { + case 2://2.璁惧涓婅蛋 + wrkMast.setWrkSts(3L);//3.鎻愬崌鏈烘惉杩愪腑 + break;//3.鎻愬崌鏈烘惉杩愪腑 case 6://6.杩佺Щ灏忚溅鑷虫彁鍗囨満鍙e畬鎴� wrkMast.setWrkSts(7L);//7.鎻愬崌鏈鸿縼绉诲皬杞︿腑 break; @@ -1315,9 +1422,12 @@ //鎻愬崌鏈轰负绛夊緟纭 if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id && liftProtocol.getTaskNo() != 0) { //灏嗕换鍔℃。鏍囪涓哄畬鎴� - WrkMast wrkMast = wrkMastMapper.selectByWorkNo72428(liftProtocol.getTaskNo().intValue()); + WrkMast wrkMast = wrkMastMapper.selectByWorkNo372428(liftProtocol.getTaskNo().intValue()); if (wrkMast != null) { switch (wrkMast.getWrkSts().intValue()) { + case 3://3.鎻愬崌鏈烘惉杩愪腑 ==> 4.鎻愬崌鏈烘惉杩愬畬鎴� + wrkMast.setWrkSts(4L); + break; case 7://7.鎻愬崌鏈鸿縼绉诲皬杞︿腑 ==> 8.鎻愬崌鏈鸿縼绉诲皬杞﹀畬鎴� wrkMast.setWrkSts(8L); break; @@ -1326,6 +1436,7 @@ break; case 28://28.鎻愬崌鏈烘惉杩愪腑 ==> 29.鎻愬崌鏈烘惉杩愬畬鎴� wrkMast.setWrkSts(29L); + wrkMast.setWrkSts(34L);//34.鍑哄簱瀹屾垚锛屾殏鏃跺厛鐩存帴瀹屾垚鍑哄簱宸ヤ綔妗o紝鍚庣画闇�瑕佹牴鎹緭閫佺嚎缁欏嚭鐨勭姸鎬佹潵纭畾34.鍑哄簱瀹屾垚鐘舵�� break; default: } @@ -2146,11 +2257,14 @@ if (currentLev == chargeLocNoLev) { //鍚屼竴灞傛棤闇�缁忚繃鎻愬崌鏈� //鐩存帴璁$畻杞﹀埌鍏呯數搴撲綅 + + ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); + //鑾峰彇灏忚溅鍒板厖鐢靛簱浣嶈矾寰勬寚浠� - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, chargeLocNo, ShuttleTaskModeType.PAK_IN.id); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, chargeLocNo, ShuttleTaskModeType.PAK_IN.id, assignCommand); //杩涜鍏呯數涓� shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING); - ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); + assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); assignCommand.setTaskMode((short) 9);//鍏呯數 assignCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); @@ -2175,12 +2289,14 @@ }else { //涓嶅悓灞傦紝灏嗙洰鏍囧簱浣嶅垎閰嶆垚鎻愬崌鏈哄簱浣嶅彿 + ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); + //灏忚溅绉诲姩鍒版彁鍗囨満鍙o紝璁$畻璺緞 - List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id); + List<ShuttleCommand> commands = this.shuttleAssignCommand(currentLocNo, liftLocNo, ShuttleTaskModeType.PAK_IN.id, assignCommand); //鍒嗛厤鐩爣搴撲綅 shuttleProtocol.setLocNo(liftLocNo); - ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); + assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); assignCommand.setTaskMode((short) 9);//鍏呯數 assignCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); -- Gitblit v1.9.1