mitao
1 天以前 50ee6ccb8d8036ffaa2aabb4e4999c14a05b45a3
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?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="com.ruoyi.system.mapper.OaApprovalApplicationStorageMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaApprovalApplicationStorage">
        <id column="id" property="id" />
        <result column="approval_application_id" property="approvalApplicationId" />
        <result column="title" property="title" />
        <result column="asset_type_id" property="assetTypeId" />
        <result column="storage_type" property="storageType" />
        <result column="storage_time" property="storageTime" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        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,
        oas.asset_type_id,
        aaa.dept_name,
        aaa.application_code,
        oas.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,
        oas.storage_time,
        oas.storage_type,
        aaa.approval_status
        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)
        LEFT JOIN t_dept d ON aaa.dept_id = d.id
        <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>
            <if test="query.deptId != null">
                AND (d.id = #{query.deptId} OR FIND_IN_SET(#{query.deptId}, d.parent_id))
            </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,t4.dept_name as ownershipDeptName,
               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.use_dept_id
                             left join t_dept t4 on t4.id = t1.ownership_dept_id
        where t1.approval_application_id = #{query.id}
          AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
 
        order by t1.create_time  desc
 
 
    </select>
 
</mapper>