| | |
| | | |
| | | <select id="queryListBykeywordAndCategory" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard"> |
| | | SELECT |
| | | m.* |
| | | 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 |
| | | 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 |
| | | eam_equipment e |
| | | INNER JOIN mdc_user_production t |
| | | ON t.user_id = #{userId} |
| | | AND t.pro_id = e.org_id -- 关联条件移到JOIN中 |
| | | WHERE |
| | | e.id = m.equipment_id |
| | | AND e.del_flag = 0 |
| | | AND ( |
| | | e.equipment_code LIKE CONCAT('%', #{keyword}, '%') |
| | | OR e.equipment_name LIKE CONCAT('%', #{keyword}, '%') |
| | | ) |
| | | ) |
| | | AND EXISTS ( SELECT 1 FROM mdc_user_production t WHERE t.user_id = #{ userId } AND t.pro_id = e.org_id ); |
| | | </select> |
| | | </mapper> |