From 0989ec1e6b465141f99ed67e40fa2a0b928dce94 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 29 四月 2026 16:54:51 +0800
Subject: [PATCH] feat(production): 新增生产核算和生产工单功能模块 - 添加生产核算控制器、服务接口及实现类 - 实现生产核算分页查询和工人生产工资信息查询功能 - 添加生产工单控制器、服务接口及实现类 - 实现生产工单的增删改查和状态统计功能 - 集成工单流转卡下载和二维码生成功能 - 添加工单相关的数据传输对象和值对象 - 实现工单与用户关联的分配功能 - 完善工单附件图片处理和展示功能

---
 src/main/resources/mapper/account/AccountExpenseMapper.xml |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/account/AccountExpenseMapper.xml b/src/main/resources/mapper/account/AccountExpenseMapper.xml
index 3b37674..f4039c8 100644
--- a/src/main/resources/mapper/account/AccountExpenseMapper.xml
+++ b/src/main/resources/mapper/account/AccountExpenseMapper.xml
@@ -10,6 +10,12 @@
         <if test="accountExpense.entryDateStart != null and accountExpense.entryDateStart != '' ">
             AND expense_date &gt;= DATE_FORMAT(#{accountExpense.entryDateStart},'%Y-%m-%d')
         </if>
+        <if test=" accountExpense.supplierName != null and accountExpense.supplierName != ''">
+            AND supplier_name like CONCAT('%',#{accountExpense.supplierName},'%')
+        </if>
+        <if test=" accountExpense.invoiceNumber != null and accountExpense.invoiceNumber != ''">
+            AND invoice_number like CONCAT('%',#{accountExpense.invoiceNumber},'%')
+        </if>
         <if test="accountExpense.entryDateEnd != null and accountExpense.entryDateEnd != '' ">
             AND  expense_date &lt;= DATE_FORMAT(#{accountExpense.entryDateEnd},'%Y-%m-%d')
         </if>
@@ -53,7 +59,7 @@
         <if test="dateQueryDto.entryDateEnd != null and dateQueryDto.entryDateEnd != '' ">
             AND expense_date &lt;= DATE_FORMAT(#{dateQueryDto.entryDateEnd},'%Y-%m-%d')
         </if>
-        group by expense_type
+        group by sdd.dict_label, ae.expense_type
     </select>
 
     <select id="report1" resultType="java.math.BigDecimal">
@@ -70,4 +76,26 @@
         </if>
     </select>
 
+    <select id="selectAccountExpenseStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto">
+        SELECT DATE_FORMAT(expense_date, #{dateFormat}) as dateStr, IFNULL(SUM(expense_money), 0) as amount
+        FROM account_expense
+        WHERE expense_date BETWEEN #{startDate} AND #{endDate}
+        GROUP BY dateStr
+    </select>
+
+    <select id="selectExpenseComposition" resultType="com.ruoyi.dto.MapDto">
+        SELECT sdd.dict_label as name, CAST(IFNULL(SUM(ae.expense_money), 0) AS CHAR) as value
+        FROM account_expense ae
+        LEFT JOIN sys_dict_data sdd ON ae.expense_type = sdd.dict_value AND sdd.dict_type = 'expense_types'
+        <where>
+            <if test="startDate != null and startDate != ''">
+                AND ae.expense_date &gt;= #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                AND ae.expense_date &lt;= #{endDate}
+            </if>
+        </where>
+        GROUP BY ae.expense_type, sdd.dict_label
+    </select>
+
 </mapper>

--
Gitblit v1.9.3