From 02f0f418d2409a8a19b440101601c6b604e21606 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 09 七月 2025 17:35:55 +0800
Subject: [PATCH] 首页月度数据

---
 main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
index 2f162a7..d2e9256 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java
@@ -482,7 +482,7 @@
 
         // 4. 鎵归噺鏌ヨ鐓ょ淇℃伅骞跺~鍏呭埌缁撴灉涓�
         if (!coalIds.isEmpty()) {
-            List<CoalInfo> coalInfos = coalInfoMapper.selectBatchIds(coalIds);
+            List<CoalInfo> coalInfos = coalInfoMapper.selectByIds(coalIds);
             for (CoalInfo coalInfo : coalInfos) {
                 Map<String, Object> record = resultMap.get(coalInfo.getId());
                 if (record != null) {
@@ -491,8 +491,33 @@
             }
         }
 
-        // 鏈�缁堢粨鏋滄槸涓�涓狶ist<Map>锛屾瘡涓狹ap鍖呭惈鍚堝苟鍚庣殑閿�鍞暟鎹拰瀵瑰簲鐨勭叅绉嶄俊鎭�
         List<Map<String, Object>> results = new ArrayList<>(resultMap.values());
+
+        //鏈堝害鏁版嵁
+        //鏌ヨ鎵�鏈夌叅绉嶄俊鎭�
+        List<CoalInfo> allCoalTypes = coalInfoMapper.selectList(
+                new QueryWrapper<CoalInfo>().orderByAsc("id")
+        );
+        //棰勮绠楅攢閲忥細鎸塩oalId鍒嗙粍缁熻鎬婚攢閲�
+        Map<Long, BigDecimal> salesByCoalId = salesRecords.stream()
+                .collect(Collectors.groupingBy(
+                        SalesRecord::getCoalId,
+                        Collectors.reducing(
+                                BigDecimal.ZERO,
+                                SalesRecord::getSaleQuantity,
+                                BigDecimal::add
+                        )
+                ));
+
+        //鏋勫缓缁撴灉锛堜繚鎸佺叅绉嶉『搴忥紝閿�閲忛粯璁や负0锛�
+        List<Map<String, Object>> resultMouth = new ArrayList<>();
+        for (CoalInfo coal : allCoalTypes) {
+            Map<String, Object> item = new LinkedHashMap<>();
+            item.put("coal", coal.getCoal()); // 鐓ょ鍚嶇О
+            item.put("saleQuantity", salesByCoalId.getOrDefault(coal.getId(), BigDecimal.valueOf(0))); // 閿�閲�
+            resultMouth.add(item);
+        }
+
         result.put("revenueAmount", revenueAmount.setScale(2, RoundingMode.HALF_UP));
         result.put("changeRate", changeRate);
         result.put("trend", trend);
@@ -501,6 +526,7 @@
         result.put("trendQuantity", trendQuantity);
         result.put("revenueDistribution", revenueDistribution);
         result.put("salesResults", results);
+        result.put("resultMouth", resultMouth);
 
         return result;
     }

--
Gitblit v1.9.3