From d84bd33407c8969b780dd5038ed702bb5868b464 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期三, 12 十月 2022 17:46:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 96 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 87 insertions(+), 9 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 d6642a7..09096b7 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -35,6 +35,7 @@ import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.BarcodeThread; import com.zy.core.thread.LedThread; +import com.zy.core.thread.SiemensCrnThread; import com.zy.core.thread.SiemensDevpThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -103,7 +104,7 @@ for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� for (DevpSlave.Sta inSta : devp.getInSta()) { -// inSta.setStaNo(102); + inSta.setStaNo(102); // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); if (barcodeThread == null) { @@ -167,7 +168,7 @@ try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); -// locTypeDto.setLocType1((short)1); + locTypeDto.setLocType1((short)1); SearchLocParam param = new SearchLocParam(); param.setBarcode(barcode); param.setIoType(1); @@ -2019,6 +2020,16 @@ newStatus = 0; newSingle = 0;//娴嬭瘯澶嶆牳锛屽瘎瀛樺櫒鍦板潃锛�8===>>0 break; + case 11://鍏ュ簱鍓嶅垽鏂厖鐢电嚎鏄惁鏀惧ソ + olsStatus = 99; + newStatus = 0; + newSingle = 11;// + break; + case 12://鍏呯數绾挎斁濂� + olsStatus = 99; + newStatus = 0; + newSingle = 0;//娴嬭瘯澶嶆牳锛屽瘎瀛樺櫒鍦板潃锛�12===>>0 + break; } TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>() @@ -2042,8 +2053,9 @@ } else { devpThread.startSignal[i] = newSingle; } - }else if (testMast == null && devpThread.startSignal[i] == 5){ + }else if (devpThread.startSignal[i] == 5){ SearchLocParam param = new SearchLocParam(); + param.setBarcode(i+1+""); String response = new HttpHandler.Builder() .setUri(wmsUrl) .setPath("/mobile/test/suspend/auth") @@ -2058,7 +2070,7 @@ staProtocol.setStaNo(newSingle);//淇敼PLC瀵勫瓨鍣ㄥ湴鍧�鍊�,5==>6 boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); if(!result){ - log.error("鏇存柊娴嬭瘯淇″彿澶辫触===>>[channel:{},locNo:{},barcode:{}]", i+1, testMast.getLocNo(), testMast.getBarcode()); + log.error("鏆傚仠娴嬭瘯澶辫触===>>["+i+1+"]鍙烽�氶亾"); // throw new CoolException("鏇存柊娴嬭瘯淇″彿澶辫触===>>" + i); } else { devpThread.startSignal[i] = newSingle; @@ -2066,7 +2078,7 @@ } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/mobile/test/suspend/auth", JSON.toJSONString(param), response); } - }else if (testMast == null && devpThread.startSignal[i] == 7){ + }else if (devpThread.startSignal[i] == 7){ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("channel",(i+1))); if (locMast.getLocSts().equals("F")){ @@ -2085,10 +2097,46 @@ } else { devpThread.startSignal[i] = newSingle; } - }else if (testMast == null && devpThread.startSignal[i] == 8){ - - } - + }else if (devpThread.startSignal[i] == 8){ + //澶嶄綅PLC淇″彿锛屽�熺敤杈撻�佺珯鐐瑰疄浣撶被 + StaProtocol staProtocol = new StaProtocol(); + staProtocol.setSiteId(i*2);//瀵勫瓨鍣ㄥ湴鍧� + staProtocol.setStaNo(newSingle);//淇敼PLC瀵勫瓨鍣ㄥ湴鍧�鍊�,8==>0 + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); + if(!result){ +// log.error("鏇存柊搴撲綅绱ф�ュ嚭搴撲俊鍙峰け璐�===>>[channel:{},locNo:{},barcode:{}]", i+1, locMast.getLocNo(), locMast.getBarcode()); +// throw new CoolException("鏇存柊娴嬭瘯淇″彿澶辫触===>>" + i); + } else { + devpThread.startSignal[i] = newSingle; + } + }else if (devpThread.startSignal[i] == 11){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("channel",(i+1))); + if (locMast.getLocSts().equals("O")){ + locMast.setLocSts("X"); + locMastService.update(locMast,new EntityWrapper<LocMast>() + .eq("channel",(i+1))); + } + }else if (devpThread.startSignal[i] == 12){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() + .eq("channel",(i+1))); + if (locMast.getLocSts().equals("X")){ + locMast.setLocSts("O"); + locMastService.update(locMast,new EntityWrapper<LocMast>() + .eq("channel",(i+1))); + } + //澶嶄綅PLC淇″彿锛屽�熺敤杈撻�佺珯鐐瑰疄浣撶被 + StaProtocol staProtocol = new StaProtocol(); + staProtocol.setSiteId(i*2);//瀵勫瓨鍣ㄥ湴鍧� + staProtocol.setStaNo(newSingle);//淇敼PLC瀵勫瓨鍣ㄥ湴鍧�鍊�,12==>0 + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); + if(!result){ +// log.error("鏇存柊搴撲綅绱ф�ュ嚭搴撲俊鍙峰け璐�===>>[channel:{},locNo:{},barcode:{}]", i+1, locMast.getLocNo(), locMast.getBarcode()); +// throw new CoolException("鏇存柊娴嬭瘯淇″彿澶辫触===>>" + i); + } else { + devpThread.startSignal[i] = newSingle; + } + }else { } } } @@ -2101,4 +2149,34 @@ } } + /** + * 灏嗙伀璀︽姤璀︿俊鍙峰啓鍏ュ埌鍫嗗灈鏈篜LC涓� + */ + @Transactional + public void fierCrn() { + try { + for (CrnSlave crn :slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("fire_status", 1)); + if (!Cools.isEmpty(locMast)){ + //鎶ヨ淇″彿鍐欏叆1 + if (!MessageQueue.offer(SlaveType.Crn, locMast.getCrnNo(), new Task(4, (short)1))) { + log.error("鐏 ===>> 缁欏爢鍨涙満鍙戦�佹姤璀︿俊鍙峰け璐�"); + } + } else { + //鎶ヨ淇″彿娌℃湁鍚庯紝澶嶄綅鍦板潃 + if (!MessageQueue.offer(SlaveType.Crn, locMast.getCrnNo(), new Task(4, (short)0))) { + log.error("鐏 ===>> 缁欏爢鍨涙満娓呴浂澶嶄綅鎶ヨ淇″彿澶辫触"); + } + } + } + } catch (Exception e) { + log.error("鐏 ===>> 缁欏爢鍨涙満鍙戦�佽鎶ュけ璐�", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + } -- Gitblit v1.9.1