From 235721b4a24fd6cc5037bba78c60723dcf200741 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 12 五月 2026 04:30:16 +0800
Subject: [PATCH] fix: 录入人回显姓名,产品出入库数据分析查询错误
---
src/main/resources/mapper/account/AccountIncomeMapper.xml | 133 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 119 insertions(+), 14 deletions(-)
diff --git a/src/main/resources/mapper/account/AccountIncomeMapper.xml b/src/main/resources/mapper/account/AccountIncomeMapper.xml
index bfb6d73..cd1fb08 100644
--- a/src/main/resources/mapper/account/AccountIncomeMapper.xml
+++ b/src/main/resources/mapper/account/AccountIncomeMapper.xml
@@ -4,46 +4,113 @@
<select id="accountIncomeListPage" resultType="com.ruoyi.account.pojo.AccountIncome">
SELECT
- *
- FROM account_income
+ ai.id,
+ ai.business_id,
+ ai.business_type,
+ ai.income_date,
+ ai.income_type,
+ ai.customer_name,
+ ai.income_money,
+ ai.income_described,
+ ai.income_method,
+ ai.invoice_number,
+ ai.note,
+ CASE
+ WHEN TRIM(IFNULL(ai.input_user, '')) REGEXP '^[0-9]+$'
+ THEN COALESCE(ui.nick_name, ai.input_user)
+ ELSE ai.input_user
+ END AS input_user,
+ ai.input_time,
+ ai.create_time,
+ ai.create_user,
+ ai.update_time,
+ ai.update_user,
+ ai.tenant_id
+ FROM account_income ai
+ LEFT JOIN sys_user ui ON TRIM(IFNULL(ai.input_user, '')) REGEXP '^[0-9]+$'
+ AND ui.user_id = CAST(TRIM(ai.input_user) AS UNSIGNED)
+ AND ui.del_flag = '0'
where
1=1
<if test="accountIncome.entryDateStart != null and accountIncome.entryDateStart != '' ">
- AND income_date >= DATE_FORMAT(#{accountIncome.entryDateStart},'%Y-%m-%d')
+ AND ai.income_date >= DATE_FORMAT(#{accountIncome.entryDateStart},'%Y-%m-%d')
</if>
<if test="accountIncome.entryDateEnd != null and accountIncome.entryDateEnd != '' ">
- AND income_date <= DATE_FORMAT(#{accountIncome.entryDateEnd},'%Y-%m-%d')
+ AND ai.income_date <= DATE_FORMAT(#{accountIncome.entryDateEnd},'%Y-%m-%d')
</if>
<if test="accountIncome.incomeType != null and accountIncome.incomeType != '' ">
- AND income_type = #{accountIncome.incomeType}
+ AND ai.income_type = #{accountIncome.incomeType}
</if>
- <if test="accountIncome.incomeMethod != null and accountIncome.incomeMethod != '' ">
- AND income_method = #{accountIncome.incomeMethod}
+ <if test="accountIncome.incomeMethodLabel != null and accountIncome.incomeMethodLabel != ''">
+ AND (
+ (
+ ai.business_type = 1
+ AND ai.income_method in
+ <foreach collection="accountIncome.receiptPaymentMethodList" item="method" open="(" separator="," close=")">
+ #{method}
+ </foreach>
+ )
+ OR
+ (
+ ai.business_type is null
+ AND ai.income_method in
+ <foreach collection="accountIncome.paymentMethodList" item="method" open="(" separator="," close=")">
+ #{method}
+ </foreach>
+ )
+ )
+ </if>
+ <if test="(accountIncome.incomeMethodLabel == null or accountIncome.incomeMethodLabel == '') and accountIncome.incomeMethod != null and accountIncome.incomeMethod != '' ">
+ AND ai.income_method = #{accountIncome.incomeMethod}
</if>
</select>
<select id="accountIncomeExport" resultType="com.ruoyi.account.pojo.AccountIncome">
SELECT
- *
- FROM account_income
+ ai.id,
+ ai.business_id,
+ ai.business_type,
+ ai.income_date,
+ ai.income_type,
+ ai.customer_name,
+ ai.income_money,
+ ai.income_described,
+ ai.income_method,
+ ai.invoice_number,
+ ai.note,
+ CASE
+ WHEN TRIM(IFNULL(ai.input_user, '')) REGEXP '^[0-9]+$'
+ THEN COALESCE(ui.nick_name, ai.input_user)
+ ELSE ai.input_user
+ END AS input_user,
+ ai.input_time,
+ ai.create_time,
+ ai.create_user,
+ ai.update_time,
+ ai.update_user,
+ ai.tenant_id
+ FROM account_income ai
+ LEFT JOIN sys_user ui ON TRIM(IFNULL(ai.input_user, '')) REGEXP '^[0-9]+$'
+ AND ui.user_id = CAST(TRIM(ai.input_user) AS UNSIGNED)
+ AND ui.del_flag = '0'
where
1=1
<if test="accountIncome.entryDateStart != null and accountIncome.entryDateStart != '' ">
- AND income_date >= DATE_FORMAT(#{accountIncome.entryDateStart},'%Y-%m-%d')
+ AND ai.income_date >= DATE_FORMAT(#{accountIncome.entryDateStart},'%Y-%m-%d')
</if>
<if test="accountIncome.entryDateEnd != null and accountIncome.entryDateEnd != '' ">
- AND income_date <= DATE_FORMAT(#{accountIncome.entryDateEnd},'%Y-%m-%d')
+ AND ai.income_date <= DATE_FORMAT(#{accountIncome.entryDateEnd},'%Y-%m-%d')
</if>
<if test="accountIncome.incomeType != null and accountIncome.incomeType != '' ">
- AND income_type = #{accountIncome.incomeType}
+ AND ai.income_type = #{accountIncome.incomeType}
</if>
<if test="accountIncome.incomeMethod != null and accountIncome.incomeMethod != '' ">
- AND income_method = #{accountIncome.incomeMethod}
+ AND ai.income_method = #{accountIncome.incomeMethod}
</if>
</select>
<select id="report" resultType="com.ruoyi.account.dto.AccountDto2">
SELECT
sdd.dict_label typeName,
- sum(income_money) account
+ ifnull(sum(income_money),0) account
FROM account_income ai
left join sys_dict_data sdd on ai.income_type = sdd.dict_value and sdd.dict_type='income_types'
where
@@ -56,4 +123,42 @@
</if>
group by income_type
</select>
+ <select id="report1" resultType="java.math.BigDecimal">
+ SELECT
+ ifnull(sum(income_money),0) account
+ FROM account_income ai
+ where
+ income_type=#{dictValue}
+ <if test="dateQueryDto.entryDateStart != null and dateQueryDto.entryDateStart != '' ">
+ AND income_date >= DATE_FORMAT(#{dateQueryDto.entryDateStart},'%Y-%m-%d')
+ </if>
+ <if test="dateQueryDto.entryDateEnd != null and dateQueryDto.entryDateEnd != '' ">
+ AND income_date <= DATE_FORMAT(#{dateQueryDto.entryDateEnd},'%Y-%m-%d')
+ </if>
+ </select>
+
+ <select id="selectIncomeStats"
+ resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
+ SELECT DATE_FORMAT(income_date, #{dateFormat}) AS dateStr,
+ IFNULL(SUM(income_money), 0) AS amount
+ FROM account_income
+ WHERE income_date BETWEEN #{startDate} AND #{endDate}
+# AND business_type = 1
+ GROUP BY dateStr
+ ORDER BY dateStr
+
+ </select>
+
+ <update id="syncReceiptIncomeDatesFromReceiptPayment">
+ UPDATE account_income ai
+ INNER JOIN receipt_payment rp ON ai.business_id = rp.id AND ai.business_type = 1
+ SET ai.income_date = DATE(rp.receipt_payment_date),
+ ai.input_time = DATE(rp.receipt_payment_date),
+ ai.create_time = DATE(rp.receipt_payment_date),
+ ai.update_time = DATE(rp.receipt_payment_date)
+ WHERE rp.receipt_payment_date IS NOT NULL
+ AND ai.income_type = '3'
+ AND ai.business_type = 1
+ </update>
+
</mapper>
--
Gitblit v1.9.3