mitao
1 天以前 d9a63819279a0b17070d4af08d24f567ba8904e4
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
<?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.OaApprovalApplicationDisposeMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaApprovalApplicationDispose">
        <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="dispose_time" property="disposeTime" />
        <result column="dispose_type" property="disposeType" />
        <result column="dispose_total_amount" property="disposeTotalAmount" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, approval_application_id, title, asset_type_id, dispose_time, dispose_type, dispose_total_amount
    </sql>
 
    <!-- 分页查询资产处置申请列表 -->
    <select id="getDisposePageList" resultType="com.ruoyi.system.vo.dispose.OaApprovalApplicationDisposePageVO">
        SELECT 
            app.id,
            app.application_code AS applicationCode,
            dispose.title,
            u.nick_name AS applicantName,
            dispose.dispose_time AS disposeTime,
            dispose.dispose_type AS disposeType,
            CASE dispose.dispose_type
                WHEN 0 THEN '报废'
                WHEN 1 THEN '报损'
                WHEN 2 THEN '捐赠'
                ELSE '未知'
            END AS disposeTypeName,
            dispose.dispose_total_amount AS disposeTotalAmount,
            app.application_reason AS applicationReason,
            CONCAT(
                IFNULL(pt.type_name, ''),
                CASE WHEN pt.type_name IS NOT NULL AND ct.type_name IS NOT NULL THEN '-' ELSE '' END,
                IFNULL(ct.type_name, '')
            ) AS assetTypeDetail,
            app.approval_status AS approvalStatus,
            CASE app.approval_status
                WHEN 0 THEN '待审核'
                WHEN 1 THEN '审核中'
                WHEN 2 THEN '已通过'
                WHEN 3 THEN '已拒绝'
                ELSE '未知'
            END AS approvalStatusName
        FROM oa_approval_applications app
        INNER JOIN oa_approval_application_dispose dispose ON app.id = dispose.approval_application_id
        LEFT JOIN sys_user u ON app.applicant_user_id = u.user_id
        LEFT JOIN asset_type ct ON dispose.asset_type_id = ct.id
        LEFT JOIN asset_type pt ON ct.parent_id = pt.id
        LEFT JOIN t_dept d ON app.dept_id = d.id
        WHERE app.disabled = 0
        <if test="query.keyword != null and query.keyword != ''">
            AND (dispose.title LIKE CONCAT('%', #{query.keyword}, '%') 
                 OR app.application_code LIKE CONCAT('%', #{query.keyword}, '%'))
        </if>
        <if test="query.deptId != null">
            AND (d.id = #{query.deptId} OR FIND_IN_SET(#{query.deptId}, d.ancestors))
        </if>
        ORDER BY app.create_time DESC
    </select>
 
</mapper>