无关风月
7 小时以前 27d8f8fbb2e02be63338b80f808969faa35adac0
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?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.AssetMainMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.AssetMain">
        <id column="id" property="id" />
        <result column="approval_application_id" property="approvalApplicationId" />
        <result column="asset_original_code" property="assetOriginalCode" />
        <result column="asset_code" property="assetCode" />
        <result column="asset_name" property="assetName" />
        <result column="specification_model" property="specificationModel" />
        <result column="asset_type_id" property="assetTypeId" />
        <result column="asset_category" property="assetCategory" />
        <result column="asset_main_type" property="assetMainType" />
        <result column="measurement_unit" property="measurementUnit" />
        <result column="quantity" property="quantity" />
        <result column="unit_price" property="unitPrice" />
        <result column="total_value" property="totalValue" />
        <result column="useful_life" property="usefulLife" />
        <result column="ownership_dept_id" property="ownershipDeptId" />
        <result column="user_name" property="userName" />
        <result column="use_dept_id" property="useDeptId" />
        <result column="warehouse_id" property="warehouseId" />
        <result column="warehouse_name" property="warehouseName" />
        <result column="address" property="address" />
        <result column="asset_status" property="assetStatus" />
        <result column="remarks" property="remarks" />
        <result column="accounting_status" property="accountingStatus" />
        <result column="accounting_date" property="accountingDate" />
        <result column="accounting_voucher_no" property="accountingVoucherNo" />
        <result column="accounting_subject" property="accountingSubject" />
        <result column="accounting_amount" property="accountingAmount" />
        <result column="attachment_urls" property="attachmentUrls" />
        <result column="create_time" property="createTime" />
        <result column="create_by" property="createBy" />
        <result column="update_time" property="updateTime" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, approval_application_id, asset_original_code, asset_code, asset_name, specification_model, asset_type_id, asset_category, asset_main_type, measurement_unit, quantity, unit_price, total_value, useful_life, ownership_dept_id, user_name, use_dept_id, warehouse_id, warehouse_name, address, asset_status, remarks, accounting_status, accounting_date, accounting_voucher_no, accounting_subject, accounting_amount, attachment_urls, create_time, create_by, update_time, update_by, disabled
    </sql>
 
    <!-- 分页查询:审批通过的资产列表(关联审批记录、资产类型与部门) -->
    <select id="selectApprovedAssetPage" 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
        <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()}'
            AND IFNULL(am.is_disposed, 0) = 0
            AND IFNULL(am.is_in_use, 0) = 0
            AND IFNULL(am.is_borrowed, 0) = 0
            <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>
        </where>
        ORDER BY COALESCE(oas.storage_time, DATE(am.create_time)) DESC, am.id DESC
    </select>
 
</mapper>