117 分钟以前 55d694aaae4e421b5e55cd941500e08f85cb5d4d
src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -31,9 +31,12 @@
        dl.tenant_id,
        dl.is_depr,
        dl.annual_depreciation_amount,
        dl.type
        dl.type,
        dl.area_id,
        da.name AS area_name
        FROM device_ledger dl
        left join sys_user su on dl.create_user = su.user_id
        left join device_area da on dl.area_id = da.id
        <where>
            <!-- 设备名称 -->
            <if test="deviceLedger.deviceName != null and deviceLedger.deviceName != ''">
@@ -76,9 +79,53 @@
            <if test="deviceLedger.tenantId != null">
                AND tenant_id = #{deviceLedger.tenantId}
            </if>
            <!-- 区域ID:含该区域及其所有子级(通过祖级路径匹配) -->
            <if test="deviceLedger.areaId != null">
                AND (
                    dl.area_id = #{deviceLedger.areaId}
                    OR EXISTS (
                        SELECT 1 FROM device_area da2
                        WHERE da2.id = dl.area_id
                          AND (da2.ancestors = #{deviceLedger.areaId}
                               OR da2.ancestors LIKE CONCAT(#{deviceLedger.areaId}, ',%')
                               OR da2.ancestors LIKE CONCAT('%,', #{deviceLedger.areaId}, ',%')
                               OR da2.ancestors LIKE CONCAT('%,', #{deviceLedger.areaId}))
                    )
                )
            </if>
        </where>
        ORDER BY create_time DESC
    </select>
    <select id="selectDeviceOptions" resultType="com.ruoyi.device.dto.DeviceLedgerDto">
        SELECT
        dl.id,
        dl.device_name,
        dl.device_model,
        dl.device_brand,
        dl.type,
        dl.area_id,
        da.name AS area_name
        FROM device_ledger dl
        left join device_area da on dl.area_id = da.id
        <where>
            <if test="areaId != null">
                AND (
                    dl.area_id = #{areaId}
                    OR EXISTS (
                        SELECT 1 FROM device_area da2
                        WHERE da2.id = dl.area_id
                          AND (da2.ancestors = #{areaId}
                               OR da2.ancestors LIKE CONCAT(#{areaId}, ',%')
                               OR da2.ancestors LIKE CONCAT('%,', #{areaId}, ',%')
                               OR da2.ancestors LIKE CONCAT('%,', #{areaId}))
                    )
                )
            </if>
        </where>
        ORDER BY dl.create_time DESC
    </select>
    <select id="deviceLedgerExportList" resultType="com.ruoyi.device.execl.DeviceLedgerExeclDto">
    </select>