无关风月
2 天以前 60afc1c228318d136a273cd0b389217f87583277
ruoyi-system/src/main/resources/mapper/system/AssetMainMapper.xml
@@ -92,6 +92,58 @@
                AND (am.asset_name LIKE CONCAT('%', #{query.keyword}, '%')
                OR am.asset_code LIKE CONCAT('%', #{query.keyword}, '%'))
            </if>
            <if test="query.deptId != null">
                AND (od.id = #{query.deptId} OR FIND_IN_SET(#{query.deptId}, od.parent_id))
            </if>
        </where>
        ORDER BY COALESCE(oas.storage_time, DATE(am.create_time)) DESC, am.id DESC
    </select>
    <select id="getAssetPageList" resultType="com.ruoyi.system.vo.asset.AssetMainPageVO">
        SELECT
        am.id AS id,
        am.asset_code AS assetCode,
        am.asset_name AS assetName,
        at.type_name AS assetTypeName,
        od.dept_name AS ownershipDeptName,
        am.asset_status AS assetStatus,
        oas.storage_time AS storageTime,
        CASE
        WHEN am.address_type = 0 THEN
        ud.dept_name
        WHEN am.address_type = 1 THEN
        am.warehouse_name
        WHEN am.address_type = 2 THEN
        am.address
        ELSE ''
        END AS useDeptOrLocation
        FROM asset_main am
        INNER JOIN oa_approval_applications aaa ON aaa.id = am.approval_application_id
        LEFT JOIN oa_approval_application_storage oas ON oas.approval_application_id = am.approval_application_id
        LEFT JOIN asset_type at ON at.id = am.asset_type_id
        LEFT JOIN t_dept od ON od.id = am.ownership_dept_id
        LEFT JOIN t_dept ud ON ud.id = am.use_dept_id
        LEFT JOIN oa_approval_application_asset_item oaaai ON oaaai.asset_main_id = am.id
        LEFT JOIN oa_approval_applications oaa ON oaa.id = oaaai.approval_application_id
        <where>
            AND IFNULL(am.disabled, 0) = 0
            AND IFNULL(aaa.disabled, 0) = 0
            AND aaa.approval_status = 2 AND aaa.approval_id = '${@com.ruoyi.system.emums.ApprovalTypeEnum@IN_STOCK.getCode()}'
            <if test="query != null and query.assetTypeId != null">
                AND am.asset_type_id = #{query.assetTypeId}
            </if>
            <if test="query != null and query.ownershipDeptId != null">
                AND am.ownership_dept_id = #{query.ownershipDeptId}
            </if>
            <if test="query != null and query.assetStatus != null and query.assetStatus != ''">
                AND am.asset_status = #{query.assetStatus}
            </if>
            <if test="query != null and query.keyword != null and query.keyword != ''">
                AND (am.asset_name LIKE CONCAT('%', #{query.keyword}, '%')
                OR am.asset_code LIKE CONCAT('%', #{query.keyword}, '%'))
            </if>
            <if test="query.deptId != null">
                AND (od.id = #{query.deptId} OR FIND_IN_SET(#{query.deptId}, od.parent_id))
            </if>
        </where>
        ORDER BY COALESCE(oas.storage_time, DATE(am.create_time)) DESC, am.id DESC
    </select>