From c0bbd3356de42175a4bf956d37e85bf74c169d4b Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 31 八月 2023 12:49:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 laboratory-server/src/main/resources/mapper/InstrumentMapper.xml |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
index 5031258..57ce9b7 100644
--- a/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/InstrumentMapper.xml
@@ -37,16 +37,49 @@
         <result property="name" column="name"/>
     </resultMap>
     <select id="chooseinstum" resultMap="chooseinstumMap">
-        select c.id cid,
-            instrument.id,
-               father_name ,
-               son_name ,
+        select c.id           cid,
+               instrument.id,
+               father_name,
+               son_name,
                equipment_name name
         from lims_laboratory.instrument
                  left join lims_laboratory.classify c on c.id = instrument.classify_id
-        where conditions in(1,5)
+        where conditions in (1, 5)
     </select>
-    <select id="getInstrument" resultType="map">
-        select id,equipment_name equipmentName from instrument  where 1=1  and state=1 and conditions=5
+    <select id="getInstrument" resultMap="treeMapClassAndInstrument">
+        SELECT
+            *
+        FROM
+            classify f,(
+            SELECT
+                cl.id cId,
+                cl.son_name cSonName,
+                cl.father_name cFatherName,
+                i.id iId,
+                equipment_name equipmentName
+            FROM
+                classify cl,
+                instrument i
+            WHERE
+                i.classify_id = cl.id
+              AND i.state = 1
+              AND conditions = 5
+        ) s
+        WHERE
+            f.father_name = s.cFatherName
+          AND f.son_name IS NULL
     </select>
+
+    <resultMap id="treeMapClassAndInstrument" type="com.yuanchu.limslaboratory.pojo.ClassAndInsTree" >
+        <result property="fatherId" column="id"/>
+        <result property="fatherName" column="father_name"/>
+        <collection property="childrenList" ofType="classAndIns">
+            <result property="sonId" column="cId"/>
+            <result property="sonName" column="cSonName"/>
+            <collection property="childrenList" ofType="ins">
+                <result property="insId" column="iId"/>
+                <result property="name" column="equipmentName"/>
+            </collection>
+        </collection>
+    </resultMap>
 </mapper>

--
Gitblit v1.9.3