From b48847af5e49091aa47ae10d8201d4f6019eac37 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 12 六月 2026 10:24:28 +0800
Subject: [PATCH] fix(home): 修复投入产出分析功能中的日期处理问题
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 35 +++++++++++++++++++++++++++++------
1 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index d3c21a2..ddd5bc0 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -1332,8 +1332,11 @@
int startMonth = ((currentMonth - 1) / 3) * 3 + 1;
startDate = LocalDate.of(today.getYear(), startMonth, 1);
break;
- default:
- startDate = today.with(DayOfWeek.MONDAY);
+ case 4: // 骞�
+ startDate = LocalDate.of(today.getYear(), 1, 1);
+ break;
+ default: // 榛樿鏌ヨ浠婂勾鏁版嵁
+ startDate = LocalDate.of(today.getYear(), 1, 1);
break;
}
@@ -1345,15 +1348,16 @@
String endStr = endDate.atStartOfDay()
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-// List<Map<String, Object>> inputList = productionProductInputMapper.selectInputStats(startStr, endStr);
- List<Map<String, Object>> inputList = null;
+ List<Map<String, Object>> inputList = productionProductInputMapper.selectInputStats(startStr, endStr);
+// List<Map<String, Object>> inputList = null;
List<Map<String, Object>> outputList = productionProductOutputMapper.selectDailyOutputStats(startStr, endStr);
Map<String, InputOutputAnalysisDto> dateMap = new HashMap<>();
if (!CollectionUtils.isEmpty(inputList)) {
for (Map<String, Object> map : inputList) {
- String date = (String) map.get("date");
+ Object dateObj = map.get("statDate");
+ String date = convertDateToString(dateObj);
if (date == null)
continue;
InputOutputAnalysisDto dto = dateMap.getOrDefault(date, new InputOutputAnalysisDto());
@@ -1366,7 +1370,8 @@
if (!CollectionUtils.isEmpty(outputList)) {
for (Map<String, Object> map : outputList) {
- String date = (String) map.get("date");
+ Object dateObj = map.get("statDate");
+ String date = convertDateToString(dateObj);
if (date == null)
continue;
InputOutputAnalysisDto dto = dateMap.getOrDefault(date, new InputOutputAnalysisDto());
@@ -2433,4 +2438,22 @@
private BigDecimal defaultDecimal(BigDecimal value) {
return value == null ? BigDecimal.ZERO : value;
}
+
+ private String convertDateToString(Object dateObj) {
+ if (dateObj == null) {
+ return null;
+ }
+ if (dateObj instanceof String) {
+ return (String) dateObj;
+ }
+ if (dateObj instanceof java.sql.Date) {
+ return ((java.sql.Date) dateObj).toLocalDate().toString();
+ }
+ if (dateObj instanceof java.util.Date) {
+ return ((java.util.Date) dateObj).toInstant()
+ .atZone(ZoneId.systemDefault())
+ .toLocalDate().toString();
+ }
+ return dateObj.toString();
+ }
}
--
Gitblit v1.9.3