From 86f1da5c382460162d68d218e16057fe5be81d10 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 09 十一月 2022 10:57:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 374 ++++++++++++++++++++++++++++++----------------------
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 3
src/main/resources/mapper/WrkMastMapper.xml | 8 +
src/main/java/com/zy/core/MainProcess.java | 2
src/main/resources/application.yml | 4
5 files changed, 228 insertions(+), 163 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 693d3e1..05d031a 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -96,4 +96,7 @@
* @return
*/
WrkMast selectLocMove17(@Param("crnNo")Integer crnNo);
+
+ WrkMast selectPick17(@Param("staNo") Integer staNo, @Param("wrkNo") Integer wrkNo);
+
}
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 ad8937d..6a731a5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -470,13 +470,14 @@
if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) {
throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
}
+ LocMast locMast = null;
// 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
- LocMast locMast = locMastService.selectById(sourceLocNo);
- locMast.setLocSts("O");
- locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)) {
- throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
- }
+// locMast = locMastService.selectById(sourceLocNo);
+// locMast.setLocSts("O");
+// locMast.setModiTime(new Date());
+// if (!locMastService.updateById(locMast)) {
+// throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
+// }
// 淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
locMast = locMastService.selectById(wrkMast.getLocNo());
locMast.setLocSts("Q");
@@ -534,6 +535,47 @@
}
}
+ }
+ }
+
+ /**
+ * 鐩樼偣璐х墿鎶佃揪鐩樼偣鐩爣绔� wrkMast.sourceLoc P ===>> O
+ */
+ public void pickWrkCompleteStaNo() {
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鎷f枡鍏ュ簱鍙�
+ for (DevpSlave.Sta pickSta : devp.getPickOutSta()) {
+ // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.getWorkNo() > 0) {
+ WrkMast wrkMast = wrkMastMapper.selectPick17(pickSta.getStaNo(), staProtocol.getWorkNo().intValue());
+ if (Cools.isEmpty(wrkMast)) {
+ log.error("{}绔欐嫞鏂欍�佸苟鏉裤�佺洏鐐规绱换鍔″け璐ワ紒浠诲姟鍙凤細{}", pickSta.getStaNo(), staProtocol.getWorkNo());
+ } else {
+ // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (locMast.getLocSts().equals("P")) {
+ locMast.setLocSts("O");
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
+ }
+ }
+ // 淇敼宸ヤ綔妗�
+ wrkMast.setIoPri(13D);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("鏇存柊宸ヤ綔妗g殑浼樺厛绾уけ璐ワ紒锛侊紒 [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+ }
+ }
+ }
+
+ }
}
}
@@ -1185,6 +1227,8 @@
}
}
+ } else {
+ // todo
}
// 涓嶆槸鏈�澶栧眰搴撲綅锛岄渶瑕佷娇鐢ㄧ┛姊溅鎼繍鍚庯紝鍐嶅爢鍨涙満绉诲簱
} else {
@@ -1287,43 +1331,53 @@
return;
}
- //鏌ユ壘搴撲綅
- boolean flag = false;
- String[] deeplocs = Utils.getDeepLocs(wrkMast.getSourceLocNo());
- if(!Cools.isEmpty(deeplocs)){
- for(String deepLocNo : deeplocs) {
- LocMast deepLoc = locMastService.selectById(deepLocNo);
+ if (wrkMast.getWrkSts() == 17) {
+ //鏌ユ壘搴撲綅
+ boolean flag = false;
+ String[] deeplocs = Utils.getDeepLocs(wrkMast.getSourceLocNo());
+ if(!Cools.isEmpty(deeplocs)){
+ for(String deepLocNo : deeplocs) {
+ LocMast deepLoc = locMastService.selectById(deepLocNo);
// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(deepLocNo);
- if(deepLoc != null && !deepLoc.getLocSts().equals("F") && deepLoc.getLocSts().equals("D") && deepLoc.getLocSts().equals("O")){
- flag = true;
- break;
- }
- if(deepLoc != null && deepLoc.getLocSts().equals("O")){
- //淇敼绉诲簱宸ヤ綔妗�
- wrkMast.setSourceLocNo(wrkMast.getLocNo());
- wrkMast.setIoPri((double)9999);
- wrkMast.setWrkSts(2L);
- wrkMast.setLocNo(deepLocNo);
- wrkMast.setSteNo(null);
- wrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ if(deepLoc != null && !deepLoc.getLocSts().equals("F") && deepLoc.getLocSts().equals("D") && deepLoc.getLocSts().equals("O")){
+ flag = true;
+ break;
}
-
- if(deepLoc.getLocSts().equals("O")){
- deepLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
- deepLoc.setModiTime(new Date());
- if (!locMastService.updateById(deepLoc)) {
- log.error("鍙屾繁搴撲綅 --- 鏇存柊鐩爣搴撲綅鐘舵�佸け璐ワ紒 寰呯Щ杞祬搴撲綅锛�" + deepLoc.getLocNo());
- throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�");
+ if(deepLoc != null && deepLoc.getLocSts().equals("O")){
+ //淇敼绉诲簱宸ヤ綔妗�
+ wrkMast.setSourceLocNo(wrkMast.getLocNo());
+ wrkMast.setIoPri((double)9999);
+ wrkMast.setWrkSts(2L);
+ wrkMast.setLocNo(deepLocNo);
+ wrkMast.setSteNo(null);
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
+
+ if(deepLoc.getLocSts().equals("O")){
+ deepLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ deepLoc.setModiTime(new Date());
+ if (!locMastService.updateById(deepLoc)) {
+ log.error("鍙屾繁搴撲綅 --- 鏇存柊鐩爣搴撲綅鐘舵�佸け璐ワ紒 寰呯Щ杞祬搴撲綅锛�" + deepLoc.getLocNo());
+ throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ }
+ LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+ if(sourceLoc.getLocSts().equals("F")){
+ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ sourceLoc.setModiTime(new Date());
+ if (!locMastService.updateById(sourceLoc)) {
+ throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ }
+ break;
}
- break;
}
}
- }
- if(flag){
- return;
+ if(flag){
+ return;
+ }
}
// 鑾峰彇婧愬簱浣嶄俊鎭�
@@ -2325,134 +2379,134 @@
}
// 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
}
-// if (wrkMast.getWrkSts() == 16) {
-// Date now = new Date();
-//// if (locMastService.isOutMost(wrkMast.getLocNo())) {
-//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
-//// wrkMast.setWrkSts(9L);
-//// wrkMast.setCrnEndTime(now);
-//// } else {
-//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
-//// wrkMast.setWrkSts(9L);
-//// }
+ if (wrkMast.getWrkSts() == 16) {
+ Date now = new Date();
// if (locMastService.isOutMost(wrkMast.getLocNo())) {
-// wrkMast.setWrkSts(17L);
-// }
-// wrkMast.setModiTime(now);
-// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// } else {
-// log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-// }
-// } else if (wrkMast.getWrkSts() == 4) {
-// // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
-// wrkMast.setWrkSts(6L);
-// Date now = new Date();
-// wrkMast.setCrnEndTime(now);
-// wrkMast.setModiTime(now);
-// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
-// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo());
-// if (!steThread.confirmPos()) {
-// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
-// }
-// // 绌挎杞﹀幓寰呮満浣�
-// BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
-// SteCommand steCommand = new SteCommand();
-// steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
-// steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
-// steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
-//// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
-//// steCommand.setBay(steProtocol.getBay());
-//// steCommand.setLev(steProtocol.getLev());
-// if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
-// log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
-// }
-// } else {
-// log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-// }
-// // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
-// } else if (wrkMast.getWrkSts() == 7){
-// // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
-// if (locMastService.isOutMost(wrkMast.getLocNo())) {
-// // ==> 9.鍏ュ簱瀹屾垚
+// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
// wrkMast.setWrkSts(9L);
-// Date now = new Date();
// wrkMast.setCrnEndTime(now);
-// wrkMast.setModiTime(now);
-// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// } else {
-// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-// }
// } else {
-// // 缁欑┛姊溅涓嬪彂鍛戒护
-// Integer steNo = wrkMast.getSteNo();
-// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
-// SteProtocol steProtocol = steThread.getSteProtocol();
-// if (steProtocol == null) { continue; }
-// if (steProtocol.isIdle()) {
-// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-// SteCommand steCommand = new SteCommand();
-// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
-// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
-// steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
-// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
-// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
-// } else {
-// // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
-// wrkMast.setWrkSts(8L);
-// Date now = new Date();
-// wrkMast.setCrnEndTime(now);
-// wrkMast.setModiTime(now);
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// } else {
-// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-// }
-// }
-// }
+// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
+// wrkMast.setWrkSts(9L);
// }
-// } else if (wrkMast.getWrkSts() == 13) {
-// // 缁欑┛姊溅涓嬪彂鍛戒护
-// Integer steNo = wrkMast.getSteNo();
-// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
-// SteProtocol steProtocol = steThread.getSteProtocol();
-// if (steProtocol == null) { continue; }
-// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
-// if (!steThread.confirmPos()) {
-// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
-// }
-// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-// SteCommand steCommand = new SteCommand();
-// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
-// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
-// steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴�
-// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
-// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
-// } else {
-// // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴�
-// wrkMast.setWrkSts(14L);
-// Date now = new Date();
-// wrkMast.setCrnEndTime(now);
-// wrkMast.setModiTime(now);
-// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-// if (wrkMastMapper.updateById(wrkMast) > 0) {
-// // 鍫嗗灈鏈哄浣�
-// crnThread.setResetFlag(true);
-// } else {
-// log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-// }
-// }
-// }
+ if (locMastService.isOutMost(wrkMast.getLocNo())) {
+ wrkMast.setWrkSts(17L);
+ }
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ } else if (wrkMast.getWrkSts() == 4) {
+ // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
+ wrkMast.setWrkSts(6L);
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo());
+ if (!steThread.confirmPos()) {
+ log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
+ }
+ // 绌挎杞﹀幓寰呮満浣�
+ BasSte basSte = basSteService.selectById(wrkMast.getSteNo());
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+// steCommand.setBay(steProtocol.getBay());
+// steCommand.setLev(steProtocol.getLev());
+ if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) {
+ log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand));
+ }
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
+ } else if (wrkMast.getWrkSts() == 7){
+ // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
+ if (locMastService.isOutMost(wrkMast.getLocNo())) {
+ // ==> 9.鍏ュ簱瀹屾垚
+ wrkMast.setWrkSts(9L);
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ } else {
+ // 缁欑┛姊溅涓嬪彂鍛戒护
+ Integer steNo = wrkMast.getSteNo();
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ if (steProtocol.isIdle()) {
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴�
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
+ wrkMast.setWrkSts(8L);
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+ } else if (wrkMast.getWrkSts() == 13) {
+ // 缁欑┛姊溅涓嬪彂鍛戒护
+ Integer steNo = wrkMast.getSteNo();
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+ if (!steThread.confirmPos()) {
+ log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
+ }
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴�
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴�
+ wrkMast.setWrkSts(14L);
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
}
}
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 8a9b0b2..f99d68c 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -52,6 +52,8 @@
// 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
mainService.stnToCrnStnPick0();
mainService.stnToCrnStnPick1();
+ // 鎷f枡銆佸苟鏉裤�佺洏鐐规姷杈剧洰鏍囩珯
+ mainService.pickWrkCompleteStaNo();
// 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
mainService.crnStnToOutStn();
// 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 32d585c..43c6332 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,8 +8,8 @@
name: @pom.build.finalName@
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
- url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
+ url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
+# url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
username: sa
# password: Zoneyung@zy56$
password: sa@123
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index fcf6341..4fde7f4 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -163,6 +163,12 @@
</select>
<select id="selectLocMove17" resultMap="BaseResultMap">
- select top 1 * from dbo.asr_wrk_mast where wrk_sts in (17) and io_type=11 and crn_no=#{crnNo} order by io_pri desc,io_time,wrk_no
+ select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,6,17) and io_type=11 and crn_no=#{crnNo} order by io_pri desc,io_time,wrk_no
</select>
+
+ <select id="selectPick17" resultMap="BaseResultMap">
+ select * from dbo.asr_wrk_mast
+ where 1=1 and (io_type=103 or io_type=107 or io_type=104) and wrk_sts = 17 and sta_no = #{staNo} and wrk_no = #{wrkNo}
+ </select>
+
</mapper>
--
Gitblit v1.9.1