From 628682bb8d1ca5aadca35ece9e3c19c44b95d95b Mon Sep 17 00:00:00 2001 From: aikai Date: Thu, 30 May 2024 18:08:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A2=E9=98=9F=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/TeamAttendanceStatisticsByCycleVO.java | 6 +++++- .../service/attendance/AttendanceServiceImpl.java | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/vo/TeamAttendanceStatisticsByCycleVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/vo/TeamAttendanceStatisticsByCycleVO.java index 8b0e243b..15fd9c3c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/vo/TeamAttendanceStatisticsByCycleVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/app/attendance/vo/TeamAttendanceStatisticsByCycleVO.java @@ -29,11 +29,15 @@ public class TeamAttendanceStatisticsByCycleVO { @Schema(description = "外勤") private List fieldServiceList; + @Schema(description = "顶部") + private TeamAttendanceStatisticsNumVO teamAttendanceStatisticsNumVO; + @Data + @Accessors(chain = true) public static class TeamAttendanceStatisticsNumVO { @Schema(description = "平均工时") - private BigDecimal averageWorkingHours; + private Long averageWorkingHours; @Schema(description = "迟到次数") private Integer beLateNum; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java index 448a6567..17756431 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java @@ -687,12 +687,24 @@ public class AttendanceServiceImpl implements AttendanceService { fieldServiceList.add(averageWorkingHourVO.setTop(calculateNum.getTotalFieldServiceNumber() + "次").setDown("")); } } + vo.setAverageWorkingHoursList(averageWorkingHours); vo.setBeLateList(beLateList); vo.setLeaveEarlyList(leaveEarlyList); vo.setMissingCardList(missingCardList); vo.setAbsenteeismList(absenteeismList); vo.setFieldServiceList(fieldServiceList); + int sum = averageWorkingHours.stream().mapToInt(a -> a.getCalculateNum().getTotalAttendanceDays()).sum(); + vo.setTeamAttendanceStatisticsNumVO(new TeamAttendanceStatisticsByCycleVO.TeamAttendanceStatisticsNumVO() + .setAverageWorkingHours( + sum == 0 ? 0 : averageWorkingHours.stream().mapToLong(a -> a.getCalculateNum().getTotalWorkingHours()).sum() / sum + ) + .setBeLateNum(beLateList.stream().mapToInt(a -> a.getCalculateNum().getTotalLateArrivalsNumber()).sum()) + .setLeaveEarlyNum(leaveEarlyList.stream().mapToInt(a -> a.getCalculateNum().getTotalEarlyDeparturesNumber()).sum()) + .setMissingCardNum(missingCardList.stream().mapToInt(a -> a.getCalculateNum().getTotalMissingCardsNumber()).sum()) + .setAbsenteeismNum(absenteeismList.stream().mapToInt(a -> a.getCalculateNum().getTotalMinerDays()).sum()) + .setFieldServiceNum(fieldServiceList.stream().mapToInt(a -> a.getCalculateNum().getTotalFieldServiceNumber()).sum()) + ); return vo; }