Lius
2025-04-10 17fc602f57c685bac6b426d112252adb49baec44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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>