From d9505757da1a789c4bb9f7c05e8bfd1f09b77ba1 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期一, 28 八月 2023 09:25:33 +0800
Subject: [PATCH] 修改报告预览数据接口

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

diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml
index 8853a62..1d1cfe7 100644
--- a/standard-server/src/main/resources/mapper/MaterialMapper.xml
+++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.limslaboratory.mapper.MaterialMapper">
-
     <select id="selectMaterialLimit" resultType="Map">
-        select id, name
+        select id, code, name
         from lims_laboratory.material
         where state = 1
-        and type = #{type}
+          and type = #{type}
         order by create_time desc
-            limit #{num1},#{num2}
+        limit #{num1}, #{num2}
     </select>
     <select id="selectMaterialById" resultType="Map">
         select m.id,
@@ -28,6 +27,41 @@
              lims_laboratory.serial_number sn
         where m.specifications_id = s.id
           and s.serial_id = sn.id
-        and m.id=#{materialId}
+          and m.id = #{materialId}
     </select>
+
+    <resultMap id="OneLevelTreeMap" type="Map">
+        <id property="type" column="type"/>
+        <collection property="children" resultMap="TwoLevelTreeMap" javaType="List"/>
+    </resultMap>
+
+    <resultMap id="TwoLevelTreeMap" type="Map">
+        <id property="id" column="materialId"/>
+        <result property="name" column="materialName"/>
+        <collection property="children" resultMap="ThreeLevelTreeMap" javaType="List"/>
+    </resultMap>
+
+    <resultMap id="ThreeLevelTreeMap" type="Map">
+        <id property="id" column="standardId"/>
+        <result property="name" column="standardName"/>
+        <collection property="children" resultMap="FourLevelTreeMap" javaType="List"/>
+    </resultMap>
+
+    <resultMap id="FourLevelTreeMap" type="Map">
+        <id property="id" column="specificationsId"/>
+        <result property="name" column="specificationsName"/>
+    </resultMap>
+
+    <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
+        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`, 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>
+
 </mapper>

--
Gitblit v1.9.3