From c05fc7d74a7f706686b2fc6735ebd98459996903 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 三月 2023 14:47:29 +0800
Subject: [PATCH] 四向穿梭车主线程完成操作
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 73 +++++++++++++++++++++++++++++++-----
1 files changed, 63 insertions(+), 10 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 4651f27..f0846ce 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -10,15 +10,11 @@
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
-import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.MatDto;
-import com.zy.common.model.SearchLocParam;
-import com.zy.common.model.StartupDto;
+import com.zy.common.model.*;
import com.zy.common.model.enums.WrkChargeType;
import com.zy.common.service.CommonService;
import com.zy.common.service.erp.ErpService;
-import com.zy.common.utils.CollectionUtils;
-import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.*;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.News;
@@ -26,9 +22,7 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
import com.zy.core.model.*;
-import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.command.LedCommand;
-import com.zy.core.model.command.SteCommand;
+import com.zy.core.model.command.*;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.model.protocol.StaProtocol;
@@ -94,6 +88,8 @@
private OrderMapper orderMapper;
@Autowired
private OrderDetlMapper orderDetlMapper;
+ @Autowired
+ private RedisUtil redisUtil;
/**
* 缁勬墭
@@ -624,13 +620,70 @@
// 鍙湁褰撳洓鍚戠┛姊溅绌洪棽 骞朵笖鏃犱换鍔℃椂鎵嶇户缁墽琛�
if (shuttleProtocol.getBusyStatusType() == ShuttleStatusType.IDLE && shuttleProtocol.getTaskNo() == 0) {
//鍏ュ嚭搴撻�昏緫
- //.....
+ for (WrkMast wrkSts : wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2))) {
+ //鍒嗛厤浠诲姟鍙�
+ shuttleProtocol.setTaskNo(wrkSts.getWrkNo().shortValue());
+ //鍒嗛厤婧愬簱浣�
+ shuttleProtocol.setSourceLocNo(wrkSts.getSourceLocNo());
+ //鍒嗛厤鐩爣搴撲綅
+ shuttleProtocol.setLocNo(wrkSts.getLocNo());
+
+
+ ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
+ //鍥涘悜绌挎杞﹀彿
+ assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());
+ //浠诲姟鍙�
+ assignCommand.setTaskNo(wrkSts.getWrkNo().shortValue());
+ //鍏ュ嚭搴撴ā寮�
+ assignCommand.setTaskMode((short) 0);
+ //婧愬簱浣�
+ assignCommand.setSourceLocNo(wrkSts.getSourceLocNo());
+ //鐩爣搴撲綅
+ assignCommand.setDistLocNo(wrkSts.getLocNo());
+
+ //涓嬪彂浠诲姟
+ MessageQueue.offer(SlaveType.Shuttle, assignCommand.getShuttleNo().intValue(), new Task(3, assignCommand));
+ }
+
}
}
}
/**
+ * 鍥涘悜绌挎杞︿换鍔″畬鎴�
+ */
+ public synchronized void shuttleFinished() {
+ for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
+ //鑾峰彇鍥涘悜绌挎杞︿俊鎭�
+ ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
+ ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ if (shuttleProtocol == null) {
+ continue;
+ }
+
+ //鍥涘悜绌挎杞︾姸鎬佷负绛夊緟纭
+ if (shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id && shuttleProtocol.getTaskNo() != 0) {
+ //灏嗕换鍔℃。鏍囪涓哄畬鎴�
+ WrkMast wrkMast = wrkMastMapper.selectByWorkNo(shuttleProtocol.getTaskNo().intValue());
+ if (wrkMast != null) {
+ wrkMast.setWrkSts(8L);
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
+ //璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵��
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
+ //浠诲姟鍙锋竻闆�
+ shuttleProtocol.setTaskNo((short) 0);
+ News.error("鍥涘悜绌挎杞﹀浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵��,澶嶄綅銆傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", shuttleProtocol.getShuttleNo(), shuttleProtocol.getTaskNo());
+ } else {
+ News.error("鍥涘悜绌挎杞﹀浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵��,澶嶄綅澶辫触锛屼絾鏈壘鍒板伐浣滄。銆傚洓鍚戠┛姊溅鍙�={}锛屽伐浣滃彿={}", shuttleProtocol.getShuttleNo(), shuttleProtocol.getTaskNo());
+ }
+ }
+
+ }
+ }
+ }
+
+ /**
* 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
*/
public synchronized void crnIoExecute(){
--
Gitblit v1.9.1