From 60afc1c228318d136a273cd0b389217f87583277 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 11 十月 2025 11:29:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/resources/mapper/system/AssetMainMapper.xml |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetMainMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetMainMapper.xml
index 6927d64..5ecaeba 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetMainMapper.xml
+++ b/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>

--
Gitblit v1.7.1