<?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, code, name
|
from lims_laboratory.material
|
where state = 1
|
and type = #{type}
|
order by create_time desc
|
limit #{num1}, #{num2}
|
</select>
|
<select id="selectMaterialById" resultType="Map">
|
select m.id,
|
m.num,
|
m.supplier,
|
m.name,
|
m.location,
|
m.batch,
|
m.reel_number reelNumber,
|
concat(s.name, '/', sn.name) specificationSerialNum,
|
s.voltage_level voltageLevel,
|
s.cross_section crossSection,
|
s.number_of_cores numberOfCores,
|
s.instruct
|
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>
|