From d2ce4553e18131b9a60d7be53c496f0cbce699ca Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期五, 08 九月 2023 14:47:47 +0800
Subject: [PATCH] 修改bug

---
 standard-server/src/main/resources/mapper/MaterialMapper.xml |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml
index e2f4825..3c1d7a9 100644
--- a/standard-server/src/main/resources/mapper/MaterialMapper.xml
+++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -54,23 +54,48 @@
 
     <select id="FourTree" resultMap="OneLevelTreeMap">
         SELECT m.`type`, m.`id` materialId, m.`name` materialName, s.id standardId, s.name standardName,
-        f.id specificationsId, f.name specificationsName
+               f.id specificationsId, f.name specificationsName
         FROM material m
-        LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s
-        ON s.material_id = m.`id`
-        LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM specifications f WHERE f.`state` = 1
-        <if test="specificationsName != null and specificationsName != ''">
-            AND f.`name` = #{specificationsName}
-        </if>) f
-        ON f.standard_id = s.id
+                 LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s
+                           ON s.material_id = m.`id`
+                 LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id`, f.`create_time` FROM specifications f WHERE f.`state` = 1) f
+                           ON f.standard_id = s.id
         WHERE m.`state` = 1
+        ORDER BY f.create_time DESC
     </select>
 
-
-    <!--娣诲姞鏍囧噯閫夋嫨鏍峰搧鍚嶇О-->
-    <select id="selectmater" resultType="java.lang.String">
-        select  name
-        from lims_laboratory.material
-        where state = 1
+    <select id="getTreeByMaterialId" resultMap="getTreeById">
+        SELECT
+            m.id mId,
+            m.`name` mName,
+            sd.id sdId,
+            sd.`name` sdName,
+            ss.id ssId,
+            ss.`name` ssName
+        FROM
+            material m,
+            standard sd,
+            specifications ss
+        WHERE
+            m.id = sd.material_id
+          AND sd.id = ss.standard_id
+          AND m.id = #{id}
+          AND m.state != 0
+	AND sd.state != 0
+	AND ss.state !=0
     </select>
+<resultMap id="getTreeById" type="map">
+    <result property="id" column="mId"/>
+    <result property="name" column="mName"/>
+    <collection property="children" resultMap="getStan" javaType="List"/>
+</resultMap>
+    <resultMap id="getStan" type="map">
+        <result property="id" column="sdId"/>
+        <result property="name" column="sdName"/>
+        <collection property="children" resultMap="getModel" javaType="List"/>
+    </resultMap>
+    <resultMap id="getModel" type="map">
+        <result property="id" column="ssId"/>
+        <result property="name" column="ssName"/>
+    </resultMap>
 </mapper>

--
Gitblit v1.9.3