hyingbo
2 天以前 6da57b610d97be3f79084d43440e7823d707b249
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -2,4 +2,65 @@
<!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.EamEquipmentMapper">
    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamEquipment">
        select e.*, ext.repair_status, ext.maintenance_status
        from eam_equipment e
        left join eam_equipment_extend ext
        on e.id = ext.id
        ${ew.customSqlSegment}
    </select>
    <select id="getCategoryTypeMap" resultType="org.jeecg.modules.system.entity.SysCategory">
        WITH Level2Nodes AS (
            SELECT
                id AS level_id,
                name,
                2 AS node_level
            FROM sys_category
            WHERE pid IN (SELECT id FROM sys_category WHERE pid = '0')
        ),
             Level3Nodes AS (
                 SELECT
                     tn.id AS level_id,
                     tn.name,
                     3 AS node_level
                 FROM sys_category tn
                          INNER JOIN Level2Nodes l2 ON tn.pid = l2.level_id
             ),
             TargetLevels AS (
                 SELECT level_id, node_level, name FROM Level2Nodes
                 UNION ALL
                 SELECT level_id, node_level, name FROM Level3Nodes
             ),
             NodeHierarchy AS (
                 SELECT
                     tl.level_id AS root_id,
                     tl.name,
                     yt.id AS node_id,
                     yt.code AS node_code
                 FROM TargetLevels tl
                          INNER JOIN sys_category yt ON yt.id = tl.level_id
                 UNION ALL
                 SELECT
                     nh.root_id,
                     nh.name,
                     yt.id AS node_id,
                     yt.code AS node_code
                 FROM sys_category yt
                          INNER JOIN NodeHierarchy nh ON yt.pid = nh.node_id
             )
        SELECT
            root_id AS id,
            name,
            STUFF((
                      SELECT ',' + node_code
                      FROM NodeHierarchy nh2
                      WHERE nh2.root_id = nh1.root_id
                      FOR XML PATH(''), TYPE
                ).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS childCodes
        FROM NodeHierarchy nh1
        GROUP BY root_id, name
        ORDER BY root_id
    </select>
</mapper>