From a3991c24aa69d18cad0195c28fa80abe2871bbd2 Mon Sep 17 00:00:00 2001 From: dubin <bindu_bean@163.com> Date: 星期四, 09 十月 2025 15:09:00 +0800 Subject: [PATCH] 联调 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 501 +++++++++++++++++++++++++++++++------------------------ 1 files changed, 282 insertions(+), 219 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 e2aa0be..eaeb953 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -106,7 +106,8 @@ @Value("${wcs-slave.isToOrigin}") private boolean isToOrigin; - public Integer wrkNo = 10000; + public Integer wrkNo = 9998; + public Integer emptyWrkNo = 9999; /** * 缁勬墭 @@ -156,7 +157,7 @@ errMsg = "鍙宠秴闄�"; back = true; } - if (!back && staProtocol.getWeight() > 15000) { + if (!back && staProtocol.isWeightErr()) { errMsg = "瓒呴噸鎴栨湭璇诲彇"; back = true; } @@ -164,17 +165,10 @@ errMsg = "鎵爜澶辫触"; back = true; } -// if (!back && staProtocol.getWeight() == 0.0) { -// errMsg = "閲嶉噺鑾峰彇澶辫触"; -// back = true; -// } - -// News.info("{}閲嶉噺", staProtocol.getWeight()); // 閫�鍥� - if (back) { + if (back && !staProtocol.isEmptyMk()) { log.info("errmsg: " + errMsg); -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); if (!staProtocol.isLoading()) { @@ -183,40 +177,34 @@ if (!staProtocol.isPakMk()) { continue; } - staProtocol.setWorkNo(wrkNo);//閫�鍥� 宸ヤ綔鍙�:10000 + if (!staProtocol.isInEnable()){ + continue; + } + staProtocol.setWorkNo(wrkNo);//閫�鍥� 宸ヤ綔鍙�:9998 News.info("{}PLC鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo); -// wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta()); + log.error("杈撻�佺嚎涓嬪彂锛堝叆搴擄級锛�" + wrkNo + "," + inSta.getBackSta()); break;//瓒呴檺鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗� } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && staProtocol.isPakMk() && staProtocol.getWorkNo() == 9999) { + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && staProtocol.isPakMk() && staProtocol.getWorkNo() > 9990) { if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); staProtocol.setWorkNo(wrkNo); News.info("{}barcode鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo); -// wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta()); + log.error("杈撻�佺嚎涓嬪彂锛堝叆搴擄級锛�" + wrkNo + "," + inSta.getBackSta()); continue; } // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode); if (wrkMast != null) { -// int wrkNo1 = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo())); -// if (wrkNo1 != 0){ -// if (ledThread != null) { -// News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯"); -// } -// -// } News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo())); staProtocol.setWorkNo(wrkMast.getWrkNo()); @@ -227,26 +215,8 @@ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); } continue; -// barcodeThread.setBarcode(""); -// staProtocol.setWorkNo(wrkMast.getWrkNo()); -// staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo())); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo()); -// -// ledThread.errorReset(); -// log.info("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎"); -// -// if (!result) { -// News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触"); -// log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触"); -// -//// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// continue; -// } - } - WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).in("io_type", 107, 103, 57)); + WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).in("io_type", 107, 103, 57 ,104)); if (!Cools.isEmpty(checkPick)) { continue; } @@ -254,7 +224,18 @@ LocTypeDto locTypeDto = new LocTypeDto(staProtocol); SearchLocParam param = new SearchLocParam(); - locTypeDto.setLocType1((short) 1); + if (staProtocol.isHigh()){ + locTypeDto.setLocType1((short) 6); + }else if (staProtocol.isLow()){ + locTypeDto.setLocType1((short) 5); + }else if (staProtocol.isMid()){ + locTypeDto.setLocType1((short) 2); + }else if (staProtocol.isLower()){ + locTypeDto.setLocType1((short) 1); + }else{ + throw new CoolException("搴撲綅绫诲瀷閿欒"); + } +// locTypeDto.setLocType1((short) 1); param.setBarcode(barcode); param.setIoType(1); param.setSourceStaNo(inSta.getStaNo()); @@ -266,11 +247,11 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); barcodeThread.setBarcode(""); staProtocol.setWorkNo(dto.getWorkNo()); - //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo())); +// staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo())); staProtocol.setStaNo(dto.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂2锛�" + dto.getWorkNo() + "," + dto.getStaNo()); + log.error("杈撻�佺嚎涓嬪彂锛堝叆搴擄級锛�" + dto.getWorkNo() + "," + dto.getStaNo()); ledThread.errorReset(); log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎"); @@ -282,42 +263,17 @@ } } else { if (jsonObject.getString("msg").equals("宸ヤ綔妗e凡瀛樺湪")) { - - //宸ヤ綔妗e凡瀛樺湪 鍐嶆杩涘幓 -// wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode); -// if (wrkMast != null) { -// barcodeThread.setBarcode(""); -// staProtocol.setWorkNo(9999); -// //staProtocol.setWorkNo(wrkMast.getWrkNo()); -// //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo())); -// staProtocol.setStaNo(inSta.getBackSta().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// log.error("杈撻�佺嚎涓嬪彂2锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo()); -// ledThread.errorReset(); -// log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎"); -// if (!result) { -// News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触"); -// -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// } -// } - continue; } staProtocol.setWorkNo(wrkNo); -// wrkNo++; staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂2锛�" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo()); - -// if (ledThread != null) { + log.error("杈撻�佺嚎涓嬪彂锛堝叆搴擄級锛�" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo()); String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); } -// } News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } @@ -354,7 +310,7 @@ staProtocol = staProtocol.clone(); } -// // 鍏ュ嚭搴撴ā寮忓垽鏂� + // 鍏ュ嚭搴撴ā寮忓垽鏂� if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } @@ -407,11 +363,11 @@ // 閬嶅巻鎷f枡鍏ュ簱鍙� for (DevpSlave.Sta pickSta : devp.getPickSta()) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� -// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); -// if (barcodeThread == null) { -// continue; -// } -// String barcode = barcodeThread.getBarcode(); + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭� SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); @@ -422,106 +378,79 @@ continue; } // 灏哄妫�娴嬪紓甯� -// boolean back = false; -// String errMsg = ""; -// if (!back && staProtocol.isFrontErr()) { -// errMsg = "鍓嶈秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isBackErr()) { -// errMsg = "鍚庤秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isHighErr()) { -// errMsg = "楂樿秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isLeftErr()) { -// errMsg = "宸﹁秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isRightErr()) { -// errMsg = "鍙宠秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isWeightErr()) { -// errMsg = "瓒呴噸"; -// back = true; -// } -// if (!back && staProtocol.isBarcodeErr()) { -// errMsg = "鎵爜澶辫触"; -// back = true; -// } -// if(staProtocol.getSiteId() > 400){ -// back = false; -// } - - // 閫�鍥� -// if (back) { -// log.info("errmsg: " + errMsg); -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); -// MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg)); -// if (!staProtocol.isLoading()) { -// continue; -// } -// if (!staProtocol.isPakMk()) { -// continue; -// } -// staProtocol.setWorkNo(wrkNo); -// News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", pickSta.getStaNo(), errMsg, wrkNo); -// wrkNo++; -// staProtocol.setStaNo(pickSta.getBackSta().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// log.error("杈撻�佺嚎涓嬪彂1锛�" + 9999 + "," + pickSta.getBackSta()); -// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); -// -// // led 寮傚父鏄剧ず -// if (ledThread != null) { -// MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg)); -// } -// continue; -// } -// if(staProtocol.getSiteId() < 400){ -// if (!Cools.isEmpty(barcode)) { -// News.infoNoLog("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); -// if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { -// continue; -// } -// } else { -// continue; -// } -// -// -// if (!Cools.isEmpty(barcode)) { -// News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); -// if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { -// continue; -// } -// } else { -// continue; -// } -// -// } - - - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); + boolean back = false; + String errMsg = ""; + if (staProtocol.isFrontErr()) { + errMsg = "鍓嶈秴闄�"; + back = true; + } + if (!back && staProtocol.isBackErr()) { + errMsg = "鍚庤秴闄�"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "楂樿秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; } - // 鍏ュ嚭搴撴ā寮忓垽鏂� -// if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { - News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�"); -// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); - WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); -// if(staProtocol.getSiteId() > 400){ -// wrkMast = wrkMastMapper.selectPickStep3(staProtocol.getWorkNo()); -// } -// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); + // 閫�鍥� + if (back & !staProtocol.isEmptyMk()) { + log.info("errmsg: " + errMsg); + MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg)); + if (!staProtocol.isLoading()) { + continue; + } + if (!staProtocol.isPakMk()) { + continue; + } + if (!staProtocol.isInEnable()) { + continue; + } + staProtocol.setWorkNo(wrkNo); + News.info("{}鐩樼偣/鎷f枡鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", pickSta.getStaNo(), errMsg, wrkNo); + staProtocol.setStaNo(pickSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂锛堢洏鐐�/鎷f枡锛夛細" + wrkNo + "," + pickSta.getBackSta()); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); + + // led 寮傚父鏄剧ず + if (ledThread != null) { + MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errMsg)); + } + continue; + } + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() && !staProtocol.isEmptyMk()) { + if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { + News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode); + + staProtocol.setWorkNo(wrkNo); + News.info("{}barcode鐩樼偣/鎷f枡鍥為��锛歿}锛屼换鍔″彿锛歿}", pickSta.getStaNo(), errMsg, wrkNo); + staProtocol.setStaNo(pickSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂锛堢洏鐐�/鎷f枡锛夛細" + wrkNo + "," + pickSta.getBackSta()); + continue; + } + News.warnNoLog("" + mark + " - 0" + " - 鐩樼偣/鎷f枡寮�濮嬫墽琛�"); + WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); if (wrkMast == null) { // 鏃犳嫞鏂欐暟鎹� continue; @@ -529,27 +458,17 @@ if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) { continue; } - - // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹� -// int stnNo = 0; -// if (wrkMast.getStaNo() == 109) { -// stnNo = 127; -// } else if (wrkMast.getStaNo() == 113) { -// stnNo = 128; -// } else { -// log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo()); -// } // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>().eq("type_no", wrkMast.getIoType() - 50).eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { -// News.error("" + mark + " - 2" + " - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); -// staProtocol.setWorkNo(wrkNo++); -// staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue() - (short) 1)); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// log.error("杈撻�佺嚎涓嬪彂4锛�" + 9989 + "," + (pickSta.getStaNo().shortValue() - (short) 1)); + News.error("" + mark + " - 2" + " - 鐩樼偣/鎷f枡鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); + staProtocol.setWorkNo(wrkNo); + staProtocol.setStaNo((pickSta.getStaNo().shortValue())); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂锛堢洏鐐�/鎷f枡锛夛細" + wrkNo + "," + (pickSta.getStaNo())); //LED LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); // led 寮傚父鏄剧ず @@ -581,6 +500,7 @@ wrkMast.setStaNo(staNo); // 鐩爣绔� wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� + wrkMast.setPltType(0);// 鐩樼偣/鎷f枡宸ヤ綅鍙风疆0 wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); @@ -602,12 +522,12 @@ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 staProtocol.setWorkNo(wrkMast.getWrkNo()); -// if(staProtocol.getSiteId() < 400){ + staProtocol.setStaNo(Short.valueOf(wrkMast.getStaNo().toString())); -// } + devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂5锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo()); + log.error("杈撻�佺嚎涓嬪彂锛堢洏鐐�/鎷f枡锛夛細" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo()); if (!result) { News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); } @@ -935,6 +855,7 @@ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getForkPos() == 0 && crnProtocol.getTaskNo() == 0 && crnProtocol.getTaskNoTwo() == 0) { News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�"); if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 0) { + News.error("宸ヤ綅1鏃犵墿锛屽伐浣�2鏃犵墿"); //鍫嗗灈鏈烘病鏈夌墿鏂� // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 if (crnProtocol.getLastIo().equals("I")) { @@ -960,11 +881,12 @@ } } else if (crnProtocol.getLoaded() == 1 && crnProtocol.getLoadedTwo() == 1) { + News.error("宸ヤ綅1鏈夌墿锛屽伐浣�2鏈夌墿"); // 鍫嗗灈鏈烘湁鐗╂枡 WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 1); if (wrkMast != null) { if (wrkMast.getIoType() >= 100) { - this.outPut(crn, crnProtocol, mark); + this.outPutAll(crn, crnProtocol, mark); } else { this.inPut(crn, crnProtocol, mark); } @@ -972,6 +894,7 @@ log.error("" + mark + " - 1" + " - 鏈夌墿鏂欐棤宸ヤ綔妗� ===銆嬪紓甯�"); } } else if (crnProtocol.getLoaded() == 1 && crnProtocol.getLoadedTwo() == 0) { + News.error("宸ヤ綅1鏈夌墿锛屽伐浣�2鏃犵墿"); // 鍫嗗灈鏈哄伐浣�1鏈夌墿鏂� WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 1); if (wrkMast != null) { @@ -996,6 +919,7 @@ log.error("" + mark + " - 1" + " - 鏈夌墿鏂欐棤宸ヤ綔妗� ===銆嬪紓甯�"); } } else if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 1) { + News.error("宸ヤ綅1鏃犵墿锛屽伐浣�2鏈夌墿"); // 鍫嗗灈鏈哄伐浣�2鏈夌墿鏂� WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 2); if (wrkMast != null) { @@ -1100,7 +1024,7 @@ } // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { + if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0 || crnProtocol.getTaskNoTwo() != 0) { // News.infoNoLog(""+mark+" - 1"+" - 7"+" - 鍫嗗灈鏈烘帶鍒惰繃婊�:鍫嗗灈鏈烘槸鍚︾┖闂�={}锛屼换鍔″彿={}", crnProtocol.getStatusType(),crnProtocol.getTaskNo()); continue; } @@ -2170,7 +2094,9 @@ } else if (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11) { wrkMast.setWrkSts(4L); wrkMast.setPltType(0); - } else { + }else if (wrkMast.getWrkSts() == 108){ + crnThread.setResetFlag(true); + }else { continue; } Date now = new Date(); @@ -2209,6 +2135,8 @@ } else if (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11) { wrkMast.setWrkSts(4L); wrkMast.setPltType(0); + }else if (wrkMast.getWrkSts() == 108){ + crnThread.setResetFlag(true); } else { continue; } @@ -2226,7 +2154,7 @@ } -// News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�"); + News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�"); } /** @@ -2360,6 +2288,9 @@ for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻绌烘澘鍏ュ簱鍙� for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) { + //鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, emptyInSta.getBarcode()); + String barcode = barcodeThread.getBarcode(); // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); @@ -2377,11 +2308,47 @@ if (!staProtocol.isLoading()) { continue; } + boolean back = false; + String errMsg = ""; + if (staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; + } + if (back && staProtocol.isEmptyMk()) { + log.info("errmsg: " + errMsg); + MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errMsg)); + if (!staProtocol.isLoading()) { + continue; + } + if (!staProtocol.isPakMk()) { + continue; + } + if (!staProtocol.isInEnable()){ + continue; + } + staProtocol.setWorkNo(emptyWrkNo);//閫�鍥� 宸ヤ綔鍙�:9999 + News.info("{}PLC绌烘澘鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", emptyInSta.getStaNo(), errMsg, emptyWrkNo); + staProtocol.setStaNo(emptyInSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂锛堢┖鏉匡級锛�" + emptyWrkNo + "," + emptyInSta.getBackSta()); + break;//瓒呴檺鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗� + } // 绔欑偣鏉′欢鍒ゆ柇 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && staProtocol.isPakMk() && (staProtocol.getWorkNo() != 0 && staProtocol.getWorkNo() > 9700)) { News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛岋細绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�"); + if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { + News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", emptyInSta.getBarcode(), barcode); + staProtocol.setWorkNo(wrkNo); + News.info("{}barcode鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", emptyInSta.getStaNo(), emptyInSta, wrkNo); + staProtocol.setStaNo(emptyInSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂锛堢┖鏉匡級锛�" + wrkNo + "," + emptyInSta.getBackSta()); + continue; + } try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); SearchLocParam param = new SearchLocParam(); @@ -2389,6 +2356,7 @@ param.setIoType(10); param.setSourceStaNo(emptyInSta.getStaNo()); param.setLocType1(locTypeDto.getLocType1()); + param.setBarcode(barcode); String response = new HttpHandler.Builder().setUri(wmsUrl).setPath("/rpc/pakin/loc/v1").setJson(JSON.toJSONString(param)).build().doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { @@ -2400,7 +2368,7 @@ //staProtocol.setStaNo(staProtocol.getSiteId().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.error("杈撻�佺嚎涓嬪彂6锛�" + dto.getWorkNo() + "," + staProtocol.getSiteId()); + log.error("杈撻�佺嚎涓嬪彂锛堢┖鏉匡級锛�" + dto.getWorkNo() + "," + staProtocol.getSiteId()); if (!result) { News.errorNoLog("" + mark + " - 1" + " - 鏇存柊plc绔欑偣淇℃伅澶辫触"); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); @@ -2421,22 +2389,12 @@ // ledThread.errorReset(); } } else { -// staProtocol.setWorkNo(wrkNo++); -// staProtocol.setStaNo(emptyInSta.getBackSta().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// if (!result) { -// News.errorNoLog(""+mark+" - 2"+" - 鏇存柊plc绔欑偣淇℃伅澶辫触"); -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// } -// if (ledThread != null) { String errorMsg = jsonObject.getString("msg"); if (!Cools.isEmpty(errorMsg)) { MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errorMsg)); } } -// News.error(""+mark+" - 3"+" - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } } catch (Exception e) { e.printStackTrace(); @@ -2491,6 +2449,9 @@ case 53: ledCommand.setTitle("鎷f枡鍐嶅叆搴�"); break; + case 54: + ledCommand.setTitle("骞舵澘鍐嶅叆搴�"); + break; case 57: ledCommand.setTitle("鐩樼偣鍐嶅叆搴�"); break; @@ -2529,10 +2490,13 @@ } else { total = locDetl.getAnfme(); } - if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) { + if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57 || wrkMast.getIoType() == 54) { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total)); } if (wrkMast.getIoType() == 103) { + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total)); + } + if (wrkMast.getIoType() == 104) { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total)); } if (wrkMast.getIoType() == 107) { @@ -2606,7 +2570,7 @@ continue; } if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { - News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); +// News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); } } } @@ -2845,7 +2809,7 @@ } // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� - if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { + if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getTaskNoTwo() == 0) { // 鑾峰彇绉诲簱宸ヤ綔妗d俊鎭� WrkMast wrkMast = wrkMastMapper.selectLocMove(crn.getId()); if (null != wrkMast) { @@ -2853,11 +2817,13 @@ } LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId()); - LocMast loc = locMastService.queryDemoLoc(crn.getId()); - if (null == sourceLoc || null == loc) { + if (sourceLoc == null){ continue; } - + LocMast loc = locMastService.queryDemoLoc(crn.getId(),sourceLoc.getLocType1()); + if (null == loc) { + continue; + } String sourceLocNo = sourceLoc.getLocNo(); String locNo = loc.getLocNo(); @@ -2881,6 +2847,7 @@ wrkMast.setLinkMis("N"); wrkMast.setAppeTime(new Date()); wrkMast.setModiTime(new Date()); + wrkMast.setPltType(2);//鍥哄畾2鍙峰伐浣嶇Щ搴� int res = wrkMastMapper.insert(wrkMast); if (res == 0) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); @@ -3827,8 +3794,8 @@ continue; } - if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { - if (crnProtocol.getCrnNo() == 1 && crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) { + if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getTaskNoTwo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getStatusTypeTwo()== CrnStatusType.IDLE) { + if (crnProtocol.getCrnNo() == 1 && crnProtocol.getBay() == 11 && crnProtocol.getLevel() == 1) { continue; } Page<BasCrnOpt> basCrnOptPage = crnOptService.selectPage(new Page<>(1, 1), new EntityWrapper<BasCrnOpt>().eq("crn_no", crn.getId()).orderBy("send_time", false)); @@ -3855,12 +3822,12 @@ crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� // crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔� - crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔℃ā寮�: 绔欎綅杞Щ + crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosY((short) 11); // 婧愬簱浣嶅垪 crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY((short) 14); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� crnCommand.setCommand((short) 1);//浠诲姟纭浣� if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) { @@ -3875,4 +3842,100 @@ } } } + + /** + * 宸ヤ綅1鍜屽伐浣�2閮芥湁鐗� 鍑哄簱鏀捐揣 + */ + public synchronized void outPutAll(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) { + News.warnNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�"); + for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { + // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� + List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep107(slave.getId(), crnStn.getStaNo()); + for (WrkMast wrkMast : wrkMasts) { + if (wrkMast == null || wrkMast.getPltType() == 2) { + continue; + } + // 宸ヤ綔妗g姸鎬佸垽鏂� + if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) { + News.error("" + mark + " - 2" + " - 1" + " - 鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType()); + continue; + } + // 鑾峰彇婧愬簱浣嶄俊鎭� + LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo()); + if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) { + News.error("" + mark + " - 2" + " - 2" + " - 鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts()); + continue; + } + // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); + StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + if (staProtocol == null) { + News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol); + break; + } else { + staProtocol = staProtocol.clone(); + } + + + // 鏌ヨ绔欑偣璇︾粏淇℃伅 + BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); + if (staDetl == null) { + News.error("" + mark + " - 2" + " - 5" + " - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); + break; +// continue; + } + // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� + if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + + // 鍫嗗灈鏈烘帶鍒惰繃婊� + if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { +// continue; + break; + } + if (wrkMastMapper.selectByPltType(slave.getId(), wrkMast.getPltType()) == null) { + News.error("" + mark + " - 1" + " - 9" + " - 鍫嗗灈鏈烘敼宸ヤ綅瀛樺湪宸ヤ綔妗�,宸ヤ綅={}", wrkMast.getPltType()); + } + + + // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� + if (wrkMastMapper.selectWorking(slave.getId()) != null) { + break; +// return; + } + + News.warnNoLog("" + mark + " - 2" + " - 12" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue(), sourceSta.getRow1().shortValue(), sourceSta.getBay1().shortValue(), sourceSta.getLev1().shortValue(), crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue()); + + // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setPltType(wrkMast.getPltType()); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� +// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.PUT); // 浠诲姟妯″紡: 搴撲綅绉昏浆 +// crnCommand.setSourcePosX((short) (sourceSta.getRow1() + slave.getOffset())); // 婧愬簱浣嶆帓 +// crnCommand.setSourcePosY((short) (sourceSta.getBay1() + slave.getOffset())); // 婧愬簱浣嶅垪 +// crnCommand.setSourcePosZ((short) (sourceSta.getLev1() + slave.getOffset())); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞� + crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷 + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { + News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� + Date now = new Date(); + wrkMast.setWrkSts(108L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) == 0) { + News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + break; + } + } + } + } + News.infoNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯"); + } } -- Gitblit v1.9.1