| | |
| | | <?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} |
| | | limit #{num1}, #{num2} |
| | | </select> |
| | | <select id="selectMaterialById" resultType="Map"> |
| | | select m.id, |
| | |
| | | </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 |
| | | 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 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` |
| | | 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> |