From b78b9ca2ef71de6b9af4a31b45defb12304289b7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 25 十月 2022 08:18:24 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 76 +++++++++++++++++++++++++++++--------- 1 files changed, 58 insertions(+), 18 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 722f314..7b18315 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -3,7 +3,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; @@ -153,6 +152,11 @@ continue; } + // 杩囨护鐩樼偣/鎷f枡/骞舵澘浠诲姟 + if (null != wrkMastMapper.selectPickStepByBarcode(barcode)) { + continue; + } + // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode); if (wrkMast != null) { @@ -183,6 +187,8 @@ staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); + + ledThread.errorReset(); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { @@ -342,7 +348,7 @@ && staProtocol.isInEnable() // 0 - 9990 鎴栬�� 9996 && ((staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9990) || staProtocol.getWorkNo() == 9996) - && staProtocol.getStaNo().equals(staProtocol.getWorkNo()) + && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue()) && staProtocol.isPakMk()){ // 鑾峰彇鏉$爜鎵弿浠俊鎭� @@ -425,16 +431,18 @@ if (code.equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); - // 鑾峰彇鐩爣绔� - Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", wrkMast.getIoType() - 50) - .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 - .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿 - StaDesc staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - log.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); - continue; - } +// // 鑾峰彇鐩爣绔� +// Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() +// .eq("type_no", wrkMast.getIoType() - 50) +// .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 +// .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿 +// StaDesc staDesc = staDescService.selectOne(wrapper); +// if (Cools.isEmpty(staDesc)) { +// log.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); +// continue; +// } +// // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) +// Integer staNo = staDesc.getCrnStn(); // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 // if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) { @@ -445,13 +453,12 @@ throw new CoolException(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); } - // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) - Integer staNo = staDesc.getCrnStn(); + String sourceLocNo = wrkMast.getSourceLocNo().trim(); // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57 wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯 - wrkMast.setStaNo(staNo); // 鐩爣绔� + wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔� wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� @@ -463,7 +470,7 @@ throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); } // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣� - LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + LocMast locMast = locMastService.selectById(sourceLocNo); locMast.setLocSts("O"); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)) { @@ -477,12 +484,14 @@ throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�"); } // 搴撳瓨鏄庣粏杞Щ - if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) { throw new CoolException(wrkMast.getWrkNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�"); } // 鏉$爜璁惧澶勭悊 barcodeThread.setBarcode(""); + + ledThread.errorReset(); // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); @@ -689,7 +698,19 @@ continue; } - // 杩囨护 + // 妫�娴嬫槸鍚﹀瓨鍦ㄥ嚭搴撲换鍔� +// WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), null); +// if (null != pakoutWrkMast) { +// if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107) +// && pakoutWrkMast.getWrkSts() == 17 +// && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null +// ) { +// +// } else { +// log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo()); +// continue; +// } +// } if (null != wrkMastMapper.selectPakout(slave.getId(), null)) { log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍑哄簱涓换鍔�!", wrkMast.getWrkNo()); continue; @@ -1000,6 +1021,22 @@ SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { // 娌℃湁鍏朵粬浠诲姟 +// boolean hasPakout = true; +// WrkMast pakoutWrkMast = wrkMastMapper.selectPakout(slave.getId(), steNo); +// if (null != pakoutWrkMast) { +// if ((pakoutWrkMast.getIoType() == 103 || pakoutWrkMast.getIoType() == 104 || pakoutWrkMast.getIoType() == 107) +// && pakoutWrkMast.getWrkSts() == 17 +// && basDevpService.selectByWrkNo(pakoutWrkMast.getWrkNo()) != null +// ) { +// hasPakout = false; +// } +// } else { +// hasPakout = false; +// } +// if (!hasPakout) { +// // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� +// this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); +// } if (null == wrkMastMapper.selectPakout(slave.getId(), steNo)) { // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); @@ -1965,6 +2002,7 @@ SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { continue; } if (steProtocol.getWaiting() && steProtocol.getTaskNo() != 0) { + log.info("ste[id={}] 鎵ц宸ヤ綔妗e畬鎴愶紝浠诲姟鍙�={}", steProtocol.getSteNo(), steProtocol.getTaskNo()); if (steProtocol.getTaskNo() == 9999) { steThread.setResetFlag(true); } else { @@ -2383,6 +2421,8 @@ if (code.equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); + ledThread.errorReset(); + // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); -- Gitblit v1.9.1