From 8e4eee5ad4d74e1a4e6ab4de3a9c28000700dce0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 03 十一月 2026 13:49:04 +0800
Subject: [PATCH] 修复采购退货页面 ERP 模块已禁用报错
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/statistics/ErpSaleStatisticsMapper.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/statistics/ErpSaleStatisticsMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/statistics/ErpSaleStatisticsMapper.java
index 6bbe158..cacf2d9 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/statistics/ErpSaleStatisticsMapper.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/statistics/ErpSaleStatisticsMapper.java
@@ -1,10 +1,15 @@
package cn.iocoder.yudao.module.erp.dal.mysql.statistics;
+import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleCustomerReceiptStatisticsDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleCustomerStatisticsDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpSaleProductStatisticsDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal;
import java.time.LocalDateTime;
+import java.util.List;
/**
* ERP 閿�鍞粺璁� Mapper
@@ -17,4 +22,58 @@
BigDecimal getSalePrice(@Param("beginTime") LocalDateTime beginTime,
@Param("endTime") LocalDateTime endTime);
+ /**
+ * 鎸夊鎴风粺璁¢攢鍞鍗曪紙浠呯粺璁″凡瀹℃牳璁㈠崟锛�
+ *
+ * 闇�姹� 6.7鈶� 閿�鍞缁熻銆佲憿 瀹㈡埛閿�鍞粺璁�
+ */
+ @Select("<script>"
+ + "SELECT customer_id AS customerId, COUNT(1) AS orderCount, "
+ + "IFNULL(SUM(total_price), 0) AS saleAmount, MAX(order_time) AS lastOrderTime "
+ + "FROM erp_sale_order WHERE deleted = 0 AND status = 20 AND customer_id IS NOT NULL "
+ + "<if test='customerId != null'>AND customer_id = #{customerId} </if>"
+ + "<if test='beginTime != null'>AND order_time >= #{beginTime} </if>"
+ + "<if test='endTime != null'>AND order_time <= #{endTime} </if>"
+ + "GROUP BY customer_id ORDER BY saleAmount DESC"
+ + "</script>")
+ List<ErpSaleCustomerStatisticsDO> selectCustomerStatistics(@Param("customerId") Long customerId,
+ @Param("beginTime") LocalDateTime beginTime,
+ @Param("endTime") LocalDateTime endTime);
+
+ /**
+ * 鎸夊鎴风粺璁″凡瀹℃牳鏀舵鍗曠殑鏀舵閲戦
+ *
+ * 闇�姹� 6.7鈶� 閿�鍞缁熻锛氬凡鏀舵 / 鏈敹娆�
+ */
+ @Select("<script>"
+ + "SELECT customer_id AS customerId, IFNULL(SUM(receipt_price), 0) AS receiptAmount "
+ + "FROM erp_finance_receipt WHERE deleted = 0 AND status = 20 AND customer_id IS NOT NULL "
+ + "<if test='customerId != null'>AND customer_id = #{customerId} </if>"
+ + "<if test='beginTime != null'>AND receipt_time >= #{beginTime} </if>"
+ + "<if test='endTime != null'>AND receipt_time <= #{endTime} </if>"
+ + "GROUP BY customer_id"
+ + "</script>")
+ List<ErpSaleCustomerReceiptStatisticsDO> selectCustomerReceiptStatistics(@Param("customerId") Long customerId,
+ @Param("beginTime") LocalDateTime beginTime,
+ @Param("endTime") LocalDateTime endTime);
+
+ /**
+ * 鎸変骇鍝佺粺璁¢攢鍞槑缁嗭紙浠呯粺璁″凡瀹℃牳璁㈠崟锛�
+ *
+ * 闇�姹� 6.7鈶� 浜у搧閿�鍞粺璁�
+ */
+ @Select("<script>"
+ + "SELECT i.product_id AS productId, COUNT(DISTINCT i.order_id) AS orderCount, "
+ + "IFNULL(SUM(i.count), 0) AS totalCount, IFNULL(SUM(i.total_price), 0) AS saleAmount "
+ + "FROM erp_sale_order_item i INNER JOIN erp_sale_order o ON o.id = i.order_id AND o.deleted = 0 "
+ + "WHERE i.deleted = 0 AND o.status = 20 AND i.product_id IS NOT NULL "
+ + "<if test='productId != null'>AND i.product_id = #{productId} </if>"
+ + "<if test='beginTime != null'>AND o.order_time >= #{beginTime} </if>"
+ + "<if test='endTime != null'>AND o.order_time <= #{endTime} </if>"
+ + "GROUP BY i.product_id ORDER BY saleAmount DESC"
+ + "</script>")
+ List<ErpSaleProductStatisticsDO> selectProductStatistics(@Param("productId") Long productId,
+ @Param("beginTime") LocalDateTime beginTime,
+ @Param("endTime") LocalDateTime endTime);
+
}
--
Gitblit v1.9.3