<?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="type" column="type"/>
|
<collection property="children" resultMap="TwoLevelTreeMap" javaType="List"/>
|
</resultMap>
|
|
<resultMap id="TwoLevelTreeMap" type="Map">
|
<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="standardId"/>
|
<result property="name" column="standardName"/>
|
<collection property="children" resultMap="FourLevelTreeMap" javaType="List"/>
|
</resultMap>
|
|
<resultMap id="FourLevelTreeMap" type="Map">
|
<id property="id" column="specificationsId"/>
|
<result property="name" column="specificationsName"/>
|
</resultMap>
|
|
<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
|
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="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>
|