From 55d694aaae4e421b5e55cd941500e08f85cb5d4d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 27 八月 2026 18:21:33 +0800
Subject: [PATCH] feat(sales): 添加框架合同订单功能并优化销售台账管理
---
src/main/resources/mapper/device/DeviceLedgerMapper.xml | 74 ++++++++++++++++++++++++++++++++++++-
1 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/device/DeviceLedgerMapper.xml b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
index b2a849f..b4075df 100644
--- a/src/main/resources/mapper/device/DeviceLedgerMapper.xml
+++ b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -11,19 +11,32 @@
dl.device_name,
dl.device_model,
dl.supplier_name,
+ dl.device_brand,
+ dl.storage_location,
dl.unit,
dl.number,
+ dl.status,
+ dl.plan_runtime_time,
+ dl.start_runtime_time,
+ dl.end_runtime_time,
+ dl.runtime_duration,
dl.tax_including_price_unit,
dl.tax_including_price_total,
dl.tax_rate,
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 != ''">
@@ -66,9 +79,53 @@
<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,
+ da.name AS area_name
+ FROM device_ledger dl
+ left join device_area da on dl.area_id = da.id
+ <where>
+ <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>
@@ -77,5 +134,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