From ef32f6913325bb593d537b4ff433545f73ecb79a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 11 三月 2026 10:00:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpClockInServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 40 insertions(+), 14 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpClockInServiceImpl.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpClockInServiceImpl.java
index 63df5cd..1672a4f 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpClockInServiceImpl.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpClockInServiceImpl.java
@@ -226,23 +226,35 @@
@Override
public PageInfo<ClockInStatisticsDto> getClockInStatistics(ClockInStatisticsVo query) {
PageInfo<ClockInStatisticsDto> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
- List<Long> appUserIds = new ArrayList<>();
+ List<Long> appUserIds1 = new ArrayList<>();
+ List<Long> appUserIds2 = new ArrayList<>();
+ List<Long> appUserIds3 = new ArrayList<>();
//处理查询条件
if(StringUtils.isNotEmpty(query.getName())){
R<List<XpOperationsUser>> listR = xpOperationUserClient.listByName(query.getName());
if(listR.getCode() == Constants.SUCCESS){
List<Long> collect = listR.getData().stream().map(XpOperationsUser::getId).collect(Collectors.toList());
- appUserIds.addAll(collect);
+ appUserIds1.addAll(collect);
}
- appUserIds.add(0L);
+ appUserIds1.add(0L);
}
if(null != query.getRoleId()){
R<List<XpOperationsRole>> roleByRoleId = xpOperationUserClient.getXpOperationsRoleByRoleId(query.getRoleId());
if(roleByRoleId.getCode() == Constants.SUCCESS){
List<Long> collect = roleByRoleId.getData().stream().map(XpOperationsRole::getOperationsUserId).collect(Collectors.toList());
- appUserIds.addAll(collect);
+ appUserIds2.addAll(collect);
}
- appUserIds.add(0L);
+ appUserIds2.add(0L);
+ }
+ if(StringUtils.isNotEmpty(query.getName()) && null != query.getRoleId()){
+ for (Long l : appUserIds1) {
+ if(appUserIds2.contains(l)){
+ appUserIds3.add(l);
+ }
+ }
+ }else{
+ appUserIds3.addAll(appUserIds1);
+ appUserIds3.addAll(appUserIds2);
}
String startTime = "";
@@ -253,7 +265,7 @@
endTime = statisticDate.split(" - ")[1].split(" ")[0];
}
//查询数据
- List<ClockInStatisticsDto> clockInStatistics = this.baseMapper.getClockInStatistics(pageInfo, appUserIds, startTime, endTime);
+ List<ClockInStatisticsDto> clockInStatistics = this.baseMapper.getClockInStatistics(pageInfo, appUserIds3, startTime, endTime);
List<String> appUserIdList = clockInStatistics.stream().map(ClockInStatisticsDto::getAppUserId).collect(Collectors.toList());
List<Long> ids = appUserIdList.stream().map(Long::parseLong).collect(Collectors.toList());
List<XpOperationsUserWithRoleVO> data = xpOperationUserClient.listByIdsWithRole(ids).getData();
@@ -272,7 +284,8 @@
}
Integer shouldClockInDays = clockInStatistic.getShouldClockInDays();
Integer clockInDays = clockInStatistic.getClockInDays();
- clockInStatistic.setNotClockInDays(shouldClockInDays - clockInDays);
+ Integer lateEarly = clockInStatistic.getLateEarly();
+ clockInStatistic.setNotClockInDays(shouldClockInDays - clockInDays - lateEarly);
}
pageInfo.setRecords(clockInStatistics);
return pageInfo;
@@ -287,23 +300,35 @@
@Override
public void exportClockInStatistics(ClockInStatisticsVo query, HttpServletResponse response) {
PageInfo<ClockInStatisticsDto> pageInfo = new PageInfo<>(0, 10000);
- List<Long> appUserIds = new ArrayList<>();
+ List<Long> appUserIds1 = new ArrayList<>();
+ List<Long> appUserIds2 = new ArrayList<>();
+ List<Long> appUserIds3 = new ArrayList<>();
//处理查询条件
if(StringUtils.isNotEmpty(query.getName())){
R<List<XpOperationsUser>> listR = xpOperationUserClient.listByName(query.getName());
if(listR.getCode() == Constants.SUCCESS){
List<Long> collect = listR.getData().stream().map(XpOperationsUser::getId).collect(Collectors.toList());
- appUserIds.addAll(collect);
+ appUserIds1.addAll(collect);
}
- appUserIds.add(0L);
+ appUserIds1.add(0L);
}
if(null != query.getRoleId()){
R<List<XpOperationsRole>> roleByRoleId = xpOperationUserClient.getXpOperationsRoleByRoleId(query.getRoleId());
if(roleByRoleId.getCode() == Constants.SUCCESS){
List<Long> collect = roleByRoleId.getData().stream().map(XpOperationsRole::getOperationsUserId).collect(Collectors.toList());
- appUserIds.addAll(collect);
+ appUserIds2.addAll(collect);
}
- appUserIds.add(0L);
+ appUserIds2.add(0L);
+ }
+ if(StringUtils.isNotEmpty(query.getName()) && null != query.getRoleId()){
+ for (Long l : appUserIds1) {
+ if(appUserIds2.contains(l)){
+ appUserIds3.add(l);
+ }
+ }
+ }else{
+ appUserIds3.addAll(appUserIds1);
+ appUserIds3.addAll(appUserIds2);
}
String startTime = "";
String endTime = "";
@@ -313,7 +338,7 @@
endTime = statisticDate.split(" - ")[1].split(" ")[0];
}
//查询数据
- List<ClockInStatisticsDto> clockInStatistics = this.baseMapper.getClockInStatistics(pageInfo, appUserIds, startTime, endTime);
+ List<ClockInStatisticsDto> clockInStatistics = this.baseMapper.getClockInStatistics(pageInfo, appUserIds3, startTime, endTime);
List<String> appUserIdList = clockInStatistics.stream().map(ClockInStatisticsDto::getAppUserId).collect(Collectors.toList());
List<Long> ids = appUserIdList.stream().map(Long::parseLong).collect(Collectors.toList());
List<XpOperationsUserWithRoleVO> data = xpOperationUserClient.listByIdsWithRole(ids).getData();
@@ -331,7 +356,8 @@
}
Integer shouldClockInDays = clockInStatistic.getShouldClockInDays();
Integer clockInDays = clockInStatistic.getClockInDays();
- clockInStatistic.setNotClockInDays(shouldClockInDays - clockInDays);
+ Integer lateEarly = clockInStatistic.getLateEarly();
+ clockInStatistic.setNotClockInDays(shouldClockInDays - clockInDays - lateEarly);
}
ExcelUtil<ClockInStatisticsDto> excel = new ExcelUtil<ClockInStatisticsDto>(ClockInStatisticsDto.class);
--
Gitblit v1.7.1