mitao
4 天以前 291a72bf35e2d39b816abc0ebf085cfa9da3ee06
ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml
@@ -17,4 +17,53 @@
        id, approval_application_id, title, asset_type_id, storage_type, storage_time
    </sql>
    <!-- 分页查询:资产入库申请列表(关联审批记录与资产类型) -->
    <select id="selectApplicationStoragePage" resultType="com.ruoyi.system.vo.asset.OaApprovalApplicationStoragePageVO">
        SELECT
            aaa.id                               AS id,
            oas.asset_type_id                    AS assetTypeId,
            aaa.dept_name                        AS deptName,
            aaa.application_code                 AS applicationCode,
            oas.title                            AS title,
            CASE WHEN at2.level = 2 THEN at1.type_name ELSE at2.type_name END AS firstAssetTypeName,
            CASE WHEN at2.level = 2 THEN at2.type_name ELSE NULL END         AS secondAssetTypeName,
            aaa.applicant_name                   AS applicantName,
            oas.storage_time                     AS storageTime,
            oas.storage_type                     AS storageType,
            aaa.approval_status                  AS approvalStatus
        FROM oa_approval_application_storage oas
                 INNER JOIN oa_approval_applications aaa ON aaa.id = oas.approval_application_id
                 LEFT JOIN asset_type at2 ON at2.id = oas.asset_type_id
                 LEFT JOIN asset_type at1 ON at1.id = (CASE WHEN at2.level = 2 THEN at2.parent_id ELSE at2.id END)
        <where>
            AND aaa.disabled = 0
            <if test="query != null and query.keyword != null and query.keyword != ''">
                AND (
                oas.title LIKE CONCAT('%', #{query.keyword}, '%')
                OR  aaa.application_code LIKE CONCAT('%', #{query.keyword}, '%')
                OR  aaa.dept_name LIKE CONCAT('%', #{query.keyword}, '%')
                )
            </if>
        </where>
        ORDER BY oas.storage_time DESC, oas.id DESC
    </select>
    <select id="pageList" resultType="com.ruoyi.system.vo.StorageListVO">
        select t1.*,t2.type_name    as assetTypeName,
               case
                   when t1.use_dept_id is not null and t1.use_dept_id != '' then t3.dept_name
                   when t1.address is not null and t1.address != '' then t1.address
                   when t1.warehouse_name is not null and t1.warehouse_name != '' then t1.warehouse_name
                   else null
                   end as useName
               from oa_approval_application_storage_asset t1
                             left join asset_type t2 on t2.id = t1.asset_type_id
                             left join t_dept t3 on t3.id = t1.ownership_dept_id
        where t1.approval_application_id = #{query.approvalApplicationId}
        order by t1.create_time  desc
    </select>
</mapper>