From b325ae27b093aedb99345fcfa4082e55228d4de1 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 10 三月 2022 13:35:34 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SteThread.java | 4 +-
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 68 ++++++++++++++++++++++++++-------
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2
src/main/resources/mapper/WrkMastMapper.xml | 2
4 files changed, 57 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 2f73757..d619e60 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -35,7 +35,7 @@
WrkMast selectPakInStep45(@Param("workNo")Integer workNo);
- WrkMast selectPakInStep8(@Param("workNo")Integer workNo);
+ WrkMast selectPakInStep8(@Param("steNo")Integer steNo);
// 鎷f枡鍐嶅叆搴撴椂锛岀珯鐐规湁鐗╀笖闇�姹傛椂鏌ヨ
// @Select("select top 1 * from asr_wrk_mast where wrk_no=#{workNo} and wrk_sts=14 and (io_type=103 or io_type=107 or io_type=104)")
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 250d4ac..3d1ad57 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -987,9 +987,20 @@
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ // 鏌ヨ鏄惁鏈夊緟鍏ュ簱鐨勪换鍔�
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep8(steProtocol.getSteNo().intValue());
+ if (wrkMast == null) { continue; }
- wrkMastMapper.selectPakInStep8()
-
+ // 淇敼宸ヤ綔妗g姸鎬� 8.灏忚溅鎼叆搴� => 9.鍏ュ簱瀹屾垚
+ Date now = new Date();
+ wrkMast.setWrkSts(9L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 8.灏忚溅鎼叆搴� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ } else {
+ steThread.setResetFlag(true);
+ }
}
}
}
@@ -1035,6 +1046,7 @@
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
@Async
+ @Transactional
public void storeFinished() {
for (CrnSlave crn : slaveProperties.getCrn()) {
// 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -1051,25 +1063,51 @@
}
// 鍏ュ簱 + 搴撲綅杞Щ
if (wrkMast.getWrkSts() == 7 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)){
+ // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴�
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 {
- // ==> 8.灏忚溅鎼叆搴�
- wrkMast.setWrkSts(8L);
+ // 缁欑┛姊溅涓嬪彂鍛戒护
+ Integer steNo = wrkMast.getSteNo();
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+ // todo:luxiaotao
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴�
+ Date now = new Date();
+ wrkMast.setWrkSts(8L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ // 鍫嗗灈鏈哄浣�
+ crnThread.setResetFlag(true);
+ } else {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
}
- } else {
- continue;
}
- Date now = new Date();
- wrkMast.setCrnEndTime(now);
- wrkMast.setModiTime(now);
- // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- if (wrkMastMapper.updateById(wrkMast) > 0) {
- // 鍫嗗灈鏈哄浣�
- crnThread.setResetFlag(true);
- }
-
}
}
}
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 6cca57c..169d8aa 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -12,8 +12,8 @@
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
-import com.zy.core.enums.CrnStatusType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.SteStatusType;
import com.zy.core.model.SteSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.SteCommand;
@@ -168,7 +168,7 @@
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
// 澶嶄綅淇″彿
- if (steProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+ if (steProtocol.getStatusType().equals(SteStatusType.WAITING)) {
if (resetFlag) {
SteCommand steCommand = new SteCommand();
// steCommand.setAckFinish((short)1);
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 1ec0f17..b032786 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -101,7 +101,7 @@
</select>
<select id="selectPakInStep8" resultMap="BaseResultMap">
- select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo} and wrk_sts = 8
+ select top 1 * from dbo.asr_wrk_mast where ste_no=#{steNo} and wrk_sts = 8
</select>
<select id="selectPickStep" resultMap="BaseResultMap">
--
Gitblit v1.9.1