From 24d8b0c95f0d38a76374d2e27a8e49c26cc84f98 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期日, 21 六月 2026 19:21:13 +0800
Subject: [PATCH] fix: 修改生产订单完成进度时间
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 42 +++++++++++++++++++++++++++---------------
1 files changed, 27 insertions(+), 15 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..46c6f58 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -61,6 +61,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
@@ -497,9 +498,20 @@
@Override
public ProductionProgressDto productionProgress() {
+ LocalDateTime now = LocalDateTime.now();
+
+ LocalDateTime startOfMonth = now
+ .with(TemporalAdjusters.firstDayOfMonth())
+ .with(LocalTime.MIN);
+
+ LocalDateTime endOfMonth = now
+ .with(TemporalAdjusters.lastDayOfMonth())
+ .with(LocalTime.MAX);
+
+
ProductionProgressDto productionProgressDto = new ProductionProgressDto();
- List<ProductionProgressOrderDto> orderDetails = productionOrderMapper.selectProgressOrders(
- LocalDateTime.now().minusMonths(1), LocalDateTime.now());
+ List<ProductionProgressOrderDto> orderDetails = productionOrderMapper
+ .selectProgressOrders(startOfMonth, endOfMonth);
productionProgressDto.setCompletedOrderDetails(orderDetails);
long totalCount = orderDetails.size();
long count = orderDetails.stream().filter(
@@ -519,7 +531,7 @@
public ProductionTurnoverDto workInProcessTurnover() {
ProductionTurnoverDto productionTurnoverDto = new ProductionTurnoverDto();
List<ProductionTaskStatisticsDto> taskList = productionOperationTaskMapper
- .selectTaskStatisticsByDate(LocalDate.now().minusMonths(1), LocalDate.now());
+ .selectTaskStatisticsByDate(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()), LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()));
long sum = taskList.stream()
.filter(task -> defaultDecimal(task.getPlanQuantity()).compareTo(defaultDecimal(task.getCompleteQuantity())) > 0)
.map(ProductionTaskStatisticsDto::getPlanQuantity)
@@ -1345,15 +1357,15 @@
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");
+ String date = (String) map.get("statDate");
if (date == null)
continue;
InputOutputAnalysisDto dto = dateMap.getOrDefault(date, new InputOutputAnalysisDto());
@@ -1366,7 +1378,7 @@
if (!CollectionUtils.isEmpty(outputList)) {
for (Map<String, Object> map : outputList) {
- String date = (String) map.get("date");
+ String date = (String) map.get("statDate");
if (date == null)
continue;
InputOutputAnalysisDto dto = dateMap.getOrDefault(date, new InputOutputAnalysisDto());
@@ -1625,16 +1637,16 @@
@Override
public List<MapDto> orderCount() {
LocalDate now = LocalDate.now();
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- String currentStart = now.withDayOfMonth(1).atStartOfDay()
- .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
- String currentEnd = now.atTime(LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ LocalDateTime startDateTime = now.with(TemporalAdjusters.firstDayOfMonth()).atStartOfDay();
+ LocalDateTime endDateTime = now.with(TemporalAdjusters.lastDayOfMonth()).atTime(LocalTime.MAX);
- LocalDate lastMonthDate = now.minusMonths(1);
- String lastStart = lastMonthDate.withDayOfMonth(1).atStartOfDay()
- .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
- String lastEnd = lastMonthDate.withDayOfMonth(lastMonthDate.lengthOfMonth()).atTime(LocalTime.MAX)
- .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ String currentStart = startDateTime.format(dateTimeFormatter);
+ String currentEnd = endDateTime.format(dateTimeFormatter);
+
+ String lastStart = startDateTime.minusMonths(1).format(dateTimeFormatter);
+ String lastEnd = endDateTime.format(dateTimeFormatter);
int currentCreated = productionOrderMapper.countCreated(currentStart, currentEnd);
int lastCreated = productionOrderMapper.countCreated(lastStart, lastEnd);
--
Gitblit v1.9.3