From 3ad5b828240db97470c9a08b247b1f6f5cdc0dd7 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 04 八月 2023 11:30:33 +0800 Subject: [PATCH] LIMS管理系统框架-开发8-4 --- standard-server/src/main/resources/mapper/MaterialMapper.xml | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 deletions(-) diff --git a/standard-server/src/main/resources/mapper/MaterialMapper.xml b/standard-server/src/main/resources/mapper/MaterialMapper.xml index d3281fd..1903342 100644 --- a/standard-server/src/main/resources/mapper/MaterialMapper.xml +++ b/standard-server/src/main/resources/mapper/MaterialMapper.xml @@ -2,15 +2,15 @@ <!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="com.yuanchu.limslaboratory.pojo.Material"> + <select id="selectMaterialLimit" resultType="Map"> select id, name - from material + from lims_laboratory.material where state = 1 and type = #{type} order by create_time desc limit #{num1},#{num2} </select> - <select id="selectMaterialById" resultType="java.util.Map"> + <select id="selectMaterialById" resultType="Map"> select m.id, m.num, m.supplier, @@ -23,10 +23,48 @@ s.cross_section crossSection, s.number_of_cores numberOfCores, s.instruct - from material m, - specifications s, - serial_number sn + from lims_laboratory.material m, + lims_laboratory.specifications s, + lims_laboratory.serial_number sn where m.specifications_id = s.id and s.serial_id = sn.id + 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