From 634f691354a519fbae4714b20dbc9e89030657b8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 22 九月 2022 10:06:39 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 105 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 63 insertions(+), 42 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 f37d508..911a582 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1362,11 +1362,11 @@ continue; } else { // 灏忚溅鎼嚦鎸囧畾搴撲綅瀹屾垚 - if (wrkCharge.getWrkSts() == 4) { - // 4.杩佸叆灏忚溅 ===>> 6.灏忚溅寰呭叆 - wrkCharge.setWrkSts(6L); + if (wrkCharge.getWrkSts() == 23) { + // 23.鍚婅溅鎼繍 ===>> 24.灏忚溅鍒拌揪 + wrkCharge.setWrkSts(24L); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 4.杩佸叆灏忚溅 ===>> 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼鍏呯數浠诲姟鐘舵�� 23.鍚婅溅鎼繍 ===>> 24.灏忚溅鍒拌揪 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } else { // 鍫嗗灈鏈哄浣� crnThread.setResetFlag(true); @@ -1627,7 +1627,7 @@ /** * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� */ - public void carGenerateStore() { + public synchronized void carGenerateStore() { Date now = new Date(); for (SteSlave ste : slaveProperties.getSte()) { // 鑾峰彇绌挎杞︿俊鎭� @@ -1646,21 +1646,55 @@ if (wrkCharge == null) { continue; } else { - if (wrkCharge.getWrkSts() == 11) { - // 11.鐢熸垚鍑哄簱ID ===>> 12.灏忚溅寰呮惉 - wrkCharge.setWrkSts(12L); + if (wrkCharge.getWrkSts() == 21) { + // 21.鍑嗗鍏呯數 ===>> 22.灏忚溅寰呮惉 + wrkCharge.setWrkSts(22L); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 11.鐢熸垚鍑哄簱ID ===>> 12.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼鍏呯數浠诲姟鐘舵�� 21.鍑嗗鍏呯數 ===>> 22.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } else { steThread.setResetFlag(true); } - } else if (wrkCharge.getWrkSts() == 8) { - // 8.灏忚溅鎼叆搴� ===>> 9.鍏ュ簱瀹屾垚 - wrkCharge.setWrkSts(9L); + } else if (wrkCharge.getWrkSts() == 25) { + // 25.灏忚溅琛岄┒ ===>> 26.绛夊緟鍏呯數 + wrkCharge.setWrkSts(26L); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 8.灏忚溅鎼叆搴� ===>> 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼鍏呯數浠诲姟鐘舵�� 25.灏忚溅琛岄┒ ===>> 26.绛夊緟鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } else { steThread.setResetFlag(true); + } + } else if (wrkCharge.getWrkSts() == 26) { + if (steProtocol.getChargeStatus() == 0) { continue; } + // 绌挎杞﹀厖鐢靛懡浠や笅鍙戝尯 -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.CHARGE); + if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 ===> 27.杈撻�佺嚎涓婄數 + wrkCharge.setWrkSts(27L); + wrkCharge.setModiTime(now); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼鍏呯數浠诲姟鐘舵�� 26.绛夊緟鍏呯數 ===> 27.杈撻�佺嚎涓婄數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + } + } + } else if (wrkCharge.getWrkSts() == 27) { + // 缁欒緭閫佺嚎涓嬪彂鍏呯數浠诲姟 + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); + SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo()); + if (null != steChargeType) { + if (devpThread.charge(steChargeType.ssbm - 1, true)) { + // 淇敼宸ヤ綔妗g姸鎬� 27.杈撻�佺嚎涓婄數 ===> 28.瀹屾垚鍏呯數 + wrkCharge.setWrkSts(28L); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼鍏呯數浠诲姟鐘舵�� 27.杈撻�佺嚎涓婄數 ===> 28.瀹屾垚鍏呯數 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + } else { + steThread.setResetFlag(true); + } + } + } else { + log.error("鑾峰彇鍏呯數妗╁彿澶辫触锛岃В鏋愬簱浣嶏細{}", wrkCharge.getLocNo()); } } } @@ -2057,7 +2091,8 @@ BasSte basSte = basSteService.selectById(ste.getId()); if (Cools.isEmpty(steProtocol, basSte)) { continue; } try { - if (!steProtocol.statusType.equals(SteStatusType.IDLE) || basSte.getPakMk().equals("Y")) { + // 绌洪棽 鏃犱綔涓氭爣璁� 涓嶅湪鍏呯數 + if (!steProtocol.statusType.equals(SteStatusType.IDLE) || basSte.getPakMk().equals("Y") || steProtocol.getChargeStatus() == 1) { continue; } if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) { @@ -2070,7 +2105,7 @@ wrkCharge = new WrkCharge(); wrkCharge.setSteNo(ste.getId()); wrkCharge.setWrkNo(commonService.getChargeWorkNo(4)); - wrkCharge.setWrkSts(11L); + wrkCharge.setWrkSts(21L); // 21.鍑嗗鍏呯數 wrkCharge.setCrnNo(basSte.getCrnNo()); wrkCharge.setIoPri((double) 10); wrkCharge.setLocNo(idleLoc); @@ -2079,20 +2114,21 @@ continue; } + // 澶勪簬鍏呯數搴撲綅缁� if (Utils.getGroupRow(idleLoc).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(idleLoc) && steProtocol.getLev() == Utils.getLev(idleLoc)) { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆 - wrkCharge.setWrkSts(6L); + // 淇敼宸ヤ綔妗g姸鎬� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪 + wrkCharge.setWrkSts(24L); wrkCharge.setModiTime(new Date()); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼鍏呯數浠诲姟鐘舵�� 21.鍑嗗鍏呯數 => 24.灏忚溅鍒拌揪 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } else { this.letCarBeWaiting(wrkCharge, ste.getId()); } } else { - // 12.灏忚溅寰呮惉 - if (wrkCharge.getWrkSts() == 12) { + // 22.灏忚溅寰呮惉 + if (wrkCharge.getWrkSts() == 22) { // 鎼皬杞﹁嚦鍏呯數搴撲綅 LocMast locMast = locMastService.selectById(basSte.getIdleLoc()); @@ -2113,17 +2149,17 @@ } else { // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞� steThread.modifyPos(Utils.getGroupRow(locMast.getLocNo()), locMast.getBay1(), locMast.getLev1()); - // 淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅 + // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 Date now = new Date(); - wrkCharge.setWrkSts(4L); + wrkCharge.setWrkSts(23L); wrkCharge.setCrnStrTime(now); wrkCharge.setModiTime(now); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } - } else if (wrkCharge.getWrkSts() == 6L) { + } else if (wrkCharge.getWrkSts() == 24L) { // 灏忚溅琛岄┒鑷冲厖鐢典綅 if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- @@ -2134,30 +2170,15 @@ if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); } else { - // 淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===> 8.灏忚溅鎼叆搴� - wrkCharge.setWrkSts(8L); + // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅琛岄┒ + wrkCharge.setWrkSts(25L); Date now = new Date(); wrkCharge.setCrnEndTime(now); wrkCharge.setModiTime(now); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===> 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅琛岄┒ 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } - } - } else if (wrkCharge.getWrkSts() == 9L) { - // 缁欒緭閫佺嚎涓嬪彂鍏呯數浠诲姟 - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); - SteChargeType steChargeType = SteChargeType.get(wrkCharge.getLocNo()); - if (null != steChargeType) { - if (devpThread.charge(steChargeType.ssbm - 1, true)) { - // 淇敼宸ヤ綔妗g姸鎬� 9.鍏ュ簱瀹屾垚 ===> 10.搴撳瓨鏇存柊瀹屾垚 - wrkCharge.setWrkSts(10L); - if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 9.鍏ュ簱瀹屾垚 ===> 10.搴撳瓨鏇存柊瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); - } - } - } else { - log.error("鑾峰彇鍏呯數妗╁彿澶辫触锛岃В鏋愬簱浣嶏細{}", wrkCharge.getLocNo()); } } } -- Gitblit v1.9.1