Fixiaobai
2023-09-09 e7f7daae5d21ad2988cadd25b6987ca5e7ef8001
standard-server/src/main/resources/mapper/MaterialMapper.xml
@@ -7,7 +7,7 @@
        where state = 1
          and type = #{type}
        order by create_time desc
        limit #{num1}, #{num2}
            limit #{num1}, #{num2}
    </select>
    <select id="selectMaterialById" resultType="Map">
        select m.id,
@@ -31,47 +31,75 @@
    </select>
    <resultMap id="OneLevelTreeMap" type="Map">
        <id property="id" column="materialId"/>
        <result property="name" column="materialName"/>
        <id property="type" column="type"/>
        <collection property="children" resultMap="TwoLevelTreeMap" javaType="List"/>
    </resultMap>
    <resultMap id="TwoLevelTreeMap" type="Map">
        <id property="id" column="standardId"/>
        <result property="name" column="standardName"/>
        <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="specificationsId"/>
        <result property="name" column="specificationsName"/>
        <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="productId"/>
        <result property="name" column="productName"/>
        <id property="id" column="specificationsId"/>
        <result property="name" column="specificationsName"/>
    </resultMap>
    <select id="FourTree" resultMap="OneLevelTreeMap">
        SELECT m.`id` materialId, m.`name` materialName, s.`id` standardId, s.`name` standardName,
        f.`id` specificationsId, f.`name` specificationsName, p.`id` productId, p.`name` productName
        FROM lims_laboratory.material m
        LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM lims_laboratory.standard s WHERE s.`state` = 1) s ON m.id =
        s.`material_id`
        LEFT JOIN (SELECT f.`id`, f.`name`, f.`standard_id` FROM lims_laboratory.specifications f WHERE f.`state` = 1
        <if test="specificationsName != null and specificationsName != ''">
            AND f.`name` = #{specificationsName}
        </if>
        ) f ON s.`id` = f.`standard_id`
        LEFT JOIN (SELECT p.`id`, p.`name`, p.`specifications_id` FROM lims_laboratory.product p WHERE p.`state` = 1) p ON f.`id` =
        p.`specifications_id`
        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>
    <!--添加标准选择样品名称-->
    <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>