From 975adcb893f3ea7b71ac2236db5d0232eb2691f0 Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期日, 03 八月 2025 15:48:27 +0800
Subject: [PATCH] 出库限制去捆绑机器任务数
---
src/main/resources/mapper/WrkMastMapper.xml | 22 ++++++++++++++++++++++
src/main/java/com/zy/service/impl/MainServiceImpl.java | 5 +++++
src/main/java/com/zy/mapper/WrkMastMapper.java | 2 ++
3 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/mapper/WrkMastMapper.java b/src/main/java/com/zy/mapper/WrkMastMapper.java
index b525888..bbf7b45 100644
--- a/src/main/java/com/zy/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/mapper/WrkMastMapper.java
@@ -124,4 +124,6 @@
* @return 宸ヤ綔涓绘。
*/
WrkMast selectBy104();
+
+ int selectCountByKb();
}
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 20e548c..3be9879 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -827,6 +827,8 @@
if (config != null && config.getStatus() == 1) {
crnAvailableOut = true;
}
+ // 闄愬埗鍘绘崋缁戞満鍣ㄤ换鍔℃暟
+ int kbWrks = wrkMastMapper.selectCountByKb();
for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
@@ -834,6 +836,9 @@
if (wrkMast == null) {
continue;
}
+ if (wrkMast.getStaNo() == 1031 && kbWrks > 1) {
+ continue;
+ }
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
News.error(""+mark+" - 2"+" - 1"+" - 鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index b34945b..15bf650 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -211,4 +211,26 @@
<select id="selectBy104" resultType="com.zy.entity.WrkMast">
select top 1 * from asr_wrk_mast awm where awm.sta_no = 104 and awm.wrk_sts = 11 order by awm.appe_time
</select>
+ <select id="selectCountByKb" resultType="java.lang.Integer">
+SELECT
+ count(*)
+FROM
+ asr_wrk_mast w
+WHERE
+ (w.sta_no = 1031
+ AND w.wrk_sts != 11
+ AND w.wrk_sts != 15)
+ OR (
+ w.wrk_sts = 15
+ AND EXISTS (
+ SELECT
+ 1
+ FROM
+ asr_bas_devp d
+ WHERE
+ d.wrk_no = w.wrk_no
+ AND d.dev_no IN (1031, 1032, 1033)
+ )
+)
+ </select>
</mapper>
--
Gitblit v1.9.1