From f4cae4647f5439a3ca83b187e0bf7fd6a1ab313f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 20 九月 2022 10:04:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SteThread.java | 1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 588 ++++++++++++++++++++++++++++++++++++++++++++--------------
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 3
3 files changed, 448 insertions(+), 144 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index f8b2f7e..a6a6c5e 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -74,4 +74,7 @@
@Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}")
int updateWaitPakInStep2(String barcode);
+ @Update("update asr_wrk_mast set ste_no = null where wrk_no = #{wrkNo}")
+ int setSteEmpty(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 d2893de..c596eb9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -786,18 +786,18 @@
return;
}
// 鑾峰彇婧愬簱浣嶄俊鎭�
- LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
- if (null == sourceSta) {
+ LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (null == sourceLoc) {
log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
return;
}
// 婧愬簱浣� 搴撲綅鐘舵�佸垽鏂�
- if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("S")) {
+ if (!sourceLoc.getLocSts().equals("R") && !sourceLoc.getLocSts().equals("S")) {
return;
}
// 鑾峰彇鐩爣搴撲綅淇℃伅
- LocMast sta = locMastService.selectById(wrkMast.getLocNo());
- if (null == sta) {
+ LocMast loc = locMastService.selectById(wrkMast.getLocNo());
+ if (null == loc) {
log.error("宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
return;
}
@@ -817,8 +817,6 @@
return;
}
-
-
// 婧愬簱浣� ===>> 鏈�澶栧眰搴撲綅
if (locMastService.isOutMost(wrkMast.getSourceLocNo())) {
// 鐩爣搴撲綅 ===>> 鏈�澶栧眰搴撲綅
@@ -829,12 +827,12 @@
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(loc.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(loc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(loc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
@@ -848,25 +846,210 @@
}
}
} else {
+ Integer steNo = this.hasCarOfIdle(wrkMast.getLocNo());
+ // 鏈夊皬杞�
+ if (steNo != null) {
+ // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
+ if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
+ }
+ // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
+ if (wrkMast.getWrkSts() == 6L) {
+ // 灏忚溅澶勪簬绌洪棽
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.isIdle()) {
-
-
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ return;
+ }
+ // 鍫嗗灈鏈哄叆搴� 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(loc.getRow1()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(loc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(loc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(7L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉/6.灏忚溅寰呭叆 => 7.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+ } else {
+ if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ // 瀵绘壘褰撳墠鍫嗗灈鏈哄搴旂殑灏忚溅
+ SteThread steThread = queryIdleCar(wrkMast);
+ if (steThread != null) {
+ // 鏍囪绉诲簱褰撳墠娴佺▼
+ wrkMast.setMk("I");
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
+ this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo());
+ }
+ }
+ // 鍫嗗灈鏈烘惉杩愬皬杞�
+ if (wrkMast.getWrkSts() == 3L) {
+ this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
+ }
+ }
}
} else {
+ // 褰撳墠缁勫簱浣嶆槸鍚︽湁绌挎杞�
+ Integer steNo = this.hasCarOfIdle(wrkMast.getSourceLocNo());
+ // 鏈夊皬杞�
+ if (steNo != null) {
+ if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ // 缁欑┛姊溅涓嬪彂鍛戒护 璁╁叾灏嗚揣鐗╂尓鑷冲爢鍨涙満鎼繍鐐�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.isIdle()) {
+
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+
+ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
+ steCommand.setBay(steProtocol.getBay());
+ steCommand.setLev(steProtocol.getLev());
+
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 14.灏忚溅鎼嚭搴�
+ Date now = new Date();
+ wrkMast.setWrkSts(14L);
+ wrkMast.setSteNo(steNo);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+ if (wrkMast.getWrkSts() == 15L) {
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ return;
+ }
+
+ // 鐩爣搴撲綅 ===>> 鏈�澶栧眰搴撲綅
+ if (locMastService.isOutMost(wrkMast.getLocNo())) {
+ // 鍫嗗灈鏈哄嚭搴� 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(loc.getRow1()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(loc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(loc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 15.绛夊緟鍚婅溅 => 16.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(16L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 15.绛夊緟鍚婅溅 => 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ wrkMastMapper.setSteEmpty(wrkMast.getWrkNo());
+ }
+ } else {
+ // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣
+ if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
+ }
+ // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
+ if (wrkMast.getWrkSts() == 6L) {
+ // 灏忚溅澶勪簬绌洪棽
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.isIdle()) {
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ return;
+ }
+ // 鍫嗗灈鏈哄叆搴� 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(loc.getRow1()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(loc.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(loc.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(7L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉/6.灏忚溅寰呭叆 => 7.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+
+ }
+
+ }
+ } else {
+ if (wrkMast.getWrkSts() == 11L && wrkMast.getSteNo() == null) {
+ // 瀵绘壘鏈�杩戠殑灏忚溅
+ SteThread steThread = queryIdleCar(wrkMast);
+ if (steThread != null) {
+ // 鏍囪绉诲簱褰撳墠娴佺▼
+ wrkMast.setMk("O");
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
+ this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
+ }
+ }
+ // 鍫嗗灈鏈烘惉杩愬皬杞�
+ if (wrkMast.getWrkSts() == 12L) {
+ this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol);
+ }
+ }
}
-
-
-
-
-
-
-
-
-
-
-
}
/**
@@ -993,7 +1176,7 @@
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
@@ -1022,7 +1205,7 @@
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
@@ -1118,12 +1301,56 @@
log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
continue;
}
- // 鍏ュ簱 ==>> 璐х墿鎼叆搴�
- if (wrkMast.getWrkSts() == 7){
- // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
- if (locMastService.isOutMost(wrkMast.getLocNo())) {
- // ==> 9.鍏ュ簱瀹屾垚
- wrkMast.setWrkSts(9L);
+ if (wrkMast.getIoType() != 11) {
+ // 鍏ュ簱 ==>> 璐х墿鎼叆搴�
+ 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() == 4) {
+ // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆
+ wrkMast.setWrkSts(6L);
Date now = new Date();
wrkMast.setCrnEndTime(now);
wrkMast.setModiTime(now);
@@ -1131,134 +1358,187 @@
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姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
}
- } else {
+ // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚
+ } else if (wrkMast.getWrkSts() == 5) {
+ // 5.杩佸嚭灏忚溅 ==> 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姸鎬� 5.杩佸嚭灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", 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 (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));
+ // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
+ 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 {
- // 淇敼宸ヤ綔妗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());
- }
+ log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", 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() == 5) {
- // 5.杩佸嚭灏忚溅 ==> 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姸鎬� 5.杩佸嚭灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", 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 (steProtocol.isIdle()) {
- // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
- 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);
+ // 搴撲綅绉昏浆
+ } else {
+ if (wrkMast.getWrkSts() == 16) {
Date now = new Date();
- wrkMast.setCrnEndTime(now);
+ if (locMastService.isOutMost(wrkMast.getLocNo())) {
+ // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
+ wrkMast.setWrkSts(9L);
+ wrkMast.setCrnEndTime(now);
+ } else {
+ // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚
+ wrkMast.setWrkSts(9L);
+ }
wrkMast.setModiTime(now);
// 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
if (wrkMastMapper.updateById(wrkMast) > 0) {
// 鍫嗗灈鏈哄浣�
crnThread.setResetFlag(true);
} else {
- log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", 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());
+ }
}
}
-// }
}
}
}
@@ -1304,8 +1584,28 @@
}
break;
case 11:
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
- wrkMast.setWrkSts(12L);
+ if (wrkMast.getIoType() != 11) {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
+ wrkMast.setWrkSts(12L);
+ } else {
+ if (Cools.isEmpty(wrkMast.getMk())) {
+ log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ } else {
+ if (wrkMast.getMk().equals("I")) {
+ String locNo = wrkMast.getLocNo();
+ if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
+ wrkMast.setWrkSts(6L);
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉
+ wrkMast.setWrkSts(3L);
+ }
+ } else if (wrkMast.getMk().equals("O")) {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
+ wrkMast.setWrkSts(12L);
+ }
+ }
+ }
wrkMast.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast) == 0) {
log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 49bc3a9..2d72fe1 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -338,6 +338,7 @@
short[] arr = new short[] {row.shortValue(), bay.shortValue(), lev.shortValue()};
OperateResult result = siemensS7Net.Write("V1002", arr);
if (!result.IsSuccess) {
+ log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev);
return false;
}
BasSteService service = SpringUtils.getBean(BasSteService.class);
--
Gitblit v1.9.1