From 22d9b27f913cc47d54b361870f62aa81b4c8fd85 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 27 三月 2023 14:47:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/xzjlwcs' into xzjlwcs --- 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