From 3059d50796c6b497b930933e9d9d2c5a812bb3c7 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 12 十一月 2025 15:55:57 +0800
Subject: [PATCH] #

---
 src/main/resources/mapper/LocMastMapper.xml |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 622df9b..654e059 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -37,6 +37,16 @@
 
     </resultMap>
 
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMapError" type="com.zy.asrs.entity.param.ErrorDeviceParam">
+        <result column="category" property="category" />
+        <result column="equipmentNo" property="equipmentNo" />
+        <result column="categoryOther" property="categoryOther" />
+        <result column="equipmentNoOther" property="equipmentNoOther" />
+        <result column="errorM" property="errorM" />
+
+    </resultMap>
+
     <select id="queryFreeLocMast" resultMap="BaseResultMap">
         select top 1 *
         from asr_loc_mast
@@ -67,6 +77,52 @@
             FROM asr_wrk_mast AS d
             WHERE a.loc_no = d.loc_no OR a.loc_no = d.source_loc_no
           )
+        order by a.loc_no
+    </select>
+
+    <!--    搴撲綅涓篎\D浣嗗瓨鍦ㄥ伐浣滄。妗�-->
+    <select id="asrLocMastNotInDetl3" resultMap="BaseResultMap">
+        SELECT a.*
+        FROM asr_loc_mast AS a
+        WHERE a.loc_sts IN ('F','D')
+          AND EXISTS (
+            SELECT 1
+            FROM asr_wrk_mast AS d
+            WHERE a.loc_no = d.loc_no OR a.loc_no = d.source_loc_no
+        )
+        order by a.loc_no
+    </select>
+
+    <!--    娣辨祬搴撲綅涓嶄竴鑷�-->
+    <select id="adjacentLocMast" resultMap="BaseResultMapError">
+        SELECT
+            a.loc_no AS category,
+            a.loc_sts AS equipmentNo,
+            neighbor.loc_no AS categoryOther,
+            neighbor.loc_sts AS equipmentNoOther,
+            '娣辨祬搴撲綅涓嶄竴鑷�' AS errorM
+        FROM
+            asr_loc_mast AS a
+                JOIN
+            asr_loc_mast AS neighbor ON
+                a.bay1 = neighbor.bay1 AND
+                a.lev1 = neighbor.lev1 AND
+                (
+                    (a.row1 = 1 AND neighbor.row1 = 2) OR
+                    (a.row1 = 2 AND neighbor.row1 = 1) OR
+                    (a.row1 = 3 AND neighbor.row1 = 4) OR
+                    (a.row1 = 4 AND neighbor.row1 = 3) OR
+                    (a.row1 = 5 AND neighbor.row1 = 6) OR
+                    (a.row1 = 6 AND neighbor.row1 = 5) OR
+                    (a.row1 = 7 AND neighbor.row1 = 8) OR
+                    (a.row1 = 8 AND neighbor.row1 = 7)
+                    )
+        WHERE
+            a.row1 IN (2,3,6,7)
+          AND NOT (
+            a.loc_sts = neighbor.loc_sts OR
+            (a.loc_sts IN ('F', 'D') AND neighbor.loc_sts IN ('F', 'D'))
+            )
     </select>
 
     <select id="queryShallowLocFMast" resultMap="BaseResultMap">

--
Gitblit v1.9.1