From c0fa9d25de6a617372da05be72d9eb821aa3dbc1 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 17 一月 2024 17:04:33 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 82 +++++++++++++++++++++++++++++++++------- 1 files changed, 67 insertions(+), 15 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 176130d..12738ca 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -106,6 +106,57 @@ } String barcode = barcodeThread.getBarcode(); + + + // 鑾峰彇鍏ュ簱绔欎俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + // 灏哄妫�娴嬪紓甯� + boolean back = false; + String errMsg = "寮傚父锛�"; + if (staProtocol.isFrontErr()) { + errMsg = errMsg+"鍓嶈秴闄愶紱"; + back = true; + } + if (staProtocol.isBackErr()) { + errMsg = errMsg+"鍚庤秴闄�"; + back = true; + } + if (staProtocol.isHighErr()) { + errMsg = errMsg+"楂樿秴闄�"; + back = true; + } + if (staProtocol.isLeftErr()) { + errMsg = errMsg+"宸﹁秴闄�"; + back = true; + } + if (staProtocol.isRightErr()) { + errMsg = errMsg+"鍙宠秴闄�"; + back = true; + } + if (staProtocol.isWeightErr()) { + errMsg = errMsg+"瓒呴噸"; + back = true; + } + if (staProtocol.isBarcodeErr()) { + errMsg = errMsg+"鎵爜澶辫触"; + back = true; + } + // 閫�鍥� + if (back) { + // led 寮傚父鏄剧ず + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + if (ledThread != null) { + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); + } + continue; + } + if (!Cools.isEmpty(barcode)) { log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { @@ -120,16 +171,6 @@ // } continue; } - - // 鑾峰彇鍏ュ簱绔欎俊鎭� - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() @@ -328,7 +369,7 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() - && staProtocol.getWorkNo() == 9991) { + && staProtocol.getWorkNo() == 9999) { // WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); if (barcode.equals("") || barcode.equals("99999999")) { @@ -348,8 +389,9 @@ continue; } - WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); - ledThread.errorReset(); +// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); + if (wrkMast == null) { wrkMast = wrkMastMapper.selectPickStep(barcode); } @@ -433,6 +475,8 @@ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + }else { + ledThread.errorReset(); } } @@ -1252,6 +1296,7 @@ // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed()); if (staProtocol == null) { continue; } else { @@ -1262,6 +1307,13 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() >= 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("sta_no", emptyInSta.getStaNo()) + .eq("io_type", 10) + .eq("wrk_sts", 2)); + if (!Cools.isEmpty(wrkMasts)){ + continue; + } try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); @@ -1278,7 +1330,7 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); - + ledThread.errorReset(); // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); @@ -1419,7 +1471,7 @@ // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); if (staProtocol == null) { continue; } - if (staProtocol.getWorkNo() != 0) { + if (staProtocol.getWorkNo() != 0 || staProtocol.isErr()) { reset = false; break; } -- Gitblit v1.9.1