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