From 5875bad1254965cbb921e0c64776043d344f5548 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 27 十月 2022 13:41:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 2 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 18f276f..e78cd7b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -95,7 +95,6 @@
* 缁勬墭
* 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
*/
- @Async
public void generateStoreWrkFile() {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -226,7 +225,6 @@
* wms鍏ュ簱
* 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2
*/
- @Async
public void generateStoreWrkFile0() {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -1268,6 +1266,37 @@
}
/**
+ * 褰撳墠搴撲綅缁勬槸鍚﹀瓨鍦ㄥ叾浠栧皬杞�
+ */
+ public Integer existOtherSte(String locNo, Integer steNo) {
+ Integer otherSteNo = null;
+ for (SteSlave ste : slaveProperties.getSte()) {
+ if (ste.getId().equals(steNo)) { continue; }
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ if (steProtocol.isEnable()) {
+ BasSte basSte = basSteService.selectById(ste.getId());
+ if (basSte != null) {
+ if ((Utils.getGroupRow(locNo, true).equals(Utils.getGroupRow(basSte.getRow(), true))
+ && basSte.getBay() == Utils.getBay(locNo)
+ && basSte.getLev() == Utils.getLev(locNo))
+ ||
+ (Utils.getGroupRow(locNo, true).equals(Utils.getGroupRow(steProtocol.getRow().intValue(), true))
+ && steProtocol.getBay() == Utils.getBay(locNo)
+ && steProtocol.getLev() == Utils.getLev(locNo))
+ ) {
+ otherSteNo = ste.getId();
+ break;
+ }
+ }
+ }
+ }
+ return otherSteNo;
+ }
+
+ /**
* 褰撳墠搴撲綅缁勬槸鍚﹀瓨鍦ㄧ┖闂插皬杞�
*/
public Integer hasCarOfIdle(String locNo) {
@@ -1468,6 +1497,14 @@
LocMast locMast;
// 鍏ュ簱鎼�
if (wrkMast.getWrkSts() <= 10) {
+
+ // 鍒ゆ柇琚Щ搴撲綅鏄惁瀛樺湪鍏朵粬灏忚溅
+ Integer otherSte = existOtherSte(wrkMast.getLocNo(), steNo);
+ if (otherSte != null) {
+ log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", steNo, wrkMast.getLocNo(), otherSte);
+ return;
+ }
+
locMast = locMastService.selectById(wrkMast.getLocNo());
// 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -1497,6 +1534,13 @@
}
// 鍑哄簱鎼�
} else {
+ // 鍒ゆ柇琚Щ搴撲綅鏄惁瀛樺湪鍏朵粬灏忚溅
+ Integer otherSte = existOtherSte(wrkMast.getSourceLocNo(), steNo);
+ if (otherSte != null) {
+ log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", steNo, wrkMast.getSourceLocNo(), otherSte);
+ return;
+ }
+
locMast = locMastService.selectById(wrkMast.getSourceLocNo());
// 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -1548,8 +1592,16 @@
log.error("{}鍙风┛姊溅鍦ㄦ暟鎹簱涓嶅瓨鍦紒锛侊紒", steNo);
return;
}
+
String idleLocNo = basSte.getIdleLoc();
+ // 鍒ゆ柇琚Щ搴撲綅鏄惁瀛樺湪鍏朵粬灏忚溅
+ Integer otherSte = existOtherSte(idleLocNo, steNo);
+ if (otherSte != null) {
+ log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", steNo, idleLocNo, otherSte);
+ return;
+ }
+
// 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
--
Gitblit v1.9.1