From e8d08ebdd187f99f793cd839038dd5c392cdfbd8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 09 二月 2026 17:56:36 +0800
Subject: [PATCH] fix: 修改人员薪资接口
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 89 +++++++++++++++++++-------------------------
1 files changed, 39 insertions(+), 50 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 76e948d..0f4425c 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.mapper.AccountIncomeMapper;
import com.ruoyi.account.pojo.AccountExpense;
@@ -330,10 +331,10 @@
// 褰撴湀鐨勭粨鏉熸棩鏈燂紙姣忔湀鏈�鍚庝竴澶╋級
LocalDate monthEnd = currentMonth.withDayOfMonth(currentMonth.lengthOfMonth());
- // 鏋勫缓褰撴湀鐨勬煡璇㈡潯浠讹紙濡傛灉鎯充竴娆℃�ф煡鍏�4涓湀鏁版嵁鍐嶅唴瀛樼瓫閫夛紝鍙紭鍖栦负鍏堟煡鍏ㄥ啀寰幆绛涢�夛級
+ // 鏋勫缓褰撴湀鐨勬煡璇㈡潯浠�
LambdaQueryWrapper<QualityInspect> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.ge(QualityInspect::getCheckTime, monthStart)
- .le(QualityInspect::getCheckTime, monthEnd); // 绛涢�夊綋鏈堟暟鎹�
+ queryWrapper.ge(QualityInspect::getCheckTime, monthStart.toString())
+ .le(QualityInspect::getCheckTime, monthEnd.toString());
List<QualityInspect> monthInspects = qualityStatisticsMapper.selectList(queryWrapper);
BigDecimal reduce = monthInspects.stream()
.filter(inspect -> inspect.getInspectType().equals(0))
@@ -1916,10 +1917,8 @@
LocalDate startDate = range[0];
LocalDate endDate = range[1];
- String startStr = startDate.atStartOfDay()
- .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
- String endStr = endDate.atTime(LocalTime.MAX)
- .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ String startStr = startDate.toString();
+ String endStr = endDate.toString();
List<QualityInspect> list = qualityInspectMapper.selectList(
new LambdaQueryWrapper<QualityInspect>()
@@ -2009,20 +2008,14 @@
@Override
public QualityInspectionCountDto qualityInspectionCount() {
- // 鑾峰彇浠婂ぉ鐨勫紑濮嬪拰缁撴潫鏃ユ湡,鍖呭惈鏃跺垎绉�
- LocalDateTime todayStart = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
- LocalDateTime todayEnd = LocalDateTime.now().withHour(23).withMinute(59).withSecond(59).withNano(0);
- // 鑾峰彇鍓嶄竴澶╃殑寮�濮嬪拰缁撴潫鏃ユ湡,鍖呭惈鏃跺垎绉�
- LocalDateTime prevStart = todayStart.minusDays(1);
- LocalDateTime prevEnd = todayEnd.minusDays(1);
+ String todayStr = LocalDate.now().toString();
+ String prevDayStr = LocalDate.now().minusDays(1).toString();
// 鏌ヨ鍑烘埅姝粖鏃ョ殑鎬绘楠屾暟
List<QualityInspect> todayList = qualityInspectMapper.selectList(new LambdaQueryWrapper<QualityInspect>()
- // .eq(QualityInspect::getInspectState, 1)
- .le(QualityInspect::getCheckTime, todayEnd));
+ .le(QualityInspect::getCheckTime, todayStr));
// 鏌ヨ鍑烘埅姝㈠墠涓�澶╃殑鎬绘楠屾暟
List<QualityInspect> prevList = qualityInspectMapper.selectList(new LambdaQueryWrapper<QualityInspect>()
- // .eq(QualityInspect::getInspectState, 1)
- .le(QualityInspect::getCheckTime, prevEnd));
+ .le(QualityInspect::getCheckTime, prevDayStr));
// 璁$畻浠婃棩鐨勬�绘楠屾暟
BigDecimal todayCount = todayList.stream()
.map(QualityInspect::getQuantity)
@@ -2038,14 +2031,12 @@
// 璁$畻浠婂ぉ鐨勫緟瀹屾垚鏁伴噺
List<QualityInspect> todayPendingList = qualityInspectMapper.selectList(new LambdaQueryWrapper<QualityInspect>()
.eq(QualityInspect::getInspectState, 0)
- .ge(QualityInspect::getCheckTime, todayStart)
- .le(QualityInspect::getCheckTime, todayEnd));
+ .eq(QualityInspect::getCheckTime, todayStr));
// 璁$畻鍓嶄竴澶╃殑寰呭畬鎴愭暟閲�
List<QualityInspect> prevPendingList = qualityInspectMapper.selectList(new LambdaQueryWrapper<QualityInspect>()
.eq(QualityInspect::getInspectState, 0)
- .ge(QualityInspect::getCheckTime, prevStart)
- .le(QualityInspect::getCheckTime, prevEnd));
+ .eq(QualityInspect::getCheckTime, prevDayStr));
// 璁$畻浠婂ぉ鐨勫緟瀹屾垚鏁伴噺
BigDecimal todayPendingCount = todayPendingList.stream()
.map(QualityInspect::getQuantity)
@@ -2061,14 +2052,12 @@
List<QualityInspect> todayCompletedList = qualityInspectMapper
.selectList(new LambdaQueryWrapper<QualityInspect>()
.eq(QualityInspect::getInspectState, 1)
- .ge(QualityInspect::getCheckTime, todayStart)
- .le(QualityInspect::getCheckTime, todayEnd));
+ .eq(QualityInspect::getCheckTime, todayStr));
// 璁$畻鍓嶄竴澶╃殑宸插畬鎴愭暟閲�
List<QualityInspect> prevCompletedList = qualityInspectMapper
.selectList(new LambdaQueryWrapper<QualityInspect>()
.eq(QualityInspect::getInspectState, 1)
- .ge(QualityInspect::getCheckTime, prevStart)
- .le(QualityInspect::getCheckTime, prevEnd));
+ .eq(QualityInspect::getCheckTime, prevDayStr));
// 璁$畻浠婂ぉ鐨勫凡瀹屾垚鏁伴噺
BigDecimal todayCompletedCount = todayCompletedList.stream()
.map(QualityInspect::getQuantity)
@@ -2101,18 +2090,16 @@
@Override
public NonComplianceWarningDto nonComplianceWarning() {
-
- // 杩戜竷澶╂椂闂村尯闂�
- LocalDateTime[] range = lastSevenDaysRange();
- LocalDateTime startTime = range[0];
- LocalDateTime endTime = range[1];
+ String[] range = lastSevenDaysDateRange();
+ String startStr = range[0];
+ String endStr = range[1];
// 鏌ヨ杩戜竷澶╁凡澶勭悊涓嶅悎鏍兼暟鎹�
List<QualityUnqualified> list = qualityUnqualifiedMapper.selectList(
new LambdaQueryWrapper<QualityUnqualified>()
.eq(QualityUnqualified::getInspectState, 1)
- .ge(QualityUnqualified::getCheckTime, startTime)
- .le(QualityUnqualified::getCheckTime, endTime));
+ .ge(QualityUnqualified::getCheckTime, startStr)
+ .le(QualityUnqualified::getCheckTime, endStr));
NonComplianceWarningDto dto = new NonComplianceWarningDto();
@@ -2211,29 +2198,24 @@
}
/**
- * 鑾峰彇杩戜竷澶╃殑鏃堕棿鍖洪棿锛堝寘鍚粖澶╋級
+ * 鑾峰彇杩戜竷澶╃殑鏃ユ湡鍖洪棿锛堜粎鍚勾鏈堟棩锛�
*/
- public static LocalDateTime[] lastSevenDaysRange() {
+ public static String[] lastSevenDaysDateRange() {
LocalDate today = LocalDate.now();
-
- LocalDateTime startTime = today.minusDays(6).atStartOfDay();
- LocalDateTime endTime = today.atTime(23, 59, 59);
-
- return new LocalDateTime[] { startTime, endTime };
+ return new String[] { today.minusDays(6).toString(), today.toString() };
}
@Override
public List<CompletedInspectionCountDto> completedInspectionCount() {
- // 杩戜竷澶╂椂闂村尯闂�
- LocalDateTime[] range = lastSevenDaysRange();
- LocalDateTime startTime = range[0];
- LocalDateTime endTime = range[1];
+ String[] range = lastSevenDaysDateRange();
+ String startStr = range[0];
+ String endStr = range[1];
// 鏌ヨ杩戜竷澶╁凡瀹屾垚鐨勬楠屾暟鎹�
List<QualityInspect> list = qualityInspectMapper.selectList(new LambdaQueryWrapper<QualityInspect>()
.eq(QualityInspect::getInspectState, 1)
- .ge(QualityInspect::getCheckTime, startTime)
- .le(QualityInspect::getCheckTime, endTime));
+ .ge(QualityInspect::getCheckTime, startStr)
+ .le(QualityInspect::getCheckTime, endStr));
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM-dd");
@@ -2440,8 +2422,8 @@
List<QualityInspect> qualityInspectList = qualityInspectMapper
.selectList(new LambdaQueryWrapper<QualityInspect>()
- .ge(QualityInspect::getCheckTime, startDate)
- .le(QualityInspect::getCheckTime, endDate)
+ .ge(QualityInspect::getCheckTime, startDate.toString())
+ .le(QualityInspect::getCheckTime, endDate.toString())
.eq(QualityInspect::getInspectState, 1));
QualityStatisticsDto dto = new QualityStatisticsDto();
@@ -2449,6 +2431,13 @@
dto.setProcessNum(sumQuantity(qualityInspectList, 1)); // 杩囩▼
dto.setFactoryNum(sumQuantity(qualityInspectList, 2)); // 鍑哄巶
+ // 鍋囪 qualityInspectList 鏄竴涓� List<QualityInspect> 绫诲瀷鐨勯泦鍚�
+ Map<String, List<QualityInspect>> groupedByCheckResult = qualityInspectList.stream()
+ .collect(Collectors.groupingBy(QualityInspect::getCheckResult));
+ List<QualityInspect> qualityInspects = groupedByCheckResult.get("涓嶅悎鏍�");
+ if(ObjectUtils.isNull(qualityInspects) || qualityInspects.size()==0){
+ return null;
+ }
// 4. 澶勭悊鍥捐〃椤� (Item)
List<QualityStatisticsItem> itemList = new ArrayList<>();
@@ -2458,7 +2447,7 @@
i -> i.getCheckTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()));
if (type == 3) {
// 瀛e害妯″紡锛氭寜鏈堝垎缁�
- Map<String, List<QualityInspect>> groupByMonth = qualityInspectList.stream()
+ Map<String, List<QualityInspect>> groupByMonth = qualityInspects.stream()
.collect(Collectors.groupingBy(i -> {
LocalDate ld = dateMap.get(i);
return ld.format(DateTimeFormatter.ofPattern("yyyy-MM"));
@@ -2471,7 +2460,7 @@
}
} else {
// 鍛ㄦ垨鏈堟ā寮忥細鎸夊ぉ鍒嗙粍
- Map<String, List<QualityInspect>> groupByDay = qualityInspectList.stream()
+ Map<String, List<QualityInspect>> groupByDay = qualityInspects.stream()
.collect(Collectors.groupingBy(i -> {
LocalDate ld = dateMap.get(i);
return ld.format(DateTimeFormatter.ofPattern("MM/dd"));
@@ -2543,4 +2532,4 @@
return productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processIds);
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3