<?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="org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper">
|
|
<select id="queryListBykeywordAndCategory" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard">
|
SELECT
|
e.equipment_code+ '[' + e.equipment_name+ ']' AS 'equipmentText',
|
m.id,
|
m.standard_code,
|
m.standard_name,
|
m.maintenance_period,
|
m.equipment_id
|
FROM
|
eam_maintenance_standard m -- 先过滤设备表,减少 JOIN 量
|
INNER JOIN (
|
SELECT
|
id,
|
eam_equipment.equipment_code as equipment_code,
|
eam_equipment.equipment_name as equipment_name,
|
org_id
|
FROM
|
eam_equipment
|
WHERE
|
del_flag = 0
|
AND ( equipment_code LIKE CONCAT ( #{ keyword }, '%' ) -- 右模糊利用索引
|
OR equipment_name LIKE CONCAT ( #{ keyword }, '%' ) )
|
) e ON m.equipment_id = e.id
|
WHERE
|
m.del_flag = 0
|
AND m.standard_status= 'NORMAL'
|
AND m.maintenance_category = #{maintenanceCategory}
|
AND EXISTS ( SELECT 1 FROM mdc_user_production t WHERE t.user_id = #{ userId } AND t.pro_id = e.org_id );
|
</select>
|
</mapper>
|