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