From 84f42d7198729df0823483183e9f9918db92fc17 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 11 三月 2023 15:38:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 567 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 365 insertions(+), 202 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 fc84fbf..8a63999 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -19,7 +19,6 @@
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;
@@ -98,6 +97,8 @@
* 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
*/
public synchronized void generateStoreWrkFile() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
@@ -121,13 +122,13 @@
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);
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;
@@ -135,16 +136,6 @@
} else {
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()
@@ -170,7 +161,11 @@
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
- News.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,22 +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绔欑偣淇℃伅澶辫触");
}
- String successMsg = "鍏ュ簱宸ヤ綔妗�--宸ヤ綔鍙�:" + dto.getWorkNo() + " 鐩爣搴撲綅:" + dto.getLocNo();
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, successMsg));
+
+
} else {
staProtocol.setWorkNo((short) 9998);
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));
}
}
- News.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);
}
@@ -301,6 +299,8 @@
* 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2
*/
public synchronized void generateStoreWrkFile0() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
@@ -315,9 +315,9 @@
}
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
- if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
- continue;
- }
+// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) {
+// continue;
+// }
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
@@ -341,10 +341,10 @@
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
wrkMast.setModiTime(new Date());
if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo());
+ News.error(methodName + ":鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo());
}
} else {
- News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ News.error(methodName +":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
}
@@ -359,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()) {
@@ -389,6 +391,7 @@
// led 寮傚父鏄剧ず
if (ledThread != null) {
String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
+ News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯");
MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
}
continue;
@@ -436,17 +439,22 @@
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
- News.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け璐�");
}
@@ -463,6 +471,8 @@
wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
+ News.error(methodName + ":鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+
throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
}
// 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
@@ -472,6 +482,8 @@
locMast.setLocSts("Q");
locMast.setModiTime(new Date());
if (!locMastService.updateById(locMast)) {
+ News.error(methodName+ ":淇敼搴撲綅鐘舵�佸け璐�");
+
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
} catch (Exception e) {
@@ -486,7 +498,9 @@
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
- News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ News.error(methodName + ":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+
+ News.error(methodName + ":鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
}
}
@@ -500,9 +514,38 @@
* 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
*/
public synchronized void crnStnToOutStn() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
- // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
- for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
+ //鏌ヨ宸ヤ綔妗�
+ List<WrkMast> wrkMasts= wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .eq("crn_no",crnSlave.getCrnOutStn())
+ .and()
+ .gt("io_type",100)
+ .orderBy("appe_time")
+ );
+ if(Cools.isEmpty(wrkMasts)){
+ continue;
+ }
+ //閬嶅巻浠诲姟妗o紝鎸夌敓鎴愭椂闂磋繘琛屾帓搴�
+ for (WrkMast wrkMast: wrkMasts) {
+ // 鍒ゆ柇宸ヤ綔妗f潯浠�
+ if (wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+ continue;
+ }
+ CrnSlave.CrnStn crnStn = null;
+ for (CrnSlave.CrnStn crnStn1 : crnSlave.getCrnOutStn()) {
+ if (crnStn1.getStaNo() == wrkMast.getSourceStaNo()) {
+ crnStn = crnStn1;
+ break;
+ } else {
+ continue;
+ }
+ }
+ if (Cools.isEmpty(crnStn)) {
+ continue;
+ }
+
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
@@ -512,15 +555,8 @@
staProtocol = staProtocol.clone();
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
- // 鏌ヨ宸ヤ綔妗�
- WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
- if (wrkMast == null) {
- continue;
- }
- // 鍒ゆ柇宸ヤ綔妗f潯浠�
- if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
- continue;
- }
+
+
// 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
@@ -549,7 +585,7 @@
// 澶嶄綅鍫嗗灈鏈�
crnThread.setResetFlag(true);
} else {
- News.error("鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+ News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
}
}
@@ -559,10 +595,74 @@
}
}
+// public synchronized void crnStnToOutStn1() {
+// String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+//
+// for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+// // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
+// for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
+// // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+// StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+// if (staProtocol == null) {
+// continue;
+// } else {
+// staProtocol = staProtocol.clone();
+// }
+// if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
+// // 鏌ヨ宸ヤ綔妗�
+// WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
+// if (wrkMast == null) {
+// continue;
+// }
+// // 鍒ゆ柇宸ヤ綔妗f潯浠�
+// if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+// continue;
+// }
+// // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
+// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
+// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+// if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
+// // 绉诲姩涓�
+// continue;
+// }
+// // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁�
+// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
+// && crnProtocol.statusType == CrnStatusType.WAITING
+// && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+//
+// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+//
+// // 涓嬪彂绔欑偣淇℃伅
+// staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+// staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+// if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+// continue;
+// }
+//
+// // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
+// wrkMast.setWrkSts(14L);
+// wrkMast.setCrnEndTime(new Date());
+// if (wrkMastMapper.updateById(wrkMast) != 0) {
+// // 澶嶄綅鍫嗗灈鏈�
+// crnThread.setResetFlag(true);
+// } else {
+// News.error(methodName + ":鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+// }
+//
+// }
+//
+// }
+// }
+// }
+// }
+
/**
* 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
*/
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());
@@ -572,7 +672,7 @@
}
BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
if (basCrnp == null) {
- News.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ News.error(methodName + ":{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
continue;
}
@@ -675,6 +775,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;
// 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
@@ -688,7 +790,7 @@
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
if (staDetl == null) {
- News.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ News.error(methodName + ":鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
continue;
}
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
@@ -707,11 +809,11 @@
// 鑾峰彇搴撲綅淇℃伅
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
if (locMast == null) {
- News.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo());
+ News.error(methodName + ":鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo());
continue;
}
if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) {
- News.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
+ News.error(methodName + ":鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
continue;
}
@@ -733,12 +835,12 @@
if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
if (null == waitWrkMast) {
- News.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
+ News.error(methodName + ":{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
} else {
waitWrkMast.setIoPri(15D);
waitWrkMast.setModiTime(new Date());
if (wrkMastMapper.updateById(waitWrkMast) == 0) {
- News.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+ News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
}
continue;
}
@@ -776,7 +878,7 @@
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// long startTime = System.currentTimeMillis();
@@ -797,7 +899,7 @@
wrkMast.setCrnStrTime(now);
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ News.error(methodName + ":淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
}
}
@@ -808,6 +910,8 @@
* 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
*/
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());
@@ -818,13 +922,13 @@
}
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
- News.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")) {
- News.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
+ News.error(methodName + ":鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
continue;
}
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
@@ -839,14 +943,14 @@
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
- if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
- continue;
- }
+// if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+// continue;
+// }
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
if (staDetl == null) {
- News.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ News.error(methodName + ":鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
break;
// continue;
}
@@ -869,13 +973,13 @@
if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
if (null == waitWrkMast) {
- News.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) {
- News.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+ News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
}
continue;
} else {
@@ -895,7 +999,7 @@
// 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
moveLocForDeepLoc(slave, shallowLoc);
}
- News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
+ News.error(methodName + ": {}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
continue;
} else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
@@ -924,7 +1028,7 @@
crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -932,7 +1036,7 @@
wrkMast.setCrnStrTime(now);
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ News.error(methodName + ":淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
break;
}
@@ -1062,6 +1166,8 @@
* 搴撲綅绉昏浆
*/
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) {
@@ -1070,7 +1176,7 @@
// 鑾峰彇婧愬簱浣嶄俊鎭�
LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
if (null == sourceSta) {
- News.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+ News.error(methodName + "宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
return;
}
// 婧愬簱浣� 搴撲綅鐘舵�佸垽鏂�
@@ -1080,7 +1186,7 @@
// 鑾峰彇鐩爣搴撲綅淇℃伅
LocMast sta = locMastService.selectById(wrkMast.getLocNo());
if (null == sta) {
- News.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
+ News.error(methodName + ":宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
return;
}
// 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
@@ -1102,13 +1208,13 @@
if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
if (null == waitWrkMast) {
- News.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) {
- News.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+ News.error(methodName + ":璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
}
return;
} else {
@@ -1128,7 +1234,7 @@
// 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
moveLocForDeepLoc(slave, shallowLoc);
}
- News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
+ News.error(methodName + ":{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
return;
} else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
@@ -1156,7 +1262,7 @@
crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ News.error(methodName + ":鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -1164,7 +1270,7 @@
wrkMast.setCrnStrTime(now);
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
- News.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ News.error(methodName + ":銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
}
@@ -1174,6 +1280,8 @@
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
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());
@@ -1190,7 +1298,7 @@
// 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
if (wrkMast == null) {
- News.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+ News.error(methodName + ":鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
continue;
}
// 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
@@ -1217,6 +1325,8 @@
* 鍫嗗灈鏈哄紓甯镐俊鎭褰�
*/
public synchronized void recCrnErr() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+
Date now = new Date();
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -1263,7 +1373,7 @@
"浠诲姟涓紓甯�" // 澶囨敞
);
if (!basErrLogService.insert(basErrLog)) {
- News.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+ News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
}
}
} else {
@@ -1273,7 +1383,7 @@
latest.setUpdateTime(now);
latest.setStatus(2);
if (!basErrLogService.updateById(latest)) {
- News.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+ News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
}
}
}
@@ -1310,7 +1420,7 @@
"鏃犱换鍔″紓甯�" // 澶囨敞
);
if (!basErrLogService.insert(basErrLog)) {
- News.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
+ News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName);
}
}
// 鏃犲紓甯�
@@ -1321,7 +1431,7 @@
latest.setUpdateTime(now);
latest.setStatus(2);
if (!basErrLogService.updateById(latest)) {
- News.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
+ News.error(methodName + ":鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
}
}
}
@@ -1338,6 +1448,8 @@
* 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
*/
public synchronized void storeEmptyPlt() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻绌烘澘鍏ュ簱鍙�
for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
@@ -1381,10 +1493,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 {
- News.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();
@@ -1456,107 +1570,144 @@
* 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
*/
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:
- News.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;
+ ledCommand.setMatDtos(matDtos);
+ MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, ledCommand.toString()));
+
+// 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);
// }
- // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
- if (!commands.isEmpty()) {
- String errMsg = "";
- if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
- News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
- continue;
- } else {
- ledThread.setLedMk(false);
- }
-
-
+// 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();
- }
+//
+// 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();
+// }
}
}
@@ -1829,6 +1980,7 @@
* 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆
*/
public synchronized void crnDemoOfLocMove1() {
+ String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
try {
for (CrnSlave crn : slaveProperties.getCrn()) {
if (!crn.getDemo()) {
@@ -1880,6 +2032,7 @@
wrkMast.setModiTime(new Date());
int res = wrkMastMapper.insert(wrkMast);
if (res == 0) {
+ News.error(methodName + ":淇濆瓨宸ヤ綔妗eけ璐�");
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 宸ヤ綔妗f槑缁嗕繚瀛�
@@ -1901,9 +2054,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("婧愬簱浣嶅嚭搴撳け璐�");
}
// 淇敼鐩爣搴撲綅鐘舵��
@@ -1911,16 +2068,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) {
- News.error("鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆澶辫触", e);
+ News.error(methodName + ":鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆澶辫触", e);
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
@@ -1979,65 +2140,65 @@
/**
* 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
*/
- public synchronized void ioConvert() {
- try {
- // 鏍规嵁杈撻�佺嚎plc閬嶅巻
- for (DevpSlave devp : slaveProperties.getDevp()) {
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-
- for (DevpSlave.Sta inSta : devp.getInSta()) {
- if (inSta.getStaNo() == 2) {
- continue;
- }
- WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
- switch (inSta.getStaNo()) {
- case 203://1F
- if (pakout != null) {
- if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
- // 鍑哄簱鍒囨崲涓�
- devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
- WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
- if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
- && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
- && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
- // 鍑哄簱妯″紡
- devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
- }
- }
- } else {
- // 鍏ュ簱妯″紡
- devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
- }
- break;
- case 401://1F
- if (pakout != null) {
- if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
- // 鍑哄簱鍒囨崲涓�
- devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
- WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
- if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
- && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
- && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
- // 鍑哄簱妯″紡
- devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
- }
- }
- } else {
- // 鍏ュ簱妯″紡
- devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
- }
- break;
- }
- }
-
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
- }
+// public synchronized void ioConvert() {
+// try {
+// // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+// for (DevpSlave devp : slaveProperties.getDevp()) {
+// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+//
+// for (DevpSlave.Sta inSta : devp.getInSta()) {
+// if (inSta.getStaNo() == 2) {
+// continue;
+// }
+// WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
+// switch (inSta.getStaNo()) {
+// case 203://1F
+// if (pakout != null) {
+// if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+// // 鍑哄簱鍒囨崲涓�
+// devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING;
+// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+// && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+// && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+// // 鍑哄簱妯″紡
+// devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
+// }
+// }
+// } else {
+// // 鍏ュ簱妯″紡
+// devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
+// }
+// break;
+// case 401://1F
+// if (pakout != null) {
+// if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
+// // 鍑哄簱鍒囨崲涓�
+// devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
+// WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+// if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+// && !devpThread.getStation().get(inSta.getStaNo() + 1).isLoading()
+// && devpThread.getStation().get(inSta.getStaNo() + 1).getWorkNo() == 0) {
+// // 鍑哄簱妯″紡
+// devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE;
+// }
+// }
+// } else {
+// // 鍏ュ簱妯″紡
+// devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
+// }
+// break;
+// }
+// }
+//
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+//
+//
+// }
public synchronized void outOfDevp() {
List<WrkMast> wrkMasts = wrkMastMapper.selectPick();
@@ -2055,6 +2216,8 @@
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);
@@ -2083,7 +2246,7 @@
JSONObject data = (JSONObject) jsonObject.get("data");
News.info((String) data.get("msg"));
} else {
- News.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();
--
Gitblit v1.9.1