Fixiaobai
2023-09-08 d2ce4553e18131b9a60d7be53c496f0cbce699ca
standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -54,13 +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) 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="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>