From e6c576bb57aa314e62154bbfc852012280d15aff Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 30 十月 2026 11:47:55 +0800
Subject: [PATCH] fix(device): 设备台账导入模板与导出格式统一为模板字段
---
src/main/resources/mapper/device/DeviceLedgerMapper.xml | 73 +++++++++++++++++++++++++++++++++++-
1 files changed, 71 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/device/DeviceLedgerMapper.xml b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
index 9cee459..dedfe08 100644
--- a/src/main/resources/mapper/device/DeviceLedgerMapper.xml
+++ b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -11,9 +11,12 @@
dl.device_name,
dl.device_model,
dl.supplier_name,
+ dl.device_brand,
+ dl.storage_location,
dl.unit,
dl.number,
dl.status,
+ dl.is_enabled,
dl.plan_runtime_time,
dl.start_runtime_time,
dl.end_runtime_time,
@@ -24,11 +27,17 @@
dl.un_tax_including_price_total,
dl.create_time,
dl.update_time ,
- su.user_name AS createUser,
+ su.nick_name AS createUser,
dl.update_user,
- dl.tenant_id
+ dl.tenant_id,
+ dl.is_depr,
+ dl.annual_depreciation_amount,
+ dl.type,
+ dl.area_id,
+ da.name AS area_name
FROM device_ledger dl
left join sys_user su on dl.create_user = su.user_id
+ left join device_area da on dl.area_id = da.id
<where>
<!-- 璁惧鍚嶇О -->
<if test="deviceLedger.deviceName != null and deviceLedger.deviceName != ''">
@@ -71,9 +80,56 @@
<if test="deviceLedger.tenantId != null">
AND tenant_id = #{deviceLedger.tenantId}
</if>
+
+ <!-- 鍖哄煙ID锛氬惈璇ュ尯鍩熷強鍏舵墍鏈夊瓙绾э紙閫氳繃绁栫骇璺緞鍖归厤锛� -->
+ <if test="deviceLedger.areaId != null">
+ AND (
+ dl.area_id = #{deviceLedger.areaId}
+ OR EXISTS (
+ SELECT 1 FROM device_area da2
+ WHERE da2.id = dl.area_id
+ AND (da2.ancestors = #{deviceLedger.areaId}
+ OR da2.ancestors LIKE CONCAT(#{deviceLedger.areaId}, ',%')
+ OR da2.ancestors LIKE CONCAT('%,', #{deviceLedger.areaId}, ',%')
+ OR da2.ancestors LIKE CONCAT('%,', #{deviceLedger.areaId}))
+ )
+ )
+ </if>
</where>
ORDER BY create_time DESC
</select>
+ <select id="selectDeviceOptions" resultType="com.ruoyi.device.dto.DeviceLedgerDto">
+ SELECT
+ dl.id,
+ dl.device_name,
+ dl.device_model,
+ dl.device_brand,
+ dl.type,
+ dl.area_id,
+ dl.is_enabled,
+ da.name AS area_name
+ FROM device_ledger dl
+ left join device_area da on dl.area_id = da.id
+ <where>
+ <!-- 鍋滅敤璁惧涓嶅弬涓庡贰妫�锛岄�夋嫨璁惧鏃跺彧杩斿洖鍚敤璁惧 -->
+ AND COALESCE(dl.is_enabled, 1) = 1
+ <if test="areaId != null">
+ AND (
+ dl.area_id = #{areaId}
+ OR EXISTS (
+ SELECT 1 FROM device_area da2
+ WHERE da2.id = dl.area_id
+ AND (da2.ancestors = #{areaId}
+ OR da2.ancestors LIKE CONCAT(#{areaId}, ',%')
+ OR da2.ancestors LIKE CONCAT('%,', #{areaId}, ',%')
+ OR da2.ancestors LIKE CONCAT('%,', #{areaId}))
+ )
+ )
+ </if>
+ </where>
+ ORDER BY dl.create_time DESC
+ </select>
+
<select id="deviceLedgerExportList" resultType="com.ruoyi.device.execl.DeviceLedgerExeclDto">
</select>
@@ -82,5 +138,18 @@
from device_ledger
where id = #{id}
</select>
+ <select id="getDeviceTypeDistributionByYear"
+ resultType="com.ruoyi.account.bean.dto.DeviceTypeDetail"
+ parameterType="java.lang.Integer">
+ SELECT
+ `type`,
+ SUM(`number`) AS `count`,
+ SUM(tax_including_price_unit) AS amount
+ FROM device_ledger
+ WHERE YEAR(create_time) = #{year}
+ AND type IS NOT NULL
+ GROUP BY type
+ </select>
+
</mapper>
--
Gitblit v1.9.3