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/controller/HomePageController.java | 1 +
main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java | 30 ++++++++++++++++++++++++++++--
main-business/src/main/java/com/ruoyi/business/dto/HomePageDto.java | 2 ++
3 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/main-business/src/main/java/com/ruoyi/business/controller/HomePageController.java b/main-business/src/main/java/com/ruoyi/business/controller/HomePageController.java
index d4f3814..792c8b9 100644
--- a/main-business/src/main/java/com/ruoyi/business/controller/HomePageController.java
+++ b/main-business/src/main/java/com/ruoyi/business/controller/HomePageController.java
@@ -39,6 +39,7 @@
Map<String, BigDecimal> maps = officialInventoryService.selectOfficialAllInfo();
homePageDto.setInventory(maps);
//鏈堝害缁熻
+ homePageDto.setResultMouth((List<Map<String, BigDecimal>>) map.get("resultMouth"));
//閿�鍞暟鎹�
homePageDto.setSalesResults((List<Map<String, Object>>) map.get("salesResults"));
diff --git a/main-business/src/main/java/com/ruoyi/business/dto/HomePageDto.java b/main-business/src/main/java/com/ruoyi/business/dto/HomePageDto.java
index 152da9e..8743696 100644
--- a/main-business/src/main/java/com/ruoyi/business/dto/HomePageDto.java
+++ b/main-business/src/main/java/com/ruoyi/business/dto/HomePageDto.java
@@ -27,5 +27,7 @@
private Map<String, BigDecimal> inventory;
//閿�鍞暟鎹�
private List<Map<String, Object>> salesResults;
+ //鏈堝害閿�鍞�
+ private List<Map<String, BigDecimal>> resultMouth;
}
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