From 74e0eb7a7e84b5006903e79554c007d9d5fbbcbc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 05 十月 2023 17:04:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
index dbe89f9..b9ed6ba 100644
--- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
@@ -1,12 +1,17 @@
package com.zy.common.utils;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.WrkCharge;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkChargeMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.NavigateNode;
@@ -24,6 +29,8 @@
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.LiftThread;
import com.zy.core.thread.NyShuttleThread;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -87,6 +94,7 @@
if (wrkMast1 != null) {
wrkMast1.setShuttleNo(shuttleProtocol.getShuttleNo().intValue());
wrkMastMapper.updateById(wrkMast1);
+ return true;
}
break;
}
@@ -130,6 +138,13 @@
if (wrkMast1 != null) {
int lev = Utils.getLev(wrkMast1.getLocNo());//鐩爣妤煎眰
+
+ //妫�娴嬬洰鏍囨ゼ灞傝溅鏁伴噺鏄惁灏忎簬鍏佽鐨勬渶澶ф暟閲�
+ boolean checkDispatchMaxNum = checkDispatchMaxNum(lev);
+ if (!checkDispatchMaxNum) {
+ return false;
+ }
+
int recentValue = 99999;//鏈�灏忓樊鍊�
for (NyShuttleThread shuttleThread : diffLev) {
//褰撳墠绌挎杞﹀簱浣嶅彿
@@ -265,6 +280,48 @@
}
/**
+ * 妫�娴嬬洰鏍囨ゼ灞傝溅鏁伴噺鏄惁灏忎簬鍏佽鐨勬渶澶ф暟閲�
+ * true: 灏忎簬鏈�澶ф暟閲� false: 澶т簬鎴栫瓑浜庢渶澶ф暟閲�
+ */
+ public boolean checkDispatchMaxNum(Integer lev) {
+ BasShuttleService basShuttleService = SpringUtils.getBean(BasShuttleService.class);
+ ConfigService configService = SpringUtils.getBean(ConfigService.class);
+ EntityWrapper<Config> wrapper = new EntityWrapper<>();
+ wrapper.eq("code", "dispatchShuttleMaxNum");
+ Config config = configService.selectOne(wrapper);
+ if (config == null) {
+ return false;
+ }
+
+ int levCount = 0;//鐩爣妤煎眰杞﹁締鏁伴噺
+ for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
+ //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
+ NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
+ NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ if (shuttleProtocol == null || shuttleProtocol.getShuttleNo() == null) {
+ continue;
+ }
+
+ NyShuttleProtocol.NyShuttlePointClass point = null;
+ if (shuttleProtocol.getPoint() == null) {
+ BasShuttle basShuttle = basShuttleService.selectById(shuttle.getId());//灏忚溅濡傛灉娌℃湁鏁版嵁锛屼粠鏁版嵁搴撳彇鏁版嵁
+ if (basShuttle == null || basShuttle.getPoint() == null) {
+ continue;
+ }
+ point = JSON.parseObject(basShuttle.getPoint(), NyShuttleProtocol.NyShuttlePointClass.class);
+ }else {
+ point = shuttleProtocol.getPoint();
+ }
+
+ if (point.getZ().equals(lev)) {
+ levCount++;//鐩爣妤煎眰鏈夎溅锛屾暟閲忓鍔�
+ }
+ }
+
+ return levCount < Integer.parseInt(config.getValue());
+ }
+
+ /**
* 鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満杈撻�佺珯鐐�
*/
public LiftStaProtocol getRecentLiftSta(Integer shuttleNo) {
--
Gitblit v1.9.1