From e3b5926f2260c1df575cf68732057dfe42f5d962 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期一, 07 八月 2023 09:03:26 +0800 Subject: [PATCH] 检验单 --- standard-server/src/main/resources/mapper/MaterialMapper.xml | 41 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 2 deletions(-) diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml index 8853a62..661b8fd 100644 --- a/standard-server/src/main/resources/mapper/MaterialMapper.xml +++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml @@ -3,7 +3,7 @@ <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} @@ -28,6 +28,43 @@ 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="id" column="materialId"/> + <result property="name" column="materialName"/> + <collection property="children" resultMap="TwoLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="TwoLevelTreeMap" type="Map"> + <id property="id" column="standardId"/> + <result property="name" column="standardName"/> + <collection property="children" resultMap="ThreeLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="ThreeLevelTreeMap" type="Map"> + <id property="id" column="specificationsId"/> + <result property="name" column="specificationsName"/> + <collection property="children" resultMap="FourLevelTreeMap" javaType="List"/> + </resultMap> + + <resultMap id="FourLevelTreeMap" type="Map"> + <id property="id" column="productId"/> + <result property="name" column="productName"/> + </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 material m + LEFT JOIN (SELECT s.`id`, s.`name`, s.`material_id` FROM standard s WHERE s.`state` = 1) s ON m.id = s.`material_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 s.`id` = f.`standard_id` + LEFT JOIN (SELECT p.`id`, p.`name`, p.`specifications_id` FROM product p WHERE p.`state` = 1) p ON f.`id` = p.`specifications_id` + WHERE m.`state` = 1 </select> </mapper> -- Gitblit v1.9.3