配件类型关键字查询带出一二三级目录

This commit is contained in:
liang.chao 2024-10-16 09:36:09 +08:00
parent 849c4bddf6
commit f176b0e8e4
1 changed files with 82 additions and 23 deletions

View File

@ -85,30 +85,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectMaPartType" parameterType="com.bonus.sgzb.base.domain.MaPartType" resultMap="MaPartTypeResult"> <select id="selectMaPartType" parameterType="com.bonus.sgzb.base.domain.MaPartType" resultMap="MaPartTypeResult">
SELECT SELECT DISTINCT
t1.pa_id, t1.pa_id,
t1.pa_name, t1.pa_name,
t1.parent_id, t1.parent_id,
t1.status, t1.STATUS,
t1.num, t1.num,
t1.unit_id, t1.unit_id,
t1.buy_price, t1.buy_price,
t1.level, t1.LEVEL,
t1.warn_num, t1.warn_num,
t1.del_flag, t1.del_flag,
t1.create_by, t1.create_by,
t1.create_time, t1.create_time,
t1.remark, t1.remark,
t1.company_id, t1.company_id,
t1.year t1.YEAR
FROM FROM
ma_part_type t1 ma_part_type t1
LEFT JOIN LEFT JOIN ma_part_type t2 ON t1.parent_id = t2.pa_id
ma_part_type t2 ON t1.parent_id = t2.pa_id LEFT JOIN ma_part_type t3 ON t2.parent_id = t3.pa_id
LEFT JOIN
ma_part_type t3 ON t2.parent_id = t3.pa_id
WHERE WHERE
t1.del_flag = '0' t1.del_flag = '0' and t1.pa_id is not null
<if test="paName != null and paName != ''"> <if test="paName != null and paName != ''">
AND (t1.pa_name LIKE CONCAT('%', #{paName}, '%') AND (t1.pa_name LIKE CONCAT('%', #{paName}, '%')
OR t2.pa_name LIKE CONCAT('%', #{paName}, '%') OR t2.pa_name LIKE CONCAT('%', #{paName}, '%')
@ -117,7 +115,68 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="year != null and year != ''"> <if test="year != null and year != ''">
AND t1.year = #{year} AND t1.year = #{year}
</if> </if>
UNION
SELECT
t2.pa_id,
t2.pa_name,
t2.parent_id,
t2.STATUS,
t2.num,
t2.unit_id,
t2.buy_price,
t2.LEVEL,
t2.warn_num,
t2.del_flag,
t2.create_by,
t2.create_time,
t2.remark,
t2.company_id,
t2.YEAR
FROM
ma_part_type t1
LEFT JOIN ma_part_type t2 ON t1.parent_id = t2.pa_id
LEFT JOIN ma_part_type t3 ON t2.parent_id = t3.pa_id
WHERE
t2.del_flag = '0' and t2.pa_id is not null
<if test="paName != null and paName != ''">
AND (t1.pa_name LIKE CONCAT('%', #{paName}, '%')
OR t2.pa_name LIKE CONCAT('%', #{paName}, '%')
OR t3.pa_name LIKE CONCAT('%', #{paName}, '%'))
</if>
<if test="year != null and year != ''">
AND t2.year = #{year}
</if>
UNION
SELECT
t3.pa_id,
t3.pa_name,
t3.parent_id,
t3.STATUS,
t3.num,
t3.unit_id,
t3.buy_price,
t3.LEVEL,
t3.warn_num,
t3.del_flag,
t3.create_by,
t3.create_time,
t3.remark,
t3.company_id,
t3.YEAR
FROM
ma_part_type t1
LEFT JOIN ma_part_type t2 ON t1.parent_id = t2.pa_id
LEFT JOIN ma_part_type t3 ON t2.parent_id = t3.pa_id
WHERE
t3.del_flag = '0' and t3.pa_id is not null
<if test="paName != null and paName != ''">
AND (t1.pa_name LIKE CONCAT('%', #{paName}, '%')
OR t2.pa_name LIKE CONCAT('%', #{paName}, '%')
OR t3.pa_name LIKE CONCAT('%', #{paName}, '%'))
</if>
<if test="year != null and year != ''">
AND t3.year = #{year}
</if>
</select> </select>