From d34366b9d348f47a8083aa3dd2e3e0efa2377dcf Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期五, 25 四月 2025 20:57:18 +0800 Subject: [PATCH] 初步调试 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 80 ++++++++++++++++++++++++++------------- 1 files changed, 53 insertions(+), 27 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 4840377..65dcae0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -22,10 +22,7 @@ import com.zy.core.cache.SlaveConnection; import com.zy.core.dispatcher.ShuttleDispatchUtils; import com.zy.core.enums.*; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.LiftSlave; -import com.zy.core.model.ShuttleSlave; -import com.zy.core.model.Task; +import com.zy.core.model.*; import com.zy.core.model.command.*; import com.zy.core.model.protocol.ForkLiftStaProtocol; import com.zy.core.model.protocol.LiftProtocol; @@ -37,7 +34,9 @@ import com.zy.core.thread.LiftThread; import com.zy.core.thread.ShuttleThread; import com.zy.core.thread.impl.FyDevpThread; +import com.zy.core.thread.impl.NormalLedThread; import com.zy.system.service.ConfigService; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -200,15 +199,8 @@ } // 閫�鍥� if (back) { - if (!staProtocol.isLoading()) { - continue; - } - if (!staProtocol.isPakMk()) { - continue; - } // led 寮傚父鏄剧ず if (ledThread != null) { - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); ledThread.error(errMsg); } } @@ -231,8 +223,6 @@ wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts); wrkMast.setModiTime(new Date()); wrkMastService.updateById(wrkMast); - setLedData(wrkMast.getWrkNo(), wrkMast.getStaNo()); - } else if (wrkMast != null && wrkMast.getWrkSts() != WrkStsType.NEW_INBOUND.sts) { continue; } @@ -308,6 +298,34 @@ } else { staProtocol = staProtocol.clone(); } + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + String errMsg = ""; + boolean back = false; + if (!back && staProtocol.isBackErr()) { + errMsg = "瓒呭寮傚父"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "瓒呴珮寮傚父"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "瓒呴暱寮傚父"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + // 閫�鍥� + if (back) { + + // led 寮傚父鏄剧ず + if (ledThread != null) { + ledThread.error(errMsg); + } + } + Short workNo = staProtocol.getWorkNo(); if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) { String barcode = staProtocol.getBarcode(); @@ -329,7 +347,6 @@ JSONObject jsonObject = JSON.parseObject(response); Integer code = jsonObject.getInteger("code"); if (code.equals(200)) { - setLedData(wrkMast.getWrkNo(), wrkMast.getStaNo()); } else { String msg = jsonObject.getString("msg"); @@ -401,6 +418,8 @@ wrkMast.setModiTime(new Date()); if (!wrkMastService.updateById(wrkMast)) { News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo()); + } else { + setLedData(Integer.parseInt(wrkMast.getWmsWrkNo()), wrkMast.getStaNo()); } } } @@ -516,7 +535,7 @@ wrkMast.setModiTime(new Date()); wrkMast.setShuttleNo(null); wrkMastService.updateById(wrkMast); - setLedData(wrkMast.getWrkNo(), wrkMast.getStaNo()); + setLedData(Integer.parseInt(wrkMast.getWmsWrkNo()), wrkMast.getStaNo()); } } } @@ -526,7 +545,6 @@ private void setLedData(Integer wrkNo, Integer staNo) { try { - List<LedCommand> commands = new ArrayList<>(); Map<String, Object> param = new HashMap<>(); param.put("taskNo", wrkNo); String response = null; @@ -541,9 +559,10 @@ if (code.equals(200)) { String data = jsonObject.getString("data"); List<LedCommand> wrkDetls = JSONArray.parseArray(data, LedCommand.class); - commands.addAll(wrkDetls); - redisUtil.set("LED_" + staNo, commands, 10); - log.info("鐢佃鏈烘暟鎹缃細{}", data); + redisUtil.set("LED_" + staNo, wrkDetls, 30); + log.info("鐢佃鏈烘暟鎹缃細{},{}", staNo, data); + } else { + log.info("鐢佃鏈烘暟鎹缃紓甯革細{},{}", wrkNo, response); } } catch (Exception e) { e.printStackTrace(); @@ -949,19 +968,21 @@ } } String barcode = staProtocol.getBarcode(); - if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { - return false; - } - if (!staProtocol.isAutoing()) { - News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId()); - return false; - } + + if (!staProtocol.isLoading()) { News.info("{}浠诲姟锛寋}绔欑偣锛屾棤鎵樼洏", wrkMast.getWrkNo(), staProtocol.getSiteId()); return false; } if (wrkMast.getSourceStaNo() != 1031) { + if (!staProtocol.isAutoing()) { + News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId()); + return false; + } + if (Cools.isEmpty(barcode) || "?".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { + return false; + } if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) { News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode()); return false; @@ -993,6 +1014,7 @@ wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); if (wrkMastService.updateById(wrkMast)) { + setLedData(Integer.parseInt(wrkMast.getWmsWrkNo()), wrkMast.getStaNo()); return false; } return false; @@ -1341,7 +1363,7 @@ wrkMast.setModiTime(now); if (wrkMastService.updateById(wrkMast)) { - setLedData(wrkMast.getWrkNo(), wrkMast.getStaNo()); + setLedData(Integer.parseInt(wrkMast.getWmsWrkNo()), wrkMast.getStaNo()); //涓嬪彂浠诲姟 liftAction.assignWork(wrkMast.getLiftNo(), assignCommand); return false; @@ -2301,6 +2323,10 @@ * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� */ public synchronized void ioConvert() { + for (LedSlave led : slaveProperties.getLed()) { + NormalLedThread ledThread = (NormalLedThread) SlaveConnection.get(SlaveType.Led, led.getId()); + ledThread.reset(); + } try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, 1); -- Gitblit v1.9.1