From c68c709547e52fecaa71543ad46f8d3c0bb7fe97 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 28 二月 2023 17:27:11 +0800 Subject: [PATCH] phpswcs创建 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 487 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 299 insertions(+), 188 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 20cbb25..98acb5e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -19,8 +19,8 @@ import com.zy.common.model.SearchLocParam; import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; -import com.zy.common.utils.CollectionUtils; import com.zy.common.utils.HttpHandler; +import com.zy.common.utils.News; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -41,7 +41,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -97,7 +96,9 @@ * 缁勬墭 * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2 */ - public void generateStoreWrkFile() { + public synchronized void generateStoreWrkFile() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� @@ -117,17 +118,17 @@ continue; } String barcode = barcodeThread.getBarcode(); - + //9998閫�鍥烇紝9996绌烘澘 if (!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) { log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + String errorMsg = "15绔欐壂鐮佸け璐ワ紝宸查��鍥�14绔�"; staProtocol.setWorkNo((short) 9998); - staProtocol.setStaNo((short)14); + staProtocol.setStaNo((short) 14); devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); // led 寮傚父鏄剧ず if (ledThread != null) { - String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯"; + News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); } continue; @@ -136,26 +137,16 @@ continue; } - // 鑾峰彇鍏ュ簱绔欎俊鎭� -// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - - - // 鍏ュ嚭搴撴ā寮忓垽鏂� -// if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } -// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { -// continue; -// } - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997) + && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997 || staProtocol.getWorkNo() == 9995) && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { // if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { -// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); +// News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); // //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣 // staProtocol.setWorkNo((short)9999); // staProtocol.setStaNo((short)172); @@ -170,7 +161,11 @@ // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode); if (wrkMast != null) { - log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); + News.error(methodName + ":宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); + if (ledThread != null) { + News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={"+ wrkMast.getWrkNo() + "}, 璇锋墜鍔ㄥ彇娑堝凡瀛樺湪宸ヤ綔妗�")); + } continue; } @@ -206,20 +201,25 @@ devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触"); + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } + + } else { staProtocol.setWorkNo((short) 9998); - staProtocol.setStaNo((short)14); + staProtocol.setStaNo((short) 14); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); } } - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); + News.error(methodName +":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } @@ -298,7 +298,9 @@ * wms鍏ュ簱 * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2 */ - public void generateStoreWrkFile0() { + public synchronized void generateStoreWrkFile0() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� @@ -339,10 +341,10 @@ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋 wrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo()); + News.error(methodName + ":鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo()); } } else { - log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + News.error(methodName +":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); } } @@ -357,6 +359,8 @@ * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 */ public synchronized void stnToCrnStnPick() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鎷f枡鍏ュ簱鍙� for (DevpSlave.Sta pickSta : devp.getPickSta()) { @@ -377,16 +381,17 @@ } String barcode = barcodeThread.getBarcode(); - if(!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) { + if (!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) { log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); - if("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { staProtocol.setWorkNo((short) 9998); - staProtocol.setStaNo((short)14); + staProtocol.setStaNo((short) 14); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); // led 寮傚父鏄剧ず if (ledThread != null) { String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯"; + News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); } continue; @@ -396,9 +401,6 @@ } - - - // // 鍏ュ嚭搴撴ā寮忓垽鏂� // if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; } @@ -406,7 +408,7 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && ( staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997) + && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997 || staProtocol.getWorkNo() == 9995) && staProtocol.isPakMk()) { WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); @@ -427,7 +429,7 @@ // } else if (wrkMast.getStaNo() == 113) { // stnNo = 128; // } else { -// log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo()); +// News.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo()); // } // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() @@ -437,17 +439,22 @@ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { - log.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); + News.error(methodName + ":鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); continue; } try { // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) { + News.error(methodName + ":淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); } // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) { + News.error(methodName + "-1:" + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); } @@ -464,6 +471,8 @@ wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { + News.error(methodName + ":鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); + throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); } // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級 @@ -473,6 +482,8 @@ locMast.setLocSts("Q"); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)) { + News.error(methodName+ ":淇敼搴撲綅鐘舵�佸け璐�"); + throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�"); } } catch (Exception e) { @@ -487,7 +498,9 @@ devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { - log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + News.error(methodName + ":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + + News.error(methodName + ":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); } } @@ -500,8 +513,9 @@ /** * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 */ - @Async public synchronized void crnStnToOutStn() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (CrnSlave crnSlave : slaveProperties.getCrn()) { // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { @@ -551,7 +565,7 @@ // 澶嶄綅鍫嗗灈鏈� crnThread.setResetFlag(true); } else { - log.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); + News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); } } @@ -565,6 +579,8 @@ * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 */ public synchronized void crnIoExecute() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (CrnSlave crn : slaveProperties.getCrn()) { // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); @@ -574,7 +590,7 @@ } BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); if (basCrnp == null) { - log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); + News.error(methodName + ":{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); continue; } @@ -630,7 +646,7 @@ // } // BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); // if (basCrnp == null) { -// log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); +// News.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); // continue; // } if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { @@ -652,7 +668,7 @@ if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) == null) { return; } - log.info("鍫嗗灈鏈哄彫鍥炲師鐐�==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満鏈夊叆搴撲换鍔�,鍙洖鍘熺偣"); + News.info("鍫嗗灈鏈哄彫鍥炲師鐐�==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満鏈夊叆搴撲换鍔�,鍙洖鍘熺偣"); // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -666,7 +682,7 @@ crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄洖鍘熺偣鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand)); + News.error("鍫嗗灈鏈哄洖鍘熺偣鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand)); } crnThread.setBackHpFlag(true); } @@ -677,6 +693,8 @@ * 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣� */ public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) { boolean flag = false; // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅 @@ -690,7 +708,7 @@ // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { - log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + News.error(methodName + ":鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() @@ -703,17 +721,17 @@ // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。 WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo()); if (null == wrkMast) { -// log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); +// News.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); continue; } // 鑾峰彇搴撲綅淇℃伅 LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); if (locMast == null) { - log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo()); + News.error(methodName + ":鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo()); continue; } if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) { - log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); + News.error(methodName + ":鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); continue; } @@ -735,12 +753,12 @@ if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); if (null == waitWrkMast) { - log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); + News.error(methodName + ":{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); } else { waitWrkMast.setIoPri(15D); waitWrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(waitWrkMast) == 0) { - log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); + News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); } continue; } @@ -778,7 +796,7 @@ crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞� if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); } else { // long startTime = System.currentTimeMillis(); @@ -799,7 +817,7 @@ wrkMast.setCrnStrTime(now); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + News.error(methodName + ":淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } } } @@ -809,7 +827,9 @@ * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴� */ - public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { + public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� // WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo()); @@ -820,13 +840,13 @@ } // 宸ヤ綔妗g姸鎬佸垽鏂� if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) { - log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); + News.error(methodName + ":鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); continue; } // 鑾峰彇婧愬簱浣嶄俊鎭� LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) { - log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); + News.error(methodName + ":鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); continue; } // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 @@ -848,7 +868,7 @@ // 鏌ヨ绔欑偣璇︾粏淇℃伅 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); if (staDetl == null) { - log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + News.error(methodName + ":鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); break; // continue; } @@ -871,13 +891,13 @@ if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); if (null == waitWrkMast) { - log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); + News.error(methodName + ":{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); } else { if (waitWrkMast.getWrkSts() == 11) { waitWrkMast.setIoPri(15D); waitWrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(waitWrkMast) == 0) { - log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); + News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); } continue; } else { @@ -897,10 +917,10 @@ // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑 moveLocForDeepLoc(slave, shallowLoc); } - log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo); + News.error(methodName + ": {}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo); continue; } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { - WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { continue; } @@ -926,7 +946,7 @@ crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞� if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); } else { // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� Date now = new Date(); @@ -934,7 +954,7 @@ wrkMast.setCrnStrTime(now); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + News.error(methodName + ":淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } break; } @@ -946,7 +966,7 @@ // /** // * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� // */ -// public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){ +// public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){ // for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { // // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� // WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo()); @@ -955,13 +975,13 @@ // } // // 宸ヤ綔妗g姸鎬佸垽鏂� // if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null){ -// log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); +// News.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); // continue; // } // // 鑾峰彇婧愬簱浣嶄俊鎭� // LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); // if (!sourceSta.getLocSts().equals("R") &&!sourceSta.getLocSts().equals("P")) { -// log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); +// News.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); // continue; // } // // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 @@ -980,7 +1000,7 @@ // // 鏌ヨ绔欑偣璇︾粏淇℃伅 // BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); // if (staDetl == null) { -// log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); +// News.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); // continue; // } // // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� @@ -1001,13 +1021,13 @@ // if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); // if (null == waitWrkMast) { -// log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); +// News.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); // } else { // if(waitWrkMast.getWrkSts() == 11) { // waitWrkMast.setIoPri(15D); // waitWrkMast.setModiTime(new Date()); // if (wrkMastMapper.updateById(waitWrkMast) == 0) { -// log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); +// News.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); // } // continue; // } else { @@ -1022,7 +1042,7 @@ // // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�) // moveLocForDeepLoc(slave, shallowLoc); // } -// log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛�", wrkMast.getWrkNo()); +// News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛�", wrkMast.getWrkNo()); // continue; // } // } @@ -1045,7 +1065,7 @@ // crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒� // crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞� // if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { -// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); +// News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); // } else { // // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� // Date now = new Date(); @@ -1053,7 +1073,7 @@ // wrkMast.setCrnStrTime(now); // wrkMast.setModiTime(now); // if (wrkMastMapper.updateById(wrkMast) == 0) { -// log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); +// News.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); // } // } // } @@ -1063,7 +1083,9 @@ /** * 搴撲綅绉昏浆 */ - public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) { + public synchronized void locToLoc(CrnSlave slave, CrnProtocol crnProtocol) { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + // 鑾峰彇宸ヤ綔妗d俊鎭� WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId()); if (null == wrkMast) { @@ -1072,7 +1094,7 @@ // 鑾峰彇婧愬簱浣嶄俊鎭� LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); if (null == sourceSta) { - log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + News.error(methodName + "宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); return; } // 婧愬簱浣� 搴撲綅鐘舵�佸垽鏂� @@ -1082,7 +1104,7 @@ // 鑾峰彇鐩爣搴撲綅淇℃伅 LocMast sta = locMastService.selectById(wrkMast.getLocNo()); if (null == sta) { - log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo()); + News.error(methodName + ":宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo()); return; } // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑� @@ -1094,6 +1116,50 @@ // 鍫嗗灈鏈烘帶鍒惰繃婊� if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { return; + } + + // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� + if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { + String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo()); + LocMast shallowLoc = locMastService.selectById(shallowLocNo); + // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒 + if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + if (null == waitWrkMast) { + News.error(methodName + ":{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); + } else { + if (waitWrkMast.getWrkSts() == 11) { + waitWrkMast.setIoPri(15D); + waitWrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(waitWrkMast) == 0) { + News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); + } + return; + } else { + + } + } + } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { +// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟 + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); + // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔� +// if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) +// || Cools.isEmpty(waitWrkMast)) { + if (Cools.isEmpty(waitWrkMast)) { + wrkMast.setUpdMk("Y"); + wrkMastMapper.updateById(wrkMast); + // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑 + moveLocForDeepLoc(slave, shallowLoc); + } + News.error(methodName + ":{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo); + return; + } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); + if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) { + return; + } + } } // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� @@ -1114,7 +1180,7 @@ crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞� if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); } else { // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� Date now = new Date(); @@ -1122,7 +1188,7 @@ wrkMast.setCrnStrTime(now); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + News.error(methodName + ":銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } } @@ -1131,8 +1197,9 @@ /** * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� */ - @Async - public void storeFinished() { + public synchronized void storeFinished() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (CrnSlave crn : slaveProperties.getCrn()) { // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); @@ -1149,7 +1216,7 @@ // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue()); if (wrkMast == null) { - log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); + News.error(methodName + ":鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); continue; } // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 @@ -1175,8 +1242,9 @@ /** * 鍫嗗灈鏈哄紓甯镐俊鎭褰� */ - @Async - public void recCrnErr() { + public synchronized void recCrnErr() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + Date now = new Date(); for (CrnSlave crn : slaveProperties.getCrn()) { // 鑾峰彇鍫嗗灈鏈轰俊鎭� @@ -1223,7 +1291,7 @@ "浠诲姟涓紓甯�" // 澶囨敞 ); if (!basErrLogService.insert(basErrLog)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); + News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); } } } else { @@ -1233,7 +1301,7 @@ latest.setUpdateTime(now); latest.setStatus(2); if (!basErrLogService.updateById(latest)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); + News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); } } } @@ -1270,7 +1338,7 @@ "鏃犱换鍔″紓甯�" // 澶囨敞 ); if (!basErrLogService.insert(basErrLog)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); + News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); } } // 鏃犲紓甯� @@ -1281,7 +1349,7 @@ latest.setUpdateTime(now); latest.setStatus(2); if (!basErrLogService.updateById(latest)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); + News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); } } } @@ -1297,8 +1365,9 @@ /** * 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� */ - @Async - public void storeEmptyPlt() { + public synchronized void storeEmptyPlt() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻绌烘澘鍏ュ簱鍙� for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) { @@ -1342,10 +1411,12 @@ devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { + News.error(methodName + "鏇存柊plc绔欑偣淇℃伅澶辫触"); + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); + News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } } catch (Exception e) { e.printStackTrace(); @@ -1416,116 +1487,145 @@ /** * 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� */ - @Async - public void ledExecute() { + public synchronized void ledExecute() { +// String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + for (LedSlave led : slaveProperties.getLed()) { // 鑾峰彇杈撻�佺嚎plc绾跨▼ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); - // 鍛戒护闆嗗悎 - List<LedCommand> commands = new ArrayList<>(); - // 宸ヤ綔妗i泦鍚� - List<WrkMast> wrkMasts = new ArrayList<>(); +// // 鍛戒护闆嗗悎 +// List<LedCommand> commands = new ArrayList<>(); +// // 宸ヤ綔妗i泦鍚� +// List<WrkMast> wrkMasts = new ArrayList<>(); for (Integer staNo : led.getStaArr()) { // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); if (null == staProtocol || null == staProtocol.getWorkNo() || 0 == staProtocol.getWorkNo() || !staProtocol.isLoading()) { + MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, "")); continue; } else { staProtocol = staProtocol.clone(); } // 鑾峰彇宸ヤ綔妗f暟鎹� WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); -// if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; } if (null == wrkMast) { + MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, "")); continue; } - wrkMasts.add(wrkMast); - // 缁勮鍛戒护 + ArrayList<MatDto> matDtos = new ArrayList<>(); + Wrapper<WrkDetl> detlWrapper = new EntityWrapper<WrkDetl>() + .eq("wrk_no", wrkMast.getWrkNo()); LedCommand ledCommand = new LedCommand(); ledCommand.setWorkNo(wrkMast.getWrkNo()); + ledCommand.setStaNo(wrkMast.getStaNo()); + ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); + ledCommand.setLocNo(wrkMast.getLocNo()); + ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); ledCommand.setIoType(wrkMast.getIoType()); - // 鍑哄簱妯″紡 - switch (wrkMast.getIoType()) { - case 1: - ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); - break; + ledCommand.setTitle(wrkMast.getIoType$()); + + switch (wrkMast.getIoType()){ case 10: - ledCommand.setTitle("绌烘澘鍏ュ簱"); - break; - case 101: - ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); - break; - case 103: - ledCommand.setTitle("鎷f枡鍑哄簱"); - break; - case 104: - ledCommand.setTitle("骞舵澘鍑哄簱"); - break; - case 107: - ledCommand.setTitle("鐩樼偣鍑哄簱"); - break; case 110: - ledCommand.setTitle("绌烘澘鍑哄簱"); ledCommand.setEmptyMk(true); break; default: - log.error("浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType()); + ledCommand.setBarcode(wrkMast.getBarcode()); + List<WrkDetl> wrkDetls = wrkDetlService.selectList(detlWrapper); + for (WrkDetl wrkDetl : wrkDetls) { + MatDto matDto = new MatDto(); + matDto.setMaknx(wrkDetl.getMaktx()); + matDto.setMatNo(wrkDetl.getMatnr()); + matDto.setCount(wrkDetl.getAnfme()); + matDtos.add(matDto); + } break; - } - ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); - ledCommand.setLocNo(wrkMast.getLocNo()); - ledCommand.setStaNo(wrkMast.getStaNo()); -// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); - if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { - List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme()))); - } - commands.add(ledCommand); - } - Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); - // 鑾峰彇LED绾跨▼ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); - // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护 - if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) { - continue; - } - // 鍛戒护涓嬪彂 ------------------------------------------------------------------------------- - if (!commands.isEmpty()) { - if (led.getId() == 7) { - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - continue; - } else { - ledThread.setLedMk(false); - } - } else { - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - continue; - } else { - ledThread.setLedMk(false); - } - } - } - try { - // 淇敼涓绘。led鏍囪 - for (WrkMast wrkMast : wrkMasts) { - wrkMast.setOveMk("Y"); - wrkMast.setModiTime(new Date()); - if (wrkMastMapper.updateById(wrkMast) == 0) { - throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); - } } + ledCommand.setMatDtos(matDtos); + MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, ledCommand.toString())); - // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚� - ledThread.setWorkNos(workNos); - - } catch (Exception e) { - e.printStackTrace(); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// wrkMasts.add(wrkMast); +// // 缁勮鍛戒护 +// LedCommand ledCommand = new LedCommand(); +// ledCommand.setWorkNo(wrkMast.getWrkNo()); +// ledCommand.setIoType(wrkMast.getIoType()); +// // 鍑哄簱妯″紡 +// switch (wrkMast.getIoType()) { +// case -1: +// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); +// break; +// case 10: +// ledCommand.setTitle("绌烘澘鍏ュ簱"); +// break; +// case 10-1: +// ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); +// break; +// case 103: +// ledCommand.setTitle("鎷f枡鍑哄簱"); +// break; +// case 104: +// ledCommand.setTitle("骞舵澘鍑哄簱"); +// break; +// case 107: +// ledCommand.setTitle("鐩樼偣鍑哄簱"); +// break; +// case 110: +// ledCommand.setTitle("绌烘澘鍑哄簱"); +// ledCommand.setEmptyMk(true); +// break; +// default: +// News.error(methodName + ":浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType()); +// break; +// } +// ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); +// ledCommand.setLocNo(wrkMast.getLocNo()); +// ledCommand.setStaNo(wrkMast.getStaNo()); +//// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); +// if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { +// List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); +// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme()))); +// } +// commands.add(ledCommand); +// } +// Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet()); +// // 鑾峰彇LED绾跨▼ +// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); +// // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护 +//// if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) { +//// continue; +//// } +// // 鍛戒护涓嬪彂 ------------------------------------------------------------------------------- +// if (!commands.isEmpty()) { +// String errMsg = ""; +// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { +// News.error(methodName + ":{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// continue; +// } else { +// ledThread.setLedMk(false); +// } +// +// } +// +// try { +// // 淇敼涓绘。led鏍囪 +// for (WrkMast wrkMast : wrkMasts) { +// wrkMast.setOveMk("Y"); +// wrkMast.setModiTime(new Date()); +// if (wrkMastMapper.updateById(wrkMast) == 0) { +// throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); +// } +// } +// +// // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚� +// ledThread.setWorkNos(workNos); +// +// } catch (Exception e) { +// e.printStackTrace(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// } } } @@ -1533,8 +1633,7 @@ /** * 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 */ - @Async - public void ledReset() { + public synchronized void ledReset() { // for (LedSlave led : slaveProperties.getLed()) { // // 鑾峰彇杈撻�佺嚎plc绾跨▼ // DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); @@ -1558,7 +1657,7 @@ // // led鏄剧ず榛樿鍐呭 // if (reset) { // if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { -// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); // } // } // } @@ -1585,14 +1684,14 @@ // if (led.getId() == 7) { // ledThread.setLedMk(true); // if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { -// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); // } else { // // } // } else { // ledThread.setLedMk(true); // if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { -// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); // } else { // // } @@ -1724,7 +1823,7 @@ } if (null == loc) { - log.error("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); + News.error("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); } @@ -1789,7 +1888,7 @@ throw new CoolException("绉昏浆澶辫触"); } } catch (Exception e) { - log.error("鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e); + News.error("鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } @@ -1799,6 +1898,7 @@ * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆 */ public synchronized void crnDemoOfLocMove1() { + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); try { for (CrnSlave crn : slaveProperties.getCrn()) { if (!crn.getDemo()) { @@ -1850,6 +1950,7 @@ wrkMast.setModiTime(new Date()); int res = wrkMastMapper.insert(wrkMast); if (res == 0) { + News.error(methodName + ":淇濆瓨宸ヤ綔妗eけ璐�"); throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } // 宸ヤ綔妗f槑缁嗕繚瀛� @@ -1871,9 +1972,13 @@ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 sourceLoc.setModiTime(new Date()); if (!locMastService.updateById(sourceLoc)) { + News.error(methodName + ":鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); } } else { + News.error(methodName + ":婧愬簱浣嶅嚭搴撳け璐�"); + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�"); } // 淇敼鐩爣搴撲綅鐘舵�� @@ -1881,16 +1986,20 @@ loc.setLocSts("S"); // S.鍏ュ簱棰勭害 loc.setModiTime(new Date()); if (!locMastService.updateById(loc)) { + News.error(methodName + ":鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); } } else { + News.error(methodName + ":绉昏浆澶辫触"); + throw new CoolException("绉昏浆澶辫触"); } } } } catch (Exception e) { - log.error("鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆澶辫触", e); + News.error(methodName + ":鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆澶辫触", e); e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } @@ -1917,27 +2026,27 @@ } // 鍏ュ簱 if (wrkMast.getWrkSts() == 1 || wrkMast.getWrkSts() == 2) { - log.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo()); + News.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo()); // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� wrkMast.setWrkSts(3L); wrkMast.setCrnStrTime(now); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + News.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } - log.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo()); + News.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo()); } // 鍑哄簱銆佺Щ搴� if (wrkMast.getWrkSts() == 11) { - log.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo()); + News.warn("鍫嗗灈鏈洪潪绌洪棽鎯呭喌涓嬶紝寮�濮嬩慨鏀瑰伐浣滄。鐘舵�併�俒id:{},鏃堕棿锛歿}] >>>>> 鍫嗗灈鏈哄綋鍓嶇姸鎬佷负锛歿}銆備换鍔″彿:{}", crn.getId(), DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), crnProtocol.getStatusType().desc, crnProtocol.getTaskNo()); // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� wrkMast.setWrkSts(12L); wrkMast.setCrnStrTime(now); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + News.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } - log.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo()); + News.warn("淇敼宸ヤ綔妗g姸鎬佹垚鍔熴�俒鏃堕棿锛歿}] >>>>> 浠诲姟鍙�:{}", DateUtils.convert(now, DateUtils.yyyyMMddHHmmsssss_F), wrkMast.getWrkNo()); } @@ -1949,7 +2058,7 @@ /** * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� */ - public void ioConvert() { + public synchronized void ioConvert() { try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { @@ -2009,13 +2118,13 @@ } - public void outOfDevp() { + public synchronized void outOfDevp() { List<WrkMast> wrkMasts = wrkMastMapper.selectPick(); for (WrkMast wrkMast : wrkMasts) { if (basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo())) == 0) { wrkMast.setCtnNo("Y"); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼{}宸ヤ綔妗eけ璐ワ紝ctn_no", wrkMast.getWrkNo()); + News.error("淇敼{}宸ヤ綔妗eけ璐ワ紝ctn_no", wrkMast.getWrkNo()); } } @@ -2023,8 +2132,10 @@ } - public void autoEmptyOut() { + public synchronized void autoEmptyOut() { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); + String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); + Integer autoOutSite = 12; //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔� StaProtocol staProtocol = devpThread.getStation().get(autoOutSite); @@ -2051,9 +2162,9 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { JSONObject data = (JSONObject) jsonObject.get("data"); - log.info((String) data.get("msg")); + News.info((String) data.get("msg")); } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1","", response); + News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", "", response); } } catch (Exception e) { e.printStackTrace(); @@ -2062,7 +2173,7 @@ } } - public void autoEmptyIn() { + public synchronized void autoEmptyIn() { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); Integer autoInSite = 12; StaProtocol staProtocol = devpThread.getStation().get(autoInSite); @@ -2089,9 +2200,9 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { - log.info((String) jsonObject.get("msg")); + News.info((String) jsonObject.get("msg")); } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyIn/v1", JSON.toJSONString(locTypeDto), response); + News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyIn/v1", JSON.toJSONString(locTypeDto), response); } } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.1